menu.setCheckable(DesignAttributeHandler.readAttribute("checkable", attr, boolean.class));
private static MenuBar.MenuItem addItem(ItemAddBehaviour<MenuBar.MenuItem> behaviour, MenuItem eachChildElement, List<VertexRef> targets, OperationContext operationContext, List<Runnable> hooks) { boolean visibility = eachChildElement.isVisible(targets, operationContext); if (visibility) { // only add item if it is actually visible final MenuBar.MenuItem childMenuItem = behaviour.addItem(); final boolean enabled = eachChildElement.isEnabled(targets, operationContext); final boolean checkable = eachChildElement.isCheckable(); childMenuItem.setEnabled(enabled); childMenuItem.setCheckable(checkable); if (checkable) { boolean checked = eachChildElement.isChecked(targets, operationContext); childMenuItem.setChecked(checked); } // Add click behaviour if leaf element if (!eachChildElement.getChildren().isEmpty() && eachChildElement.getCommand() != null) { LOG.warn("The MenuItem {} is not a leaf but defines a command. The command is ignored.", removeLabelProperties(eachChildElement.getLabel())); } else { if (eachChildElement.getCommand() != null) { childMenuItem.setCommand((MenuBar.Command) selectedItem -> { eachChildElement.getCommand().execute(targets, operationContext); hooks.forEach(Runnable::run); }); } } return childMenuItem; } return null; } }
private static MenuBar.MenuItem addItem(ItemAddBehaviour<MenuBar.MenuItem> behaviour, MenuItem eachChildElement, List<VertexRef> targets, OperationContext operationContext, List<Runnable> hooks) { boolean visibility = eachChildElement.isVisible(targets, operationContext); if (visibility) { // only add item if it is actually visible final MenuBar.MenuItem childMenuItem = behaviour.addItem(); final boolean enabled = eachChildElement.isEnabled(targets, operationContext); final boolean checkable = eachChildElement.isCheckable(); childMenuItem.setEnabled(enabled); childMenuItem.setCheckable(checkable); if (checkable) { boolean checked = eachChildElement.isChecked(targets, operationContext); childMenuItem.setChecked(checked); } // Add click behaviour if leaf element if (!eachChildElement.getChildren().isEmpty() && eachChildElement.getCommand() != null) { LOG.warn("The MenuItem {} is not a leaf but defines a command. The command is ignored.", removeLabelProperties(eachChildElement.getLabel())); } else { if (eachChildElement.getCommand() != null) { childMenuItem.setCommand((MenuBar.Command) selectedItem -> { eachChildElement.getCommand().execute(targets, operationContext); hooks.forEach(Runnable::run); }); } } return childMenuItem; } return null; } }