List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
From source file:com.archimatetool.editor.propertysections.UsedInRelationshipsSection.java
License:Open Source License
private void createTableControl(Composite parent) { createLabel(parent, Messages.UsedInRelationshipsSection_0, ITabbedLayoutConstants.STANDARD_LABEL_WIDTH, SWT.NONE);/*www. j a v a2 s .c o m*/ // Table Composite tableComp = createTableComposite(parent, SWT.NONE); fTableLayout = (UpdatingTableColumnLayout) tableComp.getLayout(); fTableViewer = new TableViewer(tableComp, SWT.BORDER | SWT.FULL_SELECTION); // Column TableViewerColumn column = new TableViewerColumn(fTableViewer, SWT.NONE, 0); fTableLayout.setColumnData(column.getColumn(), new ColumnWeightData(100, false)); // On Mac shows alternate table row colours fTableViewer.getTable().setLinesVisible(true); // Help ID PlatformUI.getWorkbench().getHelpSystem().setHelp(fTableViewer.getTable(), HELP_ID); fTableViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return ArchimateModelUtils.getRelationships((IArchimateElement) inputElement).toArray(); } }); fTableViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IRelationship relationship = (IRelationship) element; String name = ArchimateLabelProvider.INSTANCE.getLabel(relationship) + " ("; //$NON-NLS-1$ name += ArchimateLabelProvider.INSTANCE.getLabel(relationship.getSource()); name += " - "; //$NON-NLS-1$ name += ArchimateLabelProvider.INSTANCE.getLabel(relationship.getTarget()); name += ")"; //$NON-NLS-1$ return name; } @Override public Image getImage(Object element) { return ArchimateLabelProvider.INSTANCE.getImage(element); } }); fTableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (isAlive()) { Object o = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (o instanceof IArchimateElement) { IRelationship relation = (IRelationship) o; ITreeModelView view = (ITreeModelView) ViewManager.findViewPart(ITreeModelView.ID); if (view != null) { view.getViewer().setSelection(new StructuredSelection(relation), true); } } } } }); fTableViewer.setSorter(new ViewerSorter()); }
From source file:com.archimatetool.editor.propertysections.UsedInViewsSection.java
License:Open Source License
private void createTableControl(Composite parent) { createLabel(parent, Messages.UsedInViewsSection_0, ITabbedLayoutConstants.STANDARD_LABEL_WIDTH, SWT.NONE); // Table//from ww w.j a v a2 s. c o m Composite tableComp = createTableComposite(parent, SWT.NONE); fTableLayout = (UpdatingTableColumnLayout) tableComp.getLayout(); fTableViewer = new TableViewer(tableComp, SWT.BORDER | SWT.FULL_SELECTION); // Column TableViewerColumn column = new TableViewerColumn(fTableViewer, SWT.NONE, 0); fTableLayout.setColumnData(column.getColumn(), new ColumnWeightData(100, false)); // On Mac shows alternate table row colours fTableViewer.getTable().setLinesVisible(true); // Help ID PlatformUI.getWorkbench().getHelpSystem().setHelp(fTableViewer.getTable(), HELP_ID); fTableViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return DiagramModelUtils.findReferencedDiagramsForElement((IArchimateElement) inputElement) .toArray(); } }); fTableViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((IDiagramModel) element).getName(); } @Override public Image getImage(Object element) { return IArchimateImages.ImageFactory.getImage(IArchimateImages.ICON_DIAGRAM_16); } }); fTableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (!isAlive()) { return; } Object o = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (o instanceof IDiagramModel) { IDiagramModel diagramModel = (IDiagramModel) o; IDiagramModelEditor editor = EditorManager.openDiagramEditor(diagramModel); if (editor instanceof IArchimateDiagramEditor) { ((IArchimateDiagramEditor) editor) .selectElements(new IArchimateElement[] { fArchimateElement }); } } } }); fTableViewer.setSorter(new ViewerSorter()); }
From source file:com.archimatetool.editor.propertysections.UserPropertiesManagerDialog.java
License:Open Source License
private void createTableControl(Composite parent) { Composite tableComp = new Composite(parent, SWT.BORDER); TableColumnLayout tableLayout = new TableColumnLayout(); tableComp.setLayout(tableLayout);/* www.ja va 2 s .co m*/ tableComp.setLayoutData(new GridData(GridData.FILL_BOTH)); fTableViewer = new TableViewer(tableComp, SWT.MULTI | SWT.FULL_SELECTION); fTableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); fTableViewer.getTable().setHeaderVisible(true); fTableViewer.getTable().setLinesVisible(true); fTableViewer.setSorter(new ViewerSorter()); // Columns TableViewerColumn columnOldKey = new TableViewerColumn(fTableViewer, SWT.NONE, 0); columnOldKey.getColumn().setText(Messages.UserPropertiesManagerDialog_6); tableLayout.setColumnData(columnOldKey.getColumn(), new ColumnWeightData(40, true)); TableViewerColumn columnNewKey = new TableViewerColumn(fTableViewer, SWT.NONE, 1); columnNewKey.getColumn().setText(Messages.UserPropertiesManagerDialog_7); tableLayout.setColumnData(columnNewKey.getColumn(), new ColumnWeightData(40, true)); columnNewKey.setEditingSupport(new KeyEditingSupport(fTableViewer)); TableViewerColumn columnUsedNumber = new TableViewerColumn(fTableViewer, SWT.NONE, 2); columnUsedNumber.getColumn().setText("# " + Messages.UserPropertiesManagerDialog_8); //$NON-NLS-1$ tableLayout.setColumnData(columnUsedNumber.getColumn(), new ColumnWeightData(20, true)); // Content Provider fTableViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return fKeysTable.entrySet().toArray(); } }); // Label Provider fTableViewer.setLabelProvider(new LabelCellProvider()); fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { fActionDelete.setEnabled(!event.getSelection().isEmpty()); fButtonDelete.setEnabled(!event.getSelection().isEmpty()); fActionRename.setEnabled(!event.getSelection().isEmpty()); fButtonRename.setEnabled(!event.getSelection().isEmpty()); } }); fTableViewer.setInput(""); // anything will do //$NON-NLS-1$ }
From source file:com.archimatetool.editor.propertysections.UserPropertiesSection.java
License:Open Source License
private void createTableControl(Composite parent) { // Table Composite Composite tableComp = createTableComposite(parent, SWT.NULL); fTableLayout = (UpdatingTableColumnLayout) tableComp.getLayout(); // Table Viewer fTableViewer = new TableViewer(tableComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); fTableViewer.getTable().setHeaderVisible(true); fTableViewer.getTable().setLinesVisible(true); addDragSupport();/*ww w. j a va2s.c o m*/ addDropSupport(); // Help ID on table PlatformUI.getWorkbench().getHelpSystem().setHelp(fTableViewer.getTable(), HELP_ID); // Columns TableViewerColumn columnBlank = new TableViewerColumn(fTableViewer, SWT.NONE, 0); fTableLayout.setColumnData(columnBlank.getColumn(), new ColumnPixelData(24, false)); TableViewerColumn columnKey = new TableViewerColumn(fTableViewer, SWT.NONE, 1); columnKey.getColumn().setText(Messages.UserPropertiesSection_0); fTableLayout.setColumnData(columnKey.getColumn(), new ColumnWeightData(20, true)); columnKey.setEditingSupport(new KeyEditingSupport(fTableViewer)); // Click on Key Table Header columnKey.getColumn().addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { sortKeys(); } }); TableViewerColumn columnValue = new TableViewerColumn(fTableViewer, SWT.NONE, 2); columnValue.getColumn().setText(Messages.UserPropertiesSection_1); fTableLayout.setColumnData(columnValue.getColumn(), new ColumnWeightData(80, true)); columnValue.setEditingSupport(new ValueEditingSupport(fTableViewer)); // Content Provider fTableViewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } public Object[] getElements(Object inputElement) { return ((IProperties) inputElement).getProperties().toArray(); } }); // Label Provider fTableViewer.setLabelProvider(new LabelCellProvider()); // Toolbar ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.VERTICAL); GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).applyTo(toolBar); ToolBarManager toolBarmanager = new ToolBarManager(toolBar); // New Property fActionNewProperty = new Action(Messages.UserPropertiesSection_2) { @Override public void run() { if (isAlive()) { int index = -1; IProperty selected = (IProperty) ((IStructuredSelection) fTableViewer.getSelection()) .getFirstElement(); if (selected != null) { index = fPropertiesElement.getProperties().indexOf(selected) + 1; } IProperty property = IArchimateFactory.eINSTANCE.createProperty(); getCommandStack() .execute(new NewPropertyCommand(fPropertiesElement.getProperties(), property, index)); fTableViewer.editElement(property, 1); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_PLUS); } }; // New Multiple Properties fActionNewMultipleProperty = new Action(Messages.UserPropertiesSection_3) { @Override public void run() { if (isAlive()) { MultipleAddDialog dialog = new MultipleAddDialog(fPage.getSite().getShell()); if (dialog.open() == Window.OK) { getCommandStack().execute(dialog.getCommand()); } } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_MUTIPLE); } }; // Remove Property fActionRemoveProperty = new Action(Messages.UserPropertiesSection_4) { @Override public void run() { if (isAlive()) { CompoundCommand compoundCmd = new EObjectNonNotifyingCompoundCommand(fPropertiesElement) { @Override public String getLabel() { return getCommands().size() > 1 ? Messages.UserPropertiesSection_5 : Messages.UserPropertiesSection_6; } }; for (Object o : ((IStructuredSelection) fTableViewer.getSelection()).toList()) { Command cmd = new RemovePropertyCommand(fPropertiesElement.getProperties(), (IProperty) o); compoundCmd.add(cmd); } getCommandStack().execute(compoundCmd); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_SMALL_X); } }; fActionRemoveProperty.setEnabled(false); // Manage fActionShowKeyEditor = new Action(Messages.UserPropertiesSection_7) { @Override public void run() { if (isAlive()) { UserPropertiesManagerDialog dialog = new UserPropertiesManagerDialog(fPage.getSite().getShell(), getArchimateModel()); dialog.open(); } } @Override public String getToolTipText() { return getText(); } @Override public ImageDescriptor getImageDescriptor() { return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_COG); } }; toolBarmanager.add(fActionNewProperty); toolBarmanager.add(fActionNewMultipleProperty); toolBarmanager.add(fActionRemoveProperty); toolBarmanager.add(fActionShowKeyEditor); toolBarmanager.update(true); /* * Selection Listener */ fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { fActionRemoveProperty.setEnabled(!event.getSelection().isEmpty()); } }); /* * Table Double-click on cell */ fTableViewer.getTable().addListener(SWT.MouseDoubleClick, new Listener() { @Override public void handleEvent(Event event) { // Get Table item TableItem item = fTableViewer.getTable().getItem(new Point(event.x, event.y)); // Double-click into empty table creates new Property if (item == null) { fActionNewProperty.run(); } // Handle selected item property double-clicked else { if (item.getData() instanceof IProperty) { handleDoubleClick((IProperty) item.getData()); } } } }); hookContextMenu(); }
From source file:com.architexa.diagrams.jdt.utils.ArrayMultipleElementSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); viewer = new TableViewer(composite, SWT.BORDER | SWT.CHECK); viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(arrProvider); viewer.setInput(arr);//from w w w.ja v a2s . co m viewer.setSelection(new StructuredSelection(arr[0])); return composite; }
From source file:com.arm.cmsis.pack.project.wizards.ProjectSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { // page group Composite composite = (Composite) super.createDialogArea(parent); createMessageArea(composite);//w ww . jav a 2 s . c om fTableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { doSelectionChanged(((IStructuredSelection) event.getSelection()).toArray()); } }); fTableViewer.addDoubleClickListener(new IDoubleClickListener() { @SuppressWarnings("synthetic-access") @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT; data.widthHint = SIZING_SELECTION_WIDGET_WIDTH; fTableViewer.getTable().setLayoutData(data); fTableViewer.setContentProvider(ArrayContentProvider.getInstance()); fTableViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IRteProject project = (IRteProject) element; if (project != null) { return project.getName(); } return null; } @Override public Image getImage(Object element) { IRteProject project = (IRteProject) element; if (project != null) { return PlatformUI.getWorkbench().getSharedImages() .getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT); } return null; } }); fTableViewer.setInput(fProjectsWithSpecifics); doSelectionChanged(new Object[0]); return composite; }
From source file:com.arm.cmsis.pack.ui.widgets.RteDeviceInfoWidget.java
License:Open Source License
/** * Create the composite./*from w ww.j a va 2s.co m*/ * @param parent * @param style */ public RteDeviceInfoWidget(Composite parent) { super(parent, SWT.BORDER); GridLayout gridLayout = new GridLayout(6, false); gridLayout.horizontalSpacing = 8; setLayout(gridLayout); Label lblDeviceLabel = new Label(this, SWT.NONE); lblDeviceLabel.setText(CpStringsUI.RteDeviceSelectorWidget_DeviceLabel); lblDevice = new Label(this, SWT.NONE); lblDevice.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); FontDescriptor boldDescriptor = FontDescriptor.createFrom(lblDevice.getFont()).setStyle(SWT.BOLD) .increaseHeight(1); Font boldFont = boldDescriptor.createFont(lblDevice.getDisplay()); lblDevice.setFont(boldFont); btnSelect = new Button(this, SWT.NONE); btnSelect.setText(CpStringsUI.RteDeviceInfoWidget_btnSelect_text); new Label(this, SWT.NONE); new Label(this, SWT.NONE); new Label(this, SWT.NONE); lblFamilyLabel = new Label(this, SWT.NONE); lblFamilyLabel.setText(CpStringsUI.RteDeviceInfoWidget_lblFamily_text); lblFamily = new Label(this, SWT.NONE); lblFamily.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblCpuLabel = new Label(this, SWT.NONE); lblCpuLabel.setText(CpStringsUI.RteDeviceSelectorWidget_CPULabel); lblCpuLabel.setBounds(0, 0, 36, 13); lblCpu = new Label(this, SWT.NONE); lblCpu.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); lblCpu.setBounds(0, 0, 32, 13); new Label(this, SWT.NONE); lblSubfamilyLabel = new Label(this, SWT.NONE); lblSubfamilyLabel.setText(CpStringsUI.RteDeviceInfoWidget_lblSubFamily_text); lblSubfamily = new Label(this, SWT.NONE); lblSubfamily.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblClocklabel = new Label(this, SWT.NONE); lblClocklabel.setText(CpStringsUI.RteDeviceSelectorWidget_lblClocklabel_text); lblClock = new Label(this, SWT.NONE); lblClock.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblVendorLabel = new Label(this, SWT.NONE); lblVendorLabel.setText(CpStringsUI.RteDeviceSelectorWidget_VendorLabel); lblVendor = new Label(this, SWT.NONE); lblVendor.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); new Label(this, SWT.NONE); Label lblMemoryLabel = new Label(this, SWT.NONE); lblMemoryLabel.setText(CpStringsUI.RteDeviceSelectorWidget_lblMemory); lblMemory = new Label(this, SWT.NONE); lblMemory.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblPackLabel = new Label(this, SWT.NONE); lblPackLabel.setText(CpStringsUI.RteDeviceSelectorWidget_lblPack_text); lblPack = new Label(this, SWT.NONE); lblPack.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblFpuLabel = new Label(this, SWT.NONE); lblFpuLabel.setText(CpStringsUI.RteDeviceSelectorWidget_FPULabel); lblFpuLabel.setBounds(0, 0, 38, 13); lblFpu = new Label(this, SWT.NONE); lblFpu.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblUrlLabel = new Label(this, SWT.NONE); lblUrlLabel.setText(CpStringsUI.RteDeviceSelectorWidget_lblUrl); linkUrl = new Link(this, SWT.NONE); linkUrl.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); linkUrl.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { OpenURL.open(url, getShell()); } }); new Label(this, SWT.NONE); Label lblEndianLabel = new Label(this, SWT.NONE); lblEndianLabel.setText(CpStringsUI.RteDeviceSelectorWidget_Endian); lblEndianLabel.setBounds(0, 0, 37, 13); lblEndian = new Label(this, SWT.NONE); lblEndian.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); new Label(this, SWT.NONE); Label lblBooks = new Label(this, SWT.NONE); lblBooks.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1)); lblBooks.setText(CpStringsUI.RteDeviceInfoWidget_lblBooks_text); new Label(this, SWT.NONE); lblDescription = new Label(this, SWT.NONE); lblDescription.setText(CpStringsUI.RteDeviceInfoWidget_lblDescription_text); new Label(this, SWT.NONE); new Label(this, SWT.NONE); tableViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL); table = tableViewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1)); fBookColumnAdvisor = new RteBookColumnAdvisor(tableViewer); ColumnViewerToolTipSupport.enableFor(tableViewer); tableViewer.setContentProvider(new RteBookContentProvider()); // tableViewer.setLabelProvider(new RteBookLabelProvider()); tableViewer.setLabelProvider(new AdvisedCellLabelProvider(fBookColumnAdvisor, 0)); text = new Text(this, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL); GridData gd_text = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 3); gd_text.widthHint = 240; gd_text.minimumWidth = 200; text.setLayoutData(gd_text); text.setEditable(false); lblBoards = new Label(this, SWT.NONE); lblBoards.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1)); lblBoards.setText(CpStringsUI.RteDeviceInfoWidget_lblBoards_text); new Label(this, SWT.NONE); treeViewer = new TreeViewer(this, SWT.BORDER | SWT.FULL_SELECTION); tree = treeViewer.getTree(); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); treeViewer.setContentProvider(new RteBoardContentProvider()); // treeViewer.setLabelProvider(new RteBoardLabelProvider()); fBoardColumnAdvisor = new RteBookColumnAdvisor(treeViewer); ColumnViewerToolTipSupport.enableFor(treeViewer); treeViewer.setLabelProvider(new AdvisedCellLabelProvider(fBoardColumnAdvisor, 0)); }
From source file:com.asakusafw.shafu.internal.ui.preferences.ShafuPreferencePage.java
License:Apache License
private void createPropertiesField(Composite pane, final String key, int span, String title) { Group group = new Group(pane, SWT.NONE); group.setText(title);/* w w w . j av a2 s . c o m*/ group.setLayoutData( GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(span, 1).create()); group.setLayout(new GridLayout(2, false)); final Map<String, String> contents = new LinkedHashMap<String, String>(); final TableViewer viewer = new TableViewer(group, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(1, 3) .indent(BasicField.getDecorationWidth(), 0).create()); viewer.setContentProvider(new PropertiesContentProvider()); viewer.setLabelProvider(new PropertiesLabelProvider()); viewer.setInput(contents); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); TableColumn keyColumn = new TableColumn(viewer.getTable(), SWT.NONE, 0); keyColumn.setResizable(true); keyColumn.setText(Messages.ShafuPreferencePage_propertiesKeyLabel); keyColumn.setWidth(convertWidthInCharsToPixels(20)); TableColumn valueColumn = new TableColumn(viewer.getTable(), SWT.NONE, 1); valueColumn.setResizable(true); valueColumn.setText(Messages.ShafuPreferencePage_propertiesValueLabel); valueColumn.setWidth(convertWidthInCharsToPixels(40)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { ISelection s = event.getSelection(); if (s.isEmpty()) { return; } if ((s instanceof IStructuredSelection) == false) { return; } Map.Entry<?, ?> first = (Map.Entry<?, ?>) ((IStructuredSelection) s).iterator().next(); String oldKey = (String) first.getKey(); String oldValue = (String) first.getValue(); PropertyEntryInputDialog dialog = new PropertyEntryInputDialog(getShell(), contents, oldKey, oldValue); if (dialog.open() != Window.OK) { return; } contents.remove(oldKey); contents.put(dialog.getInputKey(), dialog.getInputValue()); viewer.refresh(); setPreferenceValue(key, encodeMap(contents)); } }); final Button addButton = new Button(group, SWT.PUSH); addButton.setText(Messages.ShafuPreferencePage_propertiesAddLabel); addButton.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).create()); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { PropertyEntryInputDialog dialog = new PropertyEntryInputDialog(getShell(), contents); if (dialog.open() != Window.OK) { return; } contents.put(dialog.getInputKey(), dialog.getInputValue()); viewer.refresh(); setPreferenceValue(key, encodeMap(contents)); } }); final Button removeButton = new Button(group, SWT.PUSH); removeButton.setText(Messages.ShafuPreferencePage_propertiesRemoveLabel); removeButton.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).create()); removeButton.setEnabled(false); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ISelection selection = viewer.getSelection(); if (selection instanceof IStructuredSelection) { Iterator<?> iter = ((IStructuredSelection) selection).iterator(); Set<String> keys = new HashSet<String>(); while (iter.hasNext()) { Map.Entry<?, ?> entry = (Map.Entry<?, ?>) iter.next(); keys.add((String) entry.getKey()); } contents.keySet().removeAll(keys); viewer.refresh(); setPreferenceValue(key, encodeMap(contents)); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { removeButton.setEnabled(event.getSelection().isEmpty() == false); } }); registerField(new PreferenceField(key, viewer.getControl()) { @Override public void refresh() { String value = getPreferenceValue(key); Map<String, String> map = decodeToMap(value); contents.clear(); contents.putAll(map); viewer.refresh(); setPreferenceValue(key, encodeMap(contents)); } }); }
From source file:com.astra.ses.spell.database.browser.views.DatabasePage.java
License:Open Source License
/************************************************************************** * Create the page controls/*ww w . ja v a2 s. c o m*/ *************************************************************************/ @Override public void createControl(Composite parent) { m_parent = new Composite(parent, SWT.BORDER); m_parent.setLayoutData(new GridData(GridData.FILL_BOTH)); m_parent.setLayout(new GridLayout(1, true)); m_lblProjName = new Label(m_parent, SWT.NONE); m_lblProjName.setText("Project: " + m_projectName); m_lblProjName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); m_lblDbName = new Label(m_parent, SWT.NONE); m_lblDbName.setText("Database: (none)"); m_lblDbName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); m_viewer = new TableViewer(m_parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); TableColumn nameCol = new TableColumn(m_viewer.getTable(), SWT.LEFT); nameCol.setText("Name"); nameCol.setWidth(80); TableColumn descCol = new TableColumn(m_viewer.getTable(), SWT.LEFT); descCol.setText("Description"); descCol.setWidth(140); /* Table viewer */ GridData viewerData = new GridData(GridData.FILL_BOTH); m_viewer.getTable().setLayoutData(viewerData); m_viewer.getTable().setHeaderVisible(true); m_viewer.getTable().setLinesVisible(false); /* Text widget */ GridData textData = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); textData.horizontalIndent = 0; textData.verticalIndent = 0; m_filterText = new Text(m_parent, SWT.BORDER); m_filterText.setLayoutData(textData); m_filterText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { Text filterText = (Text) e.widget; String filter = filterText.getText().toUpperCase(); try { Pattern regex = Pattern.compile(FilterUtils.globify(filter)); m_viewerFilter.setPattern(regex); m_viewer.refresh(); } catch (PatternSyntaxException p) { // do nothing } } }); getSite().setSelectionProvider(m_viewer); initContents(); initDragAction(); }
From source file:com.astra.ses.spell.database.browser.views.telecommand.TelecommandViewPart.java
License:Open Source License
@Override public void createPartControl(Composite parent) { GridLayout parentLayout = new GridLayout(1, true); parentLayout.marginHeight = 0;/*from w w w . j a v a2 s. c o m*/ parentLayout.marginWidth = 0; parent.setLayout(parentLayout); /* * DB Details composite */ Composite dbDetails = new Composite(parent, SWT.NONE); GridLayout detailsLayout = new GridLayout(2, false); GridData detailsData = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); detailsLayout.marginHeight = 0; detailsLayout.marginWidth = 1; dbDetails.setLayout(detailsLayout); dbDetails.setLayoutData(detailsData); Label dbPathLabel = new Label(dbDetails, SWT.NONE); dbPathLabel.setText("Path"); GridData labelData = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); m_dbPathLabel = new Label(dbDetails, SWT.NONE); m_dbPathLabel.setLayoutData(labelData); m_dbPathLabel.addControlListener(new ControlListener() { @Override public void controlMoved(ControlEvent e) { /*DO NOTHING*/} @Override public void controlResized(ControlEvent e) { if (m_currentDB != null) { String dbPath = m_currentDB.getDatabasePath(); ViewUtils.adjustLabelContents(m_dbPathLabel, dbPath); } } }); Label dbVersionLabel = new Label(dbDetails, SWT.NONE); dbVersionLabel.setText("Version"); m_dbDetailsLabel = new Label(dbDetails, SWT.NONE); m_dbDetailsLabel.setLayoutData(labelData); m_dbDetailsLabel.addControlListener(new ControlListener() { @Override public void controlMoved(ControlEvent e) { /*DO NOTHING*/} @Override public void controlResized(ControlEvent e) { if (m_currentDB != null) { String content = m_currentDB.getName() + " " + m_currentDB.getVersion(); ViewUtils.adjustLabelContents(m_dbDetailsLabel, content); } } }); /* * end of DB details widget */ m_viewer = new TableViewer(parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); TableColumn nameCol = new TableColumn(m_viewer.getTable(), SWT.LEFT); nameCol.setText("Name"); nameCol.setWidth(80); TableColumn descCol = new TableColumn(m_viewer.getTable(), SWT.LEFT); descCol.setText("Description"); descCol.setWidth(140); /* Table Viewer */ GridData viewerData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL); m_viewer.getTable().setLayoutData(viewerData); m_viewer.getTable().setHeaderVisible(true); m_viewer.getTable().setLinesVisible(false); /* Filter text */ GridData textData = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); textData.horizontalIndent = 0; textData.verticalIndent = 0; m_filterText = new Text(parent, SWT.BORDER); m_filterText.setLayoutData(textData); m_filterText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { Text filterText = (Text) e.widget; String filter = filterText.getText().toUpperCase(); try { Pattern regex = Pattern.compile(FilterUtils.globify(filter)); m_viewerFilter.setPattern(regex); m_viewer.refresh(); } catch (PatternSyntaxException p) { // do nothing } } }); initContents(); initDragAction(); }