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;
}