PCL
pcl::ProcessBase Class Referenceabstract

Abstract base class for process descriptions. More...

#include <ProcessBase.h>

+ Inheritance diagram for pcl::ProcessBase:

Public Member Functions

 ProcessBase ()
 
virtual ~ProcessBase () noexcept(false)
 
virtual bool BrowseDocumentation () const =0
 
virtual bool CanBrowseDocumentation () const =0
 
virtual bool CanEditPreferences () const =0
 
virtual bool CanProcessCommandLines () const =0
 
virtual bool CanProcessGlobal () const =0
 
virtual bool CanProcessImages () const =0
 
virtual bool CanProcessViews () const =0
 
virtual String Description () const =0
 
virtual bool EditPreferences () const =0
 
virtual Bitmap Icon () const =0
 
virtual IsoString Id () const =0
 
virtual bool IsAssignable () const =0
 
virtual bool NeedsInitialization () const =0
 
virtual bool NeedsValidation () const =0
 
virtual bool PrefersGlobalExecution () const =0
 
virtual String ScriptComment () const =0
 
virtual Bitmap SmallIcon () const =0
 
virtual uint32 Version () const =0
 

Detailed Description

ProcessBase defines a number of descriptive properties of a process in the PixInsight platform.

ProcessBase is an abstract base class of the MetaProcess and Process instantiable classes. MetaProcess describes an installable process, while the Process class provides direct access to an installed process through intermodule communication.

In more practical terms, modules defining new processes must implement derived classes of MetaProcess, while Process is used by modules requiring direct access to process instances through installed processes.

Note that the ProcessBase, MetaProcess, Process, ProcessImplementation and ProcessInstance classes are conceptually parallel to the FileFormatBase, MetaFileFormat, FileFormat, FileFormatImplementation and FileFormatInstance classes, respectively. This is just a reflection of the strong object orientation and modularity that characterize the PixInsight platform.

See also
MetaProcess, Process, ProcessImplementation, ProcessInstance

Definition at line 94 of file ProcessBase.h.

Constructor & Destructor Documentation

◆ ProcessBase()

pcl::ProcessBase::ProcessBase ( )
inline

Constructs a ProcessBase object.

Definition at line 101 of file ProcessBase.h.

◆ ~ProcessBase()

virtual pcl::ProcessBase::~ProcessBase ( )
inlinevirtualnoexcept

Virtual destructor.

Definition at line 108 of file ProcessBase.h.

Member Function Documentation

◆ BrowseDocumentation()

virtual bool pcl::ProcessBase::BrowseDocumentation ( ) const
pure virtual

Handles a request to browse documentation specific for this process. Returns true iff the documentation was loaded successfully.

Since version 1.7 of the PixInsight core application, the integrated documentation system works in a completely automatic and standardized way to provide documentation browsing and searching functionality.

The default implementation of this member function automatically launches and loads the integrated documentation browser with the documentation for this process, if it exists and has been installed. For more information, please read the documentation for the CanBrowseDocumentation() function.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanBrowseDocumentation()

virtual bool pcl::ProcessBase::CanBrowseDocumentation ( ) const
pure virtual

Returns true iff this process is able to open a documentation browser with specific documentation contents.

Starting from version 1.7, the PixInsight core application implements an integrated documentation system. The core application provides automatic documentation browsing and searching functionality, so normally this member function returns true for all processes.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanEditPreferences()

virtual bool pcl::ProcessBase::CanEditPreferences ( ) const
pure virtual

Returns true iff this process is able to edit specific preferences.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanProcessCommandLines()

virtual bool pcl::ProcessBase::CanProcessCommandLines ( ) const
pure virtual

Returns true iff this process is able to process specific command-line invocations.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanProcessGlobal()

virtual bool pcl::ProcessBase::CanProcessGlobal ( ) const
pure virtual

Returns true iff this process can be executed globally.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanProcessImages()

virtual bool pcl::ProcessBase::CanProcessImages ( ) const
pure virtual

Returns true iff this process is able to process standalone images.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ CanProcessViews()

virtual bool pcl::ProcessBase::CanProcessViews ( ) const
pure virtual

Returns true iff this process is able to process views.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ Description()

virtual String pcl::ProcessBase::Description ( ) const
pure virtual

Returns a descriptive text for this process.

This function should provide a brief but sufficiently informative description of this process. The returned description appears on the Process Explorer window, and should provide information about what this process does and how it can be used, avoiding too exhaustive descriptions that are better reserved for a technical manual.

Process descriptions are always printed on PixInsight consoles. This means that the text output functionality of the Console class can be used to format the string returned by this function. Refer to that class and its documentation for further information.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ EditPreferences()

virtual bool pcl::ProcessBase::EditPreferences ( ) const
pure virtual

Handles a request to edit process preferences. Returns true if the preferences were successfully edited.

By calling this member function for a process able to edit preferences (that is, when CanEditPreferences() returns true), the user is allowed to define a set of preferences specific to this process. Usually this task is implemented on a modal dialog box. In such case, if the user closes the dialog box without accepting the new preferences settings (e.g. by clicking the dialog's Cancel button) this member function should return false. This member function should only return true if the user has edited and accepted a new set of preferences for this process.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ Icon()

virtual Bitmap pcl::ProcessBase::Icon ( ) const
pure virtual

Returns a large icon image that identifies this process.

The returned image is used to identify all instances of this process in the core application's GUI. It is used on the Process Explorer window, on all icons transporting instances of this process, and in general for every graphical item related to this process or to an instance of this process.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ Id()

virtual IsoString pcl::ProcessBase::Id ( ) const
pure virtual

Returns an identifier for this process.

Process identifiers are unique C identifiers.

Implemented in pcl::MetaProcess, and pcl::Process.

◆ IsAssignable()

virtual bool pcl::ProcessBase::IsAssignable ( ) const
pure virtual

Returns true iff the instances of this process are assignable.

Assignable processes allow copying the parameters of one instance (and possibly more module-dependent data) to another.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ NeedsInitialization()

virtual bool pcl::ProcessBase::NeedsInitialization ( ) const
pure virtual

Returns true iff the instances of this process require special initialization.

Special initialization takes place just after instance creation. Sometimes, there are actions that cannot be implemented in the constructor of a process instance class. For example, this often happens when an instance must be initialized by calling reimplemented virtual functions from a base class constructor. Reimplemented virtual functions cannot be resolved from a base class constructor in C++.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ NeedsValidation()

virtual bool pcl::ProcessBase::NeedsValidation ( ) const
pure virtual

Returns true iff the instances of this process require special validation.

Some processes may require validation of their instances just before they are executed. This is known as special validation. The core application will never execute an instance of a process if its validation function fails.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ PrefersGlobalExecution()

virtual bool pcl::ProcessBase::PrefersGlobalExecution ( ) const
pure virtual

Returns true iff the instances of this process prefer execution in the global context, instead of being executed on views.

Note that the option indicated by this function is just a hint to the PixInsight core application, not necessarily observed. This means that the fact that this member function returns true for a process does not mean that the process cannot be executed on views.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ ScriptComment()

virtual String pcl::ProcessBase::ScriptComment ( ) const
pure virtual

Returns a brief description for generated scripts.

The returned text is intended to provide a brief comment to describe this process and its parameters, for quick reference on generated scripts. When writing these comments, think as you do when you're commenting your own source code.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ SmallIcon()

virtual Bitmap pcl::ProcessBase::SmallIcon ( ) const
pure virtual

Returns a small icon image that identifies this process.

For details on process icon images, see the documentation for Icon().

Small icons are used on interface elements where screen space must be preserved. Two good examples are the Process Explorer window and the ProcessContainer interface.

Deprecated:
This member function has been deprecated since core version 1.8.8-6. It is still available for compatibility with existing modules that depend on it, but it will be removed in a future version of PCL. Small icons are deprecated because all process and interface icons must now be specified in SVG format. SVG icons can be resized automatically to the required dimensions.

Implemented in pcl::Process, and pcl::MetaProcess.

◆ Version()

virtual uint32 pcl::ProcessBase::Version ( ) const
pure virtual

Returns a version number for this process, encoded as a hexadecimal number.

For example, version 1.0.5 should be returned as 0x105, and version 3.11.5 as 0x3B5.

Implemented in pcl::Process, and pcl::MetaProcess.


The documentation for this class was generated from the following file: