#include "HYDROGUI_ImportGeomObjectOp.h"
#include "HYDROGUI_ShowHideOp.h"
#include "HYDROGUI_Overview.h"
-
+#include <HYDROGUI_ProfileDlg.h>
#include <HYDROData_Tool.h>
#include <HYDROData_Image.h>
#include <HYDROData_Stream.h>
OCCViewer_ViewManager* occ_mgr = dynamic_cast<OCCViewer_ViewManager*>( aViewManager );
if( occ_mgr )
+ {
occ_mgr->setChainedOperations( true );//TODO: via preferences
+ }
foreach( SUIT_ViewWindow* aViewWindow, aViewManager->getViews() )
{
}
}
+ preferencesChanged( "HYDRO", "zoom_shutoff" );
+
+ preferencesChanged( "HYDRO", "chained_panning" );
+
// Load GEOM data
SalomeApp_Study* aStudy =
dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() );
ViewManagerList anOCCViewManagers;
getApp()->viewManagers( OCCViewer_Viewer::Type(), anOCCViewManagers );
- foreach ( const SUIT_ViewManager* aViewManager, anOCCViewManagers ) {
+ foreach ( SUIT_ViewManager* aViewManager, anOCCViewManagers )
+ {
disconnect( aViewManager, SIGNAL( mouseMove( SUIT_ViewWindow*, QMouseEvent* ) ),
this, SLOT( onMouseMove( SUIT_ViewWindow*, QMouseEvent* ) ) );
+
+ OCCViewer_ViewManager* occ_mgr = dynamic_cast<OCCViewer_ViewManager*>( aViewManager );
+ if( occ_mgr )
+ {
+ occ_mgr->setChainedOperations( false );
+ setAutoZoom( occ_mgr, true );
+ }
}
/* Issues ## 68, 88.
addPreference( tr( "PREF_VIEWER_ZOOM_SHUTOFF" ), viewerGroup, LightApp_Preferences::Bool, "HYDRO", "zoom_shutoff" );
+ addPreference( tr( "PREF_VIEWER_CHAINED_PANNING" ), viewerGroup, LightApp_Preferences::Bool, "HYDRO", "chained_panning" );
+
int StricklerTableGroup = addPreference( tr( "PREF_GROUP_STRICKLER_TABLE" ), genTab );
int defaultStricklerCoef = addPreference( tr( "PREF_DEFAULT_STRICKLER_COEFFICIENT" ), StricklerTableGroup,
LightApp_Preferences::DblSpin, "preferences", "default_strickler_coefficient" );
bool aZoomShutoff = resMgr->booleanValue( "HYDRO", "zoom_shutoff" );
setAutoZoomToAllViewManagers(!aZoomShutoff);
}
+ else if (theSection == "HYDRO" && thePref == "chained_panning")
+ {
+ bool aChainedPan = resMgr->booleanValue( "HYDRO", "chained_panning" );
+ if (!aChainedPan)
+ resetViewState();
+ ViewManagerList aViewManagers = getApp()->viewManagers();
+ foreach (SUIT_ViewManager* aVMgr, aViewManagers)
+ {
+ OCCViewer_ViewManager* anOCCViewMgr = dynamic_cast<OCCViewer_ViewManager*>( aVMgr );
+ if (anOCCViewMgr)
+ anOCCViewMgr->setChainedOperations( aChainedPan );
+ }
+
+ QList<QDockWidget*> docW = getApp()->desktop()->findChildren<QDockWidget*>();
+ foreach (QDockWidget* qw, docW)
+ {
+ HYDROGUI_ProfileDlg* pdlg = dynamic_cast<HYDROGUI_ProfileDlg*>(qw);
+ if (pdlg)
+ pdlg->viewManager()->setChainedOperations(aChainedPan);
+ }
+ }
else
- LightApp_Module::preferencesChanged( theSection, thePref );
+ LightApp_Module::preferencesChanged( theSection, thePref );
}
QCursor HYDROGUI_Module::getPrefEditCursor() const
setUpdateEnabled( true );
- setAutoZoomToAllViewManagers(false);
+ preferencesChanged( "HYDRO", "zoom_shutoff" );
+
+ preferencesChanged( "HYDRO", "chained_panning" );
QApplication::restoreOverrideCursor();
}
else if( theViewManager->getType() == OCCViewer_Viewer::Type() )
{
OCCViewer_ViewManager* mgr = dynamic_cast<OCCViewer_ViewManager*>( theViewManager );
- mgr->setChainedOperations( true );//TODO: via preferences
+ //mgr->setChainedOperations( true );
connect( theViewManager, SIGNAL( viewCreated( SUIT_ViewWindow* ) ),
this, SLOT( onViewCreated( SUIT_ViewWindow* ) ) );