Salome HOME
Moved some functionality to VTKViewer_Utilities.h
[modules/kernel.git] / src / SALOMEGUI / QAD_Study.h
index 136e0702c836a5124cdc87ba021c0ffce935844c..409b2aba4dc47e731a21504c2d5127d61a756244 100644 (file)
@@ -1,12 +1,29 @@
-//  File      : QAD_Study.cxx
-//  Created   : UI team, 05.09.00
-//  Descrip   : Study for QAD-based application
-
-//  Modified  : Mon Dec 03 15:37:21 2001
-//  Author    : Nicolas REJNERI
-//  Project   : SALOME
-//  Module    : SALOMEGUI
-//  Copyright : Open CASCADE 2001
+//  SALOME SALOMEGUI : implementation of desktop and GUI kernel
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  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. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : QAD_Study.cxx
+//  Author : Nicolas REJNERI
+//  Module : SALOME
 //  $Header$
 
 #ifndef QAD_STUDY_H
 #include <qstring.h>
 
 class QAD_Application;
+
+class QMutex;
 class QAD_PyInterp;
+class TInitStudyThread;
+class QAD_ViewFrame;
 
 class QAD_EXPORT QAD_Study : public QObject
 {
@@ -37,6 +58,7 @@ public:
   QAD_Study(QAD_Application* app,
            SALOMEDS::Study_var aStudy,
            const QString& title);
+  virtual void Init(); 
   ~QAD_Study();
 
   /* Event filter */
@@ -62,6 +84,7 @@ public:
   bool            isModified() const;
   bool            isReadOnly() const;
   void            setReadOnly(bool state);
+  bool             isLocked();
   const QString&   getTitle() const;
   int              getStudyId();
   const QString&   getPath() const;
@@ -123,7 +146,7 @@ public:
 
   /* selection */
   void           Selection( QString aSelection );
-  QString        getSelection();
+  QString        getSelection() const;
 
   /* python interpreter */
   QAD_PyInterp*          get_PyInterp(void);
@@ -137,6 +160,8 @@ public:
 signals:
   void           docClosing( QAD_Study* );
   void           docOperationTerminated( bool );
+  void            closed();
+  void            supervStudyFrameClosing( QAD_ViewFrame* );
 
 public slots:
   void           onStudyFrameActivated( QAD_StudyFrame* );
@@ -171,7 +196,10 @@ private:
   bool                     myIsModified;
   bool                     myIsReadOnly;
   bool                     myResult;
-  QAD_PyInterp*                    _interp;
+
+  QMutex*                   myMutex;
+  QAD_PyInterp*                    myInterp;
+  TInitStudyThread*         myInitStudyThread;
 };
 
 #endif