From: Darius S. <dst...@us...> - 2001-07-24 11:34:53
|
Update of /cvsroot/kuml/kuml/kuml_gui/src/ige/common/tools In directory usw-pr-cvs1:/tmp/cvs-serv15670/common/tools Modified Files: SelectionTool.cpp SelectionTool.h Log Message: Added more core implementation. Editor now supports simple line Index: SelectionTool.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/kuml_gui/src/ige/common/tools/SelectionTool.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** SelectionTool.cpp 2001/07/22 23:21:38 1.2 --- SelectionTool.cpp 2001/07/24 11:34:49 1.3 *************** *** 25,29 **** //#include "ige/common/editors/Viewer.h" ! class ViewManipulator; #include <qcursor.h> --- 25,29 ---- //#include "ige/common/editors/Viewer.h" ! //class ViewManipulator; #include <qcursor.h> *************** *** 35,38 **** --- 35,46 ---- forwardEvents = 0; } + void SelectionTool::startMultiSelection(const QPoint& mousePos) { + // not finished + multiSelection = true; + } + void SelectionTool::endMultiSelection(const QPoint& mousePos) { + // not finished + multiSelection = false; + } void SelectionTool::mouseLMBPress(QMouseEvent* e, Editor *editor) { _LMBPressed = true; *************** *** 40,46 **** Layer *layer = editor->getViewer()->getLayer(); View *view = 0; - ViewManipulator *manipulator = 0; view = layer->pick(e->pos()); forwardEvents = view; --- 48,54 ---- Layer *layer = editor->getViewer()->getLayer(); View *view = 0; view = layer->pick(e->pos()); + // The clicked view (Handle, Manipulator or a graphical object) will grab events now forwardEvents = view; *************** *** 50,53 **** --- 58,63 ---- } else { editor->unselectAll(); + editor->getSelectionLayer()->startMultiSelection(e->pos().x(), e->pos().y()); + multiSelection = true; } *************** *** 72,82 **** } void SelectionTool::mouseMove(QMouseEvent* e, Editor *editor){ ! qDebug("SelectionTool::mouseMoveEvent"); ! if(forwardEvents) forwardEvents->mouseMove(e); SelectionLayer *slayer = ((AbstractEditor*)editor)->getSelectionLayer(); ! slayer->continueMultiSelection(e->pos().x(), e->pos().y()); } void SelectionTool::mouseRelease(QMouseEvent* e, Editor *editor){ --- 82,94 ---- } void SelectionTool::mouseMove(QMouseEvent* e, Editor *editor){ ! // An alle selektierte view ein move schicken. Mach ich morgen if(forwardEvents) forwardEvents->mouseMove(e); SelectionLayer *slayer = ((AbstractEditor*)editor)->getSelectionLayer(); ! ! if(multiSelection) { ! slayer->continueMultiSelection(e->pos().x(), e->pos().y()); ! } } void SelectionTool::mouseRelease(QMouseEvent* e, Editor *editor){ *************** *** 86,90 **** SelectionLayer *slayer = ((AbstractEditor*)editor)->getSelectionLayer(); slayer->endMultiSelection(); ! } void SelectionTool::mouseRMBPress(QMouseEvent* e, Editor *editor) { _RMBPressed = true; --- 98,104 ---- SelectionLayer *slayer = ((AbstractEditor*)editor)->getSelectionLayer(); slayer->endMultiSelection(); ! // editor->getSelectionLayer()->startMultiSelection(e->pos().x(), e->pos().y()); ! multiSelection = false; ! } void SelectionTool::mouseRMBPress(QMouseEvent* e, Editor *editor) { _RMBPressed = true; Index: SelectionTool.h =================================================================== RCS file: /cvsroot/kuml/kuml/kuml_gui/src/ige/common/tools/SelectionTool.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** SelectionTool.h 2001/07/22 23:21:38 1.2 --- SelectionTool.h 2001/07/24 11:34:49 1.3 *************** *** 22,26 **** #include "AbstractTool.h" class Editor; ! class ViewManipulator; /** * The SelectionTool --- 22,26 ---- #include "AbstractTool.h" class Editor; ! //class ViewManipulator; /** * The SelectionTool *************** *** 62,66 **** --- 62,72 ---- virtual void init(); + protected: + void startMultiSelection(const QPoint& mousePos); + void endMultiSelection(const QPoint& mousePos); + private: + bool multiSelection; + static SelectionTool * instance; |