Index: trunk/SophyaPI/PIext/pistdimgapp.h
===================================================================
--- trunk/SophyaPI/PIext/pistdimgapp.h	(revision 1642)
+++ trunk/SophyaPI/PIext/pistdimgapp.h	(revision 1971)
@@ -31,5 +31,5 @@
 
 
-enum {Disp_Next=0, Disp_Win=1, Disp_Same=2, Disp_Stack=3, Disp_Inset=4};
+enum DispWinEnum {Disp_Default, Disp_Next, Disp_Win, Disp_Same, Disp_Stack, Disp_Inset};
 
 typedef map<long, PIWindow*, less<long> > WindMList;
@@ -47,14 +47,18 @@
      virtual void   SetBlocked();
 
-     int  DispImage(P2DArrayAdapter* nouv, string const & name, int opt, int oid=0);
-     int  DispScDrawer(PIDrawer* scd, string const & name, int opt, string title="", int oid=0);
-     int  Disp3DDrawer(PIDrawer3D* scd, string const & name, int opt, string title="", int oid=0);
+     int  DispImage(P2DArrayAdapter* nouv, string const & name, string const & opt, int oid=0);
+     int  DispScDrawer(PIDrawer* scd, string const & name, string const & opt, 
+		       string title="", int oid=0);
+     int  Disp3DDrawer(PIDrawer3D* scd, string const & name, string const & opt, 
+		       string title="", int oid=0);
 
   //  Fonction d'ajout de texte (provisoire - Aout 99) 
-     void AddText(string const & txt, double xp, double yp);
+     void AddText(string const & txt, double xp, double yp, string const& opt);
   //  Ajout de lignes, rectangles, cercles (provisoires - Aout 2001)
-     void AddLine(double xp1, double yp1, double xp2, double yp2);
-     void AddRectangle(double xp1, double yp1, double xp2, double yp2, bool fgfill=false);
-     void AddCircle(double xc, double yc, double r, bool fgfill=false);
+     void AddLine(double xp1, double yp1, double xp2, double yp2, string const& opt);
+     void AddRectangle(double xp1, double yp1, double xp2, double yp2, string const& opt, 
+		       bool fgfill=false);
+     void AddCircle(double xc, double yc, double r, string const& opt, 
+		    bool fgfill=false);
 
   //  Fonction Ajout de titre de trace
@@ -66,5 +70,5 @@
      void CreateGraphWin(int nx=1, int ny=1, int sx=0, int sy = 0);
      void CreateStackWin(int sx=0, int sy = 0);
-     PIWindow * GetWindow(int typ, int& sx, int& sy, int& px, int& py, int& flag, char * nom);
+     PIWindow * GetWindow(DispWinEnum typ, int& sx, int& sy, int& px, int& py, int& flag, char * nom);
      void SetZone(int nzx=1, int nzy=1);
      void StackWinNext();
@@ -93,4 +97,7 @@
      inline PPInMgrWind* PPInMgrW() { return mPpinmgrw; }
 
+// Gestion (show/hide) de la fenetre Stat/ZoomWindow 
+    void   StatZoomWindowSetVisible(bool fg=true);
+
 // Redirection ou Non de StdOut/StdErr
      void  RedirectStdOutErr(bool fg = true);
@@ -99,28 +106,12 @@
      void  CatchSignals(bool fgfpe=true, bool fgsegv=true);
 
-//  Gestion d attributs graphiques courants
-     void  SetColAtt(PIColors fg=PI_NotDefColor, 
-                     PIColors bg=PI_NotDefColor);
-     void  SetLineAtt(PILineAtt lat=PI_NotDefLineAtt);
-     void  SetFontName(PIFontName fn=PI_DefaultFont);
-     void  SetFontAtt(PIFontSize fsz=PI_NotDefFontSize,
-                      PIFontAtt fat=PI_NotDefFontAtt);
-     void  SetMarkerAtt(int sz=-1, PIMarker mrk=PI_NotDefMarker);
-     inline void  SetColMapId(CMapId cid=CMAP_OTHER) { mCmapid = cid; }
-     inline void  SetReverseColMapFlag(bool fg=false) { mRevCmap = fg; }
-     void  SetZoomAtt(int zoom=0);
-     void  SetAxesAtt(unsigned int axfl=kBoxAxes | kExtTicks | kLabels);
-     void  SetXYLimits(double xmin=-1., double xmax=1., double ymin=-1., double ymax=1.);
      void  SetInsetLimits(double xmin=0.4, double xmax=0.6, double ymin=0.4, double ymax=0.6);
-     void  SetImageCenterPosition(int x=-1, int y=-1);
-     inline void  UseXYLimits(bool fg=false) {  mFXYlim=fg; }
-     inline void  UseImageCenter(bool fg=false) { mFImgCenter=fg; }
-     inline void  SetXLogScale(bool logx=false) { maXlog = logx; }
-     inline void  SetYLogScale(bool logy=false) { maYlog = logy; }
      inline void  SetAutoAddTitle(bool aatit=true) { mAddTitle = aatit; }
-
-// Pour sauvegarder-restauration de  l'etat des attributs graphiques
-     void  SaveGraphicAtt();   
-     void  RestoreGraphicAtt();   
+     void  SetAxesAtt(unsigned int axfl) { mAxesFlags = axfl; }
+  //     void  SaveGraphicAtt();
+  //     void  RestoreGraphicAtt();
+     void  SetDefaultGraphicAttributes(string const & opt);
+     void  SetDefaultAxesAttributes(string const & opt);
+     DispWinEnum ParseDisplayOption(string const & opt, vector<string>& opts);
 
 // Gestion fichiers PS
@@ -141,4 +132,5 @@
     void MBProcess6(PIMessage msg, PIMsgHandler* sender, void* data=NULL);
 
+    
 
     NamedObjMgr* mObjMgr;
@@ -148,7 +140,9 @@
     PIMenu* mc;
 
+    PIContainer* statcont;    // Container pour les widgets zoom, gimv, cmapv ...
     PIPixmap* zoom;
     PIPixmap* gimv;
     PICMapView* cmapv;
+    PILabel* labstat;
 
     PIFileChooser * pfc_fits;   // Pour les fichiers FITS
@@ -156,4 +150,5 @@
     PIFileChooser * pfc_ps;     // Pour les PostScript
 
+    PIContainer* consolecont;    // Container pour la PIConsole
     PIConsole* mCons;
     bool redirecout;    // true if stdout/err redirected to mCons;
@@ -176,30 +171,15 @@
     PPInMgrWind* mPpinmgrw;
 
-//  Gestion d attributs graphiques courants, etat sauvegarde
-    PIColors     mFCol, mBCol, mSFCol, mSBCol;
-    PILineAtt    mLAtt, mSLAtt;
-    PIFontName   mFName, mSFName;
-    PIFontSize   mFSz, mSFSz;
-    PIFontAtt    mFAtt, mSFAtt;
-    int          mMSz, mSMSz;
-    PIMarker     mMrk,mSMrk;  
-    CMapId       mCmapid, mSCmapid;
-    bool         mRevCmap, mSRevCmap;
-    int 	 mZoom, mSZoom;
-    unsigned int mAxesFlags, mSAxesFlags;
-    double	 mXmin, mXmax, mYmin, mYmax;
-    double	 mSXmin, mSXmax, mSYmin, mSYmax;
+  // Attributs graphiques, etc ...
     double	 mIXmin, mIXmax, mIYmin, mIYmax;
-    double	 mSIXmin, mSIXmax, mSIYmin, mSIYmax;
-    int		 mXImgCenter, mYImgCenter;
-    int		 mSXImgCenter, mSYImgCenter;
-    bool	 mFXYlim, mSFXYlim;
-    bool	 mFImgCenter, mSFImgCenter;
-    bool	 maXlog, mSaXlog;
-    bool	 maYlog, mSaYlog;
-    bool         mAddTitle, mSAddTitle;
+    bool         mAddTitle;
+    unsigned int mAxesFlags;
 
+    vector<string> mDefaultAtt;
+    vector<string> mAxesAtt;  
+
+  //  Controles et gestion divers 
     PIMessage mFCMsg;  // Message for processing FileOpen
-    int mFgScSz;   // Dlag ScreenSize
+    int mFgScSz;   // Flag ScreenSize
     bool mFgCWImg; // true -> Current Widget is PIImage
 };
