mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Tree selection
This commit is contained in:
+23
-20
@@ -126,35 +126,38 @@ public final class TreeEditableArea implements EditableArea, FeedbackTreeLayer,
|
||||
return myTreeBuilder.getSelectedElements(RadComponent.class);
|
||||
}
|
||||
|
||||
public void setRawSelection(@Nullable Object value, final @Nullable Runnable globalDone) {
|
||||
public void setRawSelection(final @Nullable Object value, final @Nullable Runnable globalDone) {
|
||||
mySelectionMode = true;
|
||||
final int selectionOperation = ++mySelectionOperation;
|
||||
|
||||
myTreeBuilder.queueUpdate();
|
||||
|
||||
Runnable localDone = new Runnable() {
|
||||
myTreeBuilder.queueUpdate().doWhenDone(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (selectionOperation == mySelectionOperation) {
|
||||
mySelectionMode = false;
|
||||
fireSelectionChanged();
|
||||
Runnable localDone = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (selectionOperation == mySelectionOperation) {
|
||||
mySelectionMode = false;
|
||||
fireSelectionChanged();
|
||||
|
||||
if (globalDone != null) {
|
||||
globalDone.run();
|
||||
if (globalDone != null) {
|
||||
globalDone.run();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (value == null) {
|
||||
myTreeBuilder.select(ArrayUtil.EMPTY_OBJECT_ARRAY, localDone);
|
||||
}
|
||||
else if (value instanceof RadComponent) {
|
||||
myTreeBuilder.select(value, localDone);
|
||||
}
|
||||
else {
|
||||
myTreeBuilder.select(((Collection)value).toArray(), localDone);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (value == null) {
|
||||
myTreeBuilder.select(ArrayUtil.EMPTY_OBJECT_ARRAY, localDone);
|
||||
}
|
||||
else if (value instanceof RadComponent) {
|
||||
myTreeBuilder.select(value, localDone);
|
||||
}
|
||||
else {
|
||||
myTreeBuilder.select(((Collection)value).toArray(), localDone);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user