diff --git a/java/src/ch/ntb/usb/usbView/UsbTreeModel.java b/java/src/ch/ntb/usb/usbView/UsbTreeModel.java index 806aee0..b165f94 100644 --- a/java/src/ch/ntb/usb/usbView/UsbTreeModel.java +++ b/java/src/ch/ntb/usb/usbView/UsbTreeModel.java @@ -23,10 +23,19 @@ import ch.ntb.usb.Usb_Interface_Descriptor; public class UsbTreeModel implements TreeModel, TreeSelectionListener { private Usb_Bus rootBus; + private JTextArea textArea; private Vector treeModelListeners = new Vector(); + /** + * Default constructor.
+ * + * @param rootBus + * the root bus from which the data is read + * @param textArea + * the text area to which the data is written + */ public UsbTreeModel(Usb_Bus rootBus, JTextArea textArea) { this.rootBus = rootBus; this.textArea = textArea; @@ -142,12 +151,12 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { * The only event raised by this model is TreeStructureChanged with the root * as path, i.e. the whole tree has changed. */ - protected void fireTreeStructureChanged(Usb_Bus oldRootBus) { + protected void fireTreeStructureChanged(Usb_Bus newRootBus) { + rootBus = newRootBus; int len = treeModelListeners.size(); - TreeModelEvent e = new TreeModelEvent(this, new Object[] { oldRootBus }); + TreeModelEvent e = new TreeModelEvent(this, new Object[] { newRootBus }); for (int i = 0; i < len; i++) { - ((TreeModelListener) treeModelListeners.elementAt(i)) - .treeStructureChanged(e); + treeModelListeners.elementAt(i).treeStructureChanged(e); } } @@ -388,8 +397,8 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { sb.append("\tbmAttributes: 0x" + Integer.toHexString(epDesc.bmAttributes & 0xFF) + "\n"); sb.append("\twMaxPacketSize: 0x" - + Integer.toHexString(epDesc.wMaxPacketSize & 0xFFFF) + " (" - + epDesc.wMaxPacketSize + ")\n"); + + Integer.toHexString(epDesc.wMaxPacketSize & 0xFFFF) + + " (" + epDesc.wMaxPacketSize + ")\n"); sb.append("\tbInterval: 0x" + Integer.toHexString(epDesc.bInterval) + "\n"); sb.append("\tbRefresh: 0x" + Integer.toHexString(epDesc.bRefresh) diff --git a/java/src/ch/ntb/usb/usbView/UsbView.java b/java/src/ch/ntb/usb/usbView/UsbView.java index 662aa38..8ea29e6 100644 --- a/java/src/ch/ntb/usb/usbView/UsbView.java +++ b/java/src/ch/ntb/usb/usbView/UsbView.java @@ -33,6 +33,8 @@ public class UsbView extends JFrame { private JSplitPane jSplitPane = null; private JTextArea jPropertiesArea = null; + + UsbTreeModel treeModel; /** * This is the default constructor @@ -97,7 +99,7 @@ public class UsbView extends JFrame { if (commandsMenu == null) { commandsMenu = new JMenu(); commandsMenu.setText("Commands"); - commandsMenu.add(getSaveMenuItem()); + commandsMenu.add(getUpdateMenuItem()); commandsMenu.add(getExitMenuItem()); } return commandsMenu; @@ -126,7 +128,7 @@ public class UsbView extends JFrame { * * @return javax.swing.JMenuItem */ - private JMenuItem getSaveMenuItem() { + private JMenuItem getUpdateMenuItem() { if (updateMenuItem == null) { updateMenuItem = new JMenuItem(); updateMenuItem.setText("Update"); @@ -142,10 +144,7 @@ public class UsbView extends JFrame { Usb_Bus bus = LibusbWin.usb_get_busses(); if (bus != null) { - UsbTreeModel treeModel = new UsbTreeModel(bus, - jPropertiesArea); - usbTree.setModel(treeModel); - usbTree.addTreeSelectionListener(treeModel); + treeModel.fireTreeStructureChanged(bus); } } }); @@ -167,7 +166,7 @@ public class UsbView extends JFrame { Usb_Bus bus = LibusbWin.usb_get_busses(); - UsbTreeModel treeModel = new UsbTreeModel(bus, jPropertiesArea); + treeModel = new UsbTreeModel(bus, jPropertiesArea); usbTree = new JTree(treeModel); usbTree.addTreeSelectionListener(treeModel); }