473,387 Members | 1,542 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

wxPython "Frames within Frames"

Hello:

I would like to build an app consisting of a "root" frame that can
contain an arbitrary number of child frames (the user will click to
create them). Each of these child frames needs the full functionality
of a frame (title,menu,status bars, min,max,close icons, scroll bars,
sizing, moving). In addition, the user must be able to create
grandchild frames within these child frames, to an arbitrary depth (in
practice limited to 10 or so).

As I understand it, MDI provides the means of creating the root and
first generation frames, but not the further generations.

I found this at 'http://www.orbtech.com/www/wx/epydoc/public/wx.Frame-class.htm'
A frame is a window whose size and position can (usually) be changed
by the user. It usually has thick borders and a title bar, and can
optionally contain a menu bar, toolbar and status bar.
A frame can contain any window that is not a frame or dialog.

Does this last sentence mean my quest is hopeless? Can someone please
help me?

Thanks - Simon.
Jul 18 '05 #1
4 4312
Simon Erikson wrote:
I would like to build an app consisting of a "root" frame that can
contain an arbitrary number of child frames (the user will click to
create them). Each of these child frames needs the full functionality
of a frame (title,menu,status bars, min,max,close icons, scroll bars,
sizing, moving). In addition, the user must be able to create
grandchild frames within these child frames, to an arbitrary depth (in
practice limited to 10 or so).

As I understand it, MDI provides the means of creating the root and
first generation frames, but not the further generations.


I'm afraid I can't help with the task as described, but I wanted to draw
your attention to the fact that many people consider MDI to be 'evil',
and it occurs to me that a massively nested MDI could only magnify the
problems many times over.

In case you're interested, I found a couple of links to start you off:

http://discuss.fogcreek.com/joelonso...ow&ixPost=2748
http://mail.gnome.org/archives/usabi.../msg00228.html

(This is probably a somewhat religious matter, and in any case perhaps
you have very good reasons for wanting MDI, but just in case you aren't
set on doing it, other options might also be much simpler to code.)

-Peter
Jul 18 '05 #2
> > I would like to build an app consisting of a "root" frame that can
contain an arbitrary number of child frames (the user will click to
create them). Each of these child frames needs the full functionality
of a frame (title,menu,status bars, min,max,close icons, scroll bars,
sizing, moving). In addition, the user must be able to create
grandchild frames within these child frames, to an arbitrary depth (in
practice limited to 10 or so).
I'm afraid I can't help with the task as described, but I wanted to draw
your attention to the fact that many people consider MDI to be 'evil',
and it occurs to me that a massively nested MDI could only magnify the
problems many times over.


Sure,

We are just on our way to review the UI of an application that relies
heavily on MDI (very good feedback from programmers and
"power users", dummies are still uneasy after years).

Wxpython offers support for "sash windowing". We are currently
investigating the wxMultiSash and wxDynamicSashWindow
concepts. Multiple views without the usability cost of MDI.
Maybe not the panacea but possibly something to check
before diving into MDI.

- MS is dropping it from its own product line,
- the MDI concept is native on win* platforms only.

Except possibly for sophisticated WIN32-only
document-edition tools, is it the time to start up
new MDI applications ?

Francois



Jul 18 '05 #3
Peter Hansen <pe***@engcorp.com> wrote in message news:<Ys********************@powergate.ca>...

(This is probably a somewhat religious matter, and in any case perhaps
you have very good reasons for wanting MDI, but just in case you aren't
set on doing it, other options might also be much simpler to code.)

-Peter


Thanks for your effort.
I am actually looking for something *other* than MDI; sorry for the confusion.
Simon.
Jul 18 '05 #4
Simon Erikson wrote:
Hello:

I would like to build an app consisting of a "root" frame that can
contain an arbitrary number of child frames (the user will click to
create them). Each of these child frames needs the full functionality
of a frame (title,menu,status bars, min,max,close icons, scroll bars,
sizing, moving). In addition, the user must be able to create
grandchild frames within these child frames, to an arbitrary depth (in
practice limited to 10 or so).

As I understand it, MDI provides the means of creating the root and
first generation frames, but not the further generations.

I found this at 'http://www.orbtech.com/www/wx/epydoc/public/wx.Frame-class.htm'
A frame is a window whose size and position can (usually) be changed
by the user. It usually has thick borders and a title bar, and can
optionally contain a menu bar, toolbar and status bar.
A frame can contain any window that is not a frame or dialog.

Does this last sentence mean my quest is hopeless? Can someone please
help me?


If you are on windows then you can use the wxMDI* classes and get what
you want. Since GTK has nothing like that then MDI is emulated using a
wxNotebook. On OSX wxMDI is implemented using multiple top level
document windows, since that is the standard on that platform.
--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Jacek Dziedzic | last post by:
Is it valid to use a "using namespace foo" (as opposed to using foo::bar which I'm sure is legal) within a class declaration? My compiler rejects it, but I've been told it's valid. Can anyone...
5
by: AES/newspost | last post by:
I've just re-scanned most of the 60+ posts in the "Frames are Evil" thread, and my question, as the admittedly and permanently amateur creator and maintainer of a simple site, is: Using only...
3
by: John | last post by:
How can I draw any thing within "for" loop? I tried the below but it doesn't draw anything. What should I do? **** Code **** Graphics g = this.CreateGraphics(); Bitmap bm=new Bitmap(1,1);...
6
by: Dan | last post by:
I wish to replace all the occurrances of " with &quot; within a string. I have tried using myString.Replace("\"", "&quot;"), but this does not work Any suggestions will be greatly appreciated ...
4
by: Friday | last post by:
Being an Old L.A.M.P guy, I beg you to please excuse my ignorance of dot.net (and all things Windows, for that matter). As part of an experiment (to learn enough ASP/VB.net to port a series of ...
2
by: John A Grandy | last post by:
Does anyone know the meaning of "#" within a URL ? I have seen URLs where "#" is being used a separator of some kind, similar to how "&" is used ... Is this meaningful within HTTP itself ? Or...
2
by: =?Utf-8?B?TG9zdEluTUQ=?= | last post by:
Hi All, I am trying to determine if the user clicked the "x" close button within the controlbox of the form (top right corner - next to minimize and maximize buttons). I am using the...
4
by: Ronald S. Cook | last post by:
I have an old ASP.NET app that I need to rewrite. It uses frames to have an embedded Windows Media Player playing content that is controlled from other frames on the page. And, of course, the...
6
angelabi264
by: angelabi264 | last post by:
I am workin on a project of cd library...if we hav to search for a movie...whn we type the name of movie in a textbox...all (possibilities) movies havin tat name shud appear... for eg : in database...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.