public static Composite createWidgets4Property(
      Composite parent, String preID, String prefix, AbstractSection section) {
    Composite group = section.getWidgetFactory().createSection(parent, prefix, true, 4);
    ((Section) group.getParent()).setExpanded(false);

    section.createWidget4Property(group, preID + PadUtil.PADDING_TOP);
    section.createWidget4Property(group, preID + PadUtil.PADDING_BOTTOM);
    section.createWidget4Property(group, preID + PadUtil.PADDING_LEFT);
    section.createWidget4Property(group, preID + PadUtil.PADDING_RIGHT);

    return group;
  }
 @Override
 protected void initializeProvidedProperties() {
   super.initializeProvidedProperties();
   addProvidedProperties(JRDesignVariable.PROPERTY_NAME, Messages.common_name);
   addProvidedProperties(
       JRDesignVariable.PROPERTY_VALUE_CLASS_NAME, Messages.common_value_class_name);
 }
 @Override
 protected void initializeProvidedProperties() {
   super.initializeProvidedProperties();
   addProvidedProperties(JRDesignElement.PROPERTY_X, Messages.LocationSection_xCoordinateLabel);
   addProvidedProperties(JRDesignElement.PROPERTY_Y, Messages.LocationSection_yCoordinateLabel);
   addProvidedProperties(JRDesignElement.PROPERTY_POSITION_TYPE, Messages.common_position_type);
 }
 @Override
 protected void initializeProvidedProperties() {
   super.initializeProvidedProperties();
   addProvidedProperties(
       JRDesignGenericElement.PROPERTY_EVALUATION_TIME, Messages.common_evaluation_time);
   addProvidedProperties(
       MGenericElement.PROPERTY_NAME, Messages.MGenericElement_generic_type_name);
   addProvidedProperties(
       MGenericElement.PROPERTY_NAMESPACE, Messages.MGenericElement_generic_type_namespace);
 }
  public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
    super.createControls(parent, tabbedPropertySheetPage);

    parent.setLayout(new GridLayout(3, false));

    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    createWidget4Property(parent, JRDesignVariable.PROPERTY_NAME).getControl().setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    createWidget4Property(parent, JRDesignVariable.PROPERTY_VALUE_CLASS_NAME)
        .getControl()
        .setLayoutData(gd);
  }
  public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
    super.createControls(parent, tabbedPropertySheetPage);

    parent.setLayout(new GridLayout(2, false));

    IPropertyDescriptor pd = getPropertyDesriptor(JRDesignGenericElement.PROPERTY_EVALUATION_TIME);
    IPropertyDescriptor gpd =
        getPropertyDesriptor(JRDesignGenericElement.PROPERTY_EVALUATION_GROUP_NAME);
    getWidgetFactory().createCLabel(parent, pd.getDisplayName());
    widgets.put(pd.getId(), new SPEvaluationTime(parent, this, pd, gpd));

    createWidget4Property(parent, MGenericElement.PROPERTY_NAME);
    createWidget4Property(parent, MGenericElement.PROPERTY_NAMESPACE);
  }
  /**
   * @see
   *     org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
   *     org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
   */
  public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
    super.createControls(parent, tabbedPropertySheetPage);

    parent =
        getWidgetFactory().createSection(parent, Messages.LocationSection_locationLabel, true, 4);
    section = (ExpandableComposite) parent.getParent();

    ASPropertyWidget pw = createWidget4Property(parent, JRDesignElement.PROPERTY_X);
    CLabel lbl = pw.getLabel();
    lbl.setText(Messages.LocationSection_xCoordinateLabel);
    lbl.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

    pw = createWidget4Property(parent, JRDesignElement.PROPERTY_Y);
    lbl = pw.getLabel();
    lbl.setText(Messages.LocationSection_yCoordinateLabel);
    lbl.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

    ASPropertyWidget w = createWidget4Property(parent, JRDesignElement.PROPERTY_POSITION_TYPE);
    GridData gd = new GridData();
    gd.horizontalSpan = 3;
    w.getControl().setLayoutData(gd);
  }
 private void changeProperty(
     final AbstractSection section, final Object property, AlfaRGB newColor) {
   if (parent == null) section.changeProperty(property, newColor);
   else section.changePropertyOn(property, newColor, parent);
 }