This commit is contained in:
asl 2005-06-14 06:25:33 +00:00
parent 4b23a029f3
commit 2a39de2aeb
4 changed files with 44 additions and 10 deletions

View File

@ -103,6 +103,8 @@
#include <SVTK_ViewWindow.h> #include <SVTK_ViewWindow.h>
#include <SVTK_ViewModel.h> #include <SVTK_ViewModel.h>
#include <VTKViewer_ViewManager.h>
#include "SMESHGUI_Utils.h" #include "SMESHGUI_Utils.h"
#include "SMESHGUI_GEOMGenUtils.h" #include "SMESHGUI_GEOMGenUtils.h"
#include "SMESHGUI_MeshUtils.h" #include "SMESHGUI_MeshUtils.h"
@ -1812,7 +1814,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
mgr->setValue( "SMESH", "SettingsElementsSelectTol", aTolItems ); mgr->setValue( "SMESH", "SettingsElementsSelectTol", aTolItems );
// update current study settings // update current study settings
SMESH::UpdateSelectionProp(); SMESH::UpdateSelectionProp( this );
if( vtkwnd ) { if( vtkwnd ) {
// update VTK viewer properties // update VTK viewer properties
@ -2304,7 +2306,6 @@ bool SMESHGUI::OnKeyPress( QKeyEvent * pe, SUIT_ViewWindow * wnd )
//============================================================================= //=============================================================================
bool SMESHGUI::SetSettings(SUIT_Desktop* parent) bool SMESHGUI::SetSettings(SUIT_Desktop* parent)
{ {
MESSAGE("SMESHGUI::SetSettings.");
SMESHGUI::GetSMESHGUI(); SMESHGUI::GetSMESHGUI();
SUIT_ResourceMgr* mgr = resourceMgr(); SUIT_ResourceMgr* mgr = resourceMgr();
@ -2343,6 +2344,7 @@ bool SMESHGUI::SetSettings(SUIT_Desktop* parent)
action( 10001 )->setOn( false ); action( 10001 )->setOn( false );
action( 10003 )->setOn( true ); action( 10003 )->setOn( true );
} }
action( 10003 )->setOn( Shrink ); action( 10003 )->setOn( Shrink );
// Automatic Update // Automatic Update
@ -2361,10 +2363,12 @@ bool SMESHGUI::SetSettings(SUIT_Desktop* parent)
action( 10071 )->setOn( false ); action( 10071 )->setOn( false );
// Selection // Selection
SMESH::UpdateSelectionProp(); SMESH::UpdateSelectionProp( this );
// menus disable // menus disable
//action( 111 )->setEnabled( false ); // IMPORT DAT action( 111 )->setEnabled( false ); // IMPORT DAT
//action( 112 )->setEnabled( false );
//parent->menuBar()->setItemEnabled(112, false); // IMPORT UNV //parent->menuBar()->setItemEnabled(112, false); // IMPORT UNV
return true; return true;
@ -3016,6 +3020,9 @@ void SMESHGUI::initialize( CAM_Application* app )
popupMgr()->setRule( action( 302 ), aRule + "&&" + isNotEmpty, true ); popupMgr()->setRule( action( 302 ), aRule + "&&" + isNotEmpty, true );
popupMgr()->insert( separator(), -1, -1 ); popupMgr()->insert( separator(), -1, -1 );
connect( application(), SIGNAL( viewManagerAdded( SUIT_ViewManager* ) ),
this, SLOT( onViewManagerAdded( SUIT_ViewManager* ) ) );
} }
bool SMESHGUI::activateModule( SUIT_Study* study ) bool SMESHGUI::activateModule( SUIT_Study* study )
@ -3024,9 +3031,9 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
setMenuShown( true ); setMenuShown( true );
setToolShown( true ); setToolShown( true );
SetSettings( desktop() );
return res; return res;
//SetSettings( desktop() );
} }
bool SMESHGUI::deactivateModule( SUIT_Study* study ) bool SMESHGUI::deactivateModule( SUIT_Study* study )
@ -3078,3 +3085,9 @@ void SMESHGUI::viewManagers( QStringList& list ) const
{ {
list.append( SVTK_Viewer::Type() ); list.append( SVTK_Viewer::Type() );
} }
void SMESHGUI::onViewManagerAdded( SUIT_ViewManager* mgr )
{
if( dynamic_cast<VTKViewer_ViewManager*>( mgr ) )
SMESH::UpdateSelectionProp( this );
}

View File

@ -102,6 +102,7 @@ public slots:
private slots: private slots:
void OnGUIEvent(); void OnGUIEvent();
void onViewManagerAdded( SUIT_ViewManager* );
signals: signals:
void SignalDeactivateActiveDialog() ; void SignalDeactivateActiveDialog() ;

View File

@ -416,13 +416,32 @@ namespace SMESH{
} }
void UpdateSelectionProp() { void UpdateSelectionProp( SMESHGUI* theModule ) {
SUIT_Study* aStudy = GetActiveStudy(); if( !theModule )
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( aStudy->application() ); return;
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( theModule->application() );
if( !app )
{
MESSAGE( "UpdateSelectionProp: Application is null" );
return;
}
SUIT_ViewManager* vm = app->activeViewManager(); SUIT_ViewManager* vm = app->activeViewManager();
if( !vm )
{
MESSAGE( "UpdateSelectionProp: View manager is null" );
return;
}
QPtrVector<SUIT_ViewWindow> views = vm->getViews(); QPtrVector<SUIT_ViewWindow> views = vm->getViews();
SUIT_ResourceMgr* mgr = SMESHGUI::resourceMgr(); SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( theModule );
if( !mgr )
{
MESSAGE( "UpdateSelectionProp: Resource manager is null" );
return;
}
QColor aHiColor = mgr->colorValue( "SMESH", "SettingsSelectColor", Qt::white ), QColor aHiColor = mgr->colorValue( "SMESH", "SettingsSelectColor", Qt::white ),
aSelColor = mgr->colorValue( "SMESH", "SettingsItemSelectColor", Qt::yellow ), aSelColor = mgr->colorValue( "SMESH", "SettingsItemSelectColor", Qt::yellow ),

View File

@ -39,6 +39,7 @@ class SVTK_ViewWindow;
class SVTK_Selector; class SVTK_Selector;
class SalomeApp_SelectionMgr; class SalomeApp_SelectionMgr;
class SMESHGUI;
#include <CORBA.h> #include <CORBA.h>
@ -114,7 +115,7 @@ namespace SMESH{
void SetPickable(SMESH_Actor* theActor = NULL); void SetPickable(SMESH_Actor* theActor = NULL);
void UpdateSelectionProp(); void UpdateSelectionProp( SMESHGUI* );
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------