org.merlotxml.merlot
Class NullEditor

java.lang.Object
  extended byorg.merlotxml.merlot.NullEditor
All Implemented Interfaces:
MerlotDOMEditor

public class NullEditor
extends java.lang.Object
implements MerlotDOMEditor

This is a null editor that suppresses certain types of elements from being edited graphically.


Constructor Summary
NullEditor()
           
 
Method Summary
 boolean editsChildren()
          returns true if this editor also edits it's children.
 java.lang.String[] getEditableTypes()
          Returns the element types that this editor handles
 javax.swing.JPanel getEditPanel(MerlotDOMNode node)
          returns a panel for editing this type of component.
 javax.swing.JMenuItem[] getMenuItems(MerlotDOMNode node)
          Returns a set of menu items for any special actions for this particular editor that it wants in the popup menu.
 void grabFocus(javax.swing.JPanel p)
          Tells the edit panel it's gaining focus, so it can put the cursor in the first field.
 void savePanel(javax.swing.JPanel p)
          called by the editor when the user has chosen to save their changes in a panel.
 boolean suppressAddType(DTDElement el)
          allows the plugin to hide certain items on the add-> menu.
 boolean suppressAddType(GrammarComplexType el)
           
 boolean suppressNode(MerlotDOMNode node)
          Returns true if the component editor wants a particular node hidden from the user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullEditor

public NullEditor()
Method Detail

grabFocus

public void grabFocus(javax.swing.JPanel p)
Description copied from interface: MerlotDOMEditor
Tells the edit panel it's gaining focus, so it can put the cursor in the first field. XXX this should probably be handled by event listening instead

Specified by:
grabFocus in interface MerlotDOMEditor

getMenuItems

public javax.swing.JMenuItem[] getMenuItems(MerlotDOMNode node)
Description copied from interface: MerlotDOMEditor
Returns a set of menu items for any special actions for this particular editor that it wants in the popup menu. Standard stuff like cut, copy, paste is taken care of by other objects. If nothing needs added, can return null.

Specified by:
getMenuItems in interface MerlotDOMEditor
Parameters:
node - the node for which to get the menu items

getEditPanel

public javax.swing.JPanel getEditPanel(MerlotDOMNode node)
returns a panel for editing this type of component.

Specified by:
getEditPanel in interface MerlotDOMEditor

savePanel

public void savePanel(javax.swing.JPanel p)
               throws java.beans.PropertyVetoException
called by the editor when the user has chosen to save their changes in a panel.

Specified by:
savePanel in interface MerlotDOMEditor
Parameters:
p - the panel that was retreived with getEditPanel(node);
Throws:
java.beans.PropertyVetoException

getEditableTypes

public java.lang.String[] getEditableTypes()
Returns the element types that this editor handles


editsChildren

public boolean editsChildren()
returns true if this editor also edits it's children.

If this returns true, then the editsChild(childnode) is called for each child to see if this editor wants to edit that particular child XXX currently not used on the editor level


suppressNode

public boolean suppressNode(MerlotDOMNode node)
Returns true if the component editor wants a particular node hidden from the user. If the editor wants to filter what the user sees in their display, it should look at the given node, otherwise it should return false. This is usefull particularly if the editor handles its children. It can hide the children nodes from the user's view.

Specified by:
suppressNode in interface MerlotDOMEditor

suppressAddType

public boolean suppressAddType(DTDElement el)
allows the plugin to hide certain items on the add-> menu. For example, the plugin for the accessibility permissions might not want the user to be able to directly add an "access" element, so it can request that that be suppressed.

Specified by:
suppressAddType in interface MerlotDOMEditor

suppressAddType

public boolean suppressAddType(GrammarComplexType el)
Specified by:
suppressAddType in interface MerlotDOMEditor