- Timestamp:
- 04/15/14 12:56:30 (10 years ago)
- Location:
- trunk/src/org/expeditee
- Files:
-
- 10 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/DisplayIO.java
r730 r906 26 26 import org.expeditee.items.Picture; 27 27 import org.expeditee.items.Text; 28 import org.expeditee.items.MagneticConstraint.MagneticConstraints; 28 29 import org.expeditee.settings.UserSettings; 29 30 import org.expeditee.stats.SessionStats; … … 157 158 .getFloatMouseX(), FrameMouseActions.MouseY, isShiftDown, 158 159 isCtrlDown); 160 161 if(isCtrlDown || DisplayIO.getFloatMouseX() + 1 >= newMouse.x && DisplayIO.getFloatMouseX() <= newMouse.x) { 162 if(cursorMovement == Text.RIGHT && !MagneticConstraints.getInstance().rightBorderHit(text)) { 163 MagneticConstraints.getInstance().endOfLineHit(text); 164 } else { 165 if(cursorMovement == Text.LEFT && !MagneticConstraints.getInstance().leftBorderHit(text)) { 166 MagneticConstraints.getInstance().startOfLineHit(text); 167 } 168 } 169 newMouse.x = DisplayIO.getFloatMouseX(); 170 newMouse.y = DisplayIO.getFloatMouseY(); 171 } 159 172 160 173 if (!newSize && cursorType == Item.TEXT_CURSOR) { … … 577 590 title.append(" [").append(SessionStats.getShortStats()).append(']'); 578 591 579 _Browser.setTitle(DisplayIO.title + " ~~~ " + title.toString()); 592 if(DisplayIO.title != "") 593 _Browser.setTitle(DisplayIO.title + " ~~~ " + title.toString()); 594 else _Browser.setTitle(title.toString()); 580 595 } 581 596 -
trunk/src/org/expeditee/gui/FrameUtils.java
r843 r906 1795 1795 final java.lang.reflect.Method toInvoke = c.getMethod("getFileURL"); 1796 1796 final URL fileURL = (URL)toInvoke.invoke(urlConnection); 1797 BryceSaysPleaseNameMe(new File(fileURL.getPath()));1797 extractResourcesFromFolder(new File(fileURL.getPath())); 1798 1798 } else { 1799 1799 File folder = new File(docURL.toURI().getPath()); 1800 BryceSaysPleaseNameMe(folder);1800 extractResourcesFromFolder(folder); 1801 1801 } 1802 1802 } … … 1806 1806 } 1807 1807 1808 private static void BryceSaysPleaseNameMe(File folder) throws IOException {1808 private static void extractResourcesFromFolder(File folder) throws IOException { 1809 1809 LinkedList<File> items = new LinkedList<File>(); 1810 1810 items.addAll(Arrays.asList(folder.listFiles())); -
trunk/src/org/expeditee/io/DefaultFrameReader.java
r737 r906 12 12 import java.util.LinkedHashMap; 13 13 import java.util.List; 14 import java.util.LinkedList; 14 15 15 16 import org.expeditee.gui.Frame; … … 24 25 public abstract class DefaultFrameReader implements FrameReader { 25 26 protected static LinkedHashMap<Character, Method> _ItemTags = null; 27 28 protected static List<Character> _DelayedItemTags = null; 26 29 27 30 protected static LinkedHashMap<Character, Method> _FrameTags = null; … … 49 52 _ItemTags = new LinkedHashMap<Character, Method>(); 50 53 _FrameTags = new LinkedHashMap<Character, Method>(); 54 _DelayedItemTags = new LinkedList<Character>(); 51 55 52 56 try { … … 139 143 _ItemTags.put('L', Line.class.getMethod("setStartItem", pItem)); 140 144 _ItemTags.put('C', Constraint.class.getMethod("getID", (Class[]) null)); 145 146 _ItemTags.put('[', Item.class.getMethod("setMagnetizedItemLeft", pInt)); 147 _DelayedItemTags.add('['); 148 _ItemTags.put(']', Item.class.getMethod("setMagnetizedItemRight", pInt)); 149 _DelayedItemTags.add(']'); 150 _ItemTags.put('^', Item.class.getMethod("setMagnetizedItemTop", pInt)); 151 _DelayedItemTags.add('^'); 152 _ItemTags.put('_', Item.class.getMethod("setMagnetizedItemBottom", pInt)); 153 _DelayedItemTags.add('_'); 141 154 } catch (Exception e) { 142 155 e.printStackTrace(); -
trunk/src/org/expeditee/io/DefaultFrameWriter.java
r874 r906 123 123 _ItemTags.put('p', Item.class.getMethod("getPermission")); 124 124 125 _ItemTags.put('[', Item.class.getMethod("getMagnetizedItemLeft")); 126 _ItemTags.put(']', Item.class.getMethod("getMagnetizedItemRight")); 127 _ItemTags.put('^', Item.class.getMethod("getMagnetizedItemTop")); 128 _ItemTags.put('_', Item.class.getMethod("getMagnetizedItemBottom")); 125 129 } catch (Exception e) { 126 130 e.printStackTrace(); -
trunk/src/org/expeditee/io/ExpReader.java
r659 r906 6 6 import java.lang.reflect.Method; 7 7 import java.util.HashMap; 8 import java.util.LinkedList; 9 import java.util.List; 8 10 9 11 import org.expeditee.gui.Frame; … … 48 50 protected static boolean isValidLine(String s) { 49 51 return s.length() >= 2 && s.charAt(1) == ' ' 50 && Character.isLetter(s.charAt(0));52 && (Character.isLetter(s.charAt(0)) || s.charAt(0) == '[' || s.charAt(0) == ']' || s.charAt(0) == '^' || s.charAt(0) == '_'); 51 53 } 52 54 … … 69 71 newFrame.setName(_frameName); 70 72 73 final List<DelayedAction> delayedActions = new LinkedList<DelayedAction>(); 74 71 75 // First read all the header lines 72 76 while (_reader.ready() && !(next = _reader.readLine()).equals("Z")) { … … 95 99 _linePoints.put(currentItem.getID(), currentItem); 96 100 newFrame.addItem(currentItem); 101 } else if (currentItem != null && actionShouldBeDelayed(getTag(next))) { 102 delayedActions.add(new DelayedAction(currentItem, next)); 97 103 } else if (currentItem != null) { 98 104 processBodyLine(currentItem, next); 105 } else { 106 System.err.println("Error while reading in frame (ExpReader): Found body line but no current item to apply it to."); 99 107 } 100 108 } … … 140 148 } 141 149 } 150 151 for(DelayedAction action: delayedActions) 152 action.exec(); 142 153 143 154 // Read the stats … … 173 184 } 174 185 186 private class DelayedAction { 187 private Item theItem; 188 private String theLine; 189 190 DelayedAction(final Item theItem, final String theLine) { 191 this.theItem = theItem; 192 this.theLine = theLine; 193 } 194 195 void exec() { 196 processBodyLine(theItem, theLine); 197 } 198 } 199 175 200 // Stores points used when constructing lines 176 201 private HashMap<Integer, Item> _linePoints = new HashMap<Integer, Item>(); … … 213 238 else 214 239 return ""; 240 } 241 242 protected static boolean actionShouldBeDelayed(Character c) { 243 return _DelayedItemTags.contains(c); 215 244 } 216 245 -
trunk/src/org/expeditee/io/flowlayout/XGroupItem.java
r904 r906 213 213 } 214 214 215 public int getItemSpanLength() { 216 return yitems_span_array.length; 217 } 218 215 219 public YOverlappingItemsSpan getYOverlappingItemsSpan(int y) 216 220 { -
trunk/src/org/expeditee/items/Item.java
r851 r906 3197 3197 return _filled; 3198 3198 } 3199 3200 private Item _magnetizedItemLeft = null; 3201 private Item _magnetizedItemRight = null; 3202 private Item _magnetizedItemTop = null; 3203 private Item _magnetizedItemBottom = null; 3204 3205 public int getMagnetizedItemLeft() { 3206 if(_magnetizedItemLeft != null) return _magnetizedItemLeft.getID(); 3207 else return -1; 3208 } 3209 3210 public void setMagnetizedItemLeft(final Item item) { 3211 _magnetizedItemLeft = item; 3212 } 3213 3214 public void setMagnetizedItemLeft(final int id) { 3215 setMagnetizedItemLeft(this.getParent().getItemWithID(id)); 3216 } 3217 3218 public int getMagnetizedItemRight() { 3219 if(_magnetizedItemRight != null) return _magnetizedItemRight.getID(); 3220 else return -1; 3221 } 3222 3223 public void setMagnetizedItemRight(final Item item) { 3224 _magnetizedItemRight = item; 3225 } 3226 3227 public void setMagnetizedItemRight(final int id) { 3228 setMagnetizedItemRight(this.getParent().getItemWithID(id)); 3229 } 3230 3231 public int getMagnetizedItemTop() { 3232 if(_magnetizedItemTop != null) return _magnetizedItemTop.getID(); 3233 else return -1; 3234 } 3235 3236 public void setMagnetizedItemTop(final Item item) { 3237 _magnetizedItemTop = item; 3238 } 3239 3240 public void setMagnetizedItemTop(final int id) { 3241 setMagnetizedItemTop(this.getParent().getItemWithID(id)); 3242 } 3243 3244 public int getMagnetizedItemBottom() { 3245 if(_magnetizedItemBottom != null) return _magnetizedItemBottom.getID(); 3246 else return -1; 3247 } 3248 3249 public void setMagnetizedItemBottom(final Item item) { 3250 _magnetizedItemBottom = item; 3251 } 3252 3253 public void setMagnetizedItemBottom(final int id) { 3254 setMagnetizedItemBottom(this.getParent().getItemWithID(id)); 3255 } 3199 3256 } -
trunk/src/org/expeditee/items/Text.java
r905 r906 24 24 import java.awt.geom.Rectangle2D; 25 25 import java.io.File; 26 import java.io.IOException; 26 27 27 import java.text.AttributedString; 28 28 import java.util.Collection; … … 41 41 import org.expeditee.gui.FrameUtils; 42 42 import org.expeditee.gui.FreeItems; 43 import org.expeditee.items.MagneticConstraint.MagneticConstraints; 43 44 import org.expeditee.math.ExpediteeJEP; 44 45 import org.expeditee.settings.experimental.ExperimentalFeatures; … … 691 692 */ 692 693 public Point2D.Float insertText(String text, float mouseX, float mouseY) { 693 return insertText(text, mouseX, mouseY, -1); 694 final Point2D.Float newPos = insertText(text, mouseX, mouseY, -1); 695 return newPos; 694 696 } 695 697 … … 1409 1411 return; 1410 1412 1413 int preChangeWidth = 0; 1414 if (_poly != null) 1415 preChangeWidth = _poly.getBounds().width; 1416 1411 1417 _poly = new Polygon(); 1412 1418 … … 1457 1463 1458 1464 _poly.translate(getX(), getY()); 1465 1466 if(preChangeWidth != 0 && preChangeWidth != _poly.getBounds().width) 1467 if(_poly.getBounds().width > preChangeWidth) MagneticConstraints.getInstance().textGrown(this, _poly.getBounds().width - preChangeWidth); 1468 else MagneticConstraints.getInstance().textShrunk(this, preChangeWidth - _poly.getBounds().width); 1459 1469 } 1460 1470
Note:
See TracChangeset
for help on using the changeset viewer.