TreeUi: alarmed selection requests and yeilding requests expiration
[fedora-idea.git] / platform / platform-api / src / com / intellij / ide / util / treeView / SelectionRequest.java
blob60fad7ec6e5bb3b4c6f49dac333133ba19d23c39
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.intellij.ide.util.treeView;
18 class SelectionRequest {
19 final Object[] myElements;
20 final Runnable myOnDone;
21 final boolean myAddToSelection;
22 final boolean myCheckCurrentSelection;
23 final boolean myCheckInInStructure;
24 final boolean myScrollToVisible;
25 final boolean myDeferred;
26 final boolean myCanSmartExpand;
28 SelectionRequest(Object[] elements,
29 Runnable onDone,
30 boolean addToSelection,
31 boolean checkCurrentSelection,
32 boolean checkInInStructure,
33 boolean scrollToVisible,
34 boolean deferred,
35 boolean canSmartExpand) {
36 myElements = elements;
37 myOnDone = onDone;
38 myAddToSelection = addToSelection;
39 myCheckCurrentSelection = checkCurrentSelection;
40 myCheckInInStructure = checkInInStructure;
41 myScrollToVisible = scrollToVisible;
42 myDeferred = deferred;
43 myCanSmartExpand = canSmartExpand;
46 void execute(AbstractTreeUi ui) {
47 ui._select(myElements, myOnDone, myAddToSelection, myCheckCurrentSelection, myCheckInInStructure, myScrollToVisible, myDeferred, myCanSmartExpand, false);
50 void reject() {
51 if (myOnDone != null) {
52 myOnDone.run();