Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
d9860948
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,发现更多精彩内容 >>
提交
d9860948
编写于
6月 28, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Columns controller refactoring
Former-commit-id:
cf84cf94
上级
ac368ff6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
60 deletion
+51
-60
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
...org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
+8
-7
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
...jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
...re/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
+41
-52
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
浏览文件 @
d9860948
...
...
@@ -17,6 +17,7 @@
package
org.jkiss.dbeaver.ui.controls
;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionManager
;
import
org.eclipse.jface.action.IMenuManager
;
import
org.eclipse.jface.dialogs.IDialogConstants
;
import
org.eclipse.jface.viewers.*
;
...
...
@@ -29,10 +30,7 @@ import org.eclipse.swt.layout.GridData;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.ui.ILabelProviderEx
;
import
org.jkiss.dbeaver.ui.ILazyLabelProvider
;
import
org.jkiss.dbeaver.ui.UIIcon
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.*
;
import
org.jkiss.dbeaver.ui.dialogs.BaseDialog
;
import
org.jkiss.dbeaver.utils.RuntimeUtils
;
import
org.jkiss.utils.CommonUtils
;
...
...
@@ -106,9 +104,12 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
return
clickOnHeader
;
}
public
void
fillConfigMenu
(
I
Menu
Manager
menuManager
)
public
void
fillConfigMenu
(
I
Contribution
Manager
menuManager
)
{
menuManager
.
add
(
new
Action
(
"Configure columns ..."
)
{
menuManager
.
add
(
new
Action
(
CoreMessages
.
obj_editor_properties_control_action_configure_columns
,
DBeaverIcons
.
getImageDescriptor
(
UIIcon
.
CONFIGURATION
))
{
{
setDescription
(
CoreMessages
.
obj_editor_properties_control_action_configure_columns_description
);
}
@Override
public
void
run
()
{
...
...
@@ -119,7 +120,7 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
public
void
addColumn
(
String
name
,
String
description
,
int
style
,
boolean
defaultVisible
,
boolean
required
,
IColumnTextProvider
<
ELEMENT
>
labelProvider
)
{
addColumn
(
name
,
description
,
style
,
defaultVisible
,
required
,
false
,
null
,
new
C
ell
LabelProvider
()
{
addColumn
(
name
,
description
,
style
,
defaultVisible
,
required
,
false
,
null
,
new
C
olumn
LabelProvider
()
{
@Override
public
void
update
(
ViewerCell
cell
)
{
cell
.
setText
(
labelProvider
.
getText
((
ELEMENT
)
cell
.
getElement
()));
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
浏览文件 @
d9860948
...
...
@@ -710,7 +710,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
protected
void
createColumn
(
ObjectPropertyDescriptor
prop
)
{
ObjectColumn
objectColumn
=
null
;
for
(
ObjectColumn
col
:
columnController
.
<
ObjectColumn
>
getColumnsData
(
ObjectColumn
.
class
))
{
for
(
ObjectColumn
col
:
columnController
.
getColumnsData
(
ObjectColumn
.
class
))
{
if
(
CommonUtils
.
equalObjects
(
col
.
id
,
prop
.
getId
())
||
CommonUtils
.
equalObjects
(
col
.
displayName
,
prop
.
getDisplayName
()))
{
objectColumn
=
col
;
break
;
...
...
@@ -1174,6 +1174,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
}
protected
void
addColumnConfigAction
(
IContributionManager
contributionManager
)
{
// Create lazy action here because columnController might be not instantiated yet
Action
configColumnsAction
=
new
Action
(
CoreMessages
.
obj_editor_properties_control_action_configure_columns
,
DBeaverIcons
.
getImageDescriptor
(
UIIcon
.
CONFIGURATION
))
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
浏览文件 @
d9860948
...
...
@@ -21,8 +21,6 @@ import org.eclipse.core.resources.IResource;
import
org.eclipse.jface.action.*
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.dnd.*
;
import
org.eclipse.swt.events.DisposeEvent
;
import
org.eclipse.swt.events.DisposeListener
;
import
org.eclipse.swt.events.MenuEvent
;
import
org.eclipse.swt.events.MenuListener
;
import
org.eclipse.swt.widgets.Control
;
...
...
@@ -182,71 +180,62 @@ public class NavigatorUtils {
}
}
});
menuMgr
.
addMenuListener
(
new
IMenuListener
()
{
@Override
public
void
menuAboutToShow
(
final
IMenuManager
manager
)
{
ViewerColumnController
columnController
=
ViewerColumnController
.
getFromControl
(
control
);
if
(
columnController
!=
null
&&
columnController
.
isClickOnHeader
())
{
columnController
.
fillConfigMenu
(
manager
);
manager
.
add
(
new
Separator
());
return
;
}
menuMgr
.
addMenuListener
(
manager
->
{
ViewerColumnController
columnController
=
ViewerColumnController
.
getFromControl
(
control
);
if
(
columnController
!=
null
&&
columnController
.
isClickOnHeader
())
{
columnController
.
fillConfigMenu
(
manager
);
manager
.
add
(
new
Separator
());
return
;
}
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_NAVIGATOR_ADDITIONS
));
final
IStructuredSelection
selection
=
(
IStructuredSelection
)
viewer
.
getSelection
();
final
DBNNode
selectedNode
=
getSelectedNode
(
viewer
);
if
(
selectedNode
!=
null
&&
!
selectedNode
.
isLocked
()
&&
workbenchSite
!=
null
)
{
// Add "Set active object" menu
if
(
selectedNode
.
isPersisted
()
&&
selectedNode
instanceof
DBNDatabaseNode
&&
!(
selectedNode
instanceof
DBNDatabaseFolder
)
&&
((
DBNDatabaseNode
)
selectedNode
).
getObject
()
!=
null
)
{
final
DBSObjectSelector
activeContainer
=
DBUtils
.
getParentAdapter
(
DBSObjectSelector
.
class
,
((
DBNDatabaseNode
)
selectedNode
).
getObject
());
if
(
activeContainer
!=
null
&&
activeContainer
.
supportsDefaultChange
())
{
DBSObject
activeChild
;
activeChild
=
activeContainer
.
getDefaultObject
();
if
(
activeChild
!=
((
DBNDatabaseNode
)
selectedNode
).
getObject
())
{
DBNDatabaseNode
databaseNode
=
(
DBNDatabaseNode
)
selectedNode
;
if
(
databaseNode
.
getObject
()
!=
null
&&
(
activeChild
==
null
||
activeChild
.
getClass
()
==
databaseNode
.
getObject
().
getClass
()))
{
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
CoreCommands
.
CMD_OBJECT_SET_ACTIVE
));
}
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_NAVIGATOR_ADDITIONS
));
final
IStructuredSelection
selection
=
(
IStructuredSelection
)
viewer
.
getSelection
();
final
DBNNode
selectedNode
=
getSelectedNode
(
viewer
);
if
(
selectedNode
!=
null
&&
!
selectedNode
.
isLocked
()
&&
workbenchSite
!=
null
)
{
// Add "Set active object" menu
if
(
selectedNode
.
isPersisted
()
&&
selectedNode
instanceof
DBNDatabaseNode
&&
!(
selectedNode
instanceof
DBNDatabaseFolder
)
&&
((
DBNDatabaseNode
)
selectedNode
).
getObject
()
!=
null
)
{
final
DBSObjectSelector
activeContainer
=
DBUtils
.
getParentAdapter
(
DBSObjectSelector
.
class
,
((
DBNDatabaseNode
)
selectedNode
).
getObject
());
if
(
activeContainer
!=
null
&&
activeContainer
.
supportsDefaultChange
())
{
DBSObject
activeChild
;
activeChild
=
activeContainer
.
getDefaultObject
();
if
(
activeChild
!=
((
DBNDatabaseNode
)
selectedNode
).
getObject
())
{
DBNDatabaseNode
databaseNode
=
(
DBNDatabaseNode
)
selectedNode
;
if
(
databaseNode
.
getObject
()
!=
null
&&
(
activeChild
==
null
||
activeChild
.
getClass
()
==
databaseNode
.
getObject
().
getClass
()))
{
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
CoreCommands
.
CMD_OBJECT_SET_ACTIVE
));
}
}
}
}
manager
.
add
(
new
Separator
());
manager
.
add
(
new
Separator
());
manager
.
add
(
new
GroupMarker
(
IWorkbenchActionConstants
.
MB_ADDITIONS
));
manager
.
add
(
new
GroupMarker
(
IActionConstants
.
MB_ADDITIONS_END
));
manager
.
add
(
new
GroupMarker
(
IWorkbenchActionConstants
.
MB_ADDITIONS
));
manager
.
add
(
new
GroupMarker
(
IActionConstants
.
MB_ADDITIONS_END
));
// Add properties button
if
(
PreferencesUtil
.
hasPropertiesContributors
(
selection
.
getFirstElement
()))
{
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
IWorkbenchCommandConstants
.
FILE_PROPERTIES
));
}
// Add properties button
if
(
PreferencesUtil
.
hasPropertiesContributors
(
selection
.
getFirstElement
()))
{
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
IWorkbenchCommandConstants
.
FILE_PROPERTIES
));
}
if
(
selectedNode
.
isPersisted
())
{
// Add refresh button
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
IWorkbenchCommandConstants
.
FILE_REFRESH
));
}
if
(
selectedNode
.
isPersisted
())
{
// Add refresh button
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
workbenchSite
,
IWorkbenchCommandConstants
.
FILE_REFRESH
));
}
}
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_TOOLS
));
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_TOOLS_END
));
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_TOOLS
));
manager
.
add
(
new
GroupMarker
(
CoreCommands
.
GROUP_TOOLS_END
));
if
(
menuListener
!=
null
)
{
menuListener
.
menuAboutToShow
(
manager
);
}
if
(
menuListener
!=
null
)
{
menuListener
.
menuAboutToShow
(
manager
);
}
});
menuMgr
.
setRemoveAllWhenShown
(
true
);
control
.
setMenu
(
menu
);
control
.
addDisposeListener
(
new
DisposeListener
()
{
@Override
public
void
widgetDisposed
(
DisposeEvent
e
)
{
menuMgr
.
dispose
();
}
});
control
.
addDisposeListener
(
e
->
menuMgr
.
dispose
());
return
menuMgr
;
}
...
...
@@ -343,7 +332,7 @@ public class NavigatorUtils {
});
DropTarget
dropTarget
=
new
DropTarget
(
viewer
.
getControl
(),
DND
.
DROP_MOVE
);
dropTarget
.
setTransfer
(
new
Transfer
[]
{
TreeNodeTransfer
.
getInstance
()}
);
dropTarget
.
setTransfer
(
TreeNodeTransfer
.
getInstance
()
);
dropTarget
.
addDropListener
(
new
DropTargetListener
()
{
@Override
public
void
dragEnter
(
DropTargetEvent
event
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录