[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool Tool.java, 1.38, 1.39 AbstractTool.ja
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2007-11-21 09:21:45
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18875/src/net/sourceforge/bprocessor/gl/tool Modified Files: Tool.java AbstractTool.java SpaceTool.java DomainPopupListener.java CreateSpaceActionListener.java ControlledExtrudeTool.java Log Message: multi/single choice selecting in space-assignment tool Index: CreateSpaceActionListener.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/CreateSpaceActionListener.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** CreateSpaceActionListener.java 17 Oct 2007 09:08:19 -0000 1.21 --- CreateSpaceActionListener.java 21 Nov 2007 09:21:17 -0000 1.22 *************** *** 8,11 **** --- 8,12 ---- + import net.sourceforge.bprocessor.gl.Editor; import net.sourceforge.bprocessor.gui.attrview.AttributeView; import java.awt.event.ActionEvent; *************** *** 54,60 **** owner.add(space); if (front) { ! surface.assignFront(space); } else { ! surface.assignBack(space); } surface.changed(); --- 55,61 ---- owner.add(space); if (front) { ! surface.assignFront(space, Editor.isMulti()); } else { ! surface.assignBack(space, Editor.isMulti()); } surface.changed(); Index: DomainPopupListener.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/DomainPopupListener.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DomainPopupListener.java 17 Oct 2007 09:08:19 -0000 1.7 --- DomainPopupListener.java 21 Nov 2007 09:21:17 -0000 1.8 *************** *** 10,13 **** --- 10,14 ---- import java.awt.event.ActionListener; + import net.sourceforge.bprocessor.gl.Editor; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Space; *************** *** 48,52 **** if (front) { Space oldFront = surface.getFrontDomain(); ! surface.assignFront(domain); if (oldFront != null) { oldFront.changed(); --- 49,53 ---- if (front) { Space oldFront = surface.getFrontDomain(); ! surface.assignFront(domain, Editor.isMulti()); if (oldFront != null) { oldFront.changed(); *************** *** 54,58 **** } else { Space oldBack = surface.getBackDomain(); ! surface.assignBack(domain); if (oldBack != null) { oldBack.changed(); --- 55,59 ---- } else { Space oldBack = surface.getBackDomain(); ! surface.assignBack(domain, Editor.isMulti()); if (oldBack != null) { oldBack.changed(); Index: Tool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/Tool.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** Tool.java 27 Sep 2007 10:38:35 -0000 1.38 --- Tool.java 21 Nov 2007 09:21:17 -0000 1.39 *************** *** 14,17 **** --- 14,20 ---- import java.util.Collection; + import java.util.List; + + import javax.swing.JComponent; /** * The tool interface *************** *** 97,100 **** --- 100,111 ---- public void prepare(); + /** + * Returns a list of controls for this tools. The controls are + * displayed in the statusbar. + * @return list of controls + */ + public List<JComponent> controls(); + + /** * Gives a tip on how to use the tool Index: ControlledExtrudeTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/ControlledExtrudeTool.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ControlledExtrudeTool.java 18 Nov 2007 21:30:17 -0000 1.10 --- ControlledExtrudeTool.java 21 Nov 2007 09:21:17 -0000 1.11 *************** *** 242,254 **** if (pressedSurface.getExterior() != null) { if (length > 0) { ! pressedSurface.assignFront(pressedSurface.getBackDomain()); } else { ! pressedSurface.assignBack(pressedSurface.getFrontDomain()); } } else { if (length > 0) { ! pressedSurface.assignFront(pressedSurface.getFrontDomain()); } else { ! pressedSurface.assignBack(pressedSurface.getBackDomain()); } } --- 242,254 ---- if (pressedSurface.getExterior() != null) { if (length > 0) { ! pressedSurface.assignFront(pressedSurface.getBackDomain(), true); } else { ! pressedSurface.assignBack(pressedSurface.getFrontDomain(), true); } } else { if (length > 0) { ! pressedSurface.assignFront(pressedSurface.getFrontDomain(), true); } else { ! pressedSurface.assignBack(pressedSurface.getBackDomain(), true); } } Index: AbstractTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractTool.java,v retrieving revision 1.139 retrieving revision 1.140 diff -C2 -d -r1.139 -r1.140 *** AbstractTool.java 19 Nov 2007 19:56:05 -0000 1.139 --- AbstractTool.java 21 Nov 2007 09:21:17 -0000 1.140 *************** *** 51,54 **** --- 51,56 ---- import java.util.Collection; import java.util.Stack; + + import javax.swing.JComponent; import javax.swing.Timer; *************** *** 938,940 **** --- 940,950 ---- } } + + /** + * {@inheritDoc} + */ + public List<JComponent> controls() { + List<JComponent> controls = new LinkedList(); + return controls; + } } Index: SpaceTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SpaceTool.java,v retrieving revision 1.93 retrieving revision 1.94 diff -C2 -d -r1.93 -r1.94 *** SpaceTool.java 18 Nov 2007 21:30:17 -0000 1.93 --- SpaceTool.java 21 Nov 2007 09:21:17 -0000 1.94 *************** *** 12,24 **** --- 12,31 ---- import java.awt.event.ActionListener; import java.awt.event.MouseEvent; + import java.net.URL; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; + import java.util.List; import java.util.Stack; + import javax.swing.AbstractAction; + import javax.swing.Action; + import javax.swing.ImageIcon; + import javax.swing.JComponent; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; + import javax.swing.JToggleButton; import org.apache.log4j.Logger; *************** *** 336,338 **** --- 343,376 ---- return null; } + + class OptionAction extends AbstractAction { + /** + * Constructs option action + * @param iconname String + */ + public OptionAction(String iconname) { + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + URL url = cl.getResource(iconname); + ImageIcon im = new ImageIcon(url); + putValue(Action.SMALL_ICON, im); + }; + + /** {@inheritDoc} */ + public void actionPerformed(ActionEvent event) { + JToggleButton button = (JToggleButton) event.getSource(); + Editor.setMulti(button.isSelected()); + } + } + + /** + * {@inheritDoc} + */ + public List<JComponent> controls() { + List<JComponent> controls = super.controls(); + JToggleButton button = new JToggleButton(new OptionAction("multiicon.gif")); + button.setSelected(Editor.isMulti()); + controls.add(button); + return controls; + } + } |