private void onClickMainMenuItem(MainMenuItem clickedItem) { if (clickedItem.mIsSelected) return; clickedItem.mIsSelected = true; if (mCurrentSelectedItem != null) { mCurrentSelectedItem.mIsSelected = false; } mCurrentSelectedItem = clickedItem; notifyDataSetChanged(); mOnClickMainMenuItemListener.onClickMainMenuItem(clickedItem); Log.d(TAG, "Current selected main menu item: " + clickedItem.mName); }
@Override protected void update(Model model) { // Check if (toolbar == null) return; // For each item for (final ToolItem item : toolbar.getItems()) { // Check group if (!(item.getData() instanceof MainMenuGroup)) { MainMenuItem mItem = (MainMenuItem) item.getData(); item.setEnabled(mItem == null || mItem.isEnabled(model)); } } }
public void clearSelectedMainMenuItem() { if (mCurrentSelectedItem == null) return; mCurrentSelectedItem.mIsSelected = false; mCurrentSelectedItem = null; notifyDataSetChanged(); }
/** * Creates all items * * @param toolbar * @param items * @param label */ private void createItems(ToolBar toolbar, List<MainMenuItem> items, String label) { // For each item for (final MainMenuItem item : items) { // Skip items that are not buttons if (!item.isButton()) { continue; } // Create group if (item instanceof MainMenuGroup) { MainMenuGroup group = (MainMenuGroup) item; if (!this.toolitems.isEmpty()) { ToolItem menuItem = new ToolItem(toolbar, SWT.SEPARATOR); menuItem.setEnabled(false); menuItem.setData(item); this.toolitems.add(menuItem); } createItems( toolbar, group.getItems(), label.length() != 0 ? label + " -> " + group.getLabel() : group.getLabel()); // $NON-NLS-1$ // Create separator } else if (item instanceof MainMenuSeparator) { if (!this.toolitems.isEmpty()) { ToolItem menuItem = new ToolItem(toolbar, SWT.SEPARATOR); this.toolitems.add(menuItem); } // Create item } else { ToolItem menuItem = new ToolItem(toolbar, SWT.PUSH); menuItem.setToolTipText( label.length() != 0 ? label + " -> " + item.getLabel() : item.getLabel()); // $NON-NLS-1$ if (item.getImage() != null) { menuItem.setImage(item.getImage()); SWTUtil.createDisabledImage(menuItem); } menuItem.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { item.action(getController()); } }); menuItem.setData(item); menuItem.setEnabled(false); this.toolitems.add(menuItem); } } }