Contains all of the class for creating a property dialog with a navigation tree on the left
and property panes on the right. Each node is an instance of {@link #org.eclipse.birt.report.designer.ui.dialogs.properties.PropertyNode PropertyNode}
and each page added should be an implementation of {@link #org.eclipse.birt.report.designer.ui.dialogs.properties.IPropertyPage IPropertyPage}.
The dialog maintains an instance of a model object which can be used by all the pages
and all derived classes.
When a node is selected the dialog first calls the {@link #org.eclipse.birt.report.designer.ui.dialogs.properties.IPropertyPage.canLeave() canLeave} method.
At this point the page can also perform any model updations as required.
If this returns true then the page is changed to the page associated with the selected node.
The {@link #org.eclipse.birt.report.designer.ui.dialogs.properties.IPropertyPage.pageActivated() pageActivated} method is called to indicate to the page
that it is the currently visible page. At this point the page can refresh its contents if needed.