Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
b52caaea
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,发现更多精彩内容 >>
提交
b52caaea
编写于
5月 04, 2021
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbeaver/dbeaver-ee#587 ERD property viewer
Former-commit-id:
3fa82efc
上级
d4425464
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
57 addition
and
8 deletion
+57
-8
plugins/org.jkiss.dbeaver.erd.model/src/org/jkiss/dbeaver/erd/model/ERDObject.java
....erd.model/src/org/jkiss/dbeaver/erd/model/ERDObject.java
+3
-1
plugins/org.jkiss.dbeaver.erd.ui/src/org/jkiss/dbeaver/erd/ui/editor/ERDEditorPart.java
...ui/src/org/jkiss/dbeaver/erd/ui/editor/ERDEditorPart.java
+2
-1
plugins/org.jkiss.dbeaver.erd.ui/src/org/jkiss/dbeaver/erd/ui/part/PropertyAwarePart.java
.../src/org/jkiss/dbeaver/erd/ui/part/PropertyAwarePart.java
+29
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/properties/ObjectPropertyDescriptor.java
.../dbeaver/runtime/properties/ObjectPropertyDescriptor.java
+5
-1
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/CustomCheckboxCellEditor.java
...g/jkiss/dbeaver/ui/controls/CustomCheckboxCellEditor.java
+3
-1
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/PropertyPageStandard.java
...c/org/jkiss/dbeaver/ui/controls/PropertyPageStandard.java
+7
-1
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/properties/PropertyDescriptorDelegate.java
...iss/dbeaver/ui/properties/PropertyDescriptorDelegate.java
+1
-1
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/properties/PropertyEditorUtils.java
.../org/jkiss/dbeaver/ui/properties/PropertyEditorUtils.java
+7
-1
未找到文件。
plugins/org.jkiss.dbeaver.erd.model/src/org/jkiss/dbeaver/erd/model/ERDObject.java
浏览文件 @
b52caaea
...
...
@@ -89,7 +89,9 @@ public abstract class ERDObject<OBJECT> implements IAdaptable, DBPNamedObject {
@Override
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
if
(
adapter
==
DBPPropertySource
.
class
)
{
return
adapter
.
cast
(
new
PropertyCollector
(
object
,
false
));
PropertyCollector
propertyCollector
=
new
PropertyCollector
(
object
,
false
);
propertyCollector
.
collectProperties
();
return
adapter
.
cast
(
propertyCollector
);
}
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.erd.ui/src/org/jkiss/dbeaver/erd/ui/editor/ERDEditorPart.java
浏览文件 @
b52caaea
...
...
@@ -88,6 +88,7 @@ import org.jkiss.dbeaver.runtime.DBWorkbench;
import
org.jkiss.dbeaver.ui.*
;
import
org.jkiss.dbeaver.ui.controls.ProgressLoaderVisualizer
;
import
org.jkiss.dbeaver.ui.controls.ProgressPageControl
;
import
org.jkiss.dbeaver.ui.controls.PropertyPageStandard
;
import
org.jkiss.dbeaver.ui.dialogs.DialogUtils
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseModellerEditor
;
import
org.jkiss.dbeaver.ui.navigator.actions.ToggleViewAction
;
...
...
@@ -281,7 +282,7 @@ public abstract class ERDEditorPart extends GraphicalEditorWithFlyoutPalette
}
else
if
(
adapter
==
ActionRegistry
.
class
)
{
return
getActionRegistry
();
}
else
if
(
adapter
==
IPropertySheetPage
.
class
)
{
return
getPropertySheetPage
();
return
new
PropertyPageStandard
();
}
else
if
(
adapter
==
IContentOutlinePage
.
class
)
{
return
getOverviewOutlinePage
();
}
else
if
(
adapter
==
ZoomManager
.
class
)
{
...
...
plugins/org.jkiss.dbeaver.erd.ui/src/org/jkiss/dbeaver/erd/ui/part/PropertyAwarePart.java
浏览文件 @
b52caaea
...
...
@@ -24,6 +24,7 @@ import org.eclipse.gef.EditPart;
import
org.eclipse.gef.GraphicalEditPart
;
import
org.eclipse.gef.editparts.AbstractGraphicalEditPart
;
import
org.eclipse.ui.IEditorInput
;
import
org.eclipse.ui.views.properties.IPropertySource
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.erd.model.ERDObject
;
...
...
@@ -32,7 +33,11 @@ import org.jkiss.dbeaver.erd.ui.editor.ERDGraphicalViewer;
import
org.jkiss.dbeaver.erd.ui.model.EntityDiagram
;
import
org.jkiss.dbeaver.model.DBPNamedObject
;
import
org.jkiss.dbeaver.model.edit.DBECommandContext
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.runtime.properties.PropertyCollector
;
import
org.jkiss.dbeaver.runtime.properties.PropertySourceEditable
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput
;
import
org.jkiss.dbeaver.ui.properties.PropertySourceDelegate
;
import
java.beans.PropertyChangeEvent
;
import
java.beans.PropertyChangeListener
;
...
...
@@ -319,5 +324,28 @@ public abstract class PropertyAwarePart extends AbstractGraphicalEditPart implem
refreshVisuals
();
}
@Override
public
Object
getAdapter
(
Class
key
)
{
if
(
key
==
IPropertySource
.
class
)
{
Object
model
=
getModel
();
if
(
model
instanceof
ERDObject
)
{
Object
object
=
((
ERDObject
)
model
).
getObject
();
if
(
object
instanceof
DBSObject
)
{
if
(
isEditEnabled
())
{
DBECommandContext
commandContext
=
getCommandContext
();
if
(
commandContext
!=
null
)
{
PropertySourceEditable
pse
=
new
PropertySourceEditable
(
commandContext
,
object
,
object
);
pse
.
collectProperties
();
return
new
PropertySourceDelegate
(
pse
);
}
}
PropertyCollector
propertyCollector
=
new
PropertyCollector
(
object
,
false
);
propertyCollector
.
collectProperties
();
return
new
PropertySourceDelegate
(
propertyCollector
);
}
}
return
null
;
}
return
super
.
getAdapter
(
key
);
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/properties/ObjectPropertyDescriptor.java
浏览文件 @
b52caaea
...
...
@@ -438,9 +438,9 @@ public class ObjectPropertyDescriptor extends ObjectAttributeDescriptor implemen
// Use void monitor because this object already read by readValue
object
=
getParent
().
getGroupObject
(
object
,
new
VoidProgressMonitor
());
}
final
Class
<?>
argType
=
setter
.
getParameterTypes
()[
0
];
if
(
value
==
null
)
{
// Check for primitive argument
final
Class
<?>
argType
=
setter
.
getParameterTypes
()[
0
];
if
(
argType
==
Integer
.
TYPE
)
{
value
=
0
;
}
else
if
(
argType
==
Short
.
TYPE
)
{
...
...
@@ -456,6 +456,10 @@ public class ObjectPropertyDescriptor extends ObjectAttributeDescriptor implemen
}
else
if
(
argType
==
Character
.
TYPE
)
{
value
=
' '
;
}
}
else
{
if
(
argType
==
Boolean
.
TYPE
||
argType
==
Boolean
.
class
&&
!(
value
instanceof
Boolean
))
{
value
=
CommonUtils
.
toBoolean
(
value
);
}
}
setter
.
invoke
(
object
,
value
);
}
else
{
...
...
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/CustomCheckboxCellEditor.java
浏览文件 @
b52caaea
...
...
@@ -39,9 +39,11 @@ public class CustomCheckboxCellEditor extends CellEditor {
private
Label
checkBox
;
private
boolean
checked
;
private
boolean
isPropertySheet
;
public
CustomCheckboxCellEditor
(
Composite
parent
)
{
public
CustomCheckboxCellEditor
(
Composite
parent
,
int
style
,
boolean
isPropertySheet
)
{
this
(
parent
,
SWT
.
NONE
);
this
.
isPropertySheet
=
isPropertySheet
;
}
public
CustomCheckboxCellEditor
(
Composite
parent
,
int
style
)
{
...
...
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/controls/PropertyPageStandard.java
浏览文件 @
b52caaea
...
...
@@ -16,6 +16,7 @@
*/
package
org.jkiss.dbeaver.ui.controls
;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.eclipse.jface.viewers.ISelection
;
import
org.eclipse.jface.viewers.IStructuredSelection
;
import
org.eclipse.ui.IWorkbenchPart
;
...
...
@@ -132,7 +133,12 @@ public class PropertyPageStandard extends PropertySheetPage implements ILazyProp
for
(
PropertySourceCache
cache
:
curSelection
)
{
if
(
cache
.
object
==
object
)
{
if
(!
cache
.
cached
)
{
cache
.
propertySource
=
RuntimeUtils
.
getObjectAdapter
(
object
,
IPropertySource
.
class
);
if
(
object
instanceof
IAdaptable
)
{
cache
.
propertySource
=
((
IAdaptable
)
object
).
getAdapter
(
IPropertySource
.
class
);
}
if
(
cache
.
propertySource
==
null
)
{
cache
.
propertySource
=
RuntimeUtils
.
getObjectAdapter
(
object
,
IPropertySource
.
class
);
}
cache
.
cached
=
true
;
}
return
cache
.
propertySource
;
...
...
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/properties/PropertyDescriptorDelegate.java
浏览文件 @
b52caaea
...
...
@@ -78,7 +78,7 @@ public class PropertyDescriptorDelegate implements IPropertyDescriptor
if
(!
delegate
.
isEditable
(
propSource
.
getEditableValue
()))
{
return
null
;
}
return
PropertyEditorUtils
.
createCellEditor
(
parent
,
propSource
.
getEditableValue
(),
delegate
,
SWT
.
NONE
);
return
PropertyEditorUtils
.
createCellEditor
(
parent
,
propSource
.
getEditableValue
(),
delegate
,
SWT
.
SHEET
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/ui/properties/PropertyEditorUtils.java
浏览文件 @
b52caaea
...
...
@@ -61,6 +61,8 @@ public class PropertyEditorUtils {
public
static
CellEditor
createCellEditor
(
Composite
parent
,
Object
object
,
DBPPropertyDescriptor
property
,
int
style
)
{
boolean
isPropertySheet
=
(
style
&
SWT
.
SHEET
)
!=
0
;
style
&=
~
SWT
.
SHEET
;
// List
if
(
property
instanceof
IPropertyValueListProvider
)
{
final
IPropertyValueListProvider
listProvider
=
(
IPropertyValueListProvider
)
property
;
...
...
@@ -93,7 +95,11 @@ public class PropertyEditorUtils {
setValidator
(
editor
,
property
,
object
);
return
editor
;
}
else
if
(
BeanUtils
.
isBooleanType
(
propertyType
))
{
return
new
CustomCheckboxCellEditor
(
parent
,
style
);
if
(
isPropertySheet
)
{
return
new
CustomComboBoxCellEditor
(
parent
,
new
String
[]
{
Boolean
.
TRUE
.
toString
(),
Boolean
.
FALSE
.
toString
()}
,
SWT
.
DROP_DOWN
|
SWT
.
READ_ONLY
);
}
else
{
return
new
CustomCheckboxCellEditor
(
parent
,
style
);
}
//return new CheckboxCellEditor(parent);
}
else
if
(
propertyType
.
isEnum
())
{
final
Object
[]
enumConstants
=
propertyType
.
getEnumConstants
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录