Package com.cburch.draw.canvas

Examples of com.cburch.draw.canvas.Selection


        return displayName.toString();
    }

    @Override
    public void doIt(Project proj) {
        Selection sel = canvas.getSelection();
        sel.clearSelected();
        if (toRemove != null) {
            canvasModel.removeObjects(toRemove.keySet());
        }

        int dest = AppearanceCanvas.getMaxIndex(canvasModel) + 1;
        if (toAdd != null) {
            canvasModel.addObjects(dest, toAdd);
        }


        AppearanceAnchor anchor = findAnchor(canvasModel);
        if (anchor != null && anchorNewLocation != null) {
            anchorOldLocation = anchor.getLocation();
            anchor.translate(anchorNewLocation.getX() - anchorOldLocation.getX(),
                    anchorNewLocation.getY() - anchorOldLocation.getY());
        }
        if (anchor != null && anchorNewFacing != null) {
            anchorOldFacing = anchor.getFacing();
            anchor.setValue(AppearanceAnchor.FACING, anchorNewFacing);
        }
        sel.setSelected(newSelection, true);
        canvas.repaint();
    }
View Full Code Here


                    anchorOldLocation.getY() - anchorNewLocation.getY());
        }
        if (anchor != null && anchorOldFacing != null) {
            anchor.setValue(AppearanceAnchor.FACING, anchorOldFacing);
        }
        Selection sel = canvas.getSelection();
        sel.clearSelected();
        if (toAdd != null) {
            canvasModel.removeObjects(toAdd);
        }

        if (toRemove != null) {
            canvasModel.addObjects(toRemove);
        }

        sel.setSelected(oldSelection, true);
        canvas.repaint();
    }
View Full Code Here

    @Override
    public void computeEnabled() {
        Project proj = canvas.getProject();
        Circuit circ = canvas.getCircuit();
        Selection sel = canvas.getSelection();
        boolean selEmpty = sel.isEmpty();
        boolean canChange = proj.getLogisimFile().contains(circ);
        boolean clipExists = !Clipboard.isEmpty();
        boolean selHasRemovable = false;
        for (CanvasObject o : sel.getSelected()) {
            if (!(o instanceof AppearanceElement)) {
                selHasRemovable = true;
            }
        }
        boolean canRaise;
        boolean canLower;
        if (!selEmpty && canChange) {
            Map<CanvasObject, Integer> zs = ZOrder.getZIndex(sel.getSelected(),
                    canvas.getModel());
            int zmin = Integer.MAX_VALUE;
            int zmax = Integer.MIN_VALUE;
            int count = 0;
            for (Map.Entry<CanvasObject, Integer> entry : zs.entrySet()) {
                if (!(entry.getKey() instanceof AppearanceElement)) {
                    count++;
                    int z = entry.getValue().intValue();
                    if (z < zmin) {
                        zmin = z;
                    }

                    if (z > zmax) {
                        zmax = z;
                    }

                }
            }
            int maxPoss = AppearanceCanvas.getMaxIndex(canvas.getModel());
            if (count > 0 && count <= maxPoss) {
                canRaise = zmin <= maxPoss - count;
                canLower = zmax >= count;
            } else {
                canRaise = false;
                canLower = false;
            }
        } else {
            canRaise = false;
            canLower = false;
        }
        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;
        }
View Full Code Here

                anchorLocation, clip.getAnchorFacing()));
    }

    @Override
    public void delete() {
        Selection sel = canvas.getSelection();
        int n = sel.getSelected().size();
        List<CanvasObject> select = new ArrayList<CanvasObject>(n);
        List<CanvasObject> remove = new ArrayList<CanvasObject>(n);
        Location anchorLocation = null;
        Direction anchorFacing = null;
        for (CanvasObject o : sel.getSelected()) {
            if (o.canRemove()) {
                remove.add(o);
            } else {
                select.add(o);
                if (o instanceof AppearanceAnchor) {
View Full Code Here

        }
    }

    @Override
    public void duplicate() {
        Selection sel = canvas.getSelection();
        int n = sel.getSelected().size();
        List<CanvasObject> select = new ArrayList<CanvasObject>(n);
        List<CanvasObject> clones = new ArrayList<CanvasObject>(n);
        for (CanvasObject o : sel.getSelected()) {
            if (o.canRemove()) {
                CanvasObject copy = o.clone();
                copy.translate(10, 10);
                clones.add(copy);
                select.add(copy);
View Full Code Here

        }
    }

    @Override
    public void selectAll() {
        Selection sel = canvas.getSelection();
        sel.setSelected(canvas.getModel().getObjectsFromBottom(), true);
        canvas.repaint();
    }
View Full Code Here

        }
    }

    @Override
    public void addControlPoint() {
        Selection sel = canvas.getSelection();
        Handle handle = sel.getSelectedHandle();
        canvas.doAction(new ModelInsertHandleAction(canvas.getModel(), handle));
    }
View Full Code Here

        canvas.doAction(new ModelInsertHandleAction(canvas.getModel(), handle));
    }

    @Override
    public void removeControlPoint() {
        Selection sel = canvas.getSelection();
        Handle handle = sel.getSelectedHandle();
        canvas.doAction(new ModelDeleteHandleAction(canvas.getModel(), handle));
    }
View Full Code Here

TOP

Related Classes of com.cburch.draw.canvas.Selection

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.