[Bprocessor-commit] bprocessor/src/net/sourceforge/bprocessor/packages/skeleton SkeletonPackage.ja
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2011-05-19 07:24:51
|
Update of /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/skeleton In directory vz-cvs-2.sog:/tmp/cvs-serv22059/src/net/sourceforge/bprocessor/packages/skeleton Modified Files: SkeletonPackage.java Log Message: Index: SkeletonPackage.java =================================================================== RCS file: /cvsroot/bprocessor/bprocessor/src/net/sourceforge/bprocessor/packages/skeleton/SkeletonPackage.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SkeletonPackage.java 18 May 2011 22:08:44 -0000 1.2 --- SkeletonPackage.java 19 May 2011 07:24:48 -0000 1.3 *************** *** 3,13 **** import java.awt.BorderLayout; import java.awt.Color; ! import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JLabel; --- 3,17 ---- import java.awt.BorderLayout; import java.awt.Color; ! import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; + import java.net.URL; + import javax.swing.AbstractAction; + import javax.swing.Action; import javax.swing.BorderFactory; import javax.swing.Box; + import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; *************** *** 30,51 **** } public static class SkeletonCommand extends NetCommand { - private SkeletonTool tool; private ControlPanel panel; public void initialize(Space net) { System.out.println("initialize " + net); ! tool = new SkeletonTool(); ! parameters.put("Tool", new Operation() { ! @Override ! public void perform() { ! System.out.println("activate tool"); ! Editor.instance().changeTool(tool); ! } ! }); ! panel = new ControlPanel(); GUI.getInstance().registerControlPanel(panel); } public void evaluate() { ! System.out.println("evaluate"); } } --- 34,47 ---- } public static class SkeletonCommand extends NetCommand { private ControlPanel panel; public void initialize(Space net) { + super.initialize(net); System.out.println("initialize " + net); ! panel = new ControlPanel(this); GUI.getInstance().registerControlPanel(panel); } public void evaluate() { ! System.out.println("evaluate " + net); } } *************** *** 83,91 **** } public static class ControlPanel extends JPanel { private Box content; private SkeletonTool tool; ! public ControlPanel() { super(new BorderLayout()); tool = new SkeletonTool(); setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY)); --- 79,117 ---- } + public static abstract class SkeletonAction extends AbstractAction { + /** + * Constructs option action + * @param iconname String + */ + public SkeletonAction(String iconname) { + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + URL url = cl.getResource(iconname); + ImageIcon im = new ImageIcon(url); + putValue(Action.SMALL_ICON, im); + }; + } + + public static class CommandEvaluator extends Operation { + private Command command; + public CommandEvaluator(Command command) { + this.command = command; + } + public void perform() { + command.evaluate(); + } + } + + public static class ControlPanel extends JPanel { + private SkeletonCommand skeleton; + private CommandEvaluator doit; + private Box content; private SkeletonTool tool; ! public ControlPanel(SkeletonCommand skeleton) { super(new BorderLayout()); + this.skeleton = skeleton; + doit = new CommandEvaluator(skeleton); + tool = new SkeletonTool(); setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY)); *************** *** 102,105 **** --- 128,172 ---- title.add(Box.createVerticalStrut(7)); content.add(title); + { + Box buttonRow = Box.createHorizontalBox(); + + { + buttonRow.add(Box.createHorizontalStrut(5)); + JButton button = new JButton(new SkeletonAction("play-icon.png") { + public void actionPerformed(ActionEvent e) { + GUI.getInstance().registerOperation(doit); + } + }); + button.setMargin(new Insets(1, 1, 1, 1)); + button.setMaximumSize(button.getMinimumSize()); + buttonRow.add(button); + } + { + buttonRow.add(Box.createHorizontalStrut(5)); + JButton button = new JButton(new SkeletonAction("stop-icon.png") { + public void actionPerformed(ActionEvent e) { + GUI.getInstance().unregisterOperation(doit); + } + }); + button.setMargin(new Insets(1, 1, 1, 1)); + button.setMaximumSize(button.getMinimumSize()); + buttonRow.add(button); + } + { + buttonRow.add(Box.createHorizontalStrut(5)); + JButton button = new JButton(new SkeletonAction("step-icon.png") { + public void actionPerformed(ActionEvent e) { + doit.perform(); + } + }); + button.setMargin(new Insets(1, 1, 1, 1)); + button.setMaximumSize(button.getMinimumSize()); + buttonRow.add(button); + } + + + buttonRow.add(Box.createHorizontalGlue()); + content.add(buttonRow); + } JButton toolBtn = new JButton("Tool"); toolBtn.addActionListener(new ActionListener() { *************** *** 139,145 **** content.add(sliderRow); } - // JPanel vfiller = new JPanel(); - // vfiller.setPreferredSize(new Dimension(240, 240)); - // add(BorderLayout.CENTER, vfiller); } } --- 206,209 ---- |