///////////////////////////////////////////////////////////////////////////// // Name: interface/wx/appprogress.h // Purpose: interface of wxAppProgressIndicator // Author: wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxAppProgressIndicator A helper class that can be used to update the progress bar in the taskbar button on Windows and the dock icon on macOS. @library{wxcore} @category{misc} @onlyfor{wxmsw,wxosx} @see wxTaskBarButton @since 3.1.0 */ class WXDLLIMPEXP_CORE wxAppProgressIndicator { public: /** Constructs the wxAppProgressIndicator. @param parent The parent window of wxAppProgressIndicator. Note that the window should have its taskbar button showing. If parent is @NULL, the progress will reflect on the taskbar buttons of all the top level windows. @param maxValue Integer range (maximum value) of the progress indicator. */ wxAppProgressIndicator(wxWindow* parent = nullptr, int maxValue = 100); /** Destructor, stops displaying progress and returns the indicator to its normal state. */ virtual ~wxAppProgressIndicator(); /** Check if the application progress display is available. Currently, this only returns @true under wxMSW or wxOSX. If this method returns @false, no other methods of this class will do anything, but they may still be called without any ill effects. */ bool IsAvailable() const; /** Set the progress value in taskbar button of parent window. @param value The new value of the progress meter. It should be less than or equal to the range. */ void SetValue(int value); /** Set the progress range in taskbar button of parent window. */ void SetRange(int range); /** Makes the progress bar run in indeterminate mode. */ bool Pulse(); };