提交 52b5e0a0 编写于 作者: J jurgen

Properties model refactoring (get rid of jface)

Former-commit-id: 92f2993a
上级 c433c2e4
......@@ -43,10 +43,7 @@ import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.controls.ObjectViewerRenderer;
import org.jkiss.dbeaver.ui.controls.ProgressPageControl;
import org.jkiss.dbeaver.ui.properties.DataSourcePropertyFilter;
import org.jkiss.dbeaver.ui.properties.ObjectAttributeDescriptor;
import org.jkiss.dbeaver.ui.properties.ObjectPropertyDescriptor;
import org.jkiss.dbeaver.ui.properties.PropertySourceAbstract;
import org.jkiss.dbeaver.ui.properties.*;
import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
......@@ -368,7 +365,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
}
}
IFilter propertyFilter = new DataSourcePropertyFilter(
IPropertyFilter propertyFilter = new DataSourcePropertyFilter(
ObjectListControl.this instanceof IDataSourceContainerProvider ?
((IDataSourceContainerProvider)ObjectListControl.this).getDataSourceContainer() :
null);
......
......@@ -17,17 +17,17 @@
*/
package org.jkiss.dbeaver.ui.properties;
import org.eclipse.jface.viewers.IFilter;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.DBPPropertyDescriptor;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
/**
* Datasource property filter
*/
public class DataSourcePropertyFilter implements IFilter {
public class DataSourcePropertyFilter implements IPropertyFilter {
private final boolean showExpensive;
......@@ -49,7 +49,7 @@ public class DataSourcePropertyFilter implements IFilter {
}
@Override
public boolean select(Object toTest)
public boolean select(DBPPropertyDescriptor toTest)
{
if (toTest instanceof ObjectPropertyDescriptor) {
ObjectPropertyDescriptor prop = (ObjectPropertyDescriptor)toTest;
......
......@@ -17,19 +17,14 @@
*/
package org.jkiss.dbeaver.ui.properties;
import org.eclipse.jface.viewers.IFilter;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.jkiss.dbeaver.model.DBPPropertyDescriptor;
/**
* Standard filter for property view
* Interface for filters. Can accept or reject items.
*/
public class PropertyViewFilter implements IFilter {
public static final PropertyViewFilter INSTANCE = new PropertyViewFilter();
@Override
public boolean select(Object toTest)
{
return toTest instanceof IPropertyDescriptor && !"name".equals(((IPropertyDescriptor)toTest).getId());
}
public interface IPropertyFilter {
/**
* Determines if the given property passes this filter.
*/
boolean select(DBPPropertyDescriptor toTest);
}
......@@ -17,7 +17,6 @@
*/
package org.jkiss.dbeaver.ui.properties;
import org.eclipse.jface.viewers.IFilter;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPropertySource;
......@@ -152,14 +151,14 @@ public abstract class ObjectAttributeDescriptor {
public static List<ObjectPropertyDescriptor> extractAnnotations(
DBPPropertySource source,
Class<?> theClass,
IFilter filter)
IPropertyFilter filter)
{
List<ObjectPropertyDescriptor> annoProps = new ArrayList<ObjectPropertyDescriptor>();
extractAnnotations(source, null, theClass, annoProps, filter);
return annoProps;
}
static void extractAnnotations(DBPPropertySource source, ObjectPropertyGroupDescriptor parent, Class<?> theClass, List<ObjectPropertyDescriptor> annoProps, IFilter filter)
static void extractAnnotations(DBPPropertySource source, ObjectPropertyGroupDescriptor parent, Class<?> theClass, List<ObjectPropertyDescriptor> annoProps, IPropertyFilter filter)
{
Method[] methods = theClass.getMethods();
for (Method method : methods) {
......
......@@ -17,7 +17,6 @@
*/
package org.jkiss.dbeaver.ui.properties;
import org.eclipse.jface.viewers.IFilter;
import org.jkiss.dbeaver.model.DBPPropertySource;
import org.jkiss.dbeaver.model.meta.PropertyGroup;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
......@@ -41,7 +40,7 @@ public class ObjectPropertyGroupDescriptor extends ObjectAttributeDescriptor
ObjectPropertyGroupDescriptor parent,
Method getter,
PropertyGroup groupInfo,
IFilter filter)
IPropertyFilter filter)
{
super(source, parent, getter, groupInfo.id(), groupInfo.order());
this.groupInfo = groupInfo;
......
......@@ -40,7 +40,7 @@ public class PropertyDescriptorDelegate implements IPropertyDescriptor
@Override
public CellEditor createPropertyEditor(Composite parent) {
return UIUtils.createCellEditor(parent, propSource, source);
return UIUtils.createCellEditor(parent, propSource.getEditableValue(), source);
}
@Override
......
......@@ -19,7 +19,6 @@ package org.jkiss.dbeaver.ui.properties;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.viewers.IFilter;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.core.Log;
......@@ -285,7 +284,7 @@ public abstract class PropertySourceAbstract implements DBPPropertySource, IProp
propValues.clear();
final Object editableValue = getEditableValue();
IFilter filter;
IPropertyFilter filter;
if (editableValue instanceof DBSObject) {
filter = new DataSourcePropertyFilter(((DBSObject) editableValue).getDataSource());
} else if (editableValue instanceof DBPContextProvider) {
......
......@@ -17,10 +17,6 @@
*/
package org.jkiss.dbeaver.ui.properties;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.model.DBPPropertyDescriptor;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册