@Override
    public void mouseDown(Point mousePoint, boolean shiftDown, boolean ctrlDown) {
        // if ctrl is down deselect all selected  objects
        if (!ctrlDown) {
            for (Object go : model.list()) {
                ((GraphicalObject) go).setSelected(false);
            }
        }
        GraphicalObject obj = model.findSelectedGraphicalObject(mousePoint);
        if (obj != null) obj.setSelected(true);

        //is hot point selected
        if (!ctrlDown && model.getSelectedObjects().size() == 1) {
            int hpIndex = model.findSelectedHotPoint(obj, mousePoint);
            if (hpIndex != -1)
                obj.setHotPointSelected(hpIndex, true);

        }


    }