[jbosscache-commits] JBoss Cache SVN: r5032 - demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Mon Jan 7 08:40:59 EST 2008


Author: manik.surtani at jboss.com
Date: 2008-01-07 08:40:59 -0500 (Mon, 07 Jan 2008)
New Revision: 5032

Modified:
   demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/DataTreeRefresher.java
   demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form
   demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java
Log:
UI refresh changes/improvements

Modified: demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/DataTreeRefresher.java
===================================================================
--- demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/DataTreeRefresher.java	2008-01-07 12:53:25 UTC (rev 5031)
+++ demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/DataTreeRefresher.java	2008-01-07 13:40:59 UTC (rev 5032)
@@ -12,6 +12,7 @@
 import javax.swing.tree.DefaultTreeModel;
 import javax.swing.tree.TreeModel;
 import javax.swing.tree.TreeNode;
+import javax.swing.tree.TreePath;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
@@ -110,11 +111,13 @@
 
    public void repaint()
    {
+      TreePath path = tree.getSelectionPath();
       tableModel.setCurrentFqn(null);
       Map<String, String> m = Collections.emptyMap();
       tableModel.setData(m);
-      tree.repaint();
       ((DefaultTreeModel) tree.getModel()).reload();
+      tree.setSelectionPath(path);
+      if (path != null) while ((path = path.getParentPath()) != null) tree.expandPath(path);
    }
 
    class FqnTreeNode extends DefaultMutableTreeNode implements Comparable

Modified: demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form
===================================================================
--- demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form	2008-01-07 12:53:25 UTC (rev 5031)
+++ demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form	2008-01-07 13:40:59 UTC (rev 5032)
@@ -120,9 +120,9 @@
           </grid>
           <grid id="73867" binding="dataViewTab" layout-manager="FormLayout">
             <rowspec value="center:d:grow"/>
-            <colspec value="fill:d:grow"/>
+            <colspec value="left:340px:grow"/>
             <colspec value="left:4dlu:noGrow"/>
-            <colspec value="fill:m:grow"/>
+            <colspec value="fill:p:grow"/>
             <constraints>
               <tabbedpane title="Data view" enabled="false">
                 <tooltip value="This tab contains a view of all the data in the cache."/>
@@ -134,44 +134,56 @@
             </properties>
             <border type="none"/>
             <children>
-              <scrollpane id="ea4d">
+              <splitpane id="5a803">
                 <constraints>
-                  <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+                  <grid row="0" column="0" row-span="1" col-span="3" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
+                    <preferred-size width="200" height="200"/>
+                  </grid>
                   <forms defaultalign-horz="false" defaultalign-vert="false"/>
                 </constraints>
-                <properties/>
+                <properties>
+                  <dividerLocation value="600"/>
+                </properties>
                 <border type="none"/>
                 <children>
-                  <component id="a805d" class="javax.swing.JTree" binding="dataTree">
-                    <constraints/>
-                    <properties>
-                      <background color="-1"/>
-                      <editable value="false"/>
-                      <showsRootHandles value="true"/>
-                      <toolTipText value="Tree view of the cache"/>
-                    </properties>
-                  </component>
+                  <scrollpane id="ea4d" binding="treeScrollPane">
+                    <constraints>
+                      <splitpane position="left"/>
+                    </constraints>
+                    <properties/>
+                    <border type="none"/>
+                    <children>
+                      <component id="a805d" class="javax.swing.JTree" binding="dataTree">
+                        <constraints/>
+                        <properties>
+                          <background color="-1"/>
+                          <editable value="false"/>
+                          <showsRootHandles value="true"/>
+                          <toolTipText value="Tree view of the cache"/>
+                        </properties>
+                      </component>
+                    </children>
+                  </scrollpane>
+                  <scrollpane id="f78a6" binding="nodeDataScrollPane">
+                    <constraints>
+                      <splitpane position="right"/>
+                    </constraints>
+                    <properties/>
+                    <border type="none"/>
+                    <children>
+                      <component id="41fa4" class="javax.swing.JTable" binding="nodeDataTable">
+                        <constraints/>
+                        <properties>
+                          <background color="-992313"/>
+                          <gridColor color="-16777216"/>
+                          <intercellSpacing width="3" height="3"/>
+                          <toolTipText value="Data in currently selected node"/>
+                        </properties>
+                      </component>
+                    </children>
+                  </scrollpane>
                 </children>
-              </scrollpane>
-              <scrollpane id="f78a6" binding="nodeData">
-                <constraints>
-                  <grid row="0" column="2" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
-                  <forms defaultalign-horz="false" defaultalign-vert="false"/>
-                </constraints>
-                <properties/>
-                <border type="none"/>
-                <children>
-                  <component id="41fa4" class="javax.swing.JTable" binding="nodeDataTable">
-                    <constraints/>
-                    <properties>
-                      <background color="-992313"/>
-                      <gridColor color="-16777216"/>
-                      <intercellSpacing width="3" height="3"/>
-                      <toolTipText value="Data in currently selected node"/>
-                    </properties>
-                  </component>
-                </children>
-              </scrollpane>
+              </splitpane>
             </children>
           </grid>
           <grid id="b4b20" binding="clusterViewTab" layout-manager="FormLayout">

Modified: demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java
===================================================================
--- demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java	2008-01-07 12:53:25 UTC (rev 5031)
+++ demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java	2008-01-07 13:40:59 UTC (rev 5032)
@@ -11,10 +11,12 @@
 import org.jboss.cache.Node;
 import org.jboss.cache.notifications.annotation.BuddyGroupChanged;
 import org.jboss.cache.notifications.annotation.NodeCreated;
+import org.jboss.cache.notifications.annotation.NodeModified;
 import org.jboss.cache.notifications.annotation.NodeRemoved;
 import org.jboss.cache.notifications.annotation.ViewChanged;
 import org.jboss.cache.notifications.event.BuddyGroupChangedEvent;
 import org.jboss.cache.notifications.event.NodeCreatedEvent;
+import org.jboss.cache.notifications.event.NodeModifiedEvent;
 import org.jboss.cache.notifications.event.NodeRemovedEvent;
 import org.jboss.cache.notifications.event.ViewChangedEvent;
 import org.jgroups.Address;
@@ -76,7 +78,7 @@
    private JRadioButton removeKeyRadioButton;
    private JButton goButton;
    private JTable nodeDataTable;
-   private JScrollPane nodeData;
+   private JScrollPane nodeDataScrollPane;
    private JButton randomGeneratorButton;
    private JTextField maxNodesTextField;
    private JTextField maxDepthTextField;
@@ -89,6 +91,7 @@
    private JLabel statsLastUpdated;
    private JTextArea configFileContents;
    private JRadioButton getNodeRadioButton;
+   private JScrollPane treeScrollPane;
    private String cacheConfigFile;
    private Cache<String, String> cache;
    private String startCacheButtonLabel = "Start Cache", stopCacheButtonLabel = "Stop Cache";
@@ -569,6 +572,19 @@
          clusterDataModel.setBuddies();
       }
 
+      @NodeModified
+      public void nodeModified(NodeModifiedEvent e)
+      {
+         if (!e.isPre())
+         {
+            // only if this is the current node selected in the tree do we bother refreshing it
+            if (nodeDataTableModel.getCurrentFqn() != null && nodeDataTableModel.getCurrentFqn().equals(e.getFqn()))
+            {
+               nodeDataTableModel.updateCurrentNode();
+            }
+         }
+      }
+
       @NodeCreated
       public void nodeCreated(NodeCreatedEvent e)
       {
@@ -738,5 +754,10 @@
       {
          this.currentFqn = currentFqn;
       }
+
+      public void updateCurrentNode()
+      {
+         setData(cache.getData(currentFqn));
+      }
    }
 }




More information about the jbosscache-commits mailing list