Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
178d3afe
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,发现更多精彩内容 >>
提交
178d3afe
编写于
8月 21, 2019
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#6569 Project explorer columns visibility fix
上级
ae8bdec8
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
41 addition
and
33 deletion
+41
-33
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
...org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
+30
-14
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/project/ProjectExplorerView.java
...iss/dbeaver/ui/navigator/project/ProjectExplorerView.java
+11
-19
未找到文件。
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/controls/ViewerColumnController.java
浏览文件 @
178d3afe
...
...
@@ -61,6 +61,7 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
private
boolean
clickOnHeader
;
private
boolean
isPacking
,
isInitializing
;
private
DBIcon
defaultIcon
;
private
boolean
forceAutoSize
;
private
transient
Listener
menuListener
;
...
...
@@ -110,6 +111,10 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
return
clickOnHeader
;
}
public
void
setForceAutoSize
(
boolean
forceAutoSize
)
{
this
.
forceAutoSize
=
forceAutoSize
;
}
public
void
setDefaultIcon
(
DBIcon
defaultIcon
)
{
this
.
defaultIcon
=
defaultIcon
;
}
...
...
@@ -212,6 +217,9 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
}
}
createVisibleColumns
();
if
(
needRefresh
)
{
viewer
.
refresh
();
}
if
(
pack
&&
!
isAllSized
())
{
repackColumns
();
control
.
addControlListener
(
new
ControlAdapter
()
{
...
...
@@ -223,16 +231,12 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
}
}
});
}
if
(
needRefresh
&&
pack
)
{
viewer
.
refresh
();
if
(
needRefresh
||
!
isAllSized
())
{
for
(
ColumnInfo
columnInfo
:
getVisibleColumns
())
{
if
(
columnInfo
.
column
instanceof
TreeColumn
)
{
((
TreeColumn
)
columnInfo
.
column
).
pack
();
}
else
{
((
TableColumn
)
columnInfo
.
column
).
pack
();
}
}
else
if
(
needRefresh
&&
pack
)
{
for
(
ColumnInfo
columnInfo
:
getVisibleColumns
())
{
if
(
columnInfo
.
column
instanceof
TreeColumn
)
{
((
TreeColumn
)
columnInfo
.
column
).
pack
();
}
else
{
((
TableColumn
)
columnInfo
.
column
).
pack
();
}
}
}
...
...
@@ -265,10 +269,10 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
if
(((
TreeViewer
)
viewer
).
getTree
().
getColumnCount
()
==
2
)
{
ratios
=
new
float
[]{
0.6f
,
0.4f
};
}
UIUtils
.
packColumns
(((
TreeViewer
)
viewer
).
getTree
(),
f
als
e
,
ratios
);
UIUtils
.
packColumns
(((
TreeViewer
)
viewer
).
getTree
(),
f
orceAutoSiz
e
,
ratios
);
}
else
if
(
viewer
instanceof
TableViewer
)
{
itemCount
=
((
TableViewer
)
viewer
).
getTable
().
getItemCount
();
UIUtils
.
packColumns
(((
TableViewer
)
viewer
).
getTable
());
UIUtils
.
packColumns
(((
TableViewer
)
viewer
).
getTable
()
,
forceAutoSize
);
}
if
(
itemCount
==
0
)
{
...
...
@@ -293,6 +297,17 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
}
}
public
void
autoSizeColumns
()
{
UIUtils
.
asyncExec
(()
->
{
Control
control
=
this
.
viewer
.
getControl
();
if
(
control
instanceof
Tree
)
{
UIUtils
.
packColumns
((
Tree
)
control
,
true
,
null
);
}
else
if
(
control
instanceof
Table
)
{
UIUtils
.
packColumns
((
Table
)
control
,
true
);
}
});
}
public
void
sortByColumn
(
int
index
,
int
direction
)
{
final
ColumnInfo
columnInfo
=
columns
.
get
(
index
);
columnInfo
.
sortListener
.
sortViewer
(
columnInfo
.
column
,
direction
);
...
...
@@ -462,13 +477,14 @@ public class ViewerColumnController<COLUMN, ELEMENT> {
return
newArray
;
}
public
void
configureColumns
()
public
boolean
configureColumns
()
{
ConfigDialog
configDialog
=
new
ConfigDialog
();
if
(
configDialog
.
open
()
!=
IDialogConstants
.
OK_ID
)
{
return
;
return
false
;
}
saveColumnConfig
();
return
true
;
}
private
void
updateColumnOrder
(
Item
column
,
int
[]
order
)
{
...
...
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/project/ProjectExplorerView.java
浏览文件 @
178d3afe
...
...
@@ -45,8 +45,7 @@ import java.util.Date;
/**
* ProjectExplorerView
*/
public
class
ProjectExplorerView
extends
NavigatorViewBase
implements
DBPProjectListener
{
public
class
ProjectExplorerView
extends
NavigatorViewBase
implements
DBPProjectListener
{
//static final Log log = Log.getLog(ProjectExplorerView.class);
...
...
@@ -58,18 +57,15 @@ public class ProjectExplorerView extends NavigatorViewBase implements DBPProject
}
@Override
public
DBNNode
getRootNode
()
{
public
DBNNode
getRootNode
()
{
DBNProject
projectNode
=
getModel
().
getRoot
().
getProjectNode
(
DBWorkbench
.
getPlatform
().
getWorkspace
().
getActiveProject
());
return
projectNode
!=
null
?
projectNode
:
getModel
().
getRoot
();
}
@Override
public
void
createPartControl
(
Composite
parent
)
{
public
void
createPartControl
(
Composite
parent
)
{
super
.
createPartControl
(
parent
);
final
TreeViewer
viewer
=
getNavigatorViewer
();
assert
viewer
!=
null
;
viewer
.
getTree
().
setHeaderVisible
(
true
);
createColumns
(
viewer
);
UIUtils
.
setHelp
(
parent
,
IHelpContextIds
.
CTX_PROJECT_EXPLORER
);
...
...
@@ -83,12 +79,12 @@ public class ProjectExplorerView extends NavigatorViewBase implements DBPProject
updateTitle
();
}
private
void
createColumns
(
final
TreeViewer
viewer
)
{
private
void
createColumns
(
final
TreeViewer
viewer
)
{
final
Color
shadowColor
=
viewer
.
getControl
().
getDisplay
().
getSystemColor
(
SWT
.
COLOR_WIDGET_DARK_SHADOW
);
final
ILabelProvider
mainLabelProvider
=
(
ILabelProvider
)
viewer
.
getLabelProvider
();
columnController
=
new
ViewerColumnController
(
"projectExplorer"
,
viewer
);
columnController
.
setForceAutoSize
(
true
);
columnController
.
addColumn
(
"Name"
,
"Resource name"
,
SWT
.
LEFT
,
true
,
true
,
new
TreeColumnViewerLabelProvider
(
new
LabelProvider
()
{
@Override
public
String
getText
(
Object
element
)
{
...
...
@@ -192,18 +188,16 @@ public class ProjectExplorerView extends NavigatorViewBase implements DBPProject
return
""
;
}
}));
columnController
.
createColumns
(
false
);
UIUtils
.
asyncExec
(()
->
columnController
.
createColumns
(
true
)
);
}
@Override
protected
int
getTreeStyle
()
{
protected
int
getTreeStyle
()
{
return
super
.
getTreeStyle
()
|
SWT
.
FULL_SELECTION
;
}
@Override
public
void
dispose
()
{
public
void
dispose
()
{
DBWorkbench
.
getPlatform
().
getWorkspace
().
removeProjectListener
(
this
);
super
.
dispose
();
}
...
...
@@ -219,17 +213,15 @@ public class ProjectExplorerView extends NavigatorViewBase implements DBPProject
}
@Override
public
void
handleActiveProjectChange
(
DBPProject
oldValue
,
DBPProject
newValue
)
{
public
void
handleActiveProjectChange
(
DBPProject
oldValue
,
DBPProject
newValue
)
{
UIUtils
.
asyncExec
(()
->
{
getNavigatorTree
().
reloadTree
(
getRootNode
());
updateTitle
();
UIUtils
.
packColumns
(
getNavigatorTree
().
getViewer
().
getTree
(),
true
,
null
);
});
//columnController.autoSizeColumns();
}
private
void
updateTitle
()
{
private
void
updateTitle
()
{
setPartName
(
"Project - "
+
getRootNode
().
getNodeName
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录