Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
89b611e5
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,发现更多精彩内容 >>
提交
89b611e5
编写于
6月 04, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#3550 Object searcher fix (NPE). Search in property tree.
上级
92a3fdcb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
58 addition
and
5 deletion
+58
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ObjectEditorPageControl.java
...rg/jkiss/dbeaver/ui/controls/ObjectEditorPageControl.java
+19
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/properties/TabbedFolderPageProperties.java
...editors/entity/properties/TabbedFolderPageProperties.java
+19
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
...c/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
+20
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ObjectEditorPageControl.java
浏览文件 @
89b611e5
...
...
@@ -27,6 +27,7 @@ import org.jkiss.dbeaver.model.edit.DBEObjectManager;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry
;
import
org.jkiss.dbeaver.ui.ISearchExecutor
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditor
;
public
class
ObjectEditorPageControl
extends
ProgressPageControl
{
...
...
@@ -101,6 +102,24 @@ public class ObjectEditorPageControl extends ProgressPageControl {
}
}
@Override
protected
ISearchExecutor
getSearchRunner
()
{
ISearchExecutor
searchRunner
=
super
.
getSearchRunner
();
if
(
searchRunner
!=
null
)
{
return
searchRunner
;
}
return
new
ISearchExecutor
()
{
@Override
public
boolean
performSearch
(
String
searchString
,
int
options
)
{
return
false
;
}
@Override
public
void
cancelSearch
()
{
}
};
}
/*
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/properties/TabbedFolderPageProperties.java
浏览文件 @
89b611e5
...
...
@@ -22,10 +22,7 @@ import org.eclipse.core.runtime.Status;
import
org.eclipse.jface.action.Action
;
import
org.eclipse.jface.action.IContributionManager
;
import
org.eclipse.jface.action.IMenuManager
;
import
org.eclipse.jface.viewers.ColumnLabelProvider
;
import
org.eclipse.jface.viewers.IFontProvider
;
import
org.eclipse.jface.viewers.ISelection
;
import
org.eclipse.jface.viewers.IStructuredSelection
;
import
org.eclipse.jface.viewers.*
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.events.FocusEvent
;
import
org.eclipse.swt.events.FocusListener
;
...
...
@@ -42,6 +39,7 @@ import org.jkiss.dbeaver.model.DBPEvent;
import
org.jkiss.dbeaver.model.DBPEventListener
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.preferences.DBPPreferenceStore
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertySource
;
...
...
@@ -163,7 +161,7 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
}
}
private
class
PropertiesPageControl
extends
ProgressPageControl
implements
ILazyPropertyLoadListener
{
private
class
PropertiesPageControl
extends
ProgressPageControl
implements
ILazyPropertyLoadListener
,
ISearchExecutor
{
PropertiesPageControl
(
Composite
parent
)
{
super
(
parent
,
SWT
.
SHEET
);
...
...
@@ -215,6 +213,11 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
});
}
@Override
protected
ISearchExecutor
getSearchRunner
()
{
return
this
;
}
@Override
protected
void
fillCustomActions
(
IContributionManager
contributionManager
)
{
super
.
fillCustomActions
(
contributionManager
);
...
...
@@ -239,6 +242,17 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
}
}
@Override
public
boolean
performSearch
(
String
searchString
,
int
options
)
{
propertyTree
.
setFilters
(
new
PropertyTreeViewer
.
NodeFilter
(
searchString
));
propertyTree
.
expandAll
();
return
propertyTree
.
getTree
().
getItemCount
()
>
0
;
}
@Override
public
void
cancelSearch
()
{
propertyTree
.
resetFilters
();
}
}
private
boolean
isAttached
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java
浏览文件 @
89b611e5
...
...
@@ -701,6 +701,26 @@ public class PropertyTreeViewer extends TreeViewer {
}
}
public
static
class
NodeFilter
extends
ViewerFilter
{
private
final
String
searchString
;
public
NodeFilter
(
String
searchString
)
{
this
.
searchString
=
searchString
.
toUpperCase
(
Locale
.
ENGLISH
);
}
@Override
public
boolean
select
(
Viewer
viewer
,
Object
parentElement
,
Object
element
)
{
if
(
element
instanceof
TreeNode
)
{
DBPPropertyDescriptor
property
=
((
TreeNode
)
element
).
property
;
if
(
property
!=
null
)
{
return
property
.
getDisplayName
().
toUpperCase
(
Locale
.
ENGLISH
).
contains
(
searchString
);
}
else
if
(((
TreeNode
)
element
).
category
!=
null
)
{
return
true
;
}
}
return
false
;
}
}
class
PropsContentProvider
implements
IStructuredContentProvider
,
ITreeContentProvider
{
@Override
public
void
inputChanged
(
Viewer
v
,
Object
oldInput
,
Object
newInput
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录