diff options
author | Uwe Stieber | 2012-06-26 11:46:59 +0000 |
---|---|---|
committer | Uwe Stieber | 2012-06-26 11:46:59 +0000 |
commit | 420539f98b400a428b43b44a106c186145fc6e88 (patch) | |
tree | 970d64a0f6e6c26c3a9ec3b47f0b47420ff9e1f9 /target_explorer/plugins/org.eclipse.tcf.te.ui.forms | |
parent | 359418e7c9e14ea3dffe1ebf298d39d1b6cf95f7 (diff) | |
download | org.eclipse.tcf-420539f98b400a428b43b44a106c186145fc6e88.tar.gz org.eclipse.tcf-420539f98b400a428b43b44a106c186145fc6e88.tar.xz org.eclipse.tcf-420539f98b400a428b43b44a106c186145fc6e88.zip |
Target Explorer: Move read-only handling in generic TablePart
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.ui.forms')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/TablePart.java | 248 |
1 files changed, 138 insertions, 110 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/TablePart.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/TablePart.java index 232e34888..1548be9a4 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/TablePart.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/TablePart.java @@ -1,110 +1,138 @@ -/*******************************************************************************
- * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.ui.forms.parts;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * Table part implementation.
- */
-public class TablePart extends AbstractStructuredViewerPart implements ISelectionChangedListener, IDoubleClickListener {
-
- /**
- * Constructor.
- *
- * @param labels The list of label to apply to the created buttons in the given order. Must not be <code>null</code>.
- */
- public TablePart(String[] labels) {
- super(labels);
- }
-
- /**
- * Creates the table viewer instance.
- *
- * @param parent The parent composite. Must not be <code>null</code>.
- * @param style The viewer style.
- *
- * @return The table viewer instance.
- */
- protected TableViewer createTableViewer(Composite parent, int style) {
- return new TableViewer(parent, style);
- }
-
- /**
- * Configures the table viewer instance.
- *
- * @param viewer The table viewer instance. Must not be <code>null</code<.
- */
- protected void configureTableViewer(TableViewer viewer) {
- Assert.isNotNull(viewer);
-
- viewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent e) {
- TablePart.this.selectionChanged(e);
- }
- });
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent e) {
- TablePart.this.doubleClick(e);
- }
- });
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.forms.parts.AbstractStructuredViewerPart#createStructuredViewer(org.eclipse.swt.widgets.Composite, int, org.eclipse.ui.forms.widgets.FormToolkit)
- */
- @Override
- protected StructuredViewer createStructuredViewer(Composite parent, int style, FormToolkit toolkit) {
- Assert.isNotNull(parent);
-
- // Adjust the style bits
- style |= SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-
- TableViewer viewer = createTableViewer(parent, style);
- Assert.isNotNull(viewer);
- configureTableViewer(viewer);
-
- return viewer;
- }
-
- /**
- * Returns the table viewer instance.
- *
- * @return The table viewer instance or <code>null</code>.
- */
- protected TableViewer getTableViewer() {
- return (TableViewer)getViewer();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
- */
- @Override
- public void doubleClick(DoubleClickEvent event) {
- }
-}
+/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.forms.parts; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.viewers.DoubleClickEvent; +import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Table part implementation. + */ +public class TablePart extends AbstractStructuredViewerPart implements ISelectionChangedListener, IDoubleClickListener { + // A flag to mark the table part "read-only" + /* default */ boolean readOnly; + + /** + * Constructor. + * + * @param labels The list of label to apply to the created buttons in the given order. Must not be <code>null</code>. + */ + public TablePart(String[] labels) { + super(labels); + } + + /** + * Creates the table viewer instance. + * + * @param parent The parent composite. Must not be <code>null</code>. + * @param style The viewer style. + * + * @return The table viewer instance. + */ + protected TableViewer createTableViewer(Composite parent, int style) { + return new TableViewer(parent, style); + } + + /** + * Configures the table viewer instance. + * + * @param viewer The table viewer instance. Must not be <code>null</code<. + */ + protected void configureTableViewer(TableViewer viewer) { + Assert.isNotNull(viewer); + + viewer.addSelectionChangedListener(new ISelectionChangedListener() { + @Override + public void selectionChanged(SelectionChangedEvent e) { + TablePart.this.selectionChanged(e); + } + }); + viewer.addDoubleClickListener(new IDoubleClickListener() { + @Override + public void doubleClick(DoubleClickEvent e) { + TablePart.this.doubleClick(e); + } + }); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.forms.parts.AbstractStructuredViewerPart#createStructuredViewer(org.eclipse.swt.widgets.Composite, int, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + protected StructuredViewer createStructuredViewer(Composite parent, int style, FormToolkit toolkit) { + Assert.isNotNull(parent); + + // Adjust the style bits + style |= SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER; + + TableViewer viewer = createTableViewer(parent, style); + Assert.isNotNull(viewer); + configureTableViewer(viewer); + + return viewer; + } + + /** + * Returns the table viewer instance. + * + * @return The table viewer instance or <code>null</code>. + */ + protected TableViewer getTableViewer() { + return (TableViewer)getViewer(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) + */ + @Override + public void selectionChanged(SelectionChangedEvent event) { + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) + */ + @Override + public void doubleClick(DoubleClickEvent event) { + } + + /** + * Set the table part read-only state. + * + * @param readOnly <code>True</code> to set the table part read-only. + */ + public final void setReadOnly(boolean readOnly) { + this.readOnly = readOnly; + updateButtons(); + } + + /** + * Returns the table part read-only state. + * + * @return <code>True</code> if the table part is read-only, <code>false</code> otherwise. + */ + public final boolean isReadOnly() { + return readOnly; + } + + /** + * Update the button enablements. + */ + protected void updateButtons() { + // nothing to do + } +} |