Changeset 977


Ignore:
Timestamp:
12/08/15 11:22:31 (8 years ago)
Author:
bln4
Message:

Updates to how Next and LastItem magnetic constraint actions work; so as to deal with close items.

Location:
trunk/src/org/expeditee
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/DisplayIO.java

    r927 r977  
    177177                                .getFloatMouseX(), FrameMouseActions.MouseY, isShiftDown,
    178178                                isCtrlDown);
    179                                
    180                 if(isCtrlDown || DisplayIO.getFloatMouseX() + 1 >= newMouse.x && DisplayIO.getFloatMouseX() <= newMouse.x) {
     179                                               
     180                if(isCtrlDown
     181                                || (DisplayIO.getFloatMouseX() + 1 >= newMouse.x && DisplayIO.getFloatMouseX() <= newMouse.x)
     182                                || (DisplayIO.getFloatMouseX() > newMouse.x && cursorMovement == Text.RIGHT)) {
    181183                        if(cursorMovement == Text.RIGHT && !MagneticConstraints.getInstance().rightBorderHit(text)) {
    182184                                MagneticConstraints.getInstance().endOfLineHit(text);
  • trunk/src/org/expeditee/gui/FrameKeyboardActions.java

    r949 r977  
    249249
    250250        public synchronized void keyTyped(KeyEvent e) {
    251 
    252251                if (Simple.isProgramRunning()) {
    253252                        if (e.isControlDown()
  • trunk/src/org/expeditee/gui/FrameUtils.java

    r919 r977  
    11981198        if (possibles.size() == 1)
    11991199            return possibles.get(0);
    1200 
     1200       
    12011201        // return closest x,y pair to mouse
    12021202        Item closest = possibles.get(0);
  • trunk/src/org/expeditee/items/Item.java

    r954 r977  
    11571157        public void setTooltips(final List<String> tooltips) {
    11581158                if(tooltips == null || tooltips.size() == 0) _tooltip = new Tooltip();
    1159                 else for(final String content: tooltips) _tooltip.addTooltip(content);
     1159                else for(final String content: tooltips) _tooltip.addTooltip(content, this);
    11601160        }
    11611161       
    11621162        public void setTooltip(final String tooltip) {
    11631163                if(tooltip != null && tooltip.trim().length() > 0) {
    1164                         _tooltip.addTooltip(tooltip);
     1164                        _tooltip.addTooltip(tooltip, this);
    11651165                }
    11661166        }
     
    11701170        }
    11711171       
    1172         public List<Text> getTooltipItems() {
     1172        public Collection<Text> getTooltipItems() {
    11731173                return _tooltip.getTooltips();
    11741174        }
  • trunk/src/org/expeditee/items/MagneticConstraint/Actions/LastItemAction.java

    r967 r977  
    22
    33import org.expeditee.gui.DisplayIO;
     4import org.expeditee.gui.FrameGraphics;
    45import org.expeditee.gui.FrameUtils;
    56import org.expeditee.items.Item;
     
    1718                final int idTop = item.getMagnetizedItemTop();
    1819                if(idLeft != -1) {
    19                         moveCursor(item.getParent().getItemWithID(idLeft));
     20                        moveCursor(item.getParent().getItemWithID(idLeft), item);
    2021//                     
    2122//                      System.err.println("#Current item " + FrameUtils.getCurrentItem());
     
    2728                        return true;
    2829                } else if (idTop != -1) {
    29                         moveCursor(item.getParent().getItemWithID(idTop));
     30                        moveCursor(item.getParent().getItemWithID(idTop), item);
    3031                        MagneticConstraints.Log(this.getClass(), new Item[]{item, item.getParent().getItemWithID(idTop)},
    3132                                        Line.getLineContainingToken(item).toArray(new Item[]{}),
     
    3536        }
    3637       
    37         private boolean moveCursor(final Item toMoveTo) {
     38        private boolean moveCursor(final Item toMoveTo, Item toMoveFrom) {
    3839                if(toMoveTo == null) return false;
    3940                if(toMoveTo instanceof Text) {
    4041                        //System.err.println("Last item requests move to item with text: " + toMoveTo.getText());
    4142//                      final Text asText = (Text) toMoveTo;
    42 //                      final Point position = toMoveTo.getPosition();
     43//                      final java.awt.Point position = toMoveTo.getPosition();
    4344//                      DisplayIO.setCursorPosition(position.x + asText.getPixelBoundsUnion().width, position.y, false);
    4445//                      FrameGraphics.refresh(false);
    4546                        DisplayIO.setTextCursor((Text)toMoveTo, Text.END);
     47                        if(FrameUtils.getCurrentItem() != toMoveTo) {
     48                                Line.getLineFromToken(toMoveFrom).deltaX(1);
     49                                moveCursor(toMoveTo, toMoveFrom);
     50                        }
    4651                } else DisplayIO.setCursorPosition(toMoveTo.getPosition(), false);
    4752                return true;
  • trunk/src/org/expeditee/items/Tooltip.java

    r952 r977  
    11package org.expeditee.items;
    22
    3 import java.util.*;
     3import java.util.Collection;
     4import java.util.HashMap;
     5import java.util.LinkedList;
     6import java.util.List;
     7import java.util.Map;
    48
    59import org.expeditee.settings.templates.TemplateSettings;
     
    711public class Tooltip {
    812       
    9         private List<Text> tooltipItems = new LinkedList<Text>();
     13        Tooltip() { }
    1014       
    11         public Text addTooltip(String content) {
     15        private Map<Text, Item> tooltipItems = new HashMap<Text, Item>();
     16       
     17        public Text addTooltip(String content, final Item toItem) {
    1218                if(content.trim().toLowerCase().startsWith("text") && content.contains(":"))
    1319                        content = content.substring(content.indexOf(':') + 1);
    14 //              final Text tooltip = new Text(content);
    1520                final Text tooltip = TemplateSettings.TooltipTemplate.get().copy();
    1621                tooltip.setText(content);
    17 //              return addTooltip((Text) tooltip.getParentOrCurrentFrame().getTooltipTextItem(content));
    18                 return addTooltip(tooltip);
     22                return addTooltip(tooltip, toItem);
    1923        }
    2024       
    21         public Text addTooltip(final Text tooltip) {
    22                 tooltipItems.add(tooltip);
     25        public Text addTooltip(final Text tooltip, final Item toItem) {
     26                tooltipItems.put(tooltip, toItem);
    2327                return tooltip;
    2428        }
    2529       
    26         public List<Text> getTooltips() { return tooltipItems; }
     30        public Collection<Text> getTooltips() { return tooltipItems.keySet(); }
    2731       
    2832        public List<String> asStringList() {
    2933                final List<String> ret = new LinkedList<String>();
    30                 for(final Text tooltip: tooltipItems) ret.add(tooltip.getText());
     34                for(final Text tooltip: tooltipItems.keySet()) ret.add(tooltip.getText());
    3135                return ret;
    3236        }
     
    3438        public int getWidth() {
    3539                int max = 0;
    36                 for(final Text tooltip: tooltipItems) if(tooltip.getBoundsWidth() > max) max = tooltip.getBoundsWidth();
     40                for(final Text tooltip: tooltipItems.keySet())
     41                        if(tooltip.getBoundsWidth() > max) max = tooltip.getBoundsWidth();
    3742                return max;
    3843        }
     
    4045        public int getHeight() {
    4146                int max = 0;
    42                 for(final Text tooltip: tooltipItems) if(tooltip.getBoundsWidth() > max) max = tooltip.getBoundsHeight();
     47                for(final Text tooltip: tooltipItems.keySet())
     48                        if(tooltip.getBoundsWidth() > max) max = tooltip.getBoundsHeight();
    4349                return max;
    4450        }
     
    4652        public int getCollectiveHeight() {
    4753                int height = 0;
    48                 for(final Text tooltip: tooltipItems) height += tooltip.getBoundsHeight();
     54                for(final Text tooltip: tooltipItems.keySet()) height += tooltip.getBoundsHeight();
    4955                return height;
    5056        }
Note: See TracChangeset for help on using the changeset viewer.