com.ihr.xbrl.gui.basic

## Class BackgroundProcessWithGui

- java.lang.Object
- - com.ihr.xbrl.gui.basic.BackgroundProcessWithGui

- All Implemented Interfaces:
    java.lang.Runnable

      public class BackgroundProcessWithGui
      extends java.lang.Object
      implements java.lang.Runnable

  This class is Runnable and, when started, executes the following steps: 1. In the Swing Thread, this class calls PrepareGUI interface 2. In this execution thread, this calls the run method 3. In the Swing Thread, this class calls PostGUI interface
  Author:
    Ignacio

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `BackgroundProcessWithGui.GUITask` The Interface GUITask.
    `static interface` | `BackgroundProcessWithGui.RunInThisThread` The Interface RunInThisThread.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BackgroundProcessWithGui(BackgroundProcessWithGui.GUITask prepareGUI, BackgroundProcessWithGui.RunInThisThread runHere, BackgroundProcessWithGui.GUITask runAtEnd)` Wraps execution on this Runnable instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `run()`

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

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

- - ### Constructor Detail

    - #### BackgroundProcessWithGui

          public BackgroundProcessWithGui(BackgroundProcessWithGui.GUITask prepareGUI,
                                  BackgroundProcessWithGui.RunInThisThread runHere,
                                  BackgroundProcessWithGui.GUITask runAtEnd)

      Wraps execution on this Runnable instance.
      Parameters:
        `prepareGUI` - can be null, if not null, the code will be executed in the AWT thread
        `runHere` - this code is executed in this thread. GUI can be updated
        `runAtEnd` - can be null, if not null, the code will be executed in the AWT thread

  - ### Method Detail

    - #### run

          public void run()

      Specified by:
        `run` in interface `java.lang.Runnable`