POGO Java Program


pogo.appli
Class PogoTree

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--pogo.appli.PogoTree

public class PogoTree
extends javax.swing.JPanel
implements PogoAppliDefs, PogoDefs

This Class manage the JTree used to display, create and modify the PogoClass object.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  javax.swing.tree.DefaultMutableTreeNode attrNode
           
private  java.util.Vector attrNodesVector
          Vector to store attributes nodes.
private  java.util.Vector attrVector
          Vector to store attributes Objects.
private  java.lang.String classDesc
          Class description.
private  javax.swing.tree.DefaultMutableTreeNode cmdNode
           
private  java.util.Vector cmdNodesVector
          Vector to store command nodes.
private  java.util.Vector cmdVector
          Vector to store command Objects.
(package private) static java.lang.String[] collec
          Collection for the first node level after root.
private  java.lang.String collecObjCut
          Parent of previous object cut or copied.
private  javax.swing.JFrame frame
          JFrame parent used for cration..
private  java.lang.String homeDir
           
private  int language
           
private  boolean modified
          check if the PogoClass object has been modified.
private  javax.swing.JLabel[] mouseUsage
          Labels to display mouse usage.
private  java.lang.Object objCut
          Previous object cut or copied.
private  javax.swing.JPopupMenu pMenu
          Popup Menu used on right mouse button.
private  java.lang.String projTitle
          Project Title.
private  javax.swing.tree.DefaultMutableTreeNode propNode
           
private  java.util.Vector propNodesVector
          Vector to store property nodes.
private  java.util.Vector propVector
          Vector to store property Objects.
private  javax.swing.tree.DefaultMutableTreeNode root
          Root node.
private  javax.swing.tree.TreePath selectedPath
          The full path selection.
private  javax.swing.tree.DefaultMutableTreeNode stNode
           
private  java.util.Vector stNodesVector
          Vector to store states nodes.
private  java.util.Vector stVector
          Vector to store states Objects.
private  javax.swing.JTree tree
          The javax.swing.JTree Object to display project.
private  javax.swing.tree.DefaultTreeModel treeModel
          The model used to manage the JTree object.
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Fields inherited from interface pogo.appli.PogoAppliDefs
ATTRIBUTES, BTN1, BTN2, BTN3, COLLECTION, COMMANDS, FILE_SAVE, GENE_DOC, GENE_SRC, helpAbout, helpContents, IMPORT_FILE, LEAF_ITEM, OPEN_FILE, PALETTE_CREATE_ATTR, PALETTE_CREATE_CMD, PALETTE_CREATE_PROP, PALETTE_CREATE_STATE, PALETTE_EDIT_CLASS, PROPERTIES, RET_CANCEL, RET_ERROR, RET_OK, STATES, TangoTypesArray, TREE_ROOT
 
Fields inherited from interface pogo.gene.PogoDefs
ALREADY_OVERRIDING, ATTR_IMAGE, ATTR_READ, ATTR_READ_WITH_WRITE, ATTR_READ_WRITE, ATTR_SCALAR, ATTR_SPECTRUM, ATTR_WRITE, AttrDataArray, AttrRWtypeArray, AttrTypeArray, authorRes, classDescRes, cppAddAttrib, cppAddCommands, cppExtention, cppFile, cppLang, dataCommands, dataExtention, dataFile, dataStartCmd, dataStartStates, endGeneTag, errDetected, javaAddAttrib, javaAddCommands, javaExtention, javaFile, javaLang, languageRes, NEW_STR, NOT_OVERRIDE, outputFiles, OVERRIDE, pageTitleRes, pogoLang, projectTitleRes, readAttrProto1, readAttrProto2, readAttrProto3, readFile, revisionRes, startGeneTag, STATE, statesDescRes, STATUS, Tango_ALARM, Tango_CLOSE, Tango_CONST_DEV_STRING, Tango_DISABLE, Tango_EXTRACT, Tango_FAULT, Tango_INSERT, Tango_MOVING, Tango_OFF, Tango_ON, Tango_OPEN, Tango_RUNNING, Tango_STANDBY, Tango_TYPE_UNKNOWN, Tango_UNKNOWN, Tango_WARMUP, TangoStatesArray, templateBlock, templateClass, templateClassCmd, templateCmd, templateExecuteCmd, templateFile, writeAttrProto, writeFile
 
Constructor Summary
PogoTree(javax.swing.JFrame f)
          Constructor for Pogotree Object.
 
Method Summary
 void changeLeaf(java.util.Vector dataVector, java.util.Vector leafVector, int vIdx, java.lang.Object newData)
          Modify the the leaf.
 void clear()
          Clear all the tree.
 void copySelection()
           
private  void createActionPerformed(java.awt.event.ActionEvent evt)
          Action performed from Popup Menu
 void createNewCollectionObject(java.lang.String collName)
          Create a new objetc for in a coolection.
 void createNewLeaf(java.lang.String colName, java.lang.Object obj)
          Create e new leaf whith an object in collection called colName.
 void createNewLeaf(java.lang.String colName, java.lang.String name)
          Create a new leaf called name in collection called colName.
 void cutSelection()
           
private  void editAttribute(java.util.Vector dataVector, java.util.Vector leafVector, int vIdx)
           
private  void editAttributesCode()
          Start a thread to edit source file.
 void editClassObject()
          Display ClassDialog Object to edit class parameters.
private  void editCmdCode(java.lang.String cmdName)
          Start a thread to edit source file.
private  void editCollection()
          Start the edition of a leaf.
private  void editCommand(java.util.Vector dataVector, java.util.Vector leafVector, int vIdx)
          Start the edition of a leaf of command.
private  void editState(java.util.Vector dataVector, java.util.Vector leafVector, int vIdx)
           
private  void frameMouseClicked(java.awt.event.MouseEvent evt)
          Manage a simple click on right button for popu menu display.
protected  javax.swing.tree.DefaultMutableTreeNode getCollectionNode(java.lang.String s)
          Get the collection named as String s.
private  int getCollectionNum(java.lang.String collecName)
           
protected  java.util.Vector getCollectionVector(java.lang.String s)
          Get the collection named as String s.
protected  java.util.Vector getDataVector(java.lang.String s)
          Get the collection named as String s.
private  int getItemInCollection(java.util.Vector leafVector, java.lang.String s)
          Get the item named s i a Vector of .
 PogoClass getPogoClass()
           
 boolean hasBeenModified()
          check if the PogoClass object has been modified.
private  boolean isCollectionSelected()
           
 boolean isLeafSelected()
           
private  boolean isRootSelected()
           
private  void modifyRootLeaf(java.lang.String name, java.lang.String desc, java.lang.String title)
          Modify the root leaf.
 void moveDownSelection()
           
 void moveUpSelection()
           
 boolean objToBePasted()
           
 void paste()
           
private  void popupMessage(java.lang.String mess)
           
 void removeLeaf(java.util.Vector leafVector, java.util.Vector dataVector, int vIdx)
          Remove a leaf in a collection.
 void removeSelectedLeaf()
           
 void setHomeDir(java.lang.String path)
          Set global param for pogo class creation
 void setLanguage(int lang)
          Set global param for pogo class creation
 void setModified(boolean state)
           
 void setMouseUsageListener(javax.swing.JLabel leftLabel, javax.swing.JLabel rightLabel)
          Add a mouse motion listener to display on labels the mouse usage.
 void setPogoTree(PogoClass pogo)
          Build the JTree coresponding to the PogoClass object.
private  void treeMouseClicked(java.awt.event.MouseEvent evt)
          Manage event on clicked mouse on PogoTree object.
private  void treeMouseExited(java.awt.event.MouseEvent evt)
           
private  void treeMouseMoved(java.awt.event.MouseEvent evt)
           
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, checkIfChildObscuredBySibling, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setCursor, setFocusOwner, setLayout, transferFocus, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

collec

static java.lang.String[] collec
Collection for the first node level after root.

frame

private javax.swing.JFrame frame
JFrame parent used for cration..

tree

private javax.swing.JTree tree
The javax.swing.JTree Object to display project.

treeModel

private javax.swing.tree.DefaultTreeModel treeModel
The model used to manage the JTree object.

cmdNodesVector

private java.util.Vector cmdNodesVector
Vector to store command nodes.

stNodesVector

private java.util.Vector stNodesVector
Vector to store states nodes.

attrNodesVector

private java.util.Vector attrNodesVector
Vector to store attributes nodes.

propNodesVector

private java.util.Vector propNodesVector
Vector to store property nodes.

cmdVector

private java.util.Vector cmdVector
Vector to store command Objects.

stVector

private java.util.Vector stVector
Vector to store states Objects.

attrVector

private java.util.Vector attrVector
Vector to store attributes Objects.

propVector

private java.util.Vector propVector
Vector to store property Objects.

root

private javax.swing.tree.DefaultMutableTreeNode root
Root node.

cmdNode

private javax.swing.tree.DefaultMutableTreeNode cmdNode

attrNode

private javax.swing.tree.DefaultMutableTreeNode attrNode

stNode

private javax.swing.tree.DefaultMutableTreeNode stNode

propNode

private javax.swing.tree.DefaultMutableTreeNode propNode

selectedPath

private javax.swing.tree.TreePath selectedPath
The full path selection.

classDesc

private java.lang.String classDesc
Class description.

projTitle

private java.lang.String projTitle
Project Title.

objCut

private java.lang.Object objCut
Previous object cut or copied.

collecObjCut

private java.lang.String collecObjCut
Parent of previous object cut or copied.

homeDir

private java.lang.String homeDir

language

private int language

modified

private boolean modified
check if the PogoClass object has been modified.

pMenu

private javax.swing.JPopupMenu pMenu
Popup Menu used on right mouse button.

mouseUsage

private javax.swing.JLabel[] mouseUsage
Labels to display mouse usage.
Constructor Detail

PogoTree

public PogoTree(javax.swing.JFrame f)
Constructor for Pogotree Object.
Parameters:
f - Parent JFrame object
Method Detail

setMouseUsageListener

public void setMouseUsageListener(javax.swing.JLabel leftLabel,
                                  javax.swing.JLabel rightLabel)
Add a mouse motion listener to display on labels the mouse usage.
Parameters:
leftLabel - Label to deisplay left button usage.
rigthLabel - Label to deisplay right button usage.

treeMouseExited

private void treeMouseExited(java.awt.event.MouseEvent evt)

getCollectionNum

private int getCollectionNum(java.lang.String collecName)

treeMouseMoved

private void treeMouseMoved(java.awt.event.MouseEvent evt)

popupMessage

private void popupMessage(java.lang.String mess)

getCollectionVector

protected java.util.Vector getCollectionVector(java.lang.String s)
Get the collection named as String s.
Parameters:
s - Name of collection search.
Returns:
Node Vector of the collection found.

getDataVector

protected java.util.Vector getDataVector(java.lang.String s)
Get the collection named as String s.
Parameters:
s - Name of collection search.
Returns:
Data Vector of the collection found.

getCollectionNode

protected javax.swing.tree.DefaultMutableTreeNode getCollectionNode(java.lang.String s)
Get the collection named as String s.
Parameters:
s - Name of collection search.
Returns:
Node of the collection found.

getItemInCollection

private int getItemInCollection(java.util.Vector leafVector,
                                java.lang.String s)
Get the item named s i a Vector of .
Parameters:
leafVector - Vector of nodes.
s - Item's name.
Returns:
Index of item found.

createNewLeaf

public void createNewLeaf(java.lang.String colName,
                          java.lang.String name)
Create a new leaf called name in collection called colName.
Parameters:
colName - Collection name.
name - Item's name.

createNewLeaf

public void createNewLeaf(java.lang.String colName,
                          java.lang.Object obj)
Create e new leaf whith an object in collection called colName.
Parameters:
colName - Collection name.
obj - Object to be put in the leaf.

removeLeaf

public void removeLeaf(java.util.Vector leafVector,
                       java.util.Vector dataVector,
                       int vIdx)
Remove a leaf in a collection.
Parameters:
leafVector - Nodes vector.
dataVector - Objects vector.
vIdx - Index of the leaf in the vectors.

clear

public void clear()
Clear all the tree.

modifyRootLeaf

private void modifyRootLeaf(java.lang.String name,
                            java.lang.String desc,
                            java.lang.String title)
Modify the root leaf.
Parameters:
name - Class name.
desc - Class description.

editClassObject

public void editClassObject()
Display ClassDialog Object to edit class parameters.

changeLeaf

public void changeLeaf(java.util.Vector dataVector,
                       java.util.Vector leafVector,
                       int vIdx,
                       java.lang.Object newData)
Modify the the leaf.
Parameters:
dataVector - Objects vector.
leafVector - Nodes vector.
idx - index of the leaf to be modified.
newData - New object to be put in the leaf.

editCollection

private void editCollection()
Start the edition of a leaf.

editCommand

private void editCommand(java.util.Vector dataVector,
                         java.util.Vector leafVector,
                         int vIdx)
Start the edition of a leaf of command.
Parameters:
dataVector - Objects vector.
leafVector - Nodes vector.
vIdx - Index of the command to be edited.

editAttribute

private void editAttribute(java.util.Vector dataVector,
                           java.util.Vector leafVector,
                           int vIdx)

editState

private void editState(java.util.Vector dataVector,
                       java.util.Vector leafVector,
                       int vIdx)

isLeafSelected

public boolean isLeafSelected()

isCollectionSelected

private boolean isCollectionSelected()

isRootSelected

private boolean isRootSelected()

copySelection

public void copySelection()

cutSelection

public void cutSelection()

objToBePasted

public boolean objToBePasted()

paste

public void paste()

moveUpSelection

public void moveUpSelection()

moveDownSelection

public void moveDownSelection()

removeSelectedLeaf

public void removeSelectedLeaf()

createNewCollectionObject

public void createNewCollectionObject(java.lang.String collName)
Create a new objetc for in a coolection.
Parameters:
collName - Name of the collection where the object must be added.

editCmdCode

private void editCmdCode(java.lang.String cmdName)
Start a thread to edit source file.
Parameters:
cmdName - command's name.

editAttributesCode

private void editAttributesCode()
Start a thread to edit source file.

treeMouseClicked

private void treeMouseClicked(java.awt.event.MouseEvent evt)
Manage event on clicked mouse on PogoTree object.

createActionPerformed

private void createActionPerformed(java.awt.event.ActionEvent evt)
Action performed from Popup Menu

frameMouseClicked

private void frameMouseClicked(java.awt.event.MouseEvent evt)
Manage a simple click on right button for popu menu display.

setPogoTree

public void setPogoTree(PogoClass pogo)
Build the JTree coresponding to the PogoClass object.
Parameters:
pogo - The PogoClass object to display architecture.

getPogoClass

public PogoClass getPogoClass()
Returns:
the object architecture displayed as a PogoClass object.

hasBeenModified

public boolean hasBeenModified()
check if the PogoClass object has been modified.
Returns:
true if at least one of the leaf has been modified.

setModified

public void setModified(boolean state)

setHomeDir

public void setHomeDir(java.lang.String path)
Set global param for pogo class creation

setLanguage

public void setLanguage(int lang)
Set global param for pogo class creation

POGO Java Program