Package pamViewFX

Class PamControlledGUIFX

Direct Known Subclasses:
AquisitionGUIFX, ArrayGUIFX, BinaryStoreGUIFX, ClickControlGUI, CPODGUIFX, CTFXGUI, DataMapGUIFX, DBGuiFX, DecimatorUIFX, DLControlGUI, FFTGuiFX, FilterGUIFX, MTControlGUI, PlayBackGUI, UserDisplayControlFX.DisplayControlGUI, WhistleMoanGUIFX

public abstract class PamControlledGUIFX extends PamControlledUnitGUI
The PamControlled unit for modules based on JavaFX.

Note that a controlled unit has an associated ICON. This cannot be stored in the GUI class as the access requires an instatitated class. ModuleIconFactory should have the icon added is used instead.

The data model requires that the controlled unit has a list of compatible data unit classes. This means that the function getCompatibleDataUnits must be populated in any PamProcess which has an external data block for the FX GUI to work.

It is important to consider the updateParams() function. This is called from the data model if the data model has changed the parent data block.

Finally it is important to notify the controller that the source datablock has changed in the data model. e.g. in PamControlledUnit.notifyModelChanged(int type) with the controller.... if (fftProcess.getParentDataBlock()!=null){ this.fftParameters.dataSourceName=fftProcess.getParentDataBlock().getDataName(); } else fftParameters.dataSourceName="";

Author:
Jamie Macaulay
  • Constructor Details

    • PamControlledGUIFX

      public PamControlledGUIFX()
  • Method Details

    • getSettingsPane

      public SettingsPane<?> getSettingsPane()
      The settings pane contains ALL possible setting for the module in one placed. Settings panes can be divided into tabs for more space etc.
      Type Parameters:
      T -
      Returns:
      a Pane containing controls to change settings for module.
    • getSidePanes

      public ArrayList<javafx.scene.layout.Pane> getSidePanes()
      A list of panes to be displayed on the side panes. These are generally utility panes allowing users to, for example, quickly check status of module.
      Returns:
      side pane to be displayed.
    • getDisplays

      public ArrayList<UserDisplayNodeFX> getDisplays()
      The display is added to a tab when PamControlledUnit is added. Note that by convention PamControlledUnits which have displays are dedicated display modules e.g. the time base display. Modules, such as the click detector, fft engine etc. should only have side panes.
      Returns:
      display to add to the GUI.
    • updateParams

      public void updateParams()
      This is called whenever a settings pane is closed. If a pamControlledUnit has settings pane then this should be used to update settings based on info input into settings pane.
    • getGUIFlag

      public int getGUIFlag()
      Description copied from class: PamControlledUnitGUI
      Get the flag type for the GUI e.g. PAMGuiManager.SWING;
      Specified by:
      getGUIFlag in class PamControlledUnitGUI
      Returns:
      flag descibing the type of GUI.