[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server ...
Robert Stryker
rawblem at gmail.com
Thu Dec 14 14:34:44 EST 2006
User: rawb
Date: 06/12/14 14:34:44
Modified: as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server
ServerTableViewer.java JBossServerView.java
JBossServerTableViewer.java
Log:
flickering view caused by input being set all over the place. Had to be remedied. It's possible this change breaks something else which depended on that behavior, but if it does I'll find it ;)
Also, API change which allows removal and addition of items without doing a tree refresh (more efficient)
Revision Changes Path
1.5 +2 -0 jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/ServerTableViewer.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ServerTableViewer.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/ServerTableViewer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ServerTableViewer.java 6 Dec 2006 17:14:36 -0000 1.4
+++ ServerTableViewer.java 14 Dec 2006 19:34:44 -0000 1.5
@@ -262,6 +262,8 @@
public void run() {
try {
refresh(server);
+
+ // This ensures the icons are updated in case of a publish or state change
ISelection sel = ServerTableViewer.this.getSelection();
ServerTableViewer.this.setSelection(sel);
} catch (Exception e) {
1.5 +8 -41 jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: JBossServerView.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerView.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- JBossServerView.java 28 Nov 2006 17:32:51 -0000 1.4
+++ JBossServerView.java 14 Dec 2006 19:34:44 -0000 1.5
@@ -3,6 +3,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import org.eclipse.core.internal.refresh.RefreshJob;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.ui.DebugUITools;
@@ -56,6 +57,8 @@
protected Action refreshViewerAction, editLaunchConfigAction, twiddleAction, cloneServerAction;
+ private boolean suppressingRefresh = false;
+
public static JBossServerView instance;
public static JBossServerView getDefault() {
@@ -105,7 +108,7 @@
public void run() {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
- refresh();
+ getJBViewer().refresh(null);
}
});
}
@@ -209,9 +212,6 @@
}
- protected void refresh() {
- tableViewer.refresh(); // should auto-refresh the other
- }
// for superclass, for the top viewer
protected void fillContextMenu(Shell shell, IMenuManager menu) {
menu.add(newServerAction);
@@ -246,28 +246,6 @@
return (IServer)jbViewer.getInput();
}
- public void refreshJBTree(Object obj) {
- final Object obj2 = obj;
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- try {
- // If it's null, refresh the whole thing
- if( obj2 == null ) {
-// Object[] expanded = JBossServerView.this.jbViewer.getExpandedElements();
- JBossServerView.this.jbViewer.refresh();
-// JBossServerView.this.jbViewer.setExpandedElements(expanded);
- } else {
-// Object[] expanded = JBossServerView.this.jbViewer.getExpandedElements();
- JBossServerView.this.jbViewer.refresh(obj2);
-// JBossServerView.this.jbViewer.setExpandedElements(expanded);
- }
- } catch (Exception e) {
- // ignore
- }
- }
- });
- }
-
public void addListeners() {
/*
@@ -276,7 +254,6 @@
tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
- Object current = jbViewer.getInput();
Object selection = ((TreeSelection)event.getSelection()).getFirstElement();
Object server = selection;
if( selection instanceof ModuleServer ) {
@@ -284,22 +261,12 @@
}
if( selection == null ) return;
-
if( server != jbViewer.getInput()) {
jbViewer.setInput(server);
- jbViewer.expandToLevel(2);
} else {
- // This is entirely too cludgy but it works
- ISelection sel = jbViewer.getSelection();
- Object[] expanded = jbViewer.getExpandedElements();
- jbViewer.setInput(server);
-// jbViewer.expandToLevel(2);
- Object[] alsoExpanded = jbViewer.getExpandedElements();
- ArrayList tmp = new ArrayList();
- tmp.addAll(Arrays.asList(expanded));
- tmp.addAll(Arrays.asList(alsoExpanded));
- jbViewer.setExpandedElements(tmp.toArray());
- jbViewer.setSelection(sel);
+// Object[] expanded = jbViewer.getExpandedElements();
+// jbViewer.setInput(server);
+// jbViewer.setExpandedElements(expanded);
}
}
1.4 +18 -3 jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerTableViewer.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: JBossServerTableViewer.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/views/server/JBossServerTableViewer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- JBossServerTableViewer.java 13 Dec 2006 21:48:53 -0000 1.3
+++ JBossServerTableViewer.java 14 Dec 2006 19:34:44 -0000 1.4
@@ -45,8 +45,8 @@
public class JBossServerTableViewer extends TreeViewer {
protected TableViewerPropertySheet propertySheet;
-
protected Action disableCategoryAction, refreshAction;
+ protected boolean suppressingRefresh = false;
public JBossServerTableViewer(Tree tree) {
super(tree);
setContentProvider(new ContentProviderDelegator());
@@ -94,9 +94,9 @@
public void run() {
Object el = getSelectedElement();
if( el instanceof ServerViewProvider )
- JBossServerView.getDefault().refreshJBTree(el);
+ refresh(el);
else
- JBossServerView.getDefault().refreshJBTree(((IStructuredSelection)getSelection()).getFirstElement());
+ refresh(((IStructuredSelection)getSelection()).getFirstElement());
}
};
refreshAction.setText("Refresh Item");
@@ -403,4 +403,19 @@
}
}
+
+ public void suppressingRefresh(Runnable runnable) {
+ boolean currentVal = suppressingRefresh;
+ suppressingRefresh = true;
+ runnable.run();
+ suppressingRefresh = currentVal;
+ }
+
+ // for testing
+ public void refresh(final Object element) {
+ System.out.println("here: " + element);
+ super.refresh(element);
+ }
+
+
}
More information about the jboss-cvs-commits
mailing list