Issue 21000: EDF 1534 GEOM: Save operation unavailable after color changed

This commit is contained in:
vsr 2010-09-24 08:46:39 +00:00
parent 138e896f44
commit 42b3fb2310
5 changed files with 29 additions and 0 deletions

View File

@ -342,6 +342,7 @@ void DisplayGUI::SetDisplayMode( const int mode, SUIT_ViewWindow* viewWindow )
if ( viewWindow->getViewManager()->getType() == SVTK_Viewer::Type() ) { if ( viewWindow->getViewManager()->getType() == SVTK_Viewer::Type() ) {
SVTK_View* aView = ((SVTK_ViewWindow*)viewWindow)->getView(); SVTK_View* aView = ((SVTK_ViewWindow*)viewWindow)->getView();
aView->SetDisplayMode( mode ); aView->SetDisplayMode( mode );
GeometryGUI::Modified();
} }
else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) {
OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer(); OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer();
@ -363,6 +364,7 @@ void DisplayGUI::SetDisplayMode( const int mode, SUIT_ViewWindow* viewWindow )
} }
ic->SetDisplayMode( newmode, Standard_False ); ic->SetDisplayMode( newmode, Standard_False );
GeometryGUI::Modified();
} }
} }
@ -413,6 +415,7 @@ void DisplayGUI::SetVectorMode( const bool mode, SUIT_ViewWindow* viewWindow )
} }
} }
} }
GeometryGUI::Modified();
} }
else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) {
viewWindow->setCustomData( "VectorsMode", QVariant( mode ) ); viewWindow->setCustomData( "VectorsMode", QVariant( mode ) );
@ -433,6 +436,7 @@ void DisplayGUI::SetVectorMode( const bool mode, SUIT_ViewWindow* viewWindow )
} }
ite.Next(); ite.Next();
} }
GeometryGUI::Modified();
} }
} }
@ -504,6 +508,7 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow
} }
} }
aView->Repaint(); aView->Repaint();
GeometryGUI::Modified();
} }
else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) {
OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer(); OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer();
@ -534,6 +539,7 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow
} }
} }
ic->UpdateCurrentViewer(); ic->UpdateCurrentViewer();
GeometryGUI::Modified();
} }
} }

View File

@ -151,6 +151,17 @@ SALOMEDS::Study_var GeometryGUI::ClientStudyToStudy (_PTR(Study) theStudy)
return aDSStudy._retn(); return aDSStudy._retn();
} }
void GeometryGUI::Modified( bool theIsUpdateActions )
{
if( SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() ) ) {
if( SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() ) ) {
appStudy->Modified();
if( theIsUpdateActions )
app->updateActions();
}
}
}
//======================================================================= //=======================================================================
// function : GeometryGUI::GeometryGUI() // function : GeometryGUI::GeometryGUI()
// purpose : Constructor // purpose : Constructor

View File

@ -87,6 +87,8 @@ public:
static CORBA::Object_var ClientSObjectToObject (_PTR(SObject) theSObject); static CORBA::Object_var ClientSObjectToObject (_PTR(SObject) theSObject);
static SALOMEDS::Study_var ClientStudyToStudy (_PTR(Study) theStudy); static SALOMEDS::Study_var ClientStudyToStudy (_PTR(Study) theStudy);
static void Modified( bool = true );
GEOM_Client& GetShapeReader() { return myShapeReader; } GEOM_Client& GetShapeReader() { return myShapeReader; }
// Get active dialog box // Get active dialog box

View File

@ -325,6 +325,7 @@ void GEOMToolsGUI::OnColor()
for ( SALOME_ListIteratorOfListIO It( selected ); It.More(); It.Next() ) { for ( SALOME_ListIteratorOfListIO It( selected ); It.More(); It.Next() ) {
aView->SetColor( It.Value(), c ); aView->SetColor( It.Value(), c );
} }
GeometryGUI::Modified();
} }
} // if ( isVTK ) } // if ( isVTK )
else if ( isOCC ) { else if ( isOCC ) {
@ -382,6 +383,7 @@ void GEOMToolsGUI::OnColor()
anObject->SetColor( aSColor ); anObject->SetColor( aSColor );
anObject->SetAutoColor( false ); anObject->SetAutoColor( false );
} }
GeometryGUI::Modified();
} }
} // if c.isValid() } // if c.isValid()
} // first IO is not null } // first IO is not null
@ -444,6 +446,7 @@ void GEOMToolsGUI::OnChangeTransparency( bool increase )
aView->SetTransparency( It.Value(), transp ); aView->SetTransparency( It.Value(), transp );
} }
aView->Repaint(); aView->Repaint();
GeometryGUI::Modified();
} // if ( isVTK ) } // if ( isVTK )
else if ( isOCC ) { else if ( isOCC ) {
@ -475,6 +478,7 @@ void GEOMToolsGUI::OnChangeTransparency( bool increase )
} }
} // for... } // for...
ic->UpdateCurrentViewer(); ic->UpdateCurrentViewer();
GeometryGUI::Modified();
} // if ( isOCC ) } // if ( isOCC )
} }
@ -538,6 +542,7 @@ void GEOMToolsGUI::OnNbIsos( ActionType actionType )
ic->Redisplay(CurObject); ic->Redisplay(CurObject);
} }
} }
GeometryGUI::Modified();
} }
else if(isVTK){ // if is VTKViewer else if(isVTK){ // if is VTKViewer
// //
@ -627,6 +632,7 @@ void GEOMToolsGUI::OnNbIsos( ActionType actionType )
anAct = aCollection->GetNextActor(); anAct = aCollection->GetNextActor();
} }
view->Repaint(); view->Repaint();
GeometryGUI::Modified();
} // end vtkviewer } // end vtkviewer
} }
@ -673,6 +679,7 @@ void GEOMToolsGUI::OnDeflection()
} }
} }
} }
GeometryGUI::Modified();
} }
else if (isVTK) { // if is VTKViewer else if (isVTK) { // if is VTKViewer
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*> SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>
@ -737,6 +744,7 @@ void GEOMToolsGUI::OnDeflection()
anAct = aCollection->GetNextActor(); anAct = aCollection->GetNextActor();
} }
} }
GeometryGUI::Modified();
} // end vtkviewer } // end vtkviewer
} }

View File

@ -269,6 +269,7 @@ void GEOMToolsGUI_TransparencyDlg::SetTransparency()
for ( SALOME_ListIteratorOfListIO It( selected ); It.More(); It.Next() ) { for ( SALOME_ListIteratorOfListIO It( selected ); It.More(); It.Next() ) {
aView->SetTransparency( It.Value(), newValue ); aView->SetTransparency( It.Value(), newValue );
} }
GeometryGUI::Modified();
aView->Repaint(); aView->Repaint();
} // if ( isVTK ) } // if ( isVTK )
@ -300,6 +301,7 @@ void GEOMToolsGUI_TransparencyDlg::SetTransparency()
} }
} // for... } // for...
ic->UpdateCurrentViewer(); ic->UpdateCurrentViewer();
GeometryGUI::Modified();
} // if ( isOCC ) } // if ( isOCC )
ValueHasChanged(); ValueHasChanged();