org.vishia.gral.base

## Class GralMng

- java.lang.Object
- - org.vishia.gral.base.GralMng

- All Implemented Interfaces:
    GralMng_ifc, GralMngBuild_ifc

      public class GralMng
      extends java.lang.Object
      implements GralMngBuild_ifc, GralMng_ifc

  This is the Manager for the graphic. It contains the independent parts of graphic organization. This class `GralMng` is a common approach to work with graphical interface simply. The inner class `GralMng.ImplAccess` is implemented by the several graphic-system-supporting classes.
  - `SwtMng`
  - `AwtWidgetMng`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `GralMng.FileSelectInfo` This class is used for a selection field for file names and paths.
    `class` | `GralMng.GralMngFocusListener` This standard Gral focus listener is the base class for the common implementation layer focus listener.
    `static class` | `GralMng.ImplAccess` This class is used only for the implementation level of the graphic.
    `class` | `GralMng.InternalPublic` This inner class is public only because the implementation uses it.
    `(package private) static class` | `GralMng.PosThreadSafe`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `GralMng.InternalPublic` | `_impl` Implementation specific fields.
    `GralUserAction` | `actionDesignEditField` Action to edit the properties of one widget in the graphic.
    `(package private) GralUserAction` | `actionFileSelect`
    `GralUserAction` | `actionHelp`
    `GralPanelActivated_ifc` | `actionPanelActivate`
    `GralUserAction` | `actionReadPanelCfg` Action to edit the properties of one widget in the graphic.
    `(package private) GralUserAction` | `actionShowWidgetInfos`
    `protected GralMngApplAdapter_ifc` | `applAdapter`
    `protected boolean` | `bBelow` True if the next element should be placed below the last.
    `protected boolean` | `bDesignerIsInitialized` Some actions may be processed by a user implementation.
    `boolean` | `bDesignMode`
    `protected boolean` | `bRigth` True if the next element should be placed below the last.
    `(package private) GralCfgBuilder` | `cfgBuilder` This instance helps to create the Dialog Widget as part of the whole window.
    `private GralCfgData` | `cfgData`
    `(package private) GralCfgWriter` | `cfgWriter`
    `GralTabbedPanel` | `currTabPanel` Any kind of TabPanel for this PanelManager TODO make protected
    `java.util.List<GralCurveView_ifc>` | `curveContainer` Deprecated.
    `private java.util.Map<java.lang.String,java.lang.String>` | `dataReplace` Map of replacements of paths to data.
    `protected GralCfgDesigner` | `designer` The designer is an aggregated part of the PanelManager, but only created if necessary.
    `GralGraphicThread` | `gralDevice` Base class for managing all panels and related windows.
    `GralMng.GralMngFocusListener` | `gralFocusListener` This instance can be used if any other focus listener is necessary for any implementation widget.
    `GralMng.ImplAccess` | `impl`
    `protected java.util.Map<java.lang.String,GralWidget>` | `indexNameWidgets` Index of all input fields to access symbolic for all panels.
    `GralInfoBox` | `infoBox` Three windows as sub window for html help, info and logging created if the primary window is created.
    `GralInfoBox` | `infoHelp` Three windows as sub window for html help, info and logging created if the primary window is created.
    `GralInfoBox` | `infoLog` Three windows as sub window for html help, info and logging created if the primary window is created.
    `private GralWidget_ifc` | `lastClickedWidget` Last focused widget or last selected line in a table.
    `protected java.util.concurrent.ConcurrentLinkedQueue<GralVisibleWidgets_ifc>` | `listVisiblePanels` List of all panels which may be visible yet.
    `(package private) java.util.Queue<GralWidget>` | `listWidgetsPermanentUpdating`
    `LogMessage` | `log` It is possible to write any message via this class to a logging system.
    `protected java.util.Map<java.lang.String,GralPanelContent>` | `panels` Map of all panels.
    `private GralMng.PosThreadSafe` | `posCurrent` The current position as helper if it is the same thread.
    `private java.util.Map<java.lang.Long,GralMng.PosThreadSafe>` | `posThreadSafe`
    `GralGridProperties` | `propertiesGui` Properties of this Dialog Window.
    `(package private) InspcReplAlias` | `replacerAlias`
    `protected java.lang.String` | `sCurrPanel`
    `private java.lang.String` | `sHelpBase`
    `protected java.util.Map<java.lang.String,GralWidget>` | `showFields` Index of all input fields to access symbolic.
    `private static GralMng` | `singleton`
    `static java.lang.String` | `sVersion` Version, history and license.
    `protected java.util.Map<java.lang.String,GralUserAction>` | `userActions` Index of all user actions, which are able to use in Button etc.
    `protected GralUserAction` | `userMainKeyAction`
    `private java.util.List<GralWidget>` | `widgetsInFocus`
    `private GralWindow` | `windPrimary` The one instance of the primary window created in the `org/vishia/ifc/GralFactory#createWindow(String, String, int)` .
    `protected GralPos` | `XXXpos` Position of the next widget to add.
    `protected boolean` | `XXXposUsed` False if the position is given newly.

    - ### Fields inherited from interface org.vishia.gral.ifc.GralMngBuild_ifc

      `propGridZoomedPanel, propZoomedPanel, version`

    - ### Fields inherited from interface org.vishia.gral.ifc.GralMng_ifc

      `cmdBackColor, cmdClear, cmdCloseWindow, cmdColor, cmdInsert, cmdLineColor, cmdRedraw, cmdRemove, cmdSelect, cmdSet, cmdSetWindowVisible, cmdTextColor, version`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `private` | `GralMng(LogMessage log)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `GralButton` | `addButton(java.lang.String sName, GralUserAction action, java.lang.String sButtonText)` Adds a button
    `GralButton` | `addButton(java.lang.String sName, GralUserAction action, java.lang.String sCmd, java.lang.String sDataPath, java.lang.String sButtonText)` Adds a button
    `GralButton` | `addCheckButton(java.lang.String sName, java.lang.String sButtonTextOn, java.lang.String sButtonTextOff, java.lang.String sButtonTextDisabled, GralColor colorOn, GralColor colorOff, GralColor colorDisabled)` Adds a button which is switching on or off.
    `GralCurveView` | `addCurveViewY(java.lang.String sName, int nrofXvalues, GralCurveView.CommonCurve common)` Adds a curve view for displaying values with ordinary x-coordinate.
    `GralTextField` | `addFileSelectField(java.lang.String name, java.util.List<java.lang.String> listRecentFiles, java.lang.String startDirMask, java.lang.String prompt, java.lang.String promptStylePosition)` Adds a special text field to select a file.
    `void` | `addFocusAction(GralWidget widgetInfo, GralUserAction action, java.lang.String sCmdEnter, java.lang.String sCmdRelease)` Adds the given Focus action to the known widget.
    `GralWidget` | `addFocusAction(java.lang.String sName, GralUserAction action, java.lang.String sCmdEnter, java.lang.String sCmdRelease)` Adds the given Focus action to the named widget.
    `GralHtmlBox` | `addHtmlBox(java.lang.String name)` Adds a box which presents html content.
    `java.lang.Object` | `addImage(java.lang.String sName, java.io.InputStream imageStream, int height, int width, java.lang.String sCmd)`
    `void` | `addInfo(java.lang.CharSequence info, boolean show)`
    `GralLed` | `addLed(java.lang.String sName, java.lang.String sDataPath)` Adds a Led (round)
    `void` | `addLine(GralColor color, java.util.List<GralPoint> points)` Adds a line.
    `void` | `addLine(int colorValue, float xa, float ya, float xe, float ye)` Deprecated.
    `GralWidget` | `addSlider(java.lang.String sName, GralUserAction action, java.lang.String sShowMethod, java.lang.String sDataPath)`
    `GralButton` | `addSwitchButton(java.lang.String sName, GralUserAction action, java.lang.String sCmd, java.lang.String sDataPath, java.lang.String sButtonText, java.lang.String sColor0, java.lang.String sColor1)` Adds a button which saves its state, pressed or non-pressed.
    `GralButton` | `addSwitchButton(java.lang.String sName, java.lang.String sButtonTextOff, java.lang.String sButtonTextOn, GralColor colorOff, GralColor colorOn)` Adds a button which is switching on or off.
    `GralTabbedPanel` | `addTabbedPanel(java.lang.String namePanel, GralPanelActivated_ifc user, int properties)` Adds a panel for tabs as child of the current panel.
    `GralTable` | `addTable(java.lang.String sName, int height, int[] columnWidths)` Deprecated.
    `GralWidget` | `addText(java.lang.String text)` Adds a text to the current panel at given position with standard colors, left origin.
    `GralWidget` | `addText(java.lang.String sText, char size, int color)` Deprecated.
    `void` | `addText(java.lang.String name, java.lang.CharSequence text)` Appends the text into a named widget.
    `GralWidget` | `addText(java.lang.String sText, int origin, GralColor textColor, GralColor backColor)` Adds a simple text at the current position.
    `GralTextBox` | `addTextBox(java.lang.String name, boolean editable, java.lang.String prompt, char promptStylePosition)` Adds a text box for showing or editing a text in multi lines.
    `GralTextField` | `addTextField(java.lang.String name, boolean editable, java.lang.String prompt, java.lang.String promptStylePosition)` Adds a text field for showing or editing a text value.
    `GralValueBar` | `addValueBar(java.lang.String sName, java.lang.String sDataPath)`
    `void` | `buildCfg(GralCfgData data, java.io.File fileCfg)` Sets the builder for content configuration.
    `GralRectangle` | `calcWidgetPosAndSize(GralPos pos, int widthParentPixel, int heightParentPixel, int widthWidgetNat, int heightWidgetNat)` Calculates the pixel position and size with a given GralPos for the given size of display appearance.
    `protected void` | `checkAdmissibility(boolean value)`
    `static void` | `closeGral()` Must only invoke from the Main window close listener.
    `static boolean` | `create(LogMessage log)` Creates the singleton instance of the GralMng.
    `GralPanelContent` | `createCompositeBox(java.lang.String name)` Creates a box inside the current panel to hold some widgets.
    `protected GralMenu` | `createContextMenu(GralWidget widg)`
    `GralFileDialog_ifc` | `createFileDialog()` Creates a file or directory dialog.
    `GralPanelContent` | `createGridPanel(java.lang.String namePanel, GralColor backGround, int xG, int yG, int xS, int yS)` Creates an independent grid panel which is managed by this.
    `GralInfoBox` | `createHtmlInfoBox(java.lang.String posString, java.lang.String name, java.lang.String title, boolean onTop)`
    `void` | `createHtmlInfoBoxes(MainCmd mainCmd)` This routine should be called in the initializing routine in the graphic thread one time.
    `void` | `createImplWidget_Gthread(GralWidget widgg)` Not that this routine must not invoked before the `GralFactory.createWindow(GralWindow, char, int, int, int, int)` was not called.
    `static void` | `createMainWindow(GralFactory factory, GralWindow window, char sizeShow, int left, int top, int xSize, int ySize)`
    `protected GralMenu` | `createMenuBar(GralWindow windg)`
    `GralInfoBox` | `createTextInfoBox(java.lang.String name, java.lang.String title)`
    `static GralMng` | `createWindow(java.lang.String graphicBaseSystem)` Creates an nee Panel Manager in a new Window.
    `GralWindow` | `createWindow(java.lang.String name, java.lang.String title, int windProps)` Deprecated.
    `boolean` | `currThreadIsGraphic()` Returns true if the current thread is the graphical thread.
    `(package private) void` | `deregisterPanel(GralPanelContent panel)`
    `void` | `deregisterWidgetName(GralWidget widg)`
    `private GralWidget` | `findWidget(java.lang.String name)`
    `static GralMng` | `get()` Returns the singleton of the GralMng.
    `java.util.Map<java.lang.String,java.lang.String>` | `getAllValues()`
    `GralMngApplAdapter_ifc` | `getApplicationAdapter()`
    `GralColor` | `getColor(java.lang.String sColorName)` Gets the named color.
    `int` | `getColorValue(java.lang.String sColorName)` Gets the value to the named color.
    `GralPanelContent` | `getCurrentPanel()`
    `GralWidget_ifc` | `getLastClickedWidget()` Returns that widget which was clicked by mouse at last.
    `java.util.List<GralWidget>` | `getListCurrWidgets()` Deprecated.
    `GralPanelContent` | `getPanel(java.lang.String name)`
    `GralPos` | `getPosCheckNext()`
    `GralPos` | `getPositionInPanel()` Gets the current position in the panel to store anywhere other.
    `GralPos` | `getPosOldPositioning()` Used for deprecated style, without independent GralWidget.
    `GralWindow` | `getPrimaryWindow()`
    `GralUserAction` | `getRegisteredUserAction(java.lang.String name)`
    `ReplaceAlias_ifc` | `getReplacerAlias()`
    `java.util.Set<java.util.Map.Entry<java.lang.String,GralWidget>>` | `getShowFields()` Returns a Set of all fields, which are created to show.
    `java.lang.String` | `getValue(java.lang.String sName)` Gets the value from a widget.
    `java.lang.String` | `getValueFromWidget(GralWidget widgd)` Returns null if the widget value can only be gotten platform-depending.
    `java.util.concurrent.ConcurrentLinkedQueue<GralVisibleWidgets_ifc>` | `getVisiblePanels()` Gets the list of all panels which are visible yet and should be updated with values therefore.
    `GralWidget` | `getWidget(java.lang.String name)` Searches a widget by name.
    `GralWidget` | `getWidgetInFocus()`
    `java.util.List<GralWidget>` | `getWidgetsInFocus()` Returns a list of the last widgets in focus in there focus order.
    `GralVisibleWidgets_ifc` | `getWidgetsPermanentlyUpdating()` Gets a list of widgets which should be updated permanently because they store data in any time.
    `GralGraphicThread` | `gralDevice()`
    `void` | `initCfgDesigner()`
    `LogMessage` | `log()`
    `void` | `markWidgetForDesign(GralWidget widgg)`
    `void` | `notifyFocus(GralWidget widgd)` Notifies that this widget has the focus gotten.
    `(package private) GralMng.PosThreadSafe` | `pos()`
    `void` | `pressedLeftMouseDownForDesign(GralWidget widgd, GralRectangle xy)` It will be called only at the GUI-implementation level.
    `GralGridProperties` | `propertiesGui()`
    `void` | `redrawWidget(java.lang.String sName)` Forces the redrawing for all set samples.
    `void` | `refreshCurvesFromVariable(VariableContainer_ifc container)` refresh all curve views.
    `void` | `registerPanel(GralPanelContent panel)` Registers a panel to place the widgets.
    `void` | `registerShowField(GralWidget widg)`
    `void` | `registerUserAction(java.lang.String name, GralUserAction action)` Registers all user actions, which are able to use in Button etc.
    `void` | `registerWidget(GralWidget widgd)` Register all widgets, which are created in its own classes, not add here.
    `(package private) void` | `registerWidget(java.lang.String name, GralWidget widgd)`
    `void` | `releaseLeftMouseForDesign(GralWidget widgd, GralRectangle xy, boolean bCopy)` It will be called only at the GUI-implementation level.
    `boolean` | `remove(GralPanelContent compositeBox)` Removes a composite box from the graphic representation.
    `boolean` | `remove(GralWidget widget)`
    `(package private) void` | `removeWidget(java.lang.String name)`
    `void` | `repaint()` Forces a newly paint of the GUI-container.
    `void` | `repaintCurrentPanel()` Forces a newly paint of the current panel.
    `void` | `resizeWidget(GralWidget widgd, int xSizeParent, int ySizeParent)` Forces the resizing of the given widged.
    `java.lang.String` | `saveCfg(java.io.Writer dest)` Saves the given configuration.
    `void` | `selectPanel(GralPanelContent panel)` Selects the given panel as current panel to build some content.
    `void` | `selectPanel(java.lang.String sName)` selects a registered panel for the next add-operations.
    `void` | `selectPrimaryWindow()` Selects the primary window as current panel to build some content.
    `void` | `setApplicationAdapter(GralMngApplAdapter_ifc adapter)`
    `void` | `setBackColor(GralWidget widg, int ix, int color)` Deprecated.
    `void` | `setBackColor(java.lang.String name, int ix, int color)` Sets the background color of any widget.
    `void` | `setDesignMode(boolean mode)` Sets or resets the design mode.
    `void` | `setFinePosition(int line, int yPosFrac, int ye, int yef, int column, int xPosFrac, int xe, int xef, int origin, char direction, int border, int borderFrac, GralPos frame)` Same as `GralMngBuild_ifc.setPositionSize(int, int, int, int, char)`, but the positions can be in a fine division.
    `void` | `setFirstlyThePrimaryWindow(GralWindow primaryWindow)`
    `void` | `setFocus(GralWidget widgd)` Sets the focus to the designated widget.
    `void` | `setHelpBase(java.lang.String path)`
    `void` | `setHelpUrl(java.lang.String url)`
    `void` | `setHtmlHelp(java.lang.String url)`
    `void` | `setInfo(java.lang.CharSequence text)`
    `void` | `setLastClickedWidget(GralWidget_ifc lastClickedWidgetInfo)` This method is called whenever the left mouse is pressed on a widget, whiches
    `void` | `setLed(GralWidget widg, int colorBorder, int colorInner)`
    `void` | `setLineColor(GralWidget widg, int ix, int color)` Deprecated.
    `GralUserAction` | `setMainKeyAction(GralUserAction userMainKeyAction)` Sets the action for main keys.
    `void` | `setNextPosition()` Deprecated.
    `void` | `setNextPositionUnused()` Not for user: Checks whether the position is used, sets the next position then, markes the position as used.
    `void` | `setPos(java.lang.String sPosition)` Sets the position with a given String, see `GralPos.setPosition(CharSequence, GralPos)` whereby the parent is the current position value.
    `void` | `setPosition(float line, float lineEndOrSize, float column, float columnEndOrSize, int origin, char direction)` Sets the position.
    `void` | `setPosition(float line, float lineEndOrSize, float column, float columnEndOrSize, int origin, char direction, float border)` Sets the position with fine position given as float value.
    `void` | `setPosition(GralPos framePos, float line, float lineEndOrSize, float column, float columnEndOrSize, int origin, char direction)` Sets the position in relation to a given position.
    `void` | `setPosition(GralPos framePos, float line, float lineEndOrSize, float column, float columnEndOrSize, int origin, char direction, float border)`
    `void` | `setPositionSize(int line, int column, int height, int width, char direction)` Sets the position and size for the next widget to add in the container.
    `void` | `setPosPanel(GralPanelContent panel)`
    `void` | `setProperties(GralGridProperties props)`
    `void` | `setSampleCurveViewY(java.lang.String sName, float[] values)` Adds a sampling value set.
    `(package private) void` | `setSize(float height, float width)`
    `void` | `setSize(int height, int ySizeFrac, int width, int xSizeFrac)` Sets the next position if the position is used, but change the size.
    `void` | `setTabbedPanel(GralPanelContent tabbedPanel)` It is a special routine for tabbedPanel.
    `void` | `setText(java.lang.String name, java.lang.CharSequence text)` Sets the text into a named widget.
    `void` | `setTextColor(GralWidget widg, int ix, int color)` Deprecated.
    `void` | `setValue(java.lang.String widget, java.lang.Object visibleInfo, java.lang.Object userData)` Sets the text into a named widget.
    `void` | `showInfo(java.lang.CharSequence text)`
    `(package private) void` | `stop()`
    `(package private) GralUserAction` | `userMainKeyAction()` package private
    `void` | `writeLog(int msgId, java.lang.Exception exc)` Writes a log message instead throwing an exception or writing on standard output.
    `void` | `XXXpressedRightMouseDownForDesign(GralWidget widgd, GralRectangle xy)` It will be called only at the GUI-implementation level.
    `boolean` | `XXXsetWindowsVisible(GralWindow_ifc window, GralPos atPos)` Sets a given and registered window visible at the given position and size or set it invisible.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sVersion

          public static final java.lang.String sVersion

      Version, history and license.
      - 2016-11-04 Hartmut chg: `notifyFocus(GralWidget)`: Only widgets with datapath. It is only for the inspector etc. TODO: Is there a list necessary? Store only the last widget in focus!
      - 2016-09-02 Hartmut new: `setPosPanel(GralPanelContent)` now invoked especially from ctor of `GralPanelContent` and from ctor of `GralPanelContent.ImplAccess`. If a new Panel was created with a given `GralWidget.pos()` then that panel is set as current one for the next widgets. Either the widgets are created before the implementation graphic with given position string, then the panel should have a position string too to assigned them. Or the widgets are created with creation of the implementation graphic, then a panel should be created in the same kind, and invoke `setPosPanel(GralPanelContent)` in the ctor of its implementation. The contract is unchanged: A created panel determines that all following widgets are created on that panel.
      - 2016-09-02 Hartmut chg: `registerPanel(GralPanelContent)` is only be called in the ctor of `GralPanelContent` because any panel is based on GralPanelContent. The definition of the panel in the `pos()` used for the next widgets are done now in the extra routine `setPosPanel(GralPanelContent)`.
      - 2016-09-01 Hartmut chg: instead implements `ReplaceAlias_ifc` now contains `getReplacerAlias()`. It is an extra class for a ReplacerAlias given independent of the graphic.
      - 2016-07-20 Hartmut chg: instead setToPanel now `#createImplWidget_Gthread()`. It is a better name.
      - 2015-10-29 Hartmut chg: Problem on `pos()` with a second thread: The MainWindow- `GralPos.panel` was registered in another thread and therefore unknown in the new `pos()` for that thread. Solution: If the thread-specific GralPos will be created, it should copy the data from the `posCurrent` which is valid any case for valid initial data.
      - 2015-10-26 Hartmut new: The help and info box is an integral part of the GralMng and therefore available for any small application without additional effort. Only the `createHtmlInfoBoxes(MainCmd)` should be invoked in the graphic thread while initializing the application.
      - 2015-07-13 Hartmut chg: `GralMng.GralMngFocusListener.focusLostGral(GralWidget)` now invokes the `GralWidget#actionFocused` too. The action should distinguish between focus gained and focus lost in its action routine. That should be added to the code. Done for all vishia sources.
      - 2015-07-13 Hartmut new: `registerUserAction(String, GralUserAction)` now knows possibility of usage the own name with ""
      - 2015-07-13 Hartmut chg: Positioning: The new concept gets a position in the constructor of `GralWidget` via `getPosCheckNext()`. That routine sets the current position in this class to `GralMng.PosThreadSafe.posUsed` for further using to increment. That is correct. The problem before was faulty old-concept usage of org.vishia.gral.swt.SwtMng#XXXsetPosAndSizeSwt which invokes `setNextPosition()` which increments the position too, therefore twice. The usage of that routine is prevented for Swt implementation, TODO for awt yet now.
      - 2015-05-31 Hartmut chg: `GralMng.GralMngFocusListener`: invokes repaint() because of maybe changed outfit on focus gained
      - 2015-05-02 Hartmut chg: `registerWidget(GralWidget)` is obsolete now, it is empty yet. Instead `registerWidget(String, GralWidget)` by given name and `removeWidget(String)` by name. See description of registering on `GralWidget.setToPanel(GralMngBuild_ifc)`.
      - 2015-04-27 Hartmut new `selectPanel(GralPanelContent)` not only with String given
      - 2015-01-18 Hartmut chg: Now the implementation for any Grahic (SwtMng) and the GralMng are two separated instances. The SwtMng extends the `GralMng.ImplAccess` which accesses all private data of the GralMng.
      - 2013-12-21 Hartmut new: `createImplWidget_Gthread(GralWidget)` for all set to panel actions. That method handles all widget types.
      - 2013-03-20 Hartmut adap: `actionFileSelect` with setText(...), now the file select field was filled.
      - 2012-08-20 Hartmut new: `getWidgetsPermanentlyUpdating()` created but not used yet because `refreshCurvesFromVariable(VariableContainer_ifc)` has the necessary functionality.
      - 2012-06-30 Hartmut new: Composition `#widgetHelper` The widget helper is implemented in the graphic system for example as `SwtWidgetHelper` to do some widget specific things.
      - 2012-06-30 Hartmut new: Composition `_impl`.`GralMng.InternalPublic.gralKeyListener`
      - 2012-04-22 Hartmut new: `addLine(GralColor, List)` to add in a `GralCanvasStorage`.
      - 2012-04-01 Hartmut new: `#addDataReplace(Map)`, `#replaceDataPathPrefix(String)`. using alias in the `GralWidget.setDataPath(String)`. The resolving of the alias is done only if the datapath is used. *
      - 2012-03-17 Hartmut new: `#calcWidgetPosAndSize(GralPos, int, int)` as abstract method.
      - 2012-03-10 Hartmut chg: `addText(String)` now uses the background color `GralGridProperties.colorBackground_`.
      - 2012-01-14 Hartmut chg: `registerWidget(GralWidget)`: uses `GralPanelContent.addWidget(GralWidget, boolean)`.
      - 2012-01-14 Hartmut new `getValueFromWidget(GralWidget)` implementing here for non-platform depending values, especially GralTable.
      - 2011-12-26 Hartmut new `setApplicationAdapter(GralMngApplAdapter_ifc)` to support context sensitive help by focusGained of widgets.
      - 2011-11-18 Hartmut new `getLastClickedWidget()` to get the last clicked widget in any user routine. The information about the widget can be used to capture widgets for any script.
      - 2011-11-17 Hartmut new addText(String) as simple variant.
      - 2011-11-14 Hartmut bugfix: copy values of GralTabbedPanel.pos to this.pos instead set the reference from GralWidgetMng to GralTabbedPanel.pos The bug effect was removed panel in GralTabbedPanel.pos because it was the same instance as GralWidgetMng.
      - 2011-10-01 Hartmut chg: move `registerPanel(GralPanelContent)` from the SWT implementation to this.
      - 2011-10-01 Hartmut new: method `getPanel(String)` to get a registered panel by name.
      - 2011-09-30 Hartmut new: `actionDesignEditField`. It is the action which is called from menu now.
      - 2011-09-29 Hartmut chg: `calcWidgetPosAndSize(GralPos, int, int, int, int)`: calculates dy and dx one pixel less.
      - 2011-09-23 Hartmut chg: All implementation routines for positioning are moved to the class `GralPos`. This class contains only wrappers now.
      - 2011-09-18 Hartmut chg: Inner static class GuiChangeReq now stored in an own class `GralWidgetChangeRequ`.
      - 2011-09-18 Hartmut new: : `GralPos#setFinePosition(int, int, int, int, int, int, int, int, int, char, GralPos)` calculates from right or bottom with negative values.
      - 2011-09-10 Hartmut chg: Renaming this class, old name was GuiMngBase.
      - 2011-09-10 Hartmut chg: Some routines form SWT implementation moved to this base class. It doesn't depends on the underlying graphic base.
      - 2011-08-13 Hartmut chg: New routines for store and calculate the position to regard large widgets.
      Copyright/Copyleft: For this source the LGPL Lesser General Public License, published by the Free Software Foundation is valid. It means:
      1. You can use this source without any restriction for any desired purpose.
      2. You can redistribute copies of this source to everybody.
      3. Every user of this source, also the user of redistribute copies with or without payment, must accept this license for further using.
      4. But the LPGL is not appropriate for a whole software product, if this source is only a part of them. It means, the user must publish this part of source, but don't need to publish the whole source of the own product.
      5. You can study and modify (improve) this source for own using or for redistribution, but you have to license the modified sources likewise under this LGPL Lesser General Public License. You mustn't delete this Copyright/Copyleft inscription in this source file.
      If you are intent to use this sources without publishing its usage, you can get a second license subscribing a special contract with the author.
      See Also:
        Constant Field Values

    - #### posCurrent

          private GralMng.PosThreadSafe posCurrent

      The current position as helper if it is the same thread. Initialized firstly empty.

    - #### posThreadSafe

          private final java.util.Map<java.lang.Long,GralMng.PosThreadSafe> posThreadSafe

    - #### cfgBuilder

          GralCfgBuilder cfgBuilder

      This instance helps to create the Dialog Widget as part of the whole window. It is used only in the constructor. Therewith it may be defined stack-locally. But it is better to show and explain if it is access-able at class level.

    - #### cfgWriter

          GralCfgWriter cfgWriter

    - #### designer

          protected GralCfgDesigner designer

      The designer is an aggregated part of the PanelManager, but only created if necessary. TODO check whether it should be disposed to `gralDevice` .

    - #### cfgData

          private GralCfgData cfgData

    - #### bDesignMode

          public boolean bDesignMode

    - #### bDesignerIsInitialized

          protected boolean bDesignerIsInitialized

      Some actions may be processed by a user implementation.

    - #### gralDevice

          public final GralGraphicThread gralDevice

      Base class for managing all panels and related windows. This base class contains all common resources to manage panels and windows.

    - #### propertiesGui

          public GralGridProperties propertiesGui

      Properties of this Dialog Window.

    - #### indexNameWidgets

          protected final java.util.Map<java.lang.String,GralWidget> indexNameWidgets

      Index of all input fields to access symbolic for all panels.

    - #### showFields

          protected final java.util.Map<java.lang.String,GralWidget> showFields

      Index of all input fields to access symbolic. NOTE: The generic type of WidgetDescriptor is unknown, because the set is used independently from the graphic system.

    - #### widgetsInFocus

          private final java.util.List<GralWidget> widgetsInFocus

    - #### windPrimary

          private GralWindow windPrimary

      The one instance of the primary window created in the `org/vishia/ifc/GralFactory#createWindow(String, String, int)` .

    - #### infoHelp

          public GralInfoBox infoHelp

      Three windows as sub window for html help, info and logging created if the primary window is created.

    - #### infoBox

          public GralInfoBox infoBox

      Three windows as sub window for html help, info and logging created if the primary window is created.

    - #### infoLog

          public GralInfoBox infoLog

      Three windows as sub window for html help, info and logging created if the primary window is created.

    - #### sHelpBase

          private java.lang.String sHelpBase

    - #### listVisiblePanels

          protected final java.util.concurrent.ConcurrentLinkedQueue<GralVisibleWidgets_ifc> listVisiblePanels

      List of all panels which may be visible yet. The list can be iterated. Therefore it is lock-free multi-threading accessible.

    - #### listWidgetsPermanentUpdating

          java.util.Queue<GralWidget> listWidgetsPermanentUpdating

    - #### log

          public final LogMessage log

      It is possible to write any message via this class to a logging system. All internal methods of gral writes exceptions to that logging system instead abort the execution of the application.

    - #### applAdapter

          protected GralMngApplAdapter_ifc applAdapter

    - #### curveContainer

          @Deprecated
          public final java.util.List<GralCurveView_ifc> curveContainer

      Deprecated.
      Composition of some curve view widgets, which should be filled indepentent of there visibility.

    - #### XXXpos

          protected final GralPos XXXpos

      Position of the next widget to add. If some widgets are added one after another, it is similar like a flow-layout. But the position can be set. The values inside the position are positive in any case, so that the calculation of size is simple.

    - #### XXXposUsed

          protected boolean XXXposUsed

      False if the position is given newly. True if it is used. Then the next add-widget invocation calculates the next position in direction see `GralPos.setNextPosition()`.

    - #### bBelow

          protected boolean bBelow

      True if the next element should be placed below the last.

    - #### bRigth

          protected boolean bRigth

      True if the next element should be placed below the last.

    - #### userMainKeyAction

          protected GralUserAction userMainKeyAction

    - #### replacerAlias

          InspcReplAlias replacerAlias

    - #### panels

          protected final java.util.Map<java.lang.String,GralPanelContent> panels

      Map of all panels. A panel may be a dialog box etc.

    - #### currTabPanel

          public GralTabbedPanel currTabPanel

      Any kind of TabPanel for this PanelManager TODO make protected

    - #### sCurrPanel

          protected java.lang.String sCurrPanel

    - #### lastClickedWidget

          private GralWidget_ifc lastClickedWidget

      Last focused widget or last selected line in a table. This info can be used to get the last widget on a context menu etc. on another widget. See `getLastClickedWidget()`

    - #### userActions

          protected final java.util.Map<java.lang.String,GralUserAction> userActions

      Index of all user actions, which are able to use in Button etc. The user action "showWidgetInfos" defined here is added initially. Some more user-actions can be add calling `registerUserAction(String, GralUserAction)`.

    - #### dataReplace

          private final java.util.Map<java.lang.String,java.lang.String> dataReplace

      Map of replacements of paths to data. Filled from ZBNF: DataReplace::= <$?key> = <$-/\.?string>

    - #### impl

          public GralMng.ImplAccess impl

    - #### singleton

          private static GralMng singleton

    - #### actionPanelActivate

          public GralPanelActivated_ifc actionPanelActivate

    - #### actionShowWidgetInfos

          GralUserAction actionShowWidgetInfos

    - #### actionFileSelect

          GralUserAction actionFileSelect

    - #### actionDesignEditField

          public GralUserAction actionDesignEditField

      Action to edit the properties of one widget in the graphic.

    - #### actionReadPanelCfg

          public GralUserAction actionReadPanelCfg

      Action to edit the properties of one widget in the graphic.

    - #### actionHelp

          public final GralUserAction actionHelp

    - #### gralFocusListener

          public GralMng.GralMngFocusListener gralFocusListener

      This instance can be used if any other focus listener is necessary for any implementation widget. The standard behavior for GralWidget is supported using this aggregate. In Opposite a full ready to use focus listener based on this class in the implementation layer, see `SwtMng.SwtMngFocusListener`.

    - #### _impl

          public final GralMng.InternalPublic _impl

      Implementation specific fields.

  - ### Constructor Detail

    - #### GralMng

          private GralMng(LogMessage log)

  - ### Method Detail

    - #### createWindow

          public static GralMng createWindow(java.lang.String graphicBaseSystem)

      Creates an nee Panel Manager in a new Window.
      Parameters:
        `graphicBaseSystem` -
      Returns:

    - #### pos

          GralMng.PosThreadSafe pos()

    - #### setPos

          public void setPos(java.lang.String sPosition)
                      throws java.text.ParseException

      Sets the position with a given String, see `GralPos.setPosition(CharSequence, GralPos)` whereby the parent is the current position value.
      Parameters:
        `sPosition` -
      Throws:
        `java.text.ParseException`

    - #### setPositionSize

          public void setPositionSize(int line,
                                      int column,
                                      int height,
                                      int width,
                                      char direction)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the position and size for the next widget to add in the container.
      Specified by:
        `setPositionSize` in interface `GralMngBuild_ifc`
      Parameters:
        `line` - y-Position in y-Units, count from top of the box. It is either the top or bottom line of the widget, depending on height. If < 0, then the previous position is valid furthermore.
        `column` - x-Position in x-Units, count from left of the box. If < 0, then the previous position is valid furthermore.
        `width` - The number of columns. If <0, then the param column is the right column, and column-length is the left column. If 0 then the last value of length is not changed.
        `direction` - direction for a next widget, use 'r', 'l', 'u', 'd' for right, left, up, down

    - #### setPosition

          public void setPosition(float line,
                                  float lineEndOrSize,
                                  float column,
                                  float columnEndOrSize,
                                  int origin,
                                  char direction)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the position.
      Specified by:
        `setPosition` in interface `GralMngBuild_ifc`
      Parameters:
        `line` - The line. Positive: from top, negative: from end.
        `lineEndOrSize` - The position of end of widget. negative or 0: from end. 0: the end position of Panel. see `GralPos.same` etc.

    - #### setPosition

          public void setPosition(float line,
                                  float lineEndOrSize,
                                  float column,
                                  float columnEndOrSize,
                                  int origin,
                                  char direction,
                                  float border)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the position with fine position given as float value. Only one digit after the float point is regarded, see definition for the fine position as description of `GralPos`.
      Specified by:
        `setPosition` in interface `GralMngBuild_ifc`
      Parameters:
        `line` - either position or combinded with `GralPos.refer` etc.
        `origin` - see `GralMngBuild_ifc.setFinePosition(int, int, int, int, int, int, int, int, int, char, int, int, GralPos)`

    - #### setPosition

          public void setPosition(GralPos framePos,
                                  float line,
                                  float lineEndOrSize,
                                  float column,
                                  float columnEndOrSize,
                                  int origin,
                                  char direction)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the position in relation to a given position.
      Specified by:
        `setPosition` in interface `GralMngBuild_ifc`
      Parameters:
        `framePos` - The given frame.
        `line` - The line

    - #### setPosition

          public void setPosition(GralPos framePos,
                                  float line,
                                  float lineEndOrSize,
                                  float column,
                                  float columnEndOrSize,
                                  int origin,
                                  char direction,
                                  float border)

      Specified by:
        `setPosition` in interface `GralMngBuild_ifc`

    - #### setFinePosition

          public void setFinePosition(int line,
                                      int yPosFrac,
                                      int ye,
                                      int yef,
                                      int column,
                                      int xPosFrac,
                                      int xe,
                                      int xef,
                                      int origin,
                                      char direction,
                                      int border,
                                      int borderFrac,
                                      GralPos frame)

      Description copied from interface: `GralMngBuild_ifc`
      Same as `GralMngBuild_ifc.setPositionSize(int, int, int, int, char)`, but the positions can be in a fine division.
      Specified by:
        `setFinePosition` in interface `GralMngBuild_ifc`
      Parameters:
        `line` - The line.
        `yPosFrac` - Number between 0..9 for fine positioning in the grid step.
        `yef` - Number between 0..9 for fine positioning in the grid step.
        `xPosFrac` - Number between 0..9 for fine positioning in the grid step.
        `xef` - Number between 0..9 for fine positioning in the grid step.
        `origin` - Origin of inner widgets or next widgets. Use:

                    1    4    7
                    2    5    8
                    3    6    9

        for the origin points. (origin-1) %3 is the horizontal origin, (origin-1 /3) is the vertical one. A value 0 let the origin unchanged from previous call.
        `direction` - Direction of the next position if that is not given than or `GralPos.next` is given than. A value other then r, l, u, d let the direction unchanged from previous call.

    - #### setSize

          public void setSize(int height,
                              int ySizeFrac,
                              int width,
                              int xSizeFrac)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the next position if the position is used, but change the size.
      Specified by:
        `setSize` in interface `GralMngBuild_ifc`

    - #### setSize

          void setSize(float height,
                       float width)

    - #### setNextPosition

          @Deprecated
          public void setNextPosition()

      Deprecated.
      Not for user: Checks whether the position is used, sets the next position then, markes the position as used. See @link GralPos#setNextPosition(), `#posUsed`. TODO remove in AwtMng

    - #### setNextPositionUnused

          public void setNextPositionUnused()

      Not for user: Checks whether the position is used, sets the next position then, markes the position as used. See @link GralPos#setNextPosition(), `#posUsed`.

    - #### registerShowField

          public void registerShowField(GralWidget widg)

    - #### getPositionInPanel

          public GralPos getPositionInPanel()

      Description copied from interface: `GralMngBuild_ifc`
      Gets the current position in the panel to store anywhere other. Usual the position is stored in the widget itself. This operation returns an independent instance of GralGridPos. Note that the `pos()` is reused there. Therefore the implementation of the method returns a cloned instance.
      Specified by:
        `getPositionInPanel` in interface `GralMngBuild_ifc`
      Returns:
        An independent instance with current data of `pos()`.

    - #### getPosCheckNext

          public GralPos getPosCheckNext()

    - #### getPosOldPositioning

          public GralPos getPosOldPositioning()

      Used for deprecated style, without independent GralWidget. TODO remove.
      Returns:
        Independent GralPos from the GralMng

    - #### getListCurrWidgets

          @Deprecated
          public java.util.List<GralWidget> getListCurrWidgets()

      Deprecated.
      Description copied from interface: `GralMng_ifc`
      Returns the list of all widgets with its informations. The graphical representation of the widgets is unknown here. If it should be used, the graphic implementation should be known and a adequate instanceof-test and cast is necessary.
      Specified by:
        `getListCurrWidgets` in interface `GralMng_ifc`

    - #### create

          public static boolean create(LogMessage log)

      Creates the singleton instance of the GralMng. If this routine is invoked more as one time, the first invocation is the correct one. The more-time-invocation is supported because an application may not invoke this routine. Therefore it is invoked later additional.
      See also `get()`.
      Parameters:
        `log` - The first invocation determines the log output.
      Returns:
        true if created, false if exists already.

    - #### get

          public static GralMng get()

      Returns the singleton of the GralMng. Creates it if it is not instantiated yet. On creation all logging output will be redirect to System.out. To use another logging output, create the GralMng using `GralMng(LogMessage)` on start of application, before this routine is firstly called.

    - #### setProperties

          public void setProperties(GralGridProperties props)

    - #### setFirstlyThePrimaryWindow

          public void setFirstlyThePrimaryWindow(GralWindow primaryWindow)

    - #### createMainWindow

          public static void createMainWindow(GralFactory factory,
                                              GralWindow window,
                                              char sizeShow,
                                              int left,
                                              int top,
                                              int xSize,
                                              int ySize)

    - #### createHtmlInfoBoxes

          public void createHtmlInfoBoxes(MainCmd mainCmd)

      This routine should be called in the initializing routine in the graphic thread one time.
      Parameters:
        `mainCmd` - If given the help from mainCmd will be written into the Help box.

    - #### createImplWidget_Gthread

          public void createImplWidget_Gthread(GralWidget widgg)

      Not that this routine must not invoked before the `GralFactory.createWindow(GralWindow, char, int, int, int, int)` was not called.
      Specified by:
        `createImplWidget_Gthread` in interface `GralMngBuild_ifc`
      Parameters:
        `widgg` - The widget should be initialized already.
      See Also:
        `GralMngBuild_ifc.createImplWidget_Gthread(org.vishia.gral.base.GralWidget)`

    - #### setMainKeyAction

          public GralUserAction setMainKeyAction(GralUserAction userMainKeyAction)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the action for main keys. Main keys are used in an application independent of the focused widget. The `GralUserAction.userActionGui(int, GralWidget, Object...)` is invoked on any key down event, exclusive some graphic implementation specific keys. The user should return false in this method if the key is not used and should not be blocked for widget specific key listeners.
      Specified by:
        `setMainKeyAction` in interface `GralMngBuild_ifc`
      Parameters:
        `userMainKeyAction` - The user action to process main keys.
      Returns:
        the last set user action.

    - #### userMainKeyAction

          GralUserAction userMainKeyAction()

      package private

    - #### propertiesGui

          public GralGridProperties propertiesGui()

      Specified by:
        `propertiesGui` in interface `GralMng_ifc`

    - #### gralDevice

          public GralGraphicThread gralDevice()

      Specified by:
        `gralDevice` in interface `GralMng_ifc`

    - #### log

          public LogMessage log()

      Specified by:
        `log` in interface `GralMng_ifc`

    - #### getValueFromWidget

          public java.lang.String getValueFromWidget(GralWidget widgd)

      Returns null if the widget value can only be gotten platform-depending. The platform widget manager should override this method too and invoke super.getValueFromWidget() to call this method. If it returns a value, then it is ok. A user invocation calls the overridden platform depending method automatically.
      See `SwtMng`.
      Specified by:
        `getValueFromWidget` in interface `GralMng_ifc`
      Parameters:
        `widgd` - The widget.
      Returns:
        The content.

    - #### setApplicationAdapter

          public void setApplicationAdapter(GralMngApplAdapter_ifc adapter)

    - #### getApplicationAdapter

          public GralMngApplAdapter_ifc getApplicationAdapter()

    - #### getReplacerAlias

          public ReplaceAlias_ifc getReplacerAlias()

      Specified by:
        `getReplacerAlias` in interface `GralMngBuild_ifc`

    - #### setHelpBase

          public void setHelpBase(java.lang.String path)

    - #### setHelpUrl

          public void setHelpUrl(java.lang.String url)

    - #### setHtmlHelp

          public void setHtmlHelp(java.lang.String url)

    - #### showInfo

          public void showInfo(java.lang.CharSequence text)

    - #### setInfo

          public void setInfo(java.lang.CharSequence text)

    - #### addInfo

          public void addInfo(java.lang.CharSequence info,
                              boolean show)

    - #### selectPanel

          public void selectPanel(java.lang.String sName)

      selects a registered panel for the next add-operations.
      Specified by:
        `selectPanel` in interface `GralMngBuild_ifc`

    - #### selectPanel

          public void selectPanel(GralPanelContent panel)

      Selects the given panel as current panel to build some content.
      Specified by:
        `selectPanel` in interface `GralMngBuild_ifc`

    - #### selectPrimaryWindow

          public void selectPrimaryWindow()

      Selects the primary window as current panel to build some content.
      Specified by:
        `selectPrimaryWindow` in interface `GralMngBuild_ifc`

    - #### currThreadIsGraphic

          public boolean currThreadIsGraphic()

      Description copied from interface: `GralMng_ifc`
      Returns true if the current thread is the graphical thread. This routine is used internally firstly. The graphical thread is that thread, which dispatches all orders for the graphic, see `GralGraphicThread.run()`.
      Specified by:
        `currThreadIsGraphic` in interface `GralMng_ifc`
      Returns:
        true if this routine is called from the same thread as the graphical thread.

    - #### getWidget

          public GralWidget getWidget(java.lang.String name)

      Description copied from interface: `GralMng_ifc`
      Searches a widget by name.
      Specified by:
        `getWidget` in interface `GralMng_ifc`
      Parameters:
        `name` - The name which is assigned on build.
      Returns:
        null if the widget is not found.

    - #### buildCfg

          public void buildCfg(GralCfgData data,
                               java.io.File fileCfg)

      Description copied from interface: `GralMngBuild_ifc`
      Sets the builder for content configuration.
      Specified by:
        `buildCfg` in interface `GralMngBuild_ifc`

    - #### setDesignMode

          public void setDesignMode(boolean mode)

      Sets or resets the design mode. The design mode allows to change the content.
      Specified by:
        `setDesignMode` in interface `GralMngBuild_ifc`
      Parameters:
        `mode` -

    - #### saveCfg

          public java.lang.String saveCfg(java.io.Writer dest)

      Saves the given configuration.
      Specified by:
        `saveCfg` in interface `GralMngBuild_ifc`
      Parameters:
        `dest` -
      Returns:

    - #### setLastClickedWidget

          public void setLastClickedWidget(GralWidget_ifc lastClickedWidgetInfo)

      This method is called whenever the left mouse is pressed on a widget, whiches
      Parameters:
        `lastClickedWidgetInfo` -

    - #### getLastClickedWidget

          public GralWidget_ifc getLastClickedWidget()

      Returns that widget which was clicked by mouse at last. This method is usefully for debugging and for special functionality. A widget which `GralWidget.setDataPath(String)` is initialized with "widgetInfo" is not captured for this operation. It means, if any user action method uses this method to get the last clicked widget, that widget itself have to be marked with setDataPath("widgetInfo"); to prevent getting its own widget info.
      Returns:
        The last clicked widget

    - #### registerUserAction

          public void registerUserAction(java.lang.String name,
                                         GralUserAction action)

      Registers all user actions, which are able to use in Button etc. The name is related with the `userAction=` designation in the configuration String.
      Specified by:
        `registerUserAction` in interface `GralMngBuild_ifc`
      Parameters:
        `name` - if it contains "" then that is replace by the `GralUserAction.name`. You can give "" only to set the action's name.
        `action` -

    - #### getRegisteredUserAction

          public GralUserAction getRegisteredUserAction(java.lang.String name)

      Specified by:
        `getRegisteredUserAction` in interface `GralMngBuild_ifc`

    - #### registerWidget

          void registerWidget(java.lang.String name,
                              GralWidget widgd)

    - #### removeWidget

          void removeWidget(java.lang.String name)

    - #### registerWidget

          public void registerWidget(GralWidget widgd)

      Description copied from interface: `GralMngBuild_ifc`
      Register all widgets, which are created in its own classes, not add here. The widgets are stored in the index of names.
      Specified by:
        `registerWidget` in interface `GralMngBuild_ifc`

    - #### deregisterWidgetName

          public void deregisterWidgetName(GralWidget widg)

    - #### registerPanel

          public void registerPanel(GralPanelContent panel)

      Registers a panel to place the widgets. After registration, this panel is the current one, stored in `pos()` for this thread. The panel can be selected with its name calling the `selectPanel(String)` -routine
      Specified by:
        `registerPanel` in interface `GralMngBuild_ifc`
      Parameters:
        `key` - Name of the panel.
        `panel` - The panel.

    - #### setPosPanel

          public void setPosPanel(GralPanelContent panel)

    - #### deregisterPanel

          void deregisterPanel(GralPanelContent panel)

    - #### getShowFields

          public java.util.Set<java.util.Map.Entry<java.lang.String,GralWidget>> getShowFields()

      Returns a Set of all fields, which are created to show.
      Specified by:
        `getShowFields` in interface `GralMngBuild_ifc`
      Returns:
        the set, never null, possible an empty set.

    - #### getAllValues

          public java.util.Map<java.lang.String,java.lang.String> getAllValues()

    - #### getValue

          public java.lang.String getValue(java.lang.String sName)

      Description copied from interface: `GralMng_ifc`
      Gets the value from a widget.
      Specified by:
        `getValue` in interface `GralMng_ifc`
      Parameters:
        `sName` - The name of the widget. The widget will be searched per name.
      Returns:
        null if the named widget isn't found or the widget is not able to input.

    - #### setTabbedPanel

          public void setTabbedPanel(GralPanelContent tabbedPanel)

      It is a special routine for tabbedPanel. The reason: If a new tab should add in `GralTabbedPanel.addGridPanel(String, String, int, int, int, int)` then the mng is set to the tabbed panel.
      Parameters:
        `tabbedPanel` -

    - #### getPanel

          public GralPanelContent getPanel(java.lang.String name)

    - #### getPrimaryWindow

          public GralWindow getPrimaryWindow()

    - #### getCurrentPanel

          public GralPanelContent getCurrentPanel()

    - #### checkAdmissibility

          protected void checkAdmissibility(boolean value)

    - #### findWidget

          private GralWidget findWidget(java.lang.String name)

    - #### setBackColor

          public void setBackColor(java.lang.String name,
                                   int ix,
                                   int color)

      Sets the background color of any widget. The widget may be for example:
      - a Table: Then a new line will be colored.
      - a Tree: Then a new leaf is colored.
      - a Text-edit-widget: Then the field background color is set.
      The color is written into a queue, which is red in another thread. It may be possible too, that the GUI is realized in another module, maybe remote. It means, that a few milliseconds should be planned before the change appears. If the thread doesn't run or the remote receiver isn't present, than the queue may be overflowed or the request may be lost.
      Specified by:
        `setBackColor` in interface `GralMng_ifc`
      Parameters:
        `name` - The name of the widget, which was given by the add...()-Operation
        `ident` - A identifying number. It meaning depends on the kind of widget. 0 means, insert on top. Integer.MAXVALUE means, insert after the last element (append).
        `content` - The content to insert.

    - #### setText

          public void setText(java.lang.String name,
                              java.lang.CharSequence text)

      Description copied from interface: `GralMng_ifc`
      Sets the text into a named widget.
      Specified by:
        `setText` in interface `GralMng_ifc`
        `text` - The text is not stored by reference, it can be changed after them.

    - #### setValue

          public void setValue(java.lang.String widget,
                               java.lang.Object visibleInfo,
                               java.lang.Object userData)

      Description copied from interface: `GralMng_ifc`
      Sets the text into a named widget.
      Specified by:
        `setValue` in interface `GralMng_ifc`

    - #### addText

          public void addText(java.lang.String name,
                              java.lang.CharSequence text)

      Description copied from interface: `GralMng_ifc`
      Appends the text into a named widget. The widget can be especially a text area.
      Specified by:
        `addText` in interface `GralMng_ifc`
        `text` - The text is not stored by reference, it can be changed after them.

    - #### addText

          public GralWidget addText(java.lang.String sText,
                                    int origin,
                                    GralColor textColor,
                                    GralColor backColor)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a simple text at the current position.
      Specified by:
        `addText` in interface `GralMngBuild_ifc`
        `origin` - Origin, use char 1..9 for 1 top-left, 2 top-middle, ... 5 middle, 9 bottom-right.
      Returns:

    - #### addTextField

          public GralTextField addTextField(java.lang.String name,
                                            boolean editable,
                                            java.lang.String prompt,
                                            java.lang.String promptStylePosition)

      Adds a text field for showing or editing a text value.
      Specified by:
        `addTextField` in interface `GralMngBuild_ifc`
      Parameters:
        `sName` - The registering name
        `width` - Number of grid units for length
        `editable` - true than edit-able, false to show content
        `prompt` - If not null, than a description label is shown
        `promptStylePosition` - Position and size of description label: upper case letter: normal font, lower case letter: small font 'l' left, 't' top (above field)
      Returns:

    - #### addTextBox

          public GralTextBox addTextBox(java.lang.String name,
                                        boolean editable,
                                        java.lang.String prompt,
                                        char promptStylePosition)

      Adds a text box for showing or editing a text in multi lines.
      Specified by:
        `addTextBox` in interface `GralMngBuild_ifc`
      Parameters:
        `sName` - The registering name
        `width` - Number of grid units for length
        `editable` - true than edit-able, false to show content
        `prompt` - If not null, than a description label is shown
        `promptStylePosition` - Position and size of description label: upper case letter: normal font, lower case letter: small font 'l' left, 't' top (above field)
      Returns:

    - #### addValueBar

          public GralValueBar addValueBar(java.lang.String sName,
                                          java.lang.String sDataPath)

      Specified by:
        `addValueBar` in interface `GralMngBuild_ifc`

    - #### addButton

          public GralButton addButton(java.lang.String sName,
                                      GralUserAction action,
                                      java.lang.String sButtonText)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a button
      Specified by:
        `addButton` in interface `GralMngBuild_ifc`
        `sButtonText` - text in the button
      Returns:

    - #### addButton

          public GralButton addButton(java.lang.String sName,
                                      GralUserAction action,
                                      java.lang.String sCmd,
                                      java.lang.String sDataPath,
                                      java.lang.String sButtonText)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a button
      Specified by:
        `addButton` in interface `GralMngBuild_ifc`
        `sCmd` - The command string will be transfered to the action-method
        `sButtonText` - text in the button
      Returns:

    - #### addSwitchButton

          public GralButton addSwitchButton(java.lang.String sName,
                                            GralUserAction action,
                                            java.lang.String sCmd,
                                            java.lang.String sDataPath,
                                            java.lang.String sButtonText,
                                            java.lang.String sColor0,
                                            java.lang.String sColor1)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a button which saves its state, pressed or non-pressed.
      Specified by:
        `addSwitchButton` in interface `GralMngBuild_ifc`
      Returns:

    - #### addSwitchButton

          public GralButton addSwitchButton(java.lang.String sName,
                                            java.lang.String sButtonTextOff,
                                            java.lang.String sButtonTextOn,
                                            GralColor colorOff,
                                            GralColor colorOn)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a button which is switching on or off. The state is shown with 2 colors and 2 different texts inside the button. The state is able to retrieve calling `GralButton.isOn()` or `GralWidget.getValue()`.
      Specified by:
        `addSwitchButton` in interface `GralMngBuild_ifc`
      Returns:

    - #### addCheckButton

          public GralButton addCheckButton(java.lang.String sName,
                                           java.lang.String sButtonTextOn,
                                           java.lang.String sButtonTextOff,
                                           java.lang.String sButtonTextDisabled,
                                           GralColor colorOn,
                                           GralColor colorOff,
                                           GralColor colorDisabled)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a button which is switching on or off. The state is shown with 2 colors and 2 different texts inside the button. The state is able to retrieve calling `GralButton.isOn()` or `GralWidget.getValue()`.
      Specified by:
        `addCheckButton` in interface `GralMngBuild_ifc`
      Returns:

    - #### addLed

          public GralLed addLed(java.lang.String sName,
                                java.lang.String sDataPath)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a Led (round)
      Specified by:
        `addLed` in interface `GralMngBuild_ifc`
      Returns:

    - #### setBackColor

          @Deprecated
          public void setBackColor(GralWidget widg,
                                                int ix,
                                                int color)

      Deprecated.
      Description copied from interface: `GralMng_ifc`
      Sets the color of background of the widget, if possible.
      Specified by:
        `setBackColor` in interface `GralMng_ifc`
        `color` - blue, green and red in the bits 23..16, 15..8 and 7..0. opaque in bits 31..24 if possible.

    - #### setLineColor

          @Deprecated
          public void setLineColor(GralWidget widg,
                                                int ix,
                                                int color)

      Deprecated.
      Description copied from interface: `GralMng_ifc`
      Sets the color of line of the widget, if possible.
      Specified by:
        `setLineColor` in interface `GralMng_ifc`
        `color` - blue, green and red in the bits 23..16, 15..8 and 7..0. opaque in bits 31..24 if possible.

    - #### setTextColor

          @Deprecated
          public void setTextColor(GralWidget widg,
                                                int ix,
                                                int color)

      Deprecated.
      Description copied from interface: `GralMng_ifc`
      Sets the color of text of the widget, if possible.
      Specified by:
        `setTextColor` in interface `GralMng_ifc`
        `color` - blue, green and red in the bits 23..16, 15..8 and 7..0. opaque in bits 31..24 if possible.

    - #### addLine

          @Deprecated
          public void addLine(int colorValue,
                                           float xa,
                                           float ya,
                                           float xe,
                                           float ye)

      Deprecated.
      Adds a line.
      To adding a line is only possible if the current panel is of type `SwtCanvasStorePanel`. This class stores the line coordinates and conditions and draws it as background if drawing is invoked.
      Specified by:
        `addLine` in interface `GralMngBuild_ifc`
      Parameters:
        `colorValue` - The value for color, 0xffffff is white, 0xff0000 is red.
        `xa` - start of line relative to current position in grid units. The start is relative to the given position! Not absolute in window!
        `ya` - start of line relative to current position in grid units.
        `xe` - end of line relative to current position in grid units.
        `ye` - end of line relative to current position in grid units.

    - #### addLine

          public void addLine(GralColor color,
                              java.util.List<GralPoint> points)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a line.
      To adding a line is only possible if the current panel is of type `SwtCanvasStorePanel`. This class stores the line coordinates and conditions and draws it as background if drawing is invoked.
      Specified by:
        `addLine` in interface `GralMngBuild_ifc`

    - #### setLed

          public void setLed(GralWidget widg,
                             int colorBorder,
                             int colorInner)

      Specified by:
        `setLed` in interface `GralMng_ifc`

    - #### getVisiblePanels

          public java.util.concurrent.ConcurrentLinkedQueue<GralVisibleWidgets_ifc> getVisiblePanels()

      Description copied from interface: `GralMng_ifc`
      Gets the list of all panels which are visible yet and should be updated with values therefore.
      Specified by:
        `getVisiblePanels` in interface `GralMng_ifc`
      Returns:
        The list of widget list.

    - #### getWidgetsPermanentlyUpdating

          public GralVisibleWidgets_ifc getWidgetsPermanentlyUpdating()

      Description copied from interface: `GralMng_ifc`
      Gets a list of widgets which should be updated permanently because they store data in any time.
      Specified by:
        `getWidgetsPermanentlyUpdating` in interface `GralMng_ifc`
      Returns:
        List of widgets which are permanently to update

    - #### setFocus

          public void setFocus(GralWidget widgd)

      Description copied from interface: `GralMng_ifc`
      Sets the focus to the designated widget.
      Specified by:
        `setFocus` in interface `GralMng_ifc`

    - #### notifyFocus

          public void notifyFocus(GralWidget widgd)

      Description copied from interface: `GralMng_ifc`
      Notifies that this widget has the focus gotten. Note: not all widgets notifies this. The focus can be used to detect which widget is active while a menu command or any button is pressed.
      Specified by:
        `notifyFocus` in interface `GralMng_ifc`
      Parameters:
        `widgd` - The widget descriptor

    - #### getWidgetInFocus

          public GralWidget getWidgetInFocus()

      Specified by:
        `getWidgetInFocus` in interface `GralMng_ifc`

    - #### getWidgetsInFocus

          public java.util.List<GralWidget> getWidgetsInFocus()

      Description copied from interface: `GralMng_ifc`
      Returns a list of the last widgets in focus in there focus order. On access to the list, usual with an iterator, the returned list should be used with mutex. Use 'synchronized(focusList){....}'. But don't block the access for a longer time! The graphical thread will be wait on mutex if any other widget will be focused.
      Specified by:
        `getWidgetsInFocus` in interface `GralMng_ifc`
      Returns:
        The list.

    - #### getColorValue

          public int getColorValue(java.lang.String sColorName)

      Description copied from interface: `GralMngBuild_ifc`
      Gets the value to the named color. It is a method of the graphic.
      Specified by:
        `getColorValue` in interface `GralMng_ifc`
      Specified by:
        `getColorValue` in interface `GralMngBuild_ifc`
      Parameters:
        `sColorName` - supported: red, green, blue, yellow
      Returns:
        3 bytes intensity: bit23..16 blue, bit15..8: green, bit 7..0 red.

    - #### getColor

          public GralColor getColor(java.lang.String sColorName)

      Description copied from interface: `GralMngBuild_ifc`
      Gets the named color.
      Specified by:
        `getColor` in interface `GralMngBuild_ifc`
      Parameters:
        `sColorName` - supported: red, green, blue, yellow

    - #### calcWidgetPosAndSize

          public GralRectangle calcWidgetPosAndSize(GralPos pos,
                                                    int widthParentPixel,
                                                    int heightParentPixel,
                                                    int widthWidgetNat,
                                                    int heightWidgetNat)

      Calculates the pixel position and size with a given GralPos for the given size of display appearance.
      Parameters:
        `pos` - Given position
        `widthParentPixel` - width of the container. This value will be used if the position is given from right with negative numbers.
        `heightParentPixel` - height of the container. This value will be used if the position is given from bottom with negative numbers.
        `widthWidgetNat` - natural width of the component which will be positioning. This value is used only if the pos parameter contains `GralPos.useNatSize` for the xe-value
        `heightWidgetNat` - natural height of the component which will be positioning. This value is used only if the pos parameter contains `GralPos.useNatSize` for the ye-value
      Returns:
        The position and size relative in the container.

    - #### addFileSelectField

          public GralTextField addFileSelectField(java.lang.String name,
                                                  java.util.List<java.lang.String> listRecentFiles,
                                                  java.lang.String startDirMask,
                                                  java.lang.String prompt,
                                                  java.lang.String promptStylePosition)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a special text field to select a file. On the right side a small button [<] is arranged to open the standard file select dialog. The text field is a receiver of file objects for drag % drop or paste the clipboard.
      Specified by:
        `addFileSelectField` in interface `GralMngBuild_ifc`
      Parameters:
        `name` - Name of the widget
        `listRecentFiles` - maybe null, a list which stores and offers selected files.
        `startDirMask` - The start dir and selection mask. Both are separated with a ':' character in this string. See `GralFileDialog_ifc`. If the last or only one char is '/' then a directory should be selected. For example "D:/MyDir:*.txt" shows only .txt-files to select in the dialog starting from d:/MyDir.
        `prompt` - Prompt for the text field.
      Returns:

    - #### pressedLeftMouseDownForDesign

          public void pressedLeftMouseDownForDesign(GralWidget widgd,
                                                    GralRectangle xy)

      It will be called only at the GUI-implementation level. TODO protected and delegation.
      Parameters:
        `widgd` -
        `xy` -

    - #### releaseLeftMouseForDesign

          public void releaseLeftMouseForDesign(GralWidget widgd,
                                                GralRectangle xy,
                                                boolean bCopy)

      It will be called only at the GUI-implementation level. TODO protected and delegation.
      Parameters:
        `widgd` -
        `xy` -

    - #### markWidgetForDesign

          public void markWidgetForDesign(GralWidget widgg)

    - #### XXXpressedRightMouseDownForDesign

          public void XXXpressedRightMouseDownForDesign(GralWidget widgd,
                                                        GralRectangle xy)

      It will be called only at the GUI-implementation level. TODO protected and delegation.
      Parameters:
        `widgd` -
        `xy` -

    - #### initCfgDesigner

          public void initCfgDesigner()

    - #### createTextInfoBox

          public GralInfoBox createTextInfoBox(java.lang.String name,
                                               java.lang.String title)

      Specified by:
        `createTextInfoBox` in interface `GralMngBuild_ifc`

    - #### createHtmlInfoBox

          public GralInfoBox createHtmlInfoBox(java.lang.String posString,
                                               java.lang.String name,
                                               java.lang.String title,
                                               boolean onTop)

      Specified by:
        `createHtmlInfoBox` in interface `GralMngBuild_ifc`

    - #### addText

          public GralWidget addText(java.lang.String text)

      Adds a text to the current panel at given position with standard colors, left origin. The size of text is calculated using the height of positioning values. see also `addText(String, int, GralColor, GralColor)`, `addTextField(String, boolean, String, String)`
      Specified by:
        `addText` in interface `GralMngBuild_ifc`
      Parameters:
        `text` -

    - #### repaint

          public void repaint()

      Description copied from interface: `GralMngBuild_ifc`
      Forces a newly paint of the GUI-container. This method should only be called in the graphic thread (SWT).
      Specified by:
        `repaint` in interface `GralMngBuild_ifc`

    - #### repaintCurrentPanel

          public void repaintCurrentPanel()

      Description copied from interface: `GralMngBuild_ifc`
      Forces a newly paint of the current panel. This method should only be called in the graphic thread. It should be used after changing content.
      Specified by:
        `repaintCurrentPanel` in interface `GralMngBuild_ifc`

    - #### refreshCurvesFromVariable

          public void refreshCurvesFromVariable(VariableContainer_ifc container)

      Description copied from interface: `GralMng_ifc`
      refresh all curve views.
      Specified by:
        `refreshCurvesFromVariable` in interface `GralMng_ifc`

    - #### remove

          public boolean remove(GralWidget widget)

      Specified by:
        `remove` in interface `GralMngBuild_ifc`

    - #### writeLog

          public void writeLog(int msgId,
                               java.lang.Exception exc)

      Description copied from interface: `GralMng_ifc`
      Writes a log message instead throwing an exception or writing on standard output. The log message contains a timestamp and can be dispatched to any destination. All internal methods of gral writes exceptions to that logging system instead abort the execution of the application.
      Specified by:
        `writeLog` in interface `GralMng_ifc`
      Parameters:
        `msgId` - The ident number for dispatching and evaluation.
        `exc` - The catched exception.

    - #### stop

          void stop()

    - #### createContextMenu

          protected GralMenu createContextMenu(GralWidget widg)

    - #### createMenuBar

          protected GralMenu createMenuBar(GralWindow windg)

    - #### addTabbedPanel

          public GralTabbedPanel addTabbedPanel(java.lang.String namePanel,
                                                GralPanelActivated_ifc user,
                                                int properties)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a panel for tabs as child of the current panel.
      Specified by:
        `addTabbedPanel` in interface `GralMngBuild_ifc`
        `user` - If not null, then this user class will be notified when a tab is selected. The user should update showed values.
        `properties` - use or of constants `GralMngBuild_ifc.propZoomedPanel`, `GralMngBuild_ifc.propGridZoomedPanel`
      Returns:
        The tab-container, there the tabs can be registered.

    - #### addSlider

          public GralWidget addSlider(java.lang.String sName,
                                      GralUserAction action,
                                      java.lang.String sShowMethod,
                                      java.lang.String sDataPath)

      Specified by:
        `addSlider` in interface `GralMngBuild_ifc`

    - #### addTable

          @Deprecated
          public GralTable addTable(java.lang.String sName,
                                                 int height,
                                                 int[] columnWidths)

      Deprecated.
      Description copied from interface: `GralMngBuild_ifc`
      Adds a table, which is able to scroll. A user action on the GUI with the table invokes the `GralWidget.setActionChange(GralUserAction)` with
      - with given command "table-key".
      - values[0] is the selected line referenced with `GralTableLine_ifc`
      - values[1] is the key code described in `KeyCode`
      If the method isn't given or returns false, the central key action given in `getRegisteredUserAction(String)` for "keyAction" is tried to get and then invoked with cmd = "key" and the key code in values[0]. This central keyAction may be used for application centralized keys without association to the table itself.
      Specified by:
        `addTable` in interface `GralMngBuild_ifc`
      Parameters:
        `sName` - register name, used for `GuiPanelMngWorkingIfc#insertInfo(String, int, String).`
        `height` - The height in grid units for the appearance
        `columnWidths` - Array with width of the columns. Each column has a fix default width per construction. It may or may not a fix widht, it may able to change by mouse actions, adequate to the possibilities of the used graphic base system.
      Returns:

    - #### addText

          @Deprecated
          public GralWidget addText(java.lang.String sText,
                                                 char size,
                                                 int color)

      Deprecated.
      Description copied from interface: `GralMngBuild_ifc`
      Adds a simple text at the current position.
      Specified by:
        `addText` in interface `GralMngBuild_ifc`
      Parameters:
        `sText` - The text
        `size` - size, 'A' is small ...'E' is large.
        `color` - The color as RGB-value in 3 Byte. 0xffffff is white, 0xff0000 is red.
      Returns:

    - #### addImage

          public java.lang.Object addImage(java.lang.String sName,
                                           java.io.InputStream imageStream,
                                           int height,
                                           int width,
                                           java.lang.String sCmd)

      Specified by:
        `addImage` in interface `GralMngBuild_ifc`

    - #### addHtmlBox

          public GralHtmlBox addHtmlBox(java.lang.String name)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a box which presents html content.
      Specified by:
        `addHtmlBox` in interface `GralMngBuild_ifc`
      Returns:
        The instance arranged in the current panel at current position of the GralWidgetMng

    - #### addCurveViewY

          public GralCurveView addCurveViewY(java.lang.String sName,
                                             int nrofXvalues,
                                             GralCurveView.CommonCurve common)

      Description copied from interface: `GralMngBuild_ifc`
      Adds a curve view for displaying values with ordinary x-coordinate. The scaling of the curve view is set to -100..100 per default.
      Specified by:
        `addCurveViewY` in interface `GralMngBuild_ifc`
      Parameters:
        `sName` - Its registered name
        `nrofXvalues` - depth of the buffer for x-values. It should be 6..20 times of dx.
      Returns:
        The Canvas Object.

    - #### addFocusAction

          public GralWidget addFocusAction(java.lang.String sName,
                                           GralUserAction action,
                                           java.lang.String sCmdEnter,
                                           java.lang.String sCmdRelease)

      Description copied from interface: `GralMngBuild_ifc`
      Adds the given Focus action to the named widget.
      Specified by:
        `addFocusAction` in interface `GralMngBuild_ifc`
      Parameters:
        `sName` - The name of the widget. It should be registered calling any add... method.
      Returns:

    - #### addFocusAction

          public void addFocusAction(GralWidget widgetInfo,
                                     GralUserAction action,
                                     java.lang.String sCmdEnter,
                                     java.lang.String sCmdRelease)

      Description copied from interface: `GralMngBuild_ifc`
      Adds the given Focus action to the known widget.
      Specified by:
        `addFocusAction` in interface `GralMngBuild_ifc`

    - #### createCompositeBox

          public GralPanelContent createCompositeBox(java.lang.String name)

      Description copied from interface: `GralMngBuild_ifc`
      Creates a box inside the current panel to hold some widgets.
      Specified by:
        `createCompositeBox` in interface `GralMngBuild_ifc`
      Returns:

    - #### createGridPanel

          public GralPanelContent createGridPanel(java.lang.String namePanel,
                                                  GralColor backGround,
                                                  int xG,
                                                  int yG,
                                                  int xS,
                                                  int yS)

      Description copied from interface: `GralMngBuild_ifc`
      Creates an independent grid panel which is managed by this. The panel can be associated to any graphic frame.
      Specified by:
        `createGridPanel` in interface `GralMngBuild_ifc`
      Returns:

    - #### remove

          public boolean remove(GralPanelContent compositeBox)

      Description copied from interface: `GralMngBuild_ifc`
      Removes a composite box from the graphic representation.
      Specified by:
        `remove` in interface `GralMngBuild_ifc`
      Returns:
        true if removed.

    - #### closeGral

          public static void closeGral()

      Must only invoke from the Main window close listener.

    - #### createWindow

          @Deprecated
          public GralWindow createWindow(java.lang.String name,
                                                      java.lang.String title,
                                                      int windProps)

      Deprecated.
      Description copied from interface: `GralMngBuild_ifc`
      Creates a Window for a modal or non modal dialog. The window is described by the returned interface. It can be filled with elements. The dialog is able to show and hide calling `GralWindow_setifc.setWindowVisible(boolean)` or `GralMng_ifc#setWindowsVisible(GralWindow_ifc, GralPos)`. The position and size of the window is set with the adequate strategy like all other widget: using `GralMngBuild_ifc.setPositionSize(int, int, int, int, char)`.
      Specified by:
        `createWindow` in interface `GralMngBuild_ifc`
        `title` - Title of the window, may be null, then without title bar.
        `windProps` - Or of the static variables `GralWindow_ifc.windExclusive` etc.
      Returns:

    - #### createFileDialog

          public GralFileDialog_ifc createFileDialog()

      Description copied from interface: `GralMngBuild_ifc`
      Creates a file or directory dialog. The dialog can be activated (showed) any time. The dialog is showed in a own window, maybe modal or not.
      Specified by:
        `createFileDialog` in interface `GralMngBuild_ifc`
      Returns:
        Interface to deal with the dialog.

    - #### redrawWidget

          public void redrawWidget(java.lang.String sName)

      Description copied from interface: `GralMng_ifc`
      Forces the redrawing for all set samples. It should be called after { @link #setSampleCurveViewY(String, float[])}.
      Specified by:
        `redrawWidget` in interface `GralMng_ifc`
      Parameters:
        `sName` - The name of the widget.

    - #### resizeWidget

          public void resizeWidget(GralWidget widgd,
                                   int xSizeParent,
                                   int ySizeParent)

      Description copied from interface: `GralMng_ifc`
      Forces the resizing of the given widged.
      Specified by:
        `resizeWidget` in interface `GralMng_ifc`
      Parameters:
        `widgd` - the widget

    - #### XXXsetWindowsVisible

          public boolean XXXsetWindowsVisible(GralWindow_ifc window,
                                              GralPos atPos)

      Description copied from interface: `GralMng_ifc`
      Sets a given and registered window visible at the given position and size or set it invisible.
      A window can be created by invoking `org.vishia.gral.ifc.GralMngBuild_ifc#createWindow(String, boolean)` in the build phase of the gui. It can be hidden because it is not necessary to show and operate with them. In a adequate phase of operate it can be shown and focused.
      The position is given relative to that panel, which is stored in `GralPos.panel`. To get a position instance, you can set a position invoking
      - `GralMngBuild_ifc.selectPanel(String)`
      - `GralMngBuild_ifc.setPosition(float, float, float, float, int, char)`
      - GralGridPos pos = `GralMngBuild_ifc.getPositionInPanel()`.
      That can be done in the build phase of the graphic. The position can be stored. It is possible to adjust the position relative to the unchanged panel by changing the values of `GralPos.x` etc. It is possible too to change the Panel which relates to the position. Then the grid managing instance have to be known via the `GralMngBuild_ifc` to select a panel. The panels may be moved or resized. With the knowledge of the relative position of the window in respect to a panel of the parent window, the window can be placed onto a proper position of the whole display.
      Specified by:
        `XXXsetWindowsVisible` in interface `GralMng_ifc`
      Parameters:
        `window` - the instance of the window wrapper.
        `atPos` - If null then hide the window. If not null then show the window. The position and size of the window is given related to any panel of any other window.
      Returns:
        true if it is visible.

    - #### setSampleCurveViewY

          public void setSampleCurveViewY(java.lang.String sName,
                                          float[] values)

      Description copied from interface: `GralMng_ifc`
      Adds a sampling value set.
      Specified by:
        `setSampleCurveViewY` in interface `GralMng_ifc`
      Parameters:
        `sName` - The registered name
        `values` - The values.