Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
5e0cd08d
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5e0cd08d
编写于
6月 18, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
selection change event
上级
a28cde1b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
28 addition
and
3 deletion
+28
-3
src/vs/vscode.d.ts
src/vs/vscode.d.ts
+17
-0
src/vs/workbench/api/node/extHostTreeViews.ts
src/vs/workbench/api/node/extHostTreeViews.ts
+11
-3
未找到文件。
src/vs/vscode.d.ts
浏览文件 @
5e0cd08d
...
...
@@ -6159,6 +6159,18 @@ declare module 'vscode' {
}
/**
* The event that is fired when there is a change in [tree view's selections](#TreeView.selections)
*/
export
interface
TreeViewSelectionChangeEvent
<
T
>
{
/**
* Selected elements.
*/
selections
:
T
[];
}
/**
* Represents a Tree view
*/
...
...
@@ -6174,6 +6186,11 @@ declare module 'vscode' {
*/
readonly
onDidCollapseElement
:
Event
<
TreeViewExpansionEvent
<
T
>>
;
/**
* Event that is fired when the selection has changed
*/
readonly
onDidChangeSelection
:
Event
<
TreeViewSelectionChangeEvent
<
T
>>
;
/**
* Currently selected elements.
*/
...
...
src/vs/workbench/api/node/extHostTreeViews.ts
浏览文件 @
5e0cd08d
...
...
@@ -17,6 +17,7 @@ import { ExtHostCommands, CommandsConverter } from 'vs/workbench/api/node/extHos
import
{
asWinJsPromise
}
from
'
vs/base/common/async
'
;
import
{
TreeItemCollapsibleState
,
ThemeIcon
}
from
'
vs/workbench/api/node/extHostTypes
'
;
import
{
isUndefinedOrNull
}
from
'
vs/base/common/types
'
;
import
{
equals
}
from
'
vs/base/common/arrays
'
;
type
TreeItemHandle
=
string
;
...
...
@@ -51,6 +52,7 @@ export class ExtHostTreeViews implements ExtHostTreeViewsShape {
return
{
get
onDidCollapseElement
()
{
return
treeView
.
onDidCollapseElement
;
},
get
onDidExpandElement
()
{
return
treeView
.
onDidExpandElement
;
},
get
onDidChangeSelection
()
{
return
treeView
.
onDidChangeSelection
;
},
get
selection
()
{
return
treeView
.
selectedElements
;
},
reveal
:
(
element
:
T
,
options
?:
{
select
?:
boolean
}):
Thenable
<
void
>
=>
{
return
treeView
.
reveal
(
element
,
options
);
...
...
@@ -113,8 +115,8 @@ class ExtHostTreeView<T> extends Disposable {
private
elements
:
Map
<
TreeItemHandle
,
T
>
=
new
Map
<
TreeItemHandle
,
T
>
();
private
nodes
:
Map
<
T
,
TreeNode
>
=
new
Map
<
T
,
TreeNode
>
();
private
_selected
Elements
:
T
[]
=
[];
get
selectedElements
():
T
[]
{
return
this
.
_selected
Elements
;
}
private
_selected
Handles
:
TreeItemHandle
[]
=
[];
get
selectedElements
():
T
[]
{
return
this
.
_selected
Handles
.
map
(
handle
=>
this
.
getExtensionElement
(
handle
)).
filter
(
element
=>
!
isUndefinedOrNull
(
element
))
;
}
private
_onDidExpandElement
:
Emitter
<
vscode
.
TreeViewExpansionEvent
<
T
>>
=
this
.
_register
(
new
Emitter
<
vscode
.
TreeViewExpansionEvent
<
T
>>
());
readonly
onDidExpandElement
:
Event
<
vscode
.
TreeViewExpansionEvent
<
T
>>
=
this
.
_onDidExpandElement
.
event
;
...
...
@@ -122,6 +124,9 @@ class ExtHostTreeView<T> extends Disposable {
private
_onDidCollapseElement
:
Emitter
<
vscode
.
TreeViewExpansionEvent
<
T
>>
=
this
.
_register
(
new
Emitter
<
vscode
.
TreeViewExpansionEvent
<
T
>>
());
readonly
onDidCollapseElement
:
Event
<
vscode
.
TreeViewExpansionEvent
<
T
>>
=
this
.
_onDidCollapseElement
.
event
;
private
_onDidChangeSelection
:
Emitter
<
vscode
.
TreeViewSelectionChangeEvent
<
T
>>
=
this
.
_register
(
new
Emitter
<
vscode
.
TreeViewSelectionChangeEvent
<
T
>>
());
readonly
onDidChangeSelection
:
Event
<
vscode
.
TreeViewSelectionChangeEvent
<
T
>>
=
this
.
_onDidChangeSelection
.
event
;
private
refreshPromise
:
TPromise
<
void
>
=
TPromise
.
as
(
null
);
constructor
(
private
viewId
:
string
,
private
dataProvider
:
vscode
.
TreeDataProvider
<
T
>
,
private
proxy
:
MainThreadTreeViewsShape
,
private
commands
:
CommandsConverter
)
{
...
...
@@ -182,7 +187,10 @@ class ExtHostTreeView<T> extends Disposable {
}
setSelection
(
treeItemHandles
:
TreeItemHandle
[]):
void
{
this
.
_selectedElements
=
treeItemHandles
.
map
(
handle
=>
this
.
getExtensionElement
(
handle
)).
filter
(
element
=>
!
isUndefinedOrNull
(
element
));
if
(
!
equals
(
this
.
_selectedHandles
,
treeItemHandles
))
{
this
.
_selectedHandles
=
treeItemHandles
;
this
.
_onDidChangeSelection
.
fire
({
selections
:
this
.
selectedElements
});
}
}
private
resolveUnknownParentChain
(
element
:
T
):
TPromise
<
TreeNode
[]
>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录