/** * Handles the button pressed event on the filter criteria. Move the items between the lists based * on the selection and but button pressed. */ private void buttonPressed(int buttonId) { String[] items = {}; switch (buttonId) { case ADD_TO_ID: items = filterList.getSelection(); for (int i = 0; i < items.length; i++) { filters.add(items[i]); filterList.remove(items[i]); } addTo.setEnabled(false); break; case REMOVE_FROM_ID: items = filters.getSelection(); for (int i = 0; i < items.length; i++) { filterList.add(items[i]); filters.remove(items[i]); } removeFrom.setEnabled(false); break; case ADD_ALL_TO_ID: items = filterList.getItems(); for (int i = 0; i < items.length; i++) { filters.add(items[i]); filterList.remove(items[i]); } break; case REMOVE_ALL_FROM_ID: items = filters.getItems(); for (int i = 0; i < items.length; i++) { filters.remove(items[i]); filterList.add(items[i]); } break; } updateFilteringKeysFromControls(); if (pageType == CHILD_PAGE) { refreshList(); } else if (pageType == ROOT_PAGE) { PreferenceManager preferenceManager = ((SortFilterDialog) getContainer()).getPreferenceManager(); Iterator nodes = preferenceManager.getElements(PreferenceManager.PRE_ORDER).iterator(); while (nodes.hasNext()) { PreferenceNode node = (PreferenceNode) nodes.next(); SortFilterPage page = (SortFilterPage) node.getPage(); if (page == this) { continue; } if (Arrays.equals(filterStrings, page.getFilterList())) { page._filteringKeys = new ArrayList(_filteringKeys.size()); page._filteringKeys.addAll(_filteringKeys); page._filtering = _filtering; page.populateFilterLists(); page.refreshList(); page.updateApplyButton(); } } } updateApplyButton(); }
/** * Method creates tree structure of windows azure property pages. and opens property dialog with * desired property page selected & active. * * @param windowsAzureRole : worker role * @param pageToDisplay : property page Id which should be active after opening dialog * @return integer */ public static int openRolePropertyDialog( WindowsAzureRole windowsAzureRole, String pageToDisplay) { int retVal = Window.CANCEL; // value corresponding to cancel try { // Node creation PreferenceNode nodeGeneral = new PreferenceNode( Messages.cmhIdGeneral, Messages.cmhLblGeneral, null, WARGeneral.class.toString()); nodeGeneral.setPage(new WARGeneral()); nodeGeneral.getPage().setTitle(Messages.cmhLblGeneral); PreferenceNode nodeCache = new PreferenceNode( Messages.cmhIdCach, Messages.cmhLblCach, null, WARCaching.class.toString()); nodeCache.setPage(new WARCaching()); nodeCache.getPage().setTitle(Messages.cmhLblCach); PreferenceNode nodeCmpnts = new PreferenceNode( Messages.cmhIdCmpnts, Messages.cmhLblCmpnts, null, WARComponents.class.toString()); nodeCmpnts.setPage(new WARComponents()); nodeCmpnts.getPage().setTitle(Messages.cmhLblCmpnts); PreferenceNode nodeDebugging = new PreferenceNode( Messages.cmhIdDbg, Messages.cmhLblDbg, null, WARDebugging.class.toString()); nodeDebugging.setPage(new WARDebugging()); nodeDebugging.getPage().setTitle(Messages.cmhLblDbg); PreferenceNode nodeEndPts = new PreferenceNode( Messages.cmhIdEndPts, Messages.cmhLblEndPts, null, WAREndpoints.class.toString()); nodeEndPts.setPage(new WAREndpoints()); nodeEndPts.getPage().setTitle(Messages.cmhLblEndPts); PreferenceNode nodeEnvVars = new PreferenceNode( Messages.cmhIdEnvVars, Messages.cmhLblEnvVars, null, WAREnvVars.class.toString()); nodeEnvVars.setPage(new WAREnvVars()); nodeEnvVars.getPage().setTitle(Messages.cmhLblEnvVars); PreferenceNode nodeLdBlnc = new PreferenceNode( Messages.cmhIdLdBlnc, Messages.cmhLblLdBlnc, null, WARLoadBalance.class.toString()); nodeLdBlnc.setPage(new WARLoadBalance()); nodeLdBlnc.getPage().setTitle(Messages.cmhLblLdBlnc); PreferenceNode nodeLclStg = new PreferenceNode( Messages.cmhIdLclStg, Messages.cmhLblLclStg, null, WARLocalStorage.class.toString()); nodeLclStg.setPage(new WARLocalStorage()); nodeLclStg.getPage().setTitle(Messages.cmhLblLclStg); PreferenceNode nodeSrvCnfg = new PreferenceNode( Messages.cmhIdSrvCnfg, Messages.cmhLblSrvCnfg, null, WAServerConfiguration.class.toString()); nodeSrvCnfg.setPage(new WAServerConfiguration()); nodeSrvCnfg.getPage().setTitle(Messages.cmhLblSrvCnfg); /* * Tree structure creation. * Don't change order while adding nodes. * Its the default alphabetical order given by eclipse. */ nodeGeneral.add(nodeCache); nodeGeneral.add(nodeCmpnts); nodeGeneral.add(nodeDebugging); nodeGeneral.add(nodeEndPts); nodeGeneral.add(nodeEnvVars); nodeGeneral.add(nodeLdBlnc); nodeGeneral.add(nodeLclStg); nodeGeneral.add(nodeSrvCnfg); PreferenceManager mgr = new PreferenceManager(); mgr.addToRoot(nodeGeneral); // Dialog creation PreferenceDialog dialog = new PreferenceDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(), mgr); // make desired property page active. dialog.setSelectedNode(pageToDisplay); dialog.create(); String dlgTitle = String.format(Messages.cmhPropFor, windowsAzureRole.getName()); dialog.getShell().setText(dlgTitle); dialog.open(); // return whether user has pressed OK or Cancel button retVal = dialog.getReturnCode(); } catch (Exception ex) { PluginUtil.displayErrorDialogAndLog( new Shell(), Messages.rolsDlgErr, Messages.rolsDlgErrMsg, ex); } return retVal; }