The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Whats the best way to handle this task (UI question)

I have the following screens to design:

I have a main window with a treeview down the left hand side and a panel on the right separated with a splitter.

When I click on one of the tree nodes, and initial form gets loaded into the panel. All nice so far.

From this form, I can click on a button which at the moment loads a modal form.

The problem with this is that from this form I can launch another sub edit form, which is turn can launch a sub sub edit form.

Are there any frameworks (.net preferrably) to handle this or whats the best way to avoid multiple modal windows popping up?

Any good UI design web site links?

Visual Dbase has a great option where each form has multiple "pages" and all you need to do to switch a page is set the page property. This way you can have multiple "virtual" forms held within one actual form.

Is this possible with Panels or possibly hidden tab pages?
MikeG
Thursday, March 31, 2005
 
 
I did a little toy project with panels, so this isn't authoritative advice ...

I wanted to make a WinForms app that matched the navigation of a web app.  Normally, this would be a wizard type navigation with one form closing and the next opening.  I didn't want all the opening and closing noise, so I created panels and opened / closed those.

I also provided a navigation track at the top of the form so the user could jump back to any previous panel - that prevnted the problem of cascading OK's.

It was a year ago that I did this, so I'm fuzzy on the details, but I think I created a base panel type and derived all my panels from that so that I could minimize the number of delegate functions (event handlers) I had to write.
Cowboy coder
Thursday, March 31, 2005
 
 
So you have one thingy (treeview node) which shows a thingy (panel right of the splitter) which can bring up another thingy (modal panel), which can bring up another thingy (modal panel), which can bring up another thingy (modal panel) ??

Are you looking for some kind of way of managing these thingies, or a way to greatly reduce the complexity of all this?
Nigel Send private email
Thursday, March 31, 2005
 
 
Nigel,

Probably both.

I am after an elegent solution to avoid to modal windows and a nice way to manage the complexity.
MikeG
Friday, April 01, 2005
 
 
Sorry they are modal forms, not modal panels but it is basically the same problem.
MikeG
Friday, April 01, 2005
 
 
You could try comparing it to Windows Explorer (or the management console). Why does your tree and main panel have to only show one type of item?

In Windows Explorer, it copes with the following levels:
-Desktop
--My Network Places
---Entire Network
----Microsoft Windows Network
-----MyDomain.com

Each level has a different view in the right hand pane and a different set of context menus.
Adrian
Friday, April 01, 2005
 
 
For forms where there's a lot of information which is static but with also too much changing information, or views to fit easily into a single form and to avoid opening windows and new forms all over the shop I use panels embedded within the form.

For instance an order form has
 
Account Number, Name                      Order Number

Order Address                              Delivery Address
..
..
..
..

Panel for Order Information/Entering Order lines/Processing Credit card/Special Information/Gift Messages.
...
.
..
..
..
Grid of Order lines with quantities and values
..
..
..
                                    Totals
Status Bar

The user stays working in the central panel which s/he uses to move from mode to mode depending on the information they're putting in but they can keep all the relevant information in front of them all of the time.
Simon Lucy Send private email
Friday, April 01, 2005
 
 
Simon,

Thats kind of what I want but how do you switch panels in the centre?

I tried creating 2 panels one over the other, but if I put a label control on one of the panels and then made that panels visible property  equal false, the label control still shows both at design time and run time. I basically want to use panels in a wizard like format, but without the next, previous buttons. I want to be able to programatically switch pages.

Is this possible or would it be better to use tab pages.
Mike
Friday, April 01, 2005
 
 
Solved it using multiple panels and .bringToFront() and .sendToBack()
Mike
Friday, April 01, 2005
 
 
I have a strip of buttons which look like a cut out and the user clicks those to select the particular panel, they can also use PgUp and PgDn.

http://www.objective2k.com/magpie has some current screen shots, this one is still in development and some alignments have to be fixed but it should make it easier to follow.
Simon Lucy Send private email
Friday, April 01, 2005
 
 
Nice screen shots. That is very similar to what I want to do.

I have solved it as above with panels and bringtofront/sendtoback. It works a treat.
Mike
Monday, April 04, 2005
 
 
Isn't this what tabbed panes are made for?

The approach with a button panel and multiple panels works OK since it's actually doing the same as a tabbed pane, but in my opinion a tabbed is more intuitive to the average user. I also prefer to have the tabs on top or at the left side.

Axel
Axel Hallez Send private email
Monday, April 04, 2005
 
 
Well yes it can be the same as a tabbed page but useability tests showed that the users were more comfortable with the 'buttons' placed where they were.  Tabs in the middle of the form were very odd visually and didn't give the right kind of cues.

One of the things we were aiming at was to keep the user's attention in the middle of the form, the rest of the fields (other than the Customer Button), were all display rather than edit fields.
Simon Lucy Send private email
Tuesday, April 05, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz