diff options
author | Bdale Garbee <bdale@gag.com> | 2013-01-12 10:57:22 -0700 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2013-01-12 10:57:22 -0700 |
commit | 670034eef48d63cdaec8d271fa93da984ffe2ea9 (patch) | |
tree | 422713fba95404876049f785255942ce6d9c4afd /micropeak/MicroDeviceDialog.java | |
parent | 8c5ebaf88b459b09924753a8077393a7b0639133 (diff) | |
parent | d374d6be7eb040457f4df6c38b5d057f26ee741c (diff) |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'micropeak/MicroDeviceDialog.java')
-rw-r--r-- | micropeak/MicroDeviceDialog.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/micropeak/MicroDeviceDialog.java b/micropeak/MicroDeviceDialog.java new file mode 100644 index 00000000..23195dac --- /dev/null +++ b/micropeak/MicroDeviceDialog.java @@ -0,0 +1,59 @@ +/* + * Copyright © 2012 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +package org.altusmetrum.micropeak; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import org.altusmetrum.altosuilib.*; + +public class MicroDeviceDialog extends AltosDeviceDialog { + + public AltosDevice[] devices() { + java.util.List<MicroUSB> list = MicroUSB.list(); + + if (list == null) { + JOptionPane.showMessageDialog(frame, + "libaltos failed to load", + "Helper Library Failed", + JOptionPane.ERROR_MESSAGE); + return new AltosDevice[0]; + } + + int num_devices = list.size(); + AltosDevice[] devices = new AltosDevice[num_devices]; + + for (int i = 0; i < num_devices; i++) + devices[i] = list.get(i); + return devices; + } + + public MicroDeviceDialog (Frame in_frame, Component location) { + super(in_frame, location, 0); + } + + public static AltosDevice show (Component frameComp) { + Frame frame = JOptionPane.getFrameForComponent(frameComp); + MicroDeviceDialog dialog; + + dialog = new MicroDeviceDialog (frame, frameComp); + dialog.setVisible(true); + return dialog.getValue(); + } +} |