Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
bff78ef9
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,发现更多精彩内容 >>
提交
bff78ef9
编写于
6月 10, 2016
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
control drag hit zone
上级
f2573a2f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
55 addition
and
35 deletion
+55
-35
src/vs/workbench/browser/parts/editor/media/notabstitle.css
src/vs/workbench/browser/parts/editor/media/notabstitle.css
+0
-32
src/vs/workbench/browser/parts/editor/media/titlecontrol.css
src/vs/workbench/browser/parts/editor/media/titlecontrol.css
+35
-0
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
...workbench/browser/parts/editor/sideBySideEditorControl.ts
+8
-2
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
+5
-1
src/vs/workbench/browser/parts/editor/titleControl.ts
src/vs/workbench/browser/parts/editor/titleControl.ts
+7
-0
未找到文件。
src/vs/workbench/browser/parts/editor/media/notabstitle.css
浏览文件 @
bff78ef9
...
...
@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/* Title Container */
.monaco-workbench
>
.part.editor
>
.content
>
.one-editor-container
>
.title
{
...
...
@@ -107,35 +106,4 @@
.monaco-workbench
>
.part.editor
>
.content
>
.one-editor-container
>
.title
.title-actions
.action-label
.label
{
display
:
none
;
}
/* Drag Cursor */
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
.title-label
span
{
cursor
:
-webkit-grab
;
}
#monaco-workbench-editor-move-overlay
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
.title-label
span
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.monaco-editor
.view-lines
{
cursor
:
-webkit-grabbing
;
}
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
.title-label
span
{
cursor
:
url(data:;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAA//AAAd/wAAGf+AAAH9gAADbYAAA2yAAAZsAAAGbAAAAGAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//4AB//8AAf//AAD//5AA///gAP//4AD//8AF///AB///5A////5///8=)
,
auto
;
}
#monaco-workbench-editor-move-overlay-custom-drag-cursor
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
.title-label
span
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.monaco-editor
.view-lines
{
cursor
:
url(data:;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAAH/AAAB/wAAA/0AAANsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//+AB///wAf//4AH//+AD///yT/////////////////////////////8=)
,
auto
;
}
\ No newline at end of file
src/vs/workbench/browser/parts/editor/media/titlecontrol.css
0 → 100644
浏览文件 @
bff78ef9
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/* Drag Cursor */
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container
.title
.title-label
span
{
cursor
:
-webkit-grab
;
}
#monaco-workbench-editor-move-overlay
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.title
.title-label
span
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors
.one-editor-container.dragged
.monaco-editor
.view-lines
{
cursor
:
-webkit-grabbing
;
}
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container
.title
.title-label
span
{
cursor
:
url(data:;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAA//AAAd/wAAGf+AAAH9gAADbYAAA2yAAAZsAAAGbAAAAGAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//4AB//8AAf//AAD//5AA///gAP//4AD//8AF///AB///5A////5///8=)
,
auto
;
}
#monaco-workbench-editor-move-overlay-custom-drag-cursor
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
.title-label
a
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.title
.title-label
span
,
.monaco-workbench
>
.part.editor
>
.content.multiple-editors.custom-drag-cursor
.one-editor-container.dragged
.monaco-editor
.view-lines
{
cursor
:
url(data:;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAAH/AAAB/wAAA/0AAANsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//+AB///wAf//4AH//+AD///yT/////////////////////////////8=)
,
auto
;
}
\ No newline at end of file
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
浏览文件 @
bff78ef9
...
...
@@ -27,9 +27,12 @@ import {IInstantiationService} from 'vs/platform/instantiation/common/instantiat
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybindingService
'
;
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
TabsTitleControl
}
from
'
vs/workbench/browser/parts/editor/tabsTitleControl
'
;
import
{
NoTabsTitleControl
}
from
'
vs/workbench/browser/parts/editor/noTabsTitleControl
'
;
import
{
IEditorStacksModel
}
from
'
vs/workbench/common/editor
'
;
import
{
ITitleAreaControl
}
from
'
vs/workbench/browser/parts/editor/titleControl
'
;
const
useTabs
=
true
;
export
enum
Rochade
{
NONE
,
CENTER_TO_LEFT
,
...
...
@@ -699,7 +702,7 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
this
.
titleContainer
[
position
]
=
$
(
this
.
containers
[
position
]).
div
({
'
class
'
:
'
title
'
});
this
.
hookTitleDragListener
(
position
);
this
.
titleAreaControl
[
position
]
=
this
.
instantiationService
.
createInstance
(
TabsTitleControl
);
this
.
titleAreaControl
[
position
]
=
useTabs
?
this
.
instantiationService
.
createInstance
(
TabsTitleControl
)
:
this
.
instantiationService
.
createInstance
(
No
TabsTitleControl
);
this
.
titleAreaControl
[
position
].
create
(
$
(
this
.
titleContainer
[
position
]));
this
.
titleAreaControl
[
position
].
setContext
(
this
.
stacks
.
groupAt
(
position
));
});
...
...
@@ -721,12 +724,15 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
// Allow to reorder positions by dragging the title
this
.
titleContainer
[
position
].
on
(
DOM
.
EventType
.
MOUSE_DOWN
,
(
e
:
MouseEvent
)
=>
{
if
(
!
this
.
titleAreaControl
[
position
].
allowDragging
(
<
any
>
e
.
target
||
e
.
srcElement
))
{
return
;
// return early if we are not in the drag zone of the title widget
}
// Reset flag
wasDragged
=
false
;
// Return early if there is only one editor active or the user clicked into the toolbar
if
(
this
.
getVisibleEditorCount
()
<=
1
||
!!
DOM
.
findParentWithClass
((
<
any
>
e
.
target
||
e
.
srcElement
),
'
monaco-action-bar
'
,
'
one-editor-container
'
)
)
{
if
(
this
.
getVisibleEditorCount
()
<=
1
)
{
return
;
}
...
...
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
浏览文件 @
bff78ef9
...
...
@@ -76,6 +76,10 @@ export class TabsTitleControl extends TitleControl {
});
}
public
allowDragging
(
element
:
HTMLElement
):
boolean
{
return
(
element
.
className
===
'
tabs-container
'
);
}
public
refresh
():
void
{
if
(
!
this
.
context
)
{
return
;
...
...
@@ -121,7 +125,7 @@ export class TabsTitleControl extends TitleControl {
// Empty container first
this
.
tabsContainer
.
empty
();
while
(
this
.
tabActionBars
.
length
)
{
while
(
this
.
tabActionBars
.
length
)
{
this
.
tabActionBars
.
pop
().
dispose
();
}
...
...
src/vs/workbench/browser/parts/editor/titleControl.ts
浏览文件 @
bff78ef9
...
...
@@ -5,12 +5,14 @@
'
use strict
'
;
import
'
vs/css!./media/titlecontrol
'
;
import
nls
=
require
(
'
vs/nls
'
);
import
{
Registry
}
from
'
vs/platform/platform
'
;
import
{
Scope
,
IActionBarRegistry
,
Extensions
}
from
'
vs/workbench/browser/actionBarRegistry
'
;
import
{
IAction
,
Action
}
from
'
vs/base/common/actions
'
;
import
errors
=
require
(
'
vs/base/common/errors
'
);
import
{
Builder
}
from
'
vs/base/browser/builder
'
;
import
DOM
=
require
(
'
vs/base/browser/dom
'
);
import
{
BaseEditor
,
IEditorInputActionContext
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
RunOnceScheduler
}
from
'
vs/base/common/async
'
;
import
{
IEditorStacksModel
,
IEditorGroup
,
EditorInput
}
from
'
vs/workbench/common/editor
'
;
...
...
@@ -36,6 +38,7 @@ export interface IToolbarActions {
export
interface
ITitleAreaControl
{
setContext
(
group
:
IEditorGroup
):
void
;
allowDragging
(
element
:
HTMLElement
):
boolean
;
create
(
parent
:
Builder
):
void
;
refresh
():
void
;
dispose
():
void
;
...
...
@@ -87,6 +90,10 @@ export abstract class TitleControl {
public
abstract
refresh
();
public
allowDragging
(
element
:
HTMLElement
):
boolean
{
return
!
DOM
.
findParentWithClass
(
element
,
'
monaco-action-bar
'
,
'
one-editor-container
'
);
}
private
initActions
():
void
{
this
.
closeEditorAction
=
this
.
instantiationService
.
createInstance
(
CloseEditorAction
,
CloseEditorAction
.
ID
,
nls
.
localize
(
'
close
'
,
"
Close
"
));
this
.
showAllEditorsAction
=
this
.
instantiationService
.
createInstance
(
ShowAllEditorsAction
,
ShowAllEditorsAction
.
ID
,
nls
.
localize
(
'
showEditors
'
,
"
Show Editors
"
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录