diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java deleted file mode 100644 index 31510f437..000000000 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 SAP AG 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: - * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.j2ee.internal.ui; - -import java.util.ArrayList; -import java.util.Hashtable; - -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.jface.viewers.ICheckStateListener; -import org.eclipse.jface.viewers.ViewerRow; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.TableEditor; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableItem; - -public class DoubleCheckboxTableViewer extends CheckboxTableViewer { - - protected int mSecondCheckboxColumnIndex; - protected ICheckStateListener lstnr = null; - - public DoubleCheckboxTableViewer(Table table, int secondCheckBoxColumnIndex) { - super(table); - if (secondCheckBoxColumnIndex < 1) - throw new IllegalArgumentException( - "The index of the second column with check box must be bigger than zero"); //$NON-NLS-1$ - - mSecondCheckboxColumnIndex = secondCheckBoxColumnIndex; - } - - @Override - public void addCheckStateListener(ICheckStateListener listener) { - super.addCheckStateListener(listener); - lstnr = listener; - } - - @Override - public void removeCheckStateListener(ICheckStateListener listener) { - super.removeCheckStateListener(listener); - lstnr = null; - getTable().getItems(); - for (int i = 0; i < getTable().getItems().length; i++) { - DoubleCheckboxTableItem it = (DoubleCheckboxTableItem)getTable().getItem(i); - it.setTableListener(null); - } - } - - @Override - protected ViewerRow internalCreateNewRowPart(int style, int rowIndex) { - DoubleCheckboxTableItem item; - if (rowIndex >= 0) { - item = new DoubleCheckboxTableItem(getTable(), style, rowIndex, mSecondCheckboxColumnIndex, this); - } else { - item = new DoubleCheckboxTableItem(getTable(), style, mSecondCheckboxColumnIndex, this); - } - item.setTableListener(lstnr); - TableEditor editor = new TableEditor(getTable()); - editor.minimumWidth = item.getSecondCheckBox().getSize ().x; - editor.horizontalAlignment = SWT.CENTER; - editor.setEditor(item.getSecondCheckBox(), item, mSecondCheckboxColumnIndex); - return getViewerRowFromItem(item); - } - - public Object[] getSecondCheckedItems() { - TableItem[] children = getTable().getItems(); - ArrayList v = new ArrayList(children.length); - for (int i = 0; i < children.length; i++) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i]; - if (item.getSecondChecked()) { - v.add(item); - } - } - return v.toArray(); - } - - public void setAllSecondChecked(boolean state) { - TableItem[] children = getTable().getItems(); - for (int i = 0; i < children.length; i++) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i]; - item.setSecondChecked(state); - } - } - - public Object[] getSingleCheckedElements() { - TableItem[] children = getTable().getItems(); - ArrayList v = new ArrayList(children.length); - for (int i = 0; i < children.length; i++) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i]; - if (item.getChecked() && (!item.getSecondChecked())) { - v.add(item.getData()); - } - } - return v.toArray(); - } - - public Object[] getDoubleCheckedElements() { - TableItem[] children = getTable().getItems(); - ArrayList v = new ArrayList(children.length); - for (int i = 0; i < children.length; i++) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i]; - if (item.getChecked() && item.getSecondChecked()) { - v.add(item.getData()); - } - } - return v.toArray(); - } - - public Object[] getUncheckedItems() { - TableItem[] children = getTable().getItems(); - ArrayList v = new ArrayList(children.length); - for (int i = 0; i < children.length; i++) { - TableItem item = children[i]; - if (!item.getChecked()) { - v.add(item); - } - } - return v.toArray(); - } - - - public Object[] getSecondUncheckedElements() { - TableItem[] children = getTable().getItems(); - ArrayList v = new ArrayList(children.length); - for (int i = 0; i < children.length; i++) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i]; - if (!item.getSecondChecked()) { - v.add(item.getData()); - } - } - return v.toArray(); - } - - public void setSecondCheckedItems(Object[] inputItems) { - assertElementsNotNull(inputItems); - Hashtable set = new Hashtable(); - for (int i = 0; i < inputItems.length; ++i) { - set.put(inputItems[i], inputItems[i]); - } - TableItem[] items = getTable().getItems(); - for (int i = 0; i < items.length; ++i) { - DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)items[i]; - boolean check = set.containsKey(item); - if (item.getSecondChecked() != check) { - item.setSecondChecked(check); - } - - } - } - - @Override - protected void doRemove(int start, int end) { - // ensure that the second check box is disposed - for (int i = start; i <= end; i++) { - disposeSecondCheckboxOfItem(i); - } - - super.doRemove(start, end); - } - - @Override - protected void doRemove(int[] indices) { - // ensure that the second check box is disposed - for (int i : indices) { - disposeSecondCheckboxOfItem(i); - } - - super.doRemove(indices); - } - - private void disposeSecondCheckboxOfItem(int index) { - TableItem item = getTable().getItem(index); - if (item instanceof DoubleCheckboxTableItem) { - ((DoubleCheckboxTableItem) item).disposeSecondCheckbox(); - } - } - -} |