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;
|