Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
6b87fa05
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,发现更多精彩内容 >>
提交
6b87fa05
编写于
10月 05, 2016
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Metadata panel selection listener. RSV panels UI fix
Former-commit-id:
7e19c9e7
上级
85e7138f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
9 deletion
+37
-9
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+9
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/MetaDataPanel.java
...ss/dbeaver/ui/controls/resultset/panel/MetaDataPanel.java
+28
-7
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
6b87fa05
...
...
@@ -682,7 +682,14 @@ public class ResultSetViewer extends Viewer
}
}
}
if
(!
settings
.
enabledPanelIds
.
contains
(
settings
.
activePanelId
))
{
settings
.
activePanelId
=
null
;
}
if
(!
settings
.
enabledPanelIds
.
isEmpty
())
{
if
(
settings
.
activePanelId
==
null
)
{
// Set first panel active
settings
.
activePanelId
=
settings
.
enabledPanelIds
.
iterator
().
next
();
}
for
(
String
panelId
:
settings
.
enabledPanelIds
)
{
if
(!
CommonUtils
.
isEmpty
(
panelId
))
{
activatePanel
(
panelId
,
panelId
.
equals
(
settings
.
activePanelId
),
false
);
...
...
@@ -742,7 +749,7 @@ public class ResultSetViewer extends Viewer
if
(!
show
)
{
viewerSash
.
setMaximizedControl
(
presentationPanel
);
if
(
activePanelTab
!=
null
&&
UIUtils
.
hasFocus
(
activePanelTab
.
getControl
()))
{
if
(
activePanelTab
!=
null
&&
!
activePanelTab
.
getControl
().
isDisposed
()
&&
UIUtils
.
hasFocus
(
activePanelTab
.
getControl
()))
{
// Set focus to presentation
activePresentation
.
getControl
().
setFocus
();
}
...
...
@@ -754,7 +761,7 @@ public class ResultSetViewer extends Viewer
activePresentation
.
updateValueView
();
// Set focus to panel
if
(
activePanelTab
!=
null
&&
UIUtils
.
hasFocus
(
activePresentation
.
getControl
()))
{
if
(
activePanelTab
!=
null
&&
!
activePanelTab
.
getControl
().
isDisposed
()
&&
UIUtils
.
hasFocus
(
activePresentation
.
getControl
()))
{
activePanelTab
.
getControl
().
setFocus
();
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/MetaDataPanel.java
浏览文件 @
6b87fa05
...
...
@@ -20,6 +20,8 @@ package org.jkiss.dbeaver.ui.controls.resultset.panel;
import
org.eclipse.jface.action.ToolBarManager
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.DisposeEvent
;
import
org.eclipse.swt.events.DisposeListener
;
import
org.eclipse.swt.graphics.Color
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Control
;
...
...
@@ -56,6 +58,7 @@ public class MetaDataPanel implements IResultSetPanel {
private
MetaDataTable
attributeList
;
private
List
<
DBDAttributeBinding
>
curAttributes
;
private
Color
colorDisabled
;
private
transient
boolean
updateSelection
=
false
;
public
MetaDataPanel
()
{
}
...
...
@@ -86,23 +89,41 @@ public class MetaDataPanel implements IResultSetPanel {
@Override
public
void
selectionChanged
(
SelectionChangedEvent
event
)
{
DBDAttributeBinding
attr
=
getSelectedAttribute
();
if
(
attr
!=
null
)
{
if
(
attr
!=
null
&&
!
updateSelection
)
{
if
(
isAttributeVisible
(
attr
))
{
presentation
.
setCurrentAttribute
(
attr
);
updateSelection
=
true
;
try
{
presentation
.
setCurrentAttribute
(
attr
);
}
finally
{
updateSelection
=
false
;
}
}
}
}
});
if
(
this
.
presentation
instanceof
ISelectionProvider
)
{
((
ISelectionProvider
)
this
.
presentation
).
addSelectionChangedListener
(
new
ISelectionChangedListener
()
{
final
ISelectionChangedListener
listener
=
new
ISelectionChangedListener
()
{
@Override
public
void
selectionChanged
(
SelectionChangedEvent
event
)
{
DBDAttributeBinding
attr
=
presentation
.
getCurrentAttribute
();
if
(
attr
!=
null
&&
attr
!=
getSelectedAttribute
())
{
attributeList
.
getItemsViewer
().
setSelection
(
new
StructuredSelection
(
attr
));
if
(!
updateSelection
&&
MetaDataPanel
.
this
.
presentation
.
getController
().
getVisiblePanel
()
==
MetaDataPanel
.
this
)
{
DBDAttributeBinding
attr
=
presentation
.
getCurrentAttribute
();
if
(
attr
!=
null
&&
attr
!=
getSelectedAttribute
())
{
updateSelection
=
true
;
try
{
attributeList
.
getItemsViewer
().
setSelection
(
new
StructuredSelection
(
attr
));
}
finally
{
updateSelection
=
false
;
}
}
}
}
};
((
ISelectionProvider
)
this
.
presentation
).
addSelectionChangedListener
(
listener
);
attributeList
.
getControl
().
addDisposeListener
(
new
DisposeListener
()
{
@Override
public
void
widgetDisposed
(
DisposeEvent
e
)
{
((
ISelectionProvider
)
presentation
).
removeSelectionChangedListener
(
listener
);
}
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录