Package com.cburch.draw.model

Examples of com.cburch.draw.model.CanvasObject


  public static ModelReorderAction createRaise(CanvasModel model,
      Collection<? extends CanvasObject> objects) {
    List<ReorderRequest> reqs = new ArrayList<ReorderRequest>();
    Map<CanvasObject, Integer> zmap = ZOrder.getZIndex(objects, model);
    for(Map.Entry<CanvasObject, Integer> entry : zmap.entrySet()) {
      CanvasObject obj = entry.getKey();
      int from = entry.getValue().intValue();
      CanvasObject above = ZOrder.getObjectAbove(obj, model, objects);
      if (above != null) {
        int to = ZOrder.getZIndex(above, model);
        if (objects.contains(above)) {
          to--;
        }
View Full Code Here


  public static ModelReorderAction createLower(CanvasModel model,
      Collection<? extends CanvasObject> objects) {
    List<ReorderRequest> reqs = new ArrayList<ReorderRequest>();
    Map<CanvasObject, Integer> zmap = ZOrder.getZIndex(objects, model);
    for(Map.Entry<CanvasObject, Integer> entry : zmap.entrySet()) {
      CanvasObject obj = entry.getKey();
      int from = entry.getValue().intValue();
      CanvasObject above = ZOrder.getObjectBelow(obj, model, objects);
      if (above != null) {
        int to = ZOrder.getZIndex(above, model);
        if (objects.contains(above)) {
          to++;
        }
View Full Code Here

      Collection<? extends CanvasObject> objects) {
    List<ReorderRequest> reqs = new ArrayList<ReorderRequest>();
    Map<CanvasObject, Integer> zmap = ZOrder.getZIndex(objects, model);
    int to = model.getObjectsFromBottom().size() - 1;
    for(Map.Entry<CanvasObject, Integer> entry : zmap.entrySet()) {
      CanvasObject obj = entry.getKey();
      int from = entry.getValue().intValue();
      reqs.add(new ReorderRequest(obj, from, to));
    }
    if (reqs.isEmpty()) {
      return null;
View Full Code Here

      Collection<? extends CanvasObject> objects) {
    List<ReorderRequest> reqs = new ArrayList<ReorderRequest>();
    Map<CanvasObject, Integer> zmap = ZOrder.getZIndex(objects, model);
    int to = 0;
    for(Map.Entry<CanvasObject, Integer> entry : zmap.entrySet()) {
      CanvasObject obj = entry.getKey();
      int from = entry.getValue().intValue();
      reqs.add(new ReorderRequest(obj, from, to));
    }
    if (reqs.isEmpty()) {
      return null;
View Full Code Here

 
  static String getShapesName(Collection<CanvasObject> coll) {
    if (coll.size() != 1) {
      return Strings.get("shapeMultiple");
    } else {
      CanvasObject shape = coll.iterator().next();
      return shape.getDisplayName();
    }
  }
View Full Code Here

  }
 
  private void handlePopupTrigger(MouseEvent e) {
    Location loc = Location.create(e.getX(), e.getY());
    List<CanvasObject> objects = canvas.getModel().getObjectsFromTop();
    CanvasObject clicked = null;
    for (CanvasObject o : objects) {
      if (o.contains(loc, false)) {
        clicked = o;
        break;
      }
View Full Code Here

    Selection selection = canvas.getSelection();
    selection.setHandleSelected(null);
   
    // see whether user is pressing within an existing handle
    int halfSize = getHandleSize(canvas) / 2;
    CanvasObject clicked = null;
    for (CanvasObject shape : selection.getSelected()) {
      List<Handle> handles = shape.getHandles(null);
      for (Handle han : handles) {
        int dx = han.getX() - mx;
        int dy = han.getY() - my;
View Full Code Here

    int action = curAction;
    curAction = IDLE;
   
    if (!dragEffective) {
      Location loc = dragEnd;
      CanvasObject o = getObjectAt(model, loc.getX(), loc.getY(), false);
      if (o != null) {
        Handle han = o.canDeleteHandle(loc);
        if (han != null) {
          selection.setHandleSelected(han);
        } else {
          han = o.canInsertHandle(loc);
          if (han != null) {
            selection.setHandleSelected(han);
          }
        }
      }
    }
   
    Location start = dragStart;
    int x1 = e.getX();
    int y1 = e.getY();
    switch (action) {
    case MOVE_ALL:
      Location moveDelta = selection.getMovingDelta();
      if (dragEffective && !moveDelta.equals(Location.create(0, 0))) {
        canvas.doAction(new ModelTranslateAction(model, selected,
            moveDelta.getX(), moveDelta.getY()));
      }
      break;
    case MOVE_HANDLE:
      HandleGesture gesture = curGesture;
      curGesture = null;
      if (dragEffective && gesture != null) {
        ModelMoveHandleAction act;
        act = new ModelMoveHandleAction(model, gesture);
        canvas.doAction(act);
        Handle result = act.getNewHandle();
        if (result != null) {
          Handle h = result.getObject().canDeleteHandle(result.getLocation());
          selection.setHandleSelected(h);
        }
      }
      break;
    case RECT_SELECT:
      if (dragEffective) {
        Bounds bds = Bounds.create(start).add(x1, y1);
        selection.setSelected(canvas.getModel().getObjectsIn(bds), true);
      } else {
        CanvasObject clicked;
        clicked = getObjectAt(model, start.getX(), start.getY(), true);
        if (clicked != null) {
          selection.clearSelected();
          selection.setSelected(clicked, true);
        }
      }
      break;
    case RECT_TOGGLE:
      if (dragEffective) {
        Bounds bds = Bounds.create(start).add(x1, y1);
        selection.toggleSelected(canvas.getModel().getObjectsIn(bds));
      } else {
        CanvasObject clicked;
        clicked = getObjectAt(model, start.getX(), start.getY(), true);
        selection.setSelected(clicked, !selected.contains(clicked));
      }
      break;
    }
View Full Code Here

      break;
    default:
      drawHandles = true;
    }

    CanvasObject moveHandleObj = null;
    if (gesture != null) moveHandleObj = gesture.getHandle().getObject();
    if (drawHandles) {
      // unscale the coordinate system so that the stroke width isn't scaled
      double zoom = 1.0;
      Graphics gCopy = g.create();
View Full Code Here

    }
    boolean canAddCtrl = false;
    boolean canRemCtrl = false;
    Handle handle = sel.getSelectedHandle();
    if (handle != null && canChange) {
      CanvasObject o = handle.getObject();
      canAddCtrl = o.canInsertHandle(handle.getLocation()) != null;
      canRemCtrl = o.canDeleteHandle(handle.getLocation()) != null;
    }
   
    setEnabled(LogisimMenuBar.CUT, selHasRemovable && canChange);
    setEnabled(LogisimMenuBar.COPY, !selEmpty);
    setEnabled(LogisimMenuBar.PASTE, canChange && clipExists);
View Full Code Here

TOP

Related Classes of com.cburch.draw.model.CanvasObject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.