Changeset 937
- Timestamp:
- 12/04/14 10:26:43 (9 years ago)
- Location:
- trunk/src/org/expeditee/items/MagneticConstraint
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/items/MagneticConstraint/AttractTextAction.java
r919 r937 1 / **2 * AttractTextAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import org.expeditee.items.Item;22 23 public class AttractTextAction implements24 MagneticConstraintActionWithArguments<Float> {25 26 @Override27 public boolean exec(Item item) {28 return exec(item, 0f);29 }30 31 @Override32 public boolean exec(Item item, Float... args) {33 if(item.getMagnetizedItemRight() == -1)34 return false;35 else if (item.getParent().getItemWithID(item.getMagnetizedItemRight()) == null) {36 item.setMagnetizedItemRight(null);37 return false;38 }39 else {40 final Item toMyRight = item.getParent().getItemWithID(item.getMagnetizedItemRight());41 toMyRight.setX(toMyRight.getX() - args[0]);42 new AttractTextAction().exec(toMyRight, args);43 return true;44 }45 }46 47 }1 ///** 2 // * AttractTextAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import org.expeditee.items.Item; 22 // 23 //public class AttractTextAction implements 24 // MagneticConstraintActionWithArguments<Float> { 25 // 26 // @Override 27 // public boolean exec(Item item) { 28 // return exec(item, 0f); 29 // } 30 // 31 // @Override 32 // public boolean exec(Item item, Float... args) { 33 // if(item.getMagnetizedItemRight() == -1) 34 // return false; 35 // else if (item.getParent().getItemWithID(item.getMagnetizedItemRight()) == null) { 36 // item.setMagnetizedItemRight(null); 37 // return false; 38 // } 39 // else { 40 // final Item toMyRight = item.getParent().getItemWithID(item.getMagnetizedItemRight()); 41 // toMyRight.setX(toMyRight.getX() - args[0]); 42 // new AttractTextAction().exec(toMyRight, args); 43 // return true; 44 // } 45 // } 46 // 47 //} -
trunk/src/org/expeditee/items/MagneticConstraint/NextItemDownAction.java
r919 r937 1 / **2 * NextItemDownAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import org.expeditee.gui.DisplayIO;22 import org.expeditee.items.Item;23 24 public class NextItemDownAction implements MagneticConstraintAction {25 26 @Override27 public boolean exec(Item item) {28 final Item below = item.getParent().getItemWithID(29 item.getMagnetizedItemBottom());30 return moveCursor(below);31 }32 33 private boolean moveCursor(final Item toMoveTo) {34 if (toMoveTo == null)35 return false;36 DisplayIO.setCursorPosition(toMoveTo.getPosition(), true);37 return true;38 }39 40 }1 ///** 2 // * NextItemDownAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import org.expeditee.gui.DisplayIO; 22 //import org.expeditee.items.Item; 23 // 24 //public class NextItemDownAction implements MagneticConstraintAction { 25 // 26 // @Override 27 // public boolean exec(Item item) { 28 // final Item below = item.getParent().getItemWithID( 29 // item.getMagnetizedItemBottom()); 30 // return moveCursor(below); 31 // } 32 // 33 // private boolean moveCursor(final Item toMoveTo) { 34 // if (toMoveTo == null) 35 // return false; 36 // DisplayIO.setCursorPosition(toMoveTo.getPosition(), true); 37 // return true; 38 // } 39 // 40 //} -
trunk/src/org/expeditee/items/MagneticConstraint/NextItemToLeftAction.java
r919 r937 1 / **2 * NextItemToLeftAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import java.awt.Font;22 import java.awt.Point;23 24 import org.expeditee.gui.Browser;25 import org.expeditee.gui.DisplayIO;26 import org.expeditee.gui.FrameGraphics;27 import org.expeditee.items.Item;28 import org.expeditee.items.Text;29 30 public class NextItemToLeftAction implements MagneticConstraintAction {31 32 @Override33 public boolean exec(final Item item) {34 final Item toLeft = item.getParent().getItemWithID(item.getMagnetizedItemLeft());35 return moveCursor(toLeft);36 }37 38 private boolean moveCursor(final Item toMoveTo) {39 if(toMoveTo == null) return false;40 if(toMoveTo instanceof Text) {41 final Text asText = (Text) toMoveTo;42 final Font font = asText.getFont();43 final int indent = Browser._theBrowser.g.getFontMetrics(font).stringWidth(asText.getText().substring(0, asText.getText().length() - 1));44 final Point position = toMoveTo.getPosition();45 DisplayIO.setCursorPosition(position.x + indent, position.y, false);46 FrameGraphics.refresh(false);47 } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), false);48 return true;49 }50 51 }1 ///** 2 // * NextItemToLeftAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import java.awt.Font; 22 //import java.awt.Point; 23 // 24 //import org.expeditee.gui.Browser; 25 //import org.expeditee.gui.DisplayIO; 26 //import org.expeditee.gui.FrameGraphics; 27 //import org.expeditee.items.Item; 28 //import org.expeditee.items.Text; 29 // 30 //public class NextItemToLeftAction implements MagneticConstraintAction { 31 // 32 // @Override 33 // public boolean exec(final Item item) { 34 // final Item toLeft = item.getParent().getItemWithID(item.getMagnetizedItemLeft()); 35 // return moveCursor(toLeft); 36 // } 37 // 38 // private boolean moveCursor(final Item toMoveTo) { 39 // if(toMoveTo == null) return false; 40 // if(toMoveTo instanceof Text) { 41 // final Text asText = (Text) toMoveTo; 42 // final Font font = asText.getFont(); 43 // final int indent = Browser._theBrowser.g.getFontMetrics(font).stringWidth(asText.getText().substring(0, asText.getText().length() - 1)); 44 // final Point position = toMoveTo.getPosition(); 45 // DisplayIO.setCursorPosition(position.x + indent, position.y, false); 46 // FrameGraphics.refresh(false); 47 // } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), false); 48 // return true; 49 // } 50 // 51 //} -
trunk/src/org/expeditee/items/MagneticConstraint/NextItemToRightAction.java
r919 r937 1 / **2 * NextItemToRightAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import java.awt.*;22 23 import org.expeditee.gui.Browser;24 import org.expeditee.gui.DisplayIO;25 import org.expeditee.gui.FrameGraphics;26 import org.expeditee.items.*;27 28 public class NextItemToRightAction implements MagneticConstraintAction {29 30 @Override31 public boolean exec(final Item item) {32 final Item toRight = item.getParent().getItemWithID(item.getMagnetizedItemRight());33 return moveCursor(toRight);34 }35 36 private boolean moveCursor(final Item toMoveTo) {37 if(toMoveTo == null) return false;38 if(toMoveTo instanceof Text) {39 final Text asText = (Text) toMoveTo;40 final Font font = asText.getFont();41 final int indent = Browser._theBrowser.g.getFontMetrics(font).charWidth(asText.getText().charAt(0));42 final Point position = toMoveTo.getPosition();43 DisplayIO.setCursorPosition(position.x + indent, position.y, false);44 FrameGraphics.refresh(false);45 } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), false);46 return true;47 }48 49 }1 ///** 2 // * NextItemToRightAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import java.awt.*; 22 // 23 //import org.expeditee.gui.Browser; 24 //import org.expeditee.gui.DisplayIO; 25 //import org.expeditee.gui.FrameGraphics; 26 //import org.expeditee.items.*; 27 // 28 //public class NextItemToRightAction implements MagneticConstraintAction { 29 // 30 // @Override 31 // public boolean exec(final Item item) { 32 // final Item toRight = item.getParent().getItemWithID(item.getMagnetizedItemRight()); 33 // return moveCursor(toRight); 34 // } 35 // 36 // private boolean moveCursor(final Item toMoveTo) { 37 // if(toMoveTo == null) return false; 38 // if(toMoveTo instanceof Text) { 39 // final Text asText = (Text) toMoveTo; 40 // final Font font = asText.getFont(); 41 // final int indent = Browser._theBrowser.g.getFontMetrics(font).charWidth(asText.getText().charAt(0)); 42 // final Point position = toMoveTo.getPosition(); 43 // DisplayIO.setCursorPosition(position.x + indent, position.y, false); 44 // FrameGraphics.refresh(false); 45 // } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), false); 46 // return true; 47 // } 48 // 49 //} -
trunk/src/org/expeditee/items/MagneticConstraint/NextItemUpAction.java
r919 r937 1 / **2 * NextItemUpAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import java.awt.Font;22 import java.awt.Point;23 24 import org.expeditee.gui.Browser;25 import org.expeditee.gui.DisplayIO;26 import org.expeditee.gui.FrameGraphics;27 import org.expeditee.items.*;28 29 public class NextItemUpAction implements MagneticConstraintAction {30 31 @Override32 public boolean exec(final Item item) {33 final Item above = item.getParent().getItemWithID(34 item.getMagnetizedItemTop());35 return moveCursor(above);36 }37 38 private boolean moveCursor(final Item toMoveTo) {39 if (toMoveTo == null)40 return false;41 if(toMoveTo instanceof Text) {42 final Text asText = (Text)toMoveTo;43 final Font font = asText.getFont();44 final int indent = Browser._theBrowser.g.getFontMetrics(font).stringWidth(asText.getText().substring(0, asText.getText().length() - 1));45 final Point position = toMoveTo.getPosition();46 DisplayIO.setCursorPosition(position.x + indent, position.y, false);47 FrameGraphics.refresh(false);48 } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), true);49 return true;50 }51 }1 ///** 2 // * NextItemUpAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import java.awt.Font; 22 //import java.awt.Point; 23 // 24 //import org.expeditee.gui.Browser; 25 //import org.expeditee.gui.DisplayIO; 26 //import org.expeditee.gui.FrameGraphics; 27 //import org.expeditee.items.*; 28 // 29 //public class NextItemUpAction implements MagneticConstraintAction { 30 // 31 // @Override 32 // public boolean exec(final Item item) { 33 // final Item above = item.getParent().getItemWithID( 34 // item.getMagnetizedItemTop()); 35 // return moveCursor(above); 36 // } 37 // 38 // private boolean moveCursor(final Item toMoveTo) { 39 // if (toMoveTo == null) 40 // return false; 41 // if(toMoveTo instanceof Text) { 42 // final Text asText = (Text)toMoveTo; 43 // final Font font = asText.getFont(); 44 // final int indent = Browser._theBrowser.g.getFontMetrics(font).stringWidth(asText.getText().substring(0, asText.getText().length() - 1)); 45 // final Point position = toMoveTo.getPosition(); 46 // DisplayIO.setCursorPosition(position.x + indent, position.y, false); 47 // FrameGraphics.refresh(false); 48 // } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), true); 49 // return true; 50 // } 51 //} -
trunk/src/org/expeditee/items/MagneticConstraint/RepelTextAction.java
r919 r937 1 / **2 * RepelTextAction.java3 * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org4 *5 * This program is free software: you can redistribute it and/or modify6 * it under the terms of the GNU General Public License as published by7 * the Free Software Foundation, either version 3 of the License, or8 * (at your option) any later version.9 *10 * This program is distributed in the hope that it will be useful,11 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * GNU General Public License for more details.14 *15 * You should have received a copy of the GNU General Public License16 * along with this program. If not, see <http://www.gnu.org/licenses/>.17 */18 19 package org.expeditee.items.MagneticConstraint;20 21 import org.expeditee.items.Item;22 23 public class RepelTextAction implements24 MagneticConstraintActionWithArguments<Float> {25 26 @Override27 public boolean exec(final Item item) {28 return exec(item, 0f);29 }30 31 @Override32 public boolean exec(final Item item, final Float... args) {33 if (item.getMagnetizedItemRight() == -1)34 return false;35 else if (item.getParent().getItemWithID(item.getMagnetizedItemRight()) == null) {36 item.setMagnetizedItemRight(null);37 return false;38 } else {39 final Item toMyRight = item.getParent().getItemWithID(40 item.getMagnetizedItemRight());41 System.err.println("Growing x: " + item.getX());42 System.err.println("Growing width: " + item.getBoundsWidth());43 System.err.println("Growing by: " + args[0]);44 System.err.println("To My Right X: " + toMyRight.getX());45 if(item.getX() + item.getBoundsWidth() + args[0] >= toMyRight.getX()) {46 toMyRight.setX(toMyRight.getX() + args[0]);47 new RepelTextAction().exec(toMyRight, args);48 return true;49 } else return false;50 }51 }52 53 }1 ///** 2 // * RepelTextAction.java 3 // * Copyright (C) 2010 New Zealand Digital Library, http://expeditee.org 4 // * 5 // * This program is free software: you can redistribute it and/or modify 6 // * it under the terms of the GNU General Public License as published by 7 // * the Free Software Foundation, either version 3 of the License, or 8 // * (at your option) any later version. 9 // * 10 // * This program is distributed in the hope that it will be useful, 11 // * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // * GNU General Public License for more details. 14 // * 15 // * You should have received a copy of the GNU General Public License 16 // * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 // */ 18 // 19 //package org.expeditee.items.MagneticConstraint; 20 // 21 //import org.expeditee.items.Item; 22 // 23 //public class RepelTextAction implements 24 // MagneticConstraintActionWithArguments<Float> { 25 // 26 // @Override 27 // public boolean exec(final Item item) { 28 // return exec(item, 0f); 29 // } 30 // 31 // @Override 32 // public boolean exec(final Item item, final Float... args) { 33 // if (item.getMagnetizedItemRight() == -1) 34 // return false; 35 // else if (item.getParent().getItemWithID(item.getMagnetizedItemRight()) == null) { 36 // item.setMagnetizedItemRight(null); 37 // return false; 38 // } else { 39 // final Item toMyRight = item.getParent().getItemWithID( 40 // item.getMagnetizedItemRight()); 41 // System.err.println("Growing x: " + item.getX()); 42 // System.err.println("Growing width: " + item.getBoundsWidth()); 43 // System.err.println("Growing by: " + args[0]); 44 // System.err.println("To My Right X: " + toMyRight.getX()); 45 // if(item.getX() + item.getBoundsWidth() + args[0] >= toMyRight.getX()) { 46 // toMyRight.setX(toMyRight.getX() + args[0]); 47 // new RepelTextAction().exec(toMyRight, args); 48 // return true; 49 // } else return false; 50 // } 51 // } 52 // 53 //}
Note:
See TracChangeset
for help on using the changeset viewer.