void wxhdSelectionTool::mouseDown(wxhdMouseEvent& event) { wxhdITool::mouseDown(event); wxhdDrawingView *view=getDrawingEditor()->view(); int x=event.GetPosition().x, y=event.GetPosition().y; wxhdIHandle *handle = view->findHandle(x,y); if(handle) { setDelegateTool(new wxhdHandleTrackerTool(getDrawingEditor(),handle)); } else { wxhdIFigure *figure = view->getDrawing()->findFigure(x,y); if(figure) { view->getDrawing()->bringToFront(figure); setDelegateTool(figure->CreateFigureTool(getDrawingEditor(),new wxhdDragTrackerTool(getDrawingEditor(),figure))); } else { setDelegateTool( new wxhdCanvasMenuTool(getDrawingEditor(),new wxhdSelectAreaTool(getDrawingEditor())) ); } } wxhdITool *delegateTool = getDelegateTool(); if (delegateTool) delegateTool->mouseDown(event); }
void ddMenuTool::mouseDown(ddMouseEvent& event) { setAnchorCoords(event.GetPosition().x,event.GetPosition().y); if(menuFigure->menuEnabled() && event.RightDown()) { wxMenu menu; getDrawingEditor()->view()->setMenuToolFigure(menuFigure); getDrawingEditor()->view()->setTextPopUpList(menuFigure->popupStrings(),menu); ddPoint p=event.GetPosition(); event.getView()->CalcScrolledPosition(p.x,p.y,&p.x,&p.y); getDrawingEditor()->view()->PopupMenu(&menu, p); return; } /* if(event.LeftDClick()) { getDrawingEditor()->view()->setMenuToolFigure(menuFigure); showEdit = true; edit->ChangeValue(txtFigure->getText()); //Same as SetValue but don't generated wxEVT_COMMAND_TEXT_UPDATED event calculateSizeEntry(event.getView()); edit->SetFocus(); edit->Show(); return; }*/ getDefaultTool()->mouseDown(event); }
void wxhdCompositeFigureTool::mouseDown(wxhdMouseEvent& event) { int x=event.GetPosition().x, y=event.GetPosition().y; wxhdCompositeFigure *cfigure = (wxhdCompositeFigure*) getFigure(); wxhdIFigure *figure = cfigure->findFigure(x,y); if(figure) { setDelegateTool(figure->CreateFigureTool(getDrawingEditor(),getDefaultTool())); } else { setDelegateTool(getDefaultTool()); } if(delegateTool) { delegateTool->mouseDown(event); } }
void wxhdSelectAreaTool::selectFiguresOnRect(bool shiftPressed) { wxhdIFigure *figure; wxhdIteratorBase *iterator = getDrawingEditor()->model()->figuresInverseEnumerator(); while(iterator->HasNext()) { figure=(wxhdIFigure *)iterator->Next(); if(selectionRect.Contains(figure->displayBox())) { if(shiftPressed) { view->toggleSelection(figure); } else { view->addToSelection(figure); } } } delete iterator; }
void wxhdSelectionTool::mouseMove(wxhdMouseEvent& event) { wxhdAbstractTool::mouseMove(event); wxhdDrawingView *view=getDrawingEditor()->view(); int x=event.GetPosition().x, y=event.GetPosition().y; wxhdIHandle *handle = view->findHandle(x,y); if(handle) { view->SetCursor(handle->createCursor()); } else { wxhdIFigure *figure = view->getDrawing()->findFigure(x,y); if(figure) { view->SetCursor(wxCursor(wxCURSOR_HAND)); } else { view->SetCursor(wxCursor(wxCURSOR_ARROW)); } } }