Class ProgressMonitorPart

    • Field Detail

      • fLabel

        protected Label fLabel
        the label
      • fTaskName

        protected String fTaskName
        the current task name
      • fSubTaskName

        protected String fSubTaskName
        the current sub task name
      • fProgressIndicator

        protected ProgressIndicator fProgressIndicator
        the progress indicator
      • fCancelComponent

        protected Control fCancelComponent
        the cancel component
      • fIsCanceled

        protected volatile boolean fIsCanceled
        true if canceled
      • blockedStatus

        protected IStatus blockedStatus
        current blocked status
      • fCancelListener

        protected Listener fCancelListener
        the cancel lister attached to the cancel component
    • Constructor Detail

      • ProgressMonitorPart

        public ProgressMonitorPart​(Composite parent,
                                   Layout layout)
        Creates a ProgressMonitorPart that does not provide a stop button.
        Parameters:
        parent - The SWT parent of the part.
        layout - The SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. If null is passed the part uses its default layout.
      • ProgressMonitorPart

        public ProgressMonitorPart​(Composite parent,
                                   Layout layout,
                                   int progressIndicatorHeight)
        Creates a ProgressMonitorPart that does not provide a stop button.
        Parameters:
        parent - The SWT parent of the part.
        layout - The SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. If null is passed the part uses its default layout.
        progressIndicatorHeight - The height of the progress indicator in pixels. This value may be SWT.DEFAULT in order to get the default height as calculated by the widget and its layout.
      • ProgressMonitorPart

        public ProgressMonitorPart​(Composite parent,
                                   Layout layout,
                                   boolean createStopButton)
        Creates a ProgressMonitorPart.
        Parameters:
        parent - the SWT parent of the part
        layout - the SWT grid layout used by the part. A client can supply the layout to control how the progress monitor part is laid out. If null is passed the part uses its default layout.
        createStopButton - true if the progress indicator should include a stop button that can be used to cancel any currently running task, and false if no such stop button should be created.
        Since:
        3.6
    • Method Detail

      • attachToCancelComponent

        public void attachToCancelComponent​(Control cancelComponent)
        Attaches the progress monitor part to the given cancel component.
        Parameters:
        cancelComponent - the control whose selection will trigger a cancel. This parameter will be ignored and hence can be null if a stop button was requested upon construction and instead the stop button will enabled and serve as the cancel component.
        See Also:
        ProgressMonitorPart(Composite, Layout, boolean)
      • beginTask

        public void beginTask​(String name,
                              int totalWork)
        Description copied from interface: IProgressMonitor
        Notifies that the main task is beginning. This must only be called once on a given progress monitor instance.
        Specified by:
        beginTask in interface IProgressMonitor
        Parameters:
        name - the name (or description) of the main task
        totalWork - the total number of work units into which the main task is been subdivided. If the value is UNKNOWN the implementation is free to indicate progress in a way which doesn't require the total number of work units in advance.
      • done

        public void done()
        Description copied from interface: IProgressMonitor
        Notifies that the work is done; that is, either the main task is completed or the user canceled it. This method may be called more than once (implementations should be prepared to handle this case).
        Specified by:
        done in interface IProgressMonitor
      • escapeMetaCharacters

        protected static String escapeMetaCharacters​(String in)
        Escapes any occurrence of '&' in the given String so that it is not considered as a mnemonic character in SWT ToolItems, MenuItems, Button and Labels.
        Parameters:
        in - the original String
        Returns:
        The converted String
      • initialize

        protected void initialize​(Layout layout,
                                  int progressIndicatorHeight)
        Creates the progress monitor's UI parts and layouts them according to the given layout. If the layout is null the part's default layout is used.
        Parameters:
        layout - The layout for the receiver.
        progressIndicatorHeight - The suggested height of the indicator
      • internalWorked

        public void internalWorked​(double work)
        Description copied from interface: IProgressMonitor
        Internal method to handle scaling correctly. This method must not be called by a client. Clients should always use the method worked(int).
        Specified by:
        internalWorked in interface IProgressMonitor
        Parameters:
        work - the amount of work done
      • isCanceled

        public boolean isCanceled()
        Description copied from interface: IProgressMonitor
        Returns whether cancelation of current operation has been requested. Long-running operations should poll to see if cancelation has been requested.
        Specified by:
        isCanceled in interface IProgressMonitor
        Returns:
        true if cancellation has been requested, and false otherwise
        See Also:
        IProgressMonitor.setCanceled(boolean)
      • removeFromCancelComponent

        public void removeFromCancelComponent​(Control cancelComponent)
        Detach the progress monitor part from the given cancel component.
        Parameters:
        cancelComponent - the control that was previously used as a cancel component. This parameter will be ignored and hence can be null if a stop button was requested upon construction and instead the stop button will be disabled.
        See Also:
        ProgressMonitorPart(Composite, Layout, boolean)
      • setCanceled

        public void setCanceled​(boolean b)
        Description copied from interface: IProgressMonitor
        Sets the cancel state to the given value.
        Specified by:
        setCanceled in interface IProgressMonitor
        Parameters:
        b - true indicates that cancelation has been requested (but not necessarily acknowledged); false clears this flag
        See Also:
        IProgressMonitor.isCanceled()
      • setFont

        public void setFont​(Font font)
        Description copied from class: Control
        Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.
        Overrides:
        setFont in class Control
        Parameters:
        font - the new font (or null)
      • subTask

        public void subTask​(String name)
        Description copied from interface: IProgressMonitor
        Notifies that a subtask of the main task is beginning. Subtasks are optional; the main task might not have subtasks.
        Specified by:
        subTask in interface IProgressMonitor
        Parameters:
        name - the name (or description) of the subtask
      • queueUpdateLabel

        protected void queueUpdateLabel()
        Enqueues a label update for asynchronous execution. The update is performed throttled to 100ms, i.e. updates within the throttle range are not displayed.
        Since:
        3.14
      • updateLabel

        protected void updateLabel()
        Updates the label with the current task and subtask names.
      • worked

        public void worked​(int work)
        Description copied from interface: IProgressMonitor
        Notifies that a given number of work unit of the main task has been completed. Note that this amount represents an installment, as opposed to a cumulative amount of work done to date.
        Specified by:
        worked in interface IProgressMonitor
        Parameters:
        work - a non-negative number of work units just completed
      • setBlocked

        public void setBlocked​(IStatus reason)
        Description copied from interface: IProgressMonitorWithBlocking
        Indicates that this operation is blocked by some background activity. If a running operation ever calls setBlocked, it must eventually call clearBlocked before the operation completes.

        If the caller is blocked by a currently executing job, this method will return an IJobStatus indicating the job that is currently blocking the caller. If this blocking job is not known, this method will return a plain informational IStatus object.

        Specified by:
        setBlocked in interface IProgressMonitorWithBlocking
        Parameters:
        reason - an optional status object whose message describes the reason why this operation is blocked, or null if this information is not available.
        See Also:
        IProgressMonitorWithBlocking.clearBlocked()