Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
E4/Modeling
< E4
                  
                  
                  
                  Historical Document of the things in a running workbench
Modeling the Workbench and the Things in It
-  DOM/CSS 
- we need a simple uniform model API that can be styled much like is possible DOM and CSS
 
 -  Provider style API 
- we need some type of uniform API for imposing a view structure on a model instance, i.e., a unification of ILabelProvider, IContentProvider, IFontProvider, and so on.
 
 -  Event Bus 
- we need to make it easier to register listeners in a central location
 
 -  Commands 
- we need a uniform mechanism for changing state
 
 -  Tools for Modeling 
- we need high level tools to make it easy to develop models
 
 -  Data binding 
- we need a mechanism for mapping a model of the data onto a model of the user interface
 
 -  Constraints 
- we need ways of enforcing consistency
 
 
Current Eclipse GUI Artifacts
-  Workbench Window(s) (sizing frame, sys menu, min/max/close button?)
-  Main Menu (visible?, items)
- Items/Sub-Menus
 
 -  Trim
-  Top Trim
-  CBanner (visible?, split/tiled?
-  Main TB
- Toolbars(groups) (chevrons?), Sub-Menus
 
 -  Perspective Switcher
- Menu Button (action, context menu)
 - Perspective Buttons (radio set, chevron?)
 
 
 -  Main TB
 
 -  CBanner (visible?, split/tiled?
 -  Left Trim
- Minimized Stack
 
 -  Bottom Trim
- StatusLine (items...)
 - Stuff (FVB, Progress...)
 
 
 -  Top Trim
 
 -  Main Menu (visible?, items)
 
-  Client Area (what's left over after the trim has been arranged)
- Global Views (currently called 'sticky' views)
 
 -  Perspective 
- Detached Windows for the active persp
 -  Main Layout (ViewSashContainer)
-  Editor Area (Visible?, state)
-  EditorSashContainer
- EditorStack(s) (chevron)
 
 - Sticky Right (ViewStack)
 -  ViewStack(s)
- ToolBar
 -  CTabFolder (Site..., min/max handling 'supportsState'
- items (label, image, active?, selected?)
 - tool area
 - msg area
 
 
 
 -  EditorSashContainer
 
 -  Editor Area (Visible?, state)
 
 
-  Activation
- Shell->WBW->Perspective->(View/Editor)
 - Editor Area (last active has no shading)
 - Active part (Help)
 - Menu/TB contents/state (including views)
 
 
-  What you don't (sometimes):
- Detached Windows for inactive persps
 - ShellPool
 - Context menus
 - views open in other persps
 - pages(?) for non active persps
 - ContainerPlaceHolders
 - ViewPlaceHolders (preferred location)
 - Trim in the activation chain