/* * (c) Rob Gordon 2005. */ package org.oddjob.designer.components; import org.oddjob.arooa.design.DesignFactory; import org.oddjob.arooa.design.DesignInstance; import org.oddjob.arooa.design.DesignProperty; import org.oddjob.arooa.design.MappedDesignProperty; import org.oddjob.arooa.design.SimpleDesignProperty; import org.oddjob.arooa.design.SimpleTextAttribute; import org.oddjob.arooa.design.etc.FileAttribute; import org.oddjob.arooa.design.screem.BorderedGroup; import org.oddjob.arooa.design.screem.FieldGroup; import org.oddjob.arooa.design.screem.FieldSelection; import org.oddjob.arooa.design.screem.Form; import org.oddjob.arooa.design.screem.StandardForm; import org.oddjob.arooa.design.screem.TabGroup; import org.oddjob.arooa.parsing.ArooaContext; import org.oddjob.arooa.parsing.ArooaElement; /** * */ public class OddjobDC implements DesignFactory { public DesignInstance createDesign(ArooaElement element, ArooaContext parentContext) { return new OddjobDesign(element, parentContext); } } class OddjobDesign extends BaseDC { private final FileAttribute file; private final SimpleDesignProperty configuration; private final SimpleDesignProperty args; private final MappedDesignProperty export; private final SimpleDesignProperty properties; private final SimpleTextAttribute inheritance; private final SimpleDesignProperty descriptorFactory; private final SimpleDesignProperty classLoader; private final SimpleDesignProperty persister; OddjobDesign(ArooaElement element, ArooaContext parentContext) { super(element, parentContext); file = new FileAttribute("file", this); configuration = new SimpleDesignProperty("configuration", this); args = new SimpleDesignProperty("args", this); export = new MappedDesignProperty("export", this); properties = new SimpleDesignProperty("properties", this); inheritance = new SimpleTextAttribute("inheritance", this); descriptorFactory = new SimpleDesignProperty("descriptorFactory", this); classLoader = new SimpleDesignProperty("classLoader", this); persister = new SimpleDesignProperty("persister", this); } public Form detail() { return new StandardForm(this) .addFormItem(basePanel()) .addFormItem(new BorderedGroup("Configuration Options").add( new FieldSelection() .add(file.view().setTitle("Configuration File")) .add(configuration.view().setTitle("Configuration")) )) .addFormItem( new TabGroup() .add(new FieldGroup("Export") .add(args.view().setTitle("Arguments")) .add(properties.view().setTitle("Properties")) .add(inheritance.view().setTitle("Inheritance")) .add(export.view().setTitle("Export")) ) .add(new FieldGroup("Advanced") .add(descriptorFactory.view().setTitle("Descriptor")) .add(classLoader.view().setTitle("ClassLoader")) .add(persister.view().setTitle("Persister")) ) ); } @Override public DesignProperty[] children() { return new DesignProperty[] { name, file, configuration, args, properties, inheritance, export, descriptorFactory, classLoader, persister }; } }