List of usage examples for org.eclipse.jface.dialogs InputDialog getReturnCode
public int getReturnCode()
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksController.java
License:Apache License
@Override public IBookmarkList createNewBookmarkList() { stop();/*from ww w .j ava2 s . c o m*/ InputDialog dialog = new InputDialog(Display.getDefault().getActiveShell(), BookmarksController_NewListDialogTitle, BookmarksController_NewListDialogMessage, BookmarksController_DefaultNewListName, new EmptyStringInputValidator(BookmarksController_NewListValidationMessage)); dialog.open(); if (dialog.getReturnCode() != InputDialog.OK) { return null; } BookmarkList result = new BookmarkList(dialog.getValue()); bookmarks.addList(result); return result; }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksController.java
License:Apache License
@Override public void renameBookmarkList(IBookmarkList list) { stop();/* w ww . j a va 2s. c o m*/ InputDialog dialog = new InputDialog(Display.getDefault().getActiveShell(), BookmarksController_RenameListDialogTitle, BookmarksController_RenameListDialogMessage, list.getName(), new EmptyStringInputValidator(BookmarksController_RenameListValidationMessation)); dialog.open(); if (dialog.getReturnCode() != InputDialog.OK) { return; } list.setName(dialog.getValue()); }
From source file:au.gov.ga.earthsci.core.proxy.NonProxyHostsListEditor.java
License:Apache License
@Override protected String getNewInputObject() { InputDialog inputDialog = new InputDialog(getShell(), "New non-proxy host", "Enter a new non-proxy host.", "", new IInputValidator() { @Override/*w w w .j av a 2s.c o m*/ public String isValid(String s) { if (s != null && s.length() > 0) { return null; } return "Please enter a value"; } }); inputDialog.open(); if (inputDialog.getReturnCode() != Window.OK) { return null; } return inputDialog.getValue(); }
From source file:ca.mcgill.sable.soot.ui.SootConfigManagerDialog.java
License:Open Source License
private void newPressed() { IDialogSettings settings = SootPlugin.getDefault().getDialogSettings(); // gets current number of configurations before adding any int config_count = 0; try {//from w w w .j ava 2 s . c o m config_count = settings.getInt(Messages.getString("SootConfigManagerDialog.config_count")); //$NON-NLS-1$ } catch (NumberFormatException e) { } ArrayList currentNames = new ArrayList(); for (int i = 1; i <= config_count; i++) { currentNames.add(settings.get(Messages.getString("SootConfigManagerDialog.soot_run_config") + i)); //$NON-NLS-1$ } // sets validator to know about already used names - but it doesn't use // them because then editing a file cannot use same file name SootConfigNameInputValidator validator = new SootConfigNameInputValidator(); validator.setAlreadyUsed(currentNames); // create dialog to get name InputDialog nameDialog = new InputDialog(this.getShell(), Messages.getString("SootConfigManagerDialog.Saving_Configuration_Name"), //$NON-NLS-1$ Messages.getString("SootConfigManagerDialog.Enter_name_to_save_configuration_with"), "", validator); //$NON-NLS-1$ //$NON-NLS-2$ nameDialog.open(); if (nameDialog.getReturnCode() == Dialog.OK) { setEditDefs(null); int returnCode = displayOptions(nameDialog.getValue(), "soot.Main"); //handle selection of main class here if (returnCode != Dialog.CANCEL) { getTreeRoot().addChild(new SootConfiguration(nameDialog.getValue())); refreshTree(); } } else { // cancel and do nothing } }
From source file:ca.mcgill.sable.soot.ui.SootConfigManagerDialog.java
License:Open Source License
private void renamePressed() { if (getSelected() == null) return;//from www .j a va2 s .c o m String result = this.getSelected(); IDialogSettings settings = SootPlugin.getDefault().getDialogSettings(); // gets current number of configurations int config_count = 0; int oldNameCount = 0; try { config_count = settings.getInt(Messages.getString("SootConfigManagerDialog.config_count")); //$NON-NLS-1$ } catch (NumberFormatException e) { } ArrayList currentNames = new ArrayList(); for (int i = 1; i <= config_count; i++) { currentNames.add(settings.get(Messages.getString("SootConfigManagerDialog.soot_run_config") + i)); //$NON-NLS-1$ if (((String) currentNames.get(i - 1)).equals(result)) { oldNameCount = i; } } // sets validator to know about already used names SootConfigNameInputValidator validator = new SootConfigNameInputValidator(); validator.setAlreadyUsed(currentNames); InputDialog nameDialog = new InputDialog(this.getShell(), Messages.getString("SootConfigManagerDialog.Rename_Saved_Configuration"), //$NON-NLS-1$ Messages.getString("SootConfigManagerDialog.Enter_new_name"), "", validator); //$NON-NLS-1$ //$NON-NLS-2$ nameDialog.open(); if (nameDialog.getReturnCode() == Dialog.OK) { settings.put(Messages.getString("SootConfigManagerDialog.soot_run_config") + oldNameCount, //$NON-NLS-1$ nameDialog.getValue()); settings.put(nameDialog.getValue(), settings.getArray(result)); getTreeRoot().renameChild(result, nameDialog.getValue()); saveMainClass(nameDialog.getValue(), settings.get(result + "_mainClass")); } refreshTree(); }
From source file:ca.mcgill.sable.soot.ui.SootConfigManagerDialog.java
License:Open Source License
private void clonePressed() { if (getSelected() == null) return;/*from w ww.j a va2 s. c o m*/ String result = this.getSelected(); IDialogSettings settings = SootPlugin.getDefault().getDialogSettings(); // gets current number of configurations int config_count = 0; try { config_count = settings.getInt(Messages.getString("SootConfigManagerDialog.config_count")); //$NON-NLS-1$ } catch (NumberFormatException e) { } ArrayList currentNames = new ArrayList(); for (int i = 1; i <= config_count; i++) { currentNames.add(settings.get(Messages.getString("SootConfigManagerDialog.soot_run_config") + i)); //$NON-NLS-1$ } // sets validator to know about already used names SootConfigNameInputValidator validator = new SootConfigNameInputValidator(); validator.setAlreadyUsed(currentNames); InputDialog nameDialog = new InputDialog(this.getShell(), Messages.getString("SootConfigManagerDialog.Clone_Saved_Configuration"), //$NON-NLS-1$ Messages.getString("SootConfigManagerDialog.Enter_new_name"), result, validator); //$NON-NLS-1$ //$NON-NLS-3$ nameDialog.open(); if (nameDialog.getReturnCode() == Dialog.OK) { config_count++; settings.put(Messages.getString("SootConfigManagerDialog.soot_run_config") + config_count, //$NON-NLS-1$ nameDialog.getValue()); settings.put(nameDialog.getValue(), settings.getArray(result)); settings.put(Messages.getString("SootConfigManagerDialog.config_count"), config_count); //$NON-NLS-1$ getTreeRoot().addChild(new SootConfiguration(nameDialog.getValue())); saveMainClass(nameDialog.getValue(), settings.get(result + "_mainClass")); } refreshTree(); }
From source file:cl.utfsm.acs.acg.gui.AlarmsView.java
License:Open Source License
private void createViewWidgets(Composite parent) { Listener hoverTree = new Listener() { public void handleEvent(Event event) { Point coords = new Point(event.x, event.y); TreeItem it = _tree.getItem(coords); String tooltip = ""; if (it == null) { _tree.setToolTipText(tooltip); return; }/*from www.jav a2 s. c o m*/ NodeType type = (NodeType) it.getData(); switch (type) { case FAULT_FAMILY: { tooltip = _alarmManager.getFaultFamily(it.getText()).getName(); break; } case FAULT_CODE_DATA: { tooltip = _alarmManager .getFaultCode(it.getParentItem().getParentItem().getText(), new Integer(it.getText())) .getProblemDescription(); break; } case FAULT_MEMBER_DATA: { tooltip = _alarmManager .getFaultMember(it.getParentItem().getParentItem().getText(), it.getText()).getName(); break; } } _tree.setToolTipText(tooltip); } }; _deleteElement = new Listener() { public void handleEvent(Event event) { boolean choice = MessageDialog.openQuestion(AlarmsView.this.getViewSite().getShell(), "Confirmation", "Are you sure you want to delete this element"); if (choice == true) { TreeItem sel = null; if (_tree.getSelection() == null || _tree.getSelection().length == 0) return; NodeType type = (NodeType) _tree.getSelection()[0].getData(); if (type == NodeType.FAULT_CODE_LIST || type == NodeType.FAULT_MEMBER_LIST) return; String alarm = _tree.getSelection()[0].getText(); try { if (type == NodeType.FAULT_FAMILY) _alarmManager.deleteFaultFamily(_alarmManager.getFaultFamily(alarm)); else if (type == NodeType.FAULT_CODE_DATA) { String ff = _tree.getSelection()[0].getParentItem().getParentItem().getText(); _alarmManager.deleteFaultCode(_alarmManager.getFaultFamily(ff), _alarmManager.getFaultCode(ff, new Integer(alarm).intValue())); } else if (type == NodeType.FAULT_MEMBER_DATA) { String ff = _tree.getSelection()[0].getParentItem().getParentItem().getText(); _alarmManager.deleteFaultMember(_alarmManager.getFaultFamily(ff), _alarmManager.getFaultMember(ff, alarm)); } else if (type == NodeType.FAULT_MEMBER_DEFAULT) { String ff = _tree.getSelection()[0].getParentItem().getParentItem().getText(); _alarmManager.setFaultMemberDefault(_alarmManager.getFaultFamily(ff), null); } } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot delete the item", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot delete the item", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } if (type != NodeType.FAULT_FAMILY) { sel = _tree.getSelection()[0].getParentItem(); TreeItem tff = sel.getParentItem(); FaultFamily fft = _alarmManager.getFaultFamily(tff.getText()); if (fft.getFaultCodeCount() == 0 || (fft.getFaultMemberCount() == 0 && fft.getFaultMemberDefault() == null)) { sel.setForeground(new Color(sel.getDisplay(), 255, 0, 0)); tff.setForeground(new Color(tff.getDisplay(), 255, 0, 0)); } else { sel.setForeground(new Color(sel.getDisplay(), 0, 0, 0)); tff.setForeground(new Color(tff.getDisplay(), 0, 0, 0)); } _tree.getSelection()[0].dispose(); _tree.setSelection(sel); Event e = new Event(); _tree.notifyListeners(SWT.Selection, e); } else { _tree.getSelection()[0].dispose(); if (_tree.getItemCount() > 0) _tree.setSelection(_tree.getItems()[0]); Event e = new Event(); _tree.notifyListeners(SWT.Selection, e); } } } }; _addFaultMember = new Listener() { public void handleEvent(Event event) { TreeItem tmp = _tree.getSelection()[0]; TreeItem tmp2 = null; while (tmp != null) { tmp2 = tmp; tmp = tmp.getParentItem(); } String ff = tmp2.getText(); InputDialog dialog = new InputDialog(AlarmsView.this.getViewSite().getShell(), "New Fault Member", "Enter the Fault Member name", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The name is empty"; return null; } }); dialog.setBlockOnOpen(true); dialog.open(); int returnCode = dialog.getReturnCode(); if (returnCode == InputDialog.OK) { FaultMember newFaultMember = new FaultMember(); newFaultMember.setName(dialog.getValue()); try { _alarmManager.addFaultMember(_alarmManager.getFaultFamily(ff), newFaultMember); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Fault Member", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Fault Member", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } sortFaultFamilyList(); selectElementFromTree(ff, dialog.getValue(), null); } } }; _addFaultMemberDefault = new Listener() { public void handleEvent(Event event) { TreeItem tmp = _tree.getSelection()[0]; TreeItem tmp2 = null; while (tmp != null) { tmp2 = tmp; tmp = tmp.getParentItem(); } String ff = tmp2.getText(); FaultMemberDefault newFaultMemberDefault = new FaultMemberDefault(); try { _alarmManager.setFaultMemberDefault(_alarmManager.getFaultFamily(ff), newFaultMemberDefault); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Default Fault Member", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Default Fault Member", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } sortFaultFamilyList(); selectElementFromTree(ff, "Default Member", null); } }; _addFaultCode = new Listener() { public void handleEvent(Event event) { TreeItem tmp = _tree.getSelection()[0]; TreeItem tmp2 = null; while (tmp != null) { tmp2 = tmp; tmp = tmp.getParentItem(); } String ff = tmp2.getText(); InputDialog dialog = new InputDialog(AlarmsView.this.getViewSite().getShell(), "New Fault Code", "Enter the Fault Code Value", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The value is empty"; try { new Integer(newText); } catch (NumberFormatException e) { return "The value is not a number"; } return null; } }); dialog.setBlockOnOpen(true); dialog.open(); int returnCode = dialog.getReturnCode(); if (returnCode == InputDialog.OK) { FaultCode newFaultCode = new FaultCode(); newFaultCode.setValue(new Integer(dialog.getValue()).intValue()); try { _alarmManager.addFaultCode(_alarmManager.getFaultFamily(ff), newFaultCode); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Fault Code", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Fault Code", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } sortFaultFamilyList(); selectElementFromTree(ff, null, dialog.getValue()); } } }; _addFaultFamily = new Listener() { public void handleEvent(Event event) { InputDialog dialog = new InputDialog(AlarmsView.this.getViewSite().getShell(), "New Alarm", "Enter the Fault Family name", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The name is empty"; return null; } }); dialog.setBlockOnOpen(true); dialog.open(); int returnCode = dialog.getReturnCode(); if (returnCode == InputDialog.OK) { FaultFamily newAlarm = new FaultFamily(); newAlarm.setName(dialog.getValue()); try { _alarmManager.addFaultFamily(newAlarm); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Alarm", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(AlarmsView.this.getViewSite().getShell(), "Cannot add the new Alarm", e.getMessage(), new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } sortFaultFamilyList(); selectElementFromTree(dialog.getValue(), null, null); } } }; _sash = new SashForm(parent, SWT.NONE); _sash.setLayout(new FillLayout()); _alarmsComp = new Composite(_sash, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1; _alarmsComp.setLayout(layout); _treeGroup = new Group(_alarmsComp, SWT.SHADOW_ETCHED_IN); GridData gd = new GridData(); gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; _treeGroup.setLayoutData(gd); GridLayout gl = new GridLayout(); gl.numColumns = 1; _treeGroup.setLayout(gl); _treeGroup.setText("Fault Family List"); /* The tree used to list the FF, FM and FCs */ _tree = new Tree(_treeGroup, SWT.VIRTUAL | SWT.BORDER); gd = new GridData(); gd.verticalAlignment = SWT.FILL; gd.horizontalAlignment = SWT.FILL; gd.grabExcessVerticalSpace = true; gd.grabExcessHorizontalSpace = true; _tree.setLayoutData(gd); //Menu treePopUp = new Menu(parent, SWT.POP_UP); Menu treePopUp = new Menu(parent); _tree.setMenu(treePopUp); treePopUp.addListener(SWT.Show, new Listener() { public void handleEvent(Event e) { //Point point = new Point(e.x, e.y); //TreeItem sel = _tree.getItem(point); TreeItem[] sel = _tree.getSelection(); Menu treePopUp = _tree.getMenu(); MenuItem[] items = treePopUp.getItems(); for (int i = 0; i < items.length; i++) items[i].dispose(); MenuItem mitem; if (sel == null || sel.length == 0) { mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Family"); mitem.addListener(SWT.Selection, _addFaultFamily); return; } NodeType type = (NodeType) sel[0].getData(); switch (type) { case FAULT_FAMILY: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Family"); mitem.addListener(SWT.Selection, _addFaultFamily); mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Fault Family"); mitem.addListener(SWT.Selection, _deleteElement); break; case FAULT_CODE_LIST: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Code"); mitem.addListener(SWT.Selection, _addFaultCode); break; case FAULT_CODE_DATA: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Code"); mitem.addListener(SWT.Selection, _addFaultCode); mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Fault Code"); mitem.addListener(SWT.Selection, _deleteElement); break; case FAULT_MEMBER_LIST: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Member"); mitem.addListener(SWT.Selection, _addFaultMember); if (_alarmManager.getFaultFamily(sel[0].getParentItem().getText()) .getFaultMemberDefault() == null) { mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Default Fault Member"); mitem.addListener(SWT.Selection, _addFaultMemberDefault); } break; case FAULT_MEMBER_DATA: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Fault Member"); mitem.addListener(SWT.Selection, _addFaultMember); mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Fault Member"); mitem.addListener(SWT.Selection, _deleteElement); break; case FAULT_MEMBER_DEFAULT: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Default Fault Member"); mitem.addListener(SWT.Selection, _deleteElement); break; default: for (int i = 0; i < items.length; i++) items[i].dispose(); break; } } }); _tree.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } public void widgetSelected(SelectionEvent e) { TreeItem[] tmp = ((Tree) e.widget).getSelection(); if (tmp == null || tmp.length == 0) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(false); ((GridData) _FCFMgroup.getLayoutData()).exclude = true; return; } TreeItem item = tmp[0]; NodeType type = (NodeType) item.getData(); /* Delete the label the first time we select something */ Control c = _compInitial.getChildren()[0]; if (c instanceof Label) { c.dispose(); _compInitial.layout(); c = _compInitial.getChildren()[0]; } if (type == NodeType.FAULT_FAMILY) { _FFgroup.setVisible(true); ((GridData) _FFgroup.getLayoutData()).exclude = false; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(false); ((GridData) _FCFMgroup.getLayoutData()).exclude = true; //_FFgroup.moveAbove(c); fillFFWidgets(item.getText()); } else if (type == NodeType.FAULT_CODE_LIST) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(true); ((GridData) _FCFMgroup.getLayoutData()).exclude = false; fillFCFMWidgets(); } else if (type == NodeType.FAULT_CODE_DATA) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(true); ((GridData) _FCgroup.getLayoutData()).exclude = false; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(false); ((GridData) _FCFMgroup.getLayoutData()).exclude = true; //_FCgroup.moveAbove(c); fillFCWidgets(Integer.parseInt(item.getText()), item.getParentItem().getParentItem().getText()); } else if (type == NodeType.FAULT_MEMBER_LIST) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(true); ((GridData) _FCFMgroup.getLayoutData()).exclude = false; fillFCFMWidgets(); } else if (type == NodeType.FAULT_MEMBER_DATA) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(true); ((GridData) _FMgroup.getLayoutData()).exclude = false; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(false); ((GridData) _FMDgroup.getLayoutData()).exclude = true; _FCFMgroup.setVisible(false); ((GridData) _FCFMgroup.getLayoutData()).exclude = true; //_FMgroup.moveAbove(c); fillFMWidgets(item.getText(), item.getParentItem().getParentItem().getText()); } else if (type == NodeType.FAULT_MEMBER_DEFAULT) { _FFgroup.setVisible(false); ((GridData) _FFgroup.getLayoutData()).exclude = true; _FMgroup.setVisible(false); ((GridData) _FMgroup.getLayoutData()).exclude = true; _FCgroup.setVisible(false); ((GridData) _FCgroup.getLayoutData()).exclude = true; _FMDgroup.setVisible(true); ((GridData) _FMDgroup.getLayoutData()).exclude = false; _FCFMgroup.setVisible(false); ((GridData) _FCFMgroup.getLayoutData()).exclude = true; fillFMDWidgets(item.getParentItem().getParentItem().getText()); } _compInitial.layout(); } }); _tree.addListener(SWT.MouseHover, hoverTree); _alarmsButtonsComp = new Composite(_alarmsComp, SWT.NONE); layout = new GridLayout(); layout.numColumns = 2; _alarmsButtonsComp.setLayout(layout); _addAlarmButton = new Button(_alarmsButtonsComp, SWT.None); _addAlarmButton.setText("Add"); _addAlarmButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD)); _deleteAlarmButton = new Button(_alarmsButtonsComp, SWT.None); _deleteAlarmButton.setText("Delete"); _deleteAlarmButton .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_DELETE)); _addAlarmButton.addListener(SWT.Selection, _addFaultFamily); _deleteAlarmButton.addListener(SWT.Selection, _deleteElement); /* Top widget of the right side */ _compInitial = new Composite(_sash, SWT.SHADOW_ETCHED_IN); _compInitial.setLayout(new GridLayout()); new Label(_compInitial, SWT.NONE).setText("Select an element"); /* FF/FM/FC Details */ createFFWidgets(); createFCWidgets(); createFMWidgets(); createFMDWidgets(); createFCFMWidgets(); /* At the beginning we only show a label */ _FFgroup.setVisible(false); _FCgroup.setVisible(false); _FMgroup.setVisible(false); _FMDgroup.setVisible(false); _FCFMgroup.setVisible(false); _sash.setWeights(new int[] { 3, 5 }); }
From source file:cl.utfsm.acs.acg.gui.CategoriesView.java
License:Open Source License
private void createViewWidgets(Composite parent) { SashForm sash = new SashForm(parent, SWT.HORIZONTAL); sash.setLayout(new FillLayout()); /* Left pane */ Composite categoriesComp = new Composite(sash, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1;/* w w w . ja v a2 s .c o m*/ categoriesComp.setLayout(layout); _listGroup = new Group(categoriesComp, SWT.SHADOW_ETCHED_IN); GridData gd = new GridData(); gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; _listGroup.setLayoutData(gd); GridLayout gl = new GridLayout(); gl.numColumns = 1; _listGroup.setLayout(gl); _listGroup.setText("Categories List"); _categoriesList = new List(_listGroup, SWT.BORDER | SWT.V_SCROLL); _categoriesList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); _categoriesList.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } public void widgetSelected(SelectionEvent e) { Control c = _compInitial.getChildren()[0]; if (c instanceof Label) { c.dispose(); } _comp.setVisible(true); _comp.layout(); /* Fill with the contents of the selected category */ /* The default category is stored as the data of the _categoryList */ /* and is shown with a "*" in the list */ if (_categoriesList.getSelection() == null || _categoriesList.getSelection().length == 0) { _comp.setVisible(false); _comp.layout(); return; } String categoryName = _categoriesList.getSelection()[0]; if (categoryName.startsWith("*")) fillCategoryInfo((String) _categoriesList.getData()); else fillCategoryInfo(categoryName); if (_ffList.getItemCount() == 0) _errorMessageLabel.setText("You have to select at least one Fault Family"); } }); /* Add and remove buttons */ Composite categoriesButtonsComp = new Composite(categoriesComp, SWT.NONE); layout = new GridLayout(); layout.numColumns = 2; categoriesButtonsComp.setLayout(layout); categoriesButtonsComp.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false)); _addCategoryButton = new Button(categoriesButtonsComp, SWT.None); _addCategoryButton.setText("Add"); _addCategoryButton .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD)); _deleteCategoryButton = new Button(categoriesButtonsComp, SWT.None); _deleteCategoryButton.setText("Delete"); _deleteCategoryButton .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_DELETE)); Listener addCategory = new Listener() { public void handleEvent(Event event) { InputDialog dialog = new InputDialog(CategoriesView.this.getViewSite().getShell(), "New Category", "Enter the Category name", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The name is empty"; return null; } }); dialog.setBlockOnOpen(true); dialog.open(); int returnCode = dialog.getReturnCode(); if (returnCode == InputDialog.OK) { if (_categoryManager.getCategoryByPath(dialog.getValue()) != null) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "The Category " + dialog.getValue() + " already exists in the current configuration"), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } Category newCategory = new Category(); newCategory.setPath(dialog.getValue()); InputDialog dialog2 = new InputDialog(CategoriesView.this.getViewSite().getShell(), "Category Description", "Enter the Description for the Category", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The name is empty"; return null; } }); dialog2.setBlockOnOpen(true); dialog2.open(); String description = dialog2.getValue(); if (description == null) return; if (returnCode == InputDialog.OK) newCategory.setDescription(description); java.util.List<String> ffnames = sortFullFaultFamilyList(); ListSelectionDialog dialog3 = new ListSelectionDialog( PlatformUI.getWorkbench().getDisplay().getActiveShell(), ffnames, new ArrayContentProvider(), new LabelProvider(), ""); dialog3.setTitle("Fault Family Selection"); dialog3.setMessage("List of Fault Families"); dialog3.setBlockOnOpen(true); dialog3.open(); Object ffselected[] = dialog3.getResult(); if (ffselected == null) return; if (ffselected.length == 0) { try { _categoryManager.addCategory(newCategory); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } } else { Alarms alarms = new Alarms(); for (int i = 0; i < ffselected.length; i++) { try { alarms.addFaultFamily( _alarmManager.getFaultFamily((String) ffselected[i]).getName()); //alarms.setFaultFamily(i, (String)ffselected[i]); } catch (NullPointerException e) { } newCategory.setAlarms(alarms); } try { _categoryManager.addCategory(newCategory); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Category already exist", "The Category " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } } String[] items = new String[1]; items[0] = dialog.getValue(); refreshContents(); _categoriesList.setSelection(items); Event e = new Event(); _categoriesList.notifyListeners(SWT.Selection, e); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); if (_ffList.getItemCount() == 0) _errorMessageLabel.setText("You have to select at least one Fault Family"); } else return; } }; _addCategoryButton.addListener(SWT.Selection, addCategory); Listener deleteCategory = new Listener() { public void handleEvent(Event event) { boolean choice = MessageDialog.openQuestion(CategoriesView.this.getViewSite().getShell(), "Confirmation", "Are you sure you want to delete this Category"); if (choice == true) { String tmp[] = _categoriesList.getSelection(); if (tmp == null || tmp.length == 0) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Empty selection", "There are no Categories selected to be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", ""), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } String category = tmp[0]; if (category.startsWith("*")) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Cannot delete Category", "The Category cannot be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "There must be one default category. Please select a different one before removing this category."), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } try { _categoryManager.deleteCategory(_categoryManager.getCategoryByPath(category)); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Cannot delete Category", "The Category cannot be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } String[] items = null; if (_categoriesList.getSelection() != null && _categoriesList.getSelection().length != 0) { items = _categoriesList.getSelection(); refreshContents(); if (items == null) if (_categoriesList.getItemCount() > 0) _categoriesList.setSelection(0); } else _categoriesList.setSelection(items); Event e = new Event(); _categoriesList.notifyListeners(SWT.Selection, e); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); } } }; _deleteCategoryButton.addListener(SWT.Selection, deleteCategory); /* To delete a FF from a given Category */ Listener deleteFaultFamily = new Listener() { public void handleEvent(Event event) { Category c = _categoryManager.getCategoryByPath(_pathText.getText()); try { String[] ff = c.getAlarms().getFaultFamily(); Alarms alarms = new Alarms(); String[] temp = _ffList.getSelection(); //int j = 0; for (int i = 0; i < ff.length; i++) { if (ff[i].compareTo(temp[0]) == 0) { _ffList.remove(temp[0]); c.getAlarms().removeFaultFamily(ff[i]); } else { alarms.addFaultFamily(ff[i]); //alarms.setFaultFamily(j, ff[i]); //j++; } } c.setAlarms(alarms); _categoryManager.updateCategory(c, c); if (_ffList.getItemCount() == 0) _errorMessageLabel.setText("You have to select at least one Fault Family"); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); boolean inUse = false; boolean def = false; String defCat = ""; for (Category cat : _categoryManager.getAllCategories()) { String[] ffs = cat.getAlarms().getFaultFamily(); for (String tff : ffs) { if (tff.compareTo(temp[0]) == 0) inUse = true; } if (cat.getIsDefault()) { def = true; defCat = cat.getPath(); } } if (!inUse) { String msg; if (def) msg = "Default category: " + defCat; else msg = "No default category"; ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Fault Family isn't in any Categoty", "The Fault Family is not part of any Category", new Status(IStatus.WARNING, "cl.utfsm.acs.acg", "The Fault Family " + temp[0] + " is not part of any Category (" + msg + ")"), IStatus.WARNING); error.setBlockOnOpen(true); error.open(); } } catch (Exception e) { e.printStackTrace(); } } }; /* To delete all FF from a given Category */ Listener deleteAllFaultFamily = new Listener() { public void handleEvent(Event event) { Category c = _categoryManager.getCategoryByPath(_pathText.getText()); try { String[] ff = c.getAlarms().getFaultFamily(); Alarms alarms = new Alarms(); for (int i = 0; i < ff.length; i++) { _ffList.remove(ff[i]); c.getAlarms().removeFaultFamily(ff[i]); } c.setAlarms(alarms); _categoryManager.updateCategory(c, c); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); java.util.List<String> ffList = new ArrayList<String>(); boolean def = false; String defCat = ""; for (String cff : ff) { Boolean inUse = false; for (Category cat : _categoryManager.getAllCategories()) { String[] ffs = cat.getAlarms().getFaultFamily(); for (String tff : ffs) { if (tff.compareTo(cff) == 0) inUse = true; } if (cat.getIsDefault()) { def = true; defCat = cat.getPath(); } } if (!inUse) ffList.add(cff); } if (ffList.size() > 0) { String list = ""; for (String ffel : ffList) list = list + ffel + ", "; list.substring(0, list.length() - 2); String msg; if (def) msg = "Default category: " + defCat; else msg = "No default category"; ErrorDialog error = new ErrorDialog(CategoriesView.this.getViewSite().getShell(), "Fault Family isn't in any Categoty", "The Fault Family is not part of any Category", new Status(IStatus.WARNING, "cl.utfsm.acs.acg", "The Fault Family(ies) " + list + " is not part of any Category (" + msg + ")"), IStatus.WARNING); error.setBlockOnOpen(true); error.open(); } } catch (Exception e) { e.printStackTrace(); } if (_ffList.getItemCount() == 0) _errorMessageLabel.setText("You have to select at least one Fault Family"); } }; /* To add a new FF to a Category */ Listener addFaultFamily = new Listener() { public void handleEvent(Event event) { Category c = _categoryManager.getCategoryByPath(_pathText.getText()); java.util.List<String> currentffs = new ArrayList<String>(); try { String[] ffss = c.getAlarms().getFaultFamily(); for (int i = 0; i < ffss.length; i++) { currentffs.add(ffss[i]); } } catch (NullPointerException e) { e.printStackTrace(); } java.util.List<String> ffnames = sortFullFaultFamilyList(); ListSelectionDialog dialog3 = new ListSelectionDialog( PlatformUI.getWorkbench().getDisplay().getActiveShell(), ffnames, new ArrayContentProvider(), new LabelProvider(), ""); dialog3.setTitle("Fault Family Selection"); dialog3.setMessage("List of Fault Families"); dialog3.setBlockOnOpen(true); if (currentffs != null) dialog3.setInitialElementSelections(currentffs); dialog3.open(); if (dialog3.getReturnCode() == InputDialog.OK) { Object ffselected[] = dialog3.getResult(); try { Alarms alarms = new Alarms(); for (int i = 0; i < ffselected.length; i++) alarms.addFaultFamily(_alarmManager.getFaultFamily((String) ffselected[i]).getName()); c.setAlarms(alarms); _categoryManager.updateCategory(c, c); sortCategoryFaultFamilyList(c.getPath()); } catch (Exception e) { e.printStackTrace(); } String[] items = _categoriesList.getSelection(); refreshContents(); _categoriesList.setSelection(items); Event e = new Event(); _categoriesList.notifyListeners(SWT.Selection, e); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); if (_ffList.getItemCount() == 0) _errorMessageLabel.setText("You have to select at least one Fault Family"); } } }; /* Initial label when no categories are selected */ _compInitial = new Composite(sash, SWT.NONE); _compInitial.setLayout(new GridLayout()); new Label(_compInitial, SWT.NONE).setText("Select a category"); /* Fill the right pane Group that will be shown when * a category is selected in the left list */ layout = new GridLayout(); layout.numColumns = 2; GridData gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; _comp = new Group(_compInitial, SWT.SHADOW_ETCHED_IN); _comp.setText("Category information"); _comp.setLayout(layout); _comp.setLayoutData(gridData); _pathLabel = new Label(_comp, SWT.NONE); _pathLabel.setText("Category name"); _pathText = new Text(_comp, SWT.SINGLE | SWT.BORDER); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; _pathText.setLayoutData(gridData); _descriptionLabel = new Label(_comp, SWT.NONE); _descriptionLabel.setText("Category description"); _descriptionText = new Text(_comp, SWT.SINGLE | SWT.BORDER); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; _descriptionText.setLayoutData(gridData); _isDefaultLabel = new Label(_comp, SWT.NONE); _isDefaultLabel.setText("Is default category?"); _isDefaultCheck = new Button(_comp, SWT.CHECK); _ffLabel = new Label(_comp, SWT.NONE); _ffLabel.setText("Fault Families:"); gridData = new GridData(); gridData.verticalAlignment = SWT.TOP; gridData.horizontalSpan = 2; _ffLabel.setLayoutData(gridData); _ffList = new List(_comp, SWT.V_SCROLL | SWT.BORDER); gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessVerticalSpace = true; gridData.horizontalSpan = 2; _ffList.setLayoutData(gridData); _errorMessageLabel = new Label(_comp, SWT.NONE); _errorMessageLabel.setText("A"); _errorMessageLabel.setForeground(getViewSite().getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.horizontalSpan = 2; _errorMessageLabel.setLayoutData(gd); /* Adding a click right menu to modify the FF of a given Category */ Menu treePopUp1 = new Menu(parent); MenuItem treePopUpAddFF = new MenuItem(treePopUp1, SWT.PUSH); treePopUpAddFF.setText("Add a new Fault Family"); treePopUpAddFF.addListener(SWT.Selection, addFaultFamily); MenuItem treePopUpDeleteFF = new MenuItem(treePopUp1, SWT.PUSH); treePopUpDeleteFF.setText("Delete this Fault Family"); treePopUpDeleteFF.addListener(SWT.Selection, deleteFaultFamily); MenuItem treePopUpDeleteAllFF = new MenuItem(treePopUp1, SWT.PUSH); treePopUpDeleteAllFF.setText("Delete All Fault Families"); treePopUpDeleteAllFF.addListener(SWT.Selection, deleteAllFaultFamily); _ffList.setMenu(treePopUp1); /* Adding a click menu to add/delete Categories */ Menu treePopUp2 = new Menu(parent); MenuItem treePopUpaddCategory = new MenuItem(treePopUp2, SWT.PUSH); treePopUpaddCategory.setText("Add a new Category"); treePopUpaddCategory.addListener(SWT.Selection, addCategory); MenuItem treePopUpdeleteCategory = new MenuItem(treePopUp2, SWT.PUSH); treePopUpdeleteCategory.setText("Delete this Category"); treePopUpdeleteCategory.addListener(SWT.Selection, deleteCategory); _categoriesList.setMenu(treePopUp2); _comp.setVisible(false); /* Set a weight for each side of the view */ sash.setWeights(new int[] { 3, 5 }); Listener updateCategory = new Listener() { public void handleEvent(Event e) { updateName(); } }; _descriptionText.addListener(SWT.Modify, updateCategory); _pathText.addListener(SWT.Modify, updateCategory); _isDefaultCheck.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { String category; if (_categoriesList.getSelection()[0].startsWith("*")) category = (String) _categoriesList.getData(); else category = _categoriesList.getSelection()[0]; if (_categoryManager.getCategoryByPath(category).getIsDefault() == true) { _isDefaultCheck.setSelection(true); MessageBox messageBox = new MessageBox(PlatformUI.getWorkbench().getDisplay().getActiveShell(), SWT.ICON_ERROR); messageBox.setMessage("The Default Category always must exist, you can only change it"); messageBox.open(); } else { _categoryManager.updateDefaultCategory( _categoryManager.getCategoryByPath(_categoriesList.getSelection()[0])); String[] items = _categoriesList.getSelection(); refreshContents(); items[0] = "* " + items[0]; _categoriesList.setSelection(items); Event e2 = new Event(); _categoriesList.notifyListeners(SWT.Selection, e2); IWorkbenchWindow _window = getViewSite().getWorkbenchWindow(); IViewReference[] views = _window.getActivePage().getViewReferences(); IMyViewPart view = ((IMyViewPart) views[3].getView(false)); //view.refreshContents(); view.fillWidgets(); } } }); }
From source file:cl.utfsm.acs.acg.gui.SourcesView.java
License:Open Source License
private void createViewWidgets(final Composite parent) { _sash = new SashForm(parent, SWT.HORIZONTAL); _sash.setLayout(new FillLayout()); /* Left pane */ _sourcesComp = new Composite(_sash, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1;/* w ww . j a v a 2 s.c o m*/ _sourcesComp.setLayout(layout); _listGroup = new Group(_sourcesComp, SWT.SHADOW_ETCHED_IN); GridData gd = new GridData(); gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; _listGroup.setLayoutData(gd); GridLayout gl = new GridLayout(); gl.numColumns = 1; _listGroup.setLayout(gl); _listGroup.setText("Sources List"); _sourcesList = new List(_listGroup, SWT.BORDER); gd = new GridData(); gd.verticalAlignment = SWT.FILL; gd.horizontalAlignment = SWT.FILL; gd.grabExcessVerticalSpace = true; gd.grabExcessHorizontalSpace = true; _sourcesList.setLayoutData(gd); _sourcesButtonsComp = new Composite(_sourcesComp, SWT.NONE); layout = new GridLayout(); layout.numColumns = 2; _sourcesButtonsComp.setLayout(layout); _addSourceButton = new Button(_sourcesButtonsComp, SWT.None); _addSourceButton.setText("Add"); _addSourceButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD)); _deleteSourceButton = new Button(_sourcesButtonsComp, SWT.None); _deleteSourceButton.setText("Delete"); _deleteSourceButton .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_ETOOL_DELETE)); /* Please change this in the future when more SOURCES will be available */ _addSourceButton.setEnabled(false); _deleteSourceButton.setEnabled(false); _sourcesList.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } public void widgetSelected(SelectionEvent e) { String source = _sourcesList.getSelection()[0]; Control c = _compInitial.getChildren()[0]; if (c instanceof Label) { c.dispose(); _group.setVisible(true); _group.layout(); } fillSource(source); _compInitial.layout(); } }); _addSourceButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { InputDialog dialog = new InputDialog(SourcesView.this.getViewSite().getShell(), "New source", "Enter the source name", null, new IInputValidator() { public String isValid(String newText) { if (newText.trim().compareTo("") == 0) return "The name is empty"; return null; } }); dialog.setBlockOnOpen(true); dialog.open(); int returnCode = dialog.getReturnCode(); if (returnCode == InputDialog.OK) { Source newSource = new Source(); newSource.setSourceId(dialog.getValue()); try { _sourceManager.addSource(newSource); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(SourcesView.this.getViewSite().getShell(), "Source already exist", "The source " + dialog.getValue() + " already exists in the current configuration", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); return; } refreshContents(); if (_sourcesList.getItems().length != 0) { int lenght = _sourcesList.getItems().length; lenght -= 1; _sourcesList.select(lenght); _descriptionText.setText(_sourcesList.getItem(lenght).toString()); } } } }); _deleteSourceButton.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { boolean choice = MessageDialog.openQuestion(SourcesView.this.getViewSite().getShell(), "Confirmation", "Are you sure you want to delete this Source"); if (choice == true) { String tmp[] = _sourcesList.getSelection(); if (tmp.length == 0) { MessageBox box = new MessageBox(getViewSite().getShell(), SWT.OK | SWT.ICON_ERROR | SWT.APPLICATION_MODAL); box.setText("Empty selection"); box.setMessage("There are no sources selected to be deleted"); box.open(); return; } String source = tmp[0]; try { _sourceManager.deleteSource(_sourceManager.getSource(source)); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(SourcesView.this.getViewSite().getShell(), "Cannot delete source", "The source cannot be deleted", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", e.getMessage()), IStatus.ERROR); error.setBlockOnOpen(true); error.open(); } refreshContents(); if (_sourcesList.getItems().length != 0) { int lenght = _sourcesList.getItems().length; lenght -= 1; _sourcesList.select(lenght); _sourceNameText.setText(_sourcesList.getItem(lenght).toString()); } } } }); /* Right pane */ _compInitial = new Composite(_sash, SWT.NONE); _compInitial.setLayout(new GridLayout()); new Label(_compInitial, SWT.NONE).setText("Select a source"); layout = new GridLayout(); layout.numColumns = 2; gd = new GridData(); gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; _group = new Group(_compInitial, SWT.SHADOW_ETCHED_IN); _group.setText("Source information"); _group.setLayout(layout); _group.setLayoutData(gd); _sourceNameLabel = new Label(_group, SWT.NONE); _sourceNameLabel.setText("Source name"); _sourceNameText = new Text(_group, SWT.BORDER); _descriptionLabel = new Label(_group, SWT.NONE); _descriptionLabel.setText("Description"); _descriptionText = new Text(_group, SWT.BORDER); gd = new GridData(); gd.horizontalAlignment = SWT.FILL; gd.grabExcessHorizontalSpace = true; _sourceNameText.setLayoutData(gd); _descriptionText.setLayoutData(gd); _group.setVisible(false); _sash.setWeights(new int[] { 3, 5 }); /* TODO: This is temporal, since there is currently only * one source defined in the AS, and it's hardcoded */ //setEnabled(false); _descriptionText.addListener(SWT.Modify, new Listener() { public void handleEvent(Event e) { updateSource(); } }); _errorMessageLabel = new Label(_group, SWT.NONE); _errorMessageLabel.setText(""); _errorMessageLabel.setForeground(getViewSite().getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.horizontalSpan = 2; _errorMessageLabel.setLayoutData(gd); /* Please change this in the future when more SOURCES will be available */ _sourceNameText.setEnabled(false); _descriptionText.setEnabled(false); }
From source file:com.aptana.ide.ui.io.actions.CopyFilesOperation.java
License:Open Source License
/** * Returns a new name for a copy of the file. * //from w w w. j a v a 2 s .co m * @param originalFile * the file store * @return the new file store for the copy, or <code>null</code> if the file should not be copied */ private IFileStore getNewNameFor(final IFileStore originalFile) { final IFileStore parent = originalFile.getParent(); final String[] returnValue = { "" }; //$NON-NLS-1$ final String filename = originalFile.getName(); final boolean isRemote = (originalFile instanceof IExtendedFileStore); fShell.getDisplay().syncExec(new Runnable() { public void run() { IInputValidator validator = new IInputValidator() { public String isValid(String string) { if (filename.equals(string)) { return Messages.CopyFilesOperation_ERR_NameConflict; } if (!isRemote) { int type = Utils.isDirectory(originalFile) ? IResource.FOLDER : IResource.FILE; IStatus status = ResourcesPlugin.getWorkspace().validateName(string, type); if (!status.isOK()) { return status.getMessage(); } if (Utils.exists(parent.getChild(string))) { return Messages.CopyFilesOperation_ERR_NameExists; } } return null; } }; InputDialog dialog = new InputDialog(fShell, Messages.CopyFilesOperation_NameConflictDialog_Title, MessageFormat.format(Messages.CopyFilesOperation_NameConflictDialog_Message, filename), getAutoNewNameFor(originalFile), validator); dialog.setBlockOnOpen(true); dialog.open(); if (dialog.getReturnCode() == Window.CANCEL) { returnValue[0] = null; } else { returnValue[0] = dialog.getValue(); } } }); if (returnValue[0] == null) { return null; } return parent.getChild(returnValue[0]); }