Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui.forms
Class MasterDetailsBlock

    java.lang.Object
      org.eclipse.ui.forms.MasterDetailsBlock

public abstract class MasterDetailsBlock
extends Object

This class implements the 'master/details' UI pattern suitable for inclusion in a form. The block consists of two parts: 'master' and 'details' in a sash form that allows users to change the relative ratio on the page. The master part needs to be created by the users of this class. The details part is created by the block.

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:
  `DetailsPart`, `IDetailsPage`, `IDetailsPageProvider`

Field Summary
`protected DetailsPart` | `detailsPart` Details part created by the block.
`protected SashForm` | `sashForm` The form that is the parent of both master and details part.

Constructor Summary
`MasterDetailsBlock()`

Method Summary
`void` | `createContent(IManagedForm managedForm)` Creates the content of the master/details block inside the managed form.
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### detailsPart

    protected DetailsPart detailsPart

  Details part created by the block. No attempt should be made to access this field inside `createMasterPart` because it has not been created yet and will be `null`.

### sashForm

    protected SashForm 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 Detail

### MasterDetailsBlock

    public MasterDetailsBlock()

Method Detail

### createContent

    public void createContent(IManagedForm managedForm)

  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

### createMasterPart

    protected abstract void createMasterPart(IManagedForm managedForm,
                                             Composite parent)

  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 form
    `parent` - the parent composite

### registerPages

    protected abstract void registerPages(DetailsPart detailsPart)

  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

    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.

  Parameters:
    `managedForm` - the form that owns the tool bar

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.