diff options
Diffstat (limited to 'source/com/c2kernel/gui/tabs/outcome/form/Field.java')
| -rw-r--r-- | source/com/c2kernel/gui/tabs/outcome/form/Field.java | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/source/com/c2kernel/gui/tabs/outcome/form/Field.java b/source/com/c2kernel/gui/tabs/outcome/form/Field.java deleted file mode 100644 index 9d21c97..0000000 --- a/source/com/c2kernel/gui/tabs/outcome/form/Field.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.c2kernel.gui.tabs.outcome.form;
-import java.awt.Component;
-
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingConstants;
-
-import org.exolab.castor.xml.schema.ElementDecl;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-import com.c2kernel.gui.tabs.outcome.OutcomeException;
-import com.c2kernel.gui.tabs.outcome.form.field.StringEditField;
-import com.c2kernel.utils.Logger;
-
-
-public class Field extends OutcomeStructure {
-
- StringEditField myElementPanel = null;
- AttributeList myAttributes;
- JLabel tagName;
- Text textNode;
- boolean fixed;
- public static final JPanel nullPanel = new JPanel();
-
- public Field(ElementDecl model, boolean readOnly, HelpPane helpPane) {
- super(model, readOnly, helpPane);
-
- try {
- myElementPanel = StringEditField.getEditField(model);
- Logger.msg(6, "Field type: "+myElementPanel.getClass().getName());
- myElementPanel.setHelp(helpPane, help);
- if (readOnly) myElementPanel.setEditable(false);
-
- } catch (StructuralException e) { // no base type for field - only attributes
- myElementPanel = null;
- }
-
- myAttributes = new AttributeList(model, readOnly, helpPane);
-
- tagName = new JLabel(model.getName());
- tagName.setVerticalAlignment(SwingConstants.BOTTOM);
- }
-
- public JComponent getLabel() {
- return tagName;
- }
-
- public Component getCData() {
- if (myElementPanel == null)
- return nullPanel;
- return myElementPanel.getControl();
- }
-
- public JComponent getAttributes() {
- return myAttributes;
- }
-
- @Override
- public void addStructure(OutcomeStructure newElement) throws StructuralException {
- throw new StructuralException("Field "+model.getName()+" cannot have child structures");
- }
-
- @Override
- public void addInstance(Element myElement, Document parentDoc) throws OutcomeException {
- Logger.msg(6, "Accepting Field "+myElement.getTagName());
- if (this.myElement != null) throw new CardinalException("Field "+this.getName()+" cannot repeat");
- this.myElement = myElement;
-
- try {
- if (myElementPanel == null)
- Logger.error("Field should be empty. Discarding contents.");
- else {
- if (myElement.hasChildNodes())
- textNode = (Text)myElement.getFirstChild();
- else {
- textNode = parentDoc.createTextNode(getDefaultValue());
- myElement.appendChild(textNode);
- }
-
- myElementPanel.setData(textNode);
- }
- } catch (ClassCastException ex) {
- throw new StructuralException("First child node of Field " + this.getName() + " was not Text: "+myElement.getFirstChild().getNodeType());
- }
- myAttributes.setInstance(myElement);
- }
-
- // check if valid
-
- @Override
- public String validateStructure() {
- myAttributes.validateAttributes();
- if (myElementPanel != null) myElementPanel.updateNode();
- Text contents = (Text)myElement.getFirstChild();
- if (!myElement.hasAttributes() && model.getMinOccurs() < 1 &&
- (contents == null || contents.getData().length() == 0))
- // empty - should remove if optional
- myElement.getParentNode().removeChild(myElement);
- return null;
- }
-
- @Override
- public Element initNew(Document parent) {
- Logger.msg(6, "Creating Field "+this.getName());
-
- // make a new Element
- myElement = parent.createElement(this.getName());
-
- // see if there is a default/fixed value
- if (myElementPanel != null) {
- // populate
- String defaultVal = readOnly?"":getDefaultValue();
- textNode = parent.createTextNode(defaultVal);
- myElement.appendChild(textNode);
- myElementPanel.setData(textNode);
- }
-
- // set up attributes
- myAttributes.initNew(myElement);
-
- return myElement;
- }
-
- private String getDefaultValue() {
- String defaultValue = model.getFixedValue();
- if (defaultValue == null) defaultValue = model.getDefaultValue();
- if (defaultValue == null) defaultValue = myElementPanel.getDefaultValue();
- return defaultValue;
- }
-
- @Override
- public void grabFocus() {
- if (myElementPanel != null)
- myElementPanel.grabFocus();
- else
- myAttributes.grabFocus();
- }
-
-}
|
