org.vishia.gral.ifc

## Interface GralPlugUser_ifc

- All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable

      public interface GralPlugUser_ifc
      extends java.io.Closeable

  This interface plugs an user application to the basic GUI application.
  Superinterface Closeable: On close of the application some threads should be finished or channels should be closed.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `version` Version, history and license.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addGuiMenu(GralWindow_ifc wind)` This routine can be implemented to add some specific menu entries.
    `void` | `changedView(java.lang.String sTitle, int cmd)` This method is called if the view is changed.
    `void` | `init(GralPlugUser2Gral_ifc plugUser2Gui, GralMng gralMng, java.util.Map<java.lang.String,java.lang.String> dataReplacement, GuiCallingArgs args, LogMessage log)` This is the first routine that will be called for the plugin.
    `void` | `initGui(GralMng gralMng)` This routine can be implemented to add some graphic elements to the gui, including special windows.
    `void` | `registerMethods(GralMngBuild_ifc guiMng)`

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Field Detail

    - #### version

          static final int version

      Version, history and license.
      - 2011-06-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

  - ### Method Detail

    - #### init

          void init(GralPlugUser2Gral_ifc plugUser2Gui,
                    GralMng gralMng,
                    java.util.Map<java.lang.String,java.lang.String> dataReplacement,
                    GuiCallingArgs args,
                    LogMessage log)

      This is the first routine that will be called for the plugin. Note that the constructor is parameterless because the plugin may be instantiated by reflection access This routine will be called by `GuiCfg.userInit()` or any of its derivation in the constructor of `org.vishia.gral.area9.GuiCfg#GuiCfg(org.vishia.gral.area9.GuiCallingArgs, org.vishia.gral.area9.GralArea9MainCmd, GralPlugUser2Gral_ifc)` in the main thread, not in the graphic thread.
      Parameters:
        `plugUser2Gui` - Access from the plugin to the Gui main implementation. It is offer to use.
        `gralMng` -
        `dataReplacement` - info about alias for some data paths, application-specific. See `GralCfgData.dataReplace`
        `log` -

    - #### registerMethods

          void registerMethods(GralMngBuild_ifc guiMng)

    - #### changedView

          void changedView(java.lang.String sTitle,
                           int cmd)

      This method is called if the view is changed.
      Parameters:
        `sTitle` - title of a window or panel.
        `cmd` - any command. TODO what.

    - #### initGui

          void initGui(GralMng gralMng)

      This routine can be implemented to add some graphic elements to the gui, including special windows.
      Parameters:
        `gralMng` -

    - #### addGuiMenu

          void addGuiMenu(GralWindow_ifc wind)

      This routine can be implemented to add some specific menu entries.
      Parameters:
        `wind` - The main window access