# Package org.vishia.gral.cfg

This package contains classes which implements configuration capabilities for a GUI.

See: Description

- Class Summary
  Class | Description
  --- | ---
  GralCfgBuilder |
  GralCfgData | This class contains all configuration data for the appearance of the GUI.
  GralCfgData.DataReplace | ZBNF: DataReplace::= <$?
  GralCfgData.GuiCfgButton | ZBNF: Button::= ... ; Class for instance to capture and store the Button data.
  GralCfgData.GuiCfgColor |
  GralCfgData.GuiCfgCoord | ZBNF: |
  GralCfgData.GuiCfgCurveLine | ZBNF: {
  GralCfgData.GuiCfgCurveview | ZBNF: Table::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgImage | ZBNF: Text::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgInputFile | ZBNF: ShowField::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgLed | ZBNF: Text::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgLine | ZBNF: Line::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgShowField | ZBNF: ShowField::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgTable | ZBNF: Table::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgText | ZBNF: Text::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgType | ZBNF: Text::= ... ; Class for instance to capture and store the Table data.
  GralCfgData.GuiCfgWidget | This is the base class of all configuration data for one widget.
  GralCfgDesigner |
  GralCfgElement | ZBNF: Element::= ... ; Class for instance to capture and store one element.
  GralCfgPanel |
  GralCfgPosition | ZBNF: position::= ... ; Class for instance to capture and store the position in an element.
  GralCfgWindow | This is the class to build a graphic window in any application which is configurable.
  GralCfgWriter |
  GralCfgZbnf | Class to read the configuration script for a Graphical User Interface.

## Package org.vishia.gral.cfg Description

This package contains classes which implements configuration capabilities for a GUI. The configuration can be done

- by a script, parsed with ZBNF: `GralCfgZbnf`.
- by setting data into `GralCfgData` with any java program and run `GralCfgBuilder#buildGui(org.vishia.msgDispatch.LogMessage, int)`.
- by editing fields in the GUI representation itself, using `GralCfgDesigner`.

The GUI configuration is presented with data in `GralCfgData` in any case. They can be written into a script using `GralCfgWriter`, which can be re-read with the `GralCfgZbnf` to restore the data. The GUI configuration is not presented with any Java program then.
This cfg package is an alternative against writing a Java-program to build a GUI.