Ignore:
Timestamp:
02/03/14 13:46:41 (10 years ago)
Author:
davidb
Message:

When setting an anchor left/rightr/top/bottom on a Dot, it now looks for connected items that are constrained to the the same x (vertical) or y (horizontal) value, and sets the anchor status of that item to be the same.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/Dot.java

    r720 r812  
    6161
    6262        @Override
     63        public void setAnchorLeft(Float anchor) {
     64                if (!isLineEnd()) {
     65                        super.setAnchorLeft(anchor);
     66                        return;
     67                }
     68               
     69                invalidateFill();
     70                invalidateCommonTrait(ItemAppearence.PreMoved);
     71               
     72                this._anchorLeft = anchor;
     73                this._anchorRight = null;
     74               
     75                int oldX = getX();
     76                if (anchor != null) {
     77                        float deltaX = anchor - oldX;
     78                        anchorConnected(AnchorEdgeType.Left, deltaX);
     79                }
     80               
     81                invalidateCommonTrait(ItemAppearence.PostMoved);
     82                invalidateFill();
     83        }
     84
     85        @Override
     86        public void setAnchorRight(Float anchor) {
     87                if (!isLineEnd()) {
     88                        super.setAnchorRight(anchor);
     89                        return;
     90                }
     91                invalidateFill();
     92                invalidateCommonTrait(ItemAppearence.PreMoved);
     93               
     94                this._anchorRight = anchor;
     95                this._anchorLeft = null;
     96               
     97                int oldX = getX();
     98                if (anchor != null) {
     99                        float deltaX = FrameGraphics.getMaxFrameSize().width - anchor
     100                                        - getBoundsWidth() - oldX;
     101
     102                        anchorConnected(AnchorEdgeType.Right, deltaX);
     103                }
     104       
     105                invalidateCommonTrait(ItemAppearence.PostMoved);
     106                invalidateFill();
     107        }
     108
     109        @Override
    63110        public void setAnchorTop(Float anchor) {
    64111                if (!isLineEnd()) {
     
    68115                invalidateFill();
    69116                invalidateCommonTrait(ItemAppearence.PreMoved);
     117               
     118                this._anchorTop = anchor;
     119                this._anchorBottom = null;
     120               
    70121                int oldY = getY();
    71122                if (anchor != null) {
     
    73124                        anchorConnected(AnchorEdgeType.Top, deltaY);
    74125                }
    75                 this._anchorTop = anchor;
    76                 this._anchorBottom = null;
     126
    77127                invalidateCommonTrait(ItemAppearence.PostMoved);
    78128                invalidateFill();
     
    87137                invalidateFill();
    88138                invalidateCommonTrait(ItemAppearence.PreMoved);
     139               
     140                this._anchorBottom = anchor;
     141                this._anchorTop = null;
     142               
    89143                int oldY = getY();
    90144                if (anchor != null) {
     
    93147                        anchorConnected(AnchorEdgeType.Bottom, deltaY);
    94148                }
    95                 this._anchorBottom = anchor;
    96                 this._anchorTop = null;
     149
    97150                invalidateCommonTrait(ItemAppearence.PostMoved);
    98151                invalidateFill();
     
    100153
    101154
    102         @Override
    103         public void setAnchorLeft(Float anchor) {
    104                 if (!isLineEnd()) {
    105                         super.setAnchorLeft(anchor);
    106                         return;
    107                 }
    108                 invalidateFill();
    109                 invalidateCommonTrait(ItemAppearence.PreMoved);
    110                 int oldX = getX();
    111                 if (anchor != null) {
    112                         float deltaX = anchor - oldX;
    113 
    114                         anchorConnected(AnchorEdgeType.Left, deltaX);
    115                 }
    116                 this._anchorLeft = anchor;
    117                 this._anchorRight = null;
    118                
    119                 invalidateCommonTrait(ItemAppearence.PostMoved);
    120                 invalidateFill();
    121         }
    122 
    123         @Override
    124         public void setAnchorRight(Float anchor) {
    125                 if (!isLineEnd()) {
    126                         super.setAnchorRight(anchor);
    127                         return;
    128                 }
    129                 invalidateFill();
    130                 invalidateCommonTrait(ItemAppearence.PreMoved);
    131                 int oldX = getX();
    132                 if (anchor != null) {
    133                         float deltaX = FrameGraphics.getMaxFrameSize().width - anchor
    134                                         - getBoundsWidth() - oldX;
    135 
    136                         anchorConnected(AnchorEdgeType.Right, deltaX);
    137                 }
    138                 this._anchorRight = anchor;
    139                 this._anchorLeft = null;
    140                 invalidateCommonTrait(ItemAppearence.PostMoved);
    141                 invalidateFill();
    142         }
    143155
    144156        @Override
Note: See TracChangeset for help on using the changeset viewer.