List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider
public LabelProvider()
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;/*from www . ja va 2s . com*/ 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;// w w w. ja v a 2 s . c om 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:cn.dockerfoundry.ide.eclipse.explorer.ui.views.property.DockerContainerElementPropertySource.java
License:Open Source License
@Override public IPropertyDescriptor[] getPropertyDescriptors() { if (propertyDescriptors == null) { final DockerContainerElement elem = dockerContainerElement; // @JsonProperty("Id") private String id; // @JsonProperty("Names") private ImmutableList<String> names; // @JsonProperty("Image") private String image; // @JsonProperty("Command") private String command; // @JsonProperty("Created") private Long created; // @JsonProperty("Status") private String status; // @JsonProperty("Ports") private ImmutableList<PortMapping> ports; // @JsonProperty("SizeRw") private Long sizeRw; // @JsonProperty("SizeRootFs") private Long sizeRootFs; // Create a descriptor and set a category PropertyDescriptor idDescriptor = new PropertyDescriptor("container.Id", "Id"); idDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { System.out.println("::" + element); return elem.getId(); }/*from w ww. j a v a 2 s .c o m*/ }); // List<String> names = elem.getNames(); // if(names != null){ // for (Iterator<String> iterator = names.iterator(); iterator.hasNext();) { // String name = (String) iterator.next(); // // } // } PropertyDescriptor namesDescriptor = new PropertyDescriptor("container.Names", "Names"); namesDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getNamesAsString(); } }); PropertyDescriptor imageDescriptor = new PropertyDescriptor("container.Image", "Image"); imageDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getImage(); } }); PropertyDescriptor commandDescriptor = new PropertyDescriptor("container.Command", "Command"); commandDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getCommand(); } }); PropertyDescriptor createdDescriptor = new PropertyDescriptor("container.Created", "Created"); createdDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getCreated(); } }); PropertyDescriptor statusDescriptor = new PropertyDescriptor("container.Status", "Status"); statusDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getStatus(); } }); // final ContainerConfig containerConfig = imageInfo.containerConfig(); // PropertyDescriptor containerConfigHostnameDescriptor = new PropertyDescriptor( // "Hostname", "Hostname"); // containerConfigHostnameDescriptor // .setLabelProvider(new LabelProvider() { // public String getText(Object element) { // return containerConfig.hostname(); // } // }); // containerConfigHostnameDescriptor.setCategory("ContainerConfig"); PropertyDescriptor portsDescriptor = new PropertyDescriptor("container.Ports", "Ports"); portsDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getPortsAsString(); } }); PropertyDescriptor sizeRwDescriptor = new PropertyDescriptor("container.SizeRw", "SizeRw"); sizeRwDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getSizeRw() == null ? "" : elem.getSizeRw().toString(); } }); PropertyDescriptor sizeRootFsDescriptor = new PropertyDescriptor("container.SizeRootFs", "SizeRootFs"); sizeRootFsDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return elem.getSizeRootFs() == null ? "" : elem.getSizeRootFs().toString(); } }); // final ContainerConfig config = imageInfo.config(); // PropertyDescriptor configHostnameDescriptor = new PropertyDescriptor( // "Config.Hostname", "Hostname"); // configHostnameDescriptor // .setLabelProvider(new LabelProvider() { // public String getText(Object element) { // return config.hostname(); // } // }); // configHostnameDescriptor.setCategory("Config"); // PropertyDescriptor architectureDescriptor = new PropertyDescriptor( // "Architecture", "Architecture"); // architectureDescriptor.setLabelProvider(new LabelProvider() { // public String getText(Object element) { // return ((ImageInfo) element).architecture(); // } // }); // // PropertyDescriptor osDescriptor = new PropertyDescriptor( // "Os", "Os"); // osDescriptor.setLabelProvider(new LabelProvider() { // public String getText(Object element) { // return ((ImageInfo) element).os(); // } // }); // // PropertyDescriptor sizeDescriptor = new PropertyDescriptor( // "Size", "Size"); // sizeDescriptor.setLabelProvider(new LabelProvider() { // public String getText(Object element) { // return ((ImageInfo) element).size().toString(); // } // }); idDescriptor.setCategory("Container"); namesDescriptor.setCategory("Container"); imageDescriptor.setCategory("Container"); commandDescriptor.setCategory("Container"); createdDescriptor.setCategory("Container"); statusDescriptor.setCategory("Container"); portsDescriptor.setCategory("Container"); sizeRwDescriptor.setCategory("Container"); sizeRootFsDescriptor.setCategory("Container"); propertyDescriptors = new IPropertyDescriptor[] { idDescriptor, namesDescriptor, imageDescriptor, commandDescriptor, createdDescriptor, statusDescriptor, portsDescriptor, sizeRwDescriptor, sizeRootFsDescriptor }; } return propertyDescriptors; }
From source file:cn.dockerfoundry.ide.eclipse.explorer.ui.views.property.DockerImageElementPropertySource.java
License:Open Source License
@Override public IPropertyDescriptor[] getPropertyDescriptors() { if (propertyDescriptors == null) { final ImageInfo imageInfo = dockerImageElement.getImageInfo(); // @JsonProperty("Id") private String id; // @JsonProperty("Parent") private String parent; // @JsonProperty("Comment") private String comment; // @JsonProperty("Created") private Date created; // @JsonProperty("Container") private String container; // @JsonProperty("ContainerConfig") private ContainerConfig // containerConfig; // @JsonProperty("DockerVersion") private String dockerVersion; // @JsonProperty("Author") private String author; // @JsonProperty("Config") private ContainerConfig config; // @JsonProperty("Architecture") private String architecture; // @JsonProperty("Os") private String os; // @JsonProperty("Size") private Long size; // Create a descriptor and set a category PropertyDescriptor idDescriptor = new PropertyDescriptor("Id", "Id"); idDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { System.out.println("::" + element); return imageInfo.id(); }/*from w w w . j av a 2s .c o m*/ }); PropertyDescriptor parentDescriptor = new PropertyDescriptor("Parent", "Parent"); parentDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).parent(); } }); PropertyDescriptor commentDescriptor = new PropertyDescriptor("Comment", "Comment"); commentDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).comment(); } }); PropertyDescriptor createdDescriptor = new PropertyDescriptor("Created", "Created"); createdDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).created().toString(); } }); PropertyDescriptor containerDescriptor = new PropertyDescriptor("Container", "Container"); containerDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).container(); } }); // @JsonProperty("Hostname") private String hostname; // @JsonProperty("Domainname") private String domainname; // @JsonProperty("User") private String user; // @JsonProperty("Memory") private Long memory; // @JsonProperty("MemorySwap") private Long memorySwap; // @JsonProperty("CpuShares") private Long cpuShares; // @JsonProperty("Cpuset") private String cpuset; // @JsonProperty("AttachStdin") private Boolean attachStdin; // @JsonProperty("AttachStdout") private Boolean attachStdout; // @JsonProperty("AttachStderr") private Boolean attachStderr; // @JsonProperty("PortSpecs") private ImmutableList<String> // portSpecs; // @JsonProperty("ExposedPorts") private ImmutableSet<String> // exposedPorts; // @JsonProperty("Tty") private Boolean tty; // @JsonProperty("OpenStdin") private Boolean openStdin; // @JsonProperty("StdinOnce") private Boolean stdinOnce; // @JsonProperty("Env") private ImmutableList<String> env; // @JsonProperty("Cmd") private ImmutableList<String> cmd; // @JsonProperty("Image") private String image; // @JsonProperty("Volumes") private ImmutableSet<String> volumes; // @JsonProperty("WorkingDir") private String workingDir; // @JsonProperty("Entrypoint") private ImmutableList<String> // entrypoint; // @JsonProperty("NetworkDisabled") private Boolean networkDisabled; // @JsonProperty("OnBuild") private ImmutableList<String> onBuild; final ContainerConfig containerConfig = imageInfo.containerConfig(); PropertyDescriptor containerConfigHostnameDescriptor = new PropertyDescriptor("Hostname", "Hostname"); containerConfigHostnameDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return containerConfig.hostname(); } }); containerConfigHostnameDescriptor.setCategory("ContainerConfig"); PropertyDescriptor dockerVersionDescriptor = new PropertyDescriptor("DockerVersion", "DockerVersion"); dockerVersionDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).dockerVersion(); } }); PropertyDescriptor authorDescriptor = new PropertyDescriptor("Author", "Author"); authorDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).author(); } }); final ContainerConfig config = imageInfo.config(); PropertyDescriptor configHostnameDescriptor = new PropertyDescriptor("Config.Hostname", "Hostname"); configHostnameDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return config.hostname(); } }); configHostnameDescriptor.setCategory("Config"); PropertyDescriptor architectureDescriptor = new PropertyDescriptor("Architecture", "Architecture"); architectureDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).architecture(); } }); PropertyDescriptor osDescriptor = new PropertyDescriptor("Os", "Os"); osDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).os(); } }); PropertyDescriptor sizeDescriptor = new PropertyDescriptor("Size", "Size"); sizeDescriptor.setLabelProvider(new LabelProvider() { public String getText(Object element) { return ((ImageInfo) element).size().toString(); } }); propertyDescriptors = new IPropertyDescriptor[] { idDescriptor, parentDescriptor, commentDescriptor, createdDescriptor, containerDescriptor, containerConfigHostnameDescriptor, dockerVersionDescriptor, authorDescriptor, configHostnameDescriptor, architectureDescriptor, osDescriptor, sizeDescriptor }; } return propertyDescriptors; }
From source file:cn.dockerfoundry.ide.eclipse.server.ui.internal.actions.OpenHomePageCommand.java
License:Open Source License
public Object execute(ExecutionEvent event) throws ExecutionException { initializeSelection(event);/*ww w.j a va 2s . co m*/ if (selectedServer != null) { DockerFoundryApplicationModule cloudModule = getSelectedCloudAppModule(); if (cloudModule != null) { int state = cloudModule.getState(); // Based on property testers, this should already be started if (state == IServer.STATE_STARTED) { IURLProvider cloudServer = (IURLProvider) selectedServer.loadAdapter(IURLProvider.class, null); DockerFoundryServer cfs = (DockerFoundryServer) selectedServer .loadAdapter(DockerFoundryServer.class, null); String contextRoot = null; if (cfs != null) { // IModule[][] because IModule[] is the correct representation of module structure IModule[][] launchables = cfs.getLaunchableModules(selectedModule); if (launchables != null) { if (launchables.length == 1) { contextRoot = cfs.getLaunchableModuleContextRoot(launchables[0]); } else if (launchables.length > 1) { List<String> selectionOptions = new ArrayList<String>(); Map<String, String> index = new HashMap<String, String>(); for (int i = 0; i < launchables.length; i++) { String option = ""; //$NON-NLS-1$ for (int j = 0; j < launchables[i].length; j++) { option += launchables[i][j].getName() + "/"; //$NON-NLS-1$ } if (option.endsWith("/")) { //$NON-NLS-1$ option = option.substring(0, option.length() - 1); } selectionOptions.add(option); index.put(option, String.valueOf(i)); } ElementListSelectionDialog dialog = new ElementListSelectionDialog( PlatformUI.getWorkbench().getDisplay().getActiveShell(), new LabelProvider()); dialog.setTitle(TITLE); dialog.setMessage(DESCRIPTION); dialog.setElements(selectionOptions.toArray()); if (dialog.open() != Window.OK) { if (dialog.getReturnCode() == Window.CANCEL) { DockerFoundryPlugin.logWarning("User pressed cancel on selection dialog"); //$NON-NLS-1$ return null; } DockerFoundryPlugin .logError(("Failed to open the Open Home Page selection dialog")); //$NON-NLS-1$ return null; } Object[] result = dialog.getResult(); contextRoot = cfs.getLaunchableModuleContextRoot( launchables[Integer.valueOf(index.get(result[0]))]); } } } try { URL homePageUrl = cloudServer.getModuleRootURL(selectedModule); if (contextRoot != null) { homePageUrl = new URL(homePageUrl, contextRoot); } if (homePageUrl != null) { CloudUiUtil.openUrl(homePageUrl.toExternalForm()); } else { DockerFoundryPlugin.logError("homePageUrl is null, unable to launch the Home Page URL"); //$NON-NLS-1$ return null; } } catch (Exception e) { DockerFoundryPlugin.logError("Cannot launch the home page URL", e); //$NON-NLS-1$ return null; } } } } return null; }
From source file:cn.ieclipse.adt.ext.helpers.ElementListSelector.java
License:Apache License
private void showSelectionDialog(Composite composite, String selectionMessage) { LabelProvider labelProvider = new LabelProvider(); ElementListSelectionDialog dialog = new ElementListSelectionDialog(composite.getShell(), labelProvider); dialog.setElements(elements);/* ww w . ja va 2 s. c om*/ dialog.setIgnoreCase(true); dialog.setMessage(selectionMessage); dialog.setMultipleSelection(true); dialog.open(); Object[] result = dialog.getResult(); if (result != null) { for (Object object : result) { selectedElements.add((String) object); } list.removeAll(); for (Object elem : selectedElements) { list.add(elem.toString()); } list.update(); } }
From source file:cn.ieclipse.adt.ext.wizards.ElementTableSelector.java
License:Apache License
private void showSelectionDialog(Composite composite, String selectionMessage) { LabelProvider labelProvider = new LabelProvider(); ElementListSelectionDialog dialog = new ElementListSelectionDialog(composite.getShell(), labelProvider); dialog.setElements(elements);//from w w w . j av a 2 s .com dialog.setIgnoreCase(true); dialog.setMessage(selectionMessage); dialog.setMultipleSelection(true); dialog.open(); Object[] result = dialog.getResult(); if (result != null) { for (Object object : result) { addModel(new Model((String) object)); } tv.refresh(); } }
From source file:com.amalto.workbench.editors.DataClusterDialog.java
License:Open Source License
private Composite createFirstLine(Composite parent) { Composite firstLine = new Composite(parent, SWT.NONE); firstLine.setLayout(new GridLayout(4, false)); Label serverLabel = new Label(firstLine, SWT.NONE); serverLabel.setText(Messages.DataClusterDialog_1); serverLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); serverComboViewer = new ComboViewer(firstLine, SWT.DROP_DOWN | SWT.READ_ONLY); Combo combo = serverComboViewer.getCombo(); GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); data.widthHint = 200;//from w w w . j a v a 2 s. co m combo.setLayoutData(data); serverComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { MDMServerDef serverDef = (MDMServerDef) element; return serverDef.getName() + " (" + serverDef.getHost() + ")"; //$NON-NLS-1$ //$NON-NLS-2$; } }); serverComboViewer.setContentProvider(new ArrayContentProvider()); serverComboViewer.setInput(getAllServerDefs()); Label containerLabel = new Label(firstLine, SWT.NONE); containerLabel.setText(Messages.DataClusterDialog_2); containerLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1)); containerComboViewer = new ComboViewer(firstLine, SWT.DROP_DOWN | SWT.READ_ONLY); Combo containerCombo = containerComboViewer.getCombo(); GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); layoutData.widthHint = 200; containerCombo.setLayoutData(layoutData); containerComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { TreeObject treeObj = (TreeObject) element; return treeObj.getName(); } }); containerComboViewer.setContentProvider(new ArrayContentProvider()); containerComboViewer.setInput(new TreeObject[0]); containerComboViewer.getCombo().setEnabled(false); return firstLine; }
From source file:com.amalto.workbench.editors.MenuMainPage.java
License:Open Source License
@Override protected void createCharacteristicsContent(FormToolkit toolkit, Composite mainComposite) { try {/* w w w . j a va2 s . c om*/ // description Label descriptionLabel = toolkit.createLabel(mainComposite, Messages.MenuMainPage_Description, SWT.NULL); descriptionLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true, 1, 1)); descriptionText = toolkit.createText(mainComposite, "", SWT.BORDER);//$NON-NLS-1$ descriptionText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); ((GridData) descriptionText.getLayoutData()).minimumHeight = 30; descriptionText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (refreshing) { return; } markDirtyWithoutCommit(); } }); // Util.createCompDropTarget(descriptionText); // make the Page window a DropTarget - we need to dispose it windowTarget = new DropTarget(this.getPartControl(), DND.DROP_MOVE); windowTarget.setTransfer(new Transfer[] { TextTransfer.getInstance() }); windowTarget.addDropListener(new DCDropTargetListener()); Composite composite = toolkit.createComposite(mainComposite, SWT.BORDER); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); composite.setLayout(new GridLayout(1, false)); menuTree = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); menuTree.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); ((GridData) menuTree.getControl().getLayoutData()).heightHint = 150; menuTree.setContentProvider(new ITreeContentProvider() { public void dispose() { } public Object[] getChildren(Object parentElement) { if (parentElement instanceof TreeEntry) { WSMenuEntry wsEntry = ((TreeEntry) parentElement).getWSMenuEntry(); if (wsEntry.getSubMenus() != null) { TreeEntry[] children = new TreeEntry[wsEntry.getSubMenus().size()]; for (int i = 0; i < wsEntry.getSubMenus().size(); i++) { children[i] = new TreeEntry((TreeEntry) parentElement, wsEntry.getSubMenus().get(i)); } return children; } return null; } if (parentElement instanceof WSMenu) { // the root java.util.List<WSMenuEntry> menuEntries = ((WSMenu) parentElement).getMenuEntries(); if (menuEntries != null) { TreeEntry[] children = new TreeEntry[menuEntries.size()]; for (int i = 0; i < menuEntries.size(); i++) { children[i] = new TreeEntry(null, menuEntries.get(i)); } return children; } return null; } return null; // ??!!? } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return ((getChildren(element) == null) || (getChildren(element).length > 0)); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); menuTree.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { WSMenuEntry wsMenuEntry = ((TreeEntry) element).getWSMenuEntry(); StringBuffer label = new StringBuffer(wsMenuEntry.getId() + " - ");//$NON-NLS-1$ for (WSMenuMenuEntriesDescriptions description : wsMenuEntry.getDescriptions()) { label.append("[").append(description.getLanguage()).append(": ")//$NON-NLS-1$//$NON-NLS-2$ .append(description.getLabel()).append("] ");//$NON-NLS-1$ } if (label.length() > 200) { return label.substring(0, 197) + "..."; //$NON-NLS-1$ } return label.toString(); } @Override public Image getImage(Object element) { return ImageCache.getCreatedImage(EImage.MENU.getPath()); } }); menuTreeMgr = new MenuManager(); menuTreeMgr.setRemoveAllWhenShown(true); menuTreeMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { IStructuredSelection selection = ((IStructuredSelection) menuTree.getSelection()); if ((selection == null) || (selection.getFirstElement() == null)) { manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); return; } // TreeEntry entry = (TreeEntry)selection.getFirstElement(); menuTreeMgr.add(new TreeEntryEditAction(menuTree)); menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_BEFORE)); menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_AFTER)); menuTreeMgr.add(new TreeEntryAddAction(menuTree, LOCATION_UNDER)); menuTreeMgr.add(new TreeEntryDeleteAction(menuTree)); menuTreeMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } }); menuTree.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { (new TreeEntryEditAction(menuTree)).run(); } }); Menu menu = menuTreeMgr.createContextMenu(menuTree.getControl()); menuTree.getControl().setMenu(menu); getSite().registerContextMenu(menuTreeMgr, menuTree); refreshData(); } catch (Exception e) { log.error(e.getMessage(), e); } }
From source file:com.amazonaws.eclipse.core.ui.preferences.AwsAccountPreferencePageTab.java
License:Apache License
/** * Creates the account selection section. *///from w w w . ja v a 2 s .co m private Composite createAccountSelector(final Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); composite.setLayout(new GridLayout(4, false)); new Label(composite, SWT.READ_ONLY).setText("Default Profile: "); accountSelector = new ComboViewer(composite, SWT.DROP_DOWN | SWT.READ_ONLY); accountSelector.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // Use a List of AccountInfo objects as the data input for the combo // viewer accountSelector.setContentProvider(ArrayContentProvider.getInstance()); accountSelector.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof AccountInfo) { AccountInfo account = (AccountInfo) element; if (account.isDirty()) { return "*" + account.getAccountName(); } else { return account.getAccountName(); } } return super.getText(element); } }); AccountInfo currentRegionAccount = accountInfoByIdentifier.get(currentRegionAccountId); // In some of the edge-cases, currentRegionAccount could be null. // e.g. a specific credential profile account is removed externally, but // the data in the preference store is not yet updated. if (currentRegionAccount == null) { currentRegionAccount = accountInfoByIdentifier.values().iterator().next(); currentRegionAccountId = currentRegionAccount.getInternalAccountId(); } final List<AccountInfo> allAccounts = new LinkedList<AccountInfo>(accountInfoByIdentifier.values()); setUpAccountSelectorItems(allAccounts, currentRegionAccount); // Add selection listener to the account selector, so that all the // account info editors are notified of the newly selected AccountInfo // object. accountSelector.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object selectedObject = selection.getFirstElement(); if (selectedObject instanceof AccountInfo) { AccountInfo accountInfo = (AccountInfo) selectedObject; accountChanged(accountInfo); } } }); final Button addNewAccount = new Button(composite, SWT.PUSH); addNewAccount.setText("Add profile"); deleteAccount = new Button(composite, SWT.PUSH); deleteAccount.setText("Remove profile"); deleteAccount.setEnabled(allAccounts.size() > 1); defaultAccountExplanationLabel = new Label(composite, SWT.WRAP); defaultAccountExplanationLabel.setText(getDefaultAccountExplanationText()); parentPrefPage.setItalicFont(defaultAccountExplanationLabel); GridData layoutData = new GridData(SWT.FILL, SWT.TOP, true, false); layoutData.horizontalSpan = 4; layoutData.widthHint = 200; defaultAccountExplanationLabel.setLayoutData(layoutData); addNewAccount.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String newAccountId = UUID.randomUUID().toString(); AccountInfo newAccountInfo = createNewProfileAccountInfo(newAccountId); String newAccountName = region == null ? "New Profile" : "New " + region.getName() + " Profile"; newAccountInfo.setAccountName(newAccountName); // this will mark the AccountInfo object dirty accountInfoByIdentifier.put(newAccountId, newAccountInfo); setUpAccountSelectorItems(accountInfoByIdentifier.values(), newAccountInfo); for (AwsAccountPreferencePageTab tab : parentPrefPage.getAllAccountPreferencePageTabs()) { if (tab != AwsAccountPreferencePageTab.this) { tab.refreshAccountSelectorItems(); } } parentPrefPage.updatePageValidationOfAllTabs(); } }); deleteAccount.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { accountInfoToBeDeleted.add(accountInfoByIdentifier.get(currentRegionAccountId)); accountInfoByIdentifier.remove(currentRegionAccountId); // If all the accounts are deleted, create a temporary // AccountInfo object if (accountInfoByIdentifier.isEmpty()) { String newAccountId = UUID.randomUUID().toString(); AccountInfo newAccountInfo = createNewProfileAccountInfo(newAccountId); // Account name : default-region-id newAccountInfo.setAccountName(getRegionAccountDefaultName()); accountInfoByIdentifier.put(newAccountId, newAccountInfo); } // Use the first AccountInfo as the next selected account AccountInfo nextDefaultAccount = accountInfoByIdentifier.values().iterator().next(); setUpAccountSelectorItems(accountInfoByIdentifier.values(), nextDefaultAccount); for (AwsAccountPreferencePageTab tab : parentPrefPage.getAllAccountPreferencePageTabs()) { if (tab != AwsAccountPreferencePageTab.this) { tab.refreshAccountSelectorItems(); } } parentPrefPage.updatePageValidationOfAllTabs(); } }); accountSelector.getCombo().addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent arg0) { if (accountSelector.getCombo().getItemCount() > 1) { deleteAccount.setEnabled(true); } else { deleteAccount.setEnabled(false); } } }); return composite; }