Author: rob.stryker(a)jboss.com
Date: 2007-08-15 22:12:27 -0400 (Wed, 15 Aug 2007)
New Revision: 3154
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/DescriptorXPathViewProvider.java
Log:
JBIDE-707
API changed to allow listeners to be added before the view is instantiated.
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java 2007-08-16
01:23:25 UTC (rev 3153)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java 2007-08-16
02:12:27 UTC (rev 3154)
@@ -1,7 +1,11 @@
package org.jboss.ide.eclipse.as.ui.views.server;
+import java.util.ArrayList;
+import java.util.Iterator;
+
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.graphics.Color;
@@ -17,12 +21,29 @@
public class JBossServerView extends ViewPart {
- private static final String TAG_SASHFORM_HEIGHT = "sashformHeight";
+ private static final String TAG_SASHFORM_HEIGHT = "sashformHeight";
+
public static JBossServerView instance;
+ private static ArrayList serverFrameListeners = new ArrayList();
+ private static ArrayList extensionFrameListeners = new ArrayList();
+
public static JBossServerView getDefault() {
return instance;
}
+ public static void addServerFrameListener(ISelectionChangedListener listener) {
+ if( !serverFrameListeners.contains(listener))
+ serverFrameListeners.add(listener);
+ if( getDefault() != null )
+ getDefault().getServerFrame().getViewer().addSelectionChangedListener(listener);
+ }
+ public static void addExtensionFrameListener(ISelectionChangedListener listener) {
+ if( !extensionFrameListeners.contains(listener))
+ extensionFrameListeners.add(listener);
+ if( getDefault() != null )
+ getDefault().getExtensionFrame().getViewer().addSelectionChangedListener(listener);
+ }
+
public static interface IServerViewFrame {
public IAction[] getActionBarActions();
public int getDefaultSize();
@@ -34,7 +55,6 @@
instance = this;
}
-
private SashForm form;
private int[] sashRows;
private IMemento memento;
@@ -95,6 +115,14 @@
}
form.setWeights(sashRows);
+
+
+ // if the extensions have already been created, add those listeners now.
+ Iterator k;
+ for(k = serverFrameListeners.iterator(); k.hasNext();)
+ serverFrame.getViewer().addSelectionChangedListener(((ISelectionChangedListener)k.next()));
+ for(k = extensionFrameListeners.iterator(); k.hasNext();)
+ extensionFrame.getViewer().addSelectionChangedListener(((ISelectionChangedListener)k.next()));
}
public void refreshAll() {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/DescriptorXPathViewProvider.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/DescriptorXPathViewProvider.java 2007-08-16
01:23:25 UTC (rev 3153)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/providers/DescriptorXPathViewProvider.java 2007-08-16
02:12:27 UTC (rev 3154)
@@ -85,12 +85,12 @@
}
protected void addListeners() {
- JBossServerView.getDefault().getExtensionFrame().getViewer().
- addSelectionChangedListener(new ISelectionChangedListener() {
+ JBossServerView.addExtensionFrameListener(
+ new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
activatePropertiesView();
- }
- });
+ }
+ });
}
protected void activatePropertiesView() {
Show replies by date