Should MDI be implemented on Linux?

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.

Should MDI be implemented on Linux?

Yes
21
66%
No
11
34%
 
Total votes: 32

leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

daddydave wrote:This would a bit harder to pull off in a tabbed interface. How exactly would you drag data from one tab and drop it on another?
I would simply use copy and paste instead of dragging. And I don't want win-style MDI to be able to DND like this. Doing the drag-and-drop involves restoring the windows to not take the whole space, moving them around to be comfortable, and then actually doing the drag-and-drop. Much earier done with copy&paste.
For side-by-side viewing (and then also DND) I prefer multiple windows.
daddydave wrote:Or imagine an archiving program like Winzip, where each window is a different zip file. You have the same issue, it's easy to drag and drop to another Explorer-like window, but not as clear what to do if each window has to be on a tab.
I know of zero packager GUIs that use tabs.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7479
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN »

Hi, ALL,
Why even argue? Can't we implement both and control it through ./configure option?

Thank you.
leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

ONEEYEMAN wrote:Hi, ALL,
Why even argue? Can't we implement both and control it through ./configure option?
The question is who will do it, and how to do it.
It might not even be possible, at least in a sane way. The motif MDI might be worth looking at for ideas, but I haven't yet (without having looked at the motif package mentioned by ABX in this thread) thought of any way how to tell X11 that we want one toplevel inside another - it is probably impossible (debatable if that's a bad choice, and yeah, irrelevant).
Through drawing our own captions and windows, it would of course be possible, but VERY non-native, hackish and so on. I see no reason why bother, if that's not the native way of things.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
Jamie
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 205
Joined: Wed Mar 30, 2005 10:56 pm

Post by Jamie »

The motif implementation is also in CVS.
There is a GTK version of MDI here:
http://www.datelcom.it/patrizio/gtkmdi.html

I suspect it is impossible also, however since QT draws its own captions and windows then why not do the same?
KDE users would be used to MDI and it seems for X11 that drawing our own captions and windows IS the native way of doing it.
leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

Jamie wrote:The motif implementation is also in CVS.
There is a GTK version of MDI here:
http://www.datelcom.it/patrizio/gtkmdi.html
Getting a "Service Unavailable"
Jamie wrote:I suspect it is impossible also, however since QT draws its own captions and windows then why not do the same?
KDE users would be used to MDI and it seems for X11 that drawing our own captions and windows IS the native way of doing it.
There is no way to draw the captions with the same look as pure toplevels have them, as there is no way to access the necessary information from all the different window managers without reimplementing parts of the wms.
A different look however would of course be possible, but that would not look native.
KDE has win32 style MDI?
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
Chr
Earned some good credits
Earned some good credits
Posts: 115
Joined: Tue May 31, 2005 2:17 pm

Post by Chr »

wxWidgets is nice
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7479
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN »

Chr,
The first 2 links are not exactly MDI. It's the same interface that GIMP on Linux, or, as an example Delphi on Windows using. It's not even called MDI.

For the third link, yes, it is an MDI, but what kind of program it is? Maybe we could look it up, and see what happened there? If you are not native Rusian reader (according to the site the book is in Rusian), I could take a look...

leio,
I just tok a look at the book. The original English version link is broken - gave me 404 - File not Found. However, I looked at the translated version. Author explaines how to write the MDI interface using the QT3 library. So it's possible using the QT. And I think authors using the natiove QT interface, so there is not much hacking there. If you speak only Estonian :) , I could try to explain it in details...

Thank you.
leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

ONEEYEMAN wrote:For the third link, yes, it is an MDI, but what kind of program it is? Maybe we could look it up, and see what happened there? If you are not native Rusian reader (according to the site the book is in Rusian), I could take a look...
In the third link the captions are drawn in a set way - you can compare the captions in the MDI child windows, and the large toplevel - they are not even close to being same-looking. Drawing all the captions and so on in a certain way is possible, as I have already said, but that doesn't give a native look.
For example wxIFM already draws its own captions also on wxGTK - they are not similar in any way to the window manager themes caption.
ONEEYEMAN wrote:leio,
I just tok a look at the book. The original English version link is broken - gave me 404 - File not Found. However, I looked at the translated version. Author explaines how to write the MDI interface using the QT3 library. So it's possible using the QT. And I think authors using the natiove QT interface, so there is not much hacking there. If you speak only Estonian :) , I could try to explain it in details...

Thank you.
I can see that it draws the captions disregarding the window manager theme. That can be done, yes, but if it's worth it, is another matter.

And I speak estonian and english. Can understand german, finnish, and a _very_ little bit of latvian and russian ;)

The bottom-line is - it is possible to emulate win32 style MDI with custom captions, that disregard the native look of captions, but who will do it, and when will it be done if ever, is another question.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

leio wrote:
Jamie wrote:The motif implementation is also in CVS.
There is a GTK version of MDI here:
http://www.datelcom.it/patrizio/gtkmdi.html
Getting a "Service Unavailable"
Worked now. LGPL'ed (problematic) gtk+ custom widgets for MDI with (very bad looking, based on the screenshot) custom captions.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
ssigala
Earned some good credits
Earned some good credits
Posts: 109
Joined: Fri Sep 03, 2004 9:30 am
Location: Brescia, Italy

Post by ssigala »

I have experience in both Qt and FOX toolkits. All two support MDI under X11, and both simulate the child windows by drawing their own windows caption.

FOX do not support themes, so under Win32 and under X11 the MDI style is the same (note the child window buttons style at the top right corner):

Image
Sandro Sigala - Kynosoft, Brescia
ssigala
Earned some good credits
Earned some good credits
Posts: 109
Joined: Fri Sep 03, 2004 9:30 am
Location: Brescia, Italy

Post by ssigala »

leio wrote:Drawing all the captions and so on in a certain way is possible, as I have already said, but that doesn't give a native look.
Unfortunately this was the same problem that other tookits had in the past, and they resolved it by drawing their own child windows caption (better than nothing).

Anyway, under X11 a "native look" do not exist (think of the babel of styles: athena widgets, tcl/tk, motif, gtk, qt, qt/kde...). Even if you use a KDE desktop, time to time you have to adapt to a different style (e.g. the gtk-based Gimp).
Sandro Sigala - Kynosoft, Brescia
leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio »

ssigala wrote:
leio wrote:Drawing all the captions and so on in a certain way is possible, as I have already said, but that doesn't give a native look.
Unfortunately this was the same problem that other tookits had in the past, and they resolved it by drawing their own child windows caption (better than nothing).
Imho "nothing" is better in this case (in favour of a Mac style MDI or tabs), but optionally if someone has time to do the hackery, why not.
ssigala wrote:Anyway, under X11 a "native look" do not exist (think of the babel of styles: athena widgets, tcl/tk, motif, gtk, qt, qt/kde...). Even if you use a KDE desktop, time to time you have to adapt to a different style (e.g. the gtk-based Gimp).
There is gtk-qt engine, etc. But in this case the native look is dependant on the window manager used, and a "native look" does exist due to that fact.
Also all the controls can be implemented with a native look, but some ports with some (or all) controls have problems with it.
E.g wxMotif is bad at using the correct colors.
wxGTK stuff can't very well cope with runtime theme changes, like pure gtk+ apps (it has at least minor quirks)
And so on.
It has a native look if it fits with the rest of the environment.
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7479
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Post by ONEEYEMAN »

Hi, ALL,
Is it possible to implement it the way "Kate" doing it? It's possible to open many documents open at the same time in this editor. And there is no painting involved.

What do you say about that?

Thank you.
chadman
Experienced Solver
Experienced Solver
Posts: 70
Joined: Wed Mar 23, 2005 8:28 am

Post by chadman »

FYI, I came across this: http://www.kirix.com/en/products/strata ... linux.html . It's from the makers of wxAUI.
Post Reply