Class MasterDetailsBlock
The master part is responsible for adding itself as a form part and firing selection events. The details part catches the selection events and tries to load a page registered to handle the selected object(s). The page shows the details of the selected object(s) and allows users to edit them.
Details pages can be registered statically using 'registerPage' or dynamically through the use of 'IDetailsPageProvider' in case where different pages need to be shown for objects of the same type depending on their state.
Subclasses are required to implement abstract methods of this class. Master part must be created and at least one details page should be registered in order to show details of the objects selected in the master part. Tool bar actions can be optionally added to the tool bar manager.
- Since:
- 3.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected DetailsPart
Details part created by the block.protected SashForm
The form that is the parent of both master and details part. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
applyLayout
(Composite parent) Applies layout to the parent composite of the master/details block.protected void
applyLayoutData
(SashForm sashForm) Applies layout data to the sash form containing master and detail parts of the master/details block.void
createContent
(IManagedForm managedForm) Creates the content of the master/details block inside the managed form.void
createContent
(IManagedForm managedForm, Composite parent) Creates the content of the master/details block inside the parent composite.protected abstract void
createMasterPart
(IManagedForm managedForm, Composite parent) Implement this method to create a master part in the provided parent.protected abstract void
createToolBarActions
(IManagedForm managedForm) Implement this method to create form tool bar actions and add them to the form tool bar if desired.protected abstract void
registerPages
(DetailsPart detailsPart) Implement this method to statically register pages for the expected object types.
-
Field Details
-
detailsPart
Details part created by the block. No attempt should be made to access this field insidecreateMasterPart
because it has not been created yet and will benull
. -
sashForm
The form that is the parent of both master and details part. The form allows users to change the ratio between the two parts.
-
-
Constructor Details
-
MasterDetailsBlock
public MasterDetailsBlock()
-
-
Method Details
-
createContent
Creates the content of the master/details block inside the managed form. This method should be called as late as possible inside the parent part.- Parameters:
managedForm
- the managed form to create the block in
-
createContent
Creates the content of the master/details block inside the parent composite. This method should be called as late as possible inside the parent part.- Parameters:
managedForm
- the managed form to create the block in- Since:
- 3.4
-
applyLayoutData
Applies layout data to the sash form containing master and detail parts of the master/details block.The default implementation fills the whole parent composite area. Override this method if master/details block is to be placed on a form along with other components.
Implementations that override this method should also override
applyLayout(Composite)
method implementation.- Parameters:
sashForm
- The sash form to be laid out on the parent composite.- Since:
- 3.4
- See Also:
-
applyLayout
Applies layout to the parent composite of the master/details block.The default implementation fills the whole parent composite area. Override this method if master/details block is to be placed on a form along with other components.
Implementations that override this method should also override
applyLayoutData(SashForm)
method implementation.- Parameters:
parent
- parent composite for the master/details block- Since:
- 3.4
- See Also:
-
createMasterPart
Implement this method to create a master part in the provided parent. Typical master parts are section parts that contain tree or table viewer.- Parameters:
managedForm
- the parent formparent
- the parent composite
-
registerPages
Implement this method to statically register pages for the expected object types. This mechanism can be used when there is 1->1 mapping between object classes and details pages.- Parameters:
detailsPart
- the details part
-
createToolBarActions
Implement this method to create form tool bar actions and add them to the form tool bar if desired.- Parameters:
managedForm
- the form that owns the tool bar
-