/*
* (c) Rob Gordon 2005.
*/
package org.oddjob.state;
import org.oddjob.arooa.design.DesignFactory;
import org.oddjob.arooa.design.DesignInstance;
import org.oddjob.arooa.design.DesignProperty;
import org.oddjob.arooa.design.IndexedDesignProperty;
import org.oddjob.arooa.design.SimpleTextAttribute;
import org.oddjob.arooa.design.screem.BorderedGroup;
import org.oddjob.arooa.design.screem.Form;
import org.oddjob.arooa.design.screem.StandardForm;
import org.oddjob.arooa.parsing.ArooaContext;
import org.oddjob.arooa.parsing.ArooaElement;
import org.oddjob.designer.components.BaseDC;
/**
*
*/
public class CascadeJobDF implements DesignFactory {
public DesignInstance createDesign(ArooaElement element,
ArooaContext parentContext) {
return new CascadeJobDesign(element, parentContext);
}
}
class CascadeJobDesign extends BaseDC {
private final SimpleTextAttribute haltOn;
private final SimpleTextAttribute cascadeOn;
private final IndexedDesignProperty jobs;
public CascadeJobDesign(ArooaElement element, ArooaContext parentContext) {
super(element, parentContext);
jobs = new IndexedDesignProperty("jobs", this);
haltOn = new SimpleTextAttribute("haltOn", this);
cascadeOn = new SimpleTextAttribute("cascadeOn", this);
}
public Form detail() {
return new StandardForm(this)
.addFormItem(basePanel())
.addFormItem(new BorderedGroup("Optional Behaviour")
.add(haltOn.view().setTitle("Halt On"))
.add(cascadeOn.view().setTitle("Cascade On"))
)
.addFormItem(new BorderedGroup("Jobs")
.add(jobs.view().setTitle(""))
);
}
@Override
public DesignProperty[] children() {
return new DesignProperty[] {
name, haltOn, cascadeOn, jobs };
}
}