Class DefaultGraphCellEditor

java.lang.Object
org.jgraph.graph.DefaultGraphCellEditor
All Implemented Interfaces:
ActionListener, Serializable, EventListener, CellEditor, GraphSelectionListener, GraphCellEditor

public class DefaultGraphCellEditor extends Object implements ActionListener, GraphCellEditor, GraphSelectionListener, Serializable
See Also:
  • Field Details

    • realEditor

      protected GraphCellEditor realEditor
      Editor handling the editing.
    • editingContainer

      protected Container editingContainer
      Editing container, will contain the editorComponent.
    • editingComponent

      protected transient Component editingComponent
      Component used in editing, obtained from the editingContainer.
    • canEdit

      protected boolean canEdit
      Internal Note, maybe isCellEditable return true. This is set in configure based on the path being edited and the selected selected path.
    • offsetX

      protected transient int offsetX
      Used in editing. Indicates position to place editingComponent.
    • offsetY

      protected transient int offsetY
    • graph

      protected transient JGraph graph
      JTree instance listening too.
    • lastCell

      protected transient Object lastCell
      last path that was selected.
    • borderSelectionColor

      protected Color borderSelectionColor
      True if the border selection color should be drawn.
    • editingIcon

      protected transient Icon editingIcon
      Icon to use when editing.
    • font

      protected Font font
      Font to paint with, null indicates font of renderer is to be used.
  • Constructor Details

    • DefaultGraphCellEditor

      public DefaultGraphCellEditor()
      Constructs a DefaultTreeCellEditor object for a JGraph using the specified renderer and a default editor. (Use this constructor for normal editing.)
    • DefaultGraphCellEditor

      public DefaultGraphCellEditor(GraphCellEditor editor)
      Constructs a DefaultTreeCellEditor object for a JTree using the specified renderer and the specified editor. (Use this constructor for specialized editing.)
      Parameters:
      editor - a TreeCellEditor object
  • Method Details

    • setBorderSelectionColor

      public void setBorderSelectionColor(Color newColor)
      Sets the color to use for the border.
    • getBorderSelectionColor

      public Color getBorderSelectionColor()
      Returns the color the border is drawn.
    • setFont

      public void setFont(Font font)
      Sets the font to edit with. null indicates the renderers font should be used. This will NOT override any font you have set in the editor the receiver was instantied with. If null for an editor was passed in a default editor will be created that will pick up this font.
      Parameters:
      font - the editing Font
      See Also:
    • getFont

      public Font getFont()
      Gets the font used for editing.
      Returns:
      the editing Font
      See Also:
    • getGraphCellEditorComponent

      public Component getGraphCellEditorComponent(JGraph graph, Object cell, boolean isSelected)
      Configures the editor. Passed onto the realEditor.
      Specified by:
      getGraphCellEditorComponent in interface GraphCellEditor
      Parameters:
      graph - the JGraph that is asking the editor to edit This parameter can be null.
      cell - the value of the cell to be edited.
      isSelected - true if the cell is to be rendered with selection highlighting
      Returns:
      the component for editing
    • getCellEditorValue

      public Object getCellEditorValue()
      Returns the value currently being edited.
      Specified by:
      getCellEditorValue in interface CellEditor
    • isCellEditable

      public boolean isCellEditable(EventObject event)
      If the realEditor returns true to this message, prepareForEditing is messaged and true is returned.
      Specified by:
      isCellEditable in interface CellEditor
    • shouldSelectCell

      public boolean shouldSelectCell(EventObject event)
      Messages the realEditor for the return value.
      Specified by:
      shouldSelectCell in interface CellEditor
    • stopCellEditing

      public boolean stopCellEditing()
      If the realEditor will allow editing to stop, the realEditor is removed and true is returned, otherwise false is returned.
      Specified by:
      stopCellEditing in interface CellEditor
    • cancelCellEditing

      public void cancelCellEditing()
      Messages cancelCellEditing to the realEditor and removes it from this instance.
      Specified by:
      cancelCellEditing in interface CellEditor
    • addCellEditorListener

      public void addCellEditorListener(CellEditorListener l)
      Adds the CellEditorListener.
      Specified by:
      addCellEditorListener in interface CellEditor
    • removeCellEditorListener

      public void removeCellEditorListener(CellEditorListener l)
      Removes the previously added CellEditorListener l.
      Specified by:
      removeCellEditorListener in interface CellEditor
    • valueChanged

      public void valueChanged(GraphSelectionEvent e)
      Resets lastPath.
      Specified by:
      valueChanged in interface GraphSelectionListener
      Parameters:
      e - the event that characterizes the change.
    • actionPerformed

      public void actionPerformed(ActionEvent e)
      Messaged when the timer fires, this will start the editing session.
      Specified by:
      actionPerformed in interface ActionListener
    • setGraph

      protected void setGraph(JGraph newGraph)
      Sets the tree currently editing for. This is needed to add a selection listener.
    • shouldStartEditingTimer

      protected boolean shouldStartEditingTimer(EventObject event)
      Returns true if event is a MouseEvent and the click count is 1.
    • canEditImmediately

      protected boolean canEditImmediately(EventObject event)
      Returns true if event is null, or it is a MouseEvent with a click count > 2 and inHitRegion returns true.
    • inHitRegion

      protected boolean inHitRegion(double x, double y)
      Should return true if the passed in location is a valid mouse location to start editing from. This is implemented to return false if x is <= the width of the icon and icon gap displayed by the renderer. In other words this returns true if the user clicks over the text part displayed by the renderer, and false otherwise.
    • determineOffset

      protected void determineOffset(JGraph graph, Object value, boolean isSelected)
    • prepareForEditing

      protected void prepareForEditing()
      Invoked just before editing is to start. Will add the editingComponent to the editingContainer.
    • createContainer

      protected Container createContainer()
      Creates the container to manage placement of editingComponent.
    • createGraphCellEditor

      protected GraphCellEditor createGraphCellEditor()
      This is invoked if a TreeCellEditor is not supplied in the constructor. It returns a TextField editor.