// 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  C.Magneville 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:
  virtual void filefrstring(string filename,string& code);
  virtual string stringfrfile(string filename);
  PIStdImgApp* dap;
  CxxExecutor* cxxex;
  PILabel  * mLab[5];
  PIButton * mBut[10];
  PIText   * mText[4];
  PIFileChooser * pfc;   // Pour les fichiers user C++
  string mFName[2];
};

//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
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[5];
  PIButton * mBut[3];
  PIText   * mText[5];
};


#endif
