de.guibuilder.framework
Class GuiWindow

java.lang.Object
  extended by de.guibuilder.framework.GuiWindow
All Implemented Interfaces:
MemberAble, java.awt.print.Printable
Direct Known Subclasses:
GuiApplet, GuiDialog, GuiForm, GuiInternalFrame

public abstract class GuiWindow
extends java.lang.Object
implements MemberAble, java.awt.print.Printable

Diese abstakte Klasse ist für Top Level Fenster; also GuiForm, GuiDialog, GuiApplet, GuiInternalFrame.

Weitere Methoden stehen über den Zugriff auf GuiRootPane und dessen HauptPanel zur Verfügung.

Ein Fenster verfügt immer über ein solches RootPane-Objekt und RootPane hat immer ein HauptPanel.
Der folgende Code funktioniert daher zuverlässig:
myForm.getRootPane().getMainPanel() $Id$ $Log$ Revision 1.52 2010/04/15 11:29:38 pkoeker *** empty log message *** Revision 1.51 2010/03/28 08:02:32 pkoeker Kommentar Revision 1.50 2010/01/13 19:22:38 pkoeker Calendar auch mit Dialog Revision 1.49 2008/10/18 12:31:23 pkoeker Logger Revision 1.48 2007/12/02 11:20:58 pkoeker showHelp() ist neu Revision 1.47 2007/10/28 11:08:38 pkoeker Kommentar

See Also:
getRootPane(), GuiRootPane.getMainPanel()

Field Summary
static int APPLET
           
static int DIALOG
           
static int DISPOSE
           
static java.lang.String DUMMY_TITLE
          Default-Titel, der in der GuiFactory gesetzt wird.
static int FORM
           
static int HIDE
           
static int INTERNAL
           
static int NOTHING
           
static int RESTORE_LOCATION
           
static int RESTORE_NOTHING
           
static int RESTORE_SIZE
           
static int RESTORE_SIZE_LOCATION
           
static int STATE_EMPTY
           
static int STATE_NEW
           
static int STATE_OLD
           
static int STATE_SAVED
           
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
GuiWindow(java.lang.String title)
          Erzeugt ein Fenster mit einem Titel; der Titel wird gleichzeitig als Name verwendet.
 
Method Summary
 void commitChanges()
          Teilt allen Datenbankkomponenten des Fensters und ggf. dem DataSet mit, dass die Änderungen der Maske korrekt bearbeitet wurden.
 void cursorDefault()
          Sanduhr ausschalten.
 void cursorWait()
          Sanduhr einschalten.
abstract  void dispose()
          Vernichtet das Fenster und entfernt alle abhängigen Objekte; das hilft dem gc.
 void doAction(java.lang.String _name)
          Führt die Aktion mit dem angegebenen Namen aus.
 GuiAction getAction(java.lang.String _name)
           
 int getActionState()
           
 electric.xml.Document getAllValuesXml()
           
abstract  java.awt.Container getComponent()
          Liefert die Swing-Komponente zu diesem Oberflächen-Objekt.
 java.lang.Object getControler()
          Deprecated.  
 java.lang.Object getController()
           
 electric.xml.Document getCreatedBy()
          Liefert das XML-Document aus dem die Facrory dieses Fenster erzeugt hat oder null, wenn das Fenster ohne die Factory erzeugt wurde.
 JDataSet getDataset()
           
 JDataSet getDatasetValues()
           
 java.lang.String getDefaultTitle()
          Wird von der Factory versorgt für zusammengesetzte Fenstertitel; enthält also den Text aus der GuiSpezifikation.
abstract  java.awt.Component getGlassPane()
          JDialog / JFrame
 GuiComponent getGuiComponent(java.lang.String _name)
           
 GuiComponent getGuiComponentFromComponents(java.lang.String _name)
           
 GuiContainer getGuiContainer(java.lang.String _name)
           
 GuiMember getGuiMember(java.lang.String _name)
           
 GuiMenuBar getGuiMenuBar()
           
abstract  int getGuiType()
          Liefert den Typ des Fensters je nach Unterklasse: FORM, DIALOG, APPLET oder INTERNAL
abstract  java.awt.Image getIconImage()
          Liefert den Icon in der linken oberen Ecke des Fensters; nur bei Form
abstract  javax.swing.JLayeredPane getLayeredPane()
          JDialog / JFrame
 GuiPanel getMainPanel()
           
 electric.xml.Document getMemberDocument()
          Liefert ein XML-Document mit allen enthaltenen GuiMembers.
 java.lang.String getMsgActive()
           
 java.lang.String getMsgClose()
           
 java.lang.String getMsgOpen()
           
 java.lang.String getName()
          Delegation an jeweilige Component
 int getObjectSize()
          Deprecated.  
 GuiOutlookBar getOutlookBar()
          Liefert den OutlookBar oder null, wenn keiner vorhanden.
 JDataSet getPreferences()
           
 int getRestoreWindow()
           
 java.lang.String getRootElementName()
          Liefert das Attribut "root-element=" für DataSet
abstract  GuiRootPane getRootPane()
          Liefert GuiRootPane.
abstract  java.lang.String getTag()
          Liefert den XML-Element-Tag der Komponente ("Form", "Text", "Panel", ...).
abstract  java.lang.String getTitle()
          Liefert den Fenstertitel; gilt nicht für Applet.
 java.lang.Object getUserObject()
           
 java.lang.Object getValue(java.lang.String _name)
          Es kann über den Namen einer Komponente (siehe Attribut name=) ihr Wert ausgelesen werden.
abstract  java.awt.Window getWindow()
           
 java.lang.String getWindowId()
          Liefert die Window-Id des Fensters
abstract  void hide()
          "Versteckt" das Fenster; es kann anschließend mit "show()" wieder in alter Schönheit angezeigt werden.
 boolean isAutoSize()
           
 boolean isDummyDialog()
          Liefert das Kennzeichen, ob das Fenster ein Dummy-Dialog ist, d.h. von der GuiFactory erzeugt wurde ohne dass in der Spezifikation ein Form der Dialog-Tag enthalten ist.
abstract  boolean isModal()
          Gilt nur für GuiDialog
 boolean isSystemForm()
          Liefert das Kennzeichen, ob das Formular ein Systemfenster ist.
abstract  void pack()
           
 int print(java.awt.Graphics graphics, java.awt.print.PageFormat pageFormat, int pageIndex)
           
 void replaceRootPane(java.lang.String filename)
          Deprecated.  
 void reset()
          Inhalt aller Felder zurücksetzen; siehe eingebaute Methode new()
 void restoreSizeLocation()
          Stellt die Position und/oder die Größe des Fensters seit dem letzten schließen wieder her.
 void saveSizeLocation()
          Speichert die Größe und/oder Position des Fensters im Home-Verzeichnis des Benutzers: ~/.guibuilder/[FensterName].properties
 void setActionState(int state)
          Setzt den Anzeige-Status STATE_EMPTY | NEW | OLD | SAVED.
 void setAllValuesXml(electric.xml.Document doc)
           
 void setAllValuesXml(electric.xml.Element node)
           
 void setAutoSize(boolean autoSize)
          Wenn true, wird die Größe des Fensters automatisch ermittelt: pack()
 void setControler(java.lang.Object o)
          Deprecated.  
 void setController(java.lang.Object c)
          Controller für Reflection setzen.
 void setController(java.lang.String s)
          Controller setzen;
 void setDatasetValues(JDataSet ds)
           
 void setDefaultCloseOperation(int type)
          Es kann definiert werden, was passiert, wenn der Benutzer die ControlBox des Fensters betätigt: DISPOSE, HIDE, NOTHING.
 void setDefaultTitle(java.lang.String s)
           
 void setDummyDialog(boolean b)
          Kennzeichnet ein Fenster als Dummy-Dialog.
abstract  void setGlassPane(java.awt.Component c)
           
abstract  void setIconImage(java.awt.Image icon)
          Setzt den Icon in der linken oberen Ecke des Fensters; nur bei Form
 void setLocation(java.lang.String s_x, java.lang.String s_y)
          Form awt.Component
abstract  void setModal(boolean b)
          Gilt nur für GuiDialog
 void setMsgActive(java.lang.String s)
           
 void setMsgClose(java.lang.String s)
           
 void setMsgOpen(java.lang.String s)
           
 void setName(java.lang.String name)
          Delegation an jeweilige Component
 void setPreferences(JDataSet ds)
           
 void setRestoreWindow(int restore)
           
 void setRestoreWindow(java.lang.String restore)
          Legt fest, ob die Größe und/oder Positions des Fensters persistent abgelegt wird.
 void setRootElementName(java.lang.String s)
          Setzt das "root-element=" Attribut dieses Fensters für den DataSet
abstract  void setRootPane(GuiRootPane root)
          Schiebt dem Fenster ein anderes RootPane unter.
 void setSize(java.lang.String s_width, java.lang.String s_height)
          From awt.Component
 void setStateAttributes(java.lang.String state)
           
 void setSystemForm(boolean b)
          Kennzeichnet das Formmular als ein Systemfenster.
abstract  void setTitle(java.lang.String title)
          Setzt den Fenstertitel; gilt nicht für Applet.
 void setUserObject(java.lang.Object userObject)
          Dem Fenster kann ein beliebiges Objekt zugewiesen werden, welches von diesem Farmework niemals manipuliert wird.
 void setValue(java.lang.String name, java.lang.Object value)
          Es kann über den Namen einer Komponente (siehe Attribut name=) ihr Wert gesetzt werden.
abstract  void setVisible(boolean b)
           
 void setWindowId(java.lang.String id)
          Setzt die Window-Id des Fensters
 void show()
          Zeigt das Fenster an, wenn Form oder Dialog.
 void showHelp()
          Öffnet den Online-Help-Dialog.
 void verify()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.guibuilder.framework.MemberAble
getAwtComponent
 

Field Detail

FORM

public static final int FORM
See Also:
Constant Field Values

DIALOG

public static final int DIALOG
See Also:
Constant Field Values

APPLET

public static final int APPLET
See Also:
Constant Field Values

INTERNAL

public static final int INTERNAL
See Also:
Constant Field Values

NOTHING

public static final int NOTHING
See Also:
Constant Field Values

DISPOSE

public static final int DISPOSE
See Also:
Constant Field Values

HIDE

public static final int HIDE
See Also:
Constant Field Values

RESTORE_NOTHING

public static final int RESTORE_NOTHING
See Also:
Constant Field Values

RESTORE_SIZE

public static final int RESTORE_SIZE
See Also:
Constant Field Values

RESTORE_LOCATION

public static final int RESTORE_LOCATION
See Also:
Constant Field Values

RESTORE_SIZE_LOCATION

public static final int RESTORE_SIZE_LOCATION
See Also:
Constant Field Values

STATE_EMPTY

public static final int STATE_EMPTY
See Also:
Constant Field Values

STATE_NEW

public static final int STATE_NEW
See Also:
Constant Field Values

STATE_OLD

public static final int STATE_OLD
See Also:
Constant Field Values

STATE_SAVED

public static final int STATE_SAVED
See Also:
Constant Field Values

DUMMY_TITLE

public static final java.lang.String DUMMY_TITLE
Default-Titel, der in der GuiFactory gesetzt wird. Ein DummyDialog wird immer dann erzeugt, wenn in der Spezifikation kein Form oder Dialog-Tag enthalten ist. (Das ist z.B. immer dann der Fall, wenn ein wiederverwendetes Panels per Use in andere Dialoge/Form eingebunden werden soll.)

See Also:
Constant Field Values
Constructor Detail

GuiWindow

public GuiWindow(java.lang.String title)
Erzeugt ein Fenster mit einem Titel; der Titel wird gleichzeitig als Name verwendet.

Method Detail

setName

public final void setName(java.lang.String name)
Delegation an jeweilige Component

Specified by:
setName in interface MemberAble

getName

public final java.lang.String getName()
Delegation an jeweilige Component

Specified by:
getName in interface MemberAble
Returns:

getTag

public abstract java.lang.String getTag()
Description copied from interface: MemberAble
Liefert den XML-Element-Tag der Komponente ("Form", "Text", "Panel", ...).

Specified by:
getTag in interface MemberAble

setRootElementName

public void setRootElementName(java.lang.String s)
Setzt das "root-element=" Attribut dieses Fensters für den DataSet

Parameters:
s -

getRootElementName

public java.lang.String getRootElementName()
Liefert das Attribut "root-element=" für DataSet

Returns:

getDataset

public JDataSet getDataset()

setDatasetValues

public void setDatasetValues(JDataSet ds)

getDatasetValues

public JDataSet getDatasetValues()

commitChanges

public void commitChanges()
Teilt allen Datenbankkomponenten des Fensters und ggf. dem DataSet mit, dass die Änderungen der Maske korrekt bearbeitet wurden.


show

public final void show()
Zeigt das Fenster an, wenn Form oder Dialog.

Setzt in der Session das CurrentWindow

See Also:
GuiSession.setCurrentWindow(de.guibuilder.framework.GuiWindow)

showHelp

public void showHelp()
Öffnet den Online-Help-Dialog.

Voraussetzung:


getComponent

public abstract java.awt.Container getComponent()
Liefert die Swing-Komponente zu diesem Oberflächen-Objekt.
Delegation; es ist möglich, auf die jeweilige swing-Klasse (JApplet, JDialog, JFrame, ...) zu casten; die Swing-Methoden können so genutzt werden.

Returns:
awt.Container als kleinstes gemeinsames Vielfaches

getWindow

public abstract java.awt.Window getWindow()

isModal

public abstract boolean isModal()
Gilt nur für GuiDialog

See Also:
GuiDialog

setModal

public abstract void setModal(boolean b)
Gilt nur für GuiDialog

See Also:
GuiDialog

getGuiType

public abstract int getGuiType()
Liefert den Typ des Fensters je nach Unterklasse: FORM, DIALOG, APPLET oder INTERNAL


getTitle

public abstract java.lang.String getTitle()
Liefert den Fenstertitel; gilt nicht für Applet.


setTitle

public abstract void setTitle(java.lang.String title)
Setzt den Fenstertitel; gilt nicht für Applet.


getIconImage

public abstract java.awt.Image getIconImage()
Liefert den Icon in der linken oberen Ecke des Fensters; nur bei Form


setIconImage

public abstract void setIconImage(java.awt.Image icon)
Setzt den Icon in der linken oberen Ecke des Fensters; nur bei Form


dispose

public abstract void dispose()
Vernichtet das Fenster und entfernt alle abhängigen Objekte; das hilft dem gc.

Achtung!
Im Anschluß an diese Methodenaufruf dürfen keine weiteren Manipulation an diesem Objekt mehr vorgenommen werden; vielmehr ist die Objektreferenz auf null zu setzen.


hide

public abstract void hide()
"Versteckt" das Fenster; es kann anschließend mit "show()" wieder in alter Schönheit angezeigt werden.


setVisible

public abstract void setVisible(boolean b)

setDefaultCloseOperation

public final void setDefaultCloseOperation(int type)
Es kann definiert werden, was passiert, wenn der Benutzer die ControlBox des Fensters betätigt: DISPOSE, HIDE, NOTHING.

Geht naturgemäß nicht bei einem Applet.


replaceRootPane

public final void replaceRootPane(java.lang.String filename)
Deprecated. 

Diese Methode ersetzt den vorhandenen Inhalt eines Fensters komplett durch eine neue Spezifikation aus dem übergebenen Filenamen.
Dabei wird auch das Menü und die Toolbar übernommen. Siehe die Standard-Methode replace([filename]).

PENDING Diese Methode hat ein Memory leak!


setRootPane

public abstract void setRootPane(GuiRootPane root)
Schiebt dem Fenster ein anderes RootPane unter.


getRootPane

public abstract GuiRootPane getRootPane()
Liefert GuiRootPane.

Wenn der Rückgabewert hier null sein sollte, liegt ein schwerer interner Fehler vor; entweder trat bereits ein Fehler bei der Initialisierung des Fensters auf, oder es wurde zuvor dispose() aufgerufen.


isSystemForm

public boolean isSystemForm()
Liefert das Kennzeichen, ob das Formular ein Systemfenster ist.
Nur bei FORM kann true geliefert werden.


setSystemForm

public final void setSystemForm(boolean b)
Kennzeichnet das Formmular als ein Systemfenster. Beim Betätigen der Controlbox wird die Anwendung beendet (System.exit).
Funktioniert nur bei FORM.


isDummyDialog

public boolean isDummyDialog()
Liefert das Kennzeichen, ob das Fenster ein Dummy-Dialog ist, d.h. von der GuiFactory erzeugt wurde ohne dass in der Spezifikation ein Form der Dialog-Tag enthalten ist.

Returns:
Kennzeichen, ob es sich um einen DummyDialog handelt
See Also:
GuiFactory#createDummyForm(), dummyDialog, setDummyDialog(boolean)

setDummyDialog

public final void setDummyDialog(boolean b)
Kennzeichnet ein Fenster als Dummy-Dialog. DummyDialog wird benutzt, wenn in der Spezifikation kein Form- oder Dialog-Tag enthalten ist.

Parameters:
b - Wert für Kennzeichen, ob Dummy Dialog oder nicht
See Also:
GuiFactory#createDummyForm(), dummyDialog

getDefaultTitle

public final java.lang.String getDefaultTitle()
Wird von der Factory versorgt für zusammengesetzte Fenstertitel; enthält also den Text aus der GuiSpezifikation.


setDefaultTitle

public final void setDefaultTitle(java.lang.String s)

setMsgOpen

public final void setMsgOpen(java.lang.String s)

getMsgOpen

public final java.lang.String getMsgOpen()

setMsgClose

public final void setMsgClose(java.lang.String s)

getMsgClose

public final java.lang.String getMsgClose()

setMsgActive

public final void setMsgActive(java.lang.String s)

getMsgActive

public final java.lang.String getMsgActive()

getGuiMenuBar

public final GuiMenuBar getGuiMenuBar()
See Also:
JRootPane.getMenuBar()

getMainPanel

public final GuiPanel getMainPanel()
See Also:
GuiRootPane.getMainPanel()

getOutlookBar

public GuiOutlookBar getOutlookBar()
Liefert den OutlookBar oder null, wenn keiner vorhanden.

Returns:

getAction

public final GuiAction getAction(java.lang.String _name)
See Also:
GuiContainer.getAction(java.lang.String)

doAction

public final void doAction(java.lang.String _name)
Führt die Aktion mit dem angegebenen Namen aus. So, als währe das Menü betätigt oder der Button gedrückt worden.

Parameters:
name -
See Also:
GuiContainer.doAction(java.lang.String)

getGuiMember

public final GuiMember getGuiMember(java.lang.String _name)
See Also:
GuiContainer.getMember(java.lang.String)

getGuiComponent

public final GuiComponent getGuiComponent(java.lang.String _name)
See Also:
GuiContainer.getGuiComponent(java.lang.String)

getGuiContainer

public final GuiContainer getGuiContainer(java.lang.String _name)

getGuiComponentFromComponents

public final GuiComponent getGuiComponentFromComponents(java.lang.String _name)

getMemberDocument

public final electric.xml.Document getMemberDocument()
Liefert ein XML-Document mit allen enthaltenen GuiMembers.

Returns:
See Also:
GuiRootPane.getMemberDocument()

getValue

public final java.lang.Object getValue(java.lang.String _name)
Es kann über den Namen einer Komponente (siehe Attribut name=) ihr Wert ausgelesen werden.

See Also:
GuiContainer.getValue(java.lang.String)

setValue

public final void setValue(java.lang.String name,
                           java.lang.Object value)
Es kann über den Namen einer Komponente (siehe Attribut name=) ihr Wert gesetzt werden.

See Also:
GuiContainer.setValue(java.lang.String, java.lang.Object)

getAllValuesXml

public final electric.xml.Document getAllValuesXml()

setAllValuesXml

public final void setAllValuesXml(electric.xml.Document doc)

setAllValuesXml

public final void setAllValuesXml(electric.xml.Element node)

reset

public final void reset()
Inhalt aller Felder zurücksetzen; siehe eingebaute Methode new()


verify

public final void verify()
                  throws java.lang.IllegalStateException
Throws:
java.lang.IllegalStateException
See Also:
GuiContainer.verify()

cursorWait

public void cursorWait()
Sanduhr einschalten.


cursorDefault

public void cursorDefault()
Sanduhr ausschalten.


getWindowId

public final java.lang.String getWindowId()
Liefert die Window-Id des Fensters


setWindowId

public final void setWindowId(java.lang.String id)
Setzt die Window-Id des Fensters


pack

public abstract void pack()

setControler

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

Parameters:
o -
See Also:
setController(Object)

setController

public final void setController(java.lang.Object c)
Controller für Reflection setzen.


setController

public final void setController(java.lang.String s)
Controller setzen;

Parameters:
s - Ein String, der einen Klassennamen (muß im Classpath enthalten sein) oder eine Script-File (*.pnut, *.bsh oder *.groovy).

getControler

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

Returns:
See Also:
getController()

getController

public final java.lang.Object getController()

getUserObject

public java.lang.Object getUserObject()
Returns:
Returns the userObject.

setUserObject

public void setUserObject(java.lang.Object userObject)
Dem Fenster kann ein beliebiges Objekt zugewiesen werden, welches von diesem Farmework niemals manipuliert wird.

Parameters:
userObject - The userObject to set.

getObjectSize

public final int getObjectSize()
Deprecated. 

Liefert die Größe des Objektes


isAutoSize

public boolean isAutoSize()
Returns:
Returns the autoSize Property.

setAutoSize

public void setAutoSize(boolean autoSize)
Wenn true, wird die Größe des Fensters automatisch ermittelt: pack()

Parameters:
autoSize -

setRestoreWindow

public void setRestoreWindow(java.lang.String restore)
Legt fest, ob die Größe und/oder Positions des Fensters persistent abgelegt wird.

Erlaubte Werte sind SIZE, LOCATION, SIZE_LOCATION

Parameters:
restore -

setRestoreWindow

public void setRestoreWindow(int restore)

getRestoreWindow

public int getRestoreWindow()

saveSizeLocation

public void saveSizeLocation()
Speichert die Größe und/oder Position des Fensters im Home-Verzeichnis des Benutzers: ~/.guibuilder/[FensterName].properties


restoreSizeLocation

public void restoreSizeLocation()
Stellt die Position und/oder die Größe des Fensters seit dem letzten schließen wieder her.

See Also:
setRestoreWindow(String)

setSize

public void setSize(java.lang.String s_width,
                    java.lang.String s_height)
From awt.Component

Parameters:
s_width -
s_height -

setLocation

public void setLocation(java.lang.String s_x,
                        java.lang.String s_y)
Form awt.Component

Parameters:
s_x -
s_y -

setActionState

public void setActionState(int state)
Setzt den Anzeige-Status STATE_EMPTY | NEW | OLD | SAVED.

Parameters:
state -

getActionState

public int getActionState()

setStateAttributes

public void setStateAttributes(java.lang.String state)
Parameters:
state -
See Also:
GuiContainer.setStateAttributes(String)

getCreatedBy

public electric.xml.Document getCreatedBy()
Liefert das XML-Document aus dem die Facrory dieses Fenster erzeugt hat oder null, wenn das Fenster ohne die Factory erzeugt wurde.

Returns:

print

public int print(java.awt.Graphics graphics,
                 java.awt.print.PageFormat pageFormat,
                 int pageIndex)
          throws java.awt.print.PrinterException
Specified by:
print in interface java.awt.print.Printable
Throws:
java.awt.print.PrinterException

getLayeredPane

public abstract javax.swing.JLayeredPane getLayeredPane()
JDialog / JFrame

Returns:

getGlassPane

public abstract java.awt.Component getGlassPane()
JDialog / JFrame

Returns:

setGlassPane

public abstract void setGlassPane(java.awt.Component c)

getPreferences

public JDataSet getPreferences()

setPreferences

public void setPreferences(JDataSet ds)