Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jgraph.graph
Class DefaultGraphCellEditor

    java.lang.Object
      |
      +--org.jgraph.graph.DefaultGraphCellEditor

All Implemented Interfaces:
  ActionListener, CellEditor, EventListener, GraphCellEditor, GraphSelectionListener, Serializable

public class DefaultGraphCellEditor
extends Object
implements ActionListener, GraphCellEditor, GraphSelectionListener, Serializable

See Also:
  Serialized Form

Nested Class Summary
`class` | `DefaultGraphCellEditor.DefaultTextField` TextField used when no editor is supplied.
`class` | `DefaultGraphCellEditor.EditorContainer` Container responsible for placing the editingComponent.

Field Summary
`protected Color` | `borderSelectionColor` True if the border selection color should be drawn.
`protected boolean` | `canEdit` Should isCellEditable return true? This is set in configure...
`protected Component` | `editingComponent` Component used in editing, obtained from the editingContainer.
`protected Container` | `editingContainer` Editing container, will contain the editorComponent.
`protected Icon` | `editingIcon` Icon to use when editing.
`protected Font` | `font` Font to paint with, null indicates font of renderer is to be used.
`protected JGraph` | `graph` JTree instance listening too.
`protected 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
`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
`void` | `actionPerformed(ActionEvent e)` Messaged when the timer fires, this will start the editing session.
`void` | `addCellEditorListener(CellEditorListener l)` Adds the CellEditorListener.
`void` | `cancelCellEditing()` Messages cancelCellEditing to the realEditor and removes it from this instance.
`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.
`protected 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, Object value, boolean isSelected)`
`Color` | `getBorderSelectionColor()` Returns the color the border is drawn.
`Object` | `getCellEditorValue()` Returns the value currently being edited.
`Font` | `getFont()` Gets the font used for editing.
`Component` | `getGraphCellEditorComponent(JGraph graph, 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(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(CellEditorListener l)` Removes the previously added CellEditorListener l.
`void` | `setBorderSelectionColor(Color newColor)` Sets the color to use for the border.
`void` | `setFont(Font font)` Sets the font to edit with.
`protected void` | `setGraph(JGraph newGraph)` Sets the tree currently editing for.
`boolean` | `shouldSelectCell(EventObject event)` Messages the realEditor for the return value.
`protected boolean` | `shouldStartEditingTimer(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 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

  Should 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 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(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()`

### getFont

    public Font getFont()

  Gets the font used for editing.

  Returns:
    the editing Font
  See Also:
    `setFont(java.awt.Font)`

### 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (C) 2003-2004 Gaudenz Alder. All rights reserved.