org.vishia.gral.widget

## Class GralInfoBox

- java.lang.Object
- - org.vishia.gral.widget.GralInfoBox

- All Implemented Interfaces:
    java.lang.Appendable, GralWindow_setifc, GralTextBox_ifc, GralTextField_ifc, GralWidget_ifc, GralWindow_getifc, Removeable

      public final class GralInfoBox
      extends java.lang.Object
      implements GralTextBox_ifc, GralWindow_setifc, GralWindow_getifc

  This class presents a sub window which is used as info box for any messages. A Text info box and a html info box is supported. The html info box is used especially for help. The HTML text is navigable with internal links, maybe with external too. The HTML text

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.vishia.gral.ifc.GralWidget_ifc

      `GralWidget_ifc.ActionChange, GralWidget_ifc.ActionChangeWhen`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) GralUserAction` | `actionClear`
    `private GralUserAction` | `actionOk`
    `(package private) GralUserAction` | `actionOkButton`
    `private GralButton` | `buttonLock`
    `private GralWidget` | `buttonOk`
    `private GralHtmlBox` | `htmlBox`
    `protected GralTextField` | `infoLine`
    `private GralTextBox` | `textBox` The widget which holds the text in the `window`.
    `static int` | `version` Version, history and license.
    `private GralWindow` | `window` The window is created invoking the `GralMngBuild_ifc#createWindow(String, boolean)`.

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

      `sVersion`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GralInfoBox(GralWindow window, GralHtmlBox htmlBox, GralTextField infoLine, GralWidget buttonOk)`
    `GralInfoBox(GralWindow window, GralTextBox textBox, GralTextField infoLine, GralWidget buttonOk)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `activate()`
    `java.lang.Appendable` | `append(char arg0)`
    `java.lang.Appendable` | `append(java.lang.CharSequence text)`
    `java.lang.Appendable` | `append(java.lang.CharSequence arg0, int arg1, int arg2)`
    `void` | `closeWindow()`
    `static GralInfoBox` | `createHtmlInfoBox(java.lang.String posString, java.lang.String name, java.lang.String title, boolean onTop)` Creates a sub window for showing html content.
    `void` | `createImplWidget_Gthread()` Sets this widget to the current panel at the current given position.
    `static GralInfoBox` | `createTextInfoBox(GralMngBuild_ifc mng, java.lang.String name, java.lang.String title)`
    `GralWidget_ifc.ActionChange` | `getActionChange(GralWidget_ifc.ActionChangeWhen when)`
    `GralColor` | `getBackColor(int ix)` Gets the background color for the widget.
    `java.lang.String` | `getCmd()` Any widget can have a command String, which can be quest for example in an action.
    `long` | `getContentIdent()` Gets the content identification of the users data which are set with `GralWidget_ifc.setContentIdent(long)`.
    `java.lang.Object` | `getContentInfo()`
    `int` | `getCursorPos()`
    `java.lang.Object` | `getData()` Gets the application specific info.
    `java.lang.String` | `getDataPath()`
    `java.lang.String` | `getName()`
    `int` | `getNrofLines()`
    `GralRectangle` | `getPixelPositionSize()`
    `java.lang.String` | `getText()` Returns the text of this field.
    `GralMng` | `gralMng()` Returns the associated singleton GralMng.
    `boolean` | `isChanged(boolean setUnchanged)` Returns true if the content is changed from a user action on GUI.
    `boolean` | `isEditable()` Query whether the table line is able to edit: Return from the whole table.
    `boolean` | `isGraphicDisposed()` Returns true if the graphic implementatin widget was initialized, and then it was disposed.
    `boolean` | `isInFocus()` Returns true if this widget is the focused one.
    `boolean` | `isNotEditableOrShouldInitialize()` Query whether this field should be written from any initial or actual data.
    `boolean` | `isVisible()` Returns whether the widget is visible or not.
    `boolean` | `isWindowsVisible()`
    `void` | `refreshFromVariable(VariableContainer_ifc container)` Capability for any widget to update its content from its associated variables described in its sDataPath.
    `void` | `refreshFromVariable(VariableContainer_ifc container, long timeAtleast, GralColor colorRefreshed, GralColor colorOld)`
    `boolean` | `remove()` Removes all referenced data, close all opened resources, removes all graphical widgets etc.
    `void` | `repaint()` repaint request.
    `void` | `repaint(int delay, int latest)` Possible delayed repaint, can be called in any thread.
    `void` | `setActionOk(GralUserAction action)`
    `void` | `setBackColor(GralColor color, int ix)` Sets the background color for the widget.
    `GralColor` | `setBackgroundColor(GralColor color)`
    `void` | `setBoundsPixel(int x, int y, int dx, int dy)`
    `void` | `setCmd(java.lang.String cmd)` Any widget can have a command String, which can be quest for example in an action.
    `long` | `setContentIdent(long date)` Sets a identification for the shown data.
    `int` | `setCursorPos(int pos)`
    `void` | `setData(java.lang.Object data)` Sets a application specific data.
    `void` | `setDataPath(java.lang.String sDataPath)` Sets the data path.
    `void` | `setEditable(boolean editable)` Sets whether it is able to edit the content of the text field or text box.
    `void` | `setFocus()` Sets the focus to the widget. .
    `void` | `setFocus(int delay, int latest)` Sets the focus to the widget. .
    `GralColor` | `setForegroundColor(GralColor color)`
    `void` | `setFullScreen(boolean full)`
    `void` | `setHtmlHelp(java.lang.String url)` Sets the html help url for this widget.
    `void` | `setLineColor(GralColor color, int ix)` Sets the line color for the widget.
    `void` | `setText(java.lang.CharSequence text)` Set the textual content of the widget.
    `void` | `setText(java.lang.CharSequence text, int caretPos)` Sets the textual content and show it with the given caret position.
    `void` | `setTextColor(GralColor color)` Sets the text color for the widget.
    `void` | `setTextStyle(GralColor color, GralFont font)` Sets the style of all new set and added texts.
    `void` | `setToPanel(GralMngBuild_ifc mng)` Deprecated.
    `void` | `setUrl(java.lang.String url)`
    `boolean` | `setVisible(boolean visible)` Sets this widget visible on graphic or invisible.
    `void` | `setWindowVisible(boolean visible)` Controls whether the whole window, which contains this panel, should be visible or not.
    `void` | `viewTrail()` Sets the view to the trail of the text.

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

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

- - ### Field Detail

    - #### version

          public static final int version

      Version, history and license.
      - 2013-03-24 Hartmut chg: `#createHtmlInfoBox(GralMngBuild_ifc, String, String, boolean)` with Parameter onTop: Especially a help window should able to stay on top.
      - 2011-10-00 Hartmut created
      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 doesn'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 intent to use this source without publishing its usage, you can get a second license subscribing a special contract with the author.
      See Also:
        Constant Field Values

    - #### window

          private final GralWindow window

      The window is created invoking the `GralMngBuild_ifc#createWindow(String, boolean)`. It has its implementation in the underlying graphic system.

    - #### textBox

          private final GralTextBox textBox

      The widget which holds the text in the `window`.

    - #### htmlBox

          private final GralHtmlBox htmlBox

    - #### buttonOk

          private final GralWidget buttonOk

    - #### buttonLock

          private GralButton buttonLock

    - #### infoLine

          protected final GralTextField infoLine

    - #### actionOk

          private GralUserAction actionOk

    - #### actionOkButton

          GralUserAction actionOkButton

    - #### actionClear

          GralUserAction actionClear

  - ### Constructor Detail

    - #### GralInfoBox

          public GralInfoBox(GralWindow window,
                             GralTextBox textBox,
                             GralTextField infoLine,
                             GralWidget buttonOk)

    - #### GralInfoBox

          public GralInfoBox(GralWindow window,
                             GralHtmlBox htmlBox,
                             GralTextField infoLine,
                             GralWidget buttonOk)

  - ### Method Detail

    - #### createTextInfoBox

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

    - #### setToPanel

          public void setToPanel(GralMngBuild_ifc mng)

      Description copied from interface: `GralWidget_ifc`
      Deprecated. Use `GralWidget_ifc.createImplWidget_Gthread()`.
      Specified by:
        `setToPanel` in interface `GralWidget_ifc`
      Parameters:
        `mng` - not used. It is known as singleton. Use null as argument.

    - #### createImplWidget_Gthread

          public void createImplWidget_Gthread()

      Description copied from interface: `GralWidget_ifc`
      Sets this widget to the current panel at the current given position. This routine should be called only one time after the Gral widget was created. It creates the graphical appearance using the capabilities of the derived GralMng for the systems graphic level. This method invokes `GralMng.createImplWidget_Gthread(GralWidget)` which tests the type of the derived GralWidget to create the correct graphical widget. That method calls the implementing specific `GralMng.ImplAccess#createImplWidget_Gthread(GralWidget)` which knows the implementation graphic.
      Instance structure
      The implementation of a widget is firstly a class which is inherit from `ImplAccess`. With them the `GralWidget` is references because it is the environment class. The core graphical widget is an aggregation in this instance. It is possible that more as one implementation widget is used for a Gral Widget implementation. For example a text field with a prompt consists of two implementation widgets, the text field and a label for the prompt.
      Positioning and Registering the widget: The registering of a widget is done in `GralWidget#initPosAndRegisterWidget(GralPos)` which is called either on construction of a widget with a String-given position, before it appears on graphic, or on construction of the graphic widget. It calls the package private `GralWidget#initPosAndRegisterWidget(GralPos)`, which takes the given position, stores it in the `GralWidget.pos()` and adds the widget both to its panel which is given with the pos and registers the widget in the GralMng for simple global access. If the name of the widget starts with "@" its name in the panel is the part after "@" whereby the global name is the "panelname.widgetname". If a widget's position is given from left and from right or with percent, it is resized on resizing the window and the panel.
      Specified by:
        `createImplWidget_Gthread` in interface `GralWidget_ifc`

    - #### createHtmlInfoBox

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

      Creates a sub window for showing html content. This routine should only be called in the graphical thread. TODO setToPanel in extra routine! Then it is able to create in any thread.
      Parameters:
        `posString` -
        `name` -
        `title` -
        `onTop` -
      Returns:

    - #### setActionOk

          public void setActionOk(GralUserAction action)

    - #### activate

          public void activate()

    - #### getName

          public java.lang.String getName()

      Specified by:
        `getName` in interface `GralWidget_ifc`

    - #### setCmd

          public void setCmd(java.lang.String cmd)

      Description copied from interface: `GralWidget_ifc`
      Any widget can have a command String, which can be quest for example in an action. The widget can be identified by its `GralWidget_ifc.getCmd()` independent of its name which can be set on runtime with this method.
      Specified by:
        `setCmd` in interface `GralWidget_ifc`

    - #### getCmd

          public java.lang.String getCmd()

      Description copied from interface: `GralWidget_ifc`
      Any widget can have a command String, which can be quest for example in an action. The widget can be identified by this method independent of its name. See `GralWidget_ifc.setCmd(String)`.
      Specified by:
        `getCmd` in interface `GralWidget_ifc`

    - #### getDataPath

          public java.lang.String getDataPath()

      Specified by:
        `getDataPath` in interface `GralWidget_ifc`

    - #### getActionChange

          public GralWidget_ifc.ActionChange getActionChange(GralWidget_ifc.ActionChangeWhen when)

      Specified by:
        `getActionChange` in interface `GralWidget_ifc`

    - #### setTextStyle

          public void setTextStyle(GralColor color,
                                   GralFont font)

      Description copied from interface: `GralTextField_ifc`
      Sets the style of all new set and added texts. The content contained in the text field or box are not changed.
      Specified by:
        `setTextStyle` in interface `GralTextField_ifc`

    - #### setEditable

          public void setEditable(boolean editable)

      Description copied from interface: `GralWidget_ifc`
      Sets whether it is able to edit the content of the text field or text box. If a content is not able to edit, it is a showing field or box. The user can't change the content. But the user can set the cursor, select any text and copy to the systems clipboard. If the content is able to edit, the change should be notified and the content should be gotten. To do that TODO
      Specified by:
        `setEditable` in interface `GralWidget_ifc`
      Parameters:
        `editable` - true then the content is going to be able to change. False then the edit functionality is disabled.

    - #### append

          public java.lang.Appendable append(java.lang.CharSequence text)
                                      throws java.io.IOException

      Specified by:
        `append` in interface `java.lang.Appendable`
      Throws:
        `java.io.IOException`

    - #### getNrofLines

          public int getNrofLines()

      Specified by:
        `getNrofLines` in interface `GralTextBox_ifc`

    - #### setText

          public void setText(java.lang.CharSequence text)

      Description copied from interface: `GralTextField_ifc`
      Set the textual content of the widget. This method is able to call in any thread. The text may be stored in a queue and applied to the widget in the graphical thread.
      Specified by:
        `setText` in interface `GralTextField_ifc`
      Specified by:
        `setText` in interface `GralWidget_ifc`
      Parameters:
        `text` - The content

    - #### setText

          public void setText(java.lang.CharSequence text,
                              int caretPos)

      Description copied from interface: `GralTextField_ifc`
      Sets the textual content and show it with the given caret position. It is adequate `GralTextField_ifc.setText(CharSequence)` if caretPos = 0.
      Specified by:
        `setText` in interface `GralTextField_ifc`
      Parameters:
        `text` - The text to show in the widget.
        `caretPos` - 0 for left, -1 for right, 0 to Integer.MAXINT for a given position. If the caret position is greater then the number of chars, it is set right. That character which is left from the caret position is shown guaranteed in the text field. Especially -1 can be given to show the text right-aligned.

    - #### setCursorPos

          public int setCursorPos(int pos)

      Specified by:
        `setCursorPos` in interface `GralTextField_ifc`

    - #### setUrl

          public void setUrl(java.lang.String url)

    - #### isEditable

          public boolean isEditable()

      Query whether the table line is able to edit: Return from the whole table.
      Specified by:
        `isEditable` in interface `GralWidget_ifc`
      See Also:
        `GralWidget_ifc.isEditable()`

    - #### isNotEditableOrShouldInitialize

          public boolean isNotEditableOrShouldInitialize()

      Description copied from interface: `GralWidget_ifc`
      Query whether this field should be written from any initial or actual data.
      Specified by:
        `isNotEditableOrShouldInitialize` in interface `GralWidget_ifc`

    - #### isGraphicDisposed

          public boolean isGraphicDisposed()

      Description copied from interface: `GralWidget_ifc`
      Returns true if the graphic implementatin widget was initialized, and then it was disposed. It is able to use especially to detect whether a sub window is closed or if the primary window was closed, to finish any other (waiting) thread. It may be used on any disposed widget.
      Specified by:
        `isGraphicDisposed` in interface `GralWidget_ifc`
      Returns:
        true if the Widget was created and after them disposed again.

    - #### isChanged

          public boolean isChanged(boolean setUnchanged)

      Description copied from interface: `GralWidget_ifc`
      Returns true if the content is changed from a user action on GUI.
      Specified by:
        `isChanged` in interface `GralWidget_ifc`
      Parameters:
        `setUnchanged` - If true then set to unchanged with this call.
      Returns:
        true if the content was changed since last setUnchanged.

    - #### getText

          public java.lang.String getText()

      Description copied from interface: `GralTextField_ifc`
      Returns the text of this field. Returns always a valid String object, "" if the text was never set.
      Specified by:
        `getText` in interface `GralTextField_ifc`

    - #### isVisible

          public boolean isVisible()

      Description copied from interface: `GralWidget_ifc`
      Returns whether the widget is visible or not. This method can be invoked in any thread. It is an estimation because the state of the widget may be changed in the last time or a window can be covered by another one. The widget is not visible if it is a member of a card in a tabbed panel and that tab is not the selected one.
      Specified by:
        `isVisible` in interface `GralWidget_ifc`
      Returns:
        true if the widget seams to be visible.

    - #### getCursorPos

          public int getCursorPos()

      Specified by:
        `getCursorPos` in interface `GralTextField_ifc`

    - #### setContentIdent

          public long setContentIdent(long date)

      Description copied from interface: `GralWidget_ifc`
      Sets a identification for the shown data. A widget may not need to refresh if the contentIdent is not changed. A refresh of a widget's content may have side effects in user handling such as selection of text etc. See `GralWidget_ifc.getContentIdent()`.
      Specified by:
        `setContentIdent` in interface `GralWidget_ifc`
      Parameters:
        `date` - any number which identifies the value of content.
      Returns:
        the last stored ident.

    - #### getContentIdent

          public long getContentIdent()

      Description copied from interface: `GralWidget_ifc`
      Gets the content identification of the users data which are set with `GralWidget_ifc.setContentIdent(long)`.
      Specified by:
        `getContentIdent` in interface `GralWidget_ifc`

    - #### repaint

          public void repaint()

      Description copied from interface: `GralWidget_ifc`
      repaint request. It can be called in any thread. If it is called in the graphic thread, the repaint action is executed immediately in the thread. Elsewhere the graphic thread will be waken up in the standard repaint time (about 100 ms). If this routine is invoked more as one time before the standard repaint time expires and not in the graphic thread, then the repaint is executed only one time after the given delay with the last set data. See `GralWidget_ifc.repaint(int, int)`
      Specified by:
        `repaint` in interface `GralWidget_ifc`

    - #### repaint

          public void repaint(int delay,
                              int latest)

      Description copied from interface: `GralWidget_ifc`
      Possible delayed repaint, can be called in any thread. If this method is re-called in the time where the delay is not elapsed then the delay will be set newly, the timer is winding up again. But the latest time on first call will be used.
      Specified by:
        `repaint` in interface `GralWidget_ifc`
      Parameters:
        `delay` - in milliseconds. If 0 or less 0, then it is executed immediately if the calling thread is the graphic thread.
        `latest` - The latest draw time in milliseconds. If it is less 0, then it is unused. If it is 0 or less delay if a delay is given, then the delay isn't wound up on re-call.

    - #### viewTrail

          public void viewTrail()

      Description copied from interface: `GralTextBox_ifc`
      Sets the view to the trail of the text.
      Specified by:
        `viewTrail` in interface `GralTextBox_ifc`

    - #### setBackgroundColor

          public GralColor setBackgroundColor(GralColor color)

      Specified by:
        `setBackgroundColor` in interface `GralWidget_ifc`

    - #### setFocus

          public void setFocus()

      Description copied from interface: `GralWidget_ifc`
      Sets the focus to the widget. . It can be called in any thread. If it is called in the graphic thread, the repaint action is executed immediately in the thread. Elsewhere the graphic thread will be woken up.
      Specified by:
        `setFocus` in interface `GralWidget_ifc`

    - #### setFocus

          public void setFocus(int delay,
                               int latest)

      Description copied from interface: `GralWidget_ifc`
      Sets the focus to the widget. . It can be called in any thread. If it is called in the graphic thread, the repaint action is executed immediately in the thread. Elsewhere the graphic thread will be woken up.
      Specified by:
        `setFocus` in interface `GralWidget_ifc`

    - #### isInFocus

          public boolean isInFocus()

      Description copied from interface: `GralWidget_ifc`
      Returns true if this widget is the focused one.
      Specified by:
        `isInFocus` in interface `GralWidget_ifc`

    - #### setFullScreen

          public void setFullScreen(boolean full)

      Specified by:
        `setFullScreen` in interface `GralWindow_setifc`

    - #### setForegroundColor

          public GralColor setForegroundColor(GralColor color)

      Specified by:
        `setForegroundColor` in interface `GralWidget_ifc`

    - #### isWindowsVisible

          public boolean isWindowsVisible()

      Specified by:
        `isWindowsVisible` in interface `GralWindow_getifc`

    - #### setWindowVisible

          public void setWindowVisible(boolean visible)

      Description copied from interface: `GralWindow_setifc`
      Controls whether the whole window, which contains this panel, should be visible or not. It is proper for such panels especially, which are the only one in a window. If a window is setting visible with this method, it is arranged in the foreground.
      Specified by:
        `setWindowVisible` in interface `GralWindow_setifc`

    - #### append

          public java.lang.Appendable append(char arg0)
                                      throws java.io.IOException

      Specified by:
        `append` in interface `java.lang.Appendable`
      Throws:
        `java.io.IOException`

    - #### append

          public java.lang.Appendable append(java.lang.CharSequence arg0,
                                             int arg1,
                                             int arg2)
                                      throws java.io.IOException

      Specified by:
        `append` in interface `java.lang.Appendable`
      Throws:
        `java.io.IOException`

    - #### setBoundsPixel

          public void setBoundsPixel(int x,
                                     int y,
                                     int dx,
                                     int dy)

      Specified by:
        `setBoundsPixel` in interface `GralWidget_ifc`

    - #### getPixelPositionSize

          public GralRectangle getPixelPositionSize()

      Specified by:
        `getPixelPositionSize` in interface `GralWindow_getifc`

    - #### closeWindow

          public void closeWindow()

      Specified by:
        `closeWindow` in interface `GralWindow_setifc`

    - #### remove

          public boolean remove()

      Description copied from interface: `org.vishia.util.Removeable`
      Removes all referenced data, close all opened resources, removes all graphical widgets etc. This method prepares a dereferencing of the instance. It is similar to the concept of Object.finalize(). But finalize() is designed for the last clearing before the garbage collector deletes an instance. In opposite remove cleans and closes on active run time. It may be proper to call remove inside the finalize() implementation. The remove() implementation should check whether some instances are removed already to support a second call of remove() after a first one!
      Specified by:
        `remove` in interface `Removeable`
      Returns:
        true if successfully. If false it is a hint for the application that the instance itself should not be removed.

    - #### setHtmlHelp

          public void setHtmlHelp(java.lang.String url)

      Description copied from interface: `GralWidget_ifc`
      Sets the html help url for this widget. That information will be used if the widget is focused to control the help window output.
      Specified by:
        `setHtmlHelp` in interface `GralWidget_ifc`
      Parameters:
        `url` - String given url, maybe a local file too with #internalLabel.

    - #### setVisible

          public boolean setVisible(boolean visible)

      Description copied from interface: `GralWidget_ifc`
      Sets this widget visible on graphic or invisible. Any widget can be visible or not. More as one widgets can use the same position, only one of them may set visible. For a `GralWindow`, its the visibility of the whole window. Note that a window which is invisible is not shown in the task bar of the operation system. Note that an application can have more as one window. Note that a dialog window can be set to invisible if it is not need yet instead destroy and build newly.
      Specified by:
        `setVisible` in interface `GralWidget_ifc`
      Returns:

    - #### refreshFromVariable

          public void refreshFromVariable(VariableContainer_ifc container)

      Description copied from interface: `GralWidget_ifc`
      Capability for any widget to update its content from its associated variables described in its sDataPath.
      Specified by:
        `refreshFromVariable` in interface `GralWidget_ifc`
      Parameters:
        `container` - The container is used only if the variable is not known by direct reference in the private `GralWidget.variable` or `GralWidget.variables`. If the variable(s) is/are not known, they are searched by there data path set by `GralWidget_ifc.setDataPath(String)`. More as one variables are possible separated by "," in the setDataPath("variable1, variable2"). The variables are searched in the container calling `VariableContainer_ifc.getVariable(String)`.

    - #### refreshFromVariable

          public void refreshFromVariable(VariableContainer_ifc container,
                                          long timeAtleast,
                                          GralColor colorRefreshed,
                                          GralColor colorOld)

      Specified by:
        `refreshFromVariable` in interface `GralWidget_ifc`

    - #### setDataPath

          public void setDataPath(java.lang.String sDataPath)

      Description copied from interface: `GralWidget_ifc`
      Sets the data path. It is a String in application context. If variables are used, it is the path of one or more variables, see `GralWidget_ifc.refreshFromVariable(VariableContainer_ifc)`.
      Specified by:
        `setDataPath` in interface `GralWidget_ifc`

    - #### setBackColor

          public void setBackColor(GralColor color,
                                   int ix)

      Description copied from interface: `GralWidget_ifc`
      Sets the background color for the widget. It supports widgets with more as one background color by an index. The usage of the index is widget-specific. An index -1 should mean: All backgrounds. ix=0 means the first background.
      Specified by:
        `setBackColor` in interface `GralWidget_ifc`
      Parameters:
        `color` - Any color
        `ix` - -1 for non-specific, 0 for the first color or if only one color is supported, 1, ... if the widget has more as one background.

    - #### getBackColor

          public GralColor getBackColor(int ix)

      Description copied from interface: `GralWidget_ifc`
      Gets the background color for the widget.
      Specified by:
        `getBackColor` in interface `GralWidget_ifc`
      Parameters:
        `ix` - 0 if only one color is supported, 1, ... if the widget has more as one background.
      Returns:
        color Any color

    - #### setLineColor

          public void setLineColor(GralColor color,
                                   int ix)

      Description copied from interface: `GralWidget_ifc`
      Sets the line color for the widget.
      Specified by:
        `setLineColor` in interface `GralWidget_ifc`
      Parameters:
        `color` - Any color
        `ix` - 0 if only one color is supported, 1, ... if the widget has more as one line.

    - #### setTextColor

          public void setTextColor(GralColor color)

      Description copied from interface: `GralWidget_ifc`
      Sets the text color for the widget.
      Specified by:
        `setTextColor` in interface `GralWidget_ifc`
      Parameters:
        `color` - Any color

    - #### getContentInfo

          public java.lang.Object getContentInfo()

      Specified by:
        `getContentInfo` in interface `GralWidget_ifc`

    - #### gralMng

          public GralMng gralMng()

      Description copied from interface: `GralWidget_ifc`
      Returns the associated singleton GralMng. The GralMng is associated only if the widget is setToPanel, see `GralWidget_ifc.setToPanel(GralMngBuild_ifc)`.
      Specified by:
        `gralMng` in interface `GralWidget_ifc`
      Returns:
        null if the Widget is created yet without connection to the graphical implementation layer

    - #### setData

          public void setData(java.lang.Object data)

      Description copied from interface: `GralWidget_ifc`
      Sets a application specific data. It should help to present user data which are associated to this widget. This info can be set and changed anytime.
      Specified by:
        `setData` in interface `GralWidget_ifc`

    - #### getData

          public java.lang.Object getData()

      Description copied from interface: `GralWidget_ifc`
      Gets the application specific info. See `#setContentInfo(Object)`.
      Specified by:
        `getData` in interface `GralWidget_ifc`