Search in sources :

Example 1 with RulesOptionRequestedEvent

use of org.archcnl.ui.events.RulesOptionRequestedEvent 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;
}
Also used : ComponentEventListener(com.vaadin.flow.component.ComponentEventListener) MenuBar(com.vaadin.flow.component.menubar.MenuBar) RulesOptionRequestedEvent(org.archcnl.ui.events.RulesOptionRequestedEvent) Registration(com.vaadin.flow.shared.Registration) URISyntaxException(java.net.URISyntaxException) HorizontalLayout(com.vaadin.flow.component.orderedlayout.HorizontalLayout) Label(com.vaadin.flow.component.html.Label) ProjectOption(org.archcnl.ui.events.ProjectOptionRequestedEvent.ProjectOption) FooterOption(org.archcnl.ui.events.FooterOptionRequestedEvent.FooterOption) RulesOption(org.archcnl.ui.events.RulesOptionRequestedEvent.RulesOption) EditOptionRequestedEvent(org.archcnl.ui.events.EditOptionRequestedEvent) Unit(com.vaadin.flow.component.Unit) VaadinServletRequest(com.vaadin.flow.server.VaadinServletRequest) URI(java.net.URI) NoSuchElementException(java.util.NoSuchElementException) Notification(com.vaadin.flow.component.notification.Notification) Text(com.vaadin.flow.component.Text) MenuItem(com.vaadin.flow.component.contextmenu.MenuItem) VerticalLayout(com.vaadin.flow.component.orderedlayout.VerticalLayout) SubMenu(com.vaadin.flow.component.contextmenu.SubMenu) ProjectOptionRequestedEvent(org.archcnl.ui.events.ProjectOptionRequestedEvent) ViewOptionRequestedEvent(org.archcnl.ui.events.ViewOptionRequestedEvent) ComponentEvent(com.vaadin.flow.component.ComponentEvent) EditOption(org.archcnl.ui.events.EditOptionRequestedEvent.EditOption) HelpOptionRequestedEvent(org.archcnl.ui.events.HelpOptionRequestedEvent) Button(com.vaadin.flow.component.button.Button) FooterOptionRequestedEvent(org.archcnl.ui.events.FooterOptionRequestedEvent) VaadinService(com.vaadin.flow.server.VaadinService) ProjectOptionRequestedEvent(org.archcnl.ui.events.ProjectOptionRequestedEvent) Label(com.vaadin.flow.component.html.Label) HelpOptionRequestedEvent(org.archcnl.ui.events.HelpOptionRequestedEvent) MenuBar(com.vaadin.flow.component.menubar.MenuBar) MenuItem(com.vaadin.flow.component.contextmenu.MenuItem) SubMenu(com.vaadin.flow.component.contextmenu.SubMenu) ViewOptionRequestedEvent(org.archcnl.ui.events.ViewOptionRequestedEvent) EditOptionRequestedEvent(org.archcnl.ui.events.EditOptionRequestedEvent) RulesOptionRequestedEvent(org.archcnl.ui.events.RulesOptionRequestedEvent) HorizontalLayout(com.vaadin.flow.component.orderedlayout.HorizontalLayout)

Aggregations

ComponentEvent (com.vaadin.flow.component.ComponentEvent)1 ComponentEventListener (com.vaadin.flow.component.ComponentEventListener)1 Text (com.vaadin.flow.component.Text)1 Unit (com.vaadin.flow.component.Unit)1 Button (com.vaadin.flow.component.button.Button)1 MenuItem (com.vaadin.flow.component.contextmenu.MenuItem)1 SubMenu (com.vaadin.flow.component.contextmenu.SubMenu)1 Label (com.vaadin.flow.component.html.Label)1 MenuBar (com.vaadin.flow.component.menubar.MenuBar)1 Notification (com.vaadin.flow.component.notification.Notification)1 HorizontalLayout (com.vaadin.flow.component.orderedlayout.HorizontalLayout)1 VerticalLayout (com.vaadin.flow.component.orderedlayout.VerticalLayout)1 VaadinService (com.vaadin.flow.server.VaadinService)1 VaadinServletRequest (com.vaadin.flow.server.VaadinServletRequest)1 Registration (com.vaadin.flow.shared.Registration)1 URI (java.net.URI)1 URISyntaxException (java.net.URISyntaxException)1 NoSuchElementException (java.util.NoSuchElementException)1 EditOptionRequestedEvent (org.archcnl.ui.events.EditOptionRequestedEvent)1 EditOption (org.archcnl.ui.events.EditOptionRequestedEvent.EditOption)1