diff options
author | Eike Stepper | 2022-07-06 06:10:48 +0000 |
---|---|---|
committer | Eike Stepper | 2022-07-06 06:10:48 +0000 |
commit | 7d9be8b4b1bac0ba2d2737693ed847e7ce7dcae9 (patch) | |
tree | 1256080e1946e4a31cbfbf61f3751b8e074ccbca /plugins | |
parent | e66175a8e3a10c20d9887ebb8a9cd2b0c206c2fb (diff) | |
download | cdo-7d9be8b4b1bac0ba2d2737693ed847e7ce7dcae9.tar.gz cdo-7d9be8b4b1bac0ba2d2737693ed847e7ce7dcae9.tar.xz cdo-7d9be8b4b1bac0ba2d2737693ed847e7ce7dcae9.zip |
[580343] Support customizeable structure providers for Net4j Introspector view
https://bugs.eclipse.org/bugs/show_bug.cgi?id=580343
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java index 6e4c3dafc9..408cd8e3d8 100644 --- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java @@ -98,10 +98,10 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS private IAction backAction = new BackAction(); - private IAction activePartAction = new ActivePartAction(); - private IAction logicalStructureAction = new LogicalStructureAction(); + private IAction activePartAction = new ActivePartAction(); + private IAction containerAction = new ContainerAction(); private IAction refreshAction = new RefreshAction(); @@ -490,6 +490,26 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS /** * @author Eike Stepper */ + private final class LogicalStructureAction extends Action + { + public LogicalStructureAction() + { + super(Messages.getString("Net4jIntrospectorView_30"), AS_CHECK_BOX); //$NON-NLS-1$ + setImageDescriptor(OM.getImageDescriptor("icons/logical_structure.png")); + setChecked(OM.PREF_LOGICAL_STRUCTURE.getValue()); + } + + @Override + public void run() + { + OM.PREF_LOGICAL_STRUCTURE.setValue(isChecked()); + updateProvider(getObject()); + } + } + + /** + * @author Eike Stepper + */ private final class ActivePartAction extends Action { public ActivePartAction() @@ -498,13 +518,13 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS setImageDescriptor(SharedIcons.getDescriptor(SharedIcons.ETOOL_PART_MODE)); setChecked(OM.PREF_ACTIVE_PART.getValue()); } - + @Override public void run() { boolean checked = isChecked(); OM.PREF_ACTIVE_PART.setValue(checked); - + if (checked) { elements.clear(); @@ -520,26 +540,6 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS /** * @author Eike Stepper */ - private final class LogicalStructureAction extends Action - { - public LogicalStructureAction() - { - super(Messages.getString("Net4jIntrospectorView_30"), AS_CHECK_BOX); //$NON-NLS-1$ - setImageDescriptor(OM.getImageDescriptor("icons/logical_structure.png")); - setChecked(OM.PREF_LOGICAL_STRUCTURE.getValue()); - } - - @Override - public void run() - { - OM.PREF_LOGICAL_STRUCTURE.setValue(isChecked()); - updateProvider(getObject()); - } - } - - /** - * @author Eike Stepper - */ private final class ContainerAction extends Action { public ContainerAction() @@ -696,61 +696,25 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS /** * @author Eike Stepper */ - public static final class ObjectIntrospectionProvider extends RowIntrospectionProvider - { - public ObjectIntrospectionProvider() - { - super("java.lang.Object", "Object"); - } - - @Override - public int getPriority() - { - return Integer.MAX_VALUE; - } - - @Override - public boolean canHandle(Object object) - { - return true; - } - - @Override - protected void fillRows(Object parent, List<Row> rows) throws Exception - { - for (Pair<Field, Object> pair : ReflectUtil.dumpToArray(parent)) - { - Field field = pair.getElement1(); - Object value = pair.getElement2(); - - rows.add(new Row(field.getName(), value, field.getType().getName(), - value == null ? Messages.getString("Net4jIntrospectorView_1") : value.getClass().getName())); - } - } - } - - /** - * @author Eike Stepper - */ public static final class ArrayIntrospectionProvider extends IntrospectionProvider { public ArrayIntrospectionProvider() { super("java.lang.Array", "Array"); } - + @Override public int getPriority() { return Integer.MAX_VALUE; } - + @Override public boolean canHandle(Object object) { return object.getClass().isArray(); } - + @Override public void createColumns(TableViewer viewer) { @@ -758,28 +722,28 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS createColumn(viewer, Messages.getString("Net4jIntrospectorView_14"), 400); //$NON-NLS-1$ createColumn(viewer, Messages.getString("Net4jIntrospectorView_15"), 300); //$NON-NLS-1$ } - + @Override public Object[] getElements(Object parent) throws Exception { if (parent instanceof Object[]) { Object[] array = (Object[])parent; - + @SuppressWarnings("unchecked") Pair<Integer, Object>[] result = new Pair[array.length]; - + for (int i = 0; i < array.length; i++) { result[i] = Pair.create(i, array[i]); } - + return result; } - + return null; } - + @Override public Object getObject(Object element) throws Exception { @@ -787,16 +751,16 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS Pair<Integer, Object> pair = (Pair<Integer, Object>)element; return pair.getElement2(); } - + @Override public String getColumnText(Object element, int index) throws Exception { @SuppressWarnings("unchecked") Pair<Integer, Object> pair = (Pair<Integer, Object>)element; - + int i = pair.getElement1(); Object value = pair.getElement2(); - + switch (index) { case 0: @@ -805,10 +769,46 @@ public class Net4jIntrospectorView extends ViewPart implements IPartListener, IS return value == null ? Messages.getString("Net4jIntrospectorView_24") : value.toString(); //$NON-NLS-1$ case 2: return value == null ? Messages.getString("Net4jIntrospectorView_25") : value.getClass().getName(); //$NON-NLS-1$ - + default: return null; } } } + + /** + * @author Eike Stepper + */ + public static final class ObjectIntrospectionProvider extends RowIntrospectionProvider + { + public ObjectIntrospectionProvider() + { + super("java.lang.Object", "Object"); + } + + @Override + public int getPriority() + { + return Integer.MAX_VALUE; + } + + @Override + public boolean canHandle(Object object) + { + return true; + } + + @Override + protected void fillRows(Object parent, List<Row> rows) throws Exception + { + for (Pair<Field, Object> pair : ReflectUtil.dumpToArray(parent)) + { + Field field = pair.getElement1(); + Object value = pair.getElement2(); + + rows.add(new Row(field.getName(), value, field.getType().getName(), + value == null ? Messages.getString("Net4jIntrospectorView_1") : value.getClass().getName())); + } + } + } } |