Index: /trunk/SophyaPI/PI/pibwdggen.cc
===================================================================
--- /trunk/SophyaPI/PI/pibwdggen.cc	(revision 2300)
+++ /trunk/SophyaPI/PI/pibwdggen.cc	(revision 2301)
@@ -302,4 +302,6 @@
 //	Un même "PIDrawer" peut être attaché simultanement à plusieurs "PIBaseWdg", ainsi
 //	que plusieurs fois au même "PIBaseWdg", avec des identificateurs différents.
+//	Un des traceurs, par défaur le dernier ajouté est considéré comme le traceur 
+//	actif ou sélectionné (voir "SetActiveDrawer" ...).
 //--
 //++
@@ -487,4 +489,18 @@
 }
 
+
+//++
+// void  SetActiveDrawerId(int id)
+//	Sélectionne le traceur (PIDrawer) avec l'identificateur "id" comme traceur actif.
+// void  SetActiveDrawer(int n)
+//	Sélectionne le traceur numéro "n" de la liste comme traceur actif.
+// int   GetActiveDrawerId()
+//	Retourne l'identificateur du traceur actif (-1 si pas de traceur actif).
+// int   GetActiveDrawerNum()
+//	Retourne le numéro du traceur actif dans la liste (index dans le vecteur de traceurs -
+//	-1 si pas de traceur actif).
+// PIDrawer*  GetActiveDrawer()
+//	Retourne le pointeur sur le traceur actif (NULL si pas de traceur actif).
+//--
 
 /* --Methode-- */
Index: /trunk/SophyaPI/PI/pidrawer.cc
===================================================================
--- /trunk/SophyaPI/PI/pidrawer.cc	(revision 2300)
+++ /trunk/SophyaPI/PI/pidrawer.cc	(revision 2301)
@@ -24,4 +24,6 @@
 // Links	Voir
 // PIBaseWdg
+// PIGraphicAtt
+// PIAxes
 //--
 
@@ -33,4 +35,18 @@
 // PIDawer()
 //	Constructeur.
+// ~PIDrawer()
+//	Destructeur
+// void  SetAutoDeleteOnDetach(bool fg)
+//	Si "fg==true", l'objet PIDrawer est détruit lorsqu'il est détaché du dernier 
+//	PIBaseWdg auquel il était attaché.
+// void  SetAutoRefreshOnDelete(bool fg)
+//	Si "fg==true", la méthode "Refresh()" est appelé sur les PIBaseWdg lors de 
+//	la destruction (delete) de l'objet PIDrawer.
+// void	 SetName(string const& name)
+//	Spécification d'un nom pour l'objet PIDrawer.
+// string  Nom()
+//	Renvoie le nom de l'objet.
+// string& Name()
+//	Renvoie le nom de l'objet (référence à). 
 //--
 
@@ -46,5 +62,5 @@
   aXlog = aYlog = false;   // Vrai -> echelle axe logarithmique
   SetLimits(-1, 1, -1, 1, kAxeDirLtoR, kAxeDirDownUp);
-  limitsFixed = 0;
+  limitsFixed = false;
   SetAxesFlags(kAxesNone);   // Pas de trace d'axes par defaut 
   SetAxesAutoFontSize();
@@ -88,5 +104,6 @@
 
 //++
-// Titre	Les axes
+// Titre	Gestion des axes et des limites
+//      Le tracé des axes 2D est pris en charge par la classe PIAxes.
 //--
 //++
@@ -97,8 +114,19 @@
 //|	kAxeDirLtoR , kAxeDirRtoL  (Axe X)
 //|	kAxeDirDownUp , kAxeDirUpDown (Axe Y)	
+// void  UpdateLimits()
+//	Cette méthode doit calculer les limites (X/Y Min-Max) préferées par l'objet
+//	et doit appeler "SetLimits()". L'implementation par défaut ne fait rien.
+// bool  LimitsFixed()
+//	Renvoie la valeur du flag "limitsFixed". Le flag est mis à 
+//	"true" si la méthode "SetLimits()" a été appelée.
+// void  FreeLimits()
+//	Met le flag "limitsFixed" à "false".
+//
 // void  SetLogScale(bool logx, bool logy) 
-//	Définition d'échelle logarithmique pour les axes X,Y.
+//	Choix d'échelle logarithmique pour les axes X,Y.
 // void  GetAxesConfig(int& xa, int& ya) 
 //	Renvoie la configuration des axes.
+//|	kAxeDirLtoR , kAxeDirRtoL  (Axe X)
+//|	kAxeDirDownUp , kAxeDirUpDown (Axe Y)	
 // bool  isLogScaleX()   isLogScaleY() 
 //	Renvoie "true" si échelle logarithmique pour axe X , Y
@@ -108,12 +136,18 @@
 //	Limites de l'axe Y
 // void  SetAxesFlags(unsigned int flags=kAxesNone)
-//	Attributs de tracé d'axes
+//	Attributs de tracé d'axes (voir la classe *PIAxes*)
 //|	kStdAxes , kBoxAxes , kTicks , kIntTicks , kExtTicks 
 //|	kMajTicks , kMinTicks , kLabels , kGridOn
 //|	kAxesDflt , kAxesNone
+// void SetAxesAutoFontSize(bool fg=true)
+//	Si "fg==true", la taille de la fonte pour les labels d'axes (chiffres) est 
+//	choisie automatiquement, en s'adaptant à la taille de la zone de tracé - 
+//	sinon, taille de la fonte de l'objet PIDrawer.
 // unsigned int GetAxesFlags()
 //	Renvoie les attributs de tracé d'axes  
+// bool  isAxesAutoFontSize()
+//	Renvoie la valeur du flag de choix automatique de taille de fonte pour axes.
 // void  DrawAxes(PIGraphicUC* g)
-//	Méthode de tracé des axes
+//	Méthode de tracé des axes (le tracé est pris en charge par la classe *PIAxes*)
 //--
 
@@ -157,5 +191,5 @@
   yMax = ymax;
   aXFlg = axrl;  aYFlg = ayud;
-  limitsFixed = 1;
+  limitsFixed = true;
 }
 
@@ -167,4 +201,8 @@
 ya = (aYdir) ? kAxeDirUpDown : kAxeDirDownUp;
 }
+
+//++
+// Titre	Gestion du tracé
+//--
 
 //++
@@ -175,13 +213,7 @@
 //  void  Refresh()
 //	Rafraîchit le dessin du PIDrawer sur tous les PIBaseWdg auxquel il est attaché.
-//  void  UpdateLimits()
-//	Cette méthode doit calculer les limites (X/Y Min-Max) préferées par l'objet
-//	et doit appeler "SetLimits()". L'implementation par défaut ne fait rien.
 //  void  HighLight(bool fgh)
 //      Rafraichit le dessin du PIDrawer sur tous les PIBaseWdg auxquel il est attaché,
 //	en mode "HighLight" si "fgh==true", en mode normal sinon.
-//  void  AppendTextInfo(string& info, double xmin, double ymin, double xmax, double ymax)
-//	Méthode qui met à jour la chaîne "info", avec les informations (textuelles) de 
-//	la zone définie par "xmin-xmax" , "ymin-ymax".
 //--
 
@@ -211,41 +243,17 @@
 //++
 // Titre	Les attributs graphiques
-//--
-//++
-// void  SetColAtt(PIColors fg=PI_NotDefColor, PIColors bg=PI_NotDefColor)
-//	Modifie la couleur d'avant-plan et de fond par défaut
-// void  SetLineAtt(PILineAtt lat=PI_NotDefLineAtt)
-//	Modifie l'attribut type de ligne
-// void  SetFontAtt(PIFontSize fsz=PI_NotDefFontSize, PIFontAtt fat=PI_NotDefFontAtt)
-//	Selection taille et attribut de fonte 
-// void  SetFont(PIFontName fn, PIFontSize fsz=PI_NotDefFontSize, PIFontAtt fat=PI_NotDefFontAtt)
-//	Selection de type, taile et attribut de fonte
-// void  SetMarkerAtt(int sz=-1, PIMarker mrk=PI_NotDefMarker)
-//	L'attribut type et taille de marker
-// void  SetColMapId(CMapId cid=CMAP_OTHER, bool rev=false)
-//	L'attribut choix de la table de couleurs, et son flag d'inversion
-// void  SelGraAtt(PIGraphicUC* g)
-//	Modifie les attributs graphiques de "g" à partir des attributs courant
-//	de l'objet "PIDrawer"
-// 
-// PIColors  GetFgColAtt()
-//	Renvoie l'attribut de couleur d'avant-plan
-// PIColors  GetBgColAtt()
-//	Renvoie l'attribut de couleur d'arrière-plan
-// PILineAtt  GetLineAtt()
-//	Renvoie l'attribut de ligne
-// PIFontSize GetFontSz()
-//	Renvoie l'attribut de taille de fonte
-// PIFontAtt  GetFontAtt()
-//	Renvoie l'attribut de type de fonte
-// int  GetMarkerSz()
-//	Renvoie l'attribut de taille de marker
-// PIMarker GetMarker()
-//	Renvoie l'attribut de type de marker
-// CMapId GetColMapId()
-//	Renvoie l'attribut de type de table de couleur
-// CMapId GetColMapId(bool & rev)
-//	Renvoie l'attribut de type de table de couleur, 
-//	et le flag d'inversion de la table de couleur
+//	Les attributs graphiques des PIDrawer sont gérés par un objet *PIGraphicAtt*.
+//--
+//++
+// void  SetGraphicAtt(PIGraphicAtt const& att)
+//	Modifie le contenu de l'objet PIGraphicAtt associé au PIDrawer à partir de 
+//	"att" (opération d'affectation).
+// void  UpdateGraphicAtt(PIGraphicAtt const& att)
+//	Met à jour le contenu de l'objet PIGraphicAtt associé au PIDrawer à partir de "att".
+// PIGraphicAtt&  GetGraphicAtt()
+//	Renvoie l'objet PIGraphicAtt associé au PIDrawer.
+// void SelGraAtt(PIGraphicUC* g)
+//	Change les attributs graphiques de l'objet "PIGraphicUC* g" à partir des attributs 
+//	de l'objet PIGraphicAtt associé au PIDrawer.
 //--
 
@@ -303,4 +311,29 @@
 }
 
+//++
+// Titre	Fenêtre de contrôle spécialisé
+//	Les méthodes suivantes permettent de faciliter la gestion d'une fenêtre de contrôle 
+//	spécialisée pour un type de traceur donné.
+//|	ATTENTION 
+//|	Si fenetre de controle specilisee, il faut appeler explicitement 
+//|	DeactivateControlWindow(NULL) dans le destructeur.	
+//--
+//++
+// bool HasSpecificControlWindow() const 
+//	Renvoie "true" si le traceur possède une fenêtre de contrôle. l'attribut protégé booléan
+//	"mFgSpecContWind" doit être initialisé à si la méthode "ShowControlWindow" est redéfinie.
+// void ShowControlWindow(PIBaseWdgGen* wdg)
+//	Méthode effectuant l'affichage de la fenêtre de contrôle spécialisée. L'implémentation
+//	par défaut affiche la fenêtre *PIDrwTools*.
+//	L'argument "wdg" est le pointeur de l'objet PIBaseWdgGen qui a déclenché l'action.
+// void DeactivateControlWindow(PIBaseWdgGen* wdg)
+//	Méthode de désactivation de la la fenêtre de contrôle spécialisée.
+//	Appelée lors de la destruction du drawer, avec le paramètre "PIBaseWdgGen* wdg = NULL",
+//	ou lors du détachement du traceur. Dans ce dernier cas, le paramètre "PIBaseWdgGen* wdg"
+//	pointe vers le PIBaseWdg duquel le traceur (PIDrawer) est en cours de détachement.
+//	"DeactivateControlWindow(NULL)" doit être appelé dans le destructeur de la classe dérivée
+//	si celle-ci possède une fenêtre de contrôle spécialisée.
+//--
+
 void
 PIDrawer::ShowControlWindow(PIBaseWdgGen* wdg)
@@ -329,4 +362,17 @@
 }
 
+//++
+// Titre	Décodage des options
+//--
+//++
+// int  DecodeOptionString(vector<string> & opt, bool rmdecopt=true)
+//	Effectue le décodage des options du traceur à partir de "opt". Si "rmdecopt==true"
+//	les options décodées sont supprimées du vecteur "opt". 
+//	Retourne le nombre d'options décodées.
+//	L'implémentation par défaut effectue le décodage des attributs graphiques en 
+//	utilisant la méthode *PIGraphicAtt::DecodeAttStrings()*
+// void	 GetOptionsHelpInfo(string& info)
+//	Ajoute au bout de la chaine "info" l'aide concernant le décodage des options du traceur.
+//--
 int
 PIDrawer::DecodeOptionString(vector<string> & opt, bool rmdecop)
@@ -409,4 +455,22 @@
 }
 
+//++
+// Titre	Informations textuelles associées au drawer
+//	Les méthodes suivantes peuvent renvoyer une information textuelle correspondant à
+//	un point ou une zone dans l'espace de coordonnées de l'objet PIDrawer.
+//--
+//++
+// void  GetClickInfo(string& info,double x, double y, double x0=0.,double y0=0., bool fgdiff=false)
+//	Met à jour la chaine "info" avec l'information associée à la position "(x,y)".
+//	Si "fgdiff=true", une information d'écart par rapport à la position origine "(x0,y0)"
+//	peut aussi être fournie.
+//	L'implémentation par défaut ne fait rien.
+// void  AppendTextInfo(string& info, double xmin, double ymin, double xmax, double ymax)
+//	Met à jour la chaine "info avec l'information textuelle  associée a la zone 
+//	rectangulaire "(xmin,ymin) -- (xmax,ymax)". 
+//	L'implémentation par défaut ne fait rien.
+//--
+
+
 void
 PIDrawer::AppendTextInfo(string& info, double /*xmin*/, double /*ymin*/, double /*xmax*/, double /*ymax*/)
Index: /trunk/SophyaPI/PI/pidrawer.h
===================================================================
--- /trunk/SophyaPI/PI/pidrawer.h	(revision 2300)
+++ /trunk/SophyaPI/PI/pidrawer.h	(revision 2301)
@@ -63,6 +63,6 @@
   inline PIGraphicUC*    GetGraphicUC() { return(mGrUC); }
 
-  inline int          LimitsFixed() const {return limitsFixed;}
-  inline void         FreeLimits() {limitsFixed = 0;}
+  inline bool         LimitsFixed() const {return limitsFixed;}
+  inline void         FreeLimits() {limitsFixed = false;}
 
   virtual void        SelGraAtt(PIGraphicUC* g);
@@ -115,5 +115,5 @@
   int aXFlg, aYFlg;
 
-  int limitsFixed;
+  bool limitsFixed;
   unsigned int axesFlags;
   bool axesAFSz;
Index: /trunk/SophyaPI/PI/pigraphgen.cc
===================================================================
--- /trunk/SophyaPI/PI/pigraphgen.cc	(revision 2300)
+++ /trunk/SophyaPI/PI/pigraphgen.cc	(revision 2301)
@@ -25,18 +25,19 @@
 //--
 //++
-// Links	Voir aussi
-// PIFont
-// PIColorMap
-//--
-//++
-// Links	et
-// PIGrCoord
-// PILineAtt
-//--
-//++
 // Links	Classes derivees
 // PIGraphicUC
 // PIGraphic3D
 // PIGraphicPS
+//--
+//++
+// Links	Voir aussi
+// PIFont
+// PIColorMap
+//--
+//++
+// Links	et
+// PIGrCoord
+// PILineAtt
+// PIGraphicAtt
 //--
 
@@ -641,6 +642,8 @@
 // void  SelFont(PIFontSize sz=PI_NormalSizeFont, PIFontAtt att=PI_RomanFont)
 //	Changement de taille et attribut de fonte
-//|	PI_SmallSizeFont , PI_NormalSizeFont , PI_BigSizeFont, PI_HugeSizeFont
-//|	PI_RomanFont , PI_BoldFont , PI_ItalicFont 
+//|	PI_TinySizeFont, PI_SmallSizeFont , PI_NormalSizeFont 
+//|	PI_BigSizeFont, PI_VeryLargeSizeFont , PI_HugeSizeFont
+//|	PI_RomanFont , PI_BoldFont 
+//|	PI_ItalicFont , PI_BoldItalicFont
 // void  SelFontSzPt(int npt=12, PIFontAtt att=PI_RomanFont)
 //	Choix de taille de fonte avec spécification de taille en points 
Index: /trunk/SophyaPI/PI/pigratt.cc
===================================================================
--- /trunk/SophyaPI/PI/pigratt.cc	(revision 2300)
+++ /trunk/SophyaPI/PI/pigratt.cc	(revision 2301)
@@ -15,4 +15,10 @@
 //	Classe gestionnaire des attributs graphiques.
 //	(couleur, marker, lignes, ...)
+//--
+//++
+// Links	Voir aussi
+// PIGraphic
+// PIFont
+// PILineAtt
 //--
 
@@ -560,2 +566,69 @@
   
 }
+//++
+// Titre	Changement des attributs graphiques
+//--
+//++
+// void  SetColAtt(PIColors fg=PI_NotDefColor, PIColors bg=PI_NotDefColor)
+//	Modifie la couleur d'avant-plan et de fond.
+// void  SetLineAtt(PILineAtt lat=PI_NotDefLineAtt)
+//	Modifie l'attribut type de ligne.
+// void  SetLineAtt(PILineTypes ltyp=PI_NotDefLineAtt)
+//	Modifie l'attribut type de ligne.
+// void  SetFont(PIFont const & fnt)
+//	Selection de fonte.
+// void  SetFontAtt(PIFontName fn, PIFontSize fsz=PI_NotDefFontSize, PIFontAtt fat=PI_NotDefFontAtt)
+//	Selection de type, taille et attribut de fonte
+// void  SetFontAtt(PIFontSize fsz=PI_NotDefFontSize, PIFontAtt fat=PI_NotDefFontAtt)
+//	Selection taille et attribut de fonte. 
+// void  SetMarkerAtt(int sz=-1, PIMarker mrk=PI_NotDefMarker)
+//	Modifie l'attribut type et taille de marker.
+// void  SetMarkerAtt(PIMarker mrk=PI_NotDefMarker)
+//	Modifie l'attribut type de marker.
+// void  SetArrowMarkerAtt(int sz, PIArrowMarker mrk=PI_NotDefArrowMarker)
+//	Modifie l'attribut type et taille de flèche.
+// void  SetArrowMarkerAtt(PIArrowMarker mrk=PI_NotDefArrowMarker)
+//	Modifie l'attribut type de flèche.
+// void  SetColMapId(CMapId cid=CMAP_OTHER, bool rev=false)
+//	L'attribut choix de la table de couleurs, et son flag d'inversion
+//-- 
+//++
+// Titre	Accès aux attributs graphiques
+//--
+//++
+// PIColors  GetColor() const
+// PIColors  GetFgColAtt() const
+//	Renvoie l'attribut de couleur d'avant-plan
+// PIColors  GetBgColAtt() const
+//	Renvoie l'attribut de couleur d'arrière-plan
+// PILineAtt  GetLineAtt() const
+// PILineAtt& GetLineAtt()
+//	Renvoie l'attribut de ligne.
+// PIFont  GetFont()  const
+// PIFont& GetFont()
+//	Renvoie l'attribut fonte.
+// PIFontSize GetFontSz() const
+//	Renvoie la taille de fonte
+// int  GetFontSzPt() const 
+// int  GetFontSize() const 
+//	Renvoie la taille de fonte en points/pixels.
+// PIFontAtt  GetFontAtt() const
+//	Renvoie l'attribut de type de fonte (roman/bold/italique/...)
+// PIFontName  GetFontName() const
+//	Renvoie l'attribut nom de fonte (courier/helvetica...)
+// int  GetMarkerSz() const
+// int  GetMarkerSize() const
+//	Renvoie la taille de marker.
+// PIMarker GetMarker() const
+//	Renvoie le type de marker.
+// int  GetArrowMarkerSz() const
+// int  GetArrowMarkerSize() const
+//	Renvoie la taille de flèche.
+// PIArrowMarker GetArrowMarker() const
+//	Renvoie le type de flèche.
+// CMapId GetColMapId()
+//	Renvoie l'attribut de type de table de couleur
+// CMapId GetColMapId(bool & rev)
+//	Renvoie l'attribut de type de table de couleur, 
+//	et le flag d'inversion de la table de couleur
+//--
Index: /trunk/SophyaPI/PI/piscdrawwdg.h
===================================================================
--- /trunk/SophyaPI/PI/piscdrawwdg.h	(revision 2300)
+++ /trunk/SophyaPI/PI/piscdrawwdg.h	(revision 2301)
@@ -63,5 +63,5 @@
   inline double YPPos() const { return mPPos[1]; }
 
-  int    LimitsFixed() const {return mBDrw->LimitsFixed();}
+  bool   LimitsFixed() const {return mBDrw->LimitsFixed();}
   void   FreeLimits() { mBDrw->FreeLimits(); }
     
Index: /trunk/SophyaPI/PIGcont/picntools.cc
===================================================================
--- /trunk/SophyaPI/PIGcont/picntools.cc	(revision 2300)
+++ /trunk/SophyaPI/PIGcont/picntools.cc	(revision 2301)
@@ -27,12 +27,5 @@
 // Links	Voir aussi
 // PIDrawer
-// PIBaseWdg
 // PIContourDrawer
-//--
-//++
-// Links	Ainsi que
-// PIScDrawWdg
-// PIImage
-// PIDraw3DWdg
 //--
 
Index: /trunk/SophyaPI/PIGcont/pigncont.cc
===================================================================
--- /trunk/SophyaPI/PIGcont/pigncont.cc	(revision 2300)
+++ /trunk/SophyaPI/PIGcont/pigncont.cc	(revision 2301)
@@ -28,5 +28,5 @@
 // include	pigncont.h
 //
-//	Classe d'interface avec le code de GNUplot qui calcule les courbes de niveaux 
+//      Classe d'interface avec le code de GNUplot qui calcule les courbes de niveaux 
 //      GNUplot part d'une grille (structure iso_curve) qui est remplie par les 
 //      createurs 
@@ -34,4 +34,5 @@
 //      du traceur de contour (classe PIContourDrawer)
 //      Options (reconnues dans un enum t_contour_kind dans GNUplot)
+// 
 //       1) nombre de courbes et et niveaux determines automatiquement par le programme (defaut)
 //          En general, 5 courbes sont tracees LEVELS_AUTO
@@ -49,6 +50,9 @@
 //     de PIContourDrawer
 //     (enum t_contour_levels_kind ds GNUplot) 
+//
 //       a) interpolation simple CONTOUR_KIND_LINEAR
+//
 //       b) spline cubique       CONTOUR_KIND_CUBIC_SPL
+//
 //       c) B-spline             CONTOUR_KIND_BSPLINE
 //
@@ -57,5 +61,5 @@
 // Links	Voir aussi
 // PIContourDrawer
-// PIcntools 
+// PICnTools 
 //--
 //++
@@ -590,15 +594,14 @@
 // include	pigncont.h
 // 
-//  Classe de traceur de contour qui herite de PIDrawer et de GNUPlotContour 
-//  elle gere les options graphiques generales (couleurs, lignes, fontes,...)
-//  les contours peuvent etre traces avec des lignes ou des markers
-//  on peut afficher les valeurs des niveaux des contours
-//  on peut demander a utiliser une table de couleur 
-//  tout ca a travers la fenetre de controle associee (PICntools) 
-//
-//
-//--
-//++
-// Links        Parents
+//      Classe de traceur de contour qui herite de PIDrawer et de GNUPlotContour 
+//      elle gere les options graphiques generales (couleurs, lignes, fontes,...)
+//      les contours peuvent etre traces avec des lignes ou des markers
+//      on peut afficher les valeurs des niveaux des contours
+//      on peut demander a utiliser une table de couleur 
+//      tout ca a travers la fenetre de controle associee (PICnTools) 
+//
+//--
+//++
+// Links	Parents
 // PIDrawer
 // GNUPlotContour
@@ -606,5 +609,5 @@
 //++
 // Links	Voir aussi
-// PIcntools 
+// PICnTools 
 //--
 //++
Index: /trunk/SophyaPI/PIext/pihisto2d.cc
===================================================================
--- /trunk/SophyaPI/PIext/pihisto2d.cc	(revision 2300)
+++ /trunk/SophyaPI/PIext/pihisto2d.cc	(revision 2301)
@@ -457,7 +457,7 @@
 //|         .   ==> 0<valeur<1
 //|------------------------------------------
-//|             1111111111222222222233333333
+//|             1         2         3
 //|   01234567890123456789012345678901234567
-//| " .+23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*"
+//|   .+23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ* 
 //|------------------------------------------
 //--
