Class ViewBuilder

java.lang.Object
com.wyu4.snowberryjam.gui.framework.ViewBuilder
All Implemented Interfaces:
javafx.util.Builder<javafx.scene.layout.Region>

public class ViewBuilder extends Object implements javafx.util.Builder<javafx.scene.layout.Region>
The ViewBuilder of the MVCI framework.
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • model

      private final Model model
    • interactor

      private final Interactor interactor
  • Constructor Details

    • ViewBuilder

      public ViewBuilder(Model model, Interactor interactor)
      Creates a new ViewBuilder
      Parameters:
      model - The model of the MVCI framework
  • Method Details

    • build

      public javafx.scene.layout.Region build()
      Specified by:
      build in interface javafx.util.Builder<javafx.scene.layout.Region>
    • createMenuBar

      public javafx.scene.Node createMenuBar()
      Create a new MenuBar filled with project operations.
      Returns:
      MenuBar
    • createProjectWidget

      public javafx.scene.Node createProjectWidget()
      Create a project widget
      Returns:
      A widget with a code editor, viewer, and console.
      See Also:
    • createConsole

      public javafx.scene.Node createConsole()
      Create a console widget
      Returns:
      Node Console that displays logs from LocalStorage
    • createLog

      public javafx.scene.Node createLog(String source, String message, javafx.scene.paint.Color color)
      Create a log widget to be inserted in the console
      Parameters:
      source - The source of the log
      message - The message
      color - The background color
      Returns:
      A new HBox
    • createProjectViewer

      public javafx.scene.Node createProjectViewer()
      Creates a debug viewer for the compiled code.
      Returns:
      A new SplitPane
    • createCodeEditor

      public javafx.scene.Node createCodeEditor()
      Create a new code editor
      Returns:
      CodeArea
      See Also:
    • createFontButton

      public javafx.scene.control.Button createFontButton(org.kordamp.ikonli.javafx.FontIcon icon)