public Control createControl(Composite parent) {
   composite = new SashForm(parent, SWT.VERTICAL);
   properties.createControl(composite);
   editor.createControl(composite);
   composite.setWeights(new int[] {15, 30});
   return composite;
 }
 public void setInput(Object object) {
   selected = (XModelObject) object;
   String[] h = editor.getHelper().getHeader();
   editor.getHelper().setEntity(selected.getModelEntity(), 0);
   if (h != editor.getHelper().getHeader()) {
     if (composite != null) {
       editor.getControl().dispose();
       editor.createControl(composite);
       composite.setWeights(new int[] {15, 30});
       composite.update();
       composite.layout();
     }
   }
   editor.setObject(selected);
   editor.update();
   properties.setInput(selected);
 }
 public void update() {
   editor.update();
   properties.update();
 }
 public void dispose() {
   if (editor != null) editor.dispose();
   editor = null;
   if (properties != null) properties.dispose();
   properties = null;
 }