use of org.archcnl.ui.events.ProjectOptionRequestedEvent in project ArchCNL by Mari-Wie.
the class MainView method createHeader.
private HorizontalLayout createHeader() {
final HorizontalLayout headerBox = new HorizontalLayout();
final Label title = new Label("ArchCNL");
title.getStyle().set("color", "#76d0f1");
title.getStyle().set("font-size", "x-large");
title.getStyle().set("font-weight", "bold");
final MenuBar menuBar = new MenuBar();
final MenuItem project = menuBar.addItem("Project");
final MenuItem edit = menuBar.addItem("Edit");
final MenuItem rules = menuBar.addItem("Rules");
menuBar.addItem("View", e -> fireEvent(new ViewOptionRequestedEvent(this, true)));
menuBar.addItem("Help", e -> fireEvent(new HelpOptionRequestedEvent(this, true)));
final SubMenu projectSubMenu = project.getSubMenu();
projectSubMenu.addItem("New Project", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.NEW)));
openProjectMenuItem = projectSubMenu.addItem("Open Project", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.OPEN)));
saveProjectMenuItem = projectSubMenu.addItem("Save", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.SAVE)));
saveProjectMenuItem.setEnabled(false);
projectSubMenu.addItem("Save As", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.SAVE_AS)));
final SubMenu editSubMenu = edit.getSubMenu();
editSubMenu.addItem("Undo", e -> fireEvent(new EditOptionRequestedEvent(this, true, EditOption.UNDO)));
editSubMenu.addItem("Redo", e -> fireEvent(new EditOptionRequestedEvent(this, true, EditOption.REDO)));
final SubMenu rulesSubMenu = rules.getSubMenu();
rulesSubMenu.addItem("Import from File", e -> fireEvent(new RulesOptionRequestedEvent(this, true, RulesOption.IMPORT_FROM_FILE)));
rulesSubMenu.addItem("Import Rule Presets", e -> fireEvent(new RulesOptionRequestedEvent(this, true, RulesOption.IMPORT_RULE_PRESETS)));
headerBox.add(title, menuBar);
headerBox.setDefaultVerticalComponentAlignment(Alignment.CENTER);
headerBox.setWidthFull();
return headerBox;
}
Aggregations