X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ViewerProxy.cpp;h=a504708cf4fb4363b8e8ed45866cce1a245b2d16;hb=0cb3c0f823f35b3a268fbe032550deb2403780e8;hp=90178a9670a93c4d8ed2a745ada44217d82348d1;hpb=983274afd0b92d3dc977f86b944a023f9a3f6f6b;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ViewerProxy.cpp b/src/XGUI/XGUI_ViewerProxy.cpp index 90178a967..a504708cf 100644 --- a/src/XGUI/XGUI_ViewerProxy.cpp +++ b/src/XGUI/XGUI_ViewerProxy.cpp @@ -11,7 +11,15 @@ #include #include #endif - + +#ifdef VINSPECTOR +#include +#include + +static bool FirstCall = true; + +#endif + #include #include @@ -22,12 +30,43 @@ XGUI_ViewerProxy::XGUI_ViewerProxy(XGUI_Workshop* theParent) { } +void XGUI_ViewerProxy::connectViewProxy() +{ +#ifdef HAVE_SALOME + connect(myWorkshop->salomeConnector()->viewer(), SIGNAL(trihedronVisibilityChanged(bool)), + SIGNAL(trihedronVisibilityChanged(bool))); +#else + connect(myWorkshop->mainWindow()->viewer(), SIGNAL(trihedronVisibilityChanged(bool)), + SIGNAL(trihedronVisibilityChanged(bool))); +#endif +} + Handle(AIS_InteractiveContext) XGUI_ViewerProxy::AISContext() const +{ + Handle(AIS_InteractiveContext) aContext; +#ifdef HAVE_SALOME + aContext = myWorkshop->salomeConnector()->viewer()->AISContext(); +#else + aContext = myWorkshop->mainWindow()->viewer()->AISContext(); +#endif + +#ifdef VINSPECTOR + if (FirstCall) { + VInspectorAPI_PluginMgr::activateVInspector("VInspector.dll", aContext); + FirstCall = false; + } +#endif + + + return aContext; +} + +Handle(AIS_Trihedron) XGUI_ViewerProxy::trihedron() const { #ifdef HAVE_SALOME - return myWorkshop->salomeConnector()->viewer()->AISContext(); + return myWorkshop->salomeConnector()->viewer()->trihedron(); #else - return myWorkshop->mainWindow()->viewer()->AISContext(); + return myWorkshop->mainWindow()->viewer()->trihedron(); #endif } @@ -46,19 +85,30 @@ Handle(V3d_View) XGUI_ViewerProxy::activeView() const return myWorkshop->salomeConnector()->viewer()->activeView(); #else AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer(); - return (aViewer->activeViewWindow()) ? + return (aViewer->activeViewWindow()) ? aViewer->activeViewWindow()->viewPortApp()->getView() : Handle(V3d_View)(); #endif } +QWidget* XGUI_ViewerProxy::activeViewPort() const +{ +#ifdef HAVE_SALOME + return myWorkshop->salomeConnector()->viewer()->activeViewPort(); +#else + AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer(); + return (aViewer->activeViewWindow()) ? + aViewer->activeViewWindow()->viewPortApp(): 0; +#endif +} + void XGUI_ViewerProxy::setViewProjection(double theX, double theY, double theZ, double theTwist) { Handle(V3d_View) aView3d = activeView(); if (!aView3d.IsNull()) { aView3d->SetProj(theX, theY, theZ); aView3d->SetTwist( theTwist ); - aView3d->FitAll(0.01, true); + aView3d->FitAll(0.01, false); aView3d->SetZSize(0.); if (aView3d->Depth() < 0.1) aView3d->DepthFitAll(); @@ -82,38 +132,38 @@ void XGUI_ViewerProxy::connectToViewer() ModuleBase_IViewer* aViewer = myWorkshop->salomeConnector()->viewer(); connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed())); - connect(aViewer, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)), + connect(aViewer, SIGNAL(tryCloseView(ModuleBase_IViewWindow*)), this, SIGNAL(tryCloseView(ModuleBase_IViewWindow*))); - connect(aViewer, SIGNAL(deleteView(ModuleBase_IViewWindow*)), + connect(aViewer, SIGNAL(deleteView(ModuleBase_IViewWindow*)), this, SIGNAL(deleteView(ModuleBase_IViewWindow*))); - connect(aViewer, SIGNAL(viewCreated(ModuleBase_IViewWindow*)), + connect(aViewer, SIGNAL(viewCreated(ModuleBase_IViewWindow*)), this, SLOT(onViewCreated(ModuleBase_IViewWindow*))); - connect(aViewer, SIGNAL(activated(ModuleBase_IViewWindow*)), + connect(aViewer, SIGNAL(activated(ModuleBase_IViewWindow*)), this, SIGNAL(activated(ModuleBase_IViewWindow*))); - connect(aViewer, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)), + connect(aViewer, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*)), this, SIGNAL(mousePress(ModuleBase_IViewWindow*, QMouseEvent*))); - connect(aViewer, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)), + connect(aViewer, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*)), this, SIGNAL(mouseRelease(ModuleBase_IViewWindow*, QMouseEvent*))); connect(aViewer, SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*)), this, SIGNAL(mouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*))); - connect(aViewer, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)), + connect(aViewer, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)), this, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*))); - connect(aViewer, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)), + connect(aViewer, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*)), this, SIGNAL(keyPress(ModuleBase_IViewWindow*, QKeyEvent*))); - connect(aViewer, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)), + connect(aViewer, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*)), this, SIGNAL(keyRelease(ModuleBase_IViewWindow*, QKeyEvent*))); connect(aViewer, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged())); - + connect(aViewer, SIGNAL(viewTransformed(int)), this, SIGNAL(viewTransformed(int))); connect(aViewer, SIGNAL(contextMenuRequested(QContextMenuEvent*)), this, @@ -123,16 +173,16 @@ void XGUI_ViewerProxy::connectToViewer() connect(aViewer, SIGNAL(lastViewClosed()), this, SIGNAL(lastViewClosed())); - connect(aViewer, SIGNAL(tryCloseView(AppElements_ViewWindow*)), + connect(aViewer, SIGNAL(tryCloseView(AppElements_ViewWindow*)), this, SLOT(onTryCloseView(AppElements_ViewWindow*))); - connect(aViewer, SIGNAL(deleteView(AppElements_ViewWindow*)), + connect(aViewer, SIGNAL(deleteView(AppElements_ViewWindow*)), this, SLOT(onDeleteView(AppElements_ViewWindow*))); - connect(aViewer, SIGNAL(viewCreated(AppElements_ViewWindow*)), + connect(aViewer, SIGNAL(viewCreated(AppElements_ViewWindow*)), this, SLOT(onViewCreated(AppElements_ViewWindow*))); - connect(aViewer, SIGNAL(activated(AppElements_ViewWindow*)), + connect(aViewer, SIGNAL(activated(AppElements_ViewWindow*)), this, SLOT(onActivated(AppElements_ViewWindow*))); connect(aViewer, SIGNAL(mousePress(AppElements_ViewWindow*, QMouseEvent*)), this,