List of usage examples for org.eclipse.jface.dialogs ErrorDialog ErrorDialog
public ErrorDialog(Shell parentShell, String dialogTitle, String message, IStatus status, int displayMask)
From source file:br.org.archimedes.gui.swt.layers.LayerEditor.java
License:Open Source License
/** * Creates the shell and all the other components *///from w w w .java 2s. c o m public void createShell() { shell = new Shell(parent); shell.setText(Messages.LayerEditor_Title); shell.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { parent.setEnabled(true); } }); shell.addShellListener(new ShellListener() { public void shellActivated(ShellEvent e) { // Ignore } public void shellClosed(ShellEvent e) { e.doit = okButton.isEnabled(); if (!e.doit) { ErrorDialog error = new ErrorDialog(shell, Messages.CloseError_Title, Messages.CloseError_Message, null, 0); error.open(); } } public void shellDeactivated(ShellEvent e) { // Ignore } public void shellDeiconified(ShellEvent e) { // Ignore } public void shellIconified(ShellEvent e) { // Ignore } }); RowLayout layout = new RowLayout(); layout.type = SWT.VERTICAL; layout.marginHeight = 5; layout.marginWidth = 5; layout.spacing = 8; layout.fill = true; shell.setLayout(layout); }
From source file:br.org.archimedes.gui.swt.preferences.PreferencesEditor.java
License:Open Source License
/** * Creates the shell and all the other components *///from w w w .ja va 2s . com public void createShell() { shell = new Shell(parent); shell.setText(Messages.PreferencesEditor_Title); shell.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { parent.setEnabled(true); } }); shell.addShellListener(new ShellListener() { public void shellActivated(ShellEvent e) { // Ignore } public void shellClosed(ShellEvent e) { e.doit = okButton.isEnabled(); if (!e.doit) { ErrorDialog error = new ErrorDialog(shell, Messages.CloseError_Title, Messages.CloseError_Message, null, 0); error.open(); } } public void shellDeactivated(ShellEvent e) { // Ignore } public void shellDeiconified(ShellEvent e) { // Ignore } public void shellIconified(ShellEvent e) { // Ignore } }); RowLayout layout = new RowLayout(); layout.type = SWT.VERTICAL; layout.marginHeight = 5; layout.marginWidth = 5; layout.spacing = 8; layout.fill = true; shell.setLayout(layout); }
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; }// ww w.j a v a 2 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.ApplicationWorkbenchWindowAdvisor.java
License:Open Source License
public void postWindowOpen() { final IStatusLineManager status = getWindowConfigurer().getActionBarConfigurer().getStatusLineManager(); status.setMessage("Application starting..."); final Display display = getWindowConfigurer().getWindow().getShell().getDisplay(); // Disables the initial view IViewReference[] views = getWindowConfigurer().getWindow().getWorkbench().getActiveWorkbenchWindow() .getActivePage().getViewReferences(); for (int i = 0; i < views.length; i++) { if (views[i].getId().compareTo(AlarmSystemView.ID) == 0) ((IMyViewPart) views[i].getView(false)).setEnabled(false); }/*from w ww .jav a2 s . c om*/ boolean authenticated = false; AuthenticationDialog d = new AuthenticationDialog( ApplicationWorkbenchWindowAdvisor.this.getWindowConfigurer().getWindow().getShell()); UserAuthenticator.Role role = null; while (!authenticated) { d.open(); UserAuthenticator userAuth = new UserAuthenticator(); try { role = userAuth.authenticate(d.getUser(), d.getPassword()); } catch (UserAuthenticatorException e) { d.setErrorMessage("Authentication unsuccessful"); continue; } catch (IllegalArgumentException e) { d.setErrorMessage("Please authenticate yourselve"); continue; } finally { status.setMessage("Authentication successful"); } authenticated = true; } final UserAuthenticator.Role finalRole = role; new Thread(new Runnable() { @Override public void run() { AlarmSystemManager asm = AlarmSystemManager.getInstance(finalRole); try { display.asyncExec(new Runnable() { public void run() { status.setMessage("Connecting to Manager"); } }); asm.connectToManager(); display.asyncExec(new Runnable() { public void run() { status.setMessage("Connecting to CDB DAL"); } }); asm.connectToDAL(); display.asyncExec(new Runnable() { public void run() { status.setMessage("Loading contents from the CDB"); } }); asm.loadFromCDB(); final String error = asm.checkCDB(); if (error.compareTo("") != 0) { display.asyncExec(new Runnable() { public void run() { ErrorDialog edialog = new ErrorDialog(getWindowConfigurer().getWindow().getShell(), "CDB Error", "Error while checking CDB integrity", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", error), IStatus.ERROR); edialog.setBlockOnOpen(true); edialog.open(); } }); } } catch (Exception e) { e.printStackTrace(); display.asyncExec(new Runnable() { public void run() { status.setErrorMessage("Couldn't successfully connect to AS configuation"); } }); return; } /* If everything went OK: * Show the other views * Enable the widgets and inform the user */ display.asyncExec(new Runnable() { public void run() { IWorkbenchPage page = getWindowConfigurer().getWindow().getActivePage(); try { if (finalRole == Role.Administrator || finalRole == Role.Operator) { page.showView(SourcesView.ID, null, IWorkbenchPage.VIEW_VISIBLE); page.showView(CategoriesView.ID, null, IWorkbenchPage.VIEW_VISIBLE); page.showView(AlarmsView.ID, null, IWorkbenchPage.VIEW_VISIBLE); page.showView(ReductionsView.ID, null, IWorkbenchPage.VIEW_VISIBLE); page.showView("org.eclipse.pde.runtime.LogView", null, IWorkbenchPage.VIEW_VISIBLE); } } catch (PartInitException e) { status.setErrorMessage("Cannot open other views"); } IViewReference[] views = page.getViewReferences(); for (int i = 0; i < views.length; i++) { if (views[i].getId().compareTo(AlarmSystemView.ID) == 0) ((IMyViewPart) views[i].getView(false)).setEnabled(true); if (finalRole == Role.Operator) if (views[i].getView(false) instanceof IMyViewPart) ((IMyViewPart) views[i].getView(false)).setReadOnly(true); } status.setMessage("Application started successfully"); } }); } }).start(); }
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 . j a v a 2s. 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.ReductionsView.java
License:Open Source License
private void createViewWidgets(Composite parent) { _addElement = new Listener() { public void handleEvent(Event event) { TreeItem sel = null;/*from w w w .ja v a 2 s . com*/ TreeItem item = null; if (_tree.getSelection() == null || _tree.getSelection().length == 0) return; sel = _tree.getSelection()[0]; NodeType type = (NodeType) sel.getData(); item = sel; if (type == NodeType.NODE_REDUCTION_PARENT_DATA || type == NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA) item = sel.getParentItem(); type = (NodeType) item.getData(); java.util.List<FaultFamily> ffs = _alarmManager.getAllAlarms(); java.util.List<String> ffnames = new ArrayList<String>(); for (FaultFamily ff : ffs) { if (ff.getFaultCodeCount() > 0 && ff.getFaultMemberCount() > 0) ffnames.add(ff.getName()); } Collections.sort(ffnames, IGNORE_CASE_ORDER); ListDialog dialog = new ListDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell()); dialog.setTitle("Create Reduction Rule"); dialog.setMessage("Select Parent Fault Family"); dialog.setBlockOnOpen(true); dialog.setInput(ffnames); dialog.setContentProvider(new ArrayContentProvider()); dialog.setLabelProvider(new LabelProvider()); dialog.open(); if (dialog.getReturnCode() == InputDialog.CANCEL) return; String ffname = (String) dialog.getResult()[0]; FaultMember[] fms = _alarmManager.getFaultFamily(ffname).getFaultMember(); java.util.List<String> fmnames = new ArrayList<String>(); for (FaultMember fm : fms) { fmnames.add(fm.getName()); } Collections.sort(ffnames, IGNORE_CASE_ORDER); dialog = new ListDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell()); dialog.setTitle("Create Reduction Rule"); dialog.setMessage("Select Parent Fault Member"); dialog.setBlockOnOpen(true); dialog.setInput(fmnames); dialog.setContentProvider(new ArrayContentProvider()); dialog.setLabelProvider(new LabelProvider()); dialog.open(); if (dialog.getReturnCode() == InputDialog.CANCEL) return; String fmname = (String) dialog.getResult()[0]; FaultCode[] fcs = _alarmManager.getFaultFamily(ffname).getFaultCode(); java.util.List<String> fcvalues = new ArrayList<String>(); for (FaultCode fc : fcs) { fcvalues.add(Integer.toString(fc.getValue())); } Collections.sort(ffnames, IGNORE_CASE_ORDER); dialog = new ListDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell()); dialog.setTitle("Create Reduction Rule"); dialog.setMessage("Select Parent Fault Code"); dialog.setBlockOnOpen(true); dialog.setInput(fcvalues); dialog.setContentProvider(new ArrayContentProvider()); dialog.setLabelProvider(new LabelProvider()); dialog.open(); if (dialog.getReturnCode() == InputDialog.CANCEL) return; String fcvalue = (String) dialog.getResult()[0]; ReductionRule parent = null; boolean error = false; if (type == NodeType.NODE_REDUCTION) { parent = _reductionManager.getNRParentByTriplet(ffname, fmname, Integer.parseInt(fcvalue)); TreeItem[] chs = _tree.getItems()[0].getItems(); for (TreeItem ch : chs) { if (ch.getText().compareTo("<" + ffname + "," + fmname + "," + fcvalue + ">") == 0) error = true; } } else if (type == NodeType.MULTIPLICITY_REDUCTION) { parent = _reductionManager.getMRParentByTriplet(ffname, fmname, Integer.parseInt(fcvalue)); TreeItem[] chs = _tree.getItems()[1].getItems(); for (TreeItem ch : chs) { if (ch.getText().compareTo("<" + ffname + "," + fmname + "," + fcvalue + ">") == 0) error = true; } } if (error || parent != null) { ErrorDialog edialog = new ErrorDialog(ReductionsView.this.getViewSite().getShell(), "Reduction Rule Already Exists", "The reduction rule you are trying to create already exists", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "The reduction rule parent already exists"), IStatus.ERROR); edialog.setBlockOnOpen(true); edialog.open(); return; } else parent = new ReductionRule(_alarmManager.getAlarm(ffname + ":" + fmname + ":" + fcvalue)); TreeItem pTree = new TreeItem(item, SWT.NONE); pTree.setText("<" + ffname + "," + fmname + "," + fcvalue + ">"); if (type == NodeType.NODE_REDUCTION) { pTree.setData(NodeType.NODE_REDUCTION_PARENT_DATA); parent.setIsNodeReduction(true); } else if (type == NodeType.MULTIPLICITY_REDUCTION) { pTree.setData(NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA); parent.setIsNodeReduction(false); } _tree.setSelection(pTree); Event e = new Event(); _tree.notifyListeners(SWT.Selection, e); } }; _addRule = new Listener() { public void handleEvent(Event event) { Table t = (Table) event.widget; if (event.type == SWT.KeyUp) if (!(event.keyCode == SWT.CR || event.keyCode == ' ')) return; if (event.type == SWT.MouseDoubleClick) { Point pt = new Point(event.x, event.y); if (t.getItem(pt) == null) return; } boolean isNode; if (_tree.getSelection() == null || _tree.getSelection().length == 0) return; TreeItem tmp1 = _tree.getSelection()[0]; if ((NodeType) _tree.getSelection()[0].getData() == NodeType.NODE_REDUCTION_PARENT_DATA) isNode = true; else if ((NodeType) _tree.getSelection()[0] .getData() == NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA) isNode = false; else return; String[] tr = getTriplet(tmp1.getText()); ReductionRule parent; if (isNode) parent = _reductionManager.getNRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); else parent = _reductionManager.getMRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); if (t.getSelection() == null || t.getSelection().length == 0) return; TableItem item = t.getSelection()[0]; Alarm p, c; if (parent == null) { if (isNode) p = _alarmManager.getAlarm(_NRParentFFCombo.getText() + ":" + _NRParentFMCombo.getText() + ":" + _NRParentFCCombo.getText()); else p = _alarmManager.getAlarm(_MRParentFFCombo.getText() + ":" + _MRParentFMCombo.getText() + ":" + _MRParentFCCombo.getText()); if (p == null) { if (isNode) _NRParentErrorMessageLabel.setText("Couldn't find parent alarm."); else _MRParentErrorMessageLabel.setText("Couldn't find parent alarm."); return; } c = null; } else { p = parent.getParent(); c = parent.getChild(item.getText()); } if (c == null) { //Add child c = _alarmManager.getAlarm(item.getText()); if (c == null) { if (isNode) _NRParentErrorMessageLabel.setText("Couldn't find child alarm."); else _MRParentErrorMessageLabel.setText("Couldn't find child alarm."); return; } try { if (isNode) _reductionManager.addNodeReductionRule(p, c); else { _reductionManager.addMultiReductionRule(p, c); if (parent == null) _reductionManager.updateMultiThreshold(p, Integer.parseInt(_MRParentThresholdText.getText())); } item.setImage(Activator.getDefault().getImageRegistry().get(Activator.IMG_TICKET)); if (parent == null) _tree.getSelection()[0].setText("<" + p.getAlarmId().replace(':', ',') + ">"); if (isNode) _NRParentErrorMessageLabel.setText(""); else _MRParentErrorMessageLabel.setText(""); } catch (IllegalOperationException e) { if (isNode) _NRParentErrorMessageLabel.setText(e.getMessage()); else _MRParentErrorMessageLabel.setText(e.getMessage()); } } else { //Remove child try { //ReductionRule rr; if (isNode) { _reductionManager.deleteNodeReductionRule(p, c); //rr = _reductionManager.getNRParentByTriplet(p.getTriplet().getFaultFamily(), p.getTriplet().getFaultMember(), p.getTriplet().getFaultCode()); } else { _reductionManager.deleteMultiReductionRule(p, c); //rr = _reductionManager.getMRParentByTriplet(p.getTriplet().getFaultFamily(), p.getTriplet().getFaultMember(), p.getTriplet().getFaultCode()); } } catch (IllegalOperationException e) { e.printStackTrace(); } item.setImage((org.eclipse.swt.graphics.Image) null); } fillMRParentChAlarmList(tr[0], tr[1], Integer.parseInt(tr[2])); sortReductionRulesList(); Triplet t2 = p.getTriplet(); if (isNode) selectElementFromTree( "<" + t2.getFaultFamily() + "," + t2.getFaultMember() + "," + t2.getFaultCode() + ">", true); else selectElementFromTree( "<" + t2.getFaultFamily() + "," + t2.getFaultMember() + "," + t2.getFaultCode() + ">", false); } }; _removeElement = new Listener() { public void handleEvent(Event event) { boolean choice = MessageDialog.openQuestion(ReductionsView.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.NODE_REDUCTION || type == NodeType.MULTIPLICITY_REDUCTION) return; TreeItem item = _tree.getSelection()[0]; String[] tr = getTriplet(item.getText()); try { if (type == NodeType.NODE_REDUCTION_PARENT_DATA) { //Remove all the NODE REDUCTION Rules in which this node is parent. ReductionRule rr = _reductionManager.getNRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); if (rr != null) { Alarm p = rr.getParent(); List<Alarm> chL = rr.getChildren(); Alarm[] als = new Alarm[chL.size()]; chL.toArray(als); for (int i = 0; i < als.length; i++) _reductionManager.deleteNodeReductionRule(p, als[i]); } } else if (type == NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA) { //Remove all the MULTIPLICITY REDUCTION Rules in which this node is a parent. ReductionRule rr = _reductionManager.getMRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); if (rr != null) { Alarm p = rr.getParent(); List<Alarm> chL = rr.getChildren(); Alarm[] als = new Alarm[chL.size()]; chL.toArray(als); for (int i = 0; i < als.length; i++) _reductionManager.deleteMultiReductionRule(p, als[i]); } } } catch (NullPointerException e) { ErrorDialog error = new ErrorDialog(ReductionsView.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(); } catch (IllegalOperationException e) { ErrorDialog error = new ErrorDialog(ReductionsView.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(); } sel = _tree.getSelection()[0].getParentItem(); _tree.getSelection()[0].dispose(); _tree.setSelection(sel); Event e = new Event(); _tree.notifyListeners(SWT.Selection, e); } } }; _sash = new SashForm(parent, SWT.NONE); _sash.setLayout(new FillLayout()); _reductionsComp = new Composite(_sash, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1; _reductionsComp.setLayout(layout); _treeGroup = new Group(_reductionsComp, 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("Reduction Rules List"); _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); /* MenuItem treePopUpDelete = new MenuItem(treePopUp,SWT.PUSH); treePopUpDelete.setText("Delete"); treePopUpDelete.addListener(SWT.Selection, _removeElement); MenuItem treePopUpAddRule = new MenuItem(treePopUp,SWT.PUSH); treePopUpAddRule.setText("Add Rule"); treePopUpAddRule.addListener(SWT.Selection, _addElement); MenuItem treePopUpAddChildren = new MenuItem(treePopUp,SWT.PUSH); treePopUpAddChildren.setText("Add Children"); //treePopUpAddChildren.addListener(SWT.Selection, _addElement); */ _tree.setMenu(treePopUp); treePopUp.addListener(SWT.Show, new Listener() { public void handleEvent(Event e) { TreeItem sel = _tree.getSelection()[0]; NodeType type = (NodeType) sel.getData(); Menu treePopUp = _tree.getMenu(); MenuItem[] items = treePopUp.getItems(); for (int i = 0; i < items.length; i++) items[i].dispose(); MenuItem mitem; switch (type) { case NODE_REDUCTION: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Node Reduction Rule Parent"); mitem.addListener(SWT.Selection, _addElement); break; case NODE_REDUCTION_PARENT_DATA: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Node Reduction Rules for this parent"); mitem.addListener(SWT.Selection, _removeElement); break; case MULTIPLICITY_REDUCTION: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Add Multiplicity Reduction Rule Parent"); mitem.addListener(SWT.Selection, _addElement); break; case MULTIPLICITY_REDUCTION_PARENT_DATA: mitem = new MenuItem(treePopUp, SWT.PUSH); mitem.setText("Delete Multiplicity Reduction Rules for this parent"); mitem.addListener(SWT.Selection, _removeElement); 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) return; TreeItem item = tmp[0]; NodeType type = (NodeType) item.getData(); Control c = _compInitial.getChildren()[0]; if (c instanceof Label) { c.dispose(); _compInitial.layout(); c = _compInitial.getChildren()[0]; } if (type == NodeType.NODE_REDUCTION) { _NRParentGroup.setVisible(false); ((GridData) _NRParentGroup.getLayoutData()).exclude = true; _MRParentGroup.setVisible(false); ((GridData) _MRParentGroup.getLayoutData()).exclude = true; } else if (type == NodeType.NODE_REDUCTION_PARENT_DATA) { _NRParentGroup.setVisible(true); ((GridData) _NRParentGroup.getLayoutData()).exclude = false; _MRParentGroup.setVisible(false); ((GridData) _MRParentGroup.getLayoutData()).exclude = true; String[] triplet = getTriplet(item.getText()); fillNRParentWidgets(triplet[0], triplet[1], Integer.parseInt(triplet[2])); _NRParentGroup.moveAbove(c); _compInitial.layout(); } else if (type == NodeType.MULTIPLICITY_REDUCTION) { _NRParentGroup.setVisible(false); ((GridData) _NRParentGroup.getLayoutData()).exclude = true; _MRParentGroup.setVisible(false); ((GridData) _MRParentGroup.getLayoutData()).exclude = true; } else if (type == NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA) { _NRParentGroup.setVisible(false); ((GridData) _NRParentGroup.getLayoutData()).exclude = true; _MRParentGroup.setVisible(true); ((GridData) _MRParentGroup.getLayoutData()).exclude = false; String[] triplet = getTriplet(item.getText()); fillMRParentWidgets(triplet[0], triplet[1], Integer.parseInt(triplet[2])); _MRParentGroup.moveAbove(c); _compInitial.layout(); } } }); /* Top widget of the right side */ _compInitial = new Composite(_sash, SWT.NONE); _compInitial.setLayout(new GridLayout()); new Label(_compInitial, SWT.NONE).setText("Select a reduction rule"); /* NR/MR Details */ createNRParentWidgets(); createMRParentWidgets(); _NRParentGroup.setVisible(false); _MRParentGroup.setVisible(false); _sash.setWeights(new int[] { 3, 5 }); }
From source file:cl.utfsm.acs.acg.gui.ReductionsView.java
License:Open Source License
private void createNRParentWidgets() { _updateNRParentFF = new Listener() { public void handleEvent(Event event) { _NRParentFMCombo.removeAll(); FaultMember[] fml = _alarmManager.getFaultFamily(_NRParentFFCombo.getText()).getFaultMember(); for (int j = 0; j < fml.length; j++) { _NRParentFMCombo.add(fml[j].getName()); }/* w w w .j a v a 2 s. c om*/ _NRParentFCCombo.removeAll(); FaultCode[] fcl = _alarmManager.getFaultFamily(_NRParentFFCombo.getText()).getFaultCode(); for (int j = 0; j < fcl.length; j++) { _NRParentFCCombo.add(String.valueOf(fcl[j].getValue())); } _NRParentErrorMessageLabel.setText("Please choose a Fault Member and a Fault Code."); } }; _updateNRParent = new Listener() { public void handleEvent(Event event) { if (_tree.getSelection() == null || _tree.getSelection().length == 0) return; NodeType type = (NodeType) _tree.getSelection()[0].getData(); if (type != NodeType.NODE_REDUCTION_PARENT_DATA) return; if (_NRParentFMCombo.getText().isEmpty()) { _NRParentErrorMessageLabel.setText("Please choose a Fault Member."); return; } if (_NRParentFCCombo.getText().isEmpty()) { _NRParentErrorMessageLabel.setText("Please choose a Fault Code."); return; } String[] tr = getTriplet(_tree.getSelection()[0].getText()); ReductionRule nrr = _reductionManager.getNRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); ReductionRule nrr2 = _reductionManager.getNRParentByTriplet(_NRParentFFCombo.getText(), _NRParentFMCombo.getText(), Integer.parseInt(_NRParentFCCombo.getText())); Alarm parent = null; Alarm nParent; fillNRParentChAlarmList(_NRParentFFCombo.getText(), _NRParentFMCombo.getText(), Integer.parseInt(_NRParentFCCombo.getText())); if (nrr == null) { _NRParentErrorMessageLabel .setText("There's no Reduction Rule (no children) for the selected Alarm."); return; } else parent = nrr.getParent(); if (nrr2 == null) nParent = _alarmManager.getAlarm(new String(_NRParentFFCombo.getText() + ":" + _NRParentFMCombo.getText() + ":" + _NRParentFCCombo.getText())); else { nParent = nrr2.getParent(); if (nrr != nrr2) { ErrorDialog edialog = new ErrorDialog(ReductionsView.this.getViewSite().getShell(), "Reduction Rule Already Exists", "The reduction rule you are trying to create already exists", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "The reduction rule parent already exists"), IStatus.ERROR); edialog.setBlockOnOpen(true); edialog.open(); return; } } if (parent != null) { String[] ch = parent.getNodeChildren(); //Remove all Children from nrr and add them to nrr2. for (int i = 0; i < ch.length; i++) { Alarm aCh = _alarmManager.getAlarm(ch[i]); if (aCh != null) { try { if (!_reductionManager.deleteNodeReductionRule(parent, aCh)) { _NRParentErrorMessageLabel.setText("One or more children alarms didn't exist."); continue; } _reductionManager.addNodeReductionRule(nParent, aCh); } catch (IllegalOperationException e) { _NRParentErrorMessageLabel.setText("The parent alarm didn't exist."); } } } _tree.getSelection()[0].setText("<" + nParent.getAlarmId().replace(':', ',') + ">"); _NRParentErrorMessageLabel.setText(""); if (tr[0].compareTo(_NRParentFFCombo.getText()) != 0 || tr[1].compareTo(_NRParentFMCombo.getText()) != 0 || tr[2].compareTo(_NRParentFCCombo.getText()) != 0) { sortReductionRulesList(); Triplet t = nParent.getTriplet(); selectElementFromTree( "<" + t.getFaultFamily() + "," + t.getFaultMember() + "," + t.getFaultCode() + ">", true); } } } }; _updateNRParentChFF = new Listener() { public void handleEvent(Event event) { _NRParentChFMCombo.removeAll(); _NRParentChFMCombo.add("Any"); if (_NRParentChFFCombo.getText().compareTo("Any") != 0) { FaultMember[] fml = _alarmManager.getFaultFamily(_NRParentChFFCombo.getText()).getFaultMember(); for (int j = 0; j < fml.length; j++) { _NRParentChFMCombo.add(fml[j].getName()); } } _NRParentChFMCombo.select(0); _NRParentChFCCombo.removeAll(); _NRParentChFCCombo.add("Any"); if (_NRParentChFFCombo.getText().compareTo("Any") != 0) { FaultCode[] fcl = _alarmManager.getFaultFamily(_NRParentChFFCombo.getText()).getFaultCode(); for (int j = 0; j < fcl.length; j++) { _NRParentChFCCombo.add(String.valueOf(fcl[j].getValue())); } } _NRParentChFCCombo.select(0); TreeItem[] tmp = _tree.getSelection(); if (tmp == null || tmp.length == 0) return; TreeItem item = tmp[0]; String[] triplet = getTriplet(item.getText()); fillNRParentChAlarmList(triplet[0], triplet[1], Integer.parseInt(triplet[2])); } }; _updateNRParentCh = new Listener() { public void handleEvent(Event event) { TreeItem[] tmp = _tree.getSelection(); if (tmp == null || tmp.length == 0) return; TreeItem item = tmp[0]; String[] triplet = getTriplet(item.getText()); fillNRParentChAlarmList(triplet[0], triplet[1], Integer.parseInt(triplet[2])); } }; _NRParentGroup = new Group(_compInitial, SWT.SHADOW_ETCHED_IN); GridLayout gl = new GridLayout(); gl.numColumns = 1; GridData gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; _NRParentGroup.setLayout(gl); _NRParentGroup.setLayoutData(gd); _NRParentFtGroup = new Group(_NRParentGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 2; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentFtGroup.setLayout(gl); _NRParentFtGroup.setLayoutData(gd); _NRParentFtGroup.setText("Parent Alarm"); _NRParentFFLabel = new Label(_NRParentFtGroup, SWT.NONE); _NRParentFFLabel.setText("Fault Family:"); _NRParentFFCombo = new Combo(_NRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentFFCombo.setLayoutData(gd); _NRParentFFCombo.addListener(SWT.Selection, _updateNRParentFF); _NRParentFMLabel = new Label(_NRParentFtGroup, SWT.NONE); _NRParentFMLabel.setText("Fault Member:"); _NRParentFMCombo = new Combo(_NRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentFMCombo.setLayoutData(gd); _NRParentFMCombo.addListener(SWT.Selection, _updateNRParent); _NRParentFCLabel = new Label(_NRParentFtGroup, SWT.NONE); _NRParentFCLabel.setText("Fault Code:"); _NRParentFCCombo = new Combo(_NRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentFCCombo.setLayoutData(gd); _NRParentFCCombo.addListener(SWT.Selection, _updateNRParent); // _NRParentChGroup = new Group(_NRParentGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 1; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; _NRParentChGroup.setLayout(gl); _NRParentChGroup.setLayoutData(gd); _NRParentChGroup.setText("Alarms to Hide"); _NRParentChFilterGroup = new Group(_NRParentChGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 2; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentChFilterGroup.setLayout(gl); _NRParentChFilterGroup.setLayoutData(gd); _NRParentChFilterGroup.setText("Filter Options"); _NRParentChFilterLevelGroup = new Group(_NRParentChFilterGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 3; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalSpan = 2; gd.horizontalAlignment = SWT.FILL; _NRParentChFilterLevelGroup.setLayout(gl); _NRParentChFilterLevelGroup.setLayoutData(gd); _NRParentChFilterLevelGroup.setText("Show"); _NRParentChAllRadio = new Button(_NRParentChFilterLevelGroup, SWT.RADIO); _NRParentChAllRadio.setText("All"); _NRParentChAllRadio.addListener(SWT.Selection, _updateNRParentCh); _NRParentChSelectedRadio = new Button(_NRParentChFilterLevelGroup, SWT.RADIO); _NRParentChSelectedRadio.setText("Selected"); _NRParentChSelectedRadio.addListener(SWT.Selection, _updateNRParentCh); _NRParentChUnselectedRadio = new Button(_NRParentChFilterLevelGroup, SWT.RADIO); _NRParentChUnselectedRadio.setText("Unselected"); _NRParentChUnselectedRadio.addListener(SWT.Selection, _updateNRParentCh); _NRParentChFFLabel = new Label(_NRParentChFilterGroup, SWT.NONE); _NRParentChFFLabel.setText("Fault Family:"); _NRParentChFFCombo = new Combo(_NRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentChFFCombo.setLayoutData(gd); _NRParentChFFCombo.addListener(SWT.Selection, _updateNRParentChFF); _NRParentChFMLabel = new Label(_NRParentChFilterGroup, SWT.NONE); _NRParentChFMLabel.setText("Fault Member:"); _NRParentChFMCombo = new Combo(_NRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentChFMCombo.setLayoutData(gd); _NRParentChFMCombo.addListener(SWT.Selection, _updateNRParentCh); _NRParentChFCLabel = new Label(_NRParentChFilterGroup, SWT.NONE); _NRParentChFCLabel.setText("Fault Code:"); _NRParentChFCCombo = new Combo(_NRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentChFCCombo.setLayoutData(gd); _NRParentChFCCombo.addListener(SWT.Selection, _updateNRParentCh); _NRParentChFilterLabel = new Label(_NRParentChFilterGroup, SWT.NONE); _NRParentChFilterLabel.setText("Filter RegEx:"); _NRParentChFilterText = new Text(_NRParentChFilterGroup, SWT.BORDER); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _NRParentChFilterText.setLayoutData(gd); _NRParentChFilterText.addListener(SWT.Modify, _updateNRParentCh); _NRParentChAlarmList = new Table(_NRParentChGroup, SWT.BORDER); gd = new GridData(); gd.verticalAlignment = SWT.FILL; gd.horizontalAlignment = SWT.FILL; gd.grabExcessVerticalSpace = true; gd.grabExcessHorizontalSpace = true; _NRParentChAlarmList.setLayoutData(gd); _NRParentChAlarmList.addListener(SWT.KeyUp, _addRule); _NRParentChAlarmList.addListener(SWT.MouseDoubleClick, _addRule); _NRParentErrorMessageLabel = new Label(_NRParentGroup, SWT.NONE); _NRParentErrorMessageLabel.setText(""); _NRParentErrorMessageLabel .setForeground(getViewSite().getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.horizontalSpan = 2; _NRParentErrorMessageLabel.setLayoutData(gd); }
From source file:cl.utfsm.acs.acg.gui.ReductionsView.java
License:Open Source License
private void createMRParentWidgets() { _updateMRParentFF = new Listener() { public void handleEvent(Event event) { _MRParentFMCombo.removeAll(); FaultMember[] fml = _alarmManager.getFaultFamily(_MRParentFFCombo.getText()).getFaultMember(); for (int j = 0; j < fml.length; j++) { _MRParentFMCombo.add(fml[j].getName()); }//from w w w.j av a2 s . c o m _MRParentFCCombo.removeAll(); FaultCode[] fcl = _alarmManager.getFaultFamily(_MRParentFFCombo.getText()).getFaultCode(); for (int j = 0; j < fcl.length; j++) { _MRParentFCCombo.add(String.valueOf(fcl[j].getValue())); } //_MRParentThresholdText.setText(""); _MRParentErrorMessageLabel.setText("Please choose a Fault Member and a Fault Code."); } }; _updateMRParent = new Listener() { public void handleEvent(Event event) { if (_tree.getSelection() == null || _tree.getSelection().length == 0) return; NodeType type = (NodeType) _tree.getSelection()[0].getData(); if (type != NodeType.MULTIPLICITY_REDUCTION_PARENT_DATA) return; if (_MRParentFMCombo.getText().isEmpty()) { _MRParentErrorMessageLabel.setText("Please choose a Fault Member."); return; } if (_MRParentFCCombo.getText().isEmpty()) { _MRParentErrorMessageLabel.setText("Please choose a Fault Code."); return; } if (_MRParentThresholdText.getText().isEmpty()) { _MRParentErrorMessageLabel.setText("Please set a Threshold value."); return; } int thr; try { thr = Integer.parseInt(_MRParentThresholdText.getText()); } catch (NumberFormatException e) { _MRParentErrorMessageLabel.setText("Incorrect Threshold. A number is required."); return; } String[] tr = getTriplet(_tree.getSelection()[0].getText()); ReductionRule mrr = _reductionManager.getMRParentByTriplet(tr[0], tr[1], Integer.parseInt(tr[2])); ReductionRule mrr2 = _reductionManager.getMRParentByTriplet(_MRParentFFCombo.getText(), _MRParentFMCombo.getText(), Integer.parseInt(_MRParentFCCombo.getText())); Alarm parent = null; Alarm mParent; fillMRParentChAlarmList(_MRParentFFCombo.getText(), _MRParentFMCombo.getText(), Integer.parseInt(_MRParentFCCombo.getText())); if (mrr == null) { _MRParentErrorMessageLabel .setText("There's no Reduction Rule (no children) for the selected Alarm."); return; } else parent = mrr.getParent(); if (mrr2 == null) mParent = _alarmManager.getAlarm(new String(_MRParentFFCombo.getText() + ":" + _MRParentFMCombo.getText() + ":" + _MRParentFCCombo.getText())); else { mParent = mrr2.getParent(); if (mrr != mrr2) { ErrorDialog edialog = new ErrorDialog(ReductionsView.this.getViewSite().getShell(), "Reduction Rule Already Exists", "The reduction rule you are trying to create already exists", new Status(IStatus.ERROR, "cl.utfsm.acs.acg", "The reduction rule parent already exists"), IStatus.ERROR); edialog.setBlockOnOpen(true); edialog.open(); return; } } if (parent != null) { String[] ch = parent.getMultiplicityChildren(); //Remove all Children from mrr and add them to mrr2. try { for (int i = 0; i < ch.length; i++) { Alarm aCh = _alarmManager.getAlarm(ch[i]); if (aCh != null) { if (!_reductionManager.deleteMultiReductionRule(parent, aCh)) { _MRParentErrorMessageLabel.setText("One or more children alarms didn't exist."); continue; } _reductionManager.addMultiReductionRule(mParent, aCh); } } _reductionManager.updateMultiThreshold(mParent, thr); } catch (IllegalOperationException e) { _MRParentErrorMessageLabel.setText("The parent alarm didn't exist."); } _tree.getSelection()[0].setText("<" + mParent.getAlarmId().replace(':', ',') + ">"); _MRParentErrorMessageLabel.setText(""); } if (mrr != null && mrr.getChildrenCount() < mrr.getThreshold()) { _MRParentErrorMessageLabel.setText("You need to have at least threshold (" + mrr.getThreshold() + ") childs for this triplet."); return; } if (tr[0].compareTo(_MRParentFFCombo.getText()) != 0 || tr[1].compareTo(_MRParentFMCombo.getText()) != 0 || tr[2].compareTo(_MRParentFCCombo.getText()) != 0) { sortReductionRulesList(); Triplet t = mParent.getTriplet(); selectElementFromTree( "<" + t.getFaultFamily() + "," + t.getFaultMember() + "," + t.getFaultCode() + ">", false); } } }; _updateMRParentChFF = new Listener() { public void handleEvent(Event event) { _MRParentChFMCombo.removeAll(); _MRParentChFMCombo.add("Any"); if (_MRParentChFFCombo.getText().compareTo("Any") != 0) { FaultMember[] fml = _alarmManager.getFaultFamily(_MRParentChFFCombo.getText()).getFaultMember(); for (int j = 0; j < fml.length; j++) { _MRParentChFMCombo.add(fml[j].getName()); } } _MRParentChFMCombo.select(0); _MRParentChFCCombo.removeAll(); _MRParentChFCCombo.add("Any"); if (_MRParentChFFCombo.getText().compareTo("Any") != 0) { FaultCode[] fcl = _alarmManager.getFaultFamily(_MRParentChFFCombo.getText()).getFaultCode(); for (int j = 0; j < fcl.length; j++) { _MRParentChFCCombo.add(String.valueOf(fcl[j].getValue())); } } _MRParentChFCCombo.select(0); TreeItem[] tmp = _tree.getSelection(); if (tmp == null || tmp.length == 0) return; TreeItem item = tmp[0]; String[] triplet = getTriplet(item.getText()); fillMRParentChAlarmList(triplet[0], triplet[1], Integer.parseInt(triplet[2])); } }; _updateMRParentCh = new Listener() { public void handleEvent(Event event) { TreeItem[] tmp = _tree.getSelection(); if (tmp == null || tmp.length == 0) return; TreeItem item = tmp[0]; String[] triplet = getTriplet(item.getText()); fillMRParentChAlarmList(triplet[0], triplet[1], Integer.parseInt(triplet[2])); } }; _MRParentGroup = new Group(_compInitial, SWT.SHADOW_ETCHED_IN); GridLayout gl = new GridLayout(); gl.numColumns = 1; GridData gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; _MRParentGroup.setLayout(gl); _MRParentGroup.setLayoutData(gd); _MRParentFtGroup = new Group(_MRParentGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 2; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentFtGroup.setLayout(gl); _MRParentFtGroup.setLayoutData(gd); _MRParentFtGroup.setText("Primary Alarm"); _MRParentFFLabel = new Label(_MRParentFtGroup, SWT.NONE); _MRParentFFLabel.setText("Fault Family:"); _MRParentFFCombo = new Combo(_MRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentFFCombo.setLayoutData(gd); _MRParentFFCombo.addListener(SWT.Selection, _updateMRParentFF); _MRParentFMLabel = new Label(_MRParentFtGroup, SWT.NONE); _MRParentFMLabel.setText("Fault Member:"); _MRParentFMCombo = new Combo(_MRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentFMCombo.setLayoutData(gd); _MRParentFMCombo.addListener(SWT.Selection, _updateMRParent); _MRParentFCLabel = new Label(_MRParentFtGroup, SWT.NONE); _MRParentFCLabel.setText("Fault Code:"); _MRParentFCCombo = new Combo(_MRParentFtGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentFCCombo.setLayoutData(gd); _MRParentFCCombo.addListener(SWT.Selection, _updateMRParent); _MRParentThresholdLabel = new Label(_MRParentFtGroup, SWT.NONE); _MRParentThresholdLabel.setText("Threshold:"); _MRParentThresholdText = new Text(_MRParentFtGroup, SWT.BORDER); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentThresholdText.setLayoutData(gd); _MRParentThresholdText.addListener(SWT.Modify, _updateMRParent); // _MRParentChGroup = new Group(_MRParentGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 1; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.verticalAlignment = SWT.FILL; _MRParentChGroup.setLayout(gl); _MRParentChGroup.setLayoutData(gd); _MRParentChGroup.setText("Alarms to Ignore"); _MRParentChFilterGroup = new Group(_MRParentChGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 2; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentChFilterGroup.setLayout(gl); _MRParentChFilterGroup.setLayoutData(gd); _MRParentChFilterGroup.setText("Filter Options"); _MRParentChFilterLevelGroup = new Group(_MRParentChFilterGroup, SWT.SHADOW_ETCHED_IN); gl = new GridLayout(); gl.numColumns = 3; gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalSpan = 2; gd.horizontalAlignment = SWT.FILL; _MRParentChFilterLevelGroup.setLayout(gl); _MRParentChFilterLevelGroup.setLayoutData(gd); _MRParentChFilterLevelGroup.setText("Show"); _MRParentChAllRadio = new Button(_MRParentChFilterLevelGroup, SWT.RADIO); _MRParentChAllRadio.setText("All"); _MRParentChAllRadio.addListener(SWT.Selection, _updateMRParentCh); _MRParentChSelectedRadio = new Button(_MRParentChFilterLevelGroup, SWT.RADIO); _MRParentChSelectedRadio.setText("Selected"); _MRParentChSelectedRadio.addListener(SWT.Selection, _updateMRParentCh); _MRParentChUnselectedRadio = new Button(_MRParentChFilterLevelGroup, SWT.RADIO); _MRParentChUnselectedRadio.setText("Unselected"); _MRParentChUnselectedRadio.addListener(SWT.Selection, _updateMRParentCh); _MRParentChFFLabel = new Label(_MRParentChFilterGroup, SWT.NONE); _MRParentChFFLabel.setText("Fault Family:"); _MRParentChFFCombo = new Combo(_MRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentChFFCombo.setLayoutData(gd); _MRParentChFFCombo.addListener(SWT.Selection, _updateMRParentChFF); _MRParentChFMLabel = new Label(_MRParentChFilterGroup, SWT.NONE); _MRParentChFMLabel.setText("Fault Member:"); _MRParentChFMCombo = new Combo(_MRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentChFMCombo.setLayoutData(gd); _MRParentChFMCombo.addListener(SWT.Selection, _updateMRParentCh); _MRParentChFCLabel = new Label(_MRParentChFilterGroup, SWT.NONE); _MRParentChFCLabel.setText("Fault Code:"); _MRParentChFCCombo = new Combo(_MRParentChFilterGroup, SWT.DROP_DOWN | SWT.READ_ONLY); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentChFCCombo.setLayoutData(gd); _MRParentChFCCombo.addListener(SWT.Selection, _updateMRParentCh); _MRParentChFilterLabel = new Label(_MRParentChFilterGroup, SWT.NONE); _MRParentChFilterLabel.setText("Filter RegEx:"); _MRParentChFilterText = new Text(_MRParentChFilterGroup, SWT.BORDER); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; _MRParentChFilterText.setLayoutData(gd); _MRParentChFilterText.addListener(SWT.Modify, _updateMRParentCh); _MRParentChAlarmList = new Table(_MRParentChGroup, SWT.BORDER); gd = new GridData(); gd.verticalAlignment = SWT.FILL; gd.horizontalAlignment = SWT.FILL; gd.grabExcessVerticalSpace = true; gd.grabExcessHorizontalSpace = true; _MRParentChAlarmList.setLayoutData(gd); _MRParentChAlarmList.addListener(SWT.KeyUp, _addRule); _MRParentChAlarmList.addListener(SWT.MouseDoubleClick, _addRule); _MRParentErrorMessageLabel = new Label(_MRParentGroup, SWT.NONE); _MRParentErrorMessageLabel.setText(""); _MRParentErrorMessageLabel .setForeground(getViewSite().getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; gd.horizontalSpan = 2; _MRParentErrorMessageLabel.setLayoutData(gd); }
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;//from w w w .j a v a 2 s . co 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:classes.ExceptionUtilities.java
License:Apache License
/** * Generic function which creates an error popup with a generic title and error message while displaying a custom * exception which is passed to the method. *//*from w ww.jav a 2 s. co m*/ public void Error(Throwable e) { Display display = Display.getDefault(); Shell shell = new Shell(display); Status status = new Status(IStatus.ERROR, "org.spdx.spdxeclipse", 0, "There was an error while generating your SPDX Document. Please try your request again.", e); ErrorDialog dlg = new ErrorDialog(shell, "ERROR", "There was an error while generating your SPDX Document. Please try your request again.", status, IStatus.ERROR); dlg.open(); }