List of usage examples for org.eclipse.jface.viewers TableViewer setSelection
@Override public void setSelection(ISelection selection, boolean reveal)
Sets a new selection for this viewer and optionally makes it visible.
From source file:ch.elexis.core.ui.contacts.views.PatientenListeView.java
License:Open Source License
private void makeActions() { filterAction = new Action(Messages.PatientenListeView_FilteList, Action.AS_CHECK_BOX) { // $NON-NLS-1$ {/*from w w w.j a va2s . co m*/ setImageDescriptor(Images.IMG_FILTER.getImageDescriptor()); setToolTipText(Messages.PatientenListeView_FilterList); // $NON-NLS-1$ } @Override public void run() { GridData gd = (GridData) plfb.getLayoutData(); if (filterAction.isChecked()) { gd.heightHint = 80; plfb.reset(); plcp.setFilter(plfb); } else { gd.heightHint = 0; plcp.removeFilter(plfb); } parent.layout(true); } }; newPatAction = new RestrictedAction(AccessControlDefaults.PATIENT_INSERT, Messages.PatientenListeView_NewPatientAction) { { setImageDescriptor(Images.IMG_NEW.getImageDescriptor()); setToolTipText(Messages.PatientenListeView_NewPationtToolTip); } @Override public void doRun() { HashMap<String, String> ctlFields = new HashMap<String, String>(); String[] fx = vc.getControlFieldProvider().getValues(); int i = 0; if (CoreHub.userCfg.get(Preferences.USR_PATLIST_SHOWPATNR, false)) { if (i < fx.length) { ctlFields.put(Patient.FLD_PATID, fx[i++]); } } if (CoreHub.userCfg.get(Preferences.USR_PATLIST_SHOWNAME, true)) { if (i < fx.length) { ctlFields.put(Patient.FLD_NAME, fx[i++]); } } if (CoreHub.userCfg.get(Preferences.USR_PATLIST_SHOWFIRSTNAME, true)) { if (i < fx.length) { ctlFields.put(Patient.FLD_FIRSTNAME, fx[i++]); } } if (CoreHub.userCfg.get(Preferences.USR_PATLIST_SHOWDOB, true)) { if (i < fx.length) { ctlFields.put(Patient.FLD_DOB, fx[i++]); } } PatientErfassenDialog ped = new PatientErfassenDialog(getViewSite().getShell(), ctlFields); if (ped.open() == Dialog.OK) { plcp.temporaryAddObject(ped.getResult()); Patient pat = ped.getResult(); for (int j = 0; j < currentUserFields.length; j++) { String current = currentUserFields[j]; if (current.startsWith(Patient.FLD_PATID)) { dcfp.setValue(j, pat.getPatCode()); } else if (current.startsWith(Patient.FLD_NAME) && pat.getName() != null) { dcfp.setValue(j, pat.getName()); } else if (current.startsWith(Patient.FLD_FIRSTNAME) && pat.getVorname() != null) { dcfp.setValue(j, pat.getVorname()); } } plcp.syncRefresh(); TableViewer tv = (TableViewer) cv.getViewerWidget(); tv.setSelection(new StructuredSelection(pat), true); } } }; /* * Copy selected PatientInfos to the clipboard, so it/they can be easily * pasted into a letter for printing. An action with identical / similar * code has also been added above, and to KontakteView.java. Detailed * comments regarding field access, and output including used newline/cr * characters are maintained only there. */ copySelectedPatInfosToClipboardAction = new Action( Messages.PatientenListeView_copySelectedPatInfosToClipboard) { // $NON-NLS-1$ { setImageDescriptor(Images.IMG_CLIPBOARD.getImageDescriptor()); setToolTipText(Messages.PatientenListeView_copySelectedPatInfosToClipboard); // $NON-NLS-1$ } @Override public void run() { // Adopted from KontakteView.printList: // Convert the selected addresses into a list /* * ToDo: OK, vielleicht wre es schner, in Person.java * (+-Patient.java?) eine Funktion getPostAnschriftFaxEmail() zu * ergnzen... */ // TODO: PatientenListeView.java, Bitte in Person.java // getPersonalia() durch // abgewandelte Fassung komplementieren und den entsprechenden // Code dorthin verlagern. // TODO: Bitte Fehlermeldung Elexis-Konform gestalten, ggf. // Automatik / // assistierte Fehlerbehebung hinzufgen. StringBuffer selectedPatInfosText = new StringBuffer(); Object[] sel = cv.getSelection(); // If you enable the following line for debug output, // you should also enable the selectedPatInfosText.setLength(0) // line below, // and enable output of selectedPatInfosText even for the case // of an empty // selection further below. // selectedPatInfosText.append("jsdebug: Sorry, your selection // is empty."); if (sel != null && sel.length > 0) { // selectedPatInfosText.setLength(0); // selectedPatInfosText.append("jsdebug: Your selection // includes "+sel.length+" // element(s):"+System.getProperty("line.separator")); // In PateintenListeView.java, only zero or one patients can // be selected at // a time. // Consequently, the for-loop inherited from // KontakteView.java is a bit of // an overkill right here. for (int i = 0; i < sel.length; i++) { /* * Patient ist eine Person, das ist Kontakt mit * zustzlichen Feldern (Kontakt.java, Person.java) In * KontakteView.java stand hier: Kontakt k = (Kontakt) * sel[i] In PatientenListeView.java verwende ich * dieselbe Variablenbezeichnung k, damit ich unten * nicht alle Feldeinbindungen aktualisieren muss - und * damit spter nderungen in KontakteView.java schnell * hierher bernommen werden knnen. */ Patient k = (Patient) sel[i]; /* * Synthesize the lines to output from the entries in * Patient (=includes fields from Kontakt) k. This time, * we build a completely self-made block of text, * instead of using getPostAnschrift() as above. */ // The following code is adopted from // Kontakt.createStdAnschrift for a // different purpose/layout: // ggf. hier zu Person.getPersonalia() eine abgewandelte // Fassung // hinzufgen und von hier aus aufrufen. // Highly similar (but still different) code is now // added // to KontakteView.java // CopySelectedContactInfoToClipboard... // 201202161313js if (k.istPerson()) { // TODO default salutation might be configurable (or // a // "Sex missing!" Info might appear) js String salutation; if (k.getGeschlecht().equals(Person.MALE)) { salutation = Messages.KontakteView_SalutationM; // $NON-NLS-1$ } else // We do not use any default salutation for // unknown sex to // avoid errors! if (k.getGeschlecht().equals(Person.FEMALE)) { salutation = Messages.KontakteView_SalutationF; // $NON-NLS-1$ } else { salutation = ""; //$NON-NLS-1$ } selectedPatInfosText.append(salutation); selectedPatInfosText.append(StringTool.space); String titel = k.get(Person.TITLE); // $NON-NLS-1$ if (!StringTool.isNothing(titel)) { selectedPatInfosText.append(titel).append(StringTool.space); } // A comma between Family Name and Given Name would // be generally // helpful to reliably tell them apart: // selectedPatInfosText.append(k.getName()+","+StringTool.space+k.getVorname()); // But Jrg Hamacher prefers this in his letters // without a comma in // between: // selectedPatInfosText.append(k.getName()+StringTool.space+k.getVorname()); // Now, I only use a spacer, if the first field is // not empty! // SelectedContactInfosText.append(p.getVorname()+StringTool.space+p.getName()); if (!StringTool.isNothing(k.getName())) { selectedPatInfosText.append(k.getName() + StringTool.space); } if (!StringTool.isNothing(k.getVorname())) { selectedPatInfosText.append(k.getVorname()); } String thisPatientBIRTHDATE = k.get(Person.BIRTHDATE); if (!StringTool.isNothing(thisPatientBIRTHDATE)) { // This would add the term "geb." (born on the) // before the date // of birth: // selectedPatInfosText.append(","+StringTool.space+"geb."+StringTool.space+new // TimeTool(thisPatientBIRTHDATE).toString(TimeTool.DATE_GER)); // But Jrg Hamacher prefers the patient // information in his // letters without that term: selectedPatInfosText.append("," + StringTool.space + new TimeTool(thisPatientBIRTHDATE).toString(TimeTool.DATE_GER)); } String thisAddressFLD_STREET = k.get(Kontakt.FLD_STREET); if (!StringTool.isNothing(thisAddressFLD_STREET)) { selectedPatInfosText.append("," + StringTool.space + thisAddressFLD_STREET); } String thisAddressFLD_COUNTRY = k.get(Kontakt.FLD_COUNTRY); if (!StringTool.isNothing(thisAddressFLD_COUNTRY)) { selectedPatInfosText.append("," + StringTool.space + thisAddressFLD_COUNTRY + "-"); } String thisAddressFLD_ZIP = k.get(Kontakt.FLD_ZIP); if (!StringTool.isNothing(thisAddressFLD_ZIP)) { if (StringTool.isNothing(thisAddressFLD_COUNTRY)) { selectedPatInfosText.append("," + StringTool.space); } ; selectedPatInfosText.append(thisAddressFLD_ZIP); } ; String thisAddressFLD_PLACE = k.get(Kontakt.FLD_PLACE); if (!StringTool.isNothing(thisAddressFLD_PLACE)) { if (StringTool.isNothing(thisAddressFLD_COUNTRY) && StringTool.isNothing(thisAddressFLD_ZIP)) { selectedPatInfosText.append(","); } ; selectedPatInfosText.append(StringTool.space + thisAddressFLD_PLACE); } String thisAddressFLD_PHONE1 = k.get(Kontakt.FLD_PHONE1); if (!StringTool.isNothing(thisAddressFLD_PHONE1)) { selectedPatInfosText .append("," + StringTool.space + StringTool.space + thisAddressFLD_PHONE1); } String thisAddressFLD_PHONE2 = k.get(Kontakt.FLD_PHONE2); if (!StringTool.isNothing(thisAddressFLD_PHONE2)) { selectedPatInfosText .append("," + StringTool.space + StringTool.space + thisAddressFLD_PHONE2); } String thisAddressFLD_MOBILEPHONE = k.get(Kontakt.FLD_MOBILEPHONE); if (!StringTool.isNothing(thisAddressFLD_MOBILEPHONE)) { // With a colon after the label: // selectedPatInfosText.append(","+StringTool.space+k.FLD_MOBILEPHONE+":"+StringTool.space+thisAddressFLD_MOBILEPHONE); // Without a colon after the label: selectedPatInfosText.append("," + StringTool.space + Kontakt.FLD_MOBILEPHONE + StringTool.space + thisAddressFLD_MOBILEPHONE); } String thisAddressFLD_FAX = k.get(Kontakt.FLD_FAX); if (!StringTool.isNothing(thisAddressFLD_FAX)) { // With a colon after the label: // selectedPatInfosText.append(","+StringTool.space+k.FLD_FAX+":"+StringTool.space+thisAddressFLD_FAX); // Without a colon after the label: selectedPatInfosText.append("," + StringTool.space + Kontakt.FLD_FAX + StringTool.space + thisAddressFLD_FAX); } String thisAddressFLD_E_MAIL = k.get(Kontakt.FLD_E_MAIL); if (!StringTool.isNothing(thisAddressFLD_E_MAIL)) { selectedPatInfosText.append("," + StringTool.space + thisAddressFLD_E_MAIL); } } else { selectedPatInfosText.append( "Fehler: Bei diesem Patienten ist das Flag \"Person\" nicht gesetzt! Bitte korrigieren!\n"); // TODO: Fehler: Bei diesem Patienten ist das Flag // \"Person\" nicht gesetzt!\n"); // TODO: Bitte Fehlermeldung Elexis-Konform // gestalten, ggf. // Automatik / assistierte Fehlerbehebung // hinzufgen.\n"); } // Add another empty line (or rather: paragraph), if at // least one more // address will follow. if (i < sel.length - 1) { selectedPatInfosText.append(System.getProperty("line.separator")); } } // for each element in sel do /* * The following code portions can be moved down behind the * next } if you want to produce debugging output or empty * the clipboard even when NO addresses have been selected. * (However, I may disable the toolbar icon / menu entry for * this action in that case later on.) */ // Adopted from BestellView.exportClipboardAction: // Copy some generated object.toString() to the clipoard Clipboard clipboard = new Clipboard(UiDesk.getDisplay()); TextTransfer textTransfer = TextTransfer.getInstance(); Transfer[] transfers = new Transfer[] { textTransfer }; Object[] data = new Object[] { selectedPatInfosText.toString() }; clipboard.setContents(data, transfers); clipboard.dispose(); } // if sel not empty }; // copyselectedPatInfosToClipboardAction.run() }; /* * Copy selected address(es) to the clipboard, so it/they can be easily * pasted into a letter for printing. An actions with identical / * similar code has also been added below, and to KontakteView.java. * Detailed comments regarding field access, and output including used * newline/cr characters are maintained only there. */ copySelectedAddressesToClipboardAction = new Action( Messages.PatientenListeView_copySelectedAddressesToClipboard) { // $NON-NLS-1$ { setImageDescriptor(Images.IMG_CLIPBOARD.getImageDescriptor()); setToolTipText(Messages.PatientenListeView_copySelectedAddressesToClipboard); // $NON-NLS-1$ } @Override public void run() { // Adopted from KontakteView.printList: // Convert the selected addresses into a list StringBuffer selectedAddressesText = new StringBuffer(); Object[] sel = cv.getSelection(); // If you enable the following line for debug output, // you should also enable the selectedAddressesText.setLength(0) // line below, // and enable output of selectedAddressesText even for the case // of an empty // selection further below. // selectedAddressesText.append("jsdebug: Sorry, your selection // is empty."); if (sel != null && sel.length > 0) { // selectedAddressesText.setLength(0); // selectedAddressesText.append("jsdebug: Your selection // includes "+sel.length+" // element(s):"+System.getProperty("line.separator")); // In PateintenListeView.java, only zero or one patients can // be selected at // a time. // Consequently, the for-loop inherited from // KontakteView.java is a bit of // an overkill right here. for (int i = 0; i < sel.length; i++) { /* * Patient ist eine Person, das ist Kontakt mit * zustzlichen Feldern (Kontakt.java, Person.java) In * KontakteView.java stand hier: Kontakt k = (Kontakt) * sel[i] In PatientenListeView.java verwende ich * dieselbe Variablenbezeichnung k, damit ich unten * nicht alle Feldeinbindungen aktualisieren muss - und * damit spter nderungen in KontakteView.java schnell * hierher bernommen werden knnen. */ Patient k = (Patient) sel[i]; /* * Synthesize the address lines to output from the * entries in Patient (=includes fields from Kontakt) k. * A different, completely self-made block of text, is * provided by a similar action defined further below. */ // selectedAddressesText.append("jsdebug: Item // "+Integer.toString(i)+" // "+k.toString()+System.getProperty("line.separator")); // getPostAnschriftPhoneFaxEmail() already returns a // line separator // after the address // The first parameter controls multiline or single line // output // The second parameter controls whether the phone // numbers shall be // included selectedAddressesText.append(k.getPostAnschriftPhoneFaxEmail(true, true)); // Add another empty line (or rather: paragraph), if at // least one more // address will follow. if (i < sel.length - 1) { selectedAddressesText.append(System.getProperty("line.separator")); } } // for each element in sel do /* * I would prefer to move the following code portions down * behind the "if sel not empty" block, so that (a) * debugging output can be produced and (b) the clipboard * will be emptied when NO addresses have been selected. I * did this to avoid the case where a user would assume they * had selected some address, copied data to the clipboard, * and pasted them - and, even when they erred about their * selection, which was indeed empty, they would not * immediately notice that because some (old, unchanged) * content would still come out of the clipboard. * * But if I do so, and there actually is no address * selected, I get an error window: Unhandled Exception ... * not valid. So to avoid that message without any further * research (I need to get this work fast now), I move the * code back up and leave the clipboard unchanged for now, * if no addresses had been selected to process. * * (However, I may disable the toolbar icon / menu entry for * this action in that case later on.) */ // System.out.print("jsdebug: selectedAddressesText: // \n"+selectedAddressesText+"\n"); // Adopted from BestellView.exportClipboardAction: // Copy some generated object.toString() to the clipoard Clipboard clipboard = new Clipboard(UiDesk.getDisplay()); TextTransfer textTransfer = TextTransfer.getInstance(); Transfer[] transfers = new Transfer[] { textTransfer }; Object[] data = new Object[] { selectedAddressesText.toString() }; clipboard.setContents(data, transfers); clipboard.dispose(); } // if sel not empty }; // copySelectedAddressesToClipboardAction.run() }; }
From source file:com.mousefeed.eclipse.preferences.presentation.PresentationModePreferencePage.java
License:Open Source License
protected void addItem(TableViewer viewer) { Scheme initialValue = bindingService.getActiveScheme(); List<Scheme> input = Arrays.asList(bindingService.getDefinedSchemes()); IBaseLabelProvider labelProvider = new LabelProvider() { @Override/*from ww w.java2s. com*/ public String getText(Object element) { try { return ((Scheme) element).getName(); } catch (NotDefinedException e) { Activator.getDefault().getLog().log( new Status(IStatus.WARNING, Activator.PLUGIN_ID, "Could not get label for scheme", e)); return "(Undefined)"; } } }; ComboInputDialog<Scheme> comboInputDialog = new ComboInputDialog<Scheme>(getShell(), "Select Scheme", "Select the Scheme which should be added to the configuration", initialValue, input, labelProvider); if (comboInputDialog.open() == Window.OK) { Scheme value = comboInputDialog.getValue(); SchemeConfig config = new SchemeConfig(value.getId()); preferences.addPresentationModeSchemeConfigs(config); viewer.refresh(); viewer.setSelection(new StructuredSelection(config), true); } }
From source file:com.nokia.tools.variant.editor.dialogs.SelectConfigurationDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { GridLayout layout3 = (GridLayout) parent.getLayout(); layout3.marginLeft = 0;// w ww . j a va 2s . c o m layout3.marginRight = 0; layout3.marginTop = 0; layout3.marginBottom = 0; layout3.horizontalSpacing = 0; layout3.verticalSpacing = 0; parent.setLayout(layout3); Composite dialogArea = (Composite) super.createDialogArea(parent); GridLayout layout = new GridLayout(1, false); dialogArea.setLayout(layout); Composite c = new Composite(dialogArea, SWT.NONE); c.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); GridLayout layout2 = new GridLayout(2, false); c.setLayout(layout2); c.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE)); Label l = new Label(c, SWT.NONE); l.setText("The file contains multiple configurations. Select configuration and then press OK."); l.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE)); GridData layoutData = new GridData(GridData.FILL_HORIZONTAL); layoutData.heightHint = 60; layoutData.grabExcessHorizontalSpace = true; l.setLayoutData(layoutData); GridData gridData = new GridData(); gridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END; gridData.heightHint = 60; Label rightLabel = new Label(c, SWT.NO); rightLabel.setLayoutData(gridData); ImageDescriptor imageDescriptor = Activator.getImageDescriptor("icons/saveas_wiz.png"); Image image = imageDescriptor.createImage(); rightLabel.setImage(image); rightLabel.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE)); Rectangle bounds = dialogArea.getShell().getBounds(); getShell().setBounds(bounds); dialogArea.setLayout(new GridLayout()); configTable = new Table(dialogArea, SWT.FULL_SELECTION); final TableViewer viewer = new TableViewer(configTable); final Listener labelDisposeListener = new Listener() { public void handleEvent(Event event) { StyledText styledText = (StyledText) event.widget; Shell shell = styledText.getShell(); switch (event.type) { case SWT.MouseDown: Event e = new Event(); e.item = (TableItem) styledText.getData(KEY_TOOLTIPTEXT); configTable.setSelection(new TableItem[] { (TableItem) e.item }); configTable.notifyListeners(SWT.Selection, e); // dispose shell on mouse down case SWT.MouseExit: shell.dispose(); break; } } }; Listener toolTipDisplayListener = new Listener() { Shell tooltipShell = null; StyledText styledText = null; public void handleEvent(Event event) { switch (event.type) { case SWT.Dispose: case SWT.KeyDown: case SWT.MouseMove: if (tooltipShell == null || tooltipShell.isDisposed()) { break; } tooltipShell.dispose(); tooltipShell = null; styledText = null; break; case SWT.MouseHover: TableItem item = configTable.getItem(new Point(event.x, event.y)); if (item != null) { if (tooltipShell != null && !tooltipShell.isDisposed()) { tooltipShell.dispose(); } tooltipShell = new Shell(configTable.getShell(), SWT.ON_TOP | SWT.TOOL); tooltipShell.setLayout(new FillLayout()); styledText = new StyledText(tooltipShell, SWT.NONE); styledText.setEditable(false); styledText.getCaret().setVisible(false); styledText .setBackground(configTable.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); styledText .setForeground(configTable.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND)); styledText.setData(KEY_TOOLTIPTEXT, item); Object data = item.getData(); CPFInformation cpfInformation = (CPFInformation) data; styledText.setText(cpfInformation.getLayerPopupInfoText()); styledText.addListener(SWT.MouseExit, labelDisposeListener); styledText.addListener(SWT.MouseDown, labelDisposeListener); Point size = tooltipShell.computeSize(SWT.DEFAULT, SWT.DEFAULT); Rectangle rect = item.getBounds(0); Point pt = configTable.toDisplay(rect.x, rect.y); tooltipShell.setBounds(pt.x, pt.y, size.x, size.y); tooltipShell.setVisible(true); } break; } } }; configTable.addListener(SWT.Dispose, toolTipDisplayListener); configTable.addListener(SWT.KeyDown, toolTipDisplayListener); configTable.addListener(SWT.MouseMove, toolTipDisplayListener); configTable.addListener(SWT.MouseHover, toolTipDisplayListener); configTable.setHeaderVisible(true); configTable.setLayoutData(new GridData(GridData.FILL_BOTH)); configTable.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { selectedConfigurationIndex = configTable.getSelectionIndex(); viewer.setSelection(new StructuredSelection(viewer.getElementAt(selectedConfigurationIndex)), true); } public void widgetDefaultSelected(SelectionEvent e) { } }); final String[] columnNames = new String[] { "Name", "Version", "Platform", "Release", "Product", "Date" }; final int[] columnWidths = new int[] { 170, 50, 100, 60, 100, 100 }; viewer.setColumnProperties(columnNames); TableColumn nameColumn = new TableColumn(configTable, SWT.LEFT); nameColumn.setText(columnNames[0]); nameColumn.setWidth(columnWidths[0]); TableColumn versionColumn = new TableColumn(configTable, SWT.LEFT); versionColumn.setText(columnNames[1]); versionColumn.setWidth(columnWidths[1]); TableColumn platformColumn = new TableColumn(configTable, SWT.LEFT); platformColumn.setText(columnNames[2]); platformColumn.setWidth(columnWidths[2]); TableColumn releaseColumn = new TableColumn(configTable, SWT.LEFT); releaseColumn.setText(columnNames[3]); releaseColumn.setWidth(columnWidths[3]); TableColumn productColumn = new TableColumn(configTable, SWT.LEFT); productColumn.setText(columnNames[4]); productColumn.setWidth(columnWidths[4]); TableColumn dateColumn = new TableColumn(configTable, SWT.LEFT); dateColumn.setText(columnNames[5]); dateColumn.setWidth(columnWidths[5]); viewer.setLabelProvider(new ITableLabelProvider() { public void removeListener(ILabelProviderListener listener) { } public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { if (!(element instanceof CPFInformation)) { return null; } CPFInformation ci = (CPFInformation) element; switch (columnIndex) { case 0: return ci.getName(); case 1: return ci.getVersion(); case 2: return ci.getPlatform(); case 3: return ci.getRelease(); case 4: return ci.getProduct(); case 5: return ci.getDate(); } return null; } public Image getColumnImage(Object element, int columnIndex) { return null; } }); ArrayContentProvider provider = new ArrayContentProvider(); viewer.setContentProvider(provider); viewer.setInput(configurations); int itemCount = configTable.getItemCount(); for (int i = 0; i < itemCount; i++) { TableItem item = configTable.getItem(i); // ToolTip.createToolTip(item, ""); } viewer.setSelection(new StructuredSelection(viewer.getElementAt(0)), true); dialogArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); return dialogArea; }
From source file:de.dfki.iui.mmds.sdk.editors.grammar_rules.ContentListComposite.java
License:Creative Commons License
protected void addElementToTable(TableViewer tableViewer, EObject container, EStructuralFeature feature, Object newValue) {/*from w w w . ja v a 2 s . co m*/ Command cmd = AddCommand.create(editor.getEditingDomain(), container, feature, newValue); editor.getEditingDomain().getCommandStack().execute(cmd); Table table = tableViewer.getTable(); tableViewer.refresh(); tableViewer.setSelection(new StructuredSelection(tableViewer.getElementAt(table.getItemCount() - 1)), true); // hickhack if (newValue instanceof PhraseMapping) { ((PhraseMapping) newValue).setDescription(String.valueOf(table.getItemCount())); } }
From source file:org.csstudio.alarm.beast.ui.alarmtable.GUI.java
License:Open Source License
/** * Select PVs in table that match filter expression * * @param pattern/*w w w . j a va 2 s . com*/ * PV name pattern ('vac', 'amp*trip') * @param table_viewer * Table in which to select PVs */ private void selectFilteredPVs(final Pattern pattern, final TableViewer table_viewer) { final AlarmTreePV pvs[] = ((AlarmTableContentProvider) table_viewer.getContentProvider()).getAlarms(); final ArrayList<AlarmTreePV> selected = new ArrayList<AlarmTreePV>(); for (AlarmTreePV pv : pvs) { if (pattern.matcher(pv.getName()).matches() || pattern.matcher(pv.getDescription()).matches()) selected.add(pv); } table_viewer.setSelection(new StructuredSelection(selected), true); }
From source file:org.eclipse.linuxtools.internal.valgrind.massif.charting.ChartEditor.java
License:Open Source License
@Override public void createPartControl(Composite parent) { final ChartEditorInput input = (ChartEditorInput) getEditorInput(); final HeapChart heapChart = input.getChart(); control = new Chart(parent, SWT.FILL); heapChart.setChartControl(control);/*from w w w . j ava2s . c o m*/ final Color LIGHTYELLOW = new Color(Display.getDefault(), 255, 255, 225); final Color WHITE = Display.getDefault().getSystemColor(SWT.COLOR_WHITE); final Color BLACK = Display.getDefault().getSystemColor(SWT.COLOR_BLACK); final Color RED = Display.getDefault().getSystemColor(SWT.COLOR_RED); final Color ORANGE = new Color(Display.getDefault(), 255, 165, 0); final Color GREEN = Display.getDefault().getSystemColor(SWT.COLOR_GREEN); final Color DARK_BLUE = new Color(Display.getDefault(), 64, 128, 128); final int TICK_GAP = 40; control.setBackground(WHITE); control.setBackgroundInPlotArea(LIGHTYELLOW); FontData fd = JFaceResources.getDialogFont().getFontData()[0]; fd.setStyle(SWT.BOLD); Font font = new Font(Display.getDefault(), fd); fd.setHeight(fd.getHeight() + 2); Font titleFont = new Font(Display.getDefault(), fd); ITitle title = control.getTitle(); title.setFont(titleFont); title.setForeground(BLACK); title.setText(heapChart.title); IAxis xAxis = control.getAxisSet().getXAxis(0); xAxis.getGrid().setStyle(LineStyle.NONE); xAxis.getTick().setForeground(BLACK); ITitle xTitle = xAxis.getTitle(); xTitle.setFont(font); xTitle.setForeground(BLACK); xTitle.setText(heapChart.xUnits); IAxis yAxis = control.getAxisSet().getYAxis(0); yAxis.getGrid().setStyle(LineStyle.SOLID); yAxis.getTick().setForeground(BLACK); yAxis.getTick().setTickMarkStepHint(TICK_GAP); ITitle yTitle = yAxis.getTitle(); yTitle.setFont(font); yTitle.setText(heapChart.yUnits); yTitle.setForeground(BLACK); control.getLegend().setPosition(SWT.BOTTOM); // data final ILineSeries lsUseful = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Useful_Heap")); //$NON-NLS-1$; lsUseful.setXSeries(heapChart.time); lsUseful.setYSeries(heapChart.dataUseful); lsUseful.setSymbolType(PlotSymbolType.DIAMOND); lsUseful.setSymbolColor(RED); lsUseful.setLineColor(RED); final ILineSeries lsExtra = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Extra_Heap")); //$NON-NLS-1$; lsExtra.setXSeries(heapChart.time); lsExtra.setYSeries(heapChart.dataExtra); lsExtra.setSymbolType(PlotSymbolType.DIAMOND); lsExtra.setSymbolColor(ORANGE); lsExtra.setLineColor(ORANGE); if (heapChart.dataStacks != null) { final ILineSeries lsStack = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Stacks")); //$NON-NLS-1$; lsStack.setXSeries(heapChart.time); lsStack.setYSeries(heapChart.dataStacks); lsStack.setSymbolType(PlotSymbolType.DIAMOND); lsStack.setSymbolColor(DARK_BLUE); lsStack.setLineColor(DARK_BLUE); } final ILineSeries lsTotal = (ILineSeries) control.getSeriesSet().createSeries(SeriesType.LINE, Messages.getString("HeapChart.Total_Heap")); //$NON-NLS-1$; lsTotal.setXSeries(heapChart.time); lsTotal.setYSeries(heapChart.dataTotal); lsTotal.setSymbolType(PlotSymbolType.DIAMOND); lsTotal.setSymbolColor(GREEN); lsTotal.setLineColor(GREEN); // adjust axes control.getAxisSet().adjustRange(); IAxisSet axisSet = control.getAxisSet(); Range xRange = axisSet.getXAxis(0).getRange(); Range yRange = axisSet.getYAxis(0).getRange(); double xExtra = 0.05 * (xRange.upper - xRange.lower); double yExtra = 0.05 * (yRange.upper - yRange.lower); axisSet.getXAxis(0).setRange(new Range(xRange.lower, xRange.upper + xExtra)); axisSet.getYAxis(0).setRange(new Range(yRange.lower, yRange.upper + yExtra)); // listeners control.getPlotArea().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { showView(); TableViewer viewer = input.getView().getTableViewer(); input.getView().setTopControl(viewer.getControl()); Point p = new Point(e.x, e.y); int closest = 0; double d1, d2, d3, currMin; double globalMin = Double.MAX_VALUE; for (int i = 0; i < heapChart.time.length; i++) { // get distance from click event to data points for the given index d1 = distance(lsUseful.getPixelCoordinates(i), p); d2 = distance(lsExtra.getPixelCoordinates(i), p); d3 = distance(lsTotal.getPixelCoordinates(i), p); // find the closest data point to the click event currMin = Math.min(Math.min(d1, d2), d3); if (currMin < globalMin) { closest = i; globalMin = currMin; } } MassifSnapshot snapshot = (MassifSnapshot) viewer.getElementAt(closest); viewer.setSelection(new StructuredSelection(snapshot), true); if (e.count == 2 && snapshot.isDetailed()) { ChartLocationsDialog dialog = new ChartLocationsDialog(Display.getCurrent().getActiveShell()); dialog.setInput(snapshot); if (dialog.open() == Window.OK) { dialog.openEditorForResult(); } } } }); }
From source file:org.eclipse.rcptt.ctx.parameters.ui.ParametersContextEditor.java
License:Open Source License
private TableViewer createTable(Composite parent, FormToolkit toolkit) { table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); GridDataFactory.fillDefaults().grab(true, true).hint(100, 50).applyTo(table); table.setHeaderVisible(true);/* w ww. j a v a 2s . c om*/ toolkit.adapt(table); table.setLinesVisible(true); nameColumn = new TableColumn(table, SWT.LEFT); nameColumn.setText("Name"); nameColumn.setWidth(200); nameColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(nameColumn); } }); valueColumn = new TableColumn(table, SWT.LEFT); valueColumn.setText("Value"); valueColumn.setWidth(350); valueColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(valueColumn); } }); table.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { switch (e.keyCode) { case SWT.DEL: case SWT.BS: removeSelected(); break; case SWT.INSERT: addNew(); break; case SWT.CR: case SWT.F2: lastNewName = ""; Object el = ((StructuredSelection) viewer.getSelection()).getFirstElement(); if (el != null) viewer.editElement(el, 0); else viewer.editElement(newParameterItem, 0); break; } } }); final TableViewer viewer = new TableViewer(table); viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { // do nothing } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public Object[] getElements(Object inputElement) { ParametersContext ctx = (ParametersContext) inputElement; List<Parameter> elements = new ArrayList<Parameter>(); elements.addAll(ctx.getParameters()); elements.add(newParameterItem); return elements.toArray(); } }); // -- TableViewerColumn nameViewerColumn = new TableViewerColumn(viewer, nameColumn); nameViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { Parameter p = (Parameter) element; return p.getName(); } public Image getImage(Object element) { return element == newParameterItem ? Images.getImageDescriptor(ISharedImages.IMG_OBJ_ADD).createImage() : Images.getImage(Images.PARAMETER); } public Font getFont(Object element) { if (element == newParameterItem) { Font tableFont = table.getFont(); FontData fd = tableFont.getFontData()[0]; fd.setStyle(fd.getStyle() | SWT.ITALIC); return new Font(tableFont.getDevice(), fd); } else return null; } }); nameViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final TextCellEditor editor = new TextCellEditor(table); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_NEXT: if (validateName(element, text.getText())) viewer.editElement(element, 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; case SWT.TRAVERSE_ARROW_NEXT: if (e.keyCode == SWT.ARROW_DOWN) { if (table.getItemCount() > table.getSelectionIndex() + 1 && (isNewAndBlank(element, text.getText()) || validateName(element, text.getText()))) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() + 1), 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; case SWT.TRAVERSE_ARROW_PREVIOUS: if (e.keyCode == SWT.ARROW_UP) { if (table.getSelectionIndex() > 0 && (isNewAndBlank(element, text.getText()) || validateName(element, text.getText()))) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() - 1), 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; } } }); return editor; } protected boolean canEdit(Object element) { return true; } protected Object getValue(Object element) { if (lastNewName.length() > 0) return lastNewName; else if (element == newParameterItem) return ""; else { Parameter p = (Parameter) element; return p.getName(); } } protected void setValue(final Object element, Object value) { String name = (String) value; Parameter param = (Parameter) element; ParametersContext ctx = getContextElement(); if (isNewAndBlank(element, name)) { lastNewName = ""; return; } if (!validateName(element, name)) { table.getDisplay().asyncExec(new Runnable() { public void run() { if (!table.isDisposed()) viewer.editElement(element, 0); } }); return; } if (param != newParameterItem) { if (!param.getName().equals(name)) { Integer index = nameToIndex.get(param.getName()); nameToIndex.remove(param.getName()); nameToIndex.put(name, index); param.setName(name); viewer.update(element, NAME_PROPERTIES); } } else { final Parameter newParam = ParametersFactory.eINSTANCE.createParameter(); newParam.setName(name); newParam.setValue(""); nameToIndex.put(name, table.getItemCount() - 1); ctx.getParameters().add(newParam); viewer.add(newParam); viewer.setSelection(new StructuredSelection(newParam), true); table.getDisplay().asyncExec(new Runnable() { public void run() { viewer.editElement(newParam, 1); } }); } } }); // -- TableViewerColumn valueViewerColumn = new TableViewerColumn(viewer, valueColumn); valueViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { Parameter p = (Parameter) element; return p.getValue(); } }); valueViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final TextCellEditor editor = new TextCellEditor(table); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_PREVIOUS: if (validateName(element, text.getText())) viewer.editElement(element, 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; case SWT.TRAVERSE_ARROW_NEXT: if (e.keyCode == SWT.ARROW_DOWN) { if (table.getItemCount() > table.getSelectionIndex() + 1) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() + 1), 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; case SWT.TRAVERSE_ARROW_PREVIOUS: if (e.keyCode == SWT.ARROW_UP) { if (table.getSelectionIndex() > 0) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() - 1), 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; } } }); return editor; } protected boolean canEdit(Object element) { return element != newParameterItem; } protected Object getValue(Object element) { Parameter p = (Parameter) element; return p.getValue(); } protected void setValue(Object element, Object value) { Parameter p = (Parameter) element; String v = (String) value; if (!p.getValue().equals(v)) { p.setValue((String) value); viewer.update(element, VALUE_PROPERTIES); } } }); // -- updateIndexes(); viewer.setComparator(new Comparator()); // -- viewer.setInput(getContextElement()); return viewer; }
From source file:org.eclipse.rcptt.ui.editors.ScenarioProperties.java
License:Open Source License
private TableViewer createTable(Composite parent, FormToolkit toolkit) { table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); GridDataFactory.fillDefaults().grab(true, true).hint(100, 50).applyTo(table); table.setHeaderVisible(true);// w w w .ja va 2s . co m toolkit.adapt(table); table.setLinesVisible(true); nameColumn = new TableColumn(table, SWT.LEFT); nameColumn.setText("Name"); nameColumn.setWidth(200); nameColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(nameColumn); } }); valueColumn = new TableColumn(table, SWT.LEFT); valueColumn.setText("Value"); valueColumn.setWidth(350); valueColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(valueColumn); } }); table.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { switch (e.keyCode) { case SWT.DEL: removeSelected(); break; case SWT.INSERT: addNew(); break; case SWT.CR: case SWT.F2: lastNewName = ""; Object el = ((StructuredSelection) viewer.getSelection()).getFirstElement(); if (el != null) viewer.editElement(el, 0); else viewer.editElement(newParameterItem, 0); break; } } }); final TableViewer viewer = new TableViewer(table); table.addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { TableItem item = table.getItem(new Point(e.x, e.y)); if (item == null) { viewer.cancelEditing(); } } @Override public void mouseDoubleClick(MouseEvent e) { // TODO Auto-generated method stub } }); viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { // do nothing } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public Object[] getElements(Object inputElement) { Scenario ctx = (Scenario) inputElement; List<ScenarioProperty> elements = new ArrayList<ScenarioProperty>(); elements.addAll(ctx.getProperties()); elements.add(newParameterItem); return elements.toArray(); } }); // -- TableViewerColumn nameViewerColumn = new TableViewerColumn(viewer, nameColumn); nameViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { ScenarioProperty p = (ScenarioProperty) element; return p.getName(); } public Image getImage(Object element) { return element == newParameterItem ? Images.getImageDescriptor(ISharedImages.IMG_OBJ_ADD).createImage() : Images.getImage(Images.PARAMETER); } public Font getFont(Object element) { if (element == newParameterItem) { Font tableFont = table.getFont(); FontData fd = tableFont.getFontData()[0]; fd.setHeight(fd.getHeight() - 2); return new Font(tableFont.getDevice(), fd); } else return null; } }); nameViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final Scenario scenario = getNamedElement(); final List<SuggestionItem> suggestions = PropertySuggestionManager.getInstance() .getScenarioProperties(scenario); final PropertyCellEditor editor = new PropertyCellEditor(table, suggestions) { public void completeEdit() { viewer.applyEditorValue(); }; }; editor.setFilterEnabled(false); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_NEXT: // if (validateName(element, text.getText())) viewer.editElement(element, 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; } } }); return editor; } protected boolean canEdit(Object element) { return true; } protected Object getValue(Object element) { if (lastNewName.length() > 0) return lastNewName; else if (element == newParameterItem) return ""; else { ScenarioProperty p = (ScenarioProperty) element; return p.getName(); } } protected void setValue(final Object element, Object value) { String name = (String) value; ScenarioProperty param = (ScenarioProperty) element; Scenario ctx = getNamedElement(); if (isNewAndBlank(element, name)) { lastNewName = ""; return; } // if (!validateName(element, name)) { // table.getDisplay().asyncExec(new Runnable() { // // public void run() { // if (!table.isDisposed()) // viewer.editElement(element, 0); // } // }); // return; // } if (param != newParameterItem) { if (!param.getName().equals(name)) { Integer index = nameToIndex.get(param.getName()); nameToIndex.remove(param.getName()); nameToIndex.put(name, index); param.setName(name); viewer.update(element, NAME_PROPERTIES); } } else { final ScenarioProperty newParam = ScenarioFactory.eINSTANCE.createScenarioProperty(); newParam.setName(name); newParam.setValue(""); nameToIndex.put(name, table.getItemCount() - 1); ctx.getProperties().add(newParam); viewer.add(newParam); viewer.setSelection(new StructuredSelection(newParam), true); table.getDisplay().asyncExec(new Runnable() { public void run() { viewer.editElement(newParam, 1); } }); } } }); // -- TableViewerColumn valueViewerColumn = new TableViewerColumn(viewer, valueColumn); valueViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { ScenarioProperty p = (ScenarioProperty) element; return p.getValue(); } }); valueViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final ScenarioProperty param = (ScenarioProperty) element; final List<SuggestionItem> suggestions = PropertySuggestionManager.getInstance() .getScenarioPropertySuggestions(param.getName()); final PropertyCellEditor editor = new PropertyCellEditor(table, suggestions) { public void completeEdit() { viewer.applyEditorValue(); }; }; editor.setFilterEnabled(true); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_PREVIOUS: // if (validateName(element, text.getText())) viewer.editElement(element, 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; } } }); return editor; } protected boolean canEdit(Object element) { return element != newParameterItem; } protected Object getValue(Object element) { ScenarioProperty p = (ScenarioProperty) element; return p.getValue(); } protected void setValue(Object element, Object value) { ScenarioProperty p = (ScenarioProperty) element; String v = (String) value; if (!p.getValue().equals(v)) { p.setValue((String) value); viewer.update(element, VALUE_PROPERTIES); } } }); // -- updateIndexes(); viewer.setComparator(new Comparator()); // -- viewer.setInput(getNamedElement()); return viewer; }
From source file:org.eclipse.ui.views.tasklist.RemoveTaskAction.java
License:Open Source License
/** * Removes all the tasks in the current selection from the task list. *///w ww .j av a 2 s . co m public void run() { TaskList taskList = getTaskList(); TableViewer viewer = taskList.getTableViewer(); IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.isEmpty()) { return; } taskList.cancelEditing(); // get the index of the selected item which has focus Table table = viewer.getTable(); int focusIndex = table.getSelectionIndex(); List list = selection.toList(); IMarker[] markers = new IMarker[list.size()]; list.toArray(markers); IUndoableOperation op = new DeleteMarkersOperation(markers, TaskListMessages.RemoveTask_undoText); execute(op, TaskListMessages.RemoveTask_errorMessage, null, WorkspaceUndoUtil.getUIInfoAdapter(getShell())); // set the selection to be the one which took the place of the one with focus int count = table.getItemCount(); if (focusIndex < count) { table.setSelection(focusIndex); } else if (count != 0) { table.setSelection(count - 1); } // update the viewer's selection, since setting the table selection does not notify the viewer viewer.setSelection(viewer.getSelection(), true); }
From source file:org.jcryptool.actions.ui.handler.StartHandler.java
License:Open Source License
public IStatus execute(final ActionView view, final ActionItem startItem, final Shell shell, IProgressMonitor monitor) {/*from w w w .j ava 2 s . c o m*/ ActionCascade ac = view.getActionCascade(); final TableViewer viewer = view.getViewer(); LogUtil.logInfo("Running Action Cascade " + ac.getName()); //$NON-NLS-1$ boolean start = false; for (final ActionItem a : ac.getAllItems()) { int steps = ac.getSize(); // Start the execution at the first selected element if (a == startItem) { start = true; monitor.beginTask(a.getActionName(), steps); } else steps--; if (start) { if (monitor.isCanceled()) { return Status.CANCEL_STATUS; } try { boolean executed = false; // Set focus on moved row. Just look and feel ... display.asyncExec(new Runnable() { public void run() { viewer.setSelection(new StructuredSelection(a), true); } }); OperationsPlugin op = OperationsPlugin.getDefault(); CommandInfo[] commands = op.getAlgorithmsManager().getShadowAlgorithmCommands(); // Try to find an CryptoAlgorithm-Plug-in (Classic or Modern) for (int i = 0, length = commands.length; i < length; i++) { if (commands[i].getHandler() != null && a.getPluginId().equals(commands[i].getCommandId())) { ((ShadowAlgorithmHandler) commands[i].getHandler()).run(convert(a)); executed = true; } } // Try to find a FlexiProvider algorithm if (!executed) { LogUtil.logInfo("Trying to execute FlexiProvider algorithm"); //$NON-NLS-1$ for (RegistryType rt : RegistryType.values()) { if (rt.getName().equals(a.getPluginId())) { AlgorithmDescriptor descriptor = new AlgorithmDescriptor(a.getActionName(), rt, null); if (a.getParam("algorithm type").equals(RegistryType.BLOCK_CIPHER.getName())) { //$NON-NLS-1$ descriptor = new BlockCipherDescriptor(descriptor.getAlgorithmName(), a.getParam("mode"), a.getParam("padding scheme"), null, null); //$NON-NLS-1$ //$NON-NLS-2$ } else if (a.getParam("algorithm type") //$NON-NLS-1$ .equals(RegistryType.SECURE_RANDOM.getName())) { // TODO Get property "alphabet" from item byte[][] alphabet = null; if (alphabet == null) { descriptor = new SecureRandomDescriptor(descriptor.getAlgorithmName(), Integer.parseInt(a.getParam("random size"))); //$NON-NLS-1$ } } final IFlexiProviderOperation operation = new IntegratorOperation(descriptor); operation.setInput(Messages.InputType); operation.setOutput(Messages.StartHandler_6); operation.setSignature(a.getParam("signature")); //$NON-NLS-1$ if ("encrypt".equals(a.getActionType())) { //$NON-NLS-1$ operation.setOperation(OperationType.ENCRYPT); } else if ("decrypt".equals(a.getActionType())) { //$NON-NLS-1$ operation.setOperation(OperationType.DECRYPT); } else if ("sign".equals(a.getActionType())) { //$NON-NLS-1$ operation.setOperation(OperationType.SIGN); } else if ("verify".equals(a.getActionType())) { //$NON-NLS-1$ operation.setOperation(OperationType.VERIFY); } else { operation.setOperation(OperationType.UNKNOWN); } String alias = a.getParam("key alias"); //$NON-NLS-1$ if (alias != null) { operation.setKeyStoreAlias(new KeyStoreAlias(alias)); } String password = a.getParam("key password"); //$NON-NLS-1$ if (password != null) { operation.setPassword(password.toCharArray()); } display.asyncExec(new Runnable() { public void run() { PerformOperationManager.getInstance().firePerformOperation(operation); } }); executed = true; } } } if (!executed) { throw new Exception(Messages.StartHandler_2 + a.getPluginId()); } } catch (final Exception e) { if (ActionsUIPlugin.getDefault().getPreferenceStore() .getBoolean(PreferenceConstants.P_IGNORE_ERRORS)) { LogUtil.logError(ActionsUIPlugin.PLUGIN_ID, a.getActionName() + ": " + e.getMessage(), e, //$NON-NLS-1$ false); if (!ActionsUIPlugin.getDefault().getPreferenceStore() .getBoolean(PreferenceConstants.P_DONT_SHOW_MESSAGES)) { display.syncExec(new Runnable() { public void run() { MessageDialog.openWarning(shell, Messages.StartHandler_3, e.getMessage()); } }); } } else { display.asyncExec(new Runnable() { public void run() { MessageDialog.openError(shell, Messages.StartHandler_3, e.getMessage() + Messages.StartHandler_4); //$NON-NLS-1$ } }); return Status.CANCEL_STATUS; } } finally { monitor.worked(ac.getSize() - steps); } } } monitor.done(); return Status.OK_STATUS; }