⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabletreeviewer.java

📁 jfa2ce 源码帮助开发人员更好的理解运用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        return null;    }           /* (non-Javadoc)     * @see org.eclipse.jface.viewers.AbstractTreeViewer#getChild(org.eclipse.swt.widgets.Widget, int)     */    protected Item getChild (Widget widget, int index) {      if (widget instanceof TableTreeItem) {		return ((TableTreeItem) widget).getItem (index);	}      if (widget instanceof TableTree) {		return ((TableTree) widget).getItem (index);	}      return null;    }    /**     * Returns the column properties of this viewer.     * The properties must correspond with the columns of the table control.     * They are used to identify the column in a cell modifier.     *     * @return the list of column properties     */    public Object[] getColumnProperties() {        return tableViewerImpl.getColumnProperties();    }    /* (non-Javadoc)     * Method declared on Viewer.     */    public Control getControl() {        return tableTree;    }    /**     * Returns the element with the given index from this viewer.     * Returns <code>null</code> if the index is out of range.     * <p>     * This method is internal to the framework.     * </p>     *     * @param index the zero-based index     * @return the element at the given index, or <code>null</code> if the     *   index is out of range     */    public Object getElementAt(int index) {        // XXX: Workaround for 1GBCSB1: SWT:WIN2000 - TableTree should have getItem(int index)        TableTreeItem i = tableTree.getItems()[index];        if (i != null) {			return i.getData();		}        return null;    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected boolean getExpanded(Item item) {        return ((TableTreeItem) item).getExpanded();    }    /* (non-Javadoc)     * Method declared on StructuredViewer.     */    protected Item getItem(int x, int y) {        // XXX: Workaround for 1GBCSHG: SWT:WIN2000 - TableTree should have getItem(Point point)        return getTableTree().getTable().getItem(                getTableTree().toControl(new Point(x, y)));    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected int getItemCount(Control widget) {        return ((TableTree) widget).getItemCount();    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected int getItemCount(Item item) {        return ((TableTreeItem) item).getItemCount();    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected org.eclipse.swt.widgets.Item[] getItems(            org.eclipse.swt.widgets.Item item) {        return ((TableTreeItem) item).getItems();    }    /**     * The table tree viewer implementation of this <code>Viewer</code> framework     * method returns the label provider, which in the case of table tree     * viewers will be an instance of either <code>ITableLabelProvider</code>     * or <code>ILabelProvider</code>.     * If it is an <code>ITableLabelProvider</code>, then it provides a     * separate label text and image for each column. If it is an      * <code>ILabelProvider</code>, then it provides only the label text      * and image for the first column, and any remaining columns are blank.     */    public IBaseLabelProvider getLabelProvider() {        return super.getLabelProvider();    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected Item getParentItem(Item item) {        return ((TableTreeItem) item).getParentItem();    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected Item[] getSelection(Control widget) {        return ((TableTree) widget).getSelection();    }    /**     * Returns this table tree viewer's table tree control.     *     * @return the table tree control     */    public TableTree getTableTree() {        return tableTree;    }    /* (non-Javadoc)     * Method declared on AbstractTreeViewer.     */    protected void hookControl(Control control) {        super.hookControl(control);        tableTree.getTable().addMouseListener(new MouseAdapter() {            public void mouseDown(MouseEvent e) {                /* If user clicked on the [+] or [-], do not activate CellEditor. */                //XXX: This code should not be here. SWT should either have support to see                //if the user clicked on the [+]/[-] or manage the table editor                 //activation                org.eclipse.swt.widgets.TableItem[] items = tableTree                        .getTable().getItems();                for (int i = 0; i < items.length; i++) {                    Rectangle rect = items[i].getImageBounds(0);                    if (rect.contains(e.x, e.y)) {						return;					}                }                tableViewerImpl.handleMouseDown(e);            }        });    }    /**     * Returns whether there is an active cell editor.     *     * @return <code>true</code> if there is an active cell editor, and      *   <code>false</code> otherwise     */    public boolean isCellEditorActive() {        return tableViewerImpl.isCellEditorActive();    }    /* (non-Javadoc)     * Method declared in AbstractTreeViewer.     */    protected Item newItem(Widget parent, int flags, int ix) {        TableTreeItem item;        if (ix >= 0) {            if (parent instanceof TableTreeItem) {				item = new TableTreeItem((TableTreeItem) parent, flags, ix);			} else {				item = new TableTreeItem((TableTree) parent, flags, ix);			}        } else {            if (parent instanceof TableTreeItem) {				item = new TableTreeItem((TableTreeItem) parent, flags);			} else {				item = new TableTreeItem((TableTree) parent, flags);			}        }        return item;    }    /* (non-Javadoc)     * Method declared in AbstractTreeViewer.     */    protected void removeAll(Control widget) {        ((TableTree) widget).removeAll();    }    /**     * Sets the cell editors of this table viewer.     *     * @param editors the list of cell editors     */    public void setCellEditors(CellEditor[] editors) {        tableViewerImpl.setCellEditors(editors);    }    /**     * Sets the cell modifier of this table viewer.     *     * @param modifier the cell modifier     */    public void setCellModifier(ICellModifier modifier) {        tableViewerImpl.setCellModifier(modifier);    }    /**     * Sets the column properties of this table viewer.     * The properties must correspond with the columns of the table control.     * They are used to identify the column in a cell modifier.     *     * @param columnProperties the list of column properties     */    public void setColumnProperties(String[] columnProperties) {        tableViewerImpl.setColumnProperties(columnProperties);    }    /* (non-Javadoc)     * Method declared in AbstractTreeViewer.     */    protected void setExpanded(Item node, boolean expand) {        ((TableTreeItem) node).setExpanded(expand);    }    /**     * The table tree viewer implementation of this <code>Viewer</code> framework     * method ensures that the given label provider is an instance     * of either <code>ITableLabelProvider</code> or <code>ILabelProvider</code>.     * If it is an <code>ITableLabelProvider</code>, then it provides a     * separate label text and image for each column. If it is an      * <code>ILabelProvider</code>, then it provides only the label text      * and image for the first column, and any remaining columns are blank.     */    public void setLabelProvider(IBaseLabelProvider labelProvider) {        Assert.isTrue(labelProvider instanceof ITableLabelProvider                || labelProvider instanceof ILabelProvider);        super.setLabelProvider(labelProvider);    }    /* (non-Javadoc)     * Method declared in AbstractTreeViewer.     */    protected void setSelection(List items) {        TableTreeItem[] newItems = new TableTreeItem[items.size()];        items.toArray(newItems);        getTableTree().setSelection(newItems);    }    /* (non-Javadoc)     * Method declared in AbstractTreeViewer.     */    protected void showItem(Item item) {        getTableTree().showItem((TableTreeItem) item);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -