Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

MainWindow: merged createMenuBar() and createToolBar() into single method to share 'disable' bindings

AuthorKarl Tauber <email>
Date2015-07-30 17:25:46 GMT+0200
Commit4d058f04126b52deed1b238d2632f00224bda001
Parentcd80272
Delta16 lines added, 10 lines removed, 6-line increase
src/main/java/org/markdownwriterfx/MainWindow.java
import javafx.event.Event;
import javafx.event.EventHandler;
+import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
BorderPane borderPane = new BorderPane();
borderPane.setPrefSize(800, 800);
- borderPane.setTop(new VBox(createMenuBar(), createToolBar()));
+ borderPane.setTop(createMenuBarAndToolBar());
borderPane.setCenter(fileEditorTabPane.getNode());
}
- private MenuBar createMenuBar() {
+ private Node createMenuBarAndToolBar() {
+
+ //---- MenuBar ----
+
// File menu
MenuItem fileNewMenuItem = createMenuItem("New", "Shortcut+N", FILE_ALT, e -> fileNew());
helpAboutMenuItem);
- return new MenuBar(fileMenu, editMenu, insertMenu, helpMenu);
- }
+ MenuBar menuBar = new MenuBar(fileMenu, editMenu, insertMenu, helpMenu);
- private ToolBar createToolBar() {
+
+ //---- ToolBar ----
+
Button fileNewButton = createToolBarButton(FILE_ALT, "New", "Shortcut+N", e -> fileNew());
Button fileOpenButton = createToolBarButton(FOLDER_OPEN_ALT, "Open", "Shortcut+O", e -> fileOpen());
Button insertItalicButton = createToolBarButton(ITALIC, "Italic", "Shortcut+I", e -> insertItalic());
- fileSaveButton.disableProperty().bind(createActiveBooleanProperty(FileEditor::modifiedProperty).not());
+ fileSaveButton.disableProperty().bind(fileSaveMenuItem.disableProperty());
- editUndoButton.disableProperty().bind(createActiveBooleanProperty(FileEditor::canUndoProperty).not());
- editRedoButton.disableProperty().bind(createActiveBooleanProperty(FileEditor::canRedoProperty).not());
+ editUndoButton.disableProperty().bind(editUndoMenuItem.disableProperty());
+ editRedoButton.disableProperty().bind(editRedoMenuItem.disableProperty());
- BooleanBinding activeFileEditorIsNull = fileEditorTabPane.activeFileEditorProperty().isNull();
insertBoldButton.disableProperty().bind(activeFileEditorIsNull);
insertItalicButton.disableProperty().bind(activeFileEditorIsNull);
- return new ToolBar(
+ ToolBar toolBar = new ToolBar(
fileNewButton,
fileOpenButton,
fileSaveButton,
new Separator(),
editUndoButton,
editRedoButton,
new Separator(),
insertBoldButton,
insertItalicButton);
+
+ return new VBox(menuBar, toolBar);
}