WindowBuilder
Extensions  (x)

WindowBuilder is easily extensible via the standard Eclipse extension mechanism (contributing plugins modify their plugin.xml file). The extension mechanism is heavily used by the built-in designers.

WB extensions primarily help add or modify the functionality of UI Toolkits (such as Swing and SWT). They help with everything from changing what model items are added to the palette to determining how exceptions to the default behavior of the parser are handled.

editEdit Tag Description
 

WindowBuilder is easily extensible via the standard Eclipse extension mechanism (contributing plugins modify their plugin.xml file). The extension mechanism is heavily used by the built-in designers. WB extensions primarily help add or modify the functionality of UI Toolkits (such as Swing and SWT). They help with everything from changing what model items are added to the palette to determining how exceptions to the default behavior of the parser are handled.

Tag created 2 years ago
 

WB allows extensions to add to the Standard Toolkit Packages (org.eclipse.wb.core.standardToolkitPackages extension). This extension ONLY define prefixes to determine if the model should be editable using an ObjectPropertyEditor (classes in such packages do not have an 'Object' Property Editor).

 

You can provide a custom design page for your toolkit with the help of the DesignPageFactory extension. Implementing the IEditorPageFactory interface will allow you to create a custom designPageFactory for your tool. This factory will be responsible for creating the needed design pages. The diagram shows that RCP and Swing toolkits both use the Data Binding Design page.

Class Diagram modified 2 years ago
 

WindowBuilder extensions can change the UI containment hierarchy. For example, you might want to include Buttons inside Panels and Tabs, but not inside Text Fields. The HierarchyProviders extension in WB helps in accomplishing this. When the UI element is created/modified and its respective model is initialized/changed. The methods extended from the HierarchyProvider class are used to get and set the necessary parent and child elements. The diagram shows all the different (example) Swing, SWT...

Class Diagram created 2 years ago
 

The Toolkit extension tells WB about your Toolkit Provider and describes the items WB should put in the palette. The core uses the registered toolkits both when parsing existing code to create its model and when determining what items/actions should be present in the Designer's palette. When Parsing the code, WB loads the model class from the available bundles, specifically those contained in the registered toolkits' descriptions. The PaletteManager asks the registered toolKits for any ...

 

There are a number of places where UI Toolkits hook into the WB model creation process. Code is parsed to dermine what needs to be added to the model, then a ComponentDescription is retrieved. This Description is processed to make sure it is compatible with the WB core. At this point a JavaInfo Object is created from the ComponentDescription. During parsing UI Toolkit classes override some of the WB functionality. SWT classes are shown in red while swing classes are in green. Both Parsers and...

For more details regarding the diagram notes you can see related information below. Note 1: Parse Concept Diagrams Note 2: Toolkit Extension Point Note 3: IDescriptionProcessors and how they help UI Toolkits interface with the Model Note 4: Toolkit Extension Point Note 5: Description Processors

(2 years ago)

For a more detailed view of this diagram see here: Overview of UI Toolkits: Model Creation

(2 years ago)
 

WindowBuilder extensions can change the UI containment hierarchy. For example, you might want to include Buttons inside Panels and Tabs, but not inside Text Fields. The HierarchyProviders extension in WB helps in accomplishing this. When the UI element is created/modified and its respective model is initialized/changed. The methods extended from the HierarchyProvider class are used to get and set the necessary parent and child elements. The diagram shows all the different (example) Swing,...

Class Diagram modified 2 years ago
 

The SurroundSupport checks the registered surround targets and makes sure they can be contained/nested. Then if so it uses the surround processors to move/reparent the components

 

One important WB extension point is the Description Processor. It helps the WB Model creation (ComponetDescriptions) determine what global tasks need to be applied to each toolkit element in order for it to fit into the WB world. Here we can see that when the ComponentDescriptionHelper needs to get a description it must retrieve the list of extended DescriptionProcessors and apply each one to the ComponentDescription. This means calling IDescriptionProcessor.process(). For each UI Toolkit...

For more details on how the Swing and SWT toolkit description processors work see: Description Processors

(2 years ago)
 

There are a number of places where UI Toolkits hook into the WB model creation process. Code is parsed to dermine what needs to be added to the model, then a ComponentDescription is retrieved. This Description is processed to make sure it is compatible with the WB core. At this point a JavaInfo Object is created from the ComponentDescription. During parsing UI Toolkit classes override some of the WB functionality. SWT classes are shown in red while swing classes are in green. Both Parser...

For more details regarding the diagram notes you can see related information below. Note 1: Parse Concept Diagrams Note 2: Toolkit Extension Point Note 3: IDescriptionProcessors and how they help UI Toolkits interface with the Model Note 4: Toolkit Extension Point Note 5: Description Processors

(2 years ago)

For a less detailed view of this diagram see here: Overview of UI Toolkit: Model Creation (Summary)

(2 years ago)

 1  2 Next   

Explore Packages

Explore Classes

Additional Links
Home Page
Help out!
Add Tag
Add Link
Add Image
Add Note
Request Content
Types
Note (1) Class Diagram (11)
Filter by tags
Component (3) Description (1) Evaluator (1) Model (5) Palette (3) Parse (3) Surround (1) UI Toolkit (11)
Contributors
Konstantin Scheglov
Abhishek Rakshit
Seth Rosen
Eric Clayberg
Vineet Sinha
See All