Ignore:
Timestamp:
09/15/15 12:32:33 (9 years ago)
Author:
bln4
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/MagneticConstraint/Actions/DeleteAction.java

    r934 r963  
    11package org.expeditee.items.MagneticConstraint.Actions;
    2 
    3 import java.awt.event.KeyEvent;
    42
    53import org.expeditee.gui.DisplayIO;
     
    75import org.expeditee.items.Text;
    86import org.expeditee.items.MagneticConstraint.MagneticConstraintAction;
    9 import org.expeditee.items.MagneticConstraint.MagneticConstraints;
     7import org.expeditee.items.MagneticConstraint.Utilities.Line;
     8import org.expeditee.items.MagneticConstraint.Utilities.Paragraph;
    109import org.expeditee.items.MagneticConstraint.Utilities.TextLogic;
    1110
     
    1413        @Override
    1514        public boolean exec(final Item item) {
    16                 if(TextLogic.XIsAfterCharacters((Text) item, DisplayIO.getMouseX())) {
    17                         if(item.getMagnetizedItemRight() != -1) {
    18                                 final Text toMyRight = (Text) item.getParent().getItemWithID(item.getMagnetizedItemRight());
    19                                 final int deltaX = TextLogic.DistanceThroughTextWithXCharacters(toMyRight, 1);
    20                                 DisplayIO.setCursorPosition((float) toMyRight.getPixelBoundsUnion().getX() + deltaX, DisplayIO.getFloatMouseY());
    21                                 MagneticConstraints.getInstance().keyHit(KeyEvent.VK_BACK_SPACE, toMyRight);
    22                                 DisplayIO.MoveCursorToEndOfItem(item);
     15                if(item == null || ((Text) item).isEmpty()) {
     16                        final Text temp = DisplayIO.getCurrentFrame().createNewText(".");
     17                        callback(temp);
     18                        if(temp.getMagnetizedItemRight() != -1)
     19                                DisplayIO.setTextCursor((Text) temp.getParent().getItemWithID(temp.getMagnetizedItemRight()), Text.HOME);
     20                        else if(temp.getMagnetizedItemBottom() != -1)
     21                                DisplayIO.setTextCursor((Text) temp.getParent().getItemWithID(temp.getMagnetizedItemBottom()), Text.HOME);
     22                        temp.delete();
     23                        callback(temp);
     24                        return true;
     25                } else if(item.getMagnetizedItemRight() != -1 && TextLogic.XIsAfterCharacters((Text) item, DisplayIO.getMouseX())) {
     26                        new NextItemAction().exec(item);
     27                        return true;
     28                } else if(item.getMagnetizedItemBottom() != -1 && TextLogic.XIsAfterCharacters((Text) item, DisplayIO.getMouseX())) {
     29                        callback(item);
     30                        final Line currentLine = Line.getLineFromToken(item);
     31                        final Line nextLine = currentLine.next();
     32                        if(nextLine != null && Paragraph.getParagraphFromLine(currentLine).contains(nextLine)) {
     33                                currentLine.appendLine(nextLine);
     34                                DisplayIO.setTextCursor((Text) item, Text.END);
     35                                callback(item);
    2336                                return true;
    24                         } else if (item.getMagnetizedItemBottom() != -1) {
    25                                 final Text belowMe = (Text) item.getParent().getItemWithID(item.getMagnetizedItemBottom());
    26                                 DisplayIO.setCursorPosition(belowMe.getPosition());
    27                                 MagneticConstraints.getInstance().keyHit(KeyEvent.VK_BACK_SPACE, belowMe);
    28                                 return true;
    29                         } else return false;
    30                 } else return false;
     37                        }
     38                }
     39                return false;
    3140        }
    3241
Note: See TracChangeset for help on using the changeset viewer.