Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
642fb946
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
642fb946
编写于
11月 27, 2019
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
grid: disable sash snapping on edge of grid
fixes #84315
上级
17f559c3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
4 deletion
+20
-4
src/vs/base/browser/ui/grid/gridview.ts
src/vs/base/browser/ui/grid/gridview.ts
+12
-4
src/vs/base/browser/ui/splitview/splitview.ts
src/vs/base/browser/ui/splitview/splitview.ts
+8
-0
未找到文件。
src/vs/base/browser/ui/grid/gridview.ts
浏览文件 @
642fb946
...
...
@@ -121,6 +121,8 @@ interface ILayoutContext {
readonly
orthogonalSize
:
number
;
readonly
absoluteOffset
:
number
;
readonly
absoluteOrthogonalOffset
:
number
;
readonly
absoluteSize
:
number
;
readonly
absoluteOrthogonalSize
:
number
;
}
class
BranchNode
implements
ISplitView
<
ILayoutContext
>
,
IDisposable
{
...
...
@@ -238,7 +240,7 @@ class BranchNode implements ISplitView<ILayoutContext>, IDisposable {
if
(
!
childDescriptors
)
{
// Normal behavior, we have no children yet, just set up the splitview
this
.
splitview
=
new
SplitView
(
this
.
element
,
{
orientation
,
styles
,
proportionalLayout
});
this
.
splitview
.
layout
(
size
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
});
this
.
splitview
.
layout
(
size
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
,
absoluteSize
:
size
,
absoluteOrthogonalSize
:
orthogonalSize
});
}
else
{
// Reconstruction behavior, we want to reconstruct a splitview
const
descriptor
=
{
...
...
@@ -303,8 +305,14 @@ class BranchNode implements ISplitView<ILayoutContext>, IDisposable {
this
.
splitview
.
layout
(
ctx
.
orthogonalSize
,
{
orthogonalSize
:
size
,
absoluteOffset
:
this
.
absoluteOrthogonalOffset
,
absoluteOrthogonalOffset
:
this
.
absoluteOffset
absoluteOrthogonalOffset
:
this
.
absoluteOffset
,
absoluteSize
:
ctx
.
absoluteOrthogonalSize
,
absoluteOrthogonalSize
:
ctx
.
absoluteSize
});
// Disable snapping on views which sit on the edges of the grid
this
.
splitview
.
startSnappingEnabled
=
this
.
absoluteOrthogonalOffset
>
0
;
this
.
splitview
.
endSnappingEnabled
=
this
.
absoluteOrthogonalOffset
+
ctx
.
orthogonalSize
<
ctx
.
absoluteOrthogonalSize
;
}
setVisible
(
visible
:
boolean
):
void
{
...
...
@@ -751,7 +759,7 @@ export class GridView implements IDisposable {
const
{
size
,
orthogonalSize
}
=
this
.
_root
;
this
.
root
=
flipNode
(
this
.
_root
,
orthogonalSize
,
size
);
this
.
root
.
layout
(
size
,
0
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
});
this
.
root
.
layout
(
size
,
0
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
,
absoluteSize
:
size
,
absoluteOrthogonalSize
:
orthogonalSize
});
}
get
width
():
number
{
return
this
.
root
.
width
;
}
...
...
@@ -807,7 +815,7 @@ export class GridView implements IDisposable {
this
.
firstLayoutController
.
isLayoutEnabled
=
true
;
const
[
size
,
orthogonalSize
]
=
this
.
root
.
orientation
===
Orientation
.
HORIZONTAL
?
[
height
,
width
]
:
[
width
,
height
];
this
.
root
.
layout
(
size
,
0
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
});
this
.
root
.
layout
(
size
,
0
,
{
orthogonalSize
,
absoluteOffset
:
0
,
absoluteOrthogonalOffset
:
0
,
absoluteSize
:
size
,
absoluteOrthogonalSize
:
orthogonalSize
});
}
addView
(
view
:
IView
,
size
:
number
|
Sizing
,
location
:
number
[]):
void
{
...
...
src/vs/base/browser/ui/splitview/splitview.ts
浏览文件 @
642fb946
...
...
@@ -269,6 +269,10 @@ export class SplitView<TLayoutContext = undefined> extends Disposable {
private
_startSnappingEnabled
=
true
;
get
startSnappingEnabled
():
boolean
{
return
this
.
_startSnappingEnabled
;
}
set
startSnappingEnabled
(
startSnappingEnabled
:
boolean
)
{
if
(
this
.
_startSnappingEnabled
===
startSnappingEnabled
)
{
return
;
}
this
.
_startSnappingEnabled
=
startSnappingEnabled
;
this
.
updateSashEnablement
();
}
...
...
@@ -276,6 +280,10 @@ export class SplitView<TLayoutContext = undefined> extends Disposable {
private
_endSnappingEnabled
=
true
;
get
endSnappingEnabled
():
boolean
{
return
this
.
_endSnappingEnabled
;
}
set
endSnappingEnabled
(
endSnappingEnabled
:
boolean
)
{
if
(
this
.
_endSnappingEnabled
===
endSnappingEnabled
)
{
return
;
}
this
.
_endSnappingEnabled
=
endSnappingEnabled
;
this
.
updateSashEnablement
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录