Index: trunk/SophyaPI/PIext/Makefile
===================================================================
--- trunk/SophyaPI/PIext/Makefile	(revision 1250)
+++ trunk/SophyaPI/PIext/Makefile	(revision 1251)
@@ -4,5 +4,5 @@
  
 all: $(LIB)libPIext.a
-$(LIB)libPIext.a : $(OBJ)basexecut.o $(OBJ)cxxexecutor.o $(OBJ)nobjmgr.o $(OBJ)nomgadapter.o $(OBJ)nomgfdadapter.o $(OBJ)nomhistadapter.o $(OBJ)nomimagadapter.o $(OBJ)nomskymapadapter.o $(OBJ)nomspecrespadapter.o $(OBJ)nomtmatvecadapter.o $(OBJ)pawexecut.o $(OBJ)piacmd.o $(OBJ)piafitting.o $(OBJ)pigfd1.o $(OBJ)pigfd2.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piinit.o $(OBJ)pintup3d.o $(OBJ)pintuple.o $(OBJ)pipodrw.o $(OBJ)pisiadw.o $(OBJ)pistdimgapp.o $(OBJ)pitvmaad.o $(OBJ)servnobjm.o
+$(LIB)libPIext.a : $(OBJ)basexecut.o $(OBJ)cxxexecutor.o $(OBJ)cxxexecwin.o $(OBJ)nobjmgr.o $(OBJ)nomgadapter.o $(OBJ)nomgfdadapter.o $(OBJ)nomhistadapter.o $(OBJ)nomimagadapter.o $(OBJ)nomskymapadapter.o $(OBJ)nomspecrespadapter.o $(OBJ)nomtmatvecadapter.o $(OBJ)pawexecut.o $(OBJ)piacmd.o $(OBJ)piafitting.o $(OBJ)pigfd1.o $(OBJ)pigfd2.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piinit.o $(OBJ)pintup3d.o $(OBJ)pintuple.o $(OBJ)pipodrw.o $(OBJ)pisiadw.o $(OBJ)pistdimgapp.o $(OBJ)pitvmaad.o $(OBJ)servnobjm.o
 	$(AR) $(ARFLAGS)  $@ $? 
 ifeq ($(CXX),cxx)
@@ -11,5 +11,5 @@
  
 clean:
-	rm -f $(OBJ)basexecut.o $(OBJ)cxxexecutor.o $(OBJ)nobjmgr.o $(OBJ)nomgadapter.o $(OBJ)nomgfdadapter.o $(OBJ)nomhistadapter.o $(OBJ)nomimagadapter.o $(OBJ)nomskymapadapter.o $(OBJ)nomspecrespadapter.o $(OBJ)nomtmatvecadapter.o $(OBJ)pawexecut.o $(OBJ)piacmd.o $(OBJ)piafitting.o $(OBJ)pigfd1.o $(OBJ)pigfd2.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piinit.o $(OBJ)pintup3d.o $(OBJ)pintuple.o $(OBJ)pipodrw.o $(OBJ)pisiadw.o $(OBJ)pistdimgapp.o $(OBJ)pitvmaad.o $(OBJ)servnobjm.o
+	rm -f $(OBJ)basexecut.o $(OBJ)cxxexecutor.o $(OBJ)cxxexecwin.o $(OBJ)nobjmgr.o $(OBJ)nomgadapter.o $(OBJ)nomgfdadapter.o $(OBJ)nomhistadapter.o $(OBJ)nomimagadapter.o $(OBJ)nomskymapadapter.o $(OBJ)nomspecrespadapter.o $(OBJ)nomtmatvecadapter.o $(OBJ)pawexecut.o $(OBJ)piacmd.o $(OBJ)piafitting.o $(OBJ)pigfd1.o $(OBJ)pigfd2.o $(OBJ)pihisto.o $(OBJ)pihisto2d.o $(OBJ)piinit.o $(OBJ)pintup3d.o $(OBJ)pintuple.o $(OBJ)pipodrw.o $(OBJ)pisiadw.o $(OBJ)pistdimgapp.o $(OBJ)pitvmaad.o $(OBJ)servnobjm.o
 ifeq ($(CXX),cxx)
 	cd $(REPM); rm -f *.o
@@ -167,4 +167,5 @@
  $(INC)piperiodx.h \
  $(INC)periodic.h
+$(OBJ)cxxexecwin.o: cxxexecwin.cc
 $(OBJ)nobjmgr.o: nobjmgr.cc $(INC)strutil.h \
  $(INC)datatypes.h \
@@ -638,13 +639,30 @@
  $(INC)ntupintf.h pawexecut.h piacmd.h \
  dlftypes.h $(INC)pdlmgr.h nobjmgr.h \
- servnobjm.h pistdimgapp.h $(INC)pisysdep.h \
+ servnobjm.h nomgadapter.h $(INC)pidrawer.h \
+ $(INC)pibwdggen.h \
+ $(INC)pisysdep.h \
+ $(INC)piwdgx.h \
+ $(INC)piwdggen.h \
+ $(INC)pimsghandler.h \
+ $(INC)picolist.h \
+ $(INC)picmap.h \
+ $(INC)picmapx.h \
+ $(INC)picmapgen.h \
+ $(INC)pigraphx.h \
+ $(INC)pigraphgen.h \
+ $(INC)pifontx.h \
+ $(INC)pifontgen.h \
+ $(INC)pigraphuc.h \
+ $(INC)pievthandler.h \
+ $(INC)psfile.h \
+ $(INC)parradapter.h \
+ $(INC)lut.h \
+ $(INC)generalfit.h \
+ $(INC)generaldata.h \
+ $(INC)poly.h pistdimgapp.h \
  $(INC)piapplx.h \
  $(INC)piapplgen.h \
- $(INC)pimsghandler.h \
  $(INC)picontainerx.h \
  $(INC)picontainergen.h \
- $(INC)piwdgx.h \
- $(INC)piwdggen.h \
- $(INC)picolist.h \
  $(INC)pimenubarx.h \
  $(INC)pimenubargen.h \
@@ -655,15 +673,4 @@
  $(INC)pistdwdggen.h \
  $(INC)pibwdgx.h \
- $(INC)pibwdggen.h \
- $(INC)picmap.h \
- $(INC)picmapx.h \
- $(INC)picmapgen.h \
- $(INC)pigraphx.h \
- $(INC)pigraphgen.h \
- $(INC)pifontx.h \
- $(INC)pifontgen.h \
- $(INC)pigraphuc.h \
- $(INC)pievthandler.h \
- $(INC)psfile.h \
  $(INC)pigraphps.h \
  $(INC)piwindowx.h \
@@ -674,7 +681,4 @@
  $(INC)pifilechogen.h \
  $(INC)piimage.h \
- $(INC)parradapter.h \
- $(INC)lut.h \
- $(INC)pidrawer.h \
  $(INC)pipixmapx.h \
  $(INC)pipixmapgen.h \
@@ -759,5 +763,6 @@
  $(INC)utils.h \
  $(INC)perrors.h \
- $(INC)fmath.h pawexecut.h cxxexecutor.h
+ $(INC)fmath.h pawexecut.h cxxexecutor.h \
+ cxxexecwin.h
 $(OBJ)piafitting.o: piafitting.cc $(INC)strutil.h \
  $(INC)nbtri.h \
Index: trunk/SophyaPI/PIext/cxxexecwin.cc
===================================================================
--- trunk/SophyaPI/PIext/cxxexecwin.cc	(revision 1251)
+++ trunk/SophyaPI/PIext/cxxexecwin.cc	(revision 1251)
@@ -0,0 +1,306 @@
+// Classe CxxExecWindow : Control Window for CxxExecutor
+// Classe CxxExecOptWindow : Option Window for CxxExecutor
+// (c) DAPNIA (CEA)                 LAL (IN2P3/CNRS)
+//                           R. Ansari  10/2000
+
+#include "cxxexecutor.h"
+#include "cxxexecwin.h"
+
+/* --Methode-- */
+CxxExecWind::CxxExecWind(PIStdImgApp* par, CxxExecutor * cxxexec)
+: PIWindow((PIMsgHandler *)par, "CxxExecutor", PIWK_normal, 400, 300, 150, 150)
+{
+  dap = par;
+  cxxex = cxxexec;
+
+  int bsx, bsy, szx, szy;
+  int px, py, spx, spy;
+  // On definit la taille a partir de la taille par defaut des composantes 
+  PIApplicationPrefCompSize(bsx, bsy);
+  // On redefinit la taille de la fenetre
+  spx = bsx/6;
+  spy = bsy/6;
+  szx = 8*bsx+2*spx;   
+  szy = 10*bsy+8*spy;
+  SetSize(szx, szy);
+
+// Creation de champs "labels"
+  px = (szx-6*bsx)/2;
+  py = 2*spy;
+  mLab = new PILabel(this, "File", bsx*6, bsy, bsx, py);
+  mLab->SetLabel("No File Name");
+  mLab->SetBorderWidth(1);
+  mLab->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
+  
+  px = spx;
+  py = 4*spy+bsy;
+
+// Creation du champ texte 
+  mText = new PIText(this, "helptext", true, true, bsx*8, 8*bsy, px, py);
+// mText->SetMutiLineMode(true);
+  mText->SetTextEditable(true);
+  mText->SetText("");
+  mText->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
+
+// Creation de bouton d'action 
+
+  py += 2*spy+8*bsy;
+  px = (szx-6*bsx-8*spx)/2;
+  mBut[0] = new PIButton(this, "Exec",  400, bsx*1.2, bsy, px, py);
+  px += 1.2*bsx+2*spx;
+  mBut[1] = new PIButton(this, "Open",  500, bsx*1.2, bsy, px, py);
+  px += 1.2*bsx+2*spx;
+  mBut[2] = new PIButton(this, "Save",  600, bsx*1.2, bsy, px, py);
+  px += 1.2*bsx+2*spx;
+  mBut[3] = new PIButton(this, "Save As",  660, bsx*1.2, bsy, px, py);
+  px += 1.2*bsx+2*spx;
+  mBut[4] = new PIButton(this, "Dismiss",  700, bsx*1.2, bsy, px, py);
+
+//  Taille et position proportionnelles a la taille de la fenetre pour les elements
+  for(int ii=0; ii<5; ii++) 
+    mBut[ii]->SetBinding(PIBK_elastic , PIBK_elastic , PIBK_elastic , PIBK_elastic);
+
+  // Notre File Chooser
+  pfc = new PIFileChooser(this,"CxxExec-FileChooser", 5000); 
+}
+
+/* --Methode-- */
+CxxExecWind::~CxxExecWind()
+{
+  delete mLab;
+  delete mText;
+  for(int i=0; i<5; i++)   delete mBut[i];
+  delete pfc;
+}
+
+
+/* --Methode-- */
+void CxxExecWind::Show()
+{
+  mLab->SetLabel(flnm);
+  PIWindow::Show();
+}
+
+/* --Methode-- */
+void CxxExecWind::Process(PIMessage msg, PIMsgHandler* /*sender*/, void* data)
+{
+
+  switch (UserMsg(msg))  {
+
+    case 400:    // Bouton Execute C++
+      {
+      dap->SetBusy();
+      mBut[0]->SetUnSensitive();
+      //  $CHECK$  REZA + CMV 23/10/2000 - Faire quelque chose de mieux ici
+      vector<string> vs;
+      int rc;
+      vs.push_back(mText->GetText());
+      rc = cxxex->FillUserCode(vs, 0);
+      if (rc) break;
+      rc = cxxex->CrFile();
+      if (rc) break;
+      rc = cxxex->Compile();
+      if (rc) break;
+      rc = cxxex->Link();
+      if (rc) break;
+      rc = cxxex->Call();
+      if (rc) break;
+      // End de $CHECK$  REZA + CMV 23/10/2000
+      mBut[0]->SetSensitive();
+      dap->SetReady();
+      break;
+      }
+
+    case 500:    // Open File
+      pfc->AcceptNewFile(false); 
+      pfc->SetMsg(5500);
+      dap->SetBlocked();
+      pfc->Show();
+      break;
+    
+    case 5500:  // Return from open-file dialog
+      dap->SetBusy();
+      if (data) {
+	flnm = pfc->GetFileName();
+	mLab->SetLabel(flnm);
+	// We have to read the file 
+	mText->SetText("REZA A FAIRE \n Fichier non lu !");
+      }
+      dap->SetReady();
+      break;
+
+    case 600:
+    case 660:
+      if ( (UserMsg(msg) == 600) && (flnm.length() > 0) ) {
+	cerr << " REZA A FAIRE ! Il faut sauver le champ texte ds fichier "
+	     << flnm << endl;
+      }
+      else {
+	pfc->AcceptNewFile(true); 
+	pfc->SetMsg(5600);
+	dap->SetBlocked();
+	pfc->Show();	
+      }
+      break;
+
+    case 5600:  // Return from Save-file dialog
+      dap->SetBusy();
+      if (data) {
+	flnm = pfc->GetFileName();
+	mLab->SetLabel(flnm);
+	// We have to save to the file 
+	cerr << " REZA A FAIRE ! Il faut sauver le champ texte ds fichier (2)"
+	     << flnm << endl;
+      }
+      dap->SetReady();
+      break;
+
+    case 700:   // Bouton Dismiss - On cache la fenetre
+      this->Hide();
+      break;
+  }
+
+  // In case of compile errors, we end-up here !    
+  mBut[0]->SetSensitive();
+  dap->SetReady();
+  return;
+}
+
+// --------------------------------------------------------------------
+// --------------------------------------------------------------------
+// --------------------------------------------------------------------
+
+/* --Methode-- */
+CxxOptionWind::CxxOptionWind(PIStdImgApp* par, CxxExecutor * cxxexec)
+: PIWindow((PIMsgHandler *)par, "CxxOption", PIWK_normal, 400, 300, 150, 150)
+{
+
+  dap = par;
+  cxxex = cxxexec;
+
+  int bsx, bsy, szx, szy;
+  int px, py, spx, spy;
+  // On definit la taille a partir de la taille par defaut des composantes 
+  PIApplicationPrefCompSize(bsx, bsy);
+  // On redefinit la taille de la fenetre
+  spx = bsx/6;
+  spy = bsy/6;
+  szx = 7*bsx+5*spx;   
+  szy = 6*bsy+12*spy;
+  SetSize(szx, szy);
+
+// Creation de champs "labels"
+  px = (szx-6*bsx)/2;
+  py = 2*spy;
+  mTit = new PILabel(this, "CxxExecutor Options", bsx*6, bsy, bsx, py);
+  mTit->SetBorderWidth(1);
+  
+  px = 2*spx;
+  py = 4*spy+bsy;
+  mLab[0] = new PILabel(this, "Include Files", bsx*2, bsy, px, py);
+  py += spy+bsy;
+  mLab[1] = new PILabel(this, "Compile Options", bsx*2, bsy, px, py);
+  py += spy+bsy;
+  mLab[2] = new PILabel(this, "Link Options", bsx*2, bsy, px, py);
+  py += spy+bsy;
+  mLab[3] = new PILabel(this, "Libraries", bsx*2, bsy, px, py);
+
+  px = 3*spx+2*bsx;
+  py = 4*spy+bsy;
+
+// Creation de champs textes 
+  mText[0] = new PIText(this, "IncFiles", bsx*5, bsy, px, py);
+  mText[0]->SetText("");
+  py += spy+bsy;
+  mText[1] = new PIText(this, "CompOpt", bsx*5, bsy, px, py);
+  mText[1]->SetText("");
+  py += spy+bsy;
+  mText[2] = new PIText(this, "LinkOpt", bsx*5, bsy, px, py);
+  mText[2]->SetText("");
+  py += spy+bsy;
+  mText[3] = new PIText(this, "LinkLib", bsx*5, bsy, px, py);
+  mText[3]->SetText("");
+
+// Creation de bouton d'action 
+
+  py += 3*spy+bsy;
+  px = (szx-6*bsx-6*spx)/2;
+  mBut[0] = new PIButton(this, "Set Options",  500, bsx*2, bsy, px, py);
+  px += 2*bsx+2*spx;
+  mBut[1] = new PIButton(this, "Get Option",  600, bsx*2, bsy, px, py);
+  px += 2*bsx+2*spx;
+  mBut[2] = new PIButton(this, "Dismiss",  700, bsx*2, bsy, px, py);
+
+//  Taille et position proportionnelles a la taille de la fenetre pour les elements
+  mTit->SetBinding(PIBK_elastic , PIBK_elastic , PIBK_elastic , PIBK_elastic);
+
+  for(int i=0; i<4; i++) {
+    mLab[i]->SetBinding(PIBK_elastic , PIBK_elastic , PIBK_elastic , PIBK_elastic);
+
+    mText[i]->SetBinding(PIBK_elastic , PIBK_elastic , PIBK_elastic , PIBK_elastic);
+  }
+  for(int ii=0; ii<3; ii++) 
+    mBut[ii]->SetBinding(PIBK_elastic , PIBK_elastic , PIBK_elastic , PIBK_elastic);
+
+}
+
+/* --Methode-- */
+CxxOptionWind::~CxxOptionWind()
+{
+  for(int i=0; i<4; i++) {
+    delete mLab[i];
+    delete mText[i];
+  }
+  delete mTit;
+  delete mBut[0]; 
+  delete mBut[1]; 
+  delete mBut[2]; 
+}
+
+
+/* --Methode-- */
+void CxxOptionWind::Show()
+{
+  mText[0]->SetText(cxxex->GetInclude());
+  mText[1]->SetText(cxxex->GetCompileOpt());
+  mText[2]->SetText(cxxex->GetLinkOpt());
+  mText[2]->SetText(cxxex->GetLinkLibs());
+  PIWindow::Show();
+}
+
+/* --Methode-- */
+void CxxOptionWind::Process(PIMessage msg, PIMsgHandler* /*sender*/, void* /*data*/)
+{
+
+  string opt;
+ 
+  switch (UserMsg(msg))  {
+
+    case 500:    // Bouton Set Options
+// On recupere les textes des 3 champs :
+      opt = mText[0]->GetText();
+      cxxex->FillInclude(opt);
+      opt = mText[1]->GetText();
+      cxxex->FillCompileOpt(opt);
+      opt = mText[2]->GetText();
+      cxxex->FillLinkOpt(opt);
+      opt = mText[3]->GetText();
+      cxxex->FillLinkLibs(opt);
+      break;
+
+    case 600:    // Bouton Get Options
+      mText[0]->SetText(cxxex->GetInclude());
+      mText[1]->SetText(cxxex->GetCompileOpt());
+      mText[2]->SetText(cxxex->GetLinkOpt());
+      mText[2]->SetText(cxxex->GetLinkLibs());
+      break;
+
+    case 700:   // Bouton Dismiss - On cache la fenetre
+      this->Hide();
+      break;
+  }
+    
+return;
+}
+
+
Index: trunk/SophyaPI/PIext/cxxexecwin.h
===================================================================
--- trunk/SophyaPI/PIext/cxxexecwin.h	(revision 1251)
+++ trunk/SophyaPI/PIext/cxxexecwin.h	(revision 1251)
@@ -0,0 +1,55 @@
+// This may look like C code, but it is really -*- C++ -*-
+// Classe CxxExecWind : Control Window for CxxExecutor
+// Classe CxxOptionWind : Option Window for CxxExecutor
+// (c) DAPNIA (CEA)                 LAL (IN2P3/CNRS)
+//                           R. Ansari  10/2000
+
+#ifndef CXXEXECWIN_H_SEEN
+#define CXXEXECWIN_H_SEEN
+
+#include "machdefs.h"
+
+#include "pisysdep.h"
+#include "pistdimgapp.h"
+
+#include PISTDWDG_H 
+#include PIWIN_H
+
+class CxxExecutor;
+
+class CxxExecWind : public PIWindow {
+public :
+                CxxExecWind(PIStdImgApp* par, CxxExecutor * cxxexec);
+                ~CxxExecWind();
+  virtual void  Show();
+  virtual void  Process(PIMessage msg, PIMsgHandler* sender, void* data=NULL);
+
+private:
+  PIStdImgApp* dap;
+  CxxExecutor* cxxex;
+  PILabel  * mLab;
+  PIButton * mBut[5];
+  PIText * mText;
+  PIFileChooser * pfc;   // Pour les fichiers user C++
+  string flnm;
+  };
+
+
+class CxxOptionWind : public PIWindow {
+public :
+                CxxOptionWind(PIStdImgApp* par, CxxExecutor * cxxexec);
+                ~CxxOptionWind();
+  virtual void  Show();
+  virtual void  Process(PIMessage msg, PIMsgHandler* sender, void* data=NULL);
+
+private:
+  PIStdImgApp* dap;
+  CxxExecutor* cxxex;
+  PILabel  * mTit;
+  PILabel  * mLab[4];
+  PIButton * mBut[3];
+  PIText * mText[4];
+  };
+
+
+#endif
Index: trunk/SophyaPI/PIext/objlist.list
===================================================================
--- trunk/SophyaPI/PIext/objlist.list	(revision 1250)
+++ trunk/SophyaPI/PIext/objlist.list	(revision 1251)
@@ -1,4 +1,5 @@
 basexecut.o
 cxxexecutor.o
+cxxexecwin.o
 nobjmgr.o
 nomgadapter.o
Index: trunk/SophyaPI/PIext/piacmd.cc
===================================================================
--- trunk/SophyaPI/PIext/piacmd.cc	(revision 1250)
+++ trunk/SophyaPI/PIext/piacmd.cc	(revision 1251)
@@ -16,4 +16,5 @@
 #include "pawexecut.h"
 #include "cxxexecutor.h"
+#include "cxxexecwin.h"
 
 #include PISTDWDG_H 
@@ -314,5 +315,9 @@
 fitexec = new PIAFitter(this, app);
 pawexec = new PAWExecutor(this, app);
-cxxexec = new CxxExecutor(this, app);
+CxxExecutor * cxxe = new CxxExecutor(this, app);
+cxxexec = cxxe;
+cxxoptwin = new  CxxOptionWind(app, cxxe);
+cxxexwin  = new  CxxExecWind(app, cxxe);
+
 AddInterpreter(this);
 curcmdi = this;
@@ -332,4 +337,6 @@
   }
 delete helpwin;
+delete cxxexwin;
+delete cxxoptwin;
 if (curpiacmd == this)  curpiacmd = NULL;
 delete basexec;
@@ -908,4 +915,16 @@
 
 /* --Methode-- */
+void PIACmd::ShowCxxOptionWindow()
+{
+cxxoptwin->Show();
+}
+
+/* --Methode-- */
+void PIACmd::ShowCxxExecWindow()
+{
+cxxexwin->Show();
+}
+
+/* --Methode-- */
 void PIACmd::HelptoLaTex(string const & fname)
 {
Index: trunk/SophyaPI/PIext/piacmd.h
===================================================================
--- trunk/SophyaPI/PIext/piacmd.h	(revision 1250)
+++ trunk/SophyaPI/PIext/piacmd.h	(revision 1251)
@@ -47,5 +47,9 @@
 }
 #endif
-class PIAHelpWind; // Fenetre d'aide en ligne 
+
+class PIAHelpWind;   // Fenetre d'aide en ligne 
+class CxxExecWind;   // Fenetre pour CxxExecutor
+class CxxOptionWind; // Option de CxxExecutor
+
 class PIACmdBloc;
 
@@ -79,5 +83,8 @@
 
   virtual string&	GetUsage(const string& kw);
-  virtual void		ShowHelpWindow();
+
+          void		ShowHelpWindow();
+          void          ShowCxxOptionWindow();
+          void          ShowCxxExecWindow();
 
   virtual void 		HelptoLaTex(string const & flnm);
@@ -135,5 +142,6 @@
 // Fenetre d'aide interactive 
   PIAHelpWind* helpwin;
-
+  CxxExecWind* cxxexwin;
+  CxxOptionWind* cxxoptwin;
 };
 
Index: trunk/SophyaPI/PIext/pistdimgapp.cc
===================================================================
--- trunk/SophyaPI/PIext/pistdimgapp.cc	(revision 1250)
+++ trunk/SophyaPI/PIext/pistdimgapp.cc	(revision 1251)
@@ -69,4 +69,5 @@
 m[2]->AppendItem("Show ImageTools", 10301);
 m[2]->AppendItem("Show DrawerTools", 10302);
+m[2]->AppendItem("CxxExecutorWindow", 10303);
 m[2]->AppendItem("Ext.Pave", 10304);
 m[2]->SetSensitivityMsg(10304, false);
@@ -112,4 +113,5 @@
 m[5]->AppendCheckItem("Catch SigSEGV", 10604);
 m[5]->AppendCheckItem("ObjMgr Verb", 10605);
+m[5]->AppendCheckItem("CxxExecOption", 10606);
 
 m[6] = new PIMenu(Menubar(),"Modules");
@@ -1094,4 +1096,8 @@
     break;
 
+  case 10303 :
+    mCmd->ShowCxxExecWindow();
+    break;
+
   case 10304 :
   case 10305 :
@@ -1363,4 +1369,7 @@
     mObjMgr->SetVerbose(m[5]->GetStateMsg(10605));
     break;
+  case 10606:
+    mCmd->ShowCxxOptionWindow();
+    break;
   default:
     cerr << "PIStdImgApp::MBProcess6() BUG?? Msg= " <<  msg << endl;    
