]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Remove dependency from KERNEL package
authornds <nds@opencascade.com>
Thu, 3 Nov 2005 07:55:27 +0000 (07:55 +0000)
committernds <nds@opencascade.com>
Thu, 3 Nov 2005 07:55:27 +0000 (07:55 +0000)
src/Plot2d/Makefile.in
src/Plot2d/Plot2d_ViewFrame.cxx
src/Prs/Makefile.in
src/PyInterp/Makefile.in
src/PyInterp/PyInterp_base.cxx
src/PyInterp/PyInterp_base.h

index 65ccacd41dd13ebe9db33c9dd7fea4efc56c168c..ef3d4742b7fccebeeba867254c2b087b746a80fc 100755 (executable)
@@ -66,9 +66,9 @@ plot2d_settings.png \
 plot2d_splines.png \
 plot2d_zoom.png
 
-CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(QWT_INCLUDES) -I$(KERNEL_ROOT_DIR)/include/salome
+CPPFLAGS+=$(QT_INCLUDES) $(PYTHON_INCLUDES) $(QWT_INCLUDES)
 
-LDFLAGS+=$(QWT_LIBS) $(QT_MT_LIBS) -L$(KERNEL_ROOT_DIR)/lib/salome -lsuit
+LDFLAGS+=$(QWT_LIBS) $(QT_MT_LIBS) -lsuit
 
 @CONCLUDE@
 
index 4875b6a62e5ed34a33f519a7aa303f60ba95553d..82d1721766fdf80c85495ad62794494e0b016810 100755 (executable)
@@ -12,8 +12,6 @@
 #include "SUIT_ResourceMgr.h"
 #include "SUIT_Application.h"
 
-//#include "utilities.h"
-
 #include "qapplication.h"
 #include <qtoolbar.h>
 #include <qtoolbutton.h>
@@ -30,8 +28,6 @@
 
 #include <qwt_legend.h>
 
-//#include "utilities.h"
-
 #define DEFAULT_LINE_WIDTH     0     // (default) line width
 #define DEFAULT_MARKER_SIZE    9     // default marker size
 #define MIN_RECT_SIZE          11    // min sensibility area size
@@ -383,7 +379,6 @@ QString Plot2d_ViewFrame::getInfo( const QPoint& pnt )
     if ( xmark-2 == pnt.x() ) {
       xCoord = majXmark; 
       xFound = true;
-//      MESSAGE("Plot2d_ViewFrame::getInfo : close maj X mark("<<i<<") = "<<majXmark<<" "<<xmark<<" "<<pnt.x());
       break;
     }
   }
@@ -394,7 +389,6 @@ QString Plot2d_ViewFrame::getInfo( const QPoint& pnt )
       if ( xmark-2 == pnt.x() ) {
         xCoord = minXmark; 
         xFound = true;
-//        MESSAGE("Plot2d_ViewFrame::getInfo : close min X mark("<<i<<") = "<<minXmark<<" "<<xmark<<" "<<pnt.x());
         break;
       }
     }
@@ -935,12 +929,6 @@ void Plot2d_ViewFrame::onSettings()
     if ( cols[ "blue-min" ] > color.blue() )
       cols[ "blue-min" ] = color.blue();
   }
-  for (IList::Iterator it = mars.begin();  it != mars.end(); ++it)
-    MESSAGE("markers( " << it.key() << ") = " << it.data() );
-  for (IList::Iterator it = lins.begin();  it != lins.end(); ++it)
-    MESSAGE("lines( " << it.key() << ") = " << it.data() );
-  for (SList::Iterator it = cols.begin();  it != cols.end(); ++it)
-    MESSAGE("colors( " << it.key() << ") = " << it.data() );
 #endif
   
   Plot2d_SetupViewDlg* dlg = new Plot2d_SetupViewDlg( this, true, mySecondY );
index 2ca3c38c5fa318eb950589900dca05d547a129ac..73133a3e61d6122bc7ed1238d9c27851b5ca0c80 100755 (executable)
@@ -20,7 +20,7 @@ LIB_CLIENT_IDL =
 BIN = 
 BIN_SRC        =
 
-CPPFLAGS+= -I${KERNEL_ROOT_DIR}/include/salome
+CPPFLAGS+=
 LDFLAGS+=
 
 
index 15e6ba0052dc0fa424125c8285a0cd59b2bb7375..1672f5ada526414ae46fc9ef525d9857aaef5074 100755 (executable)
@@ -44,7 +44,7 @@ LIB_SRC= PyInterp_base.cxx \
 
 LIB_MOC = PyInterp_Watcher.h
 
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_INCLUDES) -I$(KERNEL_ROOT_DIR)/include/salome
+CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_INCLUDES)
 
 LDFLAGS+= $(PYTHON_LIBS) $(QT_MT_LIBS)
 
index 4c427d7ef8b8e9562b8e83913395a74d4d6435b3..e9fdcb2593f5955ad89734ad5aa7f3b7c3777290 100644 (file)
 #include <vector>
 
 #include "PyInterp_base.h" // this include must be first (see PyInterp_base.h)!
-#include <Container_init_python.hxx>
 #include <cStringIO.h>
 
-#include <utilities.h>
-
-
 using namespace std;
 
-
-//#ifdef _DEBUG_
-//static int MYDEBUG = 1;
-//static int MYPYDEBUG = 1;
-//#else
-//static int MYDEBUG = 0;
-//static int MYPYDEBUG = 0;
-//#endif
-
-
 PyLockWrapper::PyLockWrapper(PyThreadState* theThreadState): 
   myThreadState(theThreadState),
-  mySaveThreadState(KERNEL_PYTHON::_gtstate)
+  mySaveThreadState(0)
 {
   PyEval_AcquireLock();
   mySaveThreadState = PyThreadState_Swap(myThreadState); // store previous current in save,
                                                          // set local in current
-//  if(MYDEBUG) MESSAGE(" PyLockWrapper "<<this<<" aqcuired: new thread state "<<myThreadState<<" ; old thread state "<<mySaveThreadState);
 }
 
 
 PyLockWrapper::~PyLockWrapper(){
   PyThreadState_Swap(mySaveThreadState); // restore previous current (no need to get local,
   PyEval_ReleaseLock();                  // local thread state* already in _tstate
-//  if(MYDEBUG) MESSAGE(" PyLockWrapper "<<this<<" released: new thread state "<<mySaveThreadState);
 }
 
 
 class PyReleaseLock{
 public:
   ~PyReleaseLock(){
-//    if(MYPYDEBUG) MESSAGE("~PyReleaseLock()");
     PyEval_ReleaseLock();
   }
 };
@@ -79,12 +62,10 @@ PyObject *PyInterp_base::builtinmodule = NULL;
  */
 PyInterp_base::PyInterp_base(): _tstate(0), _vout(0), _verr(0), _g(0), _atFirst(true)
 {
-//  if(MYPYDEBUG) MESSAGE("PyInterp_base::PyInterp_base() - this = "<<this);
 }
 
 PyInterp_base::~PyInterp_base()
 {
-//  if(MYPYDEBUG) MESSAGE("PyInterp_base::~PyInterp_base() - this = "<<this);
   PyLockWrapper aLock(_tstate);
   //Py_EndInterpreter(_tstate);
 }
@@ -103,7 +84,6 @@ void PyInterp_base::initialize()
 
   init_python();
   // Here the global lock is released
-//  if(MYPYDEBUG) MESSAGE("PyInterp_base::initialize() - this = "<<this<<"; _gtstate = "<<_gtstate);
 
   // The lock will be acquired in initState. Make provision to release it on exit
   PyReleaseLock aReleaseLock;
@@ -114,9 +94,7 @@ void PyInterp_base::initialize()
   // used to interpret & compile commands
   PyObjWrapper m(PyImport_ImportModule("codeop"));
   if(!m){
-//    INFOS("PyInterp_base::initialize() - PyImport_ImportModule('codeop') failed");
     PyErr_Print();
-    ASSERT(0);
     return;
   }   
   
@@ -132,14 +110,17 @@ void PyInterp_base::initialize()
 
 void PyInterp_base::init_python()
 {
-  /*
-   * Initialize the main state (_gtstate) if not already done
-   * The lock is released on init_python output
-   * It is the caller responsability to acquire it if needed
-   */
-  MESSAGE("PyInterp_base::init_python");
-  ASSERT(KERNEL_PYTHON::_gtstate); // initialisation in main
-  SCRUTE(KERNEL_PYTHON::_gtstate);
+  static PyThreadState *_gtstate = 0;
+
+  _atFirst = false;
+  if (Py_IsInitialized())
+    return;
+
+  Py_SetProgramName(_argv[0]);
+  Py_Initialize(); // Initialize the interpreter
+  PySys_SetArgv(_argc, _argv);
+  PyEval_InitThreads(); // Create (and acquire) the interpreter lock
+  _gtstate = PyEval_SaveThread(); // Release global thread state
 //  if(!_gtstate){
 //    PyReleaseLock aReleaseLock;
 //    Py_Initialize(); // Initialize the interpreter
@@ -171,7 +152,6 @@ int PyInterp_base::initRun()
   PySys_SetObject("stdout",PySys_GetObject("__stdout__"));
   PySys_SetObject("stderr",PySys_GetObject("__stderr__"));
 
-//  if(MYPYDEBUG) MESSAGE("PyInterp_base::initRun() - this = "<<this<<"; _verr = "<<_verr<<"; _vout = "<<_vout);
   return 0;
 }
 
index 63a11f82f8c3cbede3a64adc702eb1c19cf86717..469c0f40934a60345442b9259778aa3993776c02 100644 (file)
@@ -51,7 +51,10 @@ class PYINTERP_EXPORT PyInterp_base{
   ~PyInterp_base();
   
   virtual void initialize();
-  static void init_python();
+  virtual void init_python();
+  // init_python() made virtual to:
+  // 1. Remove dependency on KERNEL in light SALOME configuration
+  // 2. Allow redefinition of this method in SalomeApp_PyInterp class (it should be empty there and rely on KERNEL_PYTHON)
 
   virtual int run(const char *command);