📄 dacwizard.java
字号:
owfsMountPointButton.setEnabled(owfsRadio.isSelected()); } public boolean isEnabled() { return true; } } protected class SelectSerialPage extends NarrowWizardPage { private JButton probeButton; private JPanel portsPanel; private ButtonGroup portsGroup = new ButtonGroup(); private PortDescriptor ports[] = new PortDescriptor[0]; private JRadioButton portButtons[] = new JRadioButton[0]; public SelectSerialPage(Logger logger, Wizard owner) { super(logger, owner, "Select Serial Port"); GridBagLayout layout = new GridBagLayout(); GridBagConstraints cs = new GridBagConstraints(); getNarrowPane().setLayout(layout); probeButton = new JButton("Probe ports"); probeButton.addActionListener(this); portsPanel = new JPanel(); portsPanel.setBorder(BorderFactory.createTitledBorder("Ports Found")); JPanel fillerTop = new JPanel(); JPanel fillerBottom = new JPanel(); cs.fill = GridBagConstraints.BOTH; cs.gridx = 0; cs.gridy = 0; cs.weightx = 1; cs.weighty = 1; layout.setConstraints(fillerTop, cs); getNarrowPane().add(fillerTop); cs.gridy++; cs.fill = GridBagConstraints.HORIZONTAL; cs.weighty = 0; layout.setConstraints(probeButton, cs); getNarrowPane().add(probeButton); cs.gridy++; cs.fill = GridBagConstraints.BOTH; cs.weighty = 1; layout.setConstraints(portsPanel, cs); getNarrowPane().add(portsPanel); cs.gridy++; cs.fill = GridBagConstraints.BOTH; layout.setConstraints(fillerBottom, cs); getNarrowPane().add(fillerBottom); } public String getHelpURL() { return "FIXME"; } public String validate() { if ( ports == null || ports.length == 0 ) { return "No ports present (did you probe yet? do you have enough permissions?)"; } // We have radio buttons, one of them must be selected, but // let's check just in case for ( int offset = 0; offset < portButtons.length; offset++ ) { if ( portButtons[offset].isSelected() ) { getOwner().getContext().put("1-Wire.owapi.serial.port", ports[offset].name); return ""; } } return "No port selected???"; } protected void actionPerformed2(ActionEvent e) { if ( probeButton.equals(e.getSource()) ) { probePorts(); } //getOwner().getContext().put("1-Wire driver.owapi", new Boolean(owapiRadio.isSelected())); } private void probePorts() { // Remove all the buttons (if any) from portsPanel ports = null; for ( int offset = 0; offset < portButtons.length; offset++ ) { portButtons[offset].removeActionListener(this); portsPanel.remove(portButtons[offset]); portsGroup.remove(portButtons[offset]); } // Probe the ports List portsTried = new LinkedList(); for ( Enumeration ports = CommPortIdentifier.getPortIdentifiers(); ports.hasMoreElements(); ) { CommPortIdentifier id = (CommPortIdentifier)ports.nextElement(); if ( id.getPortType() == CommPortIdentifier.PORT_SERIAL ) { try { SerialPort port = (SerialPort)id.open(getClass().getName(), 5000); port.close(); portsTried.add(new PortDescriptor(id.getName(), null)); } catch ( PortInUseException piuex ) { portsTried.add(new PortDescriptor(id.getName(), piuex.getMessage())); } } } Map adapterMap = new TreeMap(); // VT: FIXME: For some reason, DSPortAdapter thinks that *all* // serial ports have a DS9097U attached to them. Will have to // check ports more thoroughly. if ( false ) for ( Enumeration adapters = OneWireAccessProvider.enumerateAllAdapters(); adapters.hasMoreElements(); ) { DSPortAdapter a = (DSPortAdapter)adapters.nextElement(); String adapterName = a.getAdapterName(); complain(LOG_DEBUG, CH_WP, "Adapter found: " + adapterName); for ( Enumeration ports = a.getPortNames(); ports.hasMoreElements(); ) { String portName = (String)ports.nextElement(); // Let's try to stuff it into the port descriptor. I // guess it is pretty safe to replace whatever message // there was with the adapter name. adapterMap.put(portName, adapterName); } } complain(LOG_DEBUG, CH_WP, "Adapter map: " + adapterMap); // Fill the portsPanel with the results ports = new PortDescriptor[portsTried.size()]; portButtons = new JRadioButton[portsTried.size()]; GridBagLayout layout = new GridBagLayout(); GridBagConstraints cs = new GridBagConstraints(); portsPanel.setLayout(layout); cs.fill = GridBagConstraints.HORIZONTAL; cs.weightx = 1; cs.weighty = 0; cs.gridx = 0; cs.gridy = 0; int offset = 0; for ( Iterator i = portsTried.iterator(); i.hasNext(); ) { PortDescriptor pd = (PortDescriptor)i.next(); complain(LOG_DEBUG, CH_WP, "Port: " + pd); JRadioButton portButton = new JRadioButton(pd.toString()); portButton.addActionListener(this); portsGroup.add(portButton); layout.setConstraints(portButton, cs); cs.gridy++; portsPanel.add(portButton); String adapterName = (String)adapterMap.get(pd.name); complain(LOG_DEBUG, CH_WP, "Adapter name for '" + pd.name + "': '" + adapterName + "'"); if ( adapterName != null ) { pd.comment = adapterName; portButton.setText(pd.toString()); // And I guess this is the button to be selected in the // end. The very last will be selected - I guess no big // deal. portButton.setSelected(true); } ports[offset] = pd; portButtons[offset] = portButton; offset++; } JPanel filler = new JPanel(); cs.weighty = 1; layout.setConstraints(filler, cs); portsPanel.add(filler); if ( portButtons.length > 0 && portButtons[0] != null && adapterMap.isEmpty() ) { portButtons[0].setSelected(true); } //portsPanel.invalidate(); portsPanel.validate(); portsPanel.repaint(); } private class PortDescriptor { public String name; public String comment; public PortDescriptor(String name, String comment) { this.name = name; this.comment = comment; } public String toString() { String result = name; if ( comment != null ) { result += " " + comment; } return result; } } public boolean isEnabled() { return true; } } protected class ConfigureLoggerPage extends NarrowWizardPage { private JCheckBox enableBox = new JCheckBox("Enable RRD logger"); private JCheckBox autocreateBox = new JCheckBox("Enable RRD autocreation"); private JCheckBox traceBox = new JCheckBox("Keep raw trace file "); private JRadioButton rrdtoolRadio = new JRadioButton("Use RRDTool"); private JRadioButton jrobinRadio = new JRadioButton("Use JRobin"); private ButtonGroup bgroup = new ButtonGroup(); private JLabel rrdtoolLabel = new JLabel("RRDTool to use"); private JButton rrdtoolButton = new JButton("/bin/false"); private JLabel rrdRootLabel = new JLabel("RRD root directory"); private JButton rrdRootButton = new JButton(dzDeploymentData.toString()); private JFileChooser rrdtoolChooser = new JFileChooser(); private JFileChooser rrdrootChooser = new JFileChooser(); public ConfigureLoggerPage(Logger logger, Wizard owner) { super(logger, owner, "Configure RRD Logger"); rrdtoolChooser.setCurrentDirectory(new File("/usr/local/bin")); rrdrootChooser.setCurrentDirectory(dzDeploymentData); GridBagLayout layout = new GridBagLayout(); GridBagConstraints cs = new GridBagConstraints(); getNarrowPane().setLayout(layout); cs.gridx = 0; cs.gridy = 0; cs.weightx = 1; cs.weighty = 0; cs.gridwidth = 2; cs.fill = GridBagConstraints.HORIZONTAL; layout.setConstraints(enableBox, cs); getNarrowPane().add(enableBox); cs.gridy++; layout.setConstraints(autocreateBox, cs); getNarrowPane().add(autocreateBox); cs.gridy++; layout.setConstraints(traceBox, cs); getNarrowPane().add(traceBox); cs.gridy++; layout.setConstraints(jrobinRadio, cs); getNarrowPane().add(jrobinRadio); cs.gridy++; layout.setConstraints(rrdtoolRadio, cs); getNarrowPane().add(rrdtoolRadio); cs.gridy++; cs.gridwidth = 1; cs.weightx = 0; layout.setConstraints(rrdtoolLabel, cs); getNarrowPane().add(rrdtoolLabel); cs.gridx++; cs.weightx = 1; layout.setConstraints(rrdtoolButton, cs); getNarrowPane().add(rrdtoolButton); cs.gridx--; cs.gridy++; cs.gridwidth = 1; cs.weightx = 0; layout.setConstraints(rrdRootLabel, cs); getNarrowPane().add(rrdRootLabel); cs.gridx++; cs.weightx = 1; layout.setConstraints(rrdRootButton, cs); getNarrowPane().add(rrdRootButton); enableBox.setSelected(true); traceBox.setSelected(true); bgroup.add(rrdtoolRadio); bgroup.add(jrobinRadio); jrobinRadio.setSelected(true); rrdtoolLabel.setEnabled(false); rrdtoolButton.setEnabled(false); enableBox.addItemListener(this); traceBox.addItemListener(this); autocreateBox.addItemListener(this); rrdtoolRadio.addItemListener(this); jrobinRadio.addItemListener(this); rrdtoolButton.addActionListener(this); rrdRootButton.addActionListener(this); } public String getHelpURL() { return "FIXME"; } public String validate() { if ( !enableBox.isSelected() ) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -