|
Eclipse Remote Application Platform | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.swt.custom.ControlEditor org.eclipse.swt.custom.TreeEditor
public class TreeEditor
A TreeEditor is a manager for a Control that appears above a cell in a Tree and tracks with the moving and resizing of that cell. It can be used to display a text widget above a cell in a Tree so that the user can edit the contents of that cell. It can also be used to display a button that can launch a dialog for modifying the contents of the associated cell.
Here is an example of using a TreeEditor:
final Tree tree = new Tree(shell, SWT.BORDER);
for (int i = 0; i < 3; i++) {
TreeItem item = new TreeItem(tree, SWT.NONE);
item.setText("item " + i);
for (int j = 0; j < 3; j++) {
TreeItem subItem = new TreeItem(item, SWT.NONE);
subItem.setText("item " + i + " " + j);
}
}
final TreeEditor editor = new TreeEditor(tree);
//The editor must have the same size as the cell and must
//not be any smaller than 50 pixels.
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
editor.minimumWidth = 50;
tree.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// Clean up any previous editor control
Control oldEditor = editor.getEditor();
if (oldEditor != null) oldEditor.dispose();
// Identify the selected row
TreeItem item = (TreeItem)e.item;
if (item == null) return;
// The control that will be the editor must be a child of the Tree
Text newEditor = new Text(tree, SWT.NONE);
newEditor.setText(item.getText());
newEditor.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
Text text = (Text)editor.getEditor();
editor.getItem().setText(text.getText());
}
});
newEditor.selectAll();
newEditor.setFocus();
editor.setEditor(newEditor, item);
}
});
Field Summary |
---|
Fields inherited from class org.eclipse.swt.custom.ControlEditor |
---|
grabHorizontal, grabVertical, horizontalAlignment, minimumHeight, minimumWidth, verticalAlignment |
Constructor Summary | |
---|---|
TreeEditor(Tree tree)
Creates a TreeEditor for the specified Tree. |
Method Summary | |
---|---|
void |
dispose()
Removes all associations between the TreeEditor and the row in the tree. |
int |
getColumn()
Returns the zero based index of the column of the cell being tracked by this editor. |
TreeItem |
getItem()
Returns the TreeItem for the row of the cell being tracked by this editor. |
void |
layout()
Lays out the control within the underlying composite. |
void |
setColumn(int column)
Sets the zero based index of the column of the cell being tracked by this editor. |
void |
setEditor(Control editor)
Specify the Control that is to be displayed. |
void |
setEditor(Control editor,
TreeItem item)
Specify the Control that is to be displayed and the cell in the tree that it is to be positioned above. |
void |
setEditor(Control editor,
TreeItem item,
int column)
Specify the Control that is to be displayed and the cell in the tree that it is to be positioned above. |
void |
setItem(TreeItem item)
|
Methods inherited from class org.eclipse.swt.custom.ControlEditor |
---|
getEditor |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TreeEditor(Tree tree)
tree
- the Tree Control above which this editor will be displayedMethod Detail |
---|
public void dispose()
dispose
in class ControlEditor
public int getColumn()
public TreeItem getItem()
public void setColumn(int column)
column
- the zero based index of the column of the cell being tracked
by this editorpublic void setItem(TreeItem item)
public void setEditor(Control editor, TreeItem item, int column)
Note: The Control provided as the editor must be created with its parent being the Tree control specified in the TreeEditor constructor.
editor
- the Control that is displayed above the cell being editeditem
- the TreeItem for the row of the cell being tracked by this
editorcolumn
- the zero based index of the column of the cell being tracked
by this editorpublic void setEditor(Control editor)
ControlEditor
Note: The Control provided as the editor must be created with its parent being the Composite specified in the ControlEditor constructor.
setEditor
in class ControlEditor
editor
- the Control that is displayed above the composite being
editedpublic void setEditor(Control editor, TreeItem item)
Note: The Control provided as the editor must be created with its parent being the Tree control specified in the TreeEditor constructor.
editor
- the Control that is displayed above the cell being editeditem
- the TreeItem for the row of the cell being tracked by this
editorpublic void layout()
ControlEditor
layout
in class ControlEditor
|
Eclipse Remote Application Platform | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright (c) EclipseSource and others 2002, 2013. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0