X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IModule.cpp;h=36e09437e72d38564105a63087319edb9d56c07b;hb=5e2e5c8e92f1d022158ef717c711a8ea79e5dd13;hp=c8b347f76914e8fff388af20d1e54292233ad4c9;hpb=e30796dab1aa68c01201b2b89d4292d3fcbbc4d4;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IModule.cpp b/src/ModuleBase/ModuleBase_IModule.cpp index c8b347f76..36e09437e 100644 --- a/src/ModuleBase/ModuleBase_IModule.cpp +++ b/src/ModuleBase/ModuleBase_IModule.cpp @@ -1,5 +1,6 @@ #include "ModuleBase_IModule.h" +#include "ModuleBase_IViewer.h" #include "ModuleBase_ViewerPrs.h" #include "ModuleBase_Operation.h" #include "ModuleBase_ISelection.h" @@ -11,14 +12,29 @@ #include +ModuleBase_IModule::ModuleBase_IModule(ModuleBase_IWorkshop* theParent) + : QObject(theParent), myWorkshop(theParent) +{ + connect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged())); + connect(myWorkshop->viewer(), SIGNAL(mousePress(QMouseEvent*)), this, + SLOT(onMousePressed(QMouseEvent*))); + connect(myWorkshop->viewer(), SIGNAL(mouseRelease(QMouseEvent*)), this, + SLOT(onMouseReleased(QMouseEvent*))); + connect(myWorkshop->viewer(), SIGNAL(mouseMove(QMouseEvent*)), this, + SLOT(onMouseMoved(QMouseEvent*))); + connect(myWorkshop->viewer(), SIGNAL(keyRelease(QKeyEvent*)), this, + SLOT(onKeyRelease(QKeyEvent*))); + connect(myWorkshop->viewer(), SIGNAL(mouseDoubleClick(QMouseEvent*)), this, + SLOT(onMouseDoubleClick(QMouseEvent*))); +} + + void ModuleBase_IModule::launchOperation(const QString& theCmdId) { ModuleBase_Operation* anOperation = createOperation(theCmdId.toStdString()); ModuleBase_ISelection* aSelection = myWorkshop->selection(); // Initialise operation with preliminary selection - std::list aSelected = aSelection->getSelected(); - std::list aHighlighted = aSelection->getHighlighted(); - anOperation->initSelection(aSelected, aHighlighted); + anOperation->initSelection(aSelection, myWorkshop->viewer()); sendOperation(anOperation); }