Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
1dbed733
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,发现更多精彩内容 >>
提交
1dbed733
编写于
9月 01, 2019
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Advanced list performance fix (lazy image loading)
Former-commit-id:
9b95dabb
上级
043592fa
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
18 deletion
+16
-18
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/finder/AdvancedListItem.java
...rg/jkiss/dbeaver/ui/controls/finder/AdvancedListItem.java
+15
-13
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/finder/viewer/AdvancedListViewer.java
...dbeaver/ui/controls/finder/viewer/AdvancedListViewer.java
+1
-5
未找到文件。
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/finder/AdvancedListItem.java
浏览文件 @
1dbed733
...
...
@@ -16,6 +16,8 @@
*/
package
org.jkiss.dbeaver.ui.controls.finder
;
import
org.eclipse.jface.viewers.ILabelProvider
;
import
org.eclipse.jface.viewers.IToolTipProvider
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.*
;
import
org.eclipse.swt.graphics.GC
;
...
...
@@ -24,8 +26,8 @@ import org.eclipse.swt.graphics.Point;
import
org.eclipse.swt.graphics.Rectangle
;
import
org.eclipse.swt.widgets.Canvas
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.css.CSSUtils
;
import
org.jkiss.utils.CommonUtils
;
/**
* AdvancedListItem
...
...
@@ -36,19 +38,21 @@ public class AdvancedListItem extends Canvas {
public
static
final
int
BORDER_MARGIN
=
5
;
private
final
AdvancedList
list
;
private
String
text
;
private
final
Image
icon
;
private
final
ILabelProvider
labelProvider
;
private
boolean
isHover
;
public
AdvancedListItem
(
AdvancedList
list
,
String
text
,
Image
icon
,
String
toolTip
)
{
public
AdvancedListItem
(
AdvancedList
list
,
Object
item
,
ILabelProvider
labelProvider
)
{
super
(
list
.
getContainer
(),
SWT
.
DOUBLE_BUFFERED
);
this
.
labelProvider
=
labelProvider
;
this
.
list
=
list
;
this
.
list
.
addItem
(
this
);
this
.
text
=
text
;
this
.
icon
=
icon
;
if
(
toolTip
!=
null
)
{
setToolTipText
(
toolTip
);
this
.
setData
(
item
);
if
(
labelProvider
instanceof
IToolTipProvider
)
{
String
toolTipText
=
((
IToolTipProvider
)
labelProvider
).
getToolTipText
(
item
);
if
(!
CommonUtils
.
isEmpty
(
toolTipText
))
{
setToolTipText
(
toolTipText
);
}
}
CSSUtils
.
setCSSClass
(
this
,
"Composite"
);
...
...
@@ -134,6 +138,7 @@ public class AdvancedListItem extends Canvas {
gc
.
fillRoundRectangle
(
0
,
0
,
itemSize
.
x
,
itemSize
.
y
,
5
,
5
);
}
Image
icon
=
labelProvider
.
getImage
(
getData
());
Rectangle
iconBounds
=
icon
.
getBounds
();
Point
imageSize
=
getList
().
getImageSize
();
...
...
@@ -145,6 +150,7 @@ public class AdvancedListItem extends Canvas {
gc
.
drawImage
(
icon
,
0
,
0
,
iconBounds
.
width
,
iconBounds
.
height
,
imgPosX
-
e
.
x
,
imgPosY
,
imageSize
.
x
,
imageSize
.
y
);
String
text
=
labelProvider
.
getText
(
getData
());
String
theText
=
text
;
int
divPos
=
theText
.
indexOf
(
'('
);
if
(
divPos
!=
-
1
&&
text
.
endsWith
(
")"
))
{
...
...
@@ -171,10 +177,6 @@ public class AdvancedListItem extends Canvas {
return
list
;
}
public
Image
getIcon
()
{
return
icon
;
}
public
boolean
isHover
()
{
return
isHover
;
}
...
...
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/finder/viewer/AdvancedListViewer.java
浏览文件 @
1dbed733
...
...
@@ -19,7 +19,6 @@ package org.jkiss.dbeaver.ui.controls.finder.viewer;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.events.SelectionAdapter
;
import
org.eclipse.swt.events.SelectionEvent
;
import
org.eclipse.swt.graphics.Image
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Control
;
import
org.eclipse.swt.widgets.Widget
;
...
...
@@ -104,10 +103,7 @@ public class AdvancedListViewer extends StructuredViewer {
elements
=
filter
.
filter
(
this
,
(
Object
)
null
,
elements
);
}
for
(
Object
item
:
elements
)
{
String
text
=
labelProvider
.
getText
(
item
);
Image
icon
=
labelProvider
.
getImage
(
item
);
String
toolTip
=
toolTipProvider
==
null
?
null
:
toolTipProvider
.
getToolTipText
(
item
);
AdvancedListItem
listItem
=
new
AdvancedListItem
(
control
,
text
,
icon
,
toolTip
);
AdvancedListItem
listItem
=
new
AdvancedListItem
(
control
,
item
,
labelProvider
);
listItem
.
setData
(
item
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录