Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
51cce0fb
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,发现更多精彩内容 >>
提交
51cce0fb
编写于
12月 24, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OLC refactoring
上级
f5bdd944
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
56 addition
and
10 deletion
+56
-10
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ViewerColumnController.java
...core/src/org/jkiss/dbeaver/ui/ViewerColumnController.java
+31
-4
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
...jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
+25
-6
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ViewerColumnController.java
浏览文件 @
51cce0fb
...
...
@@ -104,12 +104,32 @@ public class ViewerColumnController {
}
public
void
addColumn
(
String
name
,
String
description
,
int
style
,
boolean
defaultVisible
,
boolean
required
,
CellLabelProvider
labelProvider
)
{
addColumn
(
name
,
description
,
style
,
defaultVisible
,
required
,
null
,
labelProvider
,
null
);
}
public
void
addColumn
(
String
name
,
String
description
,
int
style
,
boolean
defaultVisible
,
boolean
required
,
Object
userData
,
CellLabelProvider
labelProvider
,
EditingSupport
editingSupport
)
{
columns
.
add
(
new
ColumnInfo
(
name
,
description
,
style
,
defaultVisible
,
required
,
labelProvider
,
columns
.
size
()));
new
ColumnInfo
(
name
,
description
,
style
,
defaultVisible
,
required
,
userData
,
labelProvider
,
editingSupport
,
columns
.
size
()));
}
public
void
clearColumns
()
{
for
(
ColumnInfo
columnInfo
:
columns
)
{
if
(
columnInfo
.
column
!=
null
)
{
columnInfo
.
column
.
dispose
();
columnInfo
.
column
=
null
;
}
}
columns
.
clear
();
}
...
...
@@ -188,8 +208,10 @@ public class ViewerColumnController {
boolean
hasLazyColumns
=
false
;
for
(
final
ColumnInfo
columnInfo
:
getVisibleColumns
())
{
final
Item
colItem
;
ViewerColumn
viewerColumn
;
if
(
viewer
instanceof
TreeViewer
)
{
final
TreeViewerColumn
item
=
new
TreeViewerColumn
((
TreeViewer
)
viewer
,
columnInfo
.
style
);
viewerColumn
=
item
;
final
TreeColumn
column
=
item
.
getColumn
();
colItem
=
column
;
column
.
setText
(
columnInfo
.
name
);
...
...
@@ -198,7 +220,6 @@ public class ViewerColumnController {
if
(!
CommonUtils
.
isEmpty
(
columnInfo
.
description
))
{
column
.
setToolTipText
(
columnInfo
.
description
);
}
item
.
setLabelProvider
(
columnInfo
.
labelProvider
);
column
.
addControlListener
(
new
ControlAdapter
()
{
@Override
public
void
controlResized
(
ControlEvent
e
)
...
...
@@ -210,6 +231,7 @@ public class ViewerColumnController {
columnInfo
.
column
=
column
;
}
else
if
(
viewer
instanceof
TableViewer
)
{
final
TableViewerColumn
item
=
new
TableViewerColumn
((
TableViewer
)
viewer
,
columnInfo
.
style
);
viewerColumn
=
item
;
final
TableColumn
column
=
item
.
getColumn
();
colItem
=
column
;
column
.
setText
(
columnInfo
.
name
);
...
...
@@ -218,7 +240,6 @@ public class ViewerColumnController {
if
(!
CommonUtils
.
isEmpty
(
columnInfo
.
description
))
{
column
.
setToolTipText
(
columnInfo
.
description
);
}
item
.
setLabelProvider
(
columnInfo
.
labelProvider
);
column
.
addControlListener
(
new
ControlAdapter
()
{
@Override
public
void
controlResized
(
ControlEvent
e
)
...
...
@@ -231,6 +252,8 @@ public class ViewerColumnController {
}
else
{
continue
;
}
viewerColumn
.
setLabelProvider
(
columnInfo
.
labelProvider
);
viewerColumn
.
setEditingSupport
(
columnInfo
.
editingSupport
);
colItem
.
setData
(
columnInfo
);
if
(
columnInfo
.
labelProvider
instanceof
ILazyLabelProvider
)
{
hasLazyColumns
=
true
;
...
...
@@ -329,7 +352,9 @@ public class ViewerColumnController {
final
int
style
;
final
boolean
defaultVisible
;
final
boolean
required
;
final
Object
userData
;
final
CellLabelProvider
labelProvider
;
final
EditingSupport
editingSupport
;
boolean
visible
;
int
order
;
...
...
@@ -337,15 +362,17 @@ public class ViewerColumnController {
Item
column
;
SortListener
sortListener
;
private
ColumnInfo
(
String
name
,
String
description
,
int
style
,
boolean
defaultVisible
,
boolean
required
,
CellLabelProvider
labelProvider
,
int
order
)
private
ColumnInfo
(
String
name
,
String
description
,
int
style
,
boolean
defaultVisible
,
boolean
required
,
Object
userData
,
CellLabelProvider
labelProvider
,
EditingSupport
editingSupport
,
int
order
)
{
this
.
name
=
name
;
this
.
description
=
description
;
this
.
style
=
style
;
this
.
defaultVisible
=
defaultVisible
;
this
.
required
=
required
;
this
.
userData
=
userData
;
this
.
visible
=
defaultVisible
;
this
.
labelProvider
=
labelProvider
;
this
.
editingSupport
=
editingSupport
;
this
.
order
=
order
;
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/ObjectListControl.java
浏览文件 @
51cce0fb
...
...
@@ -36,6 +36,7 @@ import org.jkiss.code.Nullable;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.DBConstants
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.IDataSourceContainerProvider
;
...
...
@@ -63,7 +64,6 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
private
static
final
Log
log
=
Log
.
getLog
(
ObjectListControl
.
class
);
private
final
static
LazyValue
DEF_LAZY_VALUE
=
new
LazyValue
(
"..."
);
//$NON-NLS-1$
private
final
static
String
DATA_OBJECT_COLUMN
=
"objectColumn"
;
//$NON-NLS-1$
private
final
static
int
LAZY_LOAD_DELAY
=
100
;
private
final
static
Object
NULL_VALUE
=
new
Object
();
...
...
@@ -189,9 +189,15 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
setInfo
(
status
);
}
});
}
// Columns controller
columnController
=
new
ViewerColumnController
(
"NodeList"
,
getItemsViewer
());
/**
* Usd to save/load columns configuration.
* Must depend on object types
*/
@NotNull
protected
String
getListTypeId
()
{
return
getClass
().
getSimpleName
();
}
protected
int
getDefaultListStyle
()
{
...
...
@@ -354,13 +360,14 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
if
(
itemsControl
.
isDisposed
())
{
return
;
}
columnController
.
clearColumns
();
itemsControl
.
setRedraw
(
false
);
try
{
final
boolean
reload
=
!
append
&&
(
objectList
==
null
)
||
(
columns
.
isEmpty
());
if
(
reload
)
{
clearListData
();
columnController
=
new
ViewerColumnController
(
getListTypeId
(),
getItemsViewer
());
}
{
...
...
@@ -482,6 +489,11 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
public
void
clearListData
()
{
if
(
columnController
!=
null
)
{
columnController
.
clearColumns
();
columnController
=
null
;
}
for
(
ObjectColumn
column
:
columns
)
{
column
.
item
.
dispose
();
}
...
...
@@ -753,10 +765,17 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
objectColumn
=
new
ObjectColumn
(
newColumn
,
columnItem
,
prop
.
getId
(),
prop
.
getDisplayName
());
objectColumn
.
addProperty
(
propClass
,
prop
);
this
.
columns
.
add
(
objectColumn
);
columnItem
.
setData
(
DATA_OBJECT_COLUMN
,
objectColumn
);
// Add column in controller
columnController
.
addColumn
(
prop
.
getDisplayName
(),
prop
.
getDescription
(),
numeric
?
SWT
.
RIGHT
:
SWT
.
NONE
,
true
,
false
,
labelProvider
);
columnController
.
addColumn
(
prop
.
getDisplayName
(),
prop
.
getDescription
(),
numeric
?
SWT
.
RIGHT
:
SWT
.
NONE
,
prop
.
isViewable
(),
prop
.
getId
().
equals
(
DBConstants
.
PROP_ID_NAME
),
objectColumn
,
labelProvider
,
editingSupport
);
}
else
{
objectColumn
.
addProperty
(
propClass
,
prop
);
String
oldTitle
=
objectColumn
.
item
.
getText
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录