Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
72fec158
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
72fec158
编写于
8月 10, 2019
作者:
S
serge@jkiss.org
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#6484 Text editor context menu fix
上级
4062c718
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
40 addition
and
3 deletion
+40
-3
plugins/org.jkiss.dbeaver.ui.editors.base/src/org/jkiss/dbeaver/ui/controls/StyledTextUtils.java
...se/src/org/jkiss/dbeaver/ui/controls/StyledTextUtils.java
+2
-2
plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/data/managers/AbstractTextPanelEditor.java
...iss/dbeaver/ui/data/managers/AbstractTextPanelEditor.java
+38
-1
未找到文件。
plugins/org.jkiss.dbeaver.ui.editors.base/src/org/jkiss/dbeaver/ui/controls/StyledTextUtils.java
浏览文件 @
72fec158
...
@@ -85,7 +85,7 @@ public class StyledTextUtils {
...
@@ -85,7 +85,7 @@ public class StyledTextUtils {
menu
.
add
(
new
GroupMarker
(
"styled_text_additions"
));
menu
.
add
(
new
GroupMarker
(
"styled_text_additions"
));
}
}
p
rivate
static
class
StyledTextAction
extends
Action
{
p
ublic
static
class
StyledTextAction
extends
Action
{
private
final
StyledText
styledText
;
private
final
StyledText
styledText
;
private
final
int
action
;
private
final
int
action
;
public
StyledTextAction
(
String
actionId
,
boolean
enabled
,
StyledText
styledText
,
int
action
)
{
public
StyledTextAction
(
String
actionId
,
boolean
enabled
,
StyledText
styledText
,
int
action
)
{
...
@@ -102,7 +102,7 @@ public class StyledTextUtils {
...
@@ -102,7 +102,7 @@ public class StyledTextUtils {
}
}
}
}
p
rivate
static
class
StyledTextActionEx
extends
Action
{
p
ublic
static
class
StyledTextActionEx
extends
Action
{
public
StyledTextActionEx
(
String
actionId
,
int
style
)
{
public
StyledTextActionEx
(
String
actionId
,
int
style
)
{
super
(
ActionUtils
.
findCommandName
(
actionId
),
style
);
super
(
ActionUtils
.
findCommandName
(
actionId
),
style
);
this
.
setActionDefinitionId
(
actionId
);
this
.
setActionDefinitionId
(
actionId
);
...
...
plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/data/managers/AbstractTextPanelEditor.java
浏览文件 @
72fec158
...
@@ -26,11 +26,16 @@ import org.eclipse.jface.text.IUndoManager;
...
@@ -26,11 +26,16 @@ import org.eclipse.jface.text.IUndoManager;
import
org.eclipse.jface.text.TextViewer
;
import
org.eclipse.jface.text.TextViewer
;
import
org.eclipse.jface.text.source.ISourceViewer
;
import
org.eclipse.jface.text.source.ISourceViewer
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.custom.ST
;
import
org.eclipse.swt.custom.StyledText
;
import
org.eclipse.swt.custom.StyledText
;
import
org.eclipse.swt.graphics.Point
;
import
org.eclipse.ui.IEditorInput
;
import
org.eclipse.ui.IEditorInput
;
import
org.eclipse.ui.IEditorSite
;
import
org.eclipse.ui.IEditorSite
;
import
org.eclipse.ui.IWorkbenchCommandConstants
;
import
org.eclipse.ui.PartInitException
;
import
org.eclipse.ui.PartInitException
;
import
org.eclipse.ui.texteditor.FindReplaceAction
;
import
org.eclipse.ui.texteditor.ITextEditorActionConstants
;
import
org.eclipse.ui.texteditor.ITextEditorActionConstants
;
import
org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.Log
;
...
@@ -38,12 +43,14 @@ import org.jkiss.dbeaver.model.DBPMessageType;
...
@@ -38,12 +43,14 @@ import org.jkiss.dbeaver.model.DBPMessageType;
import
org.jkiss.dbeaver.model.data.DBDContent
;
import
org.jkiss.dbeaver.model.data.DBDContent
;
import
org.jkiss.dbeaver.model.impl.StringContentStorage
;
import
org.jkiss.dbeaver.model.impl.StringContentStorage
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.ui.ActionUtils
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.StyledTextUtils
;
import
org.jkiss.dbeaver.ui.controls.StyledTextUtils
;
import
org.jkiss.dbeaver.ui.data.IStreamValueEditor
;
import
org.jkiss.dbeaver.ui.data.IStreamValueEditor
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.editors.StringEditorInput
;
import
org.jkiss.dbeaver.ui.editors.StringEditorInput
;
import
org.jkiss.dbeaver.ui.editors.SubEditorSite
;
import
org.jkiss.dbeaver.ui.editors.SubEditorSite
;
import
org.jkiss.dbeaver.ui.editors.TextEditorUtils
;
import
org.jkiss.dbeaver.ui.editors.content.ContentEditorInput
;
import
org.jkiss.dbeaver.ui.editors.content.ContentEditorInput
;
import
org.jkiss.dbeaver.ui.editors.data.internal.DataEditorsActivator
;
import
org.jkiss.dbeaver.ui.editors.data.internal.DataEditorsActivator
;
import
org.jkiss.dbeaver.ui.editors.text.BaseTextEditor
;
import
org.jkiss.dbeaver.ui.editors.text.BaseTextEditor
;
...
@@ -89,8 +96,19 @@ public abstract class AbstractTextPanelEditor<EDITOR extends BaseTextEditor> imp
...
@@ -89,8 +96,19 @@ public abstract class AbstractTextPanelEditor<EDITOR extends BaseTextEditor> imp
protected
void
contributeTextEditorActions
(
@NotNull
IContributionManager
manager
,
@NotNull
final
StyledText
control
)
{
protected
void
contributeTextEditorActions
(
@NotNull
IContributionManager
manager
,
@NotNull
final
StyledText
control
)
{
manager
.
removeAll
();
manager
.
removeAll
();
StyledTextUtils
.
fillDefaultStyledTextContextMenu
(
manager
,
control
);
//StyledTextUtils.fillDefaultStyledTextContextMenu(manager, control);
final
Point
selectionRange
=
control
.
getSelectionRange
();
manager
.
add
(
new
StyledTextUtils
.
StyledTextAction
(
IWorkbenchCommandConstants
.
EDIT_COPY
,
selectionRange
.
y
>
0
,
control
,
ST
.
COPY
));
manager
.
add
(
new
StyledTextUtils
.
StyledTextAction
(
IWorkbenchCommandConstants
.
EDIT_PASTE
,
control
.
getEditable
(),
control
,
ST
.
PASTE
));
manager
.
add
(
new
StyledTextUtils
.
StyledTextAction
(
IWorkbenchCommandConstants
.
EDIT_CUT
,
selectionRange
.
y
>
0
,
control
,
ST
.
CUT
));
manager
.
add
(
new
StyledTextUtils
.
StyledTextAction
(
IWorkbenchCommandConstants
.
EDIT_SELECT_ALL
,
true
,
control
,
ST
.
SELECT_ALL
));
manager
.
add
(
new
AutoFormatAction
());
manager
.
add
(
new
AutoFormatAction
());
manager
.
add
(
new
WordWrapAction
(
control
));
manager
.
add
(
new
Separator
());
manager
.
add
(
TextEditorUtils
.
createFindReplaceAction
(
editor
.
getSite
().
getShell
(),
editor
.
getViewer
().
getFindReplaceTarget
()));
IAction
preferencesAction
=
editor
.
getAction
(
ITextEditorActionConstants
.
CONTEXT_PREFERENCES
);
IAction
preferencesAction
=
editor
.
getAction
(
ITextEditorActionConstants
.
CONTEXT_PREFERENCES
);
if
(
preferencesAction
!=
null
)
{
if
(
preferencesAction
!=
null
)
{
...
@@ -243,6 +261,25 @@ public abstract class AbstractTextPanelEditor<EDITOR extends BaseTextEditor> imp
...
@@ -243,6 +261,25 @@ public abstract class AbstractTextPanelEditor<EDITOR extends BaseTextEditor> imp
return
viewerSettings
;
return
viewerSettings
;
}
}
private
class
WordWrapAction
extends
StyledTextUtils
.
StyledTextActionEx
{
private
final
StyledText
text
;
WordWrapAction
(
StyledText
text
)
{
super
(
ITextEditorActionDefinitionIds
.
WORD_WRAP
,
Action
.
AS_CHECK_BOX
);
this
.
text
=
text
;
}
@Override
public
boolean
isChecked
()
{
return
text
.
getWordWrap
();
}
@Override
public
void
run
()
{
text
.
setWordWrap
(!
text
.
getWordWrap
());
}
}
private
class
AutoFormatAction
extends
Action
{
private
class
AutoFormatAction
extends
Action
{
AutoFormatAction
()
{
AutoFormatAction
()
{
super
(
"Auto Format"
,
Action
.
AS_CHECK_BOX
);
super
(
"Auto Format"
,
Action
.
AS_CHECK_BOX
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录