Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
b05589b2
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
b05589b2
编写于
4月 16, 2017
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Content panel menu contribution refactoring
上级
39fc3497
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
87 addition
and
17 deletion
+87
-17
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+16
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/ViewValuePanel.java
...s/dbeaver/ui/controls/resultset/panel/ViewValuePanel.java
+15
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/ContentPanelEditor.java
...org/jkiss/dbeaver/ui/data/editors/ContentPanelEditor.java
+15
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/AbstractTextPanelEditor.java
...aver/ui/data/managers/stream/AbstractTextPanelEditor.java
+33
-7
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/TextPanelEditor.java
...kiss/dbeaver/ui/data/managers/stream/TextPanelEditor.java
+1
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/XMLPanelEditor.java
...jkiss/dbeaver/ui/data/managers/stream/XMLPanelEditor.java
+7
-2
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
b05589b2
...
...
@@ -944,8 +944,23 @@ public class ResultSetViewer extends Viewer
}
// Try to get it from adapter
if
(
activePresentation
instanceof
IAdaptable
)
{
return
((
IAdaptable
)
activePresentation
).
getAdapter
(
adapter
);
T
adapted
=
((
IAdaptable
)
activePresentation
).
getAdapter
(
adapter
);
if
(
adapted
!=
null
)
{
return
adapted
;
}
}
// FIXME: Not sure that we should adapt active panel. NOT TESTED YET
/*
if (getVisiblePanel() instanceof IAdaptable) {
CTabItem panelTab = panelFolder.getSelection();
if (panelTab != null && panelTab.getControl() != null && UIUtils.hasFocus(panelTab.getControl())) {
T adapted = ((IAdaptable) getVisiblePanel()).getAdapter(adapter);
if (adapted != null) {
return adapted;
}
}
}
*/
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/ViewValuePanel.java
浏览文件 @
b05589b2
...
...
@@ -16,6 +16,7 @@
*/
package
org.jkiss.dbeaver.ui.controls.resultset.panel
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionManager
;
import
org.eclipse.jface.action.Separator
;
...
...
@@ -59,7 +60,7 @@ import org.jkiss.utils.CommonUtils;
/**
* RSV value view panel
*/
public
class
ViewValuePanel
implements
IResultSetPanel
{
public
class
ViewValuePanel
implements
IResultSetPanel
,
IAdaptable
{
private
static
final
Log
log
=
Log
.
getLog
(
ViewValuePanel
.
class
);
...
...
@@ -379,4 +380,17 @@ public class ViewValuePanel implements IResultSetPanel {
});
}
@Override
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
if
(
valueEditor
!=
null
)
{
if
(
adapter
.
isAssignableFrom
(
valueEditor
.
getClass
()))
{
return
adapter
.
cast
(
valueEditor
);
}
if
(
valueEditor
instanceof
IAdaptable
)
{
return
((
IAdaptable
)
valueEditor
).
getAdapter
(
adapter
);
}
}
return
null
;
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/ContentPanelEditor.java
浏览文件 @
b05589b2
...
...
@@ -16,6 +16,7 @@
*/
package
org.jkiss.dbeaver.ui.data.editors
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionItem
;
import
org.eclipse.jface.action.IContributionManager
;
...
...
@@ -61,7 +62,7 @@ import java.util.List;
/**
* ControlPanelEditor
*/
public
class
ContentPanelEditor
extends
BaseValueEditor
<
Control
>
{
public
class
ContentPanelEditor
extends
BaseValueEditor
<
Control
>
implements
IAdaptable
{
private
static
final
Log
log
=
Log
.
getLog
(
ContentPanelEditor
.
class
);
...
...
@@ -193,6 +194,19 @@ public class ContentPanelEditor extends BaseValueEditor<Control> {
return
dsId
+
":"
+
valueId
;
}
@Override
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
if
(
streamEditor
!=
null
)
{
if
(
adapter
.
isAssignableFrom
(
streamEditor
.
getClass
()))
{
return
adapter
.
cast
(
streamEditor
);
}
if
(
streamEditor
instanceof
IAdaptable
)
{
return
((
IAdaptable
)
streamEditor
).
getAdapter
(
adapter
);
}
}
return
null
;
}
private
class
ContentTypeSwitchAction
extends
Action
implements
SelectionListener
{
private
Menu
menu
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/AbstractTextPanelEditor.java
浏览文件 @
b05589b2
...
...
@@ -16,9 +16,11 @@
*/
package
org.jkiss.dbeaver.ui.data.managers.stream
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionManager
;
import
org.eclipse.jface.action.Separator
;
import
org.eclipse.jface.text.source.ISourceViewer
;
import
org.eclipse.swt.custom.StyledText
;
import
org.eclipse.swt.widgets.Control
;
import
org.jkiss.code.NotNull
;
...
...
@@ -26,11 +28,12 @@ import org.jkiss.dbeaver.model.exec.DBCException;
import
org.jkiss.dbeaver.ui.controls.resultset.panel.ViewValuePanel
;
import
org.jkiss.dbeaver.ui.data.IStreamValueEditor
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.editors.text.BaseTextEditor
;
/**
* AbstractTextPanelEditor
*/
public
abstract
class
AbstractTextPanelEditor
implements
IStreamValueEditor
<
StyledText
>
{
public
abstract
class
AbstractTextPanelEditor
implements
IStreamValueEditor
<
StyledText
>
,
IAdaptable
{
public
static
final
String
PREF_TEXT_EDITOR_WORD_WRAP
=
"content.text.editor.word-wrap"
;
public
static
final
String
PREF_TEXT_EDITOR_AUTO_FORMAT
=
"content.text.editor.auto-format"
;
...
...
@@ -60,13 +63,15 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
manager
.
add
(
wwAction
);
}
{
BaseTextEditor
textEditor
=
getTextEditor
();
if
(
textEditor
!=
null
)
{
final
Action
afAction
=
new
Action
(
"Auto Format"
,
Action
.
AS_CHECK_BOX
)
{
@Override
public
void
run
()
{
boolean
newAF
=
!
ViewValuePanel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
);
setChecked
(
newAF
);
ViewValuePanel
.
getPanelSettings
().
put
(
PREF_TEXT_EDITOR_AUTO_FORMAT
,
newAF
);
applyEditorStyle
();
}
};
afAction
.
setChecked
(
ViewValuePanel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
));
...
...
@@ -74,12 +79,33 @@ public abstract class AbstractTextPanelEditor implements IStreamValueEditor<Styl
}
}
protected
void
setEditorSettings
(
Control
control
)
{
if
(
control
instanceof
StyledText
)
{
if
(
ViewValuePanel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_WORD_WRAP
))
{
((
StyledText
)
control
).
setWordWrap
(
true
);
}
protected
BaseTextEditor
getTextEditor
()
{
return
null
;
}
protected
void
initEditorSettings
(
StyledText
control
)
{
boolean
wwEnabled
=
ViewValuePanel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_WORD_WRAP
);
if
(
wwEnabled
!=
control
.
getWordWrap
())
{
control
.
setWordWrap
(
wwEnabled
);
}
}
protected
void
applyEditorStyle
()
{
BaseTextEditor
textEditor
=
getTextEditor
();
if
(
textEditor
!=
null
&&
ViewValuePanel
.
getPanelSettings
().
getBoolean
(
PREF_TEXT_EDITOR_AUTO_FORMAT
))
{
textEditor
.
getViewer
().
doOperation
(
ISourceViewer
.
FORMAT
);
}
}
@Override
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
BaseTextEditor
textEditor
=
getTextEditor
();
if
(
textEditor
!=
null
)
{
if
(
adapter
.
isAssignableFrom
(
textEditor
.
getClass
()))
{
return
adapter
.
cast
(
textEditor
);
}
return
textEditor
.
getAdapter
(
adapter
);
}
return
null
;
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/TextPanelEditor.java
浏览文件 @
b05589b2
...
...
@@ -16,19 +16,15 @@
*/
package
org.jkiss.dbeaver.ui.data.managers.stream
;
import
org.eclipse.jface.action.IContributionManager
;
import
org.eclipse.jface.resource.JFaceResources
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.custom.StyledText
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.data.DBDContent
;
import
org.jkiss.dbeaver.model.exec.DBCException
;
import
org.jkiss.dbeaver.model.impl.StringContentStorage
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.ui.data.IStreamValueEditor
;
import
org.jkiss.dbeaver.ui.data.IValueController
;
import
org.jkiss.dbeaver.ui.data.editors.ContentPanelEditor
;
import
org.jkiss.dbeaver.utils.ContentUtils
;
/**
...
...
@@ -42,7 +38,7 @@ public class TextPanelEditor extends AbstractTextPanelEditor {
StyledText
text
=
new
StyledText
(
valueController
.
getEditPlaceholder
(),
SWT
.
MULTI
|
SWT
.
V_SCROLL
);
text
.
setEditable
(!
valueController
.
isReadOnly
());
text
.
setFont
(
JFaceResources
.
getFont
(
JFaceResources
.
TEXT_FONT
));
se
tEditorSettings
(
text
);
ini
tEditorSettings
(
text
);
return
text
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/managers/stream/XMLPanelEditor.java
浏览文件 @
b05589b2
...
...
@@ -30,6 +30,7 @@ import org.jkiss.dbeaver.ui.data.IValueController;
import
org.jkiss.dbeaver.ui.editors.StringEditorInput
;
import
org.jkiss.dbeaver.ui.editors.SubEditorSite
;
import
org.jkiss.dbeaver.ui.editors.content.ContentEditorInput
;
import
org.jkiss.dbeaver.ui.editors.text.BaseTextEditor
;
import
org.jkiss.dbeaver.ui.editors.xml.XMLEditor
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
...
...
@@ -55,7 +56,7 @@ public class XMLPanelEditor extends AbstractTextPanelEditor {
return
new
StyledText
(
valueController
.
getEditPlaceholder
(),
SWT
.
NONE
);
}
editor
.
createPartControl
(
valueController
.
getEditPlaceholder
());
se
tEditorSettings
(
editor
.
getEditorControl
());
ini
tEditorSettings
(
editor
.
getEditorControl
());
return
editor
.
getEditorControl
();
}
...
...
@@ -67,6 +68,7 @@ public class XMLPanelEditor extends AbstractTextPanelEditor {
monitor
.
subTask
(
"Prime XML value"
);
IEditorInput
sqlInput
=
new
ContentEditorInput
(
valueController
,
null
,
null
,
monitor
);
editor
.
init
(
subSite
,
sqlInput
);
applyEditorStyle
();
}
catch
(
Exception
e
)
{
throw
new
DBException
(
"Can't load XML vaue"
,
e
);
}
finally
{
...
...
@@ -90,5 +92,8 @@ public class XMLPanelEditor extends AbstractTextPanelEditor {
}
}
@Override
protected
BaseTextEditor
getTextEditor
()
{
return
editor
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录