Class TablePart

    • Constructor Detail

      • TablePart

        public TablePart​(Action action)
        Erzeugt eine neue leere Standard-Tabelle auf dem uebergebenen Composite.
        Parameters:
        action - die beim Doppelklick auf ein Element ausgefuehrt wird.
      • TablePart

        public TablePart​(de.willuhn.datasource.GenericIterator list,
                         Action action)
        Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.
        Parameters:
        list - Liste mit Objekten, die angezeigt werden soll.
        action - die beim Doppelklick auf ein Element ausgefuehrt wird.
      • TablePart

        public TablePart​(java.util.List list,
                         Action action)
        Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.
        Parameters:
        list - Liste mit Objekten, die angezeigt werden soll.
        action - die beim Doppelklick auf ein Element ausgefuehrt wird.
    • Method Detail

      • setFormatter

        public void setFormatter​(TableFormatter formatter)
        Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.
        Parameters:
        formatter - Formatter.
      • addChangeListener

        public void addChangeListener​(TableChangeListener l)
        fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein Feld aenderbar ist und vom Benutzer geaendert wurde.
        Parameters:
        l - der Listener.
      • setSummary

        @Deprecated
        public void setSummary​(boolean show)
        Deprecated.
        Bitte stattdessen AbstractTablePart.addFeature(Feature) verwenden.
        Legt fest, ob eine Summenzeile am Ende angezeigt werden soll.
        Parameters:
        show - true, wenn die Summenzeile angezeigt werden soll (Default) oder false wenn sie nicht angezeigt werden soll.
      • getItems

        public java.util.List getItems()
                                throws java.rmi.RemoteException
        Description copied from class: AbstractTablePart
        Liefert die Fach-Objekte der Tabelle.
        Specified by:
        getItems in class AbstractTablePart
        Returns:
        Liste der Fachobjekte.
        Throws:
        java.rmi.RemoteException
      • getItems

        public java.util.List getItems​(boolean onlyChecked)
                                throws java.rmi.RemoteException
        Liefert die Fach-Objekte der Tabelle.
        Parameters:
        onlyChecked - true, falls bei Aktivierung des Features setCheckable(true) nur genau die Objekte geliefert werden sollen, bei denen das Haekchen gesetzt ist. Die Objekte werden genau in der angezeigten Reihenfolge zurueckgeliefert.
        Returns:
        die Liste der Objekte.
        Throws:
        java.rmi.RemoteException
      • setTopIndex

        public void setTopIndex​(int i)
        Legt fest, bis zu welchem Element gescrollt werden soll.
        Parameters:
        i - Index des Elementes, welches nach dem Scrollen als erstes angezeigt werden soll.
      • removeItem

        public int removeItem​(java.lang.Object item)
        Entfernt das genannte Element aus der Tabelle.

        Wurde die Tabelle mit einer Liste von Objekten erzeugt, die von DBObject abgeleitet sind, muss das Loeschen nicht manuell vorgenommen werden. Die Tabelle fuegt in diesem Fall automatisch jedem Objekt einen Listener hinzu, der beim Loeschen des Objektes benachrichtigt wird. Die Tabelle entfernt das Element dann selbstaendig.

        Parameters:
        item - zu entfernendes Element.
        Returns:
        die Position des entfernten Objektes oder -1 wenn es nicht gefunden wurde.
      • addItem

        public void addItem​(java.lang.Object object)
                     throws java.rmi.RemoteException
        Fuegt der Tabelle am Ende ein Element hinzu.
        Parameters:
        object - hinzuzufuegendes Element.
        Throws:
        java.rmi.RemoteException
      • addItem

        public void addItem​(java.lang.Object object,
                            boolean checked)
                     throws java.rmi.RemoteException
        Fuegt der Tabelle am Ende ein Element hinzu.
        Parameters:
        object - hinzuzufuegendes Element.
        checked - true, wenn die Tabelle checkable ist und das Objekt gecheckt sein soll.
        Throws:
        java.rmi.RemoteException
      • addItem

        public void addItem​(java.lang.Object object,
                            int index)
                     throws java.rmi.RemoteException
        Fuegt der Tabelle ein Element hinzu.
        Parameters:
        object - hinzuzufuegendes Element.
        index - Position, an der es eingefuegt werden soll.
        Throws:
        java.rmi.RemoteException
      • updateItem

        public void updateItem​(java.lang.Object oldVersion,
                               java.lang.Object newVersion)
                        throws java.rmi.RemoteException
        Aktualisiert ein einzelnes Objekt in der Tabelle.
        Parameters:
        oldVersion - das alte Objekt.
        newVersion - das neue Objekt, welches den Platz des vorherigen einnehmen soll.
        Throws:
        java.rmi.RemoteException
      • addItem

        public void addItem​(java.lang.Object object,
                            int index,
                            boolean checked)
                     throws java.rmi.RemoteException
        Fuegt der Tabelle ein Element hinzu.
        Parameters:
        object - hinzuzufuegendes Element.
        index - Position, an der es eingefuegt werden soll.
        checked - true, wenn die Tabelle checkable ist und das Objekt gecheckt sein soll.
        Throws:
        java.rmi.RemoteException
      • size

        public int size()
        Description copied from class: AbstractTablePart
        Liefert die Anzahl der Elemente in dieser Tabelle.
        Specified by:
        size in class AbstractTablePart
        Returns:
        Anzahl der Elemente.
      • paint

        public void paint​(org.eclipse.swt.widgets.Composite parent)
                   throws java.rmi.RemoteException
        Description copied from interface: Part
        Malt die Komponente in das angegebene Composite.
        Parameters:
        parent - das Composite.
        Throws:
        java.rmi.RemoteException
      • select

        public void select​(java.lang.Object[] objects)
        Description copied from class: AbstractTablePart
        Markiert die Liste der uebergebenen Objekte.
        Specified by:
        select in class AbstractTablePart
        Parameters:
        objects - Liste der zu markierenden Objekte.
      • setChecked

        public void setChecked​(java.lang.Object[] objects,
                               boolean checked)
        Description copied from class: AbstractTablePart
        Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.

        Hinweis: Dies hier ist eine leere Dummy-Implementierung. Sie muss von abgeleiteten Klassen ueberschrieben werden.

        Overrides:
        setChecked in class AbstractTablePart
        Parameters:
        objects - Liste der zu checkenden Objekte.
        checked - true, wenn das Haekchen gesetzt werden soll.
      • getSelection

        public java.lang.Object getSelection()
        Description copied from class: AbstractTablePart
        Liefert die markierten Objekte. Die Funktion liefert je nach Markierung Object oder Object[].
        Specified by:
        getSelection in class AbstractTablePart
        Returns:
        das/die markierten Objekte.
      • getSummary

        @Deprecated
        protected java.lang.String getSummary()
        Deprecated.
        Bitte kuenftig stattdessen AbstractTablePart.createFeatureEventContext(de.willuhn.jameica.gui.parts.table.Feature.Event, Object) ueberschreiben und dort die addon-Daten passend fuer FeatureSummary belegen:
        
         protected Context createFeatureEventContext(Feature.Event e, Object data)
         {
           Context ctx = super.createFeatureEventContext(e, data);
           if (this.hasEvent(FeatureSummary.class,e))
             ctx.addon.put(FeatureSummary.CTX_KEY_TEXT,"Anzuzeigender Summentext");
           return ctx;
         }
         
        Liefert den anzuzeigenden Summen-Text. Kann von abgeleiteten Klassen ueberschrieben werde, um etwas anderes anzuzeigen.
        Returns:
        anzuzeigender Text oder null, wenn nichts angezeigt werden soll.
      • orderBy

        protected void orderBy​(java.lang.String colName)
        Gibt an, nach welcher Spalte sortiert werden soll.
        Parameters:
        colName - Name der Spalte
      • sort

        public void sort()
        Sortiert die Datensaetze in der Tabelle anhand der aktuellen Spalte neu.
      • restoreState

        public void restoreState()
        Description copied from class: AbstractTablePart
        Stellt den Zustand wieder her (markierte Objekte und Scroll-Position). Geschieht jedoch nur, wenn das Feature mit setRememberState(true) aktiviert wurde. Das ist eine Dummy-Implementierung, die in den abgeleiteten Klassen ueberschrieben werden kann.
        Overrides:
        restoreState in class AbstractTablePart
      • setEnabled

        public void setEnabled​(boolean enabled)
        Aktiviert oder deaktiviert die Tabelle.
        Parameters:
        enabled - true, wenn sie aktiv sein soll.
      • isEnabled

        public boolean isEnabled()
        Prueft, ob die Tabelle aktiv ist.
        Returns:
        true, wenn sie aktiv ist.
      • getCollator

        protected java.text.Collator getCollator()
        Liefert den Collator fuer die Sortierung.
        Returns:
        der Collator fuer die Sortierung.
      • orderBy

        protected void orderBy​(int index)
        Sortiert die Tabelle nach der angegebenen Spaltennummer.
        Parameters:
        index - Spaltennummer.
      • getEditorControl

        protected org.eclipse.swt.widgets.Control getEditorControl​(int row,
                                                                   org.eclipse.swt.widgets.TableItem item,
                                                                   java.lang.String oldValue)
        Liefert das Editor-Control.
        Parameters:
        row - die Spalte.
        item - das Tabellen-Element.
        oldValue - der bisherige Wert.
        Returns:
        der Editor oder null, wenn das Bearbeiten nicht erlaubt werden soll.
      • getControlValue

        protected java.lang.String getControlValue​(org.eclipse.swt.widgets.Control control)
        Liefert den eingegebenen Wert im Editor.
        Parameters:
        control - das Control des Editors.
        Returns:
        der eingegebene Wert.
      • createFeatureEventContext

        protected Feature.Context createFeatureEventContext​(Feature.Event e,
                                                            java.lang.Object data)
        Description copied from class: AbstractTablePart
        Erzeugt den Context fuer das Feature-Event. Kann von abgeleiteten Klassen ueberschrieben werden, um weitere Informationen zum Context hinzuzufuegen.
        Overrides:
        createFeatureEventContext in class AbstractTablePart
        Parameters:
        e - das Event.
        data - optionale Angabe des Objektes, auf das sich das Event bezieht.
        Returns:
        der Feature-Context.