Do you like to promote your wxWidgets based application or component!? Post it here and let's see what the critics have to say. Also, if you found that ONE wx component the world needs to know about, put it here for future reference.

Yes, hiding the tabs when there is only one would be a good idea, it would make the interface slightly neater. Not having the tab there to drag to other containers is not really a problem as you can still drag the title.

The wxIFM module is actually really cool, it looks teriffic and is extremely useful. I am trying to integrate it into one of my projects but I'm having a few technical difficulties because my app has a toolbar.

Short: The only thing that should be a chlid of your frame is a panel and wxIFM should be managing that panel. No the current sample doesn't do this but the one on my local machine does.

I tried to hack around it like you did but it is ultimately very pointless to try to work around wx's design flaws (letting you have children in the frame instead of a root panel with children like you should).

Just a warning, don't use the status bar message api when you are managing a panel, because that api assumes the thing you are managing if a frame and that the frame has a status bar. The api's for that on my copy of the source aren't so niave, you tell it what status bar to use and what pane to use.

Short: The only thing that should be a chlid of your frame is a panel and wxIFM should be managing that panel. No the current sample doesn't do this but the one on my local machine does.

Cheers for your help, will go and do as suggested now and let you know how I get on but I expect this will fix it nicely!

SnakeChomp wrote:I tried to hack around it like you did but it is ultimately very pointless to try to work around wx's design flaws (letting you have children in the frame instead of a root panel with children like you should).

Ah well, it kept me occupied for a few hours!

SnakeChomp wrote:Just a warning, don't use the status bar message api when you are managing a panel, because that api assumes the thing you are managing if a frame and that the frame has a status bar. The api's for that on my copy of the source aren't so niave, you tell it what status bar to use and what pane to use.

Thanks, I'll make a note of this for future reference.

Incidentally, has anyone successfully had wxIFM working on Mac OSX yet? All I've seen is that it 'probably' works.

I managed to get the toolbar code working as you suggested, however it flickers when you resize the window. Did anybody else experience this problem or did I do the code wrong?

I also had problems when integrating it with the MDI window, it seems the MDI client window does not appreciate being reparented into a wxPanel. Ah well, I've decided to switch to a tabbed style (as there is some nice looking code here: http://forums.wxwidgets.org/viewtopic.php?t=3781 )

Would it be possible to make wxIFM hide the tab-bar for containers with only one tab? It really is redundant.

Also, are there any plans to implement the auto-hide/sidebar kind of thing as seen in VS200x and QT? That is, when the window isn't pinned open, it's reduced to a vertical or horizontal button lined on the window's edge.

Heyho SnakeMan - thank you very much for IFM. I'have just arrived to the world of wxWidgets and good free toolkits like your's were a major draw to it.

Anyways, after playing with the demo application for a bit I have the following bugs/questions:

- if you hide all but one panel and drag that around over the text content window to release it there all text in the content window will be selected (somehow some mouse messages seem to propagate through to the underlying window?)

- the screenshot of your own "UberPad" application shows an MDI-like looking window as the content pane instead of the single fixed text window of the demo application. How would one go about implementing that?

BuschnicK wrote:- if you hide all but one panel and drag that around over the text content window to release it there all text in the content window will be selected (somehow some mouse messages seem to propagate through to the underlying window?)

wxWidgets bug.

BuschnicK wrote:- the screenshot of your own "UberPad" application shows an MDI-like looking window as the content pane instead of the single fixed text window of the demo application. How would one go about implementing that?

Make the MDIClientWindow the "Conent Window" of IFM and this will work fine. I advise against using toolbars in this scenario (toolbars created by wxFrame::CreateToolbar) because it will mess up the coordinate system of the frame and theres nothing that can be done to fix it except having the Content Window for IFM be a panel which is the only child of the frame. This doesn't work for MDI apps. You should not be using MDI in general, tab interfaces are simply better in all ways.

I agree with you disliking MDI - maybe my question was wrong. What I want is an application that consists of a big mainframe with lots of dockable childwindows, just like the example application of IFM. But the actual content area should not contain an automatically resizing window like it currently does but a blank area with a user resizable frame window. The reason is that I want to show and manipulate graphics and having them resize automatically would be irritating/annoying. The content window should have a maximize button which would switch it into the mode the example app currently supports.

I tried adding a wxFrame instead of a wxTextCtrl in SetContentWindow in the example program but that only left me with a black background that wouldn't redraw properly. Obviously I'm missing something?

You need to use the classes specifically designed to implement MDI. Your main window needs to be an MDIParentFrame, which contains an MDIClientWindow, and this MDIClientWindow must be the "content window" of wxIFM. You add MDIChildFrames to the MDIParentFrame to make the window that you can resize within the content area.

This post was edited to use a kinder tone than the original version on 10/14/05 01:00 AST

Thank you for this library. It looks great. I am considering using it in my application, but I have a question: Is it possible to load/save the layout?

Also, I have found a bug. If you press Alt+Tab to switch to another application while you are dragging a window, then it makes strange things when you go back to the application (the windows which is being dragged disappears, or it flickers a lot and makes stranges movements...).

A plugin to allow loading and saving of interface states is currently under development and to my knowledge is near completion. It will be made available when it is ready and not a moment sooner.

Note: I am not writing this plugin, but I am currently in communication with the person who is.

About your bug: I have been aware of this bug. It is fixable under win32 using a win32 only event, but for any other platform, I have no idea. I'll try to remember this and bring it up once wxIFM is sitting in wxWidgets CVS where itis easier to realize solutions for other platforms.