PCL
pcl::ProgressDialog Class Reference

A simple progress bar dialog box. More...

#include <ProgressDialog.h>

+ Inheritance diagram for pcl::ProgressDialog:

Public Member Functions

 ProgressDialog (const String &text=String(), const String &title=String(), size_type lowerBound=0, size_type upperBound=100, Control &parent=Control::Null())
 
void DisableCancelButton (bool disable=true)
 
void EnableCancelButton (bool enable=true)
 
void Increment ()
 
bool IsCancelButtonEnabled () const
 
bool IsCanceled () const
 
size_type LowerBound () const
 
void SetRange (size_type lowerBound, size_type upperBound)
 
void SetText (const String &text)
 
void SetTitle (const String &title)
 
void SetUnbounded ()
 
void SetValue (size_type value)
 
size_type UpperBound () const
 
- Public Member Functions inherited from pcl::Dialog
 Dialog (Control &parent=Control::Null())
 
 ~Dialog () override
 
void Cancel ()
 
void DisableUserResizing (bool disable=true)
 
void EnableUserResizing (bool=true)
 
int Execute ()
 
bool IsUserResizable () const
 
void Ok ()
 
void OnExecute (execute_event_handler handler, Control &receiver)
 
void OnReturn (return_event_handler handler, Control &receiver)
 
void Open ()
 
void Return (int retCode)
 
- Public Member Functions inherited from pcl::Control
 Control (const Control &)=delete
 
 Control (Control &&)=delete
 
 Control (Control &parent=Null(), uint32=0)
 
 ~Control () override
 
void ActivateRealTimePreview ()
 
void ActivateTrackView ()
 
void ActivateWindow ()
 
void AdjustToContents ()
 
RGBA AlternateCanvasColor () const
 
RGBA BackgroundColor () const
 
pcl::Rect BoundsRect () const
 
void BringToFront ()
 
RGBA ButtonColor () const
 
RGBA ButtonTextColor () const
 
bool CanUpdate () const
 
RGBA CanvasColor ()
 
ControlChildByPos (const pcl::Point &p) const
 
ControlChildByPos (int x, int y) const
 
pcl::Rect ChildrenRect () const
 
ControlChildToFocus () const
 
void ClearInfoText ()
 
int ClientHeight () const
 
pcl::Rect ClientRect () const
 
int ClientWidth () const
 
void ControlToLocal (const Control &, int &x, int &y) const
 
pcl::Point ControlToLocal (const Control &w, const pcl::Point &p) const
 
pcl::Cursor Cursor () const
 
void DeactivateRealTimePreview ()
 
void DeactivateTrackView ()
 
void Disable (bool disabled=true)
 
void DisableExpansion (bool horzDisable=true, bool vertDisable=true)
 
void DisableMouseTracking (bool disable=true)
 
void DisableUpdates (bool disable=true)
 
double DisplayPixelRatio () const
 
virtual void Enable (bool enabled=true)
 
void EnableExpansion (bool horzEnable=true, bool vertEnable=true)
 
void EnableMouseTracking (bool=true)
 
void EnableUpdates (bool enable=true)
 
void EnsureLayoutUpdated ()
 
void EnsureUnique () override
 
void Focus (bool focus=true)
 
ControlFocusedChild () const
 
FocusStyles FocusStyle () const
 
pcl::Font Font () const
 
RGBA ForegroundColor () const
 
int FrameHeight () const
 
pcl::Rect FrameRect () const
 
int FrameWidth () const
 
pcl::Cursor GetCursor () const
 
pcl::Font GetFont () const
 
void GetMaxSize (int &w, int &h) const
 
void GetMinSize (int &w, int &h) const
 
void GetScaledMaxSize (int &w, int &h) const
 
void GetScaledMinSize (int &w, int &h) const
 
pcl::Sizer GetSizer () const
 
pcl::Point GlobalToLocal (const pcl::Point &p) const
 
void GlobalToLocal (int &x, int &y) const
 
int Height () const
 
void Hide ()
 
RGBA HighlightColor () const
 
RGBA HighlightedTextColor () const
 
String InfoText () const
 
bool IsActiveWindow () const
 
bool IsAncestorOf (const Control &) const
 
virtual bool IsEnabled () const
 
bool IsFixedHeight () const
 
bool IsFixedWidth () const
 
bool IsFocused () const
 
bool IsHidden () const
 
bool IsHorizontalExpansionEnabled () const
 
bool IsMaximized () const
 
bool IsMinimized () const
 
bool IsModal () const
 
bool IsMouseTrackingEnabled () const
 
bool IsRealTimePreviewActive () const
 
bool IsTrackViewActive () const
 
bool IsUnderMouse () const
 
bool IsVerticalExpansionEnabled () const
 
bool IsVisible () const
 
bool IsWindow () const
 
void LocalToControl (const Control &, int &x, int &y) const
 
pcl::Point LocalToControl (const Control &w, const pcl::Point &p) const
 
pcl::Point LocalToGlobal (const pcl::Point &p) const
 
void LocalToGlobal (int &x, int &y) const
 
pcl::Point LocalToParent (const pcl::Point &p) const
 
void LocalToParent (int &x, int &y) const
 
int LogicalPixelsToPhysical (int size) const
 
int LogicalPixelsToResource (int size) const
 
int MaxHeight () const
 
int MaxWidth () const
 
int MinHeight () const
 
int MinWidth () const
 
void Move (const pcl::Point &p)
 
void Move (int x, int y)
 
ControlNextSiblingToFocus () const
 
void OnChildCreate (child_event_handler, Control &)
 
void OnChildDestroy (child_event_handler, Control &)
 
void OnClose (close_event_handler, Control &)
 
void OnDestroy (event_handler, Control &)
 
void OnEnter (event_handler, Control &)
 
void OnFileDrag (file_drag_event_handler, Control &)
 
void OnFileDrop (file_drop_event_handler, Control &)
 
void OnGetFocus (event_handler, Control &)
 
void OnHide (event_handler, Control &)
 
void OnKeyPress (keyboard_event_handler, Control &)
 
void OnKeyRelease (keyboard_event_handler, Control &)
 
void OnLeave (event_handler, Control &)
 
void OnLoseFocus (event_handler, Control &)
 
void OnMouseDoubleClick (mouse_event_handler, Control &)
 
void OnMouseMove (mouse_event_handler, Control &)
 
void OnMousePress (mouse_button_event_handler, Control &)
 
void OnMouseRelease (mouse_button_event_handler, Control &)
 
void OnMouseWheel (mouse_wheel_event_handler, Control &)
 
void OnMove (move_event_handler, Control &)
 
void OnPaint (paint_event_handler, Control &)
 
void OnResize (resize_event_handler, Control &)
 
void OnShow (event_handler, Control &)
 
void OnViewDrag (view_drag_event_handler, Control &)
 
void OnViewDrop (view_drop_event_handler, Control &)
 
Controloperator= (const Control &)=delete
 
Controloperator= (Control &&)=delete
 
ControlParent () const
 
pcl::Point ParentToLocal (const pcl::Point &p) const
 
void ParentToLocal (int &x, int &y) const
 
int PhysicalPixelsToLogical (int size) const
 
pcl::Point Position () const
 
void Repaint ()
 
void Repaint (const pcl::Rect &r)
 
void Repaint (int x0, int y0, int x1, int y1)
 
void Resize (int w, int h)
 
double ResourcePixelRatio () const
 
int ResourcePixelsToLogical (int size) const
 
void Restyle ()
 
Point ScaledCursorHotSpot (const Point &hotSpot) const
 
Point ScaledCursorHotSpot (int xHot, int yHot) const
 
int ScaledMaxHeight () const
 
int ScaledMaxWidth () const
 
int ScaledMinHeight () const
 
int ScaledMinWidth () const
 
template<class R >
String ScaledResource (R resource) const
 
template<class S >
String ScaledStyleSheet (S cssCode, int fontDPI=0) const
 
void Scroll (const pcl::Point &d)
 
void Scroll (const pcl::Point &d, const pcl::Rect &r)
 
void Scroll (int dx, int dy)
 
void Scroll (int dx, int dy, int x0, int y0, int x1, int y1)
 
void SendToBack ()
 
void SetAlternateCanvasColor (RGBA)
 
void SetBackgroundColor (RGBA)
 
void SetButtonColor (RGBA)
 
void SetButtonTextColor (RGBA)
 
void SetCanvasColor (RGBA)
 
void SetChildToFocus (Control &)
 
void SetClientRect (const pcl::Rect &r)
 
void SetClientRect (int x0, int y0, int x1, int y1)
 
void SetCursor (const pcl::Cursor &)
 
void SetCursorToParent ()
 
void SetFixedHeight ()
 
void SetFixedHeight (int h)
 
void SetFixedSize ()
 
void SetFixedSize (int w, int h)
 
void SetFixedWidth ()
 
void SetFixedWidth (int w)
 
void SetFocusStyle (FocusStyles)
 
void SetFont (const pcl::Font &)
 
void SetForegroundColor (RGBA)
 
void SetHighlightColor (RGBA)
 
void SetHighlightedTextColor (RGBA)
 
void SetInfoText (const String &)
 
void SetMaxHeight ()
 
void SetMaxHeight (int h)
 
void SetMaxSize ()
 
void SetMaxSize (int w, int h)
 
void SetMaxWidth ()
 
void SetMaxWidth (int w)
 
void SetMinHeight ()
 
void SetMinHeight (int h)
 
void SetMinSize ()
 
void SetMinSize (int w, int h)
 
void SetMinWidth ()
 
void SetMinWidth (int w)
 
void SetNextSiblingToFocus (Control &)
 
void SetParent (Control &)
 
void SetRealTimePreviewActive (bool=true)
 
void SetScaledFixedHeight (int h)
 
void SetScaledFixedSize (int w, int h)
 
void SetScaledFixedWidth (int w)
 
void SetScaledMaxHeight (int h)
 
void SetScaledMaxSize (int w, int h)
 
void SetScaledMaxWidth (int w)
 
void SetScaledMinHeight (int h)
 
void SetScaledMinSize (int w, int h)
 
void SetScaledMinWidth (int w)
 
void SetSizer (pcl::Sizer &)
 
void SetStyleSheet (const String &css)
 
void SetTextColor (RGBA)
 
void SetToolTip (const String &)
 
void SetTrackViewActive (bool=true)
 
void SetVariableHeight ()
 
void SetVariableSize ()
 
void SetVariableWidth ()
 
void SetVisible (bool visible)
 
void SetWindowOpacity (double)
 
void SetWindowTitle (const String &)
 
void Show ()
 
pcl::Sizer Sizer () const
 
void StackUnder (Control &)
 
String StyleSheet () const
 
RGBA TextColor () const
 
String ToolTip () const
 
void Unfocus ()
 
void Update ()
 
void Update (const pcl::Rect &r)
 
void Update (int x0, int y0, int x1, int y1)
 
pcl::Rect VisibleRect () const
 
int Width () const
 
ControlWindow () const
 
double WindowOpacity () const
 
String WindowTitle () const
 
int X () const
 
int Y () const
 
- Public Member Functions inherited from pcl::UIObject
virtual ~UIObject () noexcept(false)
 
bool IsAlias () const
 
bool IsGarbage () const
 
bool IsNull () const
 
bool IsSameObject (const UIObject &o) const
 
bool IsUnique () const
 
String ObjectId () const
 
IsoString ObjectType () const
 
bool operator< (const UIObject &o) const
 
bool operator== (const UIObject &o) const
 
size_type RefCount () const
 
void SetObjectId (const String &id)
 

Additional Inherited Members

- Public Types inherited from pcl::Dialog
using execute_event_handler = void(Control::*)(Dialog &sender)
 
using return_event_handler = void(Control::*)(Dialog &sender, int retCode)
 
using std_code = StdDialogCode::value_type
 
- Public Types inherited from pcl::Control
using child_event_handler = void(Control::*)(Control &sender, Control &child)
 
using close_event_handler = void(Control::*)(Control &sender, bool &allowClose)
 
using event_handler = void(Control::*)(Control &sender)
 
using file_drag_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, const StringList &files, unsigned modifiers, bool &wantsFiles)
 
using file_drop_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, const StringList &files, unsigned modifiers)
 
using keyboard_event_handler = void(Control::*)(Control &sender, int key, unsigned modifiers, bool &wantsKey)
 
using mouse_button_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, int button, unsigned buttons, unsigned modifiers)
 
using mouse_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, unsigned buttons, unsigned modifiers)
 
using mouse_wheel_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, int delta, unsigned buttons, unsigned modifiers)
 
using move_event_handler = void(Control::*)(Control &sender, const pcl::Point &newPos, const pcl::Point &oldPos)
 
using paint_event_handler = void(Control::*)(Control &sender, const pcl::Rect &updateRect)
 
using resize_event_handler = void(Control::*)(Control &sender, int newWidth, int newHeight, int oldWidth, int oldHeight)
 
using view_drag_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, const View &view, unsigned modifiers, bool &wantsView)
 
using view_drop_event_handler = void(Control::*)(Control &sender, const pcl::Point &pos, const View &view, unsigned modifiers)
 
- Static Public Member Functions inherited from pcl::Dialog
static void ProcessEvents (bool excludeUserInputEvents=false)
 
- Static Public Member Functions inherited from pcl::Control
static void HideToolTip ()
 
static ControlNull ()
 
static void ShowToolTip (const Point &pos, const String &text, const Control &control=Control::Null(), const Rect &rect=Rect(0))
 
static void ShowToolTip (int x, int y, const String &text, const Control &control=Control::Null(), const Rect &rect=Rect(0))
 
static String ToolTipText ()
 
- Static Public Member Functions inherited from pcl::UIObject
static UIObjectNull ()
 
- Protected Member Functions inherited from pcl::UIObject
 UIObject ()=default
 
 UIObject (const UIObject &x)
 
 UIObject (UIObject &&x)
 
UIObjectoperator= (const UIObject &x)
 
UIObjectoperator= (UIObject &&x)
 

Detailed Description

ProgressDialog is a specialized modal dialog box to provide visual feedback about an ongoing task during potentially long processes. It includes a progress bar indicator that can change its graphical appearance to show the percentage of the total work already done (bounded progress bar), or just to inform the user that the task is still being done (unbounded case). The dialog also provides a customizable text label and an optional Cancel button that the user can activate to interrupt the process.

See also
ProgressBarStatus

Definition at line 83 of file ProgressDialog.h.

Constructor & Destructor Documentation

◆ ProgressDialog()

pcl::ProgressDialog::ProgressDialog ( const String text = String(),
const String title = String(),
size_type  lowerBound = 0,
size_type  upperBound = 100,
Control parent = Control::Null() 
)

Constructs a ProgressDialog.

Parameters
textThe text that will be shown on the informative label above the progress bar. The default text is an empty string, which hides the informative label.
titleThe title of the dialog box window. The default value is an empty string, which causes the window to show a default title defined by the PixInsight core application.
lowerBoundThe minimum value of the progress bar. The default value is zero.
upperBoundThe maximum value of the progress bar. The default value is 100, which is appropriate to show progress values as a percentage of the total work.
parentThe parent control of this dialog. The default value is Control::Null(), which creates a child top-level window of the current workspace.

Member Function Documentation

◆ DisableCancelButton()

void pcl::ProgressDialog::DisableCancelButton ( bool  disable = true)
inline

Disables the Cancel button of this progress dialog. When the Cancel button is disabled, the user has no way to interrupt the running process.

Definition at line 220 of file ProgressDialog.h.

◆ EnableCancelButton()

void pcl::ProgressDialog::EnableCancelButton ( bool  enable = true)

Enables the Cancel button of this progress dialog. When the Cancel button is enabled, the user can activate it to interrupt the running process.

◆ Increment()

void pcl::ProgressDialog::Increment ( )
inline

Increments the value of the progress bar indicator.

Calling this function is equivalent to:

SetValue( m_value + 1 );
void SetValue(size_type value)

Definition at line 196 of file ProgressDialog.h.

◆ IsCancelButtonEnabled()

bool pcl::ProgressDialog::IsCancelButtonEnabled ( ) const
inline

Returns true if the Cancel button is currently enabled.

Definition at line 228 of file ProgressDialog.h.

◆ IsCanceled()

bool pcl::ProgressDialog::IsCanceled ( ) const
inline

Returns true if the Cancel button has been activated by the user, if it is enabled.

Definition at line 205 of file ProgressDialog.h.

◆ LowerBound()

size_type pcl::ProgressDialog::LowerBound ( ) const
inline

Returns the lower bound of the progress bar indicator, or zero if the progress bar is unbounded.

Definition at line 153 of file ProgressDialog.h.

◆ SetRange()

void pcl::ProgressDialog::SetRange ( size_type  lowerBound,
size_type  upperBound 
)

Sets the range of values for the progress bar indicator.

Parameters
lowerBoundThe minimum value of the progress bar.
upperBoundThe maximum value of the progress bar.

If both bounds are set to the same value, e.g. lowerBound = upperBound = 0, the progress bar will be unbounded. Unbounded progress bars change their appearance in a special way to show that the running process is still working, but without any specific information about the amount of the total work already done.

◆ SetText()

void pcl::ProgressDialog::SetText ( const String text)

Sets the informative text shown on a label above the progress bar.

◆ SetTitle()

void pcl::ProgressDialog::SetTitle ( const String title)

Sets the window title for this dialog box.

◆ SetUnbounded()

void pcl::ProgressDialog::SetUnbounded ( )
inline

Causes the progress bar to be unbounded.

Bounded progress bars show information about the amount of the total work already done. Unbounded progress bars change their appearance to inform that the process is still running, but without any specific hint about the amount of pending work. Calling this function is equivalent to:

SetRange( 0, 0 );
void SetRange(size_type lowerBound, size_type upperBound)

Definition at line 144 of file ProgressDialog.h.

◆ SetValue()

void pcl::ProgressDialog::SetValue ( size_type  value)

Sets the current value of the progress bar indicator.

If the progress bar is bounded, the specified value will be constrained to the current limits, as reported by LowerBound() and UpperBound().

If the progress bar is unbounded, the value argument will be ignored and the progress bar indicator will change graphically to provide feedback about a running process, but without any specific information about the amount of work already done.

In all cases the progress bar will be updated on the screen as soon as possible after returning from this function.

◆ UpperBound()

size_type pcl::ProgressDialog::UpperBound ( ) const
inline

Returns the upper bound of the progress bar indicator, or zero if the progress bar is unbounded.

Definition at line 162 of file ProgressDialog.h.


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