Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2015-02-09 14:01:47 +0000
committerEike Stepper2015-02-09 14:02:37 +0000
commit692936559e9d95c053e64fc3cd759cce45b754e0 (patch)
treed839aea9198a65da42b5a4647d177eb91dbdd75a
parent63c78cb19b9c03961d5929aeefb535b7b578f33f (diff)
downloadcdo-692936559e9d95c053e64fc3cd759cce45b754e0.tar.gz
cdo-692936559e9d95c053e64fc3cd759cce45b754e0.tar.xz
cdo-692936559e9d95c053e64fc3cd759cce45b754e0.zip
[458349] Consolidate UI
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458349
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoriesView.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoryItemProvider.java27
-rw-r--r--plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/ContainerView.java31
3 files changed, 58 insertions, 5 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoriesView.java b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoriesView.java
index d3c03de08f..04fa5d5cb4 100644
--- a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoriesView.java
+++ b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoriesView.java
@@ -18,7 +18,6 @@ import org.eclipse.emf.cdo.explorer.ui.repositories.wizards.NewRepositoryWizard;
import org.eclipse.emf.cdo.internal.explorer.repositories.CDORepositoryManagerImpl;
import org.eclipse.net4j.util.container.IContainer;
-import org.eclipse.net4j.util.container.IPluginContainer;
import org.eclipse.net4j.util.ui.views.ContainerItemProvider;
import org.eclipse.net4j.util.ui.views.ContainerView;
@@ -55,8 +54,6 @@ public class CDORepositoriesView extends ContainerView
public CDORepositoriesView()
{
- int xxx;
- IPluginContainer.INSTANCE.getElement("org.eclipse.emf.cdo.server.browsers", "default", "7778");
}
private static int getRepositoryTimeoutMillis()
@@ -73,7 +70,7 @@ public class CDORepositoriesView extends ContainerView
@Override
protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider()
{
- itemProvider = new CDORepositoryItemProvider();
+ itemProvider = new CDORepositoryItemProvider(this);
return itemProvider;
}
diff --git a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoryItemProvider.java b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoryItemProvider.java
index b0ff1ed40e..1d192464b6 100644
--- a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoryItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/repositories/CDORepositoryItemProvider.java
@@ -29,6 +29,7 @@ import org.eclipse.net4j.util.ui.UIUtil;
import org.eclipse.net4j.util.ui.views.ContainerItemProvider;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
@@ -72,6 +73,7 @@ public class CDORepositoryItemProvider extends ContainerItemProvider<IContainer<
}
ViewerUtil.refresh(viewer, repository);
+ updatePropertySheetPage(repository);
}
else if (event instanceof CDOExplorerManager.ElementChangedEvent)
{
@@ -81,12 +83,35 @@ public class CDORepositoryItemProvider extends ContainerItemProvider<IContainer<
Object changedElement = e.getChangedElement();
ViewerUtil.update(viewer, changedElement);
+ updatePropertySheetPage(changedElement);
}
}
+
+ private void updatePropertySheetPage(final Object element)
+ {
+ getDisplay().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ IStructuredSelection selection = (IStructuredSelection)repositoriesView.getSelection();
+ for (Object object : selection.toArray())
+ {
+ if (object == element)
+ {
+ repositoriesView.refreshPropertySheetPage();
+ return;
+ }
+ }
+ }
+ });
+ }
};
- public CDORepositoryItemProvider()
+ private final CDORepositoriesView repositoriesView;
+
+ public CDORepositoryItemProvider(CDORepositoriesView repositoriesView)
{
+ this.repositoriesView = repositoriesView;
}
@Override
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/ContainerView.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/ContainerView.java
index b3156ded40..96a202db12 100644
--- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/ContainerView.java
+++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/views/ContainerView.java
@@ -56,6 +56,8 @@ import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ISetSelectionTarget;
import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheetPage;
public abstract class ContainerView extends ViewPart implements ISelectionProvider, ISetSelectionTarget
{
@@ -79,6 +81,8 @@ public abstract class ContainerView extends ViewPart implements ISelectionProvid
private Action collapseAllAction = new CollapseAllAction();
+ private PropertySheetPage propertySheetPage;
+
public ContainerView()
{
}
@@ -559,6 +563,33 @@ public abstract class ContainerView extends ViewPart implements ISelectionProvid
return display;
}
+ @Override
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter)
+ {
+ if (adapter == IPropertySheetPage.class)
+ {
+ if (propertySheetPage == null)
+ {
+ propertySheetPage = new PropertySheetPage();
+ }
+
+ return propertySheetPage;
+ }
+
+ return super.getAdapter(adapter);
+ }
+
+ /**
+ * @since 3.5
+ */
+ public void refreshPropertySheetPage()
+ {
+ if (propertySheetPage != null)
+ {
+ propertySheetPage.refresh();
+ }
+ }
+
public void refreshViewer(boolean updateLabels)
{
itemProvider.refreshViewer(updateLabels);

Back to the top