Changeset 805


Ignore:
Timestamp:
02/02/14 18:44:24 (10 years ago)
Author:
davidb
Message:

Variations of isAnchored() so panning can test if an Item is anchored Top/Bottom or Left/Right

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

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/actions/Misc.java

    r800 r805  
    12221222       
    12231223        public static void pan(Frame frame, int x, int y) {
    1224                 for(Item i : frame.getAllItems()) {
    1225                         if(i instanceof WidgetEdge || i instanceof WidgetCorner) {
     1224                for (Item i : frame.getAllItems()) {
     1225                        if (i instanceof WidgetEdge || i instanceof WidgetCorner) {
    12261226                                continue;
    1227                         } else if(i instanceof XRayable) {
    1228                             if (!i.isAnchored()) {
    1229                                 i.setPosition(i.getX() + x, i.getY() + y);
     1227                        }
     1228                        else {
     1229                            int new_x = i.getX();
     1230                            int new_y = i.getY();
     1231
     1232                            if (!i.isAnchoredX()) {
     1233                                new_x += x;
    12301234                            }
    1231                         } else {
    1232                             if (!i.isAnchored()) {
    1233                                 i.setXY(i.getX() + x, i.getY() + y);
     1235
     1236                            if (!i.isAnchoredY()) {
     1237                                new_y += y;
     1238                            }
     1239
     1240
     1241
     1242                            if ((new_x != x) || (new_y != y)) {
     1243
     1244                                if(i instanceof XRayable) {
     1245
     1246                                    i.setPosition(new_x,new_y);
     1247                                }
     1248
     1249                                else {
     1250                                    i.setXY(new_x,new_y);
     1251                                }
    12341252                            }
    12351253                        }
     
    12371255                        i.updatePolygon();
    12381256                }
    1239                 for(InteractiveWidget iw : frame.getInteractiveWidgets()) {
    1240                     if (!iw.isAnchored()) {
    1241                         iw.setPosition(iw.getX() + x, iw.getY() + y);
     1257
     1258                for (InteractiveWidget iw : frame.getInteractiveWidgets()) {
     1259
     1260                    int new_x = iw.getX();
     1261                    int new_y = iw.getY();
     1262                   
     1263                    if (!iw.isAnchoredX()) {
     1264                        new_x += x;
    12421265                    }
    1243                 }
     1266                   
     1267                    if (!iw.isAnchoredY()) {
     1268                        new_y += y;
     1269                    }
     1270                   
     1271                   
     1272                    if ((new_x != x) || (new_y != y)) {
     1273                       
     1274                        iw.setPosition(new_x,new_y);
     1275                    }
     1276                }
     1277
    12441278                // make sure we save the panning of the frame
    12451279                frame.change();
  • trunk/src/org/expeditee/items/Item.java

    r798 r805  
    28782878        }
    28792879
     2880        public boolean isAnchoredX() {
     2881            return ((_anchorLeft != null) || (_anchorRight != null));
     2882        }
     2883
     2884        public boolean isAnchoredY() {
     2885            return ((_anchorTop != null) || (_anchorBottom != null));
     2886        }
     2887
    28802888        public Float getAnchorLeft() {
    28812889                return _anchorLeft;
  • trunk/src/org/expeditee/items/XRayable.java

    r774 r805  
    251251
    252252        @Override
     253        public boolean isAnchoredX() {
     254                return _source.isAnchoredX();
     255        }
     256
     257        @Override
     258        public boolean isAnchoredY() {
     259                return _source.isAnchoredY();
     260        }
     261
     262        @Override
    253263        public void setAnchorTop(Float anchor) {
    254264                _source.setAnchorTop(anchor);
  • trunk/src/org/expeditee/items/widgets/InteractiveWidget.java

    r784 r805  
    17441744        public boolean isAnchored() {
    17451745                return getSource().isAnchored();
     1746        }
     1747
     1748        public boolean isAnchoredX() {
     1749                return getSource().isAnchoredX();
     1750        }
     1751
     1752        public boolean isAnchoredY() {
     1753                return getSource().isAnchoredY();
    17461754        }
    17471755       
  • trunk/src/org/expeditee/items/widgets/WidgetCorner.java

    r774 r805  
    152152        public boolean isAnchored() {
    153153                return _widgetSource.isAnchored();
     154        }
     155
     156        @Override
     157        public boolean isAnchoredX() {
     158                return _widgetSource.isAnchoredX();
     159        }
     160
     161        @Override
     162        public boolean isAnchoredY() {
     163                return _widgetSource.isAnchoredY();
    154164        }
    155165
  • trunk/src/org/expeditee/items/widgets/WidgetEdge.java

    r774 r805  
    125125        public boolean isAnchored() {
    126126                return _widgetSource.isAnchored();
     127        }
     128
     129        @Override
     130        public boolean isAnchoredX() {
     131                return _widgetSource.isAnchoredX();
     132        }
     133
     134        @Override
     135        public boolean isAnchoredY() {
     136                return _widgetSource.isAnchoredY();
    127137        }
    128138       
Note: See TracChangeset for help on using the changeset viewer.