List of usage examples for org.eclipse.jface.viewers TableViewer getTable
public Table getTable()
From source file:com.application.areca.launcher.gui.ArchiveWindow.java
License:Open Source License
private void initDataPanel(Composite parent) { parent.setLayout(new FillLayout()); Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, false)); // TITLE/*w w w . j ava 2 s . c om*/ Text txtTitle = null; if (manifest != null && manifest.getTitle() != null && !manifest.getTitle().equals("")) { Group grpTitle = new Group(composite, SWT.NONE); grpTitle.setText(RM.removeDots(RM.getLabel("archivedetail.titlefield.label"))); grpTitle.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); grpTitle.setLayout(new GridLayout()); txtTitle = new Text(grpTitle, SWT.BORDER); txtTitle.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); txtTitle.setEditable(false); } // DATE Group grpDate = new Group(composite, SWT.NONE); grpDate.setText(RM.removeDots(RM.getLabel("archivedetail.datefield.label"))); grpDate.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); grpDate.setLayout(new GridLayout()); Text txtDate = new Text(grpDate, SWT.BORDER); txtDate.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); txtDate.setEditable(false); // DESCRIPTION Text txtDescription = null; if (manifest != null && manifest.getDescription() != null && !manifest.getDescription().equals("")) { Group grpDescription = new Group(composite, SWT.NONE); grpDescription.setText(RM.removeDots(RM.getLabel("archivedetail.descriptionfield.label"))); grpDescription.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); grpDescription.setLayout(new GridLayout()); txtDescription = new Text(grpDescription, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); GridData ldDescription = new GridData(SWT.FILL, SWT.FILL, true, true); ldDescription.heightHint = computeHeight(50); ldDescription.minimumHeight = computeHeight(50); txtDescription.setLayoutData(ldDescription); txtDescription.setEditable(false); } // PROPERTIES Group grpProperties = new Group(composite, SWT.NONE); grpProperties.setText(RM.removeDots(RM.getLabel("archivedetail.propertiesfield.label"))); grpProperties.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); grpProperties.setLayout(new GridLayout()); TableViewer viewer = new TableViewer(grpProperties, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); Table table = viewer.getTable(); table.setLinesVisible(AbstractWindow.getTableLinesVisible()); table.setHeaderVisible(true); GridData ldProperties = new GridData(SWT.FILL, SWT.FILL, true, true); ldProperties.minimumHeight = computeHeight(100); table.setLayoutData(ldProperties); TableColumn col1 = new TableColumn(table, SWT.NONE); col1.setWidth(AbstractWindow.computeWidth(300)); col1.setText(RM.getLabel("archivedetail.propertycolumn.label")); col1.setMoveable(true); TableColumn col2 = new TableColumn(table, SWT.NONE); col2.setWidth(AbstractWindow.computeWidth(150)); col2.setText(RM.getLabel("archivedetail.valuecolumn.label")); col2.setMoveable(true); // INIT DATA if (manifest != null) { if (txtTitle != null) { txtTitle.setText(manifest.getTitle() == null ? "" : manifest.getTitle()); } txtDate.setText(manifest.getDate() == null ? "" : Utils.formatDisplayDate(manifest.getDate())); if (txtDescription != null) { txtDescription.setText(manifest.getDescription() == null ? "" : manifest.getDescription()); } TableItem item0 = new TableItem(table, SWT.NONE); item0.setText(0, " ** Type ** "); item0.setText(1, manifest.getType() == Manifest.TYPE_BACKUP ? "Backup" : "Merge"); Iterator iter = this.manifest.propertyIterator(); while (iter.hasNext()) { String key = (String) iter.next(); if (!key.equals("Source")) { // Hide old properties TableItem item = new TableItem(table, SWT.NONE); item.setText(0, key + " : "); item.setText(1, manifest.getStringProperty(key)); } } } if (txtTitle != null) { txtTitle.forceFocus(); } else { txtDate.forceFocus(); } composite.pack(); }
From source file:com.application.areca.launcher.gui.composites.ProcessorsTable.java
License:Open Source License
public ProcessorsTable(Composite parent, TargetEditionWindow tge, boolean preprocess) { parent.setLayout(initLayout(5));/* ww w .jav a 2s .co m*/ this.main = tge; this.preprocess = preprocess; TableViewer viewer = new TableViewer(parent, SWT.BORDER | SWT.SINGLE); tblProc = viewer.getTable(); GridData dt = new GridData(SWT.FILL, SWT.FILL, true, true, 4, 2); dt.heightHint = AbstractWindow.computeHeight(50); tblProc.setLayoutData(dt); TableColumn col1 = new TableColumn(tblProc, SWT.NONE); col1.setText(RM.getLabel("targetedition.proctable.type.label")); col1.setWidth(AbstractWindow.computeWidth(200)); col1.setMoveable(true); TableColumn col2 = new TableColumn(tblProc, SWT.NONE); col2.setText(RM.getLabel("targetedition.proctable.parameters.label")); col2.setWidth(AbstractWindow.computeWidth(200)); col2.setMoveable(true); tblProc.setHeaderVisible(true); tblProc.setLinesVisible(AbstractWindow.getTableLinesVisible()); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { editCurrentProcessor(); } }); btnUp = new Button(parent, SWT.PUSH); btnUp.setText(RM.getLabel("common.up.label")); btnUp.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, false, false)); btnUp.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { up(); } }); btnDown = new Button(parent, SWT.PUSH); btnDown.setText(RM.getLabel("common.down.label")); btnDown.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false)); btnDown.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { down(); } }); btnAddProc = new Button(parent, SWT.PUSH); btnAddProc.setText(RM.getLabel("targetedition.addprocaction.label")); btnAddProc.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { Processor newproc = showProcEditionFrame(null); if (newproc != null) { addProcessor(newproc); main.publicRegisterUpdate(); } } }); btnModifyProc = new Button(parent, SWT.PUSH); btnModifyProc.setText(RM.getLabel("targetedition.editprocaction.label")); btnModifyProc.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { editCurrentProcessor(); } }); btnRemoveProc = new Button(parent, SWT.PUSH); btnRemoveProc.setText(RM.getLabel("targetedition.removeprocaction.label")); btnRemoveProc.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { removeCurrentProcessor(); } }); tblProc.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { updateProcListState(); } }); tblProc.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent evt) { if (evt.character == SWT.DEL) { removeCurrentProcessor(); } } public void keyReleased(KeyEvent evt) { } }); if (preprocess) { chkForwardErrors = new Button(parent, SWT.CHECK); chkForwardErrors.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false)); chkForwardErrors.setText(RM.getLabel("targetedition.fwderrors.label")); chkForwardErrors.setSelection(true); } }
From source file:com.application.areca.launcher.gui.TargetEditionWindow.java
License:Open Source License
private void initSourcesTab(Composite composite) { composite.setLayout(initLayout(4));/*www .j av a2 s . co m*/ TableViewer viewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI); tblSources = viewer.getTable(); GridData dt = new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1); dt.heightHint = computeHeight(100); tblSources.setLayoutData(dt); TableColumn col1 = new TableColumn(tblSources, SWT.NONE); col1.setText(RM.getLabel("targetedition.sourcedirfield.label")); col1.setWidth(AbstractWindow.computeWidth(400)); col1.setMoveable(true); tblSources.setHeaderVisible(true); tblSources.setLinesVisible(AbstractWindow.getTableLinesVisible()); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { editCurrentSource(); } }); tblSources.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent evt) { if (evt.character == SWT.DEL) { deleteCurrentSource(); } } public void keyReleased(KeyEvent evt) { } }); Label lblRoot = new Label(composite, SWT.NONE | SWT.WRAP); lblRoot.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); lblRoot.setText(RM.getLabel("targetedition.globalroot.label")); lblRoot.setToolTipText(RM.getLabel("targetedition.globalroot.tt")); txtRootValue = new Text(composite, SWT.BORDER); txtRootValue.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); txtRootValue.setEnabled(false); txtRootValue.setToolTipText(RM.getLabel("targetedition.globalroot.tt")); Label lblDnd = new Label(composite, SWT.NONE | SWT.WRAP); lblDnd.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 4, 1)); lblDnd.setText(RM.getLabel("targetedition.sources.dnd.label")); btnAddSource = new Button(composite, SWT.PUSH); btnAddSource.setText(RM.getLabel("targetedition.addprocaction.label")); btnAddSource.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { File newFile = showSourceEditionFrame(null); if (newFile != null) { addSource(newFile); arrangeSources(); registerUpdate(); } } }); btnModifySource = new Button(composite, SWT.PUSH); btnModifySource.setText(RM.getLabel("targetedition.editprocaction.label")); btnModifySource.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { editCurrentSource(); } }); btnRemoveSource = new Button(composite, SWT.PUSH); btnRemoveSource.setText(RM.getLabel("targetedition.removeprocaction.label")); btnRemoveSource.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { deleteCurrentSource(); } }); tblSources.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { updateSourceListState(); } }); final int operation = DND.DROP_MOVE; Transfer[] types = new Transfer[] { FileTransfer.getInstance() }; DropTarget target = new DropTarget(tblSources, operation); target.setTransfer(types); target.addDropListener(new DropTargetAdapter() { public void dragEnter(DropTargetEvent event) { event.detail = operation; event.feedback = DND.FEEDBACK_SCROLL; } public void dragOver(DropTargetEvent event) { event.detail = operation; event.feedback = DND.FEEDBACK_SCROLL; } public void drop(DropTargetEvent event) { String[] files = (String[]) event.data; for (int i = 0; i < files.length; i++) { addSource(new File(files[i])); } arrangeSources(); registerUpdate(); } }); }
From source file:com.aptana.editor.php.internal.ui.preferences.BuildPathEditingComposite.java
License:Open Source License
/** * Add an item to the table viewer after verifying that the path of that item does not exist or is not containing * the path for this item.//w w w.j av a 2s . c o m * * @param tableViewer * @param item */ @SuppressWarnings({ "unchecked", "rawtypes" }) private void addWithValidation(TableViewer tableViewer, Object item) { propertyPage.setMessage(null); TableItem[] tableItems = tableViewer.getTable().getItems(); if (tableItems == null || tableItems.length == 0) { // Just add if (item instanceof Object[]) { Object[] items = (Object[]) item; for (Object obj : items) { tableViewer.add(obj); return; } } else { if (item != null) { tableViewer.add(item); return; } } } List toAdd = new ArrayList(); boolean hasAlreadyIncludedPaths = false; if (item instanceof File) { File directoryAdded = (File) item; // Check for files that are already in the table. boolean shouldAdd = true; for (TableItem tableItem : tableItems) { Object data = tableItem.getData(); if (data instanceof File) { File existinsDirectory = (File) data; if (existinsDirectory.equals(directoryAdded) || directoryAdded.getAbsolutePath().startsWith(existinsDirectory.getAbsolutePath())) { hasAlreadyIncludedPaths = true; shouldAdd = false; break; } } } if (shouldAdd) { toAdd.add(directoryAdded); } } else if (item instanceof Object[]) { Object[] elements = (Object[]) item; for (Object element : elements) { boolean shouldAdd = true; for (TableItem tableItem : tableItems) { if (element instanceof IResource && tableItem.getData() instanceof IResource) { IResource resource = (IResource) element; IResource resourceInTable = (IResource) tableItem.getData(); if ((resourceInTable).getFullPath().isPrefixOf(resource.getFullPath())) { hasAlreadyIncludedPaths = true; shouldAdd = false; break; } } } if (shouldAdd) { toAdd.add(element); } } } tableViewer.add(toAdd.toArray()); if (hasAlreadyIncludedPaths) { propertyPage.setMessage(Messages.BuildPathEditingComposite_selectionIncludedNotice, DialogPage.INFORMATION); Job job = new UIJob("Build-Path::Remove message") //$NON-NLS-1$ { public IStatus runInUIThread(IProgressMonitor monitor) { if (propertyPage != null && !propertyPage.getControl().isDisposed()) { propertyPage.setMessage(null); } return Status.OK_STATUS; } }; job.schedule(4000); // wait 4 seconds before removing the message } }
From source file:com.aptana.ide.debug.internal.ui.xhr.AJAXMonitorPage.java
License:Open Source License
private void createDetailsPart(Composite parent, String name, Viewer[] viewers) { Composite container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(1, false); layout.marginHeight = 0;// w w w. ja v a2 s . com layout.horizontalSpacing = 0; layout.marginWidth /= 2; container.setLayout(layout); Label label = new Label(container, SWT.NONE); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); label.setText(name); CTabFolder tab = new CTabFolder(container, SWT.BOTTOM | SWT.FLAT | SWT.BORDER); tab.setLayoutData(new GridData(GridData.FILL_BOTH)); TableViewer viewer = new TableViewer(tab, /* SWT.VIRTUAL | */SWT.SINGLE | SWT.FULL_SELECTION); Table table = viewer.getTable(); TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); table.setHeaderVisible(false); table.setLinesVisible(true); // CHECKSTYLE:OFF TableColumn column = new TableColumn(table, SWT.LEFT); column.setText(Messages.AJAXMonitorPage_Name); tableLayout.addColumnData(new ColumnWeightData(50)); column = new TableColumn(table, SWT.LEFT); column.setText(Messages.AJAXMonitorPage_Value); tableLayout.addColumnData(new ColumnWeightData(50)); // CHECKSTYLE:ON viewer.setContentProvider(new XHRContentProvider()); viewer.setLabelProvider(new XHRLabelProvider()); viewers[0] = viewer; CTabItem item = new CTabItem(tab, SWT.NONE); item.setControl(viewers[0].getControl()); item.setText(Messages.AJAXMonitorPage_Headers); TextViewer textViewer = new TextViewer(tab, SWT.READ_ONLY | SWT.V_SCROLL | SWT.H_SCROLL); item = new CTabItem(tab, SWT.NONE); item.setControl(textViewer.getControl()); item.setText(Messages.AJAXMonitorPage_Body); textViewer.setEditable(false); textViewer.setDocument(new Document()); viewers[1] = textViewer; PreferenceUtils.persist(DebugUiPlugin.getDefault().getPreferenceStore(), viewer.getTable(), "ajaxMonitorPage.detailsPart"); //$NON-NLS-1$ tab.setSelection(item); }
From source file:com.aptana.ide.search.AptanaFileSearchPage.java
License:Open Source License
/** * ovverriden to make it working for matching layout * @see org.eclipse.search.internal.ui.text.FileSearchPage#getLabel() *///from w ww .j a v a2 s. c o m public String getLabel() { AbstractTextSearchResult input = this.getInput(); // we are in out layout if (this.layout == AptanaFileSearchPage.LAYOUT_MATCHES) { if (input == null) { return ""; //$NON-NLS-1$ } String label = input.getLabel(); TableViewer viewer = (TableViewer) this.getViewer(); int itemCount = viewer.getTable().getItemCount(); int matchCount = this.getInput().getMatchCount(); if (itemCount < matchCount) { return Messages.format(com.aptana.ide.search.Messages.AptanaFileSearchPage_NOT_ALL_MATCHES, new Object[] { label, new Integer(itemCount), new Integer(matchCount) }); } } return super.getLabel(); }
From source file:com.aptana.ide.search.AptanaFileSearchPage.java
License:Open Source License
/** * custom handling of changes in search result for mathces mode * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#handleSearchResultChanged(org.eclipse.search.ui.SearchResultEvent) *//*from w w w . ja v a 2 s . c o m*/ protected void handleSearchResultChanged(final SearchResultEvent e) { if (this.layout != AptanaFileSearchPage.LAYOUT_MATCHES) { super.handleSearchResultChanged(e); return; } if (e instanceof MatchEvent) { MatchEvent me = (MatchEvent) e; int kind = me.getKind(); if ((Display.getCurrent() != null) && (kind == MatchEvent.REMOVED)) { TableViewer cc = (TableViewer) this.getViewer(); Table table = cc.getTable(); int selectionIndex = table.getSelectionIndex(); cc.refresh(); if (selectionIndex != -1) { if (selectionIndex < table.getItemCount()) { TableItem item = cc.getTable().getItem(selectionIndex); cc.setSelection(new StructuredSelection(item.getData())); } } } else { super.handleSearchResultChanged(e); } // elementsChanged(me.getMatches()); } else if (e instanceof RemoveAllEvent) { super.handleSearchResultChanged(e); } }
From source file:com.aptana.ide.search.AptanaFileSearchPage.java
License:Open Source License
/** * we are reconfiguring table viewer to matches mode here *//*from w w w . j ava 2s.c o m*/ private void reconfigureTableViewer() { TableViewer tViewer = (TableViewer) this.getViewer(); TableColumn[] columns = tViewer.getTable().getColumns(); for (int a = 0; a < columns.length; a++) { columns[a].dispose(); } this.metrics = new PixelConverter(tViewer.getControl()); tViewer.getTable().setHeaderVisible(true); TableColumn clmn = new TableColumn(tViewer.getTable(), SWT.LEFT); clmn.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_File); TableColumn clmn1 = new TableColumn(tViewer.getTable(), SWT.LEFT); clmn1.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Line); TableColumn clmn2 = new TableColumn(tViewer.getTable(), SWT.LEFT); clmn2.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Source); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); tableLayout.addColumnData(new ColumnPixelData(50)); tableLayout.addColumnData(new ColumnWeightData(1)); PreferenceUtils.persist(Activator.getDefault().getPreferenceStore(), tViewer.getTable(), "tviewer"); //$NON-NLS-1$ this.listener = new Listener() { public void handleEvent(Event event) { if (event.index == 2) { AptanaFileMatch aptanaFileMatch = ((AptanaFileMatch) event.item.getData()); if (aptanaFileMatch != null) { event.gc.drawText(aptanaFileMatch.getLineContent(), event.x, event.y); } } } }; this.listener1 = new Listener() { public void handleEvent(Event event) { if (event.index == 2) { AptanaFileMatch aptanaFileMatch = ((AptanaFileMatch) event.item.getData()); if (aptanaFileMatch != null) { event.width = AptanaFileSearchPage.this.metrics .convertWidthInCharsToPixels(aptanaFileMatch.getLineContent().length()); } } } }; tViewer.getTable().addListener(SWT.PaintItem, this.listener); tViewer.getTable().setLayout(tableLayout); IBaseLabelProvider labelProvider = tViewer.getLabelProvider(); //if (labelProvider instanceof DecoratingLabelProvider){ labelProvider = new DecoratingFileSearchLabelProvider( new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL_PATH)); tViewer.setLabelProvider(labelProvider); baseLabelProvider = (DecoratingFileSearchLabelProvider) labelProvider; tViewer.setInput(null); tViewer.setLabelProvider(new MatchesTableLabelProvider()); final IContentProvider contentProvider = tViewer.getContentProvider(); this.structuredContentProvider = new MatchesContentProvider(this, contentProvider); tViewer.setContentProvider(this.structuredContentProvider); tViewer.setInput(this.getInput()); tViewer.getTable().getParent().layout(true); }
From source file:com.aptana.ide.search.epl.filesystem.ui.text.FileSystemSearchPage.java
License:Open Source License
/** * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#canRemoveMatchesWith(org.eclipse.jface.viewers.ISelection) *//*w w w. j a v a 2 s. com*/ protected boolean canRemoveMatchesWith(ISelection selection) { if (selection.isEmpty()) { StructuredViewer viewer = getViewer(); if ((viewer != null) && (viewer instanceof TableViewer)) { TableViewer tv = (TableViewer) viewer; tv.getTable().getParent().setFocus(); tv.getTable().deselectAll(); } if ((viewer != null) && (viewer instanceof TreeViewer)) { TreeViewer tv = (TreeViewer) viewer; tv.getTree().deselectAll(); } } return !selection.isEmpty(); }
From source file:com.aptana.ide.search.epl.filesystem.ui.text.FileTableContentProvider.java
License:Open Source License
/** * @see com.aptana.ide.search.epl.filesystem.ui.text.IFileSearchContentProvider#elementsChanged(java.lang.Object[]) *///from w ww . j ava 2s.c o m public void elementsChanged(Object[] updatedElements) { TableViewer viewer = this.getViewer(); int elementLimit = this.getElementLimit(); boolean tableLimited = elementLimit != -1; for (int i = 0; i < updatedElements.length; i++) { if (this.fResult.getMatchCount(updatedElements[i]) > 0) { if (viewer.testFindItem(updatedElements[i]) != null) { viewer.update(updatedElements[i], null); } else { if (!tableLimited || (viewer.getTable().getItemCount() < elementLimit)) { viewer.add(updatedElements[i]); } } } else { viewer.remove(updatedElements[i]); } } }