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

View File

@ -151,6 +151,17 @@ SALOMEDS::Study_var GeometryGUI::ClientStudyToStudy (_PTR(Study) theStudy)
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()
// purpose : Constructor

View File

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

View File

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

View File

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