de.guibuilder.framework
Class GuiMember

java.lang.Object
  extended by de.guibuilder.framework.GuiMember
All Implemented Interfaces:
IDatasetMember, MemberAble, MemberPopupAble
Direct Known Subclasses:
GuiContainer, GuiElement

public abstract class GuiMember
extends java.lang.Object
implements MemberPopupAble, IDatasetMember

Eine abstrakte Oberflächenkomponente als Wurzel für alle Komponenten.
Der Zusammenhang dieser Klasse mit GuiElement und GuiContainer bildet ein Kompositum Pattern.

Einige Methoden sind abstact, müssen also jeweils implementiert werden. Andere sind final um sicherzustellen, daß sie nicht überschrieben werden.

Since:
0.9.1
See Also:
GuiElement, GuiContainer

Field Summary
static int GUI_ACTION
           
static int GUI_COMPONENT
           
static int GUI_CONTAINER
           
static int GUI_TABLE
           
static int GUI_TREE
           
static java.lang.String[] GUI_TYPE_NAMES
           
static java.lang.String OID
          Xml-Attribute für oid: "_oid"
 
Method Summary
static void addSetter(java.lang.String attribName, java.lang.reflect.Method m)
          Fügt der Komponente einen Setter hinzu.
 void click(java.awt.event.MouseEvent e)
          Die Komponente wird angeklickt; ist hier leer implementiert und muß bei Bedarf überschrieben werden.
 void d_click(java.awt.event.MouseEvent e)
          Die Komponente wird doppelt angeklickt.
 java.awt.Component getAwtComponent()
           
 java.awt.Color getBackground()
          From swing.JComponent
 java.awt.GridBagConstraints getConstraints()
          Liefert die GridBagConstraints zu diesem Member, oder null, wenn kein GridBagLayout oder wenn kein awt.Component.
 java.lang.Object getControler()
          Deprecated.  
 java.lang.Object getController()
          Liefert den eingerichteten Controller oder der seines Parents.
 java.awt.dnd.DropTarget getDropTarget()
          Deprecated. unused? Liefert das DropTarget falls eines definiert wurde.
 java.lang.String getElementName()
          Liefert den ElementNamen dieser Komponente im JDataSet.
 java.lang.String getElementPath(java.lang.String current)
          Liefert rekursiv den Path zum Element des DataSet
 java.awt.Font getFont()
          From swing.JComponent
 java.awt.Color getForeground()
          From swing.JComponent
 java.lang.String getFullName()
          Deprecated. Liefert den vollständigen Pfad-Namen dieser Komponenten; etwaige übergeordnete Container werden in Punktnotation vorangestellt:

tabBestellung.panelLieferAdresse.strasse
Wenn das Objekt auf dem MainPanel liegt, wird getName() geliefert.

 GuiContainer getGuiParent()
          Liefert den Container zu dieser Komponente oder null, wenn nicht Teil eines Containers.
abstract  int getGuiType()
          Liefert den Typ der Komponente: GUI_ACTION (Button, MenuItem) GUI_COMPONENT (Combo, List, Text, Check, usw) GUI_CONTAINER (Panel, Group, Tab) GUI_TABLE GUI_TREE
static java.lang.String getGuiTypeName(int i)
          Liefert die Bezeichnung dieses Typs.
abstract  javax.swing.JComponent getJComponent()
          Liefert die Swing-Komponente zu diesem Oberflächen-Objekt (Delegation).
 java.lang.String getLabel()
          Üblicherweise der Text des dazugehörigen Labels der Komponente oder null, wenn kein Label vorhanden.
 java.awt.Dimension getMaximumSize()
          From swing.JComponent
 electric.xml.Element getMemberElement()
          Liefert ein Element
 java.awt.Dimension getMinimumSize()
          From swing.JComponent
 java.lang.String getMsgDragEnter()
           
 java.lang.String getMsgDragExit()
           
 java.lang.String getMsgDragOver()
           
 java.lang.String getMsgDrop()
          Liefert das ActionCommand für OnDrop=
 java.lang.String getMsgFileDrop()
           
 java.lang.String getMsgMouseOver()
          Liefert das ActionCommand, was bei MouseOver geliefert wird.
 java.lang.String getMsgPopup()
           
 java.lang.String getName()
          From awt.Component.
 long getOid()
          Liefert die Oid.
 java.lang.String getParentNames()
          Deprecated. Liefert den oder die Namen der übergeordneten Container einer Komponente.

Wenn mehrere Container geschachtelt, denn die Namen in Punkt-Notation: tabBestellung.panelLieferAdresse
Wenn das Objekt direkt auf dem mainPanel liegt, wird null geliefert.

 GuiTab getParentTab()
          Deprecated. Das geht schief, wenn die Registerkarte nur ein Layout-Container ist!

Liefert die Registerkarte, auf der die Komponente liegt oder null, wenn außerhalb eines Tabset.

 GuiPopupMenu getPopupMenu()
          Liefert das PopupMenu zu diesem Member oder null.
 void getPreferences(JDataSet ds)
          Hier leer implementiert
 java.awt.Dimension getPreferredSize()
          From swing.JComponent
 java.lang.String getRef()
           
 GuiRootPane getRootPane()
          Liefert RootPane.
abstract  java.lang.String getTag()
          Liefert den XML-Element-Tag für den Member.
 java.lang.String getToolTipText()
          From swing.JComponent
 java.lang.Object getUserObject()
          Liefert das UserObject
 boolean isRootElement()
          Ein Root-Element hält einen eigenen DataSet.
 boolean isVisible()
          From awt.Component
abstract  void reset()
          Setzt die Komponente in den Default-Zustand; Methode new()
 void setBackground(java.awt.Color c)
          From swing.JComponent
 void setConstraints(java.awt.GridBagConstraints constr)
          Setzt die GridBagConstraints für diesen Member neu; macht nichts, wenn Member kein awt.Component.
 void setControler(java.lang.Object o)
          Deprecated.  
 void setController(java.lang.Object o)
          Auf jeder Ebene kann ein Controller für Benutzerereignisse eingerichet werden.
 void setDrag(boolean b)
          Definiert diese Komponente als DragSource
 void setElementName(java.lang.String s)
          Setzt den ElementNamen dieser Komponente im JDataSet.
 void setFont(java.awt.Font f)
          From swing.JComponent
 void setForeground(java.awt.Color c)
          From swing.JComponent
 void setGuiParent(GuiContainer c)
          Verknüpft ein Member mit einem Container.
 void setLabel(java.lang.String s)
          Üblicherweise der Text des dazugehörigen Labels der Komponente.
 void setMaximumSize(java.awt.Dimension d)
          From swing.JComponent
 void setMinimumSize(java.awt.Dimension d)
          From swing.JComponent
 void setMsgDragEnter(java.lang.String msgDragEnter)
           
 void setMsgDragExit(java.lang.String msgDragExit)
           
 void setMsgDragOver(java.lang.String msgDragOver)
           
 void setMsgDrop(java.lang.String cmd)
          Setzt das ActionCommand, welches beim Drop auf dieses Widget ausgelöste wird.
 void setMsgFileDrop(java.lang.String cmd, java.awt.Container cont)
           
 void setMsgMouseMoved(java.lang.String s)
          Setzt das ActionCommand, was bei MouseMoved geliefert werden soll.
 void setMsgMouseOver(java.lang.String s)
          Setzt das ActionCommand, was bei MouseOver geliefert werden soll.
 void setMsgPopup(java.lang.String msgPopup)
           
 void setName(java.lang.String name)
          Delegiert an awt.Component.
 void setOid(long id)
          Setzt die beliebige Oid.
 void setPopupMenu(GuiPopupMenu m)
          Setzt das PopupMenu der Komponente.
 void setPreferences(JDataSet ds)
          Hier leer implementiert
 void setPreferredSize(java.awt.Dimension d)
          From swing.JComponent
 void setRef(java.lang.String ref)
          Setzt eine beliebige Zeichenfolge für Benutzer-definierte Zwecke; z.B. als Datenbankreferenz.
 void setStateAttributes(java.lang.String state)
           
 void setToolTipText(java.lang.String s)
          From swing.JComponent
 void setUserObject(java.lang.Object obj)
          Jeder Oberflächen-Komponente kann ein beliebiges Object zugewiesen werden.
 void setVisible(boolean b)
          From awt.Component
 void showPopupMenu(int x, int y)
          Zeigt das PopupMenu an.
 void showPopupMenu(int modi, int x, int y)
          Zeigt ein Kontextmenü an Abhängigkeit eines Modifiers; muß jeweils überschrieben werden.
abstract  void verify()
          Liefert "true", wenn alle Eingabeprüfungen (notNull, minLen, maxLen) gut gingen.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GUI_ACTION

public static final int GUI_ACTION
See Also:
GuiAction, getGuiType(), Constant Field Values

GUI_COMPONENT

public static final int GUI_COMPONENT
See Also:
GuiComponent, getGuiType(), Constant Field Values

GUI_CONTAINER

public static final int GUI_CONTAINER
See Also:
GuiContainer, getGuiType(), Constant Field Values

GUI_TABLE

public static final int GUI_TABLE
See Also:
GuiTable, getGuiType(), Constant Field Values

GUI_TREE

public static final int GUI_TREE
See Also:
GuiTree, getGuiType(), Constant Field Values

GUI_TYPE_NAMES

public static final java.lang.String[] GUI_TYPE_NAMES

OID

public static final java.lang.String OID
Xml-Attribute für oid: "_oid"

See Also:
Constant Field Values
Method Detail

getJComponent

public abstract javax.swing.JComponent getJComponent()
Liefert die Swing-Komponente zu diesem Oberflächen-Objekt (Delegation).

Es ist möglich, auf die jeweilige Swing-Klasse (JCombo, JTextField, JPanel, ...) zu casten; die Swing-Methoden können so genutzt werden.

Bei einem HiddenField und OptionGroup wird null geliefert!


getAwtComponent

public final java.awt.Component getAwtComponent()
Specified by:
getAwtComponent in interface MemberAble

setGuiParent

public final void setGuiParent(GuiContainer c)
Verknüpft ein Member mit einem Container.

Ist hier Public wegen Interface OptionAble.

See Also:
GuiContainer.addMember(de.guibuilder.framework.GuiMember), GuiContainer.addAction(de.guibuilder.framework.GuiAction)

getGuiParent

public final GuiContainer getGuiParent()
Liefert den Container zu dieser Komponente oder null, wenn nicht Teil eines Containers.

Bei Layout-Containern wird der Parent-Container geliefert.


getName

public java.lang.String getName()
From awt.Component.

Wird von HiddenField und OptionGroup überschrieben.

Specified by:
getName in interface MemberAble
Returns:

setName

public void setName(java.lang.String name)
Delegiert an awt.Component.

Wenn das Label null ist, wird es auf den Namen gesetzt.
Wird von HiddenField und OptionGroup überschrieben. Außerdem auch von Tab überschrieben (wg. Abhängigkeit zum Tabset)

Specified by:
setName in interface MemberAble

getLabel

public java.lang.String getLabel()
Üblicherweise der Text des dazugehörigen Labels der Komponente oder null, wenn kein Label vorhanden. (Darf nicht final sein, weil es in GuiComponent überschrieben wird.)


setLabel

public void setLabel(java.lang.String s)
Üblicherweise der Text des dazugehörigen Labels der Komponente.
Dieses Attribut ist rein informativ.

Parameters:
s - Der Label-Text

getElementPath

public java.lang.String getElementPath(java.lang.String current)
Liefert rekursiv den Path zum Element des DataSet

Specified by:
getElementPath in interface IDatasetMember

getElementName

public final java.lang.String getElementName()
Liefert den ElementNamen dieser Komponente im JDataSet. Da hieraus Path-Ausdrücke gebildet werden muß dieser Name mit einem ".", "#" oder "@" beginnen.

Specified by:
getElementName in interface IDatasetMember
See Also:
JDataSet

setElementName

public final void setElementName(java.lang.String s)
Setzt den ElementNamen dieser Komponente im JDataSet. Da hieraus Path-Ausdrücke gebildet werden muß dieser Name mit einem ".", "#" oder "@" beginnen. Wenn "*" angegeben wird, wird der Name der Komponente verwendet.

Specified by:
setElementName in interface IDatasetMember
See Also:
JDataSet

isRootElement

public boolean isRootElement()
Ein Root-Element hält einen eigenen DataSet.

Die Eigenschaft wird hier als false festgelegt, und muß ggf. überschrieben werden.

Specified by:
isRootElement in interface IDatasetMember

isVisible

public final boolean isVisible()
From awt.Component


setVisible

public final void setVisible(boolean b)
From awt.Component


getParentTab

public final GuiTab getParentTab()
Deprecated. Das geht schief, wenn die Registerkarte nur ein Layout-Container ist!

Liefert die Registerkarte, auf der die Komponente liegt oder null, wenn außerhalb eines Tabset.


getParentNames

public final java.lang.String getParentNames()
Deprecated. Liefert den oder die Namen der übergeordneten Container einer Komponente.

Wenn mehrere Container geschachtelt, denn die Namen in Punkt-Notation: tabBestellung.panelLieferAdresse
Wenn das Objekt direkt auf dem mainPanel liegt, wird null geliefert.

See Also:
GuiContainer.isParentContainer()

getFullName

public final java.lang.String getFullName()
Deprecated. Liefert den vollständigen Pfad-Namen dieser Komponenten; etwaige übergeordnete Container werden in Punktnotation vorangestellt:

tabBestellung.panelLieferAdresse.strasse
Wenn das Objekt auf dem MainPanel liegt, wird getName() geliefert.

See Also:
getParentNames(), getName()

getGuiType

public abstract int getGuiType()
Liefert den Typ der Komponente:


getGuiTypeName

public static java.lang.String getGuiTypeName(int i)
Liefert die Bezeichnung dieses Typs.


reset

public abstract void reset()
Setzt die Komponente in den Default-Zustand; Methode new()


verify

public abstract void verify()
                     throws java.lang.IllegalStateException
Liefert "true", wenn alle Eingabeprüfungen (notNull, minLen, maxLen) gut gingen.

Throws:
java.lang.IllegalStateException
See Also:
GuiInputVerifier

getRootPane

public GuiRootPane getRootPane()
Liefert RootPane.

Wird von MenuItem und GuiElement überschrieben.


setMsgMouseOver

public final void setMsgMouseOver(java.lang.String s)
Setzt das ActionCommand, was bei MouseOver geliefert werden soll. Dazu wird ein MouseListener eingerichtet (wenn noch nicht vorhanden). Dieses Verhalten wird mit Übergabe von null abgeschaltet.

See Also:
mouseOver(MouseEvent, boolean)

setMsgMouseMoved

public final void setMsgMouseMoved(java.lang.String s)
Setzt das ActionCommand, was bei MouseMoved geliefert werden soll. Dazu wird ein MouseMotion eingerichtet. Dieses Verhalten wird mit Übergabe von null abgeschaltet.

See Also:
mouseMoved(MouseEvent, boolean)

getMsgMouseOver

public final java.lang.String getMsgMouseOver()
Liefert das ActionCommand, was bei MouseOver geliefert wird.


click

public void click(java.awt.event.MouseEvent e)
Die Komponente wird angeklickt; ist hier leer implementiert und muß bei Bedarf überschrieben werden.

See Also:
GuiMouseListener

d_click

public void d_click(java.awt.event.MouseEvent e)
Die Komponente wird doppelt angeklickt. Diese Methode ist hier leer implementiert und muß folglich bei abgeleiteten Klassen überschrieben werden. Ist dieses Objekt eine Tabellenspalte, wird diese Nachricht auch an die Tabelle weitergeleitet.

See Also:
GuiMouseListener, GuiRootPane.obj_DblClick(GuiComponent, String, Object, MouseEvent)

setPopupMenu

public final void setPopupMenu(GuiPopupMenu m)
Setzt das PopupMenu der Komponente. Dazu wird ein MouseListener eingerichtet (wenn noch nicht vorhanden).

Specified by:
setPopupMenu in interface MemberPopupAble
See Also:
GuiMouseListener

getPopupMenu

public final GuiPopupMenu getPopupMenu()
Liefert das PopupMenu zu diesem Member oder null.

Specified by:
getPopupMenu in interface MemberPopupAble
See Also:
GuiMouseListener

showPopupMenu

public final void showPopupMenu(int x,
                                int y)
Zeigt das PopupMenu an.

Specified by:
showPopupMenu in interface MemberPopupAble
See Also:
GuiMouseListener

showPopupMenu

public void showPopupMenu(int modi,
                          int x,
                          int y)
Zeigt ein Kontextmenü an Abhängigkeit eines Modifiers; muß jeweils überschrieben werden.

Parameters:
modi - InputEvent.CTRL_DOWN_MASK usw.
x -
y -

setMinimumSize

public final void setMinimumSize(java.awt.Dimension d)
From swing.JComponent


getMinimumSize

public final java.awt.Dimension getMinimumSize()
From swing.JComponent


setMaximumSize

public final void setMaximumSize(java.awt.Dimension d)
From swing.JComponent


getMaximumSize

public final java.awt.Dimension getMaximumSize()
From swing.JComponent


setPreferredSize

public final void setPreferredSize(java.awt.Dimension d)
From swing.JComponent


getPreferredSize

public final java.awt.Dimension getPreferredSize()
From swing.JComponent


setFont

public final void setFont(java.awt.Font f)
From swing.JComponent


getFont

public final java.awt.Font getFont()
From swing.JComponent


getToolTipText

public final java.lang.String getToolTipText()
From swing.JComponent


setToolTipText

public final void setToolTipText(java.lang.String s)
From swing.JComponent


getBackground

public final java.awt.Color getBackground()
From swing.JComponent


setBackground

public final void setBackground(java.awt.Color c)
From swing.JComponent


getForeground

public final java.awt.Color getForeground()
From swing.JComponent


setForeground

public final void setForeground(java.awt.Color c)
From swing.JComponent

See Also:
GuiFocusListener

setRef

public final void setRef(java.lang.String ref)
Setzt eine beliebige Zeichenfolge für Benutzer-definierte Zwecke; z.B. als Datenbankreferenz.
Siehe Attribut ref=


getRef

public final java.lang.String getRef()
See Also:
setRef(java.lang.String)

setUserObject

public final void setUserObject(java.lang.Object obj)
Jeder Oberflächen-Komponente kann ein beliebiges Object zugewiesen werden. Dieses wird vom Framework selbst nie verwendet.


getUserObject

public final java.lang.Object getUserObject()
Liefert das UserObject


setOid

public final void setOid(long id)
Setzt die beliebige Oid.


getOid

public final long getOid()
Liefert die Oid.
Wenn -1, dann ist keine Oid gesetzt.


getConstraints

public final java.awt.GridBagConstraints getConstraints()
Liefert die GridBagConstraints zu diesem Member, oder null, wenn kein GridBagLayout oder wenn kein awt.Component.


setConstraints

public final void setConstraints(java.awt.GridBagConstraints constr)
Setzt die GridBagConstraints für diesen Member neu; macht nichts, wenn Member kein awt.Component.


getTag

public abstract java.lang.String getTag()
Liefert den XML-Element-Tag für den Member.

Specified by:
getTag in interface MemberAble

getMemberElement

public electric.xml.Element getMemberElement()
Liefert ein Element

Returns:

setControler

public final void setControler(java.lang.Object o)
Deprecated. 

See Also:
setController(Object)

setController

public final void setController(java.lang.Object o)
Auf jeder Ebene kann ein Controller für Benutzerereignisse eingerichet werden.

See Also:
GuiRootPane#invokeMethod(Object, String, GuiUserEvent)

getControler

public final java.lang.Object getControler()
Deprecated. 

Returns:
See Also:
getController()

getController

public final java.lang.Object getController()
Liefert den eingerichteten Controller oder der seines Parents.


getPreferences

public void getPreferences(JDataSet ds)
Hier leer implementiert

Parameters:
ds -

setPreferences

public void setPreferences(JDataSet ds)
Hier leer implementiert

Parameters:
ds -

getMsgPopup

public java.lang.String getMsgPopup()
Specified by:
getMsgPopup in interface MemberPopupAble
Returns:
Returns the msgPopup.

setMsgPopup

public void setMsgPopup(java.lang.String msgPopup)
Specified by:
setMsgPopup in interface MemberPopupAble
Parameters:
msgPopup - The msgPopup to set.

getMsgDrop

public java.lang.String getMsgDrop()
Liefert das ActionCommand für OnDrop=

Returns:

getMsgFileDrop

public java.lang.String getMsgFileDrop()

setMsgDrop

public void setMsgDrop(java.lang.String cmd)
Setzt das ActionCommand, welches beim Drop auf dieses Widget ausgelöste wird. Gleizeitig wird dieses Widget als ein DropTarget eingerichtet.
Siehe das Attribut OnDrop="[ActionCommand]"
Drop funktioniert bei folgenden Komponeneten: Bei Übergabe von null oder Leerstring wird dieses DropTarget wieder entfernt. Mit getDropTarget() kann das hierbei eingerichtete DropTarget manipuliert werden.

Parameters:
cmd - Ein ActionCommand; üblicherweise der Name einer Methode des Controllers.
See Also:
getDropTarget()

setMsgFileDrop

public void setMsgFileDrop(java.lang.String cmd,
                           java.awt.Container cont)

getDropTarget

public java.awt.dnd.DropTarget getDropTarget()
Deprecated. unused? Liefert das DropTarget falls eines definiert wurde.

Returns:
See Also:
setMsgDrop(java.lang.String)

setDrag

public void setDrag(boolean b)
Definiert diese Komponente als DragSource

Parameters:
b -

getMsgDragEnter

public java.lang.String getMsgDragEnter()
Returns:
Returns the msgDragEnter.

setMsgDragEnter

public void setMsgDragEnter(java.lang.String msgDragEnter)
Parameters:
msgDragEnter - The msgDragEnter to set.

getMsgDragExit

public java.lang.String getMsgDragExit()
Returns:
Returns the msgDragExit.

setMsgDragExit

public void setMsgDragExit(java.lang.String msgDragExit)
Parameters:
msgDragExit - The msgDragExit to set.

getMsgDragOver

public java.lang.String getMsgDragOver()
Returns:
Returns the msgDragOver.

setMsgDragOver

public void setMsgDragOver(java.lang.String msgDragOver)
Parameters:
msgDragOver - The msgDragOver to set.

setStateAttributes

public void setStateAttributes(java.lang.String state)

addSetter

public static void addSetter(java.lang.String attribName,
                             java.lang.reflect.Method m)
Fügt der Komponente einen Setter hinzu.

Parameters:
attribName - Name des Attributes aus gdl.dtd
m - ein setter