Class DefaultGraphCellEditor

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.Color borderSelectionColor
      True if the border selection color should be drawn.
      protected boolean canEdit
      Internal Note, maybe isCellEditable return true.
      protected java.awt.Component editingComponent
      Component used in editing, obtained from the editingContainer.
      protected java.awt.Container editingContainer
      Editing container, will contain the editorComponent.
      protected javax.swing.Icon editingIcon
      Icon to use when editing.
      protected java.awt.Font font
      Font to paint with, null indicates font of renderer is to be used.
      protected JGraph graph
      JTree instance listening too.
      protected java.lang.Object lastCell
      last path that was selected.
      protected int offsetX
      Used in editing.
      protected int offsetY  
      protected GraphCellEditor realEditor
      Editor handling the editing.
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultGraphCellEditor()
      Constructs a DefaultTreeCellEditor object for a JGraph using the specified renderer and a default editor.
      DefaultGraphCellEditor​(GraphCellEditor editor)
      Constructs a DefaultTreeCellEditor object for a JTree using the specified renderer and the specified editor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      Messaged when the timer fires, this will start the editing session.
      void addCellEditorListener​(javax.swing.event.CellEditorListener l)
      Adds the CellEditorListener.
      void cancelCellEditing()
      Messages cancelCellEditing to the realEditor and removes it from this instance.
      protected boolean canEditImmediately​(java.util.EventObject event)
      Returns true if event is null, or it is a MouseEvent with a click count > 2 and inHitRegion returns true.
      protected java.awt.Container createContainer()
      Creates the container to manage placement of editingComponent.
      protected GraphCellEditor createGraphCellEditor()
      This is invoked if a TreeCellEditor is not supplied in the constructor.
      protected void determineOffset​(JGraph graph, java.lang.Object value, boolean isSelected)  
      java.awt.Color getBorderSelectionColor()
      Returns the color the border is drawn.
      java.lang.Object getCellEditorValue()
      Returns the value currently being edited.
      java.awt.Font getFont()
      Gets the font used for editing.
      java.awt.Component getGraphCellEditorComponent​(JGraph graph, java.lang.Object cell, boolean isSelected)
      Configures the editor.
      protected boolean inHitRegion​(double x, double y)
      Should return true if the passed in location is a valid mouse location to start editing from.
      boolean isCellEditable​(java.util.EventObject event)
      If the realEditor returns true to this message, prepareForEditing is messaged and true is returned.
      protected void prepareForEditing()
      Invoked just before editing is to start.
      void removeCellEditorListener​(javax.swing.event.CellEditorListener l)
      Removes the previously added CellEditorListener l.
      void setBorderSelectionColor​(java.awt.Color newColor)
      Sets the color to use for the border.
      void setFont​(java.awt.Font font)
      Sets the font to edit with.
      protected void setGraph​(JGraph newGraph)
      Sets the tree currently editing for.
      boolean shouldSelectCell​(java.util.EventObject event)
      Messages the realEditor for the return value.
      protected boolean shouldStartEditingTimer​(java.util.EventObject event)
      Returns true if event is a MouseEvent and the click count is 1.
      boolean stopCellEditing()
      If the realEditor will allow editing to stop, the realEditor is removed and true is returned, otherwise false is returned.
      void valueChanged​(GraphSelectionEvent e)
      Resets lastPath.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • realEditor

        protected GraphCellEditor realEditor
        Editor handling the editing.
      • editingContainer

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

        protected transient java.awt.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 java.lang.Object lastCell
        last path that was selected.
      • borderSelectionColor

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

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

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

      • 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 Detail

      • setBorderSelectionColor

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

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

        public void setFont​(java.awt.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()
      • getFont

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

        public java.awt.Component getGraphCellEditorComponent​(JGraph graph,
                                                              java.lang.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 java.lang.Object getCellEditorValue()
        Returns the value currently being edited.
        Specified by:
        getCellEditorValue in interface javax.swing.CellEditor
      • isCellEditable

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

        public boolean shouldSelectCell​(java.util.EventObject event)
        Messages the realEditor for the return value.
        Specified by:
        shouldSelectCell in interface javax.swing.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 javax.swing.CellEditor
      • cancelCellEditing

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

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

        public void removeCellEditorListener​(javax.swing.event.CellEditorListener l)
        Removes the previously added CellEditorListener l.
        Specified by:
        removeCellEditorListener in interface javax.swing.CellEditor
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Messaged when the timer fires, this will start the editing session.
        Specified by:
        actionPerformed in interface java.awt.event.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​(java.util.EventObject event)
        Returns true if event is a MouseEvent and the click count is 1.
      • canEditImmediately

        protected boolean canEditImmediately​(java.util.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,
                                       java.lang.Object value,
                                       boolean isSelected)
      • prepareForEditing

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

        protected java.awt.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.