Interface MainScreenPresentation


  • public interface MainScreenPresentation
    This interface describes all the interactions with the presentation object.
    Author:
    Fabrizio Giudici (Fabrizio.Giudici@tidalwave.it)
    Stereotype:
    Presentation
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  MainScreenPresentation.Bindings
      If the presentation contains form fields, it's a good practice to group them together within a single class which exposes BoundProperty instances.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void bind​(MainScreenPresentation.Bindings bindings)
      A presentation always exposes a bind() method which is invoked by the control and binds callbacks and form fields.
      void notify​(it.tidalwave.util.ui.UserNotificationWithFeedback notification)
      When the control requires an interaction with the user in form of a dialog box with feedback (such as Ok/Cancel) a method must be exposed which accepts a UserNotificationWithFeedback.
      void notify​(java.lang.String message)
      Simple message notifications that appear in the presentation (for instance in a Label can be passed as simple strings of specific methods.
      void pickDirectory​(it.tidalwave.role.ui.BoundProperty<java.nio.file.Path> selectedFolder, it.tidalwave.util.ui.UserNotificationWithFeedback notification)  
      void pickFile​(it.tidalwave.role.ui.BoundProperty<java.nio.file.Path> selectedFile, it.tidalwave.util.ui.UserNotificationWithFeedback notification)  
      void populate​(it.tidalwave.role.ui.PresentationModel pm1, it.tidalwave.role.ui.PresentationModel pm2, it.tidalwave.role.ui.PresentationModel pm3)
      A presentation also exposes some populateXYZ() methods which are used to fill various parts of the UI with data.
      void showUp()
      A presentation typically exposes a showUp() method which brings the object into a visible state.
    • Method Detail

      • bind

        void bind​(@Nonnull
                  MainScreenPresentation.Bindings bindings)
        A presentation always exposes a bind() method which is invoked by the control and binds callbacks and form fields. There is no requirement on the name and signature of the method.
      • showUp

        void showUp()
        A presentation typically exposes a showUp() method which brings the object into a visible state. There is no requirement on the name and signature of the method.
      • populate

        void populate​(@Nonnull
                      it.tidalwave.role.ui.PresentationModel pm1,
                      @Nonnull
                      it.tidalwave.role.ui.PresentationModel pm2,
                      @Nonnull
                      it.tidalwave.role.ui.PresentationModel pm3)
        A presentation also exposes some populateXYZ() methods which are used to fill various parts of the UI with data. Data structures are modelled by PresentationModels. There is no requirement on the name of the method.
      • notify

        void notify​(@Nonnull
                    it.tidalwave.util.ui.UserNotificationWithFeedback notification)
        When the control requires an interaction with the user in form of a dialog box with feedback (such as Ok/Cancel) a method must be exposed which accepts a UserNotificationWithFeedback. There is no requirement on the name of the method.
      • notify

        void notify​(@Nonnull
                    java.lang.String message)
        Simple message notifications that appear in the presentation (for instance in a Label can be passed as simple strings of specific methods.
      • pickFile

        void pickFile​(@Nonnull
                      it.tidalwave.role.ui.BoundProperty<java.nio.file.Path> selectedFile,
                      @Nonnull
                      it.tidalwave.util.ui.UserNotificationWithFeedback notification)
      • pickDirectory

        void pickDirectory​(@Nonnull
                           it.tidalwave.role.ui.BoundProperty<java.nio.file.Path> selectedFolder,
                           @Nonnull
                           it.tidalwave.util.ui.UserNotificationWithFeedback notification)