PCL
pcl::InterfaceFeature Namespace Reference

Provides symbolic constants defining feature flags to customize process interfaces. More...

Detailed Description

Besides defining their specific GUI components and behavior, process interfaces can be customized in a standardized way by means of a series of flags that control the contents and functionality of their interface control bars. Those flags are defined through symbolic constants in the InterfaceFeature namespace.

An interface control bar is a managed control located at its parent interface window's bottom side. It is a relatively small panel where a number of standard tool buttons and a one-line text area can be customized.

A standard process interface window has the following layout in PixInsight:

   +---------------------------------+
   |      Interface Title Bar        +
   +---------------------------------+
   |                                 |
   |     Module-Defined              |
   |     Interface Client Area       |
   |                                 |
   +---------------------------------+
   | Info Area                       |
   +---------------------------------+
   | D A G T E X             B V P R |
   +---------------------------------+

Where the two sections at the bottom form the interface's control bar:

  • Info Area is a one-line text label that can be used to provide some feedback and information to the user. The contents of the info area can be modified programmatically, but cannot be changed by the user.
  • D = Process Drag Object, used to create a new process instance by dragging it with the mouse. The new instance can be dragged for execution on selected views, to create process icons, to add instances to a process container, etc.
  • A = Apply button, used for execution of a new process instance on the current view or window.
  • G = Apply Global button, used for execution of a new process instance in the global context.
  • T = Real-Time Preview button, to attach this interface to the real-time previewing system.
  • E = Execute button, used to commit execution of a dynamic interface.
  • X = Cancel button, used to cancel execution of a dynamic interface.
  • B = Browse Documentation button. When this button is activated, the default behavior is to open the Documentation Browser interface and load it with the documentation for the process for which this open the Process Explorer window and show the .
  • P = Preferences button, to open a modal dialog box where process and interface-specific preferences can be edited.
  • R = Reset button, to reset the current instance to a default state.

The following symbolic constants have been publicly defined for interface feature flags:

InterfaceFeature::None This effectively suppresses a interface's control bar
InterfaceFeature::DragObject Process drag object - To generate new process instances
InterfaceFeature::ApplyToViewButton Apply button - To execute a process on the active view
InterfaceFeature::ApplyGlobalButton Apply Global button - To execute a process in the global context
InterfaceFeature::RealTimeButton Real-Time Preview button - To activate the real-time preview interface
InterfaceFeature::ExecuteButton Execute button - To commit a dynamic interface
InterfaceFeature::CancelButton Cancel button - To cancel a dynamic interface
InterfaceFeature::BrowseDocumentationButton Browse documentation button - Browse process-specific documentation
InterfaceFeature::TrackViewButton Track View check box - To activate/deactivate tracking of the current view
InterfaceFeature::PreferencesButton Preferences button - To edit process and interface-specific preferences
InterfaceFeature::ResetButton Reset button - To reset process instance parameters
InterfaceFeature::InfoArea Info Area - To create a single-line text area
InterfaceFeature::Default A default set of flags for static interfaces
InterfaceFeature::DefaultGlobal A default set of flags for static interfaces that execute globally
InterfaceFeature::DefaultDynamic A default set of flags for dynamic interfaces

More functionality can be added to interface control bars in future PixInsight and PCL releases.