Changeset 145
- Timestamp:
- 07/16/08 18:10:56 (16 years ago)
- Location:
- trunk/src/org/expeditee
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gui/AttributeUtils.java
r121 r145 178 178 pColor)); 179 179 _SetMethods.put("fc", Item.class.getMethod("setFillColor", pColor)); 180 180 _SetMethods.put("gc", Item.class.getMethod("setGradientColor", pColor)); 181 _SetMethods.put("gradientcolor", Item.class.getMethod("setGradientColor", 182 pColor)); 183 181 184 _SetMethods.put("fillpattern", Item.class.getMethod( 182 185 "setFillPattern", pString)); -
trunk/src/org/expeditee/gui/Browser.java
r142 r145 5 5 import java.awt.Graphics; 6 6 import java.awt.Graphics2D; 7 import java.awt.MouseInfo; 8 import java.awt.Point; 7 9 import java.awt.RenderingHints; 8 10 import java.awt.Toolkit; … … 68 70 _theBrowser = new Browser(); 69 71 _theBrowser.requestFocus(); 72 FrameMouseActions.MouseX = MouseInfo.getPointerInfo().getLocation().x - _theBrowser.getOrigin().x; 73 FrameMouseActions.MouseY = MouseInfo.getPointerInfo().getLocation().y - _theBrowser.getOrigin().y; 70 74 } 71 75 }); 72 76 77 } 78 79 public Point getOrigin() { 80 return getContentPane().getLocationOnScreen(); 73 81 } 74 82 -
trunk/src/org/expeditee/gui/ColorUtils.java
r108 r145 13 13 * the color wheel from which to find the next color 14 14 * @param skip 15 * a color to ignore, for example the current background color when getting the next foreground color or 16 * null if no colors should be skipped 15 * a color to ignore, for example the current background color 16 * when getting the next foreground color or null if no colors 17 * should be skipped 17 18 * @return the next color on the color wheel 18 19 */ 19 20 public static Color getNextColor(Color color, Color[] wheel, Color skip) { 20 if (color == null) 21 return wheel[0]; 22 // search through the colour wheel to find the next colour 23 int pos = -1; 24 for (int i = 0; i < wheel.length; i++) { 25 if (color.equals(wheel[i])) { 26 pos = i; 27 break; 21 if (color == null) { 22 color = wheel[0]; 23 } else { 24 // search through the colour wheel to find the next colour 25 int pos = -1; 26 for (int i = 0; i < wheel.length; i++) { 27 if (color.equals(wheel[i])) { 28 pos = i; 29 break; 30 } 28 31 } 32 pos++; 33 pos = pos % wheel.length; 34 color = wheel[pos]; 29 35 } 30 pos++; 31 pos = pos % wheel.length; 32 color = wheel[pos]; 33 36 34 37 if (skip != null && skip.equals(color)) 35 38 return getNextColor(color, wheel, skip); -
trunk/src/org/expeditee/gui/DisplayIO.java
r143 r145 370 370 .getInstance().clone(); 371 371 FreeItems.getInstance().clear(); // NOTE: This will invalidate 372 372 // all the cleared free items 373 373 FrameGraphics.refresh(true); 374 374 FreeItems.getInstance().addAll(tmp); 375 375 376 376 } 377 377 378 378 // Changing frames is a Save point for saveable entities: 379 379 EntitySaveManager.getInstance().saveAll(); … … 733 733 setTextCursor((Text) i, Text.END, true); 734 734 } 735 736 public static void translateCursor(int deltaX, int deltaY) { 737 setCursorPosition(FrameMouseActions.MouseX + deltaX, 738 FrameMouseActions.MouseY + deltaY, false); 739 } 735 740 } -
trunk/src/org/expeditee/gui/Frame.java
r143 r145 1142 1142 public void clearOverlays() { 1143 1143 for (Overlay o : _overlays.keySet()) { 1144 removeOverlay(o.Frame); 1145 } 1144 for (Item i : o.Frame.getItems()) { 1145 i 1146 .onParentStateChanged(new ItemParentStateChangedEvent( 1147 this, 1148 ItemParentStateChangedEvent.EVENT_TYPE_REMOVED_VIA_OVERLAY, 1149 o.permission)); 1150 } 1151 } 1152 _overlayItems.clear(); 1153 _overlays.clear(); 1146 1154 assert (_overlays.isEmpty()); 1147 1155 } -
trunk/src/org/expeditee/gui/FrameKeyboardActions.java
r143 r145 5 5 import java.awt.datatransfer.DataFlavor; 6 6 import java.awt.datatransfer.StringSelection; 7 import java.awt.event.InputEvent; 7 8 import java.awt.event.KeyEvent; 8 9 import java.awt.event.KeyListener; 10 import java.awt.event.MouseEvent; 9 11 import java.awt.geom.Point2D; 10 12 import java.util.ArrayList; … … 297 299 */ 298 300 public void keyPressed(KeyEvent e) { 299 SessionStats.AddFrameEvent("k" + KeyEvent.getKeyText(e.getKeyCode())); 301 int keyCode = e.getKeyCode(); 302 SessionStats.AddFrameEvent("k" + KeyEvent.getKeyText(keyCode)); 300 303 301 304 FrameUtils.ResponseTimer.restart(); 302 e.consume();305 //e.consume(); 303 306 304 307 if (Actions.isAgentRunning()) { 305 if ( e.getKeyCode()== KeyEvent.VK_ESCAPE)308 if (keyCode == KeyEvent.VK_ESCAPE) 306 309 Actions.stopAgent(); 307 310 else … … 312 315 } 313 316 314 if (e.getKeyCode() >= KeyEvent.VK_F1 315 && e.getKeyCode() <= KeyEvent.VK_F12) { 316 functionKey(FunctionKey.values()[e.getKeyCode() - KeyEvent.VK_F1 317 + 1], e.isShiftDown(), e.isControlDown()); 318 return; 319 } else if (e.isControlDown() && e.getKeyCode() != KeyEvent.VK_CONTROL) { 320 controlChar(e.getKeyCode(), e.isShiftDown()); 321 return; 322 } 323 324 // Do escape last so Ctl+Escape does not perform DropDown 325 if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { 317 if (keyCode >= KeyEvent.VK_F1 && keyCode <= KeyEvent.VK_F12) { 318 functionKey(FunctionKey.values()[keyCode - KeyEvent.VK_F1 + 1], e 319 .isShiftDown(), e.isControlDown()); 320 return; 321 } else if (e.isAltDown()) { 322 int distance = e.isShiftDown() ? 5 : 20; 323 switch (keyCode) { 324 case KeyEvent.VK_1: 325 DisplayIO.pressMouse(InputEvent.BUTTON1_MASK); 326 break; 327 case KeyEvent.VK_2: 328 DisplayIO.pressMouse(InputEvent.BUTTON2_MASK); 329 break; 330 case KeyEvent.VK_3: 331 DisplayIO.pressMouse(InputEvent.BUTTON3_MASK); 332 break; 333 case KeyEvent.VK_LEFT: 334 DisplayIO.translateCursor(-distance, 0); 335 break; 336 case KeyEvent.VK_RIGHT: 337 DisplayIO.translateCursor(distance, 0); 338 break; 339 case KeyEvent.VK_UP: 340 DisplayIO.translateCursor(0, -distance); 341 break; 342 case KeyEvent.VK_DOWN: 343 DisplayIO.translateCursor(0, distance); 344 break; 345 } 346 return; 347 } else if (e.isControlDown()) { 348 if (keyCode == KeyEvent.VK_CONTROL) { 349 FrameMouseActions.control(e); 350 } else { 351 controlChar(e.getKeyCode(), e.isShiftDown()); 352 } 353 return; 354 } 355 356 switch (keyCode) { 357 case KeyEvent.VK_ESCAPE: 358 // Do escape after control so Ctl+Escape does not perform DropDown 326 359 functionKey(FunctionKey.DropDown, false, false); 327 360 SessionStats.Escape(); 328 return;329 }330 331 switch (e.getKeyCode()) {332 case KeyEvent.VK_CONTROL:333 FrameMouseActions.control(e);334 361 break; 335 362 case KeyEvent.VK_LEFT: … … 452 479 if (e.getKeyCode() == KeyEvent.VK_CONTROL) { 453 480 FrameMouseActions.control(e); 481 } else if (e.isAltDown()) { 482 switch (e.getKeyCode()) { 483 case KeyEvent.VK_1: 484 DisplayIO.releaseMouse(InputEvent.BUTTON1_MASK); 485 break; 486 case KeyEvent.VK_2: 487 DisplayIO.releaseMouse(InputEvent.BUTTON2_MASK); 488 break; 489 case KeyEvent.VK_3: 490 DisplayIO.releaseMouse(InputEvent.BUTTON3_MASK); 491 break; 492 } 454 493 } 455 494 } … … 476 515 return; 477 516 478 Text text = (Text) on;517 Text text = (Text) on; 479 518 String string = text.copySelectedText(); 480 481 if (string == null || string.length() == 0)519 520 if (string == null || string.length() == 0) 482 521 string = text.getText(); 483 522 484 523 // add the text of the item to the clipboard 485 524 StringSelection selection = new StringSelection(string); … … 507 546 Item current = FrameUtils.getCurrentItem(); 508 547 Frame currentFrame = DisplayIO.getCurrentFrame(); 509 // Link or delink an item 510 if (key == KeyEvent.VK_L) { 548 int distance = isShiftDown ? 5 : 20; 549 switch (key) { 550 case KeyEvent.VK_1: 551 DisplayIO.pressMouse(InputEvent.BUTTON1_MASK); 552 break; 553 case KeyEvent.VK_2: 554 DisplayIO.pressMouse(InputEvent.BUTTON2_MASK); 555 break; 556 case KeyEvent.VK_3: 557 DisplayIO.pressMouse(InputEvent.BUTTON3_MASK); 558 break; 559 case KeyEvent.VK_LEFT: 560 DisplayIO.translateCursor(-distance, 0); 561 break; 562 case KeyEvent.VK_RIGHT: 563 DisplayIO.translateCursor(distance, 0); 564 break; 565 case KeyEvent.VK_UP: 566 DisplayIO.translateCursor(0, -distance); 567 break; 568 case KeyEvent.VK_DOWN: 569 DisplayIO.translateCursor(0, distance); 570 break; 571 case KeyEvent.VK_L: 511 572 // If its not linked then link it to its self 512 573 if (current instanceof Text && current.getLink() == null) { 513 574 String text = ((Text) current).getText(); 514 // Ignore the annotation if there is one515 if (text.charAt(0)== '@')575 // Ignore the annotation if there is one 576 if (text.charAt(0) == '@') 516 577 text = text.substring(1); 517 578 518 579 if (FrameIO.isValidFrameName(text)) { 519 580 current.setLink(text); … … 525 586 current.setLink(null); 526 587 } 527 } else if (key == KeyEvent.VK_G) { 588 break; 589 case KeyEvent.VK_G: 528 590 // If its not linked then link it to its self 529 591 if (current instanceof Text) { … … 542 604 return; 543 605 } 544 } else if (key == KeyEvent.VK_A) { 606 break; 607 case KeyEvent.VK_A: 545 608 // If its not linked then link it to its self 546 609 if (current instanceof Text) { … … 565 628 } 566 629 } 567 } else if (key == KeyEvent.VK_V) { 630 break; 631 case KeyEvent.VK_V: 568 632 try { 569 633 // read in the data from the clipboard … … 587 651 List<Item> clipboard = new ArrayList<Item>(); 588 652 clipboard.add(text); 589 FrameMouseActions.merge(clipboard, 590 clicked); 653 FrameMouseActions.merge(clipboard, clicked); 591 654 text.delete(); 592 655 } else { … … 617 680 } 618 681 // if this is a copy command 619 } else if (key == KeyEvent.VK_C) { 682 break; 683 case KeyEvent.VK_C: 620 684 if (current == null) 621 685 return; … … 654 718 Refresh(); 655 719 return; 656 } else if (key == KeyEvent.VK_X) {720 case KeyEvent.VK_X: 657 721 if (current == null) 658 722 return; … … 663 727 } 664 728 copyItemToClipboard(current); 665 if (current instanceof Text && ((Text)current).hasSelection()){666 ((Text) current).cutSelectedText();667 ((Text) current).clearSelection();668 } else{669 FrameMouseActions.delete(current);670 } 671 return; 672 } else if (key == KeyEvent.VK_M) {729 if (current instanceof Text && ((Text) current).hasSelection()) { 730 ((Text) current).cutSelectedText(); 731 ((Text) current).clearSelection(); 732 } else { 733 FrameMouseActions.delete(current); 734 } 735 return; 736 case KeyEvent.VK_M: 673 737 if (current == null) 674 738 return; … … 682 746 current.setLinkMark(newValue); 683 747 current.setActionMark(newValue); 684 } else if (key == KeyEvent.VK_Z) { 748 break; 749 case KeyEvent.VK_Z: 685 750 DisplayIO.getCurrentFrame().undo(); 686 751 return; 687 } else if (key == KeyEvent.VK_D) {752 case KeyEvent.VK_D: 688 753 // perform a delete operation 689 754 processChar((char) KeyEvent.VK_DELETE, isShiftDown); 690 } else if (key == KeyEvent.VK_DELETE) { 755 break; 756 case KeyEvent.VK_DELETE: 691 757 // perform a delete operation 692 758 FrameMouseActions.delete(current); 693 } else if (key == KeyEvent.VK_F) { 759 break; 760 case KeyEvent.VK_SPACE: 761 if (isShiftDown) { 762 FrameMouseActions.rightButton(); 763 } else { 764 FrameMouseActions.middleButton(); 765 } 766 break; 767 case KeyEvent.VK_F: 694 768 // perform a delete operation 695 769 Actions.PerformAction(currentFrame, null, "Format"); 696 770 return; 697 } else if (key == KeyEvent.VK_J) { 698 771 case KeyEvent.VK_J: 699 772 Text text = getCurrentTextItem(); 700 773 if (text == null) … … 706 779 707 780 text.setJustification(Justification.left); 708 } else if (key == KeyEvent.VK_S) { 781 break; 782 case KeyEvent.VK_S: 783 Text text2 = getCurrentTextItem(); 709 784 // split the current text item 710 Text text = getCurrentTextItem(); 711 if (text == null) 712 return; 713 List<String> textLines = text.getTextList(); 785 if (text2 == null) 786 return; 787 List<String> textLines = text2.getTextList(); 714 788 if (textLines.size() <= 1) 715 789 return; 716 790 // remove all except the first line of text from the item being 717 791 // split 718 text .setText(textLines.get(0));719 int y = text .getY();792 text2.setText(textLines.get(0)); 793 int y = text2.getY(); 720 794 for (int i = 1; i < textLines.size(); i++) { 721 Text newText = text .copy();795 Text newText = text2.copy(); 722 796 newText.setText(textLines.get(i)); 723 797 y += newText.getBoundsHeight(); … … 728 802 currentFrame.addItem(newText); 729 803 } 730 } else if (key == KeyEvent.VK_ENTER) { 731 Item currentItem = FrameUtils.getCurrentItem(); 732 FrameMouseActions.leftButton(currentItem, FrameUtils 733 .getCurrentItems(currentItem)); 734 FrameMouseActions.updateCursor(); 735 } else if (key == KeyEvent.VK_BACK_SPACE) { 804 break; 805 case KeyEvent.VK_ENTER: 806 FrameMouseActions.leftButton(); 807 break; 808 case KeyEvent.VK_BACK_SPACE: 736 809 DisplayIO.Back(); 810 break; 737 811 } 738 812 FrameGraphics.Repaint(); … … 787 861 Collection<Item> connected = firstConnected.getAllConnected(); 788 862 789 // only resize lines if they are not surrounding some non line790 // items791 // boolean resizeLines = true;792 // for (Item ip : enclosed) {793 // if (ip != null) {794 // if (!(ip instanceof Line) && !(ip.isLineEnd())) {795 // resizeLines = false;796 // break;797 // }798 // }799 // }800 801 863 switch (key) { 802 864 case SizeUp: 803 // if ((!(firstConnected instanceof Line) &&804 // !(firstConnected instanceof Dot)))805 865 SetSize(firstConnected, repeat, false, true); 806 866 break; 807 867 case SizeDown: 808 // if ((!(firstConnected instanceof Line) &&809 // !(firstConnected instanceof Dot)))810 868 SetSize(firstConnected, -repeat, false, true); 811 869 break; … … 813 871 if (connected.size() > 0) { 814 872 for (Item d : lineEnds) { 815 SetFillColor(d, isShiftDown); 873 if (isControlDown) 874 SetGradientColor(d, isShiftDown); 875 else 876 SetFillColor(d, isShiftDown); 816 877 break; 817 878 } … … 1361 1422 if (item == null) 1362 1423 return; 1363 1424 1364 1425 if (!item.hasPermission(Permission.full)) { 1365 1426 MessageBay 1366 .displayMessage("Insufficient permission to the frame's backgroundcolor");1427 .displayMessage("Insufficient permission to change fill color"); 1367 1428 return; 1368 1429 } … … 1373 1434 color = null; 1374 1435 else 1375 color = ColorUtils.getNextColor(color, Item.FILL_COLOR_WHEEL, null); 1436 color = ColorUtils.getNextColor(color, Item.FILL_COLOR_WHEEL, toSet 1437 .getGradientColor()); 1376 1438 1377 1439 // if (color == null) { … … 1380 1442 1381 1443 toSet.setFillColor(color); 1444 toSet.getParent().setChanged(true); 1445 1446 FrameGraphics.Repaint(); 1447 } 1448 1449 private static void SetGradientColor(Item item, boolean setTransparent) { 1450 if (item == null) 1451 return; 1452 1453 if (!item.hasPermission(Permission.full)) { 1454 MessageBay 1455 .displayMessage("Insufficient permission to change gradient color"); 1456 return; 1457 } 1458 1459 Item toSet = item; 1460 Color color = toSet.getGradientColor(); 1461 if (setTransparent) 1462 color = null; 1463 else 1464 color = ColorUtils.getNextColor(color, Item.FILL_COLOR_WHEEL, toSet 1465 .getFillColor()); 1466 1467 // if (color == null) { 1468 // MessageBay.displayMessage("FillColor is now transparent"); 1469 // } 1470 1471 toSet.setGradientColor(color); 1382 1472 toSet.getParent().setChanged(true); 1383 1473 … … 1431 1521 // Toggling color of circle center changes the circle fill color 1432 1522 if (item.hasEnclosures()) { 1433 SetFillColor(item.getEnclosures().iterator().next(), 1434 setTransparent); 1523 if (setBackgroundColor) { 1524 SetGradientColor(item.getEnclosures().iterator().next(), 1525 setTransparent); 1526 } else { 1527 SetFillColor(item.getEnclosures().iterator().next(), 1528 setTransparent); 1529 } 1435 1530 } else if (setBackgroundColor) { 1436 1531 color = item.getPaintBackgroundColor(); -
trunk/src/org/expeditee/gui/FrameMouseActions.java
r143 r145 610 610 * This method handles all left-click actions 611 611 */ 612 p ublicstatic void leftButton(Item clicked, Collection<Item> clickedIn) {612 private static void leftButton(Item clicked, Collection<Item> clickedIn) { 613 613 // if the user is pointing at something then either follow the link or 614 614 // do TDFC … … 730 730 } 731 731 732 public static void middleButton() { 733 Item currentItem = FrameUtils.getCurrentItem(); 734 middleButton(currentItem, FrameUtils 735 .getCurrentItems(currentItem)); 736 updateCursor(); 737 } 738 739 public static void rightButton() { 740 Item currentItem = FrameUtils.getCurrentItem(); 741 rightButton(currentItem, FrameUtils 742 .getCurrentItems(currentItem)); 743 updateCursor(); 744 } 745 746 public static void leftButton() { 747 Item currentItem = FrameUtils.getCurrentItem(); 748 leftButton(currentItem, FrameUtils 749 .getCurrentItems(currentItem)); 750 updateCursor(); 751 } 752 732 753 /** 733 754 * This method handles all middle-click actions … … 1949 1970 } 1950 1971 1951 public static void delete(Item toDelete) { 1972 public static void delete(Item toDelete) { 1952 1973 FrameUtils.setLastEdited(null); 1953 1974 _offX = _offY = 0; … … 2091 2112 updateCursor(); 2092 2113 ItemUtils.EnclosedCheck(current.getItems()); 2093 if (toDelete.hasOverlay()) 2114 if (toDelete.hasOverlay()){ 2094 2115 FrameUtils.Parse(current, false); 2116 FrameGraphics.requestRefresh(false); 2117 } 2095 2118 FrameGraphics.Repaint(); 2096 2119 } … … 2677 2700 2678 2701 if (_controlDown) { 2679 _offX = 0; 2680 _offY = 0; 2702 //TODO why are these two lines needed?!?! 2703 //_offX = 0; 2704 //_offY = 0; 2681 2705 } else { 2682 2706 resetOffset(); -
trunk/src/org/expeditee/io/DefaultFrameWriter.java
r143 r145 77 77 _ItemTags.put("u", Item.class.getMethod("getHighlight", param)); 78 78 _ItemTags.put("e", Item.class.getMethod("getFillColor", param)); 79 _ItemTags.put("E", Item.class.getMethod("getGradientColor", param)); 80 79 81 _ItemTags.put("i", Item.class.getMethod("getFillPattern", param)); 80 82 _ItemTags.put("o", Item.class.getMethod("getOwner", param)); -
trunk/src/org/expeditee/io/FrameReader.java
r108 r145 83 83 _ItemTags.put('u', Item.class.getMethod("setHighlight", pBool)); 84 84 _ItemTags.put('e', Item.class.getMethod("setFillColor", pColor)); 85 _ItemTags.put('E', Item.class.getMethod("setGradientColor", pColor)); 85 86 _ItemTags.put('i', Item.class.getMethod("setFillPattern", pString)); 86 87 _ItemTags.put('o', Item.class.getMethod("setOwner", pString)); -
trunk/src/org/expeditee/items/Circle.java
r143 r145 204 204 invalidateCommonTrait(ItemAppearence.FillColor); 205 205 } 206 207 @Override 208 public void setGradientColor(Color c) { 209 super.setGradientColor(c); 210 invalidateCommonTrait(ItemAppearence.GradientColor); 211 } 206 212 207 213 // @Override -
trunk/src/org/expeditee/items/Item.java
r143 r145 5 5 import java.awt.Cursor; 6 6 import java.awt.Dimension; 7 import java.awt.GradientPaint; 7 8 import java.awt.Graphics2D; 8 9 import java.awt.Point; … … 157 158 dest.setTag(source.getTag()); 158 159 dest.setFillColor(source.getFillColor()); 160 dest.setGradientColor(source.getGradientColor()); 159 161 dest.setFillPattern(source.getFillPattern()); 160 162 … … 254 256 // A fill color of null represents transparent 255 257 private Color _colorFill = null; 258 259 // A gradient color of null represents NO gradient 260 private Color _colorGradient = null; 256 261 257 262 // A fore color of null represents the default color … … 946 951 if (isFloating()) { 947 952 // TODO experiment with adding alpha when picking up filled 948 // items... 949 // Slows things down quite alot!! 953 // items... Slows things down quite alot!! 950 954 fillColor = new Color(fillColor.getRed(), fillColor.getGreen(), 951 955 fillColor.getBlue()); 952 956 } 953 957 g.setColor(fillColor); 954 // The painting is not efficient enough for gradients... 955 // Polygon s = getEnclosedShape(); 956 // Rectangle b = s.getBounds(); 957 // GradientPaint gp = new GradientPaint((int) (b.x + b.width * 0.3), 958 // b.y, getFillColor(), (int) (b.x + b.width * 1.3), b.y, 959 // Color.white); 960 // g.setPaint(gp); 961 // g.fillPolygon(s); 962 g.fillPolygon(getEnclosedShape()); 958 Color gradientColor = getGradientColor(); 959 if (gradientColor != null) { 960 // The painting is not efficient enough for gradients... 961 Polygon s = getEnclosedShape(); 962 Rectangle b = s.getBounds(); 963 GradientPaint gp = new GradientPaint( 964 (int) (b.x + b.width * 0.3), b.y, fillColor, 965 (int) (b.x + b.width * 1.3), b.y, gradientColor); 966 g.setPaint(gp); 967 g.fillPolygon(s); 968 } else { 969 g.fillPolygon(getEnclosedShape()); 970 } 963 971 } 964 972 } … … 1234 1242 invalidateCommonTrait(ItemAppearence.FillColor); 1235 1243 invalidateFill(); 1244 } 1245 1246 public void setGradientColor(Color c) { 1247 _colorGradient = c; 1248 1249 for (Line line : _lines) { 1250 Item other = line.getOppositeEnd(this); 1251 if (other.getGradientColor() != c) 1252 other.setGradientColor(c); 1253 } 1254 1255 invalidateCommonTrait(ItemAppearence.GradientColor); 1256 invalidateFill(); 1257 } 1258 1259 public Color getGradientColor() { 1260 return _colorGradient; 1236 1261 } 1237 1262 … … 2319 2344 // will ID still 2320 2345 // be -1 when saving a frame? 2321 // assert (i != null);2346 // assert (i != null); 2322 2347 return !isVisible() || getID() < 0 || offScreenTopOrLeft(); 2323 2348 } -
trunk/src/org/expeditee/items/ItemAppearence.java
r122 r145 19 19 Removed, 20 20 ToggleDashed, 21 Thickness 21 Thickness, GradientColor 22 22 } -
trunk/src/org/expeditee/items/Text.java
r143 r145 1770 1770 if (!isAnnotation() || getLink() == null) 1771 1771 return false; 1772 return ItemUtils.startsWithTag(this, "@ao") 1773 || ItemUtils.startsWithTag(this, "@v"); 1772 String text = getText().toLowerCase(); 1773 //TODO make it so can just check the _overlay variable 1774 return text.startsWith("@o") || text.startsWith("@ao") 1775 || text.startsWith("@v"); 1774 1776 } 1775 1777 -
trunk/src/org/expeditee/items/XRayable.java
r124 r145 102 102 103 103 @Override 104 public void setGradientColor(Color c) { 105 _source.setGradientColor(c); 106 } 107 108 @Override 104 109 public float getThickness() { 105 110 return _source.getThickness();
Note:
See TracChangeset
for help on using the changeset viewer.