Class PropertyTreeModel

java.lang.Object
de.bsvrz.sys.funclib.kappich.propertytree.PropertyTreeModel
All Implemented Interfaces:
javax.swing.tree.TreeModel

public class PropertyTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel
Ein TreeModel, welches die Eigenschaften eines Objektes (oder ggf. mehrerer Objekte) anzeigt. Die angezeigten Eigenschaften eines Objekts werden durch die PropertyName- und PropertyClass-Annotations festgelegt.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    class  PropertyTreeModel.ObjectNode  
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.Object MULTIPLE
    Spezielles Objekt, dass den Wert "<Unterschiedlich>" symbolisiert, also bei mehreren gleichzeitig ausgewählten Objekten anzeigt, dass diese sich in der betreffenden Eigenschaft unterscheiden.
  • Constructor Summary

    Constructors
    Constructor Description
    PropertyTreeModel​(java.util.List<?> o)
    Erstellt ein neues PropertyTreeModel.
    PropertyTreeModel​(java.util.List<?> o, boolean showCommonProperties)
    Erstellt ein neues PropertyTreeModel.
  • Method Summary

    Modifier and Type Method Description
    void addTreeModelListener​(javax.swing.event.TreeModelListener l)  
    java.lang.Object getChild​(java.lang.Object parent, int index)  
    int getChildCount​(java.lang.Object parent)  
    int getIndexOfChild​(java.lang.Object parent, java.lang.Object child)  
    java.lang.Object getRoot()  
    boolean isLeaf​(java.lang.Object node)  
    void removeTreeModelListener​(javax.swing.event.TreeModelListener l)  
    void setCollectionIcon​(javax.swing.Icon icon)
    Setzt das Symbol für Collection-Nodes
    void setGroupIcon​(javax.swing.Icon icon)
    Setzt das Symbol für Kategorie-Nodes
    void setMultiIcon​(javax.swing.Icon icon)
    Setzt das Symbol für Gemeinsame-Eigenschaften-Nodes
    void setObjectIcon​(javax.swing.Icon icon)
    Setzt das Symbol für Objekt-Nodes
    void setPropertyIcon​(javax.swing.Icon icon)
    Setzt das Symbol für Eigenschaften-Nodes
    void valueForPathChanged​(javax.swing.tree.TreePath path, java.lang.Object newValue)  

    Methods inherited from class java.lang.Object

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

    • MULTIPLE

      public static final java.lang.Object MULTIPLE
      Spezielles Objekt, dass den Wert "<Unterschiedlich>" symbolisiert, also bei mehreren gleichzeitig ausgewählten Objekten anzeigt, dass diese sich in der betreffenden Eigenschaft unterscheiden.
  • Constructor Details

    • PropertyTreeModel

      public PropertyTreeModel​(java.util.List<?> o)
      Erstellt ein neues PropertyTreeModel. Sollen keine gemeinsamen Eigenschaften mehrerer Objekte angezeigt werden kann in der Regel eine Liste mit einem Element (dem anzuzeigenden Objekt) übergeben werden.
      Parameters:
      o - Liste mit anzuzeigenden Objekten
    • PropertyTreeModel

      public PropertyTreeModel​(java.util.List<?> o, boolean showCommonProperties)
      Erstellt ein neues PropertyTreeModel. Sollen keine gemeinsamen Eigenschaften mehrerer Objekte angezeigt werden kann in der Regel eine Liste mit einem Element (dem anzuzeigenden Objekt) übergeben werden.
      Parameters:
      o - Liste mit anzuzeigenden Objekten
      showCommonProperties - Sollen bei mehreren Objekten die gemeinsamen/Unterschiedlichen Eigenschaften separat angezeigt werden?
  • Method Details

    • getRoot

      public java.lang.Object getRoot()
      Specified by:
      getRoot in interface javax.swing.tree.TreeModel
    • getChild

      public java.lang.Object getChild​(java.lang.Object parent, int index)
      Specified by:
      getChild in interface javax.swing.tree.TreeModel
    • getChildCount

      public int getChildCount​(java.lang.Object parent)
      Specified by:
      getChildCount in interface javax.swing.tree.TreeModel
    • isLeaf

      public boolean isLeaf​(java.lang.Object node)
      Specified by:
      isLeaf in interface javax.swing.tree.TreeModel
    • valueForPathChanged

      public void valueForPathChanged​(javax.swing.tree.TreePath path, java.lang.Object newValue)
      Specified by:
      valueForPathChanged in interface javax.swing.tree.TreeModel
    • getIndexOfChild

      public int getIndexOfChild​(java.lang.Object parent, java.lang.Object child)
      Specified by:
      getIndexOfChild in interface javax.swing.tree.TreeModel
    • addTreeModelListener

      public void addTreeModelListener​(javax.swing.event.TreeModelListener l)
      Specified by:
      addTreeModelListener in interface javax.swing.tree.TreeModel
    • removeTreeModelListener

      public void removeTreeModelListener​(javax.swing.event.TreeModelListener l)
      Specified by:
      removeTreeModelListener in interface javax.swing.tree.TreeModel
    • setMultiIcon

      public void setMultiIcon​(javax.swing.Icon icon)
      Setzt das Symbol für Gemeinsame-Eigenschaften-Nodes
      Parameters:
      icon -
    • setCollectionIcon

      public void setCollectionIcon​(javax.swing.Icon icon)
      Setzt das Symbol für Collection-Nodes
      Parameters:
      icon -
    • setPropertyIcon

      public void setPropertyIcon​(javax.swing.Icon icon)
      Setzt das Symbol für Eigenschaften-Nodes
      Parameters:
      icon -
    • setObjectIcon

      public void setObjectIcon​(javax.swing.Icon icon)
      Setzt das Symbol für Objekt-Nodes
      Parameters:
      icon -
    • setGroupIcon

      public void setGroupIcon​(javax.swing.Icon icon)
      Setzt das Symbol für Kategorie-Nodes
      Parameters:
      icon -