[wxPython] MDI for Linux

Hi,

I would like to know if there is a library of widgets for Linux that will
enable our wxPython application to have the same look and feel of the
windows MDI interface.
The GTK implementation does not have this functionality, it produces
notebooks for all MDI child frames. Our requirements for our specific system
is to have the same look and feel on both MSW and Linux. We need to use the
MDI interface for one specific module of our application, unfortunately this
is one of the main interfaces the user of the system will use. Notebooks
will not solve the requirement of our users, as they want to be able to move
and resize the child windows as they like, they also want to view the child
windows simultaneously. Will the motif/lesstif part of wxWindows solve this
or should I start writing an emulation of the MDI interface for GTK?

Regards
Gerrit van Dyk

···

-------------------------------------------------------------------------
This e-mail is intended only for the use of the individual or entity named
above and may contain information that is confidential and privileged,
proprietary to the company and protected by law. If you are not the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this e-mail is strictly prohibited. Opinions, conclusions and
other information in this message that do not relate to the official
business of our company shall be understood as neither given nor endorsed by
it.

I'm sorry, I don't have an answer to your question, but why do you
want to use MDI? Personally I never saw the point of restricting
windows like that, and it seems Microsoft has "seen the light" at
last, and are abandoning this odd model. It's legacy now. With the
virtual desktops in Linux you can certainly avoid clutter without
the kind of restrictions MDI impose. Among remaining Microsoft MDI
apps, such as Visual Studio 6, you can move all windows except the
actual source code windows outside the bounds of the main window, so
why not allow the last windows to have their "freedom" too?

Maybe the requirement is not really MDI, but something else?
To avoid clutter. To be able to close or iconize all windows
together. To be able to see all the data they need at the same
time, as they would with the MDI Window->Tile... functions. It
might be better to provide these features in some other fashion
than through MDI, both on Windows and on Linux. Just a thought...

/Magnus

P.S. I'm not very happy about HOW Microsoft has left the MDI model.
If I want to view two different Word 2000 docs at the same time,
one over the other, more than half of my 17" screen is occupied by
title bars, menu bars, tool bars, rulers and status bars. But
obviously both the Mac desktop and Linux apps such as the GIMP
shows that this can be handled in a more clever way. You don't need
to to duplicate all menues and buttons for every document.

···

At 09:55 2001-10-29 +0200, Gerrit van Dyk wrote:

I would like to know if there is a library of widgets for Linux that will
enable our wxPython application to have the same look and feel of the
windows MDI interface.

--
Magnus Lyckå, Thinkware AB
Älvans väg 99, SE-907 50 UMEÅ
tel 070-582 80 65, fax: 070-612 80 65
http://www.thinkware.se/ mailto:magnus@thinkware.se

Magnus Lyckå wrote:

>I would like to know if there is a library of widgets for Linux that will
>enable our wxPython application to have the same look and feel of the
>windows MDI interface.

There has been discussion about this in the past, and IIRC, the answer
is no in MOTIF as well, although there is some non-core MOTIF code
outthere that tries. It is a mess, however, as the windows in the MDI
are no longer native windows that can be managed by the window manager,
so you have a lot of code to write, and you will end up with something
that is only compatible with one window manager.

As a rule, wxWindows is designed to create applications that look
_native_ on all platforms, rather than _the same_ on all platforms. No
*nix user expects to see an MDI app.

but why do you
want to use MDI? Personally I never saw the point of restricting
windows like that, and it seems Microsoft has "seen the light" at
last, and are abandoning this odd model. It's legacy now. With the
virtual desktops in Linux you can certainly avoid clutter without
the kind of restrictions MDI impose.

I have to second Magnus here, not only would using MDI in your *nix
version be massive amounts of work, look ugly, and be annoying toyour
*nix users, MDI is a pretty lousy way to build an app on Windows as
well. I curse every MDI app I ever use on Windows. It essentially forces
me to maximise the main window and cover up all the other apps, which I
don't generally want to do. Particularly with the larger screen most of
are using, iot's just a stupid use of screen real estate. Now if MS
would just get with the program and allow multiple desktops, we'd all be
happier (actauly, I'd be happier if I never had to use windos as
all....)

Anohter good question, and I don't know the answer, is: How easy is it
to have a wx app that is MDI on windows and free-form windows on GTK?
You are right, the using a notebook to emulate MDI does not work well.

-Chris

···

At 09:55 2001-10-29 +0200, Gerrit van Dyk wrote:

--
Christopher Barker,
Ph.D.
ChrisHBarker@home.net --- --- ---
http://members.home.net/barkerlohmann ---@@ -----@@ -----@@
                                   ------@@@ ------@@@ ------@@@
Oil Spill Modeling ------ @ ------ @ ------ @
Water Resources Engineering ------- --------- --------
Coastal and Fluvial Hydrodynamics --------------------------------------
------------------------------------------------------------------------

I would like to know if there is a library of widgets for Linux that will
enable our wxPython application to have the same look and feel of the
windows MDI interface.

Not that I know of.

The GTK implementation does not have this functionality, it produces
notebooks for all MDI child frames. Our requirements for our specific

system

is to have the same look and feel on both MSW and Linux. We need to use

the

MDI interface for one specific module of our application, unfortunately

this

is one of the main interfaces the user of the system will use. Notebooks
will not solve the requirement of our users, as they want to be able to

move

and resize the child windows as they like, they also want to view the

child

windows simultaneously. Will the motif/lesstif part of wxWindows solve

this

or should I start writing an emulation of the MDI interface for GTK?

The other alternative is to use multiple top level windows, which IMO is
better from a user's perspective anyway.

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Anohter good question, and I don't know the answer, is: How easy is it
to have a wx app that is MDI on windows and free-form windows on GTK?
You are right, the using a notebook to emulate MDI does not work well.

I wrote an app once that, based on a command line switch, could do either
SDI using a notebook, MDI, or multiple frames (MFI?). It wasn't simple, but
not real hard either. It was just a matter of separating the code that
provided the content of the frames from the code that made and managed the
frames.

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!