Class UIFeedBack<RETURN_CODE>

  • Type Parameters:
    RETURN_CODE - The return code.
    All Implemented Interfaces:
    IUserInterfaceFeedback<RETURN_CODE>

    public class UIFeedBack<RETURN_CODE>
    extends java.lang.Object
    implements IUserInterfaceFeedback<RETURN_CODE>
    A feed-back class for the license system that can operate in headless or in non-SWT environments.
    Author:
    Christopher Mindus
    • Field Summary

      Fields 
      Modifier and TypeFieldDescription
      static java.lang.StringCANCEL_STRING_CODE
      The "\0" return code for cancel, to check by reference and not string comparison.
      protected RETURN_CODEcancelCode
      The cancel return code.
    • Constructor Summary

      Constructors 
      ConstructorDescription
      UIFeedBack​(org.eclipse.swt.widgets.Shell parent, RETURN_CODE cancelCode)
      A feed-back requires parent shell where dialog boxes are placed.
    • Field Detail

      • CANCEL_STRING_CODE

        public static final java.lang.String CANCEL_STRING_CODE
        The "\0" return code for cancel, to check by reference and not string comparison.
        See Also:
        Constant Field Values
      • cancelCode

        protected final RETURN_CODE cancelCode
        The cancel return code.
    • Constructor Detail

      • UIFeedBack

        public UIFeedBack​(org.eclipse.swt.widgets.Shell parent,
                          RETURN_CODE cancelCode)
        A feed-back requires parent shell where dialog boxes are placed.
        Parameters:
        parent - The parent shell, null for none. If null, it will be the topmost one at the moment.
        cancelCode - The cancel code.
    • Method Detail

      • getDialogShell

        public final org.eclipse.swt.widgets.Shell getDialogShell()
        Gets the dialog shell.
        Returns:
        The shell of the dialog, and if not present, the shell of the parent opening the dialog.
      • createDialog

        public void createDialog​(int type,
                                 java.lang.Object... params)
        Creates the UI dialog.
        Specified by:
        createDialog in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        type - Type of dialog: 1=connection feed-back, 2=final data received.
        params - Parameters: params[0]=title, params[1]="Please wait...".
      • updateFeedBack

        public java.lang.String updateFeedBack​(java.lang.Object... objects)
        Updates the feed-back dialog. This call can come from any thread.
        Specified by:
        updateFeedBack in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        objects - The objects to update.
        Returns:
        The last String encountered, or null for none.
      • getDisplay

        public final org.eclipse.swt.widgets.Display getDisplay()
        Gets the display that is valid for the shells created, parent or dialog shell.
        Returns:
        The display.
      • processDialogBlocked

        public RETURN_CODE processDialogBlocked​(java.lang.Thread threadToStart)
        When this is method called from an unknown thread, it is blocked until the user feed-back dialog is closed.
        Specified by:
        processDialogBlocked in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        threadToStart - Thread to start when dialog is opened, null for none.
        Returns:
        The return code Object, specific to the dialog type, null for CANCEL. If the "cancelCode" in the constructor has been set to e.g. CANCEL_STRING_CODE, this code will be returned as is, and NOT return null.
      • setReturnCode

        public void setReturnCode​(RETURN_CODE returnCode)
        Assigns the return code BEFORE disposing the dialog. The dispose must be done using dispose(). This method can be called from any thread.
        Specified by:
        setReturnCode in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        returnCode - The return code Object, or null for cancel.
      • addCancelListener

        public boolean addCancelListener​(java.lang.Runnable listener)
        Adds a cancel listener.
        Specified by:
        addCancelListener in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        listener - The listener to add.
        Returns:
        true if added, false if already added.
      • removeCancelListener

        public boolean removeCancelListener​(java.lang.Runnable listener)
        Removes a cancel listener.
        Specified by:
        removeCancelListener in interface IUserInterfaceFeedback<RETURN_CODE>
        Parameters:
        listener - The listener to remove.
        Returns:
        true if removed, false if already removed or never added.
      • cancel

        public boolean cancel()
        Requests cancel of the feedback or dialog.
        Specified by:
        cancel in interface IUserInterfaceFeedback<RETURN_CODE>
        Returns:
        true if cancel is accepted or false if rejected and ignored.