View Issue Details

IDProjectCategoryView StatusLast Update
0000094DarkRadiantGUIpublic12.03.2009 07:32
Reportergreebo Assigned Togreebo  
PrioritylowSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.0 
Target Version0.9.11Fixed in Version0.9.11 
Summary0000094: Redesign Mainframe Layout Handling
DescriptionThe implementation of the four possible viewstyles (splitpane, floating, etc.) is not designed very well with massive use of globals and if statements.

I'd propose an abstract WindowLayout class definition that can be derived from. The MainFrame class allocates one of the four (or more?) derived classes (e.g. class SplitPane : public WindowLayout) and packs their GtkWidget representation into the main window without caring about the implementation details.
TagsNo tags attached.

Relationships

related to 0000450 closedgreebo Press T to bring up texture browser, would be nice to press T again to close it but it doesn't work 
related to 0000403 closedSneaksieDave Stored window layouts 

Activities

orbweaver

orbweaver

09.02.2007 20:43

developer   ~0000076

The derived class approach is certainly much better than using conditionals, and would make for easier maintenance.

In the longer term, we should investigate better solutions to the interface than having separate hardcoded layouts. Both Blender and Eclipse solve this problem in their own way, and it MAY be possible to do something similar with GTK. The default Floating Window layout is a horrible SDI/MDI hybrid hack which really should be replaced.

Issue History

Date Modified Username Field Change
09.02.2007 12:25 greebo New Issue
09.02.2007 14:20 greebo Status new => feedback
09.02.2007 20:43 orbweaver Note Added: 0000076
09.02.2007 20:43 orbweaver Status feedback => confirmed
07.12.2007 09:05 greebo Relationship added related to 0000450
07.12.2007 10:27 greebo Relationship added related to 0000403
06.02.2009 21:17 greebo Projection none => redesign
06.02.2009 21:17 greebo ETA none => < 1 month
06.02.2009 21:17 greebo Target Version => 0.9.11
06.02.2009 21:18 greebo Status confirmed => assigned
06.02.2009 21:18 greebo Assigned To => greebo
07.02.2009 10:58 greebo Status assigned => resolved
07.02.2009 10:58 greebo Fixed in Version => 0.9.11
07.02.2009 10:58 greebo Resolution open => fixed
07.02.2009 10:59 greebo Build => 4140
12.03.2009 07:32 greebo Status resolved => closed