org.merlotxml.merlot.editors
Class SchemaDOMEditor

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

public class SchemaDOMEditor
extends java.lang.Object
implements MerlotDOMEditor

A new editor and an alternative to GenericDOMEditPanel for use with schemas. The reason for the change is that GenericDOMEditPanel's code was starting to get difficult to read.

Author:
Evert Hoff

Constructor Summary
SchemaDOMEditor()
           
 
Method Summary
 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)
          Deprecated.  
 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

SchemaDOMEditor

public SchemaDOMEditor()
Method Detail

getEditPanel

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

Specified by:
getEditPanel in interface MerlotDOMEditor
Parameters:
node - Description of Parameter
Returns:
The editPanel value

getMenuItems

public 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. 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
Returns:
The menuItems value

grabFocus

public void grabFocus(javax.swing.JPanel p)
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
Parameters:
p - Description of Parameter

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 - Description of Exception

suppressAddType

public boolean suppressAddType(DTDElement el)
Deprecated.  

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
Parameters:
el - Description of Parameter
Returns:
Description of the Returned Value

suppressAddType

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

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
Parameters:
node - Description of Parameter
Returns:
Description of the Returned Value