Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
f1950228
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,发现更多精彩内容 >>
提交
f1950228
编写于
2月 11, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#2619 RSV drop-down filter UI fix
Former-commit-id:
67eb3e03
上级
a0ea0730
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
49 addition
and
16 deletion
+49
-16
plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
...ns/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
+2
-0
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+5
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
...beaver/ui/controls/resultset/ResultSetCommandHandler.java
+8
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+32
-15
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/valuefilter/FilterValueEditPopup.java
.../controls/resultset/valuefilter/FilterValueEditPopup.java
+2
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
浏览文件 @
f1950228
...
...
@@ -280,6 +280,8 @@ command.org.jkiss.dbeaver.core.resultset.cell.save.name=Apply cell value
command.org.jkiss.dbeaver.core.resultset.cell.save.description
=
Apply cell value
command.org.jkiss.dbeaver.core.resultset.filterMenu.name
=
Filter menu
command.org.jkiss.dbeaver.core.resultset.filterMenu.description
=
Filter context menu
command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.name
=
Filter by value
command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.description
=
Filter by unique attribute values
command.org.jkiss.dbeaver.core.resultset.referencesMenu.name
=
Referencing tables
command.org.jkiss.dbeaver.core.resultset.referencesMenu.description
=
Tables referencing current table (with foreign keys)
command.org.jkiss.dbeaver.core.resultset.toggleOrder.name
=
Toggle results soft order
...
...
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
f1950228
...
...
@@ -323,6 +323,7 @@
<command
id=
"org.jkiss.dbeaver.core.resultset.grid.copyColumnNames"
name=
"%command.org.jkiss.dbeaver.core.resultset.grid.copyColumnNames.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.grid.copyColumnNames.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.grid.copyRowNames"
name=
"%command.org.jkiss.dbeaver.core.resultset.grid.copyRowNames.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.grid.copyRowNames.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.filterMenu"
name=
"%command.org.jkiss.dbeaver.core.resultset.filterMenu.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.filterMenu.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.filterMenu.distinct"
name=
"%command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.referencesMenu"
name=
"%command.org.jkiss.dbeaver.core.resultset.referencesMenu.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.referencesMenu.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.toggleOrder"
name=
"%command.org.jkiss.dbeaver.core.resultset.toggleOrder.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.toggleOrder.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
<command
id=
"org.jkiss.dbeaver.core.resultset.export"
name=
"%command.org.jkiss.dbeaver.core.resultset.export.name"
description=
"%command.org.jkiss.dbeaver.core.resultset.export.description"
categoryId=
"org.jkiss.dbeaver.core.rs"
/>
...
...
@@ -1368,6 +1369,9 @@
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.filterMenu"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetCommandHandler"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.filterMenu.distinct"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetCommandHandler"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.resultset.referencesMenu"
class=
"org.jkiss.dbeaver.ui.controls.resultset.ResultSetCommandHandler"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.core.ui.resultset.part"
/></activeWhen>
</handler>
...
...
@@ -2491,6 +2495,7 @@
<key
commandId=
"org.jkiss.dbeaver.core.resultset.switchPresentation"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+`"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.navigateLink"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"ALT+SPACE"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.filterMenu"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"F11"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.filterMenu.distinct"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+F11"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.referencesMenu"
contextId=
"org.jkiss.dbeaver.ui.context.resultset.focused"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+ARROW_DOWN"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.referencesMenu"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+1"
/>
<key
commandId=
"org.jkiss.dbeaver.core.resultset.toggleOrder"
contextId=
"org.jkiss.dbeaver.ui.context.resultset"
schemeId=
"org.eclipse.ui.defaultAcceleratorConfiguration"
sequence=
"CTRL+2"
/>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
浏览文件 @
f1950228
...
...
@@ -100,6 +100,7 @@ public class ResultSetCommandHandler extends AbstractHandler {
public
static
final
String
CMD_GENERATE_SCRIPT
=
"org.jkiss.dbeaver.core.resultset.generateScript"
;
public
static
final
String
CMD_NAVIGATE_LINK
=
"org.jkiss.dbeaver.core.resultset.navigateLink"
;
public
static
final
String
CMD_FILTER_MENU
=
"org.jkiss.dbeaver.core.resultset.filterMenu"
;
public
static
final
String
CMD_FILTER_MENU_DISTINCT
=
"org.jkiss.dbeaver.core.resultset.filterMenu.distinct"
;
public
static
final
String
CMD_REFERENCES_MENU
=
"org.jkiss.dbeaver.core.resultset.referencesMenu"
;
public
static
final
String
CMD_COPY_COLUMN_NAMES
=
"org.jkiss.dbeaver.core.resultset.grid.copyColumnNames"
;
public
static
final
String
CMD_COPY_ROW_NAMES
=
"org.jkiss.dbeaver.core.resultset.grid.copyRowNames"
;
...
...
@@ -409,6 +410,13 @@ public class ResultSetCommandHandler extends AbstractHandler {
rsv
.
showFiltersMenu
();
break
;
}
case
CMD_FILTER_MENU_DISTINCT:
{
DBDAttributeBinding
curAttribute
=
rsv
.
getActivePresentation
().
getCurrentAttribute
();
if
(
curAttribute
!=
null
)
{
rsv
.
showFiltersDistinctMenu
(
curAttribute
,
true
);
}
break
;
}
case
CMD_REFERENCES_MENU:
{
rsv
.
showReferencesMenu
();
break
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
f1950228
...
...
@@ -1590,16 +1590,25 @@ public class ResultSetViewer extends Viewer
}
@Override
public
void
showDistinctFilter
(
DBDAttributeBinding
curAttribute
)
{
Collection
<
ResultSetRow
>
selectedRows
=
getSelection
().
getSelectedRows
();
ResultSetRow
[]
rows
=
selectedRows
.
toArray
(
new
ResultSetRow
[
selectedRows
.
size
()]);
FilterValueEditPopup
menu
=
new
FilterValueEditPopup
(
getSite
().
getShell
(),
ResultSetViewer
.
this
,
curAttribute
,
rows
);
Point
location
=
getSite
().
getWorkbenchWindow
().
getWorkbench
().
getDisplay
().
getCursorLocation
();
public
void
showDistinctFilter
(
DBDAttributeBinding
curAttribute
)
{
showFiltersDistinctMenu
(
curAttribute
,
false
);
}
void
showFiltersDistinctMenu
(
DBDAttributeBinding
curAttribute
,
boolean
atKeyboardCursor
)
{
Collection
<
ResultSetRow
>
selectedRows
=
getSelection
().
getSelectedRows
();
ResultSetRow
[]
rows
=
selectedRows
.
toArray
(
new
ResultSetRow
[
selectedRows
.
size
()]);
menu
.
setLocation
(
location
);
FilterValueEditPopup
menu
=
new
FilterValueEditPopup
(
getSite
().
getShell
(),
ResultSetViewer
.
this
,
curAttribute
,
rows
);
Point
location
;
if
(
atKeyboardCursor
)
{
location
=
getKeyboardCursorLocation
();
}
else
{
location
=
getSite
().
getWorkbenchWindow
().
getWorkbench
().
getDisplay
().
getCursorLocation
();
}
if
(
location
!=
null
)
{
menu
.
setLocation
(
location
);
}
if
(
menu
.
open
()
==
IDialogConstants
.
OK_ID
)
{
Object
value
=
menu
.
getValue
();
...
...
@@ -1626,16 +1635,22 @@ public class ResultSetViewer extends Viewer
}
private
void
showContextMenuAtCursor
(
MenuManager
menuManager
)
{
Point
location
=
getKeyboardCursorLocation
();
if
(
location
!=
null
)
{
final
Menu
contextMenu
=
menuManager
.
createContextMenu
(
getActivePresentation
().
getControl
());
contextMenu
.
setLocation
(
location
);
contextMenu
.
setVisible
(
true
);
}
}
@Nullable
private
Point
getKeyboardCursorLocation
()
{
Control
control
=
getActivePresentation
().
getControl
();
Point
cursorLocation
=
getActivePresentation
().
getCursorLocation
();
if
(
cursorLocation
==
null
)
{
return
;
return
null
;
}
Point
location
=
control
.
getDisplay
().
map
(
control
,
null
,
cursorLocation
);
final
Menu
contextMenu
=
menuManager
.
createContextMenu
(
control
);
contextMenu
.
setLocation
(
location
);
contextMenu
.
setVisible
(
true
);
return
control
.
getDisplay
().
map
(
control
,
null
,
cursorLocation
);
}
@Override
...
...
@@ -2049,6 +2064,8 @@ public class ResultSetViewer extends Viewer
private
void
fillFiltersMenu
(
@NotNull
DBDAttributeBinding
attribute
,
@NotNull
IMenuManager
filtersMenu
)
{
if
(
supportsDataFilter
())
{
filtersMenu
.
add
(
ActionUtils
.
makeCommandContribution
(
site
,
ResultSetCommandHandler
.
CMD_FILTER_MENU_DISTINCT
));
//filtersMenu.add(new FilterByListAction(operator, type, attribute));
DBCLogicalOperator
[]
operators
=
attribute
.
getValueHandler
().
getSupportedOperators
(
attribute
);
// Operators with multiple inputs
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/valuefilter/FilterValueEditPopup.java
浏览文件 @
f1950228
...
...
@@ -139,13 +139,14 @@ public class FilterValueEditPopup extends Dialog {
Text
filterTextbox
=
filter
.
addFilterTextbox
(
group
);
filterTextbox
.
setFocus
();
filterTextbox
.
addTraverseListener
(
e
->
{
if
(
e
.
detail
==
SWT
.
TRAVERSE_ARROW_PREVIOUS
)
{
if
(
e
.
detail
==
SWT
.
TRAVERSE_ARROW_PREVIOUS
||
e
.
detail
==
SWT
.
TRAVERSE_ARROW_NEXT
)
{
if
(
table
.
getSelectionIndex
()
<
0
&&
table
.
getItemCount
()
>
0
)
{
table
.
setSelection
(
0
);
}
table
.
setFocus
();
}
});
filterTextbox
.
addFocusListener
(
focusListener
);
}
else
{
table
.
setFocus
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录