Each ENLIGHTEN plug-in will be visualized in the ENLIGHTEN GUI via a dynamically generated widget in the right-hand scrolling control list.
More...
Each ENLIGHTEN plug-in will be visualized in the ENLIGHTEN GUI via a dynamically generated widget in the right-hand scrolling control list.
That widget will include a vertical stack of these EnlightenPluginFields.
Each field will have a direction, either "input" (from ENLIGHTEN to the plugin) or "output" (from the plugin to ENLIGHTEN).
- "input" fields are populated by the user via the ENLIGHTEN GUI and passed to the plug-in via an EnlightenPluginRequest (e.g. "matchingThreshold" or "targetPeakCounts")
- "output" fields are populated by the plug-in and passed via EnlightenPluginResponse back to the ENLIGHTEN GUI for display to the user.
Fields can optionally be given a "tooltip" string for mouseOvers.
- Input Fields
Input fields support these datatypes: string, int, float, bool, button.
The plug-in author can determine what QWidget will be used for different "Input" fields by specifying the datatype:
- string -> QLineEdit
- int -> QSpinBox
- float -> QDoubleSpinBox
- bool -> QCheckBox
- button -> QPushButton
All fields can be given an "initial" value.
- Numeric Input Fields
Int and float input fields support "minimum", "maximum" and "step" (increment) settings. Float fields also support decimal-point "precision".
- Button Input Fields
Fields with datatype "button" should include a callback handle to a function, instance method or lambda.
- Output Fields
Output fields support these datatypes: string, int, float, bool, pandas.
Regardless of type, all output fields will be rendered on the GUI as a string (QLabel), with the exception of "pandas".
- Pandas Output Fields
Any given plugin can only declare ONE "pandas" output field, which is expected to contain all the tabular data output by that plugin.
Pandas fields will be rendered to a QTableView.