in app/src/main/java/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java [479:1092]
private void controllerDidLoadFxml() {
assert menuBar != null;
assert menuBar.getParent() instanceof StackPane;
assert insertMenu != null;
assert addEffectMenu != null;
assert fileMenu != null;
assert windowMenu != null;
assert newMenuItem != null;
assert newTemplateMenuItem != null;
assert openMenuItem != null;
assert openRecentMenu != null;
assert saveMenuItem != null;
assert saveAsMenuItem != null;
assert revertMenuItem != null;
assert closeMenuItem != null;
assert revealMenuItem != null;
assert importFxmlMenuItem != null;
assert importMediaMenuItem != null;
assert includeFileMenuItem != null;
assert editIncludedFileMenuItem != null;
assert revealIncludedFileMenuItem != null;
assert showPreferencesMenuItem != null;
assert exitMenuItem != null;
assert undoMenuItem != null;
assert redoMenuItem != null;
assert copyMenuItem != null;
assert cutMenuItem != null;
assert pasteMenuItem != null;
assert pasteIntoMenuItem != null;
assert duplicateMenuItem != null;
assert deleteMenuItem != null;
assert selectAllMenuItem != null;
assert selectNoneMenuItem != null;
assert selectParentMenuItem != null;
assert selectNextMenuItem != null;
assert selectPreviousMenuItem != null;
assert trimMenuItem != null;
assert gotoContentMenuItem != null;
assert gotoPropertiesMenuItem != null;
assert gotoLayoutMenuItem != null;
assert gotoCodeMenuItem != null;
assert toggleLibraryPanelMenuItem != null;
assert toggleHierarchyPanelMenuItem != null;
assert toggleCSSPanelMenuItem != null;
assert toggleLeftPanelMenuItem != null;
assert toggleRightPanelMenuItem != null;
assert toggleOutlinesMenuItem != null;
assert toggleSampleDataMenuItem != null;
assert toggleAlignmentGuidesMenuItem != null;
assert showSampleControllerMenuItem != null;
assert zoomMenu != null;
assert zoomMenu.getItems().isEmpty();
assert fitToParentMenuItem != null;
assert useComputedSizesMenuItem != null;
assert addContextMenuMenuItem != null;
assert addTooltipMenuItem != null;
assert moveRowAboveMenuItem != null;
assert moveRowBelowMenuItem != null;
assert moveColumnBeforeMenuItem != null;
assert moveColumnAfterMenuItem != null;
assert addRowAboveMenuItem != null;
assert addRowBelowMenuItem != null;
assert addColumnBeforeMenuItem != null;
assert addColumnAfterMenuItem != null;
assert increaseRowSpanMenuItem != null;
assert decreaseRowSpanMenuItem != null;
assert increaseColumnSpanMenuItem != null;
assert decreaseColumnSpanMenuItem != null;
assert phoneSetSizeMenuItem != null;
assert tabletSetSizeMenuItem != null;
assert qvgaSetSizeMenuItem != null;
assert vgaSetSizeMenuItem != null;
assert touchSetSizeMenuItem != null;
assert hdSetSizeMenuItem != null;
assert bringToFrontMenuItem != null;
assert sendToBackMenuItem != null;
assert bringForwardMenuItem != null;
assert sendBackwardMenuItem != null;
assert wrapInAnchorPaneMenuItem != null;
assert wrapInBorderPaneMenuItem != null;
assert wrapInButtonBarMenuItem != null;
assert wrapInDialogPaneMenuItem != null;
assert wrapInFlowPaneMenuItem != null;
assert wrapInGridPaneMenuItem != null;
assert wrapInHBoxMenuItem != null;
assert wrapInPaneMenuItem != null;
assert wrapInScrollPaneMenuItem != null;
assert wrapInSplitPaneMenuItem != null;
assert wrapInStackPaneMenuItem != null;
assert wrapInTabPaneMenuItem != null;
assert wrapInTextFlowMenuItem != null;
assert wrapInTilePaneMenuItem != null;
assert wrapInTitledPaneMenuItem != null;
assert wrapInToolBarMenuItem != null;
assert wrapInVBoxMenuItem != null;
assert wrapInGroupMenuItem != null;
assert wrapInSceneMenuItem != null;
assert wrapInStageMenuItem != null;
assert unwrapMenuItem != null;
assert showPreviewInWindowMenuItem != null;
assert showPreviewInDialogMenuItem != null;
assert modenaThemeMenuItem != null;
assert modenaTouchThemeMenuItem != null;
assert modenaHighContrastBlackonwhiteThemeMenuItem != null;
assert modenaHighContrastWhiteonblackThemeMenuItem != null;
assert modenaHighContrastYellowonblackThemeMenuItem != null;
assert caspianThemeMenuItem != null;
assert caspianHighContrastThemeMenuItem != null;
assert caspianEmbeddedThemeMenuItem != null;
assert caspianEmbeddedQVGAThemeMenuItem != null;
assert addSceneStyleSheetMenuItem != null;
assert removeSceneStyleSheetMenu != null;
assert openSceneStyleSheetMenu != null;
assert setResourceMenuItem != null;
assert removeResourceMenuItem != null;
assert revealResourceMenuItem != null;
assert phonePreviewSizeMenuItem != null;
assert tabletPreviewSizeMenuItem != null;
assert qvgaPreviewSizeMenuItem != null;
assert vgaPreviewSizeMenuItem != null;
assert touchPreviewSizeMenuItem != null;
assert hdPreviewSizeMenuItem != null;
assert preferredPreviewSizeMenuItem != null;
assert helpMenuItem != null;
assert aboutMenuItem != null;
assert checkUpdatesMenuItem != null;
/*
* To make MenuBar.fxml editable with SB 1.1, the menu bar is enclosed
* in a StackPane. This stack pane is useless now.
* So we unwrap the menu bar and make it the panel root.
*/
final StackPane rootStackPane = (StackPane) menuBar.getParent();
rootStackPane.getChildren().remove(menuBar);
/*
* On Mac, move the menu bar on the desktop and remove the Quit item
* from the File menu
*/
if (EditorPlatform.IS_MAC) {
menuBar.setUseSystemMenuBar(true);
// SB-269
menuBar.useSystemMenuBarProperty().addListener((obs, ov, nv) -> {
if (! nv) {
// Restore System MenuBar
menuBar.setUseSystemMenuBar(true);
}
});
exitMenuItem.getParentMenu().getItems().remove(exitMenuItem);
}
/*
* Setup title of the Reveal menu item according the underlying o/s.
*/
final String revealMenuKey;
if (EditorPlatform.IS_MAC) {
revealMenuKey = "menu.title.reveal.mac";
} else if (EditorPlatform.IS_WINDOWS) {
revealMenuKey = "menu.title.reveal.win.mnemonic";
} else {
assert EditorPlatform.IS_LINUX;
revealMenuKey = "menu.title.reveal.linux";
}
revealMenuItem.setText(I18N.getString(revealMenuKey));
/*
* File menu
*/
newMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.NEW_FILE));
newMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.N, modifier));
newTemplateMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.NEW_TEMPLATE));
openMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.OPEN_FILE));
openMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.O, modifier));
openRecentMenu.setOnShowing(t -> updateOpenRecentMenuItems());
saveMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SAVE_FILE));
saveMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.S, modifier));
saveAsMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SAVE_AS_FILE));
saveAsMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.S, KeyCombination.SHIFT_DOWN, modifier));
revertMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.REVERT_FILE));
revealMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.REVEAL_FILE));
importFxmlMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.IMPORT_FXML));
importMediaMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.IMPORT_MEDIA));
includeFileMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.INCLUDE_FXML));
editIncludedFileMenuItem.setUserData(new ControlActionController(ControlAction.EDIT_INCLUDED_FILE) {
@Override
public String getTitle() {
String title = I18N.getString("menu.title.edit.included.default");
if (documentWindowController != null) {
final File file = documentWindowController.getEditorController().getIncludedFile();
if (file != null) {
title = I18N.getString("menu.title.edit.included", file.getName());
}
}
return title;
}
});
revealIncludedFileMenuItem.setUserData(new ControlActionController(ControlAction.REVEAL_INCLUDED_FILE) {
@Override
public String getTitle() {
String title = I18N.getString("menu.title.reveal.included.default");
if (documentWindowController != null) {
final File file = documentWindowController.getEditorController().getIncludedFile();
if (file != null) {
if (EditorPlatform.IS_MAC) {
title = I18N.getString("menu.title.reveal.included.finder", file.getName());
} else {
title = I18N.getString("menu.title.reveal.included.explorer", file.getName());
}
}
}
return title;
}
});
closeMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.CLOSE_FRONT_WINDOW));
closeMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.W, modifier));
showPreferencesMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.SHOW_PREFERENCES));
showPreferencesMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.COMMA, modifier));
exitMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.EXIT));
/*
* Edit menu
*/
undoMenuItem.setUserData(new UndoActionController());
undoMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.Z, modifier));
redoMenuItem.setUserData(new RedoActionController());
if (EditorPlatform.IS_MAC) {
// Mac platforms.
redoMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.Z, KeyCombination.SHIFT_DOWN, modifier));
} else {
// Windows and Linux platforms.
// http://windows.microsoft.com/en-US/windows7/Keyboard-shortcuts
redoMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.Y, modifier));
}
copyMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.COPY));
copyMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.C, modifier));
cutMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.CUT));
cutMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.X, modifier));
pasteMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.PASTE));
pasteMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.V, modifier));
pasteIntoMenuItem.setUserData(new EditActionController(EditAction.PASTE_INTO));
pasteIntoMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.V, KeyCombination.SHIFT_DOWN, modifier));
duplicateMenuItem.setUserData(new EditActionController(EditAction.DUPLICATE));
duplicateMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.D, modifier));
deleteMenuItem.setUserData(new DocumentEditActionController(DocumentEditAction.DELETE));
deleteMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DELETE));
selectAllMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SELECT_ALL));
selectAllMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.A, modifier));
selectNoneMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SELECT_NONE));
selectNoneMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.A, KeyCombination.SHIFT_DOWN, modifier));
selectParentMenuItem.setUserData(new ControlActionController(ControlAction.SELECT_PARENT));
selectParentMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.UP, modifier));
selectNextMenuItem.setUserData(new ControlActionController(ControlAction.SELECT_NEXT));
selectNextMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.RIGHT, modifier));
selectPreviousMenuItem.setUserData(new ControlActionController(ControlAction.SELECT_PREVIOUS));
selectPreviousMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.LEFT, modifier));
trimMenuItem.setUserData(new EditActionController(EditAction.TRIM));
/*
* View menu
*/
gotoContentMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.GOTO_CONTENT));
gotoContentMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT0, modifier));
gotoPropertiesMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.GOTO_PROPERTIES));
gotoPropertiesMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT1, modifier));
gotoLayoutMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.GOTO_LAYOUT));
gotoLayoutMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT2, modifier));
gotoCodeMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.GOTO_CODE));
gotoCodeMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT3, modifier));
toggleLibraryPanelMenuItem.setUserData(
new DocumentControlActionController(DocumentControlAction.TOGGLE_LIBRARY_PANEL) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.library.panel";
} else if (documentWindowController.isLibraryPanelVisible()) {
titleKey = "menu.title.hide.library.panel";
} else {
titleKey = "menu.title.show.library.panel";
}
return I18N.getString(titleKey);
}
});
toggleLibraryPanelMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT4, modifier));
toggleHierarchyPanelMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_DOCUMENT_PANEL) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.document.panel";
} else if (documentWindowController.isHierarchyPanelVisible()) {
titleKey = "menu.title.hide.document.panel";
} else {
titleKey = "menu.title.show.document.panel";
}
return I18N.getString(titleKey);
}
});
toggleHierarchyPanelMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT5, modifier));
toggleCSSPanelMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_CSS_PANEL) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.bottom.panel";
} else if (documentWindowController.isBottomPanelVisible()) {
titleKey = "menu.title.hide.bottom.panel";
} else {
titleKey = "menu.title.show.bottom.panel";
}
return I18N.getString(titleKey);
}
});
toggleCSSPanelMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT6, modifier));
toggleLeftPanelMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_LEFT_PANEL) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.left.panel";
} else if (documentWindowController.isLeftPanelVisible()) {
titleKey = "menu.title.hide.left.panel";
} else {
titleKey = "menu.title.show.left.panel";
}
return I18N.getString(titleKey);
}
});
toggleLeftPanelMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT7, modifier));
toggleRightPanelMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_RIGHT_PANEL) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.right.panel";
} else if (documentWindowController.isRightPanelVisible()) {
titleKey = "menu.title.hide.right.panel";
} else {
titleKey = "menu.title.show.right.panel";
}
return I18N.getString(titleKey);
}
});
toggleRightPanelMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.DIGIT8, modifier));
toggleOutlinesMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_OUTLINES_VISIBILITY) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.outlines";
} else if (documentWindowController.getContentPanelController().isOutlinesVisible()) {
titleKey = "menu.title.hide.outlines";
} else {
titleKey = "menu.title.show.outlines";
}
return I18N.getString(titleKey);
}
});
toggleOutlinesMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.E, modifier));
toggleSampleDataMenuItem.setUserData(new ControlActionController(ControlAction.TOGGLE_SAMPLE_DATA) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.hide.sample.data";
} else if (documentWindowController.getEditorController().isSampleDataEnabled()) {
titleKey = "menu.title.hide.sample.data";
} else {
titleKey = "menu.title.show.sample.data";
}
return I18N.getString(titleKey);
}
});
toggleAlignmentGuidesMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.TOGGLE_GUIDES_VISIBILITY) {
@Override
public String getTitle() {
final String titleKey;
if (documentWindowController == null) {
titleKey = "menu.title.disable.guides";
} else {
final ContentPanelController contentPanelController
= documentWindowController.getContentPanelController();
if (contentPanelController.isGuidesVisible()) {
titleKey = "menu.title.disable.guides";
} else {
titleKey = "menu.title.enable.guides";
}
}
return I18N.getString(titleKey);
}
});
showSampleControllerMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SHOW_SAMPLE_CONTROLLER));
updateZoomMenu();
/*
* Insert menu: it uses specific handlers, which means we initialize it
* later to avoid interfering with other menus.
*/
/*
* Modify menu
*/
fitToParentMenuItem.setUserData(new EditActionController(EditAction.FIT_TO_PARENT));
fitToParentMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.K, modifier));
useComputedSizesMenuItem.setUserData(new EditActionController(EditAction.USE_COMPUTED_SIZES));
useComputedSizesMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.K, KeyCombination.SHIFT_DOWN, modifier));
addContextMenuMenuItem.setUserData(new EditActionController(EditAction.ADD_CONTEXT_MENU));
addTooltipMenuItem.setUserData(new EditActionController(EditAction.ADD_TOOLTIP));
moveRowAboveMenuItem.setUserData(new EditActionController(EditAction.MOVE_ROW_ABOVE));
moveRowBelowMenuItem.setUserData(new EditActionController(EditAction.MOVE_ROW_BELOW));
moveColumnBeforeMenuItem.setUserData(new EditActionController(EditAction.MOVE_COLUMN_BEFORE));
moveColumnAfterMenuItem.setUserData(new EditActionController(EditAction.MOVE_COLUMN_AFTER));
addRowAboveMenuItem.setUserData(new EditActionController(EditAction.ADD_ROW_ABOVE));
addRowBelowMenuItem.setUserData(new EditActionController(EditAction.ADD_ROW_BELOW));
addColumnBeforeMenuItem.setUserData(new EditActionController(EditAction.ADD_COLUMN_BEFORE));
addColumnAfterMenuItem.setUserData(new EditActionController(EditAction.ADD_COLUMN_AFTER));
increaseRowSpanMenuItem.setUserData(new EditActionController(EditAction.INCREASE_ROW_SPAN));
decreaseRowSpanMenuItem.setUserData(new EditActionController(EditAction.DECREASE_ROW_SPAN));
increaseColumnSpanMenuItem.setUserData(new EditActionController(EditAction.INCREASE_COLUMN_SPAN));
decreaseColumnSpanMenuItem.setUserData(new EditActionController(EditAction.DECREASE_COLUMN_SPAN));
phoneSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_335x600) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_335x600);
}
});
tabletSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_900x600) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_900x600);
}
});
qvgaSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_320x240) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_320x240);
}
});
vgaSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_640x480) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_640x480);
}
});
touchSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_1280x800) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_1280x800);
}
});
hdSetSizeMenuItem.setUserData(new EditActionController(EditAction.SET_SIZE_1920x1080) {
@Override
public void perform() {
super.perform();
updatePreviewWindowSize(Size.SIZE_1920x1080);
}
});
// Add Effect submenu
updateAddEffectMenu();
/*
* Arrange menu
*/
bringToFrontMenuItem.setUserData(new EditActionController(EditAction.BRING_TO_FRONT));
bringToFrontMenuItem.setAccelerator(new KeyCharacterCombination("]", //NOI18N
KeyCombination.SHIFT_DOWN, modifier));
sendToBackMenuItem.setUserData(new EditActionController(EditAction.SEND_TO_BACK));
sendToBackMenuItem.setAccelerator(new KeyCharacterCombination("[", //NOI18N
KeyCombination.SHIFT_DOWN, modifier));
bringForwardMenuItem.setUserData(new EditActionController(EditAction.BRING_FORWARD));
bringForwardMenuItem.setAccelerator(
new KeyCharacterCombination("]", modifier)); //NOI18N
sendBackwardMenuItem.setUserData(new EditActionController(EditAction.SEND_BACKWARD));
sendBackwardMenuItem.setAccelerator(
new KeyCharacterCombination("[", modifier)); //NOI18N
wrapInAnchorPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_ANCHOR_PANE));
wrapInBorderPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_BORDER_PANE));
wrapInButtonBarMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_BUTTON_BAR));
wrapInDialogPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_DIALOG_PANE));
wrapInFlowPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_FLOW_PANE));
wrapInGroupMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_GROUP));
wrapInGridPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_GRID_PANE));
wrapInHBoxMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_HBOX));
wrapInPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_PANE));
wrapInScrollPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_SCROLL_PANE));
wrapInSplitPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_SPLIT_PANE));
wrapInStackPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_STACK_PANE));
wrapInTabPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_TAB_PANE));
wrapInTextFlowMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_TEXT_FLOW));
wrapInTilePaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_TILE_PANE));
wrapInTitledPaneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_TITLED_PANE));
wrapInToolBarMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_TOOL_BAR));
wrapInVBoxMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_VBOX));
wrapInGroupMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_GROUP));
wrapInSceneMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_SCENE));
wrapInStageMenuItem.setUserData(new EditActionController(EditAction.WRAP_IN_STAGE));
unwrapMenuItem.setUserData(new EditActionController(EditAction.UNWRAP));
unwrapMenuItem.setAccelerator(
new KeyCodeCombination(KeyCode.U, modifier));
/*
* Preview menu
*/
showPreviewInWindowMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SHOW_PREVIEW_WINDOW));
showPreviewInWindowMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.P, modifier));
showPreviewInDialogMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SHOW_PREVIEW_DIALOG));
caspianHighContrastThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.CASPIAN_HIGH_CONTRAST));
caspianThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.CASPIAN));
caspianEmbeddedThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.CASPIAN_EMBEDDED));
caspianEmbeddedQVGAThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.CASPIAN_EMBEDDED_QVGA));
modenaThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.MODENA));
modenaTouchThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.MODENA_TOUCH));
modenaHighContrastBlackonwhiteThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.MODENA_HIGH_CONTRAST_BLACK_ON_WHITE));
modenaHighContrastWhiteonblackThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.MODENA_HIGH_CONTRAST_WHITE_ON_BLACK));
modenaHighContrastYellowonblackThemeMenuItem.setUserData(new SetThemeActionController(EditorPlatform.Theme.MODENA_HIGH_CONTRAST_YELLOW_ON_BLACK));
addSceneStyleSheetMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.ADD_SCENE_STYLE_SHEET));
updateOpenAndRemoveSceneStyleSheetMenus();
if (documentWindowController != null) {
this.documentWindowController.getEditorController().sceneStyleSheetProperty().addListener((ChangeListener<ObservableList<File>>) (ov, t, t1) -> {
if (t1 != null) {
updateOpenAndRemoveSceneStyleSheetMenus();
setupMenuItemHandlers(removeSceneStyleSheetMenu);
setupMenuItemHandlers(openSceneStyleSheetMenu);
}
});
}
setResourceMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.SET_RESOURCE));
removeResourceMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.REMOVE_RESOURCE) {
@Override
public String getTitle() {
String title = I18N.getString("menu.title.remove.resource");
if (documentWindowController != null
&& documentWindowController.getResourceFile() != null) {
title = I18N.getString("menu.title.remove.resource.with.file",
documentWindowController.getResourceFile().getName());
}
return title;
}
});
revealResourceMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.REVEAL_RESOURCE) {
@Override
public String getTitle() {
String title = I18N.getString("menu.title.reveal.resource");
if (documentWindowController != null
&& documentWindowController.getResourceFile() != null) {
title = I18N.getString("menu.title.reveal.resource.with.file",
documentWindowController.getResourceFile().getName());
}
return title;
}
});
phonePreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_335x600));
tabletPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_900x600));
qvgaPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_320x240));
vgaPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_640x480));
touchPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_1280x800));
hdPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_1920x1080));
preferredPreviewSizeMenuItem.setUserData(new SetSizeActionController(Size.SIZE_PREFERRED));
/*
* Window menu : it is setup after the other menus
*/
/*
* Help menu
*/
aboutMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.ABOUT));
helpMenuItem.setUserData(new DocumentControlActionController(DocumentControlAction.HELP));
helpMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.F1));
checkUpdatesMenuItem.setUserData(new ApplicationControlActionController(ApplicationControlAction.CHECK_UPDATES));
/*
* Put some generic handlers on each Menu and MenuItem.
* For Insert and Window menu, we override with specific handlers.
*/
for (Menu m : menuBar.getMenus()) {
setupMenuItemHandlers(m);
}
/*
* Insert menu: we set what is statically known.
*/
constructBuiltinPartOfInsertMenu();
constructCustomPartOfInsertMenu();
// The handler for Insert menu deals only with Custom sub-menu.
insertMenu.setOnMenuValidation(onCustomPartOfInsertMenuValidationHandler);
windowMenu.setOnMenuValidation(onWindowMenuValidationHandler);
}