# :stopdoc: # This file is automatically generated by the WXRuby3 documentation # generator. Do not alter this file. # :startdoc: module Wx # PD_CAN_ABORT = 1 # PD_APP_MODAL = 2 # PD_AUTO_HIDE = 4 # PD_ELAPSED_TIME = 8 # PD_ESTIMATED_TIME = 16 # PD_SMOOTH = 32 # PD_REMAINING_TIME = 64 # PD_CAN_SKIP = 128 # If supported by the platform this class will provide the platform's native progress dialog, else it will simply be the {Wx::GenericProgressDialog}. # # class ProgressDialog < Dialog # @param title [String] # @param message [String] # @param maximum [Integer] # @param parent [Wx::Window] # @param style [Integer] # @return [ProgressDialog] def initialize(title, message, maximum=100, parent=nil, style=(Wx::PD_APP_MODAL|Wx::PD_AUTO_HIDE)) end # Returns the last value passed to the {Wx::ProgressDialog#update} function or {Wx::NOT_FOUND} if the dialog has no progress bar. # @return [Integer] def get_value; end alias_method :value, :get_value # Returns the maximum value of the progress meter, as passed to the constructor or {Wx::NOT_FOUND} if the dialog has no progress bar. # @return [Integer] def get_range; end alias_method :range, :get_range # Returns the last message passed to the {Wx::ProgressDialog#update} function; if you always passed {Wx::EmptyString} to {Wx::ProgressDialog#update} then the message set through the constructor is returned. # @return [String] def get_message; end alias_method :message, :get_message # Like {Wx::ProgressDialog#update} but makes the gauge control run in indeterminate mode. # In indeterminate mode the remaining and the estimated time labels (if present) are set to "Unknown" or to newmsg (if it's non-empty). Each call to this function moves the progress bar a bit to indicate that some progress was done. # @see Wx::Gauge#pulse # @see Wx::ProgressDialog#update # @param newmsg [String] # @param skip [bool] # @return [true,false] def pulse(newmsg=Wx::EMPTY_STRING, skip=nil) end # Can be used to continue with the dialog, after the user had clicked the "Abort" button. # @return [void] def resume; end # Changes the maximum value of the progress meter given in the constructor. # This function can only be called (with a positive value) if the value passed in the constructor was positive. # @param maximum [Integer] # @return [void] def set_range(maximum) end alias_method :range=, :set_range # Returns true if the "Cancel" button was pressed. # Normally a Cancel button press is indicated by {Wx::ProgressDialog#update} returning false but sometimes it may be more convenient to check if the dialog was cancelled from elsewhere in the code and this function allows doing it. # It always returns false if the Cancel button is not shown at all. # @return [true,false] def was_cancelled; end # Returns true if the "Skip" button was pressed. # This is similar to {Wx::ProgressDialog#was_cancelled} but returns true if the "Skip" button was pressed, not the "Cancel" one. # @return [true,false] def was_skipped; end # Updates the dialog, setting the progress bar to the new value and updating the message if new one is specified. # Returns true unless the "Cancel" button has been pressed. # If false is returned, the application can either immediately destroy the dialog or ask the user for the confirmation and if the abort is not confirmed the dialog may be resumed with {Wx::ProgressDialog#resume} function. # If value is the maximum value for the dialog, the behaviour of the function depends on whether {Wx::PD_AUTO_HIDE} was used when the dialog was created. If it was, the dialog is hidden and the function returns immediately. If it was not, the dialog becomes a modal dialog and waits for the user to dismiss it, meaning that this function does not return until this happens. # Notice that if newmsg is longer than the currently shown message, the dialog will be automatically made wider to account for it. However if the new message is shorter than the previous one, the dialog doesn't shrink back to avoid constant resizes if the message is changed often. To do this and fit the dialog to its current contents you may call {Wx::ProgressDialog#fit} explicitly. However the native MSW implementation of this class does make the dialog shorter if the new text has fewer lines of text than the old one, so it is recommended to keep the number of lines of text constant in order to avoid jarring dialog size changes. You may also want to make the initial message, specified when creating the dialog, wide enough to avoid having to resize the dialog later, e.g. by appending a long string of unbreakable spaces ({Wx::String}(L'\u00a0', 100)) to it. # @param value [Integer] The new value of the progress meter. It should be less than or equal to the maximum value given to the constructor. # @param newmsg [String] The new messages for the progress dialog text, if it is empty (which is the default) the message is not changed. # @param skip [bool] If "Skip" button was pressed since last {Wx::ProgressDialog#update} call, this is set to true. # @return [true,false] def update(value, newmsg=Wx::EMPTY_STRING, skip=nil) end end # ProgressDialog end