org.vishia.gral.cfg

## Class GralCfgDesigner

- java.lang.Object
- - org.vishia.gral.cfg.GralCfgDesigner

-     public class GralCfgDesigner
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private GralUserAction` | `actionDel`
    `private GralUserAction` | `actionEsc`
    `private GralUserAction` | `actionOk`
    `private boolean` | `bWidgetMoving`
    `private GralCfgBuilder` | `cfgBuilder`
    `(package private) GralButton` | `dialogBtnEditable`
    `private GralWidget` | `dialogButtonEsc`
    `private GralWidget` | `dialogButtonOk`
    `(package private) GralWidget` | `dialogFieldAction` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldColumn` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldDatapath` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldFormat` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldHeight` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldHelp` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldLine` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldName` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldPrompt` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldPromptPos` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldShow` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldText` Some dialog widget elements.
    `(package private) GralWidget` | `dialogFieldWidth` Some dialog widget elements.
    `private GralWindow` | `dialogWindowProps` A Panel which contains the table to select some projectPaths.
    `protected LogMessage` | `log`
    `private GralMng` | `mng`
    `static java.lang.String` | `version` Version, history and license.
    `(package private) GralWidget` | `widgdInDialog` The widget which properties are edit yet or null.
    `(package private) GralWidget` | `widggForDialog` The widget which was marked (with left mouse up).
    `private int` | `xMouse` Coordinates while mouse moved, capture on release button.
    `private int` | `xMouse0` Coordinates while left mouse pressed.
    `private int` | `yMouse` Coordinates while mouse moved, capture on release button.
    `private int` | `yMouse0` Coordinates while left mouse pressed.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GralCfgDesigner(GralCfgBuilder cfgBuilder, GralMng mng, LogMessage log)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `editFieldProperties(GralWidget widgd, GralRectangle xy)`
    `void` | `markWidgetForDesign(GralWidget widgg)`
    `void` | `pressedLeftMouseDownForDesign(GralWidget widgd, GralRectangle xy)`
    `void` | `releaseLeftMouseForDesign(GralWidget widgd, GralRectangle xy, boolean bCopy)`
    `void` | `setToPanel()` Initializes the dialog box of the field properties.
    `(package private) void` | `stop()`

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

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

- - ### Field Detail

    - #### version

          public static final java.lang.String version

      Version, history and license.
      2015-27-01 Hartmut new: Now a text field can be set editable. Usage of a boolean `GralCfgData#editable` instead changing the type of a text field from 'S' to 'T', but in `GralCfgWriter.writeShowField(org.vishia.gral.cfg.GralCfgData.GuiCfgShowField)` it is written as a "InputTextline(...". It means next read of the config reads it as editable.
      - 2011-12-03 Hartmut chg: Now the current widget is stored by left-mouse-release in the field `widggForDialog`. Editing of Led works. sFormat is regarded.
      - 2011-09-30 Hartmut chg: rename pressedRightMouseDownForDesign(...) to `editFieldProperties(GralWidget, GralRectangle)`. because it isn't called as mouse action.
      - 2011-09-23 Hartmut corr: Use the new windows concept with `GralWindow`.
      - 2011-07-07 Hartmut new: Improve dialog, edit all fields of the `GralWidget` inclusive positions.
      - 2011-05-24 Created. The configuration of fields of a GUI are edit-able now in the GUI itself without any other tool.
      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

    - #### log

          protected final LogMessage log

    - #### mng

          private final GralMng mng

    - #### cfgBuilder

          private final GralCfgBuilder cfgBuilder

    - #### dialogWindowProps

          private GralWindow dialogWindowProps

      A Panel which contains the table to select some projectPaths.

    - #### dialogFieldName

          GralWidget dialogFieldName

      Some dialog widget elements.

    - #### dialogFieldDatapath

          GralWidget dialogFieldDatapath

      Some dialog widget elements.

    - #### dialogFieldText

          GralWidget dialogFieldText

      Some dialog widget elements.

    - #### dialogFieldFormat

          GralWidget dialogFieldFormat

      Some dialog widget elements.

    - #### dialogFieldShow

          GralWidget dialogFieldShow

      Some dialog widget elements.

    - #### dialogFieldAction

          GralWidget dialogFieldAction

      Some dialog widget elements.

    - #### dialogFieldPrompt

          GralWidget dialogFieldPrompt

      Some dialog widget elements.

    - #### dialogFieldHelp

          GralWidget dialogFieldHelp

      Some dialog widget elements.

    - #### dialogFieldPromptPos

          GralWidget dialogFieldPromptPos

      Some dialog widget elements.

    - #### dialogFieldLine

          GralWidget dialogFieldLine

      Some dialog widget elements.

    - #### dialogFieldColumn

          GralWidget dialogFieldColumn

      Some dialog widget elements.

    - #### dialogFieldHeight

          GralWidget dialogFieldHeight

      Some dialog widget elements.

    - #### dialogFieldWidth

          GralWidget dialogFieldWidth

      Some dialog widget elements.

    - #### dialogBtnEditable

          GralButton dialogBtnEditable

    - #### dialogButtonOk

          private GralWidget dialogButtonOk

    - #### dialogButtonEsc

          private GralWidget dialogButtonEsc

    - #### xMouse0

          private int xMouse0

      Coordinates while left mouse pressed.

    - #### yMouse0

          private int yMouse0

      Coordinates while left mouse pressed.

    - #### xMouse

          private int xMouse

      Coordinates while mouse moved, capture on release button.

    - #### yMouse

          private int yMouse

      Coordinates while mouse moved, capture on release button.

    - #### bWidgetMoving

          private boolean bWidgetMoving

    - #### widgdInDialog

          GralWidget widgdInDialog

      The widget which properties are edit yet or null.

    - #### widggForDialog

          GralWidget widggForDialog

      The widget which was marked (with left mouse up). This widget will be used for design-edit if the next action is `editFieldProperties(GralWidget, GralRectangle)`.

    - #### actionOk

          private final GralUserAction actionOk

    - #### actionDel

          private final GralUserAction actionDel

    - #### actionEsc

          private final GralUserAction actionEsc

  - ### Constructor Detail

    - #### GralCfgDesigner

          public GralCfgDesigner(GralCfgBuilder cfgBuilder,
                                 GralMng mng,
                                 LogMessage log)

  - ### Method Detail

    - #### setToPanel

          public void setToPanel()

      Initializes the dialog box of the field properties. It should be called in the GUI-Thread.

    - #### pressedLeftMouseDownForDesign

          public void pressedLeftMouseDownForDesign(GralWidget widgd,
                                                    GralRectangle xy)

    - #### markWidgetForDesign

          public void markWidgetForDesign(GralWidget widgg)

    - #### releaseLeftMouseForDesign

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

    - #### editFieldProperties

          public void editFieldProperties(GralWidget widgd,
                                          GralRectangle xy)

    - #### stop

          void stop()