You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mj...@apache.org on 2009/08/15 11:56:51 UTC

svn commit: r804446 - in /mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client: PubsubClientGUI.java PubsubNode.java

Author: mjakl
Date: Sat Aug 15 09:56:51 2009
New Revision: 804446

URL: http://svn.apache.org/viewvc?rev=804446&view=rev
Log:
Fixed enabling and disabling of the delete button.

Modified:
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientGUI.java
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientGUI.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientGUI.java?rev=804446&r1=804445&r2=804446&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientGUI.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientGUI.java Sat Aug 15 09:56:51 2009
@@ -175,19 +175,37 @@
 
     public void valueChanged(ListSelectionEvent e) {
         ListSelectionModel lsm = (ListSelectionModel)e.getSource();
-        if(lsm.isSelectionEmpty()) {
-            // disable delete button
-            delete.setEnabled(false);
-            pcm.deselectNode();
-        } else {
-            // store the node and enable delete button
-            PubsubTableModel tableModel = pcm.getTableModel();
-            String selectedNode = (String)tableModel.getValueAt(e.getFirstIndex(), 0);
-            pcm.selectNode(selectedNode);
-            if((Boolean)tableModel.getValueAt(e.getFirstIndex(), 2)) { //owner
-                delete.setEnabled(true);
+        if(e.getValueIsAdjusting()) {
+            if(lsm.isSelectionEmpty()) {
+                // disable delete button
+                delete.setEnabled(false);
+                pcm.deselectNode();
+            } else {
+                // store the node and enable delete button
+                PubsubTableModel tableModel = pcm.getTableModel();
+                
+                int idx = getNewSelectionIndex(e, tableModel);
+                
+                String selectedNode = (String)tableModel.getValueAt(idx, 0);
+                pcm.selectNode(selectedNode);
+                Boolean owner = (Boolean)tableModel.getValueAt(idx, 2);
+                if(owner !=null && owner == Boolean.TRUE ) { //owner
+                    delete.setEnabled(true);
+                } else {
+                    delete.setEnabled(false);
+                }
             }
         }
     }
 
+    private int getNewSelectionIndex(ListSelectionEvent e, PubsubTableModel tableModel) {
+        int idx = e.getFirstIndex(); // check which one is the right index (the new one)
+        String selectedNode = (String)tableModel.getValueAt(idx, 0);
+        if(pcm.getSelectedNode() != null && pcm.getSelectedNode().equals(selectedNode)) {
+            idx = e.getLastIndex();
+            
+        }
+        return idx;
+    }
+
 }

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java?rev=804446&r1=804445&r2=804446&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java Sat Aug 15 09:56:51 2009
@@ -31,6 +31,8 @@
     
     public PubsubNode(String node) {
         this.node = node;
+        this.subscribed = false;
+        this.ownership = false;
     }
     
     public String getNode() {
@@ -39,13 +41,13 @@
     public Boolean getSubscribed() {
         return subscribed;
     }
-    public void setSubscribed(Boolean subscribed) {
+    public void setSubscribed(boolean subscribed) {
         this.subscribed = subscribed;
     }
-    public Boolean getOwnership() {
+    public boolean getOwnership() {
         return ownership;
     }
-    public void setOwnership(Boolean owner) {
+    public void setOwnership(boolean owner) {
         this.ownership = owner;
     }