[wxPython-users] successor to MDI?

Christopher Barker Chris.Barker at noaa.gov
Wed Jan 3 16:47:54 PST 2007


Andrea Gavana wrote:
> Yes, this is an alternative. Notebooks (BookCtrls, wx.Notebook,
> FlatNotebook and all their friends) are very useful and intuitive when
> you want to show multiple windows that hold different kind of
> information.

Exactly, notebooks are good if  you have multiple windows that have 
DIFFERENT information -- like multiple pages in a complex config dialog.

However, the trend now seems to be to put notebooks in a big frame, and 
each page of the notebook holds a different document -- this is 
different information, but of the same kind, and very often I want to 
look at two of them at once, and I can't -- aaarrgg!

> However, the MDI deprecation is mainly a Microsoft point of view.

Well, when most people talk about MDI (and when wx does), they are 
talking about an MS invention in the first place, and I like it only a 
tiny bit better than notebooks (or maybe less).

The key thing is the the Windows MDI puts each document in a Window that 
can be moved, re-sized, etc, but only within the Main Frame -- all that 
takes up so much space you need to Maximize the main frame, and then you 
can't see any other apps!

I find that I very, very, often want to be able to see two (or more) 
Windows at once -- maybe in the same app, maybe in different apps -- I 
want a UI that supports that. MAC and many *nix apps do a pretty good 
job -- put each document in a top-level Window (wxFrame) -- then you can 
move and re-size them as you like, mixing and matching what you see from 
multiple documents and multiple apps -- Now if only Apple would stop 
putting the menu on the top of the screen, I'd really be happy.

The best "MDI" I've seen is, ironically, from that paragon of 
non-usability: (X) emacs. With Xemacs, you can have as many top-level 
frames as you want, and each one can have tabs for the files you're 
working on. This lets you have easy access to the ten or so files in a 
project, while being able to have two or three visible at once on the 
screen, interleaved with the app you're working on, or whatever.

Thunderbird is pretty nice too -- you can have a message window as a 
pane in your main frame, but if you want to see more than one message at 
once, you can double click on a message, and it will come up in it's own 
frame -- very nice.

> You may also want to consider the approach with user interface
> managers, like wxAUI. 

I haven't looked closely at wxAUI yet -- does it allow multiple 
top-level frames?

-Chris

-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov




More information about the wxpython-users mailing list