Salome HOME
Fix a regression: Errors of hypothesis definition are not shown in GUI
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_PreviewDlg.cxx
index 0a9bf6842499a8ab605b2e2d8cd96df17e2601ad..3fc6b4776bec1966066417f5e8eb629f443c0583 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -123,3 +123,107 @@ bool SMESHGUI_PreviewDlg::isApplyAndClose() const
 {
   return myIsApplyAndClose;
 }
+
+
+//=================================================================================
+// class    : SMESHGUI_SMESHGUI_MultiPreviewDlg()
+// purpose  :
+//=================================================================================
+SMESHGUI_MultiPreviewDlg::SMESHGUI_MultiPreviewDlg( SMESHGUI* theModule ) :
+  mySMESHGUI( theModule ),
+  QDialog( SMESH::GetDesktop( theModule ) ),
+  myIsApplyAndClose( false )
+{
+}
+
+//=================================================================================
+// function : ~SMESHGUI_MultiPreviewDlg()
+// purpose  : Destroys the object and frees any allocated resources
+//=================================================================================
+SMESHGUI_MultiPreviewDlg::~SMESHGUI_MultiPreviewDlg()
+{
+  qDeleteAll( mySimulationList );
+}
+
+//=================================================================================
+// function : showPreview
+// purpose  : Show preview in the viewer
+//=================================================================================
+void SMESHGUI_MultiPreviewDlg::showPreview()
+{
+  for ( int i = 0; i < mySimulationList.count(); i++ )
+    mySimulationList[i]->SetVisibility( true );
+}
+
+//=================================================================================
+// function : hidePreview
+// purpose  : Hide preview in the viewer
+//=================================================================================
+void SMESHGUI_MultiPreviewDlg::hidePreview()
+{
+  for ( int i = 0; i < mySimulationList.count(); i++ )
+    mySimulationList[i]->SetVisibility( false );
+}
+
+//=================================================================================
+// function : connectPreviewControl
+// purpose  : Connect the preview check box
+//=================================================================================
+void SMESHGUI_MultiPreviewDlg::connectPreviewControl()
+{
+  connect( myPreviewCheckBox, SIGNAL( toggled( bool ) ), this, SLOT( onDisplaySimulation( bool ) ) );
+}
+
+
+//=================================================================================
+// function : toDisplaySimulation
+// purpose  : 
+//=================================================================================
+void SMESHGUI_MultiPreviewDlg::toDisplaySimulation()
+{
+  onDisplaySimulation( true );
+}
+
+//=================================================================================
+// function : onDisplaySimulation
+// purpose  : 
+//=================================================================================
+void SMESHGUI_MultiPreviewDlg::onDisplaySimulation( bool toDisplayPreview )
+{
+  //Empty implementation here
+}
+
+//================================================================
+// Function : setIsApplyAndClose
+// Purpose  : Set value of the flag indicating that the dialog is
+//            accepted by Apply & Close button
+//================================================================
+void SMESHGUI_MultiPreviewDlg::setIsApplyAndClose( const bool theFlag )
+{
+  myIsApplyAndClose = theFlag;
+}
+
+//================================================================
+// Function : isApplyAndClose
+// Purpose  : Get value of the flag indicating that the dialog is
+//            accepted by Apply & Close button
+//================================================================
+bool SMESHGUI_MultiPreviewDlg::isApplyAndClose() const
+{
+  return myIsApplyAndClose;
+}
+
+//================================================================
+// Function : setSimulationPreview
+// Purpose  : 
+//================================================================
+void SMESHGUI_MultiPreviewDlg::setSimulationPreview( QList<SMESH::MeshPreviewStruct_var>& theMeshPreviewStruct )
+{
+  hidePreview();
+  qDeleteAll( mySimulationList );
+  mySimulationList.clear();
+  for ( int i = 0; i < theMeshPreviewStruct.count(); i++ ) {
+    mySimulationList << new SMESHGUI_MeshEditPreview( SMESH::GetViewWindow( mySMESHGUI ) );
+    mySimulationList[i]->SetData( theMeshPreviewStruct[i].operator->() );
+  }
+}