Methods Summary |
---|
public abstract void | commit()Called by the user interface when the editor is saved or its state changed
and the modified attributes must be committed (i.e. written) to the XML model.
Important behaviors:
- The caller *must* have called IStructuredModel.aboutToChangeModel before.
The implemented methods must assume it is safe to modify the XML model.
- On success, the implementation *must* call setDirty(false).
- On failure, the implementation can fail with an exception, which
is trapped and logged by the caller, or do nothing, whichever is more
appropriate.
|
public abstract void | createUiControl(org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.forms.IManagedForm managedForm)Called once by the parent user interface to creates the necessary
user interface to edit this attribute.
This method can be called more than once in the life cycle of an UI node,
typically when the UI is part of a master-detail tree, as pages are swapped.
|
public abstract java.lang.String | getCurrentValue()Returns the current value of the node.
|
public final com.android.ide.eclipse.editors.descriptors.AttributeDescriptor | getDescriptor()Returns the {@link AttributeDescriptor} specific to this UI attribute node
return mDescriptor;
|
public abstract java.lang.String[] | getPossibleValues(java.lang.String prefix)Used to get a list of all possible values for this UI attribute.
This is used, among other things, by the XML Content Assists to complete values
for an attribute.
Implementations that do not have any known values should return null.
|
public final UiElementNode | getUiParent()Returns the {@link UiElementNode} that owns this {@link UiAttributeNode}
return mUiParent;
|
public final boolean | hasError()Returns whether this node has errors.
return mHasError;
|
public final boolean | isDirty()
return mIsDirty;
|
public void | setDirty(boolean isDirty)Sets whether the attribute is dirty and also notifies the editor some part's dirty
flag as changed.
Subclasses should set the to true as a result of user interaction with the widgets in
the section and then should set to false when the commit() method completed.
boolean old_value = mIsDirty;
mIsDirty = isDirty;
// TODO: for unknown attributes, getParent() != null && getParent().getEditor() != null
if (old_value != isDirty) {
getUiParent().getEditor().editorDirtyStateChanged();
}
|
public final void | setHasError(boolean errorFlag)Sets the error flag value.
mHasError = errorFlag;
|
public abstract void | updateValue(org.w3c.dom.Node xml_attribute_node)Called when the XML is being loaded or has changed to
update the value held by this user interface attribute node.
The XML Node may be null, which denotes that the attribute is not
specified in the XML model. In general, this means the "default" value of the
attribute should be used.
The caller doesn't really know if attributes have changed,
so it will call this to refresh the attribute anyway. It's up to the
UI implementation to minimize refreshes.
|