public SwtSelectDeviceDialog(Shell parent, EmulatorContext emulatorContext) { super(parent); this.emulatorContext = emulatorContext; Vector devs = Config.getDeviceEntries(); for (int i = 0; i < devs.size(); i++) { DeviceEntry entry = (DeviceEntry) devs.elementAt(i); if (entry.isDefaultDevice()) { selectedEntry = entry; } } }
public void valueChanged(ListSelectionEvent ev) { DeviceEntry entry = (DeviceEntry) lsDevices.getSelectedValue(); if (entry != null) { if (entry.isDefaultDevice()) { btDefault.setEnabled(false); } else { btDefault.setEnabled(true); } if (entry.canRemove()) { btRemove.setEnabled(true); } else { btRemove.setEnabled(false); } btOk.setEnabled(true); } else { btDefault.setEnabled(false); btRemove.setEnabled(false); btOk.setEnabled(false); } } };
public void widgetSelected(SelectionEvent e) { int index = lsDevices.getSelectionIndex(); if (index != -1) { selectedEntry = (DeviceEntry) deviceModel.elementAt(index); if (selectedEntry.isDefaultDevice()) { btDefault.setEnabled(false); } else { btDefault.setEnabled(true); } if (selectedEntry.canRemove()) { btRemove.setEnabled(true); } else { btRemove.setEnabled(false); } btOk.setEnabled(true); } else { selectedEntry = null; btDefault.setEnabled(false); btRemove.setEnabled(false); btOk.setEnabled(false); } } };
public SwingSelectDevicePanel(EmulatorContext emulatorContext) { this.emulatorContext = emulatorContext; setLayout(new BorderLayout()); setBorder(new TitledBorder(new EtchedBorder(), "Installed devices")); lsDevicesModel = new DefaultListModel(); lsDevices = new JList(lsDevicesModel); lsDevices.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); lsDevices.addListSelectionListener(listSelectionListener); spDevices = new JScrollPane(lsDevices); add(spDevices, BorderLayout.CENTER); JPanel panel = new JPanel(); btAdd = new JButton("Add..."); btAdd.addActionListener(btAddListener); btRemove = new JButton("Remove"); btRemove.addActionListener(btRemoveListener); btDefault = new JButton("Set as default"); btDefault.addActionListener(btDefaultListener); panel.add(btAdd); panel.add(btRemove); panel.add(btDefault); add(panel, BorderLayout.SOUTH); for (Enumeration e = Config.getDeviceEntries().elements(); e.hasMoreElements();) { DeviceEntry entry = (DeviceEntry) e.nextElement(); lsDevicesModel.addElement(entry); if (entry.isDefaultDevice()) { lsDevices.setSelectedValue(entry, true); } } }
DeviceEntry entry = (DeviceEntry) devs.elementAt(i); deviceModel.addElement(entry); if (entry.isDefaultDevice()) { lsDevices.add(entry.getName() + " (default)"); lsDevices.select(i);
public void actionPerformed(ActionEvent ev) { DeviceEntry entry = (DeviceEntry) lsDevices.getSelectedValue(); boolean canDeleteFile = true; for (Enumeration en = lsDevicesModel.elements(); en.hasMoreElements();) { DeviceEntry test = (DeviceEntry) en.nextElement(); if (test != entry && test.getFileName() != null && test.getFileName().equals(entry.getFileName())) { canDeleteFile = false; break; } } if (canDeleteFile) { File deviceFile = new File(Config.getConfigPath(), entry.getFileName()); deviceFile.delete(); } if (entry.isDefaultDevice()) { for (Enumeration en = lsDevicesModel.elements(); en.hasMoreElements();) { DeviceEntry tmp = (DeviceEntry) en.nextElement(); if (!tmp.canRemove()) { tmp.setDefaultDevice(true); break; } } } lsDevicesModel.removeElement(entry); Config.removeDeviceEntry(entry); } };
if (entry.isDefaultDevice()) { for (int i = 0; i < deviceModel.size(); i++) { DeviceEntry tmp = (DeviceEntry) deviceModel.elementAt(i);
public static void changeDeviceEntry(DeviceEntry entry) { XMLElement devicesXml = configXml.getChild("devices"); if (devicesXml == null) { return; } for (Enumeration e_device = devicesXml.enumerateChildren(); e_device.hasMoreElements();) { XMLElement tmp_device = (XMLElement) e_device.nextElement(); if (tmp_device.getName().equals("device")) { String testDescriptor = tmp_device.getChildString("descriptor", null); if (testDescriptor.equals(entry.getDescriptorLocation())) { if (entry.isDefaultDevice()) { tmp_device.setAttribute("default", "true"); } else { tmp_device.removeAttribute("default"); } saveConfig(); break; } } } }
public static void addDeviceEntry(DeviceEntry entry) { for (Enumeration en = getDeviceEntries().elements(); en.hasMoreElements();) { DeviceEntry test = (DeviceEntry) en.nextElement(); if (test.getDescriptorLocation().equals(entry.getDescriptorLocation())) { return; } } XMLElement devicesXml = configXml.getChildOrNew("devices"); XMLElement deviceXml = devicesXml.addChild("device"); if (entry.isDefaultDevice()) { deviceXml.setAttribute("default", "true"); } deviceXml.addChild("name", entry.getName()); deviceXml.addChild("filename", entry.getFileName()); deviceXml.addChild("descriptor", entry.getDescriptorLocation()); saveConfig(); }