///******************************************************************************* // * Copyright (c) 2007 IBM Corporation 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: // * IBM Corporation - initial API and implementation // ******************************************************************************/ // //package org.eclipse.jface.viewers; // //import java.util.List; // //import org.eclipse.jface.viewers.CellEditor.LayoutData; //import org.eclipse.swt.custom.TableEditor; //import org.eclipse.swt.widgets.Control; //import org.eclipse.swt.widgets.Item; //import org.eclipse.swt.widgets.Table; //import org.eclipse.swt.widgets.TableItem; // ///** // * This is an editor-implementation for {@link Table} // * // * @since 1.0 // * // */ //public final class TableViewerEditor extends ColumnViewerEditor { // /** // * This viewer's table editor. // */ // private TableEditor tableEditor; // // private SWTFocusCellManager focusCellManager; // // /** // * @param viewer // * the viewer the editor is attached to // * @param focusCellManager // * the cell focus manager if one used or <code>null</code> // * @param editorActivationStrategy // * the strategy used to decide about the editor activation // * @param feature // * the feature mask // */ // TableViewerEditor(TableViewer viewer, SWTFocusCellManager focusCellManager, // ColumnViewerEditorActivationStrategy editorActivationStrategy, // int feature) { // super(viewer, editorActivationStrategy, feature); // tableEditor = new TableEditor(viewer.getTable()); // this.focusCellManager = focusCellManager; // } // // /** // * Create a customized editor with focusable cells // * // * @param viewer // * the viewer the editor is created for // * @param focusCellManager // * the cell focus manager if one needed else <code>null</code> // * @param editorActivationStrategy // * activation strategy to control if an editor activated // * @param feature // * bit mask controlling the editor // * <ul> // * <li>{@link ColumnViewerEditor#DEFAULT}</li> // * <li>{@link ColumnViewerEditor#TABBING_CYCLE_IN_ROW}</li> // * <li>{@link ColumnViewerEditor#TABBING_HORIZONTAL}</li> // * <li>{@link ColumnViewerEditor#TABBING_MOVE_TO_ROW_NEIGHBOR}</li> // * <li>{@link ColumnViewerEditor#TABBING_VERTICAL}</li> // * </ul> // * @see #create(TableViewer, ColumnViewerEditorActivationStrategy, int) // */ // public static void create(TableViewer viewer, // SWTFocusCellManager focusCellManager, // ColumnViewerEditorActivationStrategy editorActivationStrategy, // int feature) { // TableViewerEditor editor = new TableViewerEditor(viewer, // focusCellManager, editorActivationStrategy, feature); // viewer.setColumnViewerEditor(editor); // if (focusCellManager != null) { // focusCellManager.init(); // } // } // // /** // * Create a customized editor whose activation process is customized // * // * @param viewer // * the viewer the editor is created for // * @param editorActivationStrategy // * activation strategy to control if an editor activated // * @param feature // * bit mask controlling the editor // * <ul> // * <li>{@link ColumnViewerEditor#DEFAULT}</li> // * <li>{@link ColumnViewerEditor#TABBING_CYCLE_IN_ROW}</li> // * <li>{@link ColumnViewerEditor#TABBING_HORIZONTAL}</li> // * <li>{@link ColumnViewerEditor#TABBING_MOVE_TO_ROW_NEIGHBOR}</li> // * <li>{@link ColumnViewerEditor#TABBING_VERTICAL}</li> // * </ul> // */ // public static void create(TableViewer viewer, // ColumnViewerEditorActivationStrategy editorActivationStrategy, // int feature) { // create(viewer, null, editorActivationStrategy, feature); // } // // protected void setEditor(Control w, Item item, int columnNumber) { // tableEditor.setEditor(w, (TableItem) item, columnNumber); // } // // protected void setLayoutData(LayoutData layoutData) { // tableEditor.grabHorizontal = layoutData.grabHorizontal; // tableEditor.horizontalAlignment = layoutData.horizontalAlignment; // tableEditor.minimumWidth = layoutData.minimumWidth; // } // // public ViewerCell getFocusCell() { // if (focusCellManager != null) { // return focusCellManager.getFocusCell(); // } // // return super.getFocusCell(); // } // // protected void updateFocusCell(ViewerCell focusCell, // ColumnViewerEditorActivationEvent event) { // // Update the focus cell when we activated the editor with these 2 // // events // if (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC // || event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL) { // // List l = getViewer().getSelectionFromWidget(); // // if (focusCellManager != null) { // focusCellManager.setFocusCell(focusCell); // } // // if (!l.contains(focusCell.getElement())) { // getViewer().setSelection( // new StructuredSelection(focusCell.getElement())); // } // } // } //}