[Patchanim-commit] SF.net SVN: patchanim: [215] trunk/patchanim/src/com/mebigfatguy/patchanim
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2008-02-18 18:36:38
|
Revision: 215
http://patchanim.svn.sourceforge.net/patchanim/?rev=215&view=rev
Author: dbrosius
Date: 2008-02-18 10:36:45 -0800 (Mon, 18 Feb 2008)
Log Message:
-----------
add shift menu to patch context menu
Modified Paths:
--------------
trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java
trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java
trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties
Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java
===================================================================
--- trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java 2008-02-18 18:16:41 UTC (rev 214)
+++ trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java 2008-02-18 18:36:45 UTC (rev 215)
@@ -44,6 +44,7 @@
import com.mebigfatguy.patchanim.OutOfBoundsColor;
import com.mebigfatguy.patchanim.PatchAnimDocument;
import com.mebigfatguy.patchanim.PatchColor;
+import com.mebigfatguy.patchanim.ShiftDirection;
import com.mebigfatguy.patchanim.gui.events.ActivePatchChangedEvent;
import com.mebigfatguy.patchanim.gui.events.ActivePatchChangedListener;
import com.mebigfatguy.patchanim.gui.events.DocumentChangedEvent;
@@ -305,7 +306,42 @@
radialGradient.add(outward);
radialGradient.add(inward);
menu.add(radialGradient);
+
+ JMenu shift = new JMenu(rb.getString(PatchAnimBundle.SHIFT));
+ JMenuItem left = new JMenuItem(rb.getString(PatchAnimBundle.LEFT));
+ left.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent ae) {
+ shiftPatch(ShiftDirection.Left);
+ }
+ });
+ JMenuItem down = new JMenuItem(rb.getString(PatchAnimBundle.DOWN));
+ down.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent ae) {
+ shiftPatch(ShiftDirection.Down);
+ }
+ });
+
+ JMenuItem right = new JMenuItem(rb.getString(PatchAnimBundle.RIGHT));
+ right.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent ae) {
+ shiftPatch(ShiftDirection.Right);
+ }
+ });
+
+ JMenuItem up = new JMenuItem(rb.getString(PatchAnimBundle.UP));
+ up.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent ae) {
+ shiftPatch(ShiftDirection.Up);
+ }
+ });
+
+ shift.add(left);
+ shift.add(down);
+ shift.add(right);
+ shift.add(up);
+ menu.add(shift);
+
JMenuItem invert = new JMenuItem(rb.getString(PatchAnimBundle.INVERT));
invert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
@@ -474,6 +510,43 @@
mediator.setNewActivePatch(patch);
}
+ private void shiftPatch(ShiftDirection dir) {
+ PatchPanelMediator mediator = PatchPanelMediator.getMediator();
+ CombinedPatch patch = mediator.getActivePatch();
+ PatchCoords coords = patch.getPatch(color);
+ int order = coords.getOrder();
+
+ PatchCoords srcCoords = (PatchCoords)coords.clone();
+
+ for (int i = 0; i < order; i++) {
+ for (int j = 0; j < order; j++) {
+ Coordinate c = coords.getCoordinate(i, j);
+ Coordinate srcC = null;
+ switch (dir) {
+ case Left:
+ srcC = srcCoords.getCoordinate((i + 1) % order, j);
+ break;
+
+ case Down:
+ srcC = srcCoords.getCoordinate(i, (j - 1 + order) % order);
+ break;
+
+ case Right:
+ srcC = srcCoords.getCoordinate((i - 1 + order) % order, j);
+ break;
+
+ case Up:
+ srcC = srcCoords.getCoordinate(i, (j + 1) % order);
+ break;
+ }
+
+ c.setColor(srcC.getColor());
+ coords.setCoordinate(i, j, c);
+ }
+ }
+ mediator.setNewActivePatch(patch);
+ }
+
@Override
public void paintComponent(Graphics g) {
Shape clip = g.getClip();
Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java
===================================================================
--- trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java 2008-02-18 18:16:41 UTC (rev 214)
+++ trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java 2008-02-18 18:36:45 UTC (rev 215)
@@ -89,6 +89,11 @@
public static final String RADIALGRADIENT = "patchanim.radialgradient";
public static final String OUTWARD = "patchanim.outward";
public static final String INWARD = "patchanim.inward";
+ public static final String SHIFT = "patchanim.shift";
+ public static final String LEFT = "patchanim.left";
+ public static final String DOWN = "patchanim.down";
+ public static final String RIGHT = "patchanim.right";
+ public static final String UP = "patchanim.up";
public static final String INVERT = "patchanim.invert";
public static final String COPYPATCHFROM = "patchanim.copypatchfrom";
public static final String REDPATCH = "patchanim.redpatch";
Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties
===================================================================
--- trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties 2008-02-18 18:16:41 UTC (rev 214)
+++ trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties 2008-02-18 18:36:45 UTC (rev 215)
@@ -82,6 +82,11 @@
patchanim.radialgradient = Radial Gradient
patchanim.outward = Outward
patchanim.inward = Inward
+patchanim.shift = Shift
+patchanim.left = Left
+patchanim.down = Down
+patchanim.right = Right
+patchanim.up = Up
patchanim.invert = Invert
patchanim.copypatchfrom = Copy patch from...
patchanim.redpatch = Red Patch
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|