protected ToolbarMenuButton getAddTabButton() { shortToLongTabNameMap = UIFactory.getAvailableTabNameMap(); List<String> enabledTabs = new ArrayList<String>(); for (AbstractTab tab : tabs) { enabledTabs.add(tab.getClass().getName()); } Menu addTabMenu = new Menu(); for (String tabName : shortToLongTabNameMap.keySet()) { CheckItem item = new CheckItem(tabName, enabledTabs.contains(shortToLongTabNameMap.get(tabName))); addTabMenu.addItem(item); item.addListener( new CheckItemListenerAdapter() { @Override public void onCheckChange(CheckItem item, boolean checked) { String javaClassName = shortToLongTabNameMap.get(item.getText()); if (checked) { onTabAdded(javaClassName); } else { onTabRemoved(javaClassName); } } }); } // Add the "Add user defined tab" addTabMenu.addSeparator(); Item item = new Item("Add your own tab"); addTabMenu.addItem(item); item.addListener( new BaseItemListenerAdapter() { @Override public void onClick(BaseItem item, EventObject e) { onUserDefinedTabAdded(); } }); ToolbarMenuButton addTabButton = new ToolbarMenuButton("Add tab", addTabMenu); addTabButton.setIcon("images/tab_add.gif"); return addTabButton; }
public NavegacaoAcesso() { menu = new Menu(); Item mnuMarcar = new Item(OpenSigCore.i18n.txtMarcar()); mnuMarcar.setIconCls("icon-marcar"); mnuMarcar.addListener( new BaseItemListenerAdapter() { public void onClick(BaseItem item, EventObject e) { TreeNode node = nodeSelecionado; do { node.getUI().toggleCheck(true); node = (TreeNode) node.getParentNode(); } while (node != null && node.getDepth() > 0); checarNode(nodeSelecionado, true); } }); menu.addItem(mnuMarcar); Item mnuDesmarcar = new Item(OpenSigCore.i18n.txtDesmarcar()); mnuDesmarcar.setIconCls("icon-desmarcar"); mnuDesmarcar.addListener( new BaseItemListenerAdapter() { public void onClick(BaseItem item, EventObject e) { checarNode(nodeSelecionado, false); } }); menu.addItem(mnuDesmarcar); mnuExec = new Menu(); final CheckItem chkExecutar = new CheckItem(OpenSigCore.i18n.txtExecutar()); chkExecutar.addListener( new CheckItemListenerAdapter() { public void onCheckChange(CheckItem item, boolean checked) { nodeSelecionado.setAttribute("executar", checked); } }); mnuExec.addItem(chkExecutar); treeAcesso = new Arvore(); treeAcesso.setFiltrar(true); treeAcesso.setExpandir(true); treeAcesso.setHeight(375); treeAcesso.inicializar(); treeAcesso.addListener( new TreePanelListenerAdapter() { public void onCheckChange(TreeNode node, boolean checked) { node.setAttribute("executar", checked); if (checked) { do { node = (TreeNode) node.getParentNode(); node.getUI().toggleCheck(true); } while (node.getDepth() > 0); } else { checarNode(node, checked); } } public void onContextMenu(TreeNode node, EventObject e) { node.select(); nodeSelecionado = node; if (node.getUserObject() instanceof SisAcao) { String executar = nodeSelecionado.getAttribute("executar"); boolean exec = executar == null ? false : executar.equalsIgnoreCase("true"); chkExecutar.setChecked(exec); mnuExec.showAt(e.getXY()); } else { menu.showAt(e.getXY()); } } }); }