Index: trunk/SophyaPI/PI/pi3ddrw.cc
===================================================================
--- trunk/SophyaPI/PI/pi3ddrw.cc	(revision 328)
+++ trunk/SophyaPI/PI/pi3ddrw.cc	(revision 329)
@@ -267,5 +267,5 @@
 //--
 //++
-// PIDraw3DWdg(PIContainerGen *par, char *nom, int sx=100, int sy=100, int px=0, int py=0)
+// PIDraw3DWdg(PIContainerGen *par, const char *nom, int sx=100, int sy=100, int px=0, int py=0)
 //	Constructeur
 // long	 kind()
@@ -276,5 +276,5 @@
 
 /* --Methode-- */
-PIDraw3DWdg::PIDraw3DWdg(PIContainerGen *par, char *nom, int sx, int sy, int px, int py)
+PIDraw3DWdg::PIDraw3DWdg(PIContainerGen *par, const char *nom, int sx, int sy, int px, int py)
         : PIBaseWdg(par, nom, sx, sy, px, py)
 {  
Index: trunk/SophyaPI/PI/pi3ddrw.h
===================================================================
--- trunk/SophyaPI/PI/pi3ddrw.h	(revision 328)
+++ trunk/SophyaPI/PI/pi3ddrw.h	(revision 329)
@@ -62,5 +62,5 @@
   enum {ClassId = 5500};
 
-			PIDraw3DWdg(PIContainerGen *par, char *nom,
+			PIDraw3DWdg(PIContainerGen *par, const char *nom,
                                     int sx=100, int sy=100, int px=0, int py=0);
   virtual		~PIDraw3DWdg();
Index: trunk/SophyaPI/PI/pibwdggen.cc
===================================================================
--- trunk/SophyaPI/PI/pibwdggen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pibwdggen.cc	(revision 329)
@@ -44,5 +44,5 @@
 //--
 //++
-//  PIBaseWdgGen(PIContainerGen *par, char *nom, int sx=10, int sy=10, int px=0, int py=0)
+//  PIBaseWdgGen(PIContainerGen *par, const char *nom, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet contenu dans l'objet *PIContainer* "par", de
 //	taille "sx,sy", se trouvant à la position "px,py" avec le nom "nom"	
@@ -90,5 +90,5 @@
  
 /* --Methode-- */
-PIBaseWdgGen::PIBaseWdgGen(PIContainerGen *par, char *nom,
+PIBaseWdgGen::PIBaseWdgGen(PIContainerGen *par, const char *nom,
                        int sx, int sy, int px, int py) :
 PIWdg(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pibwdggen.h
===================================================================
--- trunk/SophyaPI/PI/pibwdggen.h	(revision 328)
+++ trunk/SophyaPI/PI/pibwdggen.h	(revision 329)
@@ -36,5 +36,5 @@
 // Les methodes ...
 
-                     PIBaseWdgGen(PIContainerGen *par, char *nom,
+                     PIBaseWdgGen(PIContainerGen *par, const char *nom,
                                    int sx=10, int sy=10, int px=0, int py=0);
   virtual            ~PIBaseWdgGen();
Index: trunk/SophyaPI/PI/pibwdgx.cc
===================================================================
--- trunk/SophyaPI/PI/pibwdgx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pibwdgx.cc	(revision 329)
@@ -26,5 +26,5 @@
 
 /* --Methode-- */
-PIBaseWdgX::PIBaseWdgX(PIContainerGen *par, char *nom,
+PIBaseWdgX::PIBaseWdgX(PIContainerGen *par, const char *nom,
                        int sx, int sy, int px, int py) 
 : PIBaseWdgGen(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pibwdgx.h
===================================================================
--- trunk/SophyaPI/PI/pibwdgx.h	(revision 328)
+++ trunk/SophyaPI/PI/pibwdgx.h	(revision 329)
@@ -20,5 +20,5 @@
 // Les methodes ...
 
-                     PIBaseWdgX(PIContainerGen *par, char *nom,
+                     PIBaseWdgX(PIContainerGen *par, const char *nom,
                                 int sx=10, int sy=10, int px=0, int py=0);
   virtual            ~PIBaseWdgX();
Index: trunk/SophyaPI/PI/picons.cc
===================================================================
--- trunk/SophyaPI/PI/picons.cc	(revision 328)
+++ trunk/SophyaPI/PI/picons.cc	(revision 329)
@@ -23,5 +23,5 @@
 
 /* --Methode-- */
-PIConsole::PIConsole(PIContainer* par, char* nom, PIMessage msg,
+PIConsole::PIConsole(PIContainer* par, const char* nom, PIMessage msg,
                      int nl, int nc, int sx, int sy, int px, int py, bool scb) :
 PIBaseWdg(par, nom, sx, sy, px, py) 
@@ -531,5 +531,5 @@
 
 /* --Methode-- */
-void PIConsole::AssocScrollBar(PIContainer* par, char* nom, bool scb, int sx, int sy, int px, int py)
+void PIConsole::AssocScrollBar(PIContainer* par, const char* nom, bool scb, int sx, int sy, int px, int py)
 {
 if (!scb) {
Index: trunk/SophyaPI/PI/picons.h
===================================================================
--- trunk/SophyaPI/PI/picons.h	(revision 328)
+++ trunk/SophyaPI/PI/picons.h	(revision 329)
@@ -29,5 +29,5 @@
 class PIConsole : public PIBaseWdg {
 public:
-                     PIConsole(PIContainer* par, char* nom, PIMessage msg, int nl, int nc, 
+                     PIConsole(PIContainer* par, const char* nom, PIMessage msg, int nl, int nc, 
                                int sx=300, int sy=200, int px=0, int py=0, bool scb=true);
                      ~PIConsole();
@@ -64,5 +64,5 @@
 
 protected:
-          void       AssocScrollBar(PIContainer* par, char* nom, bool scb, int sx, int sy, int px, int py);
+          void       AssocScrollBar(PIContainer* par, const char* nom, bool scb, int sx, int sy, int px, int py);
           void       ScrollUp();
           void       SetDispOffset(int ldeb=-1);
Index: trunk/SophyaPI/PI/picontainergen.cc
===================================================================
--- trunk/SophyaPI/PI/picontainergen.cc	(revision 328)
+++ trunk/SophyaPI/PI/picontainergen.cc	(revision 329)
@@ -42,5 +42,5 @@
 //--
 //++
-// PIContainer(PIContainerGen *par, char *nom, int sx, int sy, int px, int py)
+// PIContainer(PIContainerGen *par, const char *nom, int sx, int sy, int px, int py)
 //	Création d'un objet "PIContainer" dans le conteneur parent "par", de
 //	taille "sx,sy", se trouvant à la position "px,py" avec le nom "nom".
@@ -94,5 +94,5 @@
 
 /* --Methode-- */
-PIContainerGen::PIContainerGen(PIContainerGen *par, char *nom, 
+PIContainerGen::PIContainerGen(PIContainerGen *par, const char *nom, 
                                int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)  
Index: trunk/SophyaPI/PI/picontainergen.h
===================================================================
--- trunk/SophyaPI/PI/picontainergen.h	(revision 328)
+++ trunk/SophyaPI/PI/picontainergen.h	(revision 329)
@@ -42,5 +42,5 @@
   enum {ClassId = 1500};
 
-               PIContainerGen(PIContainerGen *par, char *nom, 
+               PIContainerGen(PIContainerGen *par, const char *nom, 
                               int sx=10, int sy=10, int px=0, int py=0);
   virtual      ~PIContainerGen();
Index: trunk/SophyaPI/PI/picontainerx.cc
===================================================================
--- trunk/SophyaPI/PI/picontainerx.cc	(revision 328)
+++ trunk/SophyaPI/PI/picontainerx.cc	(revision 329)
@@ -4,5 +4,5 @@
 
 /* --Methode-- */
-PIContainerX::PIContainerX(PIContainerGen *par, char *nom, 
+PIContainerX::PIContainerX(PIContainerGen *par, const char *nom, 
                            int sx, int sy, int px, int py) 
 : PIContainerGen(par, nom, sx, sy, px, py)
@@ -15,5 +15,5 @@
 
 // constructeur special a utiliser par PIApplicationX ...
-PIContainerX::PIContainerX(PIMsgHandler *par, PIWdgX *parwdg, char *nom,  
+PIContainerX::PIContainerX(PIMsgHandler *par, PIWdgX *parwdg, const char *nom,  
                            int sx, int sy, int px, int py) 
 : PIContainerGen(NULL, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/picontainerx.h
===================================================================
--- trunk/SophyaPI/PI/picontainerx.h	(revision 328)
+++ trunk/SophyaPI/PI/picontainerx.h	(revision 329)
@@ -9,9 +9,9 @@
 {
 public:
-	              PIContainerX(PIContainerGen *par, char *nom,
+	              PIContainerX(PIContainerGen *par, const char *nom,
                            int sx=10, int sy=10, int px=0, int py=0);
 
 // Ce constructeur est a utiliser par PIApplicationX ...
-              	      PIContainerX(PIMsgHandler *par, PIWdgX *parwdg, char *nom,
+              	      PIContainerX(PIMsgHandler *par, PIWdgX *parwdg, const char *nom,
                            int sx=10, int sy=10, int px=0, int py=0);
 
Index: trunk/SophyaPI/PI/pidrawwin.cc
===================================================================
--- trunk/SophyaPI/PI/pidrawwin.cc	(revision 328)
+++ trunk/SophyaPI/PI/pidrawwin.cc	(revision 329)
@@ -1,5 +1,5 @@
 #include "pidrawwin.h"
 
-PIDrawWindow::PIDrawWindow(PIMsgHandler* par, char *nom,
+PIDrawWindow::PIDrawWindow(PIMsgHandler* par, const char *nom,
                                PIWindowKind k, int sx, int sy, int px, int py)
 :PIWindow(par, nom, k, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pidrawwin.h
===================================================================
--- trunk/SophyaPI/PI/pidrawwin.h	(revision 328)
+++ trunk/SophyaPI/PI/pidrawwin.h	(revision 329)
@@ -10,5 +10,5 @@
 class PIDrawWindow : public PIWindow {
 public:
-                 PIDrawWindow(PIMsgHandler* par, char *nom, 
+                 PIDrawWindow(PIMsgHandler* par, const char *nom, 
                                 PIWindowKind k=PIWK_normal, int sx=10, int sy=10, 
                                 int px=0, int py=0);
Index: trunk/SophyaPI/PI/pifilechogen.cc
===================================================================
--- trunk/SophyaPI/PI/pifilechogen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pifilechogen.cc	(revision 329)
@@ -32,5 +32,5 @@
 //--
 //++
-// PIFileChooser(PIMsgHandler* par, char* nom, PIMessage msg)
+// PIFileChooser(PIMsgHandler* par, const char* nom, PIMessage msg)
 //	Création d'un objet sélecteur de fichier, avec le message "msg".
 // void  Show()
@@ -50,5 +50,5 @@
 
 
-PIFileChooserGen::PIFileChooserGen(PIMsgHandler* par, char* nom, PIMessage msg)
+PIFileChooserGen::PIFileChooserGen(PIMsgHandler* par, const char* nom, PIMessage msg)
 : PIWdg(NULL, nom)
 {
Index: trunk/SophyaPI/PI/pifilechogen.h
===================================================================
--- trunk/SophyaPI/PI/pifilechogen.h	(revision 328)
+++ trunk/SophyaPI/PI/pifilechogen.h	(revision 329)
@@ -9,5 +9,5 @@
   enum {ClassId = 2100};
 
-                     PIFileChooserGen(PIMsgHandler* par, char* nom, PIMessage msg);
+                     PIFileChooserGen(PIMsgHandler* par, const char* nom, PIMessage msg);
   virtual            ~PIFileChooserGen();
 
Index: trunk/SophyaPI/PI/pifilechox.cc
===================================================================
--- trunk/SophyaPI/PI/pifilechox.cc	(revision 328)
+++ trunk/SophyaPI/PI/pifilechox.cc	(revision 329)
@@ -47,5 +47,5 @@
 static int PIFC_SzX, PIFC_SzY;
 /* --Methode-- */
-PIFileChooserX::PIFileChooserX(PIMsgHandler* par, char* nom, PIMessage msg)
+PIFileChooserX::PIFileChooserX(PIMsgHandler* par, const char* nom, PIMessage msg)
 : PIFileChooserGen(par, nom, msg)
 {
Index: trunk/SophyaPI/PI/pifilechox.h
===================================================================
--- trunk/SophyaPI/PI/pifilechox.h	(revision 328)
+++ trunk/SophyaPI/PI/pifilechox.h	(revision 329)
@@ -10,5 +10,5 @@
 public:
 
-                   PIFileChooserX(PIMsgHandler* par, char* nom, PIMessage msg);
+                   PIFileChooserX(PIMsgHandler* par, const char* nom, PIMessage msg);
   virtual          ~PIFileChooserX();
 
Index: trunk/SophyaPI/PI/pifontgen.h
===================================================================
--- trunk/SophyaPI/PI/pifontgen.h	(revision 328)
+++ trunk/SophyaPI/PI/pifontgen.h	(revision 329)
@@ -8,5 +8,6 @@
 #include "pisysdep.h"
 
-enum PIFontName { PI_DefaultFont = 0, PI_CourierFont = 1, PI_SymbolFont = 2};
+enum PIFontName { PI_DefaultFont = 0, PI_CourierFont = 1, PI_HelveticaFont = 2, 
+                  PI_TimesFont = 3, PI_SymbolFont = 4};
 
 enum PIFontSize { PI_NotDefFontSize = -1, 
Index: trunk/SophyaPI/PI/pifontx.cc
===================================================================
--- trunk/SophyaPI/PI/pifontx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pifontx.cc	(revision 329)
@@ -119,5 +119,5 @@
 #define NMAXFONTSZ    7
 #define NMAXFONTATT   3
-#define NMAXFONTTYP   3
+#define NMAXFONTTYP   5
 
 /*  Variables globales pour la gestion des fontes  */
@@ -129,5 +129,6 @@
 static int HugeFontIndex = 6;
 static  PIFontAtt fntatt[NMAXFONTATT] = { PI_RomanFont, PI_BoldFont, PI_ItalicFont };
-static  PIFontName fntname[NMAXFONTTYP] = { PI_DefaultFont, PI_CourierFont, PI_SymbolFont};  
+static  PIFontName fntname[NMAXFONTTYP] = { PI_DefaultFont, PI_CourierFont, PI_HelveticaFont, 
+                                            PI_TimesFont, PI_SymbolFont};  
 static XFontStruct * defnt = NULL;
 
@@ -196,6 +197,12 @@
     k = 1;
     break;
+  case PI_HelveticaFont :
+    k = 2;
+    break;
+  case PI_TimesFont :
+    k = 3;
+    break;
   case PI_SymbolFont :
-    k = 2;
+    k = 4;
     break;
   default :
@@ -211,5 +218,5 @@
 typedef struct 
   {
-  String fntFam[3];
+  String fntFam[5];
   } myAppData;
 static myAppData  apd;
@@ -220,6 +227,10 @@
   { "courierfontFamilyName", "CourierfontFamilyName", XtRString, sizeof(String),
     sizeof(String) , XtRString, "*-courier" } ,
+  { "helveticafontFamilyName", "HelveticafontFamilyName", XtRString, sizeof(String),
+    2*sizeof(String) , XtRString, "*-helvetica" } ,
+  { "timesfontFamilyName", "TimesfontFamilyName", XtRString, sizeof(String),
+    2*sizeof(String) , XtRString, "*-times" } ,
   { "symbolfontFamilyName", "SymbolfontFamilyName", XtRString, sizeof(String),
-    2*sizeof(String) , XtRString, "*-symbol" }
+    4*sizeof(String) , XtRString, "*-symbol" }
 };
  
Index: trunk/SophyaPI/PI/piimage.cc
===================================================================
--- trunk/SophyaPI/PI/piimage.cc	(revision 328)
+++ trunk/SophyaPI/PI/piimage.cc	(revision 329)
@@ -55,5 +55,5 @@
 //--
 //++
-//  PIImage(PIContainerGen *par, char *nom=NULL, int sx=0, int sy=0, int px=0, int py=0)
+//  PIImage(PIContainerGen *par, const char *nom=NULL, int sx=0, int sy=0, int px=0, int py=0)
 //	Créateur
 //  
@@ -78,5 +78,5 @@
 
 /* --Methode-- */
-PIImage::PIImage(PIContainerGen *par, char *nom,
+PIImage::PIImage(PIContainerGen *par, const char *nom,
    int sx, int sy, int px, int py) :
   PIPixmap(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/piimage.h
===================================================================
--- trunk/SophyaPI/PI/piimage.h	(revision 328)
+++ trunk/SophyaPI/PI/piimage.h	(revision 329)
@@ -27,5 +27,5 @@
 //  Les methodes 
 
-  PIImage(PIContainerGen *par, char *nom=NULL, 
+  PIImage(PIContainerGen *par, const char *nom=NULL, 
            int sx=0, int sy=0, int px=0, int py=0);
   ~PIImage();
Index: trunk/SophyaPI/PI/pilistgen.cc
===================================================================
--- trunk/SophyaPI/PI/pilistgen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pilistgen.cc	(revision 329)
@@ -27,5 +27,5 @@
 //--
 //++
-// PIListGen(PIContainerGen* par, char* nom, int sx=100, int sy=100, int px=0, int py=0)
+// PIListGen(PIContainerGen* par, const char* nom, int sx=100, int sy=100, int px=0, int py=0)
 //	Création d'un objet liste (PIList). 
 //--
@@ -74,5 +74,5 @@
 //--
 
-PIListGen::PIListGen(PIContainerGen *par, char *nom,
+PIListGen::PIListGen(PIContainerGen *par, const char *nom,
                      int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pilistgen.h
===================================================================
--- trunk/SophyaPI/PI/pilistgen.h	(revision 328)
+++ trunk/SophyaPI/PI/pilistgen.h	(revision 329)
@@ -10,5 +10,5 @@
   enum {ClassId = 1110};
 
-	             PIListGen(PIContainerGen* par, char* nom,
+	             PIListGen(PIContainerGen* par, const char* nom,
                                int sx=100, int sy=100, int px=0, int py=0);
 	             ~PIListGen();
Index: trunk/SophyaPI/PI/pilistx.cc
===================================================================
--- trunk/SophyaPI/PI/pilistx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pilistx.cc	(revision 329)
@@ -34,5 +34,5 @@
 
 /* --Methode-- */
-PIListX::PIListX(PIContainerGen* par, char* nom,
+PIListX::PIListX(PIContainerGen* par, const char* nom,
                  int sx, int sy, int px, int py)
 : PIListGen(par, nom, sx, sy, px, py)
@@ -48,5 +48,5 @@
 XtSetArg(warg[n], XmNlistSizePolicy, XmCONSTANT);  n++;
 XtSetArg(warg[n], XmNscrollBarDisplayPolicy, XmAS_NEEDED);  n++;
-mlist = XmCreateScrolledList(((PIWdgX *)par)->XtWdg(), nom, warg, n);
+mlist = XmCreateScrolledList(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);  // const_cast
 XtManageChild(mlist);
 XtWdg() = XtParent(mlist);
@@ -138,5 +138,6 @@
 void PIListX::DeleteAllItems()
 {
-for(int i=0; i<mNItem; i++) DelItem(i);
+int nmax = mNItem;
+for(int i=0; i<nmax; i++) DelItem(0);
 }
 
Index: trunk/SophyaPI/PI/pilistx.h
===================================================================
--- trunk/SophyaPI/PI/pilistx.h	(revision 328)
+++ trunk/SophyaPI/PI/pilistx.h	(revision 329)
@@ -6,5 +6,5 @@
 class PIListX : public PIListGen {
 public:
-	             PIListX(PIContainerGen* par, char* nom,
+	             PIListX(PIContainerGen* par, const char* nom,
                              int sx=100, int sy=100, int px=0, int py=0);
 	             ~PIListX();
Index: trunk/SophyaPI/PI/pimenubargen.cc
===================================================================
--- trunk/SophyaPI/PI/pimenubargen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pimenubargen.cc	(revision 329)
@@ -30,5 +30,5 @@
 //--
 //++
-// PIMenubar(PIApplicationGen* par, char* nom)
+// PIMenubar(PIApplicationGen* par, const char* nom)
 //	Création d'un objet Menubar.
 // void  AppendMenu(PIMenu* pdm)
@@ -43,5 +43,5 @@
 //--
 
-PIMenubarGen::PIMenubarGen(PIApplicationGen* par, char* nom)
+PIMenubarGen::PIMenubarGen(PIApplicationGen* par, const char* nom)
 : PIWdg(NULL, nom)
 {
Index: trunk/SophyaPI/PI/pimenubargen.h
===================================================================
--- trunk/SophyaPI/PI/pimenubargen.h	(revision 328)
+++ trunk/SophyaPI/PI/pimenubargen.h	(revision 329)
@@ -11,5 +11,5 @@
   enum {ClassId = 2600};
 
-	            PIMenubarGen(PIApplicationGen* par, char* nom);
+	            PIMenubarGen(PIApplicationGen* par, const char* nom);
 	            ~PIMenubarGen();
 				   
Index: trunk/SophyaPI/PI/pimenubarx.cc
===================================================================
--- trunk/SophyaPI/PI/pimenubarx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pimenubarx.cc	(revision 329)
@@ -15,5 +15,5 @@
 
 /* --Methode-- */
-PIMenubarX::PIMenubarX(PIApplicationGen* par, char* nom)
+PIMenubarX::PIMenubarX(PIApplicationGen* par, const char* nom)
 : PIMenubarGen(par, nom)
 {
@@ -22,5 +22,5 @@
 
 XtWdg() = XmCreateMenuBar( ((PIApplicationX *)par)->MBCont()->XtWdg(), 
-                            nom, NULL, 0); 
+                           (char *)nom, NULL, 0);   // const_cast
 
 wmis = k_wmi_normal ;
Index: trunk/SophyaPI/PI/pimenubarx.h
===================================================================
--- trunk/SophyaPI/PI/pimenubarx.h	(revision 328)
+++ trunk/SophyaPI/PI/pimenubarx.h	(revision 329)
@@ -12,5 +12,5 @@
 class PIMenubarX : public PIMenubarGen {
  public:
-	            PIMenubarX(PIApplicationGen* par, char* nom);
+	            PIMenubarX(PIApplicationGen* par, const char* nom);
 	            ~PIMenubarX();
 
Index: trunk/SophyaPI/PI/pimenugen.cc
===================================================================
--- trunk/SophyaPI/PI/pimenugen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pimenugen.cc	(revision 329)
@@ -32,5 +32,5 @@
 //--
 //++
-// PIMenu(PIWdg* par, char* nom, PIMenuType pdpu=k_UTMenu)
+// PIMenu(PIWdg* par, const char* nom, PIMenuType pdpu=k_UTMenu)
 //	Création d'un objet Menubar. "pdpu" peut prendre les valeurs
 //	"k_UTMenu", "k_PopupMenu", "k_PulldownMenu". Un menu de type
@@ -48,12 +48,12 @@
 //
 //++
-// void  AppendItem(char* nom, PIMessage msg, char* sc=NULL)
+// void  AppendItem(const char* nom, PIMessage msg, char* sc=NULL)
 //	Permet d'ajouter une option au menu. Un raccourci clavier peut être spécifié
 //	par "sc".
-// void  AppendCheckItem(char* nom, PIMessage msg, char* sc=NULL)
+// void  AppendCheckItem(const char* nom, PIMessage msg, char* sc=NULL)
 //	Permet d'ajouter une option avec état ON/OFF au menu.
 // void	 AppendPDMenu(PIMenu* pdm, char* sc=NULL)
 //	Ajoute un menu déroulant comme sous-menu.
-// void  DeleteItem(char* nom)
+// void  DeleteItem(const char* nom)
 //	Permet de supprimer une option du menu identifiée par le titre ("nom").
 //	Si le nom désigne un menu déroulant, celui-ci n'est pas détruit (par "delete").
@@ -67,5 +67,5 @@
 //--
 //++
-// void  SetSensitivity(char* nom, bool sens=true)
+// void  SetSensitivity(const char* nom, bool sens=true)
 //	Rend sensible ("sens=true") ou insensible l'option du menu identifiée par "nom".
 //	Une option insensible est affichée, mais ne peut être sélectionnée.
@@ -74,5 +74,5 @@
 // void  SetSensitivityNum(int n, bool sens=true)
 //	Rend sensible ("sens=true") ou insensible l'option numéro "n".
-// bool  IsSensitive(char* nom)
+// bool  IsSensitive(const char* nom)
 //	Indique si l'option "nom" est sensible ou pas.
 // bool  IsSensitiveMsg(PIMessage msg)
@@ -89,5 +89,5 @@
 //--
 //++
-// void  SetState(char* nom, bool st=false)
+// void  SetState(const char* nom, bool st=false)
 //	Change l'état de l'option "nom".
 // void  SetStateMsg(PIMessage msg, bool st=false)
@@ -95,5 +95,5 @@
 // void  SetStateNum(int n, bool st=false)
 //	Change l'état de l'option numéro "n".
-// bool GetState(char* nom)
+// bool GetState(const char* nom)
 //	Renvoie l'état de l'option "nom".
 // bool GetStateMsg(PIMessage msg)
@@ -113,5 +113,5 @@
 //--
 
-PIMenuGen::PIMenuGen(PIWdg* par, char* nom, PIMenuType pdpu)
+PIMenuGen::PIMenuGen(PIWdg* par, const char* nom, PIMenuType pdpu)
 : PIWdg(NULL, nom) , mMTyp(pdpu)
 {
Index: trunk/SophyaPI/PI/pimenugen.h
===================================================================
--- trunk/SophyaPI/PI/pimenugen.h	(revision 328)
+++ trunk/SophyaPI/PI/pimenugen.h	(revision 329)
@@ -12,28 +12,28 @@
   enum {ClassId = 2500};
 
-	          PIMenuGen(PIWdg* par, char* nom, PIMenuType pdpu=k_UTMenu);
+	          PIMenuGen(PIWdg* par, const char* nom, PIMenuType pdpu=k_UTMenu);
 	          ~PIMenuGen();
 				   
-  virtual void	  AppendItem(char* nom, PIMessage msg, char* sc=NULL)=0;
-  virtual void	  AppendCheckItem(char* nom, PIMessage msg, char* sc=NULL)=0;
+  virtual void	  AppendItem(const char* nom, PIMessage msg, char* sc=NULL)=0;
+  virtual void	  AppendCheckItem(const char* nom, PIMessage msg, char* sc=NULL)=0;
   virtual void	  AppendPDMenu(PIMenuGen *pdm, char* sc=NULL)=0;
 
-  virtual void    DeleteItem(char *nom)=0;
+  virtual void    DeleteItem(const char *nom)=0;
   virtual void    DeleteItemMsg(PIMessage msg)=0;
   virtual void    DeleteItemNum(int n)=0;
 
-  virtual void    SetSensitivity(char *nom, bool sens=true)=0; 
+  virtual void    SetSensitivity(const char *nom, bool sens=true)=0; 
   virtual void    SetSensitivityMsg(PIMessage msg, bool sens=true)=0; 
   virtual void    SetSensitivityNum(int n, bool sens=true)=0;
 
-  virtual bool    IsSensitive(char *nom)=0;
+  virtual bool    IsSensitive(const char *nom)=0;
   virtual bool    IsSensitiveMsg(PIMessage msg)=0;
   virtual bool    IsSensitiveNum(int n)=0;
 
-  virtual void    SetState(char *nom, bool st=false)=0; 
+  virtual void    SetState(const char *nom, bool st=false)=0; 
   virtual void    SetStateMsg(PIMessage msg, bool st=false)=0; 
   virtual void    SetStateNum(int n, bool st=false)=0;
  
-  virtual bool    GetState(char *nom)=0; 
+  virtual bool    GetState(const char *nom)=0; 
   virtual bool    GetStateMsg(PIMessage msg)=0; 
   virtual bool    GetStateNum(int n)=0; 
Index: trunk/SophyaPI/PI/pimenux.cc
===================================================================
--- trunk/SophyaPI/PI/pimenux.cc	(revision 328)
+++ trunk/SophyaPI/PI/pimenux.cc	(revision 329)
@@ -69,5 +69,5 @@
 
 /* --Methode-- */
-PIMenuX::PIMenuX(PIWdg* par, char *nom, PIMenuType pdpu) 
+PIMenuX::PIMenuX(PIWdg* par, const char *nom, PIMenuType pdpu) 
 : PIMenuGen(par, nom, pdpu)
 {
@@ -88,7 +88,7 @@
 }
 if (pdpu == k_PopupMenu)
-  XtWdg() = XmCreatePopupMenu( tw, nom, NULL, 0); 
+  XtWdg() = XmCreatePopupMenu( tw, (char *)nom, NULL, 0);   // const_cast
 else 
-  XtWdg() = XmCreatePulldownMenu( tw, nom, NULL, 0); 
+  XtWdg() = XmCreatePulldownMenu( tw, (char *)nom, NULL, 0); // const_cast
 
 mMTyp = pdpu;
@@ -107,5 +107,5 @@
 
 /* --Methode-- */
-void PIMenuX::AppendItem(char* nom, PIMessage msg, char* sc)
+void PIMenuX::AppendItem(const char* nom, PIMessage msg, char* sc)
 {
 AddItem(nom, msg, 0, sc, NULL);
@@ -113,5 +113,5 @@
 
 /* --Methode-- */
-void PIMenuX::AppendCheckItem(char* nom, PIMessage msg, char* sc)
+void PIMenuX::AppendCheckItem(const char* nom, PIMessage msg, char* sc)
 {
 AddItem(nom, msg, 1, sc, NULL);
@@ -129,5 +129,5 @@
 
 /* --Methode-- */
-void PIMenuX::DeleteItem(char *nom)
+void PIMenuX::DeleteItem(const char *nom)
 {
 DeleteItemNum(GetNumItem(nom));
@@ -141,5 +141,5 @@
 
 /* --Methode-- */
-void PIMenuX::SetSensitivity(char *nom, bool sens)
+void PIMenuX::SetSensitivity(const char *nom, bool sens)
 {
 SetSensitivityNum(GetNumItem(nom), sens);
@@ -153,5 +153,5 @@
 
 /* --Methode-- */
-bool PIMenuX::IsSensitive(char *nom)
+bool PIMenuX::IsSensitive(const char *nom)
 {
 return(IsSensitiveNum(GetNumItem(nom)) );
@@ -205,5 +205,5 @@
 
 /* --Methode-- */
-void PIMenuX::SetState(char *nom, bool st)
+void PIMenuX::SetState(const char *nom, bool st)
 {
 SetStateNum(GetNumItem(nom), st);
@@ -230,5 +230,5 @@
 
 /* --Methode-- */
-bool PIMenuX::GetState(char *nom)
+bool PIMenuX::GetState(const char *nom)
 {
 return( GetStateNum(GetNumItem(nom)) );
@@ -289,5 +289,5 @@
 
 /* --Methode-- */
-int PIMenuX::GetNumItem(char *nom)
+int PIMenuX::GetNumItem(const char *nom)
 {
 
Index: trunk/SophyaPI/PI/pimenux.h
===================================================================
--- trunk/SophyaPI/PI/pimenux.h	(revision 328)
+++ trunk/SophyaPI/PI/pimenux.h	(revision 329)
@@ -20,28 +20,28 @@
 class PIMenuX : public PIMenuGen {
 public:
-	          PIMenuX(PIWdg* par, char* nom, PIMenuType pdpu=k_UTMenu);
+	          PIMenuX(PIWdg* par, const char* nom, PIMenuType pdpu=k_UTMenu);
 	          ~PIMenuX();
 				   
-  virtual void	  AppendItem(char* nom, PIMessage msg, char* sc=NULL);
-  virtual void	  AppendCheckItem(char* nom, PIMessage msg, char* sc=NULL);
+  virtual void	  AppendItem(const char* nom, PIMessage msg, char* sc=NULL);
+  virtual void	  AppendCheckItem(const char* nom, PIMessage msg, char* sc=NULL);
   virtual void	  AppendPDMenu(PIMenuGen *pdm, char* sc=NULL);
 
-  virtual void    DeleteItem(char *nom);
+  virtual void    DeleteItem(const char *nom);
   virtual void    DeleteItemMsg(PIMessage msg);
   virtual void    DeleteItemNum(int n);
 
-  virtual void    SetSensitivity(char *nom, bool sens=true); 
+  virtual void    SetSensitivity(const char *nom, bool sens=true); 
   virtual void    SetSensitivityMsg(PIMessage msg, bool sens=true); 
   virtual void    SetSensitivityNum(int n, bool sens=true);
 
-  virtual bool    IsSensitive(char *nom);
+  virtual bool    IsSensitive(const char *nom);
   virtual bool    IsSensitiveMsg(PIMessage msg);
   virtual bool    IsSensitiveNum(int n);
 
-  virtual void    SetState(char *nom, bool st=false); 
+  virtual void    SetState(const char *nom, bool st=false); 
   virtual void    SetStateMsg(PIMessage msg, bool st=false); 
   virtual void    SetStateNum(int n, bool st=false);
  
-  virtual bool    GetState(char *nom); 
+  virtual bool    GetState(const char *nom); 
   virtual bool    GetStateMsg(PIMessage msg); 
   virtual bool    GetStateNum(int n); 
@@ -53,5 +53,5 @@
 // Pour usage prive et par OptionMenu, ...
   PIMessage       ItemMsg(int n);
-  int             GetNumItem(char *nom);
+  int             GetNumItem(const char *nom);
   int             GetNumItemMsg(PIMessage msg);
   SysDWdg         GetItemWdg(int n);
Index: trunk/SophyaPI/PI/pioptmenugen.cc
===================================================================
--- trunk/SophyaPI/PI/pioptmenugen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pioptmenugen.cc	(revision 329)
@@ -2,5 +2,5 @@
 
 
-PIOptMenuGen::PIOptMenuGen(PIContainerGen* par, char* nom, int sx, int sy, int px, int py)
+PIOptMenuGen::PIOptMenuGen(PIContainerGen* par, const char* nom, int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py) // Attention au const !
 {
Index: trunk/SophyaPI/PI/pioptmenugen.h
===================================================================
--- trunk/SophyaPI/PI/pioptmenugen.h	(revision 328)
+++ trunk/SophyaPI/PI/pioptmenugen.h	(revision 329)
@@ -9,5 +9,5 @@
   enum {ClassId = 1100};
 
-	             PIOptMenuGen(PIContainerGen* par, char* nom, int sx=50, int sy=15, int px=0, int py=0);
+	             PIOptMenuGen(PIContainerGen* par, const char* nom, int sx=50, int sy=15, int px=0, int py=0);
 	             ~PIOptMenuGen();
 				   
@@ -15,5 +15,5 @@
 
   inline  PIMenu*    Menu() {return mMen; }     // Renvoie un pointeur sur le menu associe 
-  inline  void       AppendItem(char* nom, PIMessage msg) 
+  inline  void       AppendItem(const char* nom, PIMessage msg) 
                                    { mMen->AppendItem(nom, msg); }
 
Index: trunk/SophyaPI/PI/pioptmenux.cc
===================================================================
--- trunk/SophyaPI/PI/pioptmenux.cc	(revision 328)
+++ trunk/SophyaPI/PI/pioptmenux.cc	(revision 329)
@@ -32,5 +32,5 @@
 
 /* --Methode-- */
-PIOptMenuX::PIOptMenuX(PIContainerGen* par, char* nom, int sx, int sy, int px, int py)
+PIOptMenuX::PIOptMenuX(PIContainerGen* par, const char* nom, int sx, int sy, int px, int py)
 : PIOptMenuGen(par, nom, sx, sy, px, py)
 {
@@ -125,4 +125,18 @@
 
 /* --Methode-- */
+void PIOptMenuX::SetLabel(string const& lab)
+{
+XmString xmstr;
+xmstr = XmStringLtoRCreate((char *)lab.c_str(), XmSTRING_DEFAULT_CHARSET);
+int n=0;
+Arg warg[2];
+
+XtSetArg(warg[n], XmNlabelString, xmstr); n++;
+XtSetValues(XtWdg(), warg, n);
+XmStringFree(xmstr);
+return;
+}
+
+/* --Methode-- */
 void PIOptMenuX::createmygc()
 {
Index: trunk/SophyaPI/PI/pioptmenux.h
===================================================================
--- trunk/SophyaPI/PI/pioptmenux.h	(revision 328)
+++ trunk/SophyaPI/PI/pioptmenux.h	(revision 329)
@@ -8,5 +8,5 @@
 class PIOptMenuX : public PIOptMenuGen {
 public:
-	            PIOptMenuX(PIContainerGen* par, char* nom, int sx=50, int sy=15, int px=0, int py=0);
+	            PIOptMenuX(PIContainerGen* par, const char* nom, int sx=50, int sy=15, int px=0, int py=0);
 	            ~PIOptMenuX();
 
@@ -20,5 +20,7 @@
   virtual void      SetValue(PIMessage msg);
 
-//  Pour utilisation privee dans call-back   
+
+//  Pour utilisation privee dans call-back, .... 
+  virtual void       SetLabel(string const&);
   inline  GC        myGC() {if (mgc == 0) createmygc();  return(mgc); }  
 
Index: trunk/SophyaPI/PI/pipixmapgen.cc
===================================================================
--- trunk/SophyaPI/PI/pipixmapgen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pipixmapgen.cc	(revision 329)
@@ -38,5 +38,5 @@
 //--
 //++
-// PIPixmapGen(PIContainerGen *par, char *nom, int sx=10, int sy=10, int px=0, int py=0)
+// PIPixmapGen(PIContainerGen *par, const char *nom, int sx=10, int sy=10, int px=0, int py=0)
 //	Constructeur - Création d'un "PIPIxmap".
 // long  kind() 
@@ -81,5 +81,5 @@
 
 /* --Methode-- */
-PIPixmapGen::PIPixmapGen(PIContainerGen  *par, char *nom,
+PIPixmapGen::PIPixmapGen(PIContainerGen  *par, const char *nom,
                      int sx, int sy, int px, int py) :
 PIBaseWdg(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pipixmapgen.h
===================================================================
--- trunk/SophyaPI/PI/pipixmapgen.h	(revision 328)
+++ trunk/SophyaPI/PI/pipixmapgen.h	(revision 329)
@@ -19,5 +19,5 @@
   enum {ClassId = 5100};
 
-                PIPixmapGen(PIContainerGen *par, char *nom,
+                PIPixmapGen(PIContainerGen *par, const char *nom,
                          int sx=10, int sy=10, int px=0, int py=0);
   virtual       ~PIPixmapGen();
Index: trunk/SophyaPI/PI/pipixmapx.cc
===================================================================
--- trunk/SophyaPI/PI/pipixmapx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pipixmapx.cc	(revision 329)
@@ -10,5 +10,5 @@
 
 /* --Methode-- */
-PIPixmapX::PIPixmapX(PIContainerGen *par, char *nom,
+PIPixmapX::PIPixmapX(PIContainerGen *par, const char *nom,
                          int sx, int sy, int px, int py)
 : PIPixmapGen(par,nom,sx,sy,px,py) 
Index: trunk/SophyaPI/PI/pipixmapx.h
===================================================================
--- trunk/SophyaPI/PI/pipixmapx.h	(revision 328)
+++ trunk/SophyaPI/PI/pipixmapx.h	(revision 329)
@@ -7,5 +7,5 @@
 
 public:
-                PIPixmapX(PIContainerGen *par, char *nom,
+                PIPixmapX(PIContainerGen *par, const char *nom,
                          int sx=10, int sy=10, int px=0, int py=0);
   virtual      ~PIPixmapX();
Index: trunk/SophyaPI/PI/piscdrawwdg.cc
===================================================================
--- trunk/SophyaPI/PI/piscdrawwdg.cc	(revision 328)
+++ trunk/SophyaPI/PI/piscdrawwdg.cc	(revision 329)
@@ -43,5 +43,5 @@
 //--
 //++
-//  PIScDrawWdg(PIContainerGen *par, char *nom, int sx=100, int sy=100, int px=0, int py=0)
+//  PIScDrawWdg(PIContainerGen *par, const char *nom, int sx=100, int sy=100, int px=0, int py=0)
 //	Constructeur. Contient uniquement le traceur de base, responsable du tracé
 //	des axes et des éléments ajoutés (textes, ...)
@@ -60,5 +60,5 @@
 
 
-PIScDrawWdg::PIScDrawWdg(PIContainerGen *par, char *nom,
+PIScDrawWdg::PIScDrawWdg(PIContainerGen *par, const char *nom,
                          int sx, int sy, int px, int py)
 :PIBaseWdg(par, nom, sx, sy, px, py)
Index: trunk/SophyaPI/PI/piscdrawwdg.h
===================================================================
--- trunk/SophyaPI/PI/piscdrawwdg.h	(revision 328)
+++ trunk/SophyaPI/PI/piscdrawwdg.h	(revision 329)
@@ -20,5 +20,5 @@
   enum {ClassId = 5300};
 
-                     PIScDrawWdg(PIContainerGen *par, char *nom,
+                     PIScDrawWdg(PIContainerGen *par, const char *nom,
                                    int sx=100, int sy=100, int px=0, int py=0);
   virtual            ~PIScDrawWdg();
Index: trunk/SophyaPI/PI/pistdwdggen.cc
===================================================================
--- trunk/SophyaPI/PI/pistdwdggen.cc	(revision 328)
+++ trunk/SophyaPI/PI/pistdwdggen.cc	(revision 329)
@@ -22,5 +22,5 @@
 //--
 //++
-// PILabel(PIContainerGen* par, char* nom, int sx=10, int sy=10, int px=0, int py=0)
+// PILabel(PIContainerGen* par, const char* nom, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet PILabel ayant un contenu (étiquette) identique à "nom".
 // void SetLabel(string const& lab)
@@ -31,5 +31,5 @@
 
 
-PILabelGen::PILabelGen(PIContainerGen *par, char *nom,
+PILabelGen::PILabelGen(PIContainerGen *par, const char *nom,
                          int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)
@@ -61,5 +61,5 @@
 //--
 //++
-// PIButton(PIContainerGen* par, char* nom, PIMessage msg, int sx=10, int sy=10, int px=0, int py=0)
+// PIButton(PIContainerGen* par, const char* nom, PIMessage msg, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet PIButton avec une étiquette identique à "nom".
 // void SetLabel(string const& lab)
@@ -69,5 +69,5 @@
 
 
-PIButtonGen::PIButtonGen(PIContainerGen *par, char *nom, PIMessage msg,
+PIButtonGen::PIButtonGen(PIContainerGen *par, const char *nom, PIMessage msg,
                          int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)
@@ -105,7 +105,7 @@
 //--
 //++
-//  PIText(PIContainerGen* par, char* nom, int sx=10, int sy=10, int px=0, int py=0)
+//  PIText(PIContainerGen* par, const char* nom, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet PIText.
-//  PIText(PIContainerGen* par, char* nom, bool vsb, bool hsb, -
+//  PIText(PIContainerGen* par, const char* nom, bool vsb, bool hsb, -
 //  int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet PIText multiligne, muni d'ascenseurs 
@@ -121,10 +121,10 @@
 //--
 
-PITextGen::PITextGen(PIContainerGen *par, char *nom,
-                         int sx, int sy, int px, int py)
-: PIWdg(par, nom, sx, sy, px, py)
-{}
-
-PITextGen::PITextGen(PIContainerGen *par, char *nom, bool vsb, bool hsb, 
+PITextGen::PITextGen(PIContainerGen *par, const char *nom,
+                         int sx, int sy, int px, int py)
+: PIWdg(par, nom, sx, sy, px, py)
+{}
+
+PITextGen::PITextGen(PIContainerGen *par, const char *nom, bool vsb, bool hsb, 
                          int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)
@@ -139,5 +139,5 @@
 /************* PICheckBoxGen ************/
 
-PICheckBoxGen::PICheckBoxGen(PIContainerGen *par, char *nom, PIMessage msg,
+PICheckBoxGen::PICheckBoxGen(PIContainerGen *par, const char *nom, PIMessage msg,
                          int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py)
@@ -171,5 +171,5 @@
 //--
 //++
-// PICheckBox(PIContainerGen* par, char* nom,  PIMessage msg, int sx=10, int sy=10, int px=0, int py=0);
+// PICheckBox(PIContainerGen* par, const char* nom,  PIMessage msg, int sx=10, int sy=10, int px=0, int py=0);
 //	Création d'un objet PICheckBox.
 // void SetState(bool st=false)
@@ -204,5 +204,5 @@
 //--
 //++
-// PIScale(PIContainerGen* par, char* nom, PIMessage msg, int dir=kSDirLtoR, int sx=100, int sy=10, int px=0, int py=0)
+// PIScale(PIContainerGen* par, const char* nom, PIMessage msg, int dir=kSDirLtoR, int sx=100, int sy=10, int px=0, int py=0)
 //	Création d'un objet PIScale. "dir" indique la direction et le sens d'affichage et peut
 //	prendre les valeurs "kSDirLtoR" (gauche à droite), "kSDirRtoL" (droite à gauche),
@@ -219,5 +219,5 @@
 
 
-PIScaleGen::PIScaleGen(PIContainerGen *par, char *nom, PIMessage msg, 
+PIScaleGen::PIScaleGen(PIContainerGen *par, const char *nom, PIMessage msg, 
                        int /*dir*/, int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py) 
@@ -255,5 +255,5 @@
 //--
 //++
-// PIScrollBar(PIContainerGen* par, char* nom, PIMessage msg, int dir=kSDirUpDown, int sx=10, int sy=100, int px=0, int py=0)
+// PIScrollBar(PIContainerGen* par, const char* nom, PIMessage msg, int dir=kSDirUpDown, int sx=10, int sy=100, int px=0, int py=0)
 //	Création d'un objet PIScrollBar. "dir" indique la direction et le sens d'affichage et peut
 //	prendre les valeurs "kSDirLtoR" (gauche à droite), "kSDirRtoL" (droite à gauche),
@@ -276,5 +276,5 @@
 //--
 
-PIScrollBarGen::PIScrollBarGen(PIContainerGen *par, char *nom, PIMessage msg, 
+PIScrollBarGen::PIScrollBarGen(PIContainerGen *par, const char *nom, PIMessage msg, 
                        int /*dir*/, int sx, int sy, int px, int py)
 : PIWdg(par, nom, sx, sy, px, py) 
Index: trunk/SophyaPI/PI/pistdwdggen.h
===================================================================
--- trunk/SophyaPI/PI/pistdwdggen.h	(revision 328)
+++ trunk/SophyaPI/PI/pistdwdggen.h	(revision 329)
@@ -10,9 +10,10 @@
   enum {ClassId = 1001};
 
-                     PILabelGen(PIContainerGen* par, char* nom,
+                     PILabelGen(PIContainerGen* par, const char* nom,
                                  int sx=10, int sy=10, int px=0, int py=0);
   virtual            ~PILabelGen();
 
   virtual long       kind() {return ClassId; }
+  virtual void       SetLabel(string const&)=0;
 };
 
@@ -26,5 +27,5 @@
   enum {ClassId = 1010};
 
-                     PIButtonGen(PIContainerGen* par, char* nom, 
+                     PIButtonGen(PIContainerGen* par, const char* nom, 
                                  PIMessage msg = PIMsg_Click,
                                  int sx=10, int sy=10, int px=0, int py=0);
@@ -32,4 +33,5 @@
 
   virtual long       kind() {return ClassId; }
+  virtual void       SetLabel(string const&)=0;
   virtual void       ActivatePress(bool acp=false)=0;
 
@@ -43,7 +45,7 @@
   enum {ClassId = 1020};
 
-  		     PITextGen(PIContainerGen* par, char* nom,
+  		     PITextGen(PIContainerGen* par, const char* nom,
          		       int sx=10, int sy=10, int px=0, int py=0);
-  		     PITextGen(PIContainerGen* par, char* nom, bool vsb, bool hsb,
+  		     PITextGen(PIContainerGen* par, const char* nom, bool vsb, bool hsb,
          		       int sx=100, int sy=100, int px=0, int py=0);
   virtual	     ~PITextGen();
@@ -65,5 +67,5 @@
   enum {ClassId = 1030};
 
-                     PICheckBoxGen(PIContainerGen* par, char* nom, 
+                     PICheckBoxGen(PIContainerGen* par, const char* nom, 
                                   PIMessage msg = PIMsg_Click,
                                   int sx=10, int sy=10, int px=0, int py=0);
@@ -91,5 +93,5 @@
   enum {ClassId = 1040};
 
-                     PIScaleGen(PIContainerGen* par, char* nom, 
+                     PIScaleGen(PIContainerGen* par, const char* nom, 
                                 PIMessage msg = PIMsg_DataChanged, int dir=kSDirLtoR, 
                                 int sx=100, int sy=10, int px=0, int py=0);
@@ -112,5 +114,5 @@
   enum {ClassId = 1050};
 
-                     PIScrollBarGen(PIContainerGen* par, char* nom, 
+                     PIScrollBarGen(PIContainerGen* par, const char* nom, 
                                     PIMessage msg=PIMsg_DataChanged, int dir=kSDirUpDown,
                                     int sx=10, int sy=100, int px=0, int py=0);
Index: trunk/SophyaPI/PI/pistdwdgx.cc
===================================================================
--- trunk/SophyaPI/PI/pistdwdgx.cc	(revision 328)
+++ trunk/SophyaPI/PI/pistdwdgx.cc	(revision 329)
@@ -25,5 +25,5 @@
 
 /* --Methode-- */
-PILabelX::PILabelX(PIContainerGen *par, char *nom,
+PILabelX::PILabelX(PIContainerGen *par, const char *nom,
                    int sx, int sy, int px, int py)
 : PILabelGen(par, nom, sx, sy, px, py)
@@ -44,4 +44,18 @@
 {}
 
+/* --Methode-- */
+void PILabelX::SetLabel(string const& lab)
+{
+XmString xmstr;
+xmstr = XmStringLtoRCreate((char *)lab.c_str(), XmSTRING_DEFAULT_CHARSET);
+int n=0;
+Arg warg[2];
+
+XtSetArg(warg[n], XmNlabelString, xmstr); n++;
+XtSetValues(XtWdg(), warg, n);
+XmStringFree(xmstr);
+return;
+}
+
 
 /************* PIButtonX ************/
@@ -78,5 +92,5 @@
 
 /* --Methode-- */
-PIButtonX::PIButtonX(PIContainerGen *par, char *nom, PIMessage msg, 
+PIButtonX::PIButtonX(PIContainerGen *par, const char *nom, PIMessage msg, 
                      int sx, int sy, int px, int py)
 : PIButtonGen(par, nom, msg, sx, sy, px, py)
@@ -129,4 +143,18 @@
 
 /* --Methode-- */
+void PIButtonX::SetLabel(string const& lab)
+{
+XmString xmstr;
+xmstr = XmStringLtoRCreate((char *)lab.c_str(), XmSTRING_DEFAULT_CHARSET);
+int n=0;
+Arg warg[2];
+
+XtSetArg(warg[n], XmNlabelString, xmstr); n++;
+XtSetValues(XtWdg(), warg, n);
+XmStringFree(xmstr);
+return;
+}
+
+/* --Methode-- */
 void PIButtonX::ActivatePress(bool acp)
 {
@@ -143,4 +171,5 @@
 }       
 
+
 /* --Methode-- */
 void PIButtonX::ReleaseButton()
@@ -155,5 +184,5 @@
 
 /* --Methode-- */
-PITextX::PITextX(PIContainerGen *par, char *nom,
+PITextX::PITextX(PIContainerGen *par, const char *nom,
                  int sx, int sy, int px, int py)
 : PITextGen(par, nom, sx, sy, px, py)
@@ -172,5 +201,5 @@
 
 /* --Methode-- */
-PITextX::PITextX(PIContainerGen *par, char *nom, bool vsb, bool hsb,
+PITextX::PITextX(PIContainerGen *par, const char *nom, bool vsb, bool hsb,
                  int sx, int sy, int px, int py)
 : PITextGen(par, nom, vsb, hsb, sx, sy, px, py)
@@ -185,5 +214,5 @@
 if (hsb)
   XtSetArg(warg[n],XmNscrollVertical, True); n++;
-mtext = XmCreateScrolledText(((PIWdgX *)par)->XtWdg(), nom, warg, n);
+mtext = XmCreateScrolledText(((PIWdgX *)par)->XtWdg(), (char *)nom, warg, n);   // const_cast
 XtManageChild(mtext);
 XtWdg() = XtParent(mtext);
@@ -297,5 +326,5 @@
 
 /* --Methode-- */
-PICheckBoxX::PICheckBoxX(PIContainerGen *par, char *nom, PIMessage msg,
+PICheckBoxX::PICheckBoxX(PIContainerGen *par, const char *nom, PIMessage msg,
                          int sx, int sy, int px, int py)
 : PICheckBoxGen(par, nom, msg, sx, sy, px, py)
@@ -360,5 +389,5 @@
 
 /* --Methode-- */
-PIScaleX::PIScaleX(PIContainerGen *par, char *nom, PIMessage msg,
+PIScaleX::PIScaleX(PIContainerGen *par, const char *nom, PIMessage msg,
                    int dir, int sx, int sy, int px, int py)
 : PIScaleGen(par, nom, msg, dir, sx, sy, px, py)
@@ -496,5 +525,5 @@
 
 /* --Methode-- */
-PIScrollBarX::PIScrollBarX(PIContainerGen *par, char *nom, PIMessage msg,
+PIScrollBarX::PIScrollBarX(PIContainerGen *par, const char *nom, PIMessage msg,
                            int dir, int sx, int sy, int px, int py)
 : PIScrollBarGen(par, nom, msg, dir, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pistdwdgx.h
===================================================================
--- trunk/SophyaPI/PI/pistdwdgx.h	(revision 328)
+++ trunk/SophyaPI/PI/pistdwdgx.h	(revision 329)
@@ -8,7 +8,8 @@
 {
 public:
-                     PILabelX(PIContainerGen *par, char *nom,
+                     PILabelX(PIContainerGen *par, const char *nom,
                                  int sx=10, int sy=10, int px=0, int py=0);
   virtual            ~PILabelX();
+  virtual void       SetLabel(string const&);
   
 };
@@ -17,5 +18,5 @@
 {
 public:
-                     PIButtonX(PIContainerGen *par, char *nom, 
+                     PIButtonX(PIContainerGen *par, const char *nom, 
                                PIMessage msg = PIMsg_Click,
                                int sx=10, int sy=10, int px=0, int py=0);
@@ -23,4 +24,5 @@
 
   virtual void       ActivatePress(bool acp=false);
+  virtual void       SetLabel(string const&);
 
   void               ReleaseButton();   // Fonction a utiliser avec attention
@@ -36,7 +38,7 @@
 {
 public:
-                     PITextX(PIContainerGen *par, char *nom, 
+                     PITextX(PIContainerGen *par, const char *nom, 
                                   int sx=10, int sy=10, int px=0, int py=0);
-  		     PITextX(PIContainerGen* par, char* nom, bool vsb, bool hsb,
+  		     PITextX(PIContainerGen* par, const char* nom, bool vsb, bool hsb,
          		     int sx=100, int sy=100, int px=0, int py=0);
   virtual            ~PITextX();
@@ -58,5 +60,5 @@
 {
 public:
-                     PICheckBoxX(PIContainerGen *par, char *nom, 
+                     PICheckBoxX(PIContainerGen *par, const char *nom, 
                                  PIMessage msg=PIMsg_Click,
                                  int sx=10, int sy=10, int px=0, int py=0);
@@ -74,5 +76,5 @@
 {
 public:
-                     PIScaleX(PIContainerGen* par, char* nom, 
+                     PIScaleX(PIContainerGen* par, const char* nom, 
                               PIMessage msg=PIMsg_DataChanged, int dir=kSDirLtoR, 
                               int sx=100, int sy=10, int px=0, int py=0);
@@ -94,5 +96,5 @@
 {
 public:
-                     PIScrollBarX(PIContainerGen* par, char* nom, 
+                     PIScrollBarX(PIContainerGen* par, const char* nom, 
                                   PIMessage msg = PIMsg_DataChanged, int dir=kSDirUpDown,
                                   int sx=10, int sy=100, int px=0, int py=0);
Index: trunk/SophyaPI/PI/pistzwin.cc
===================================================================
--- trunk/SophyaPI/PI/pistzwin.cc	(revision 328)
+++ trunk/SophyaPI/PI/pistzwin.cc	(revision 329)
@@ -129,5 +129,5 @@
 //--
 //++
-// PIStackWindow(PIMsgHandler* par, char* nom, PIWindowKind k=PIWK_normal, int sx=100, int sy=100, int px=0, int py=0)
+// PIStackWindow(PIMsgHandler* par, const char* nom, PIWindowKind k=PIWK_normal, int sx=100, int sy=100, int px=0, int py=0)
 // 	Constructeur - identique à celui de "PIWindow"
 // void  DispNext()
@@ -146,5 +146,5 @@
 
 /* --Methode-- */
-PIStackWindow::PIStackWindow(PIMsgHandler* par, char* nom, PIWindowKind k,
+PIStackWindow::PIStackWindow(PIMsgHandler* par, const char* nom, PIWindowKind k,
                              int sx, int sy, int px, int py)
         : PIWindow(par, nom, k, sx, sy, px, py) , mPerad(1)
@@ -338,5 +338,5 @@
 //--
 //++
-// PIZoneWindow(PIMsgHandler* par, char* nom, PIWindowKind k=PIWK_normal, -
+// PIZoneWindow(PIMsgHandler* par, const char* nom, PIWindowKind k=PIWK_normal, -
 //              int nzx=1, int nzy=1, int sx=100, int sy=100, int px=0, int py=0)
 // 	Constructeur avec spécification de nombre de cellules horizontal "nzx", vertical "nzy".
@@ -350,5 +350,5 @@
 
 /* --Methode-- */
-PIZoneWindow::PIZoneWindow(PIMsgHandler* par, char* nom, PIWindowKind k,
+PIZoneWindow::PIZoneWindow(PIMsgHandler* par, const char* nom, PIWindowKind k,
                            int nzx, int nzy, int sx, int sy, int px, int py)
         : PIWindow(par, nom, k, sx, sy, px, py)
Index: trunk/SophyaPI/PI/pistzwin.h
===================================================================
--- trunk/SophyaPI/PI/pistzwin.h	(revision 328)
+++ trunk/SophyaPI/PI/pistzwin.h	(revision 329)
@@ -36,5 +36,5 @@
 class PIStackWindow : public PIWindow {
 public:
-		PIStackWindow(PIMsgHandler* par, char* nom, PIWindowKind k=PIWK_normal,
+		PIStackWindow(PIMsgHandler* par, const char* nom, PIWindowKind k=PIWK_normal,
                               int sx=100, int sy=100, int px=0, int py=0);
   virtual	~PIStackWindow();
@@ -79,5 +79,5 @@
 class PIZoneWindow : public PIWindow {
 public:
-		PIZoneWindow(PIMsgHandler* par, char* nom, PIWindowKind k=PIWK_normal,
+		PIZoneWindow(PIMsgHandler* par, const char* nom, PIWindowKind k=PIWK_normal,
                              int nzx=1, int nzy=1, int sx=100, int sy=100, int px=0, int py=0);
   virtual	~PIZoneWindow();
Index: trunk/SophyaPI/PI/piwdggen.cc
===================================================================
--- trunk/SophyaPI/PI/piwdggen.cc	(revision 328)
+++ trunk/SophyaPI/PI/piwdggen.cc	(revision 329)
@@ -43,5 +43,5 @@
 //--
 //++
-// PIWdg(PIContainerGen *par, char *nom, int sx=10, int sy=10, int px=0, int py=0)
+// PIWdg(PIContainerGen *par, const char *nom, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'un objet contenu dans l'objet *PIContainer* "par", de
 //	taille "sx,sy", se trouvant à la position "px,py" avec le nom "nom"
@@ -190,5 +190,5 @@
 
 /* --Methode-- */
-PIWdgGen::PIWdgGen(PIContainerGen *par, char*, int, int, int, int)
+PIWdgGen::PIWdgGen(PIContainerGen *par, const char*, int, int, int, int)
 : PIMsgHandler(par)
 {
Index: trunk/SophyaPI/PI/piwdggen.h
===================================================================
--- trunk/SophyaPI/PI/piwdggen.h	(revision 328)
+++ trunk/SophyaPI/PI/piwdggen.h	(revision 329)
@@ -41,5 +41,5 @@
   enum {ClassId = 100};
 
-                         PIWdgGen(PIContainerGen *par, char *nom,
+                         PIWdgGen(PIContainerGen *par, const char *nom,
                                    int sx=10, int sy=10, int px=0, int py=0);
   virtual               ~PIWdgGen();
@@ -63,5 +63,4 @@
   virtual void           SetPos(int px, int py)=0;
   virtual void           SetBorderWidth(int bw)=0;
-  virtual void           SetLabel(string const&) {}
 
 //  Gestion des accrochages (binding) aux containers
Index: trunk/SophyaPI/PI/piwdgx.cc
===================================================================
--- trunk/SophyaPI/PI/piwdgx.cc	(revision 328)
+++ trunk/SophyaPI/PI/piwdgx.cc	(revision 329)
@@ -113,5 +113,5 @@
 
 /* --Methode-- */
-PIWdgX::PIWdgX(PIContainerGen *par, char *nom, 
+PIWdgX::PIWdgX(PIContainerGen *par, const char *nom, 
                int sx, int sy, int px, int py)
 :PIWdgGen(par, nom, sx, sy, px, py) 
@@ -123,5 +123,5 @@
 
 /* --Methode-- */
-int PIWdgX::CreateXtWdg(char *nom, SysDWdgClass wdgcl, SysDWdg pwdg,
+int PIWdgX::CreateXtWdg(const char *nom, SysDWdgClass wdgcl, SysDWdg pwdg,
                         int sx, int sy, int px, int py, Arg* oarg, int na)
 {
@@ -453,19 +453,4 @@
 }
 
-/* --Methode-- */
-void PIWdgX::SetLabel(string const& lab)
-{
-XmString xmstr;
-xmstr = XmStringLtoRCreate((char *)lab.c_str(), XmSTRING_DEFAULT_CHARSET);
-int n=0;
-Arg warg[2];
-
-XtSetArg(warg[n], XmNlabelString, xmstr); n++;
-XtSetValues(XtWdg(), warg, n);
-XmStringFree(xmstr);
-return;
-}
-
-
 
 /* --Methode-- */
@@ -555,5 +540,5 @@
 
 // Ressources X si non definis 
-static const String fallback_res[24] = {
+static const String fallback_res[26] = {
 "PeidaInt*default*background:                 LightGrey" ,
 "PeidaInt*background:                         LightGrey" ,
@@ -577,7 +562,9 @@
 "PeidaInt*fontList:           -*-courier-bold-r-normal-*-12-*-*-*-*-*-ISO8859-1",
 "PeidaInt*default*fontList:   -*-courier-bold-r-normal-*-12-*-*-*-*-*-ISO8859-1",
-"PeidaInt*fontFamilyName:                     *-courier",   // Pas de blanc apres le nom de font
-"PeidaInt*courierfontFamilyName:              *-courier",   //           "        " 
-"PeidaInt*symbolfontFamilyName:               *-symbol",    //           "        " 
+"PeidaInt*fontFamilyName:                     *-courier",    // Pas de blanc apres le nom de font
+"PeidaInt*courierfontFamilyName:              *-courier",    //           "        " 
+"PeidaInt*helveticafontFamilyName:            *-helvetica",  //           "        " 
+"PeidaInt*timesfontFamilyName:                *-times",      //           "        " 
+"PeidaInt*symbolfontFamilyName:               *-symbol",     //           "        " 
 "PeidaInt*XmToggleButton*selectColor:         Red",
 NULL
Index: trunk/SophyaPI/PI/piwdgx.h
===================================================================
--- trunk/SophyaPI/PI/piwdgx.h	(revision 328)
+++ trunk/SophyaPI/PI/piwdgx.h	(revision 329)
@@ -21,5 +21,5 @@
 // Les methodes ...
   		  PIWdgX(int narg=0, char *arg[]=NULL);
-  		  PIWdgX(PIContainerGen *par, char *nom, 
+  		  PIWdgX(PIContainerGen *par, const char *nom, 
          		 int sx=10, int sy=10, int px=0, int py=0);
 
@@ -30,6 +30,4 @@
   virtual void   SetSize(int sx, int sy);
   virtual void   SetPos(int px, int py);
-  virtual void   SetLabel(string const & lab);
-
 
   virtual void   SetBinding(PIBindingKind left, PIBindingKind top, 
@@ -84,5 +82,5 @@
   inline SysDWdg XtWdg() const {return(sdw); }; 
   inline SysDWdg& XtWdg() {return(sdw); }; 
-  int 		CreateXtWdg(char *nom, SysDWdgClass wdgcl=NULL, SysDWdg pwdg=NULL,
+  int 		CreateXtWdg(const char *nom, SysDWdgClass wdgcl=NULL, SysDWdg pwdg=NULL,
                   int sx=10, int sy=10, int px=0, int py=0, Arg* oarg=NULL, int na=0);
   int   	BorderWidth();
Index: trunk/SophyaPI/PI/piwindowgen.cc
===================================================================
--- trunk/SophyaPI/PI/piwindowgen.cc	(revision 328)
+++ trunk/SophyaPI/PI/piwindowgen.cc	(revision 329)
@@ -30,5 +30,5 @@
 //--
 //++
-// PIWindowGen(PIMsgHandler* par, char *nom, PIWindowKind k=PIWK_normal, int sx=10, int sy=10, int px=0, int py=0)
+// PIWindowGen(PIMsgHandler* par, const char *nom, PIWindowKind k=PIWK_normal, int sx=10, int sy=10, int px=0, int py=0)
 //	Création d'une fenêtre de haut niveau. La variable "PIWindowKind k"  contrôle
 //	le comportement de l'objet vis à vis de l'application WindowManager. Le comportement
@@ -61,5 +61,5 @@
 
 /* --Methode-- */
-PIWindowGen::PIWindowGen(PIMsgHandler *par, char *nom, PIWindowKind k, 
+PIWindowGen::PIWindowGen(PIMsgHandler *par, const char *nom, PIWindowKind k, 
                          int sx, int sy, int px, int py)
 : PIContainer(NULL, nom, sx, sy, px, py), mWtyp(k)
Index: trunk/SophyaPI/PI/piwindowgen.h
===================================================================
--- trunk/SophyaPI/PI/piwindowgen.h	(revision 328)
+++ trunk/SophyaPI/PI/piwindowgen.h	(revision 329)
@@ -16,5 +16,5 @@
 public:
   enum {ClassId = 1550};
-		    PIWindowGen(PIMsgHandler* par, char *nom, PIWindowKind k=PIWK_normal,
+		    PIWindowGen(PIMsgHandler* par, const char *nom, PIWindowKind k=PIWK_normal,
                                 int sx=10, int sy=10, int px=0, int py=0);
   virtual           ~PIWindowGen();
Index: trunk/SophyaPI/PI/piwindowx.cc
===================================================================
--- trunk/SophyaPI/PI/piwindowx.cc	(revision 328)
+++ trunk/SophyaPI/PI/piwindowx.cc	(revision 329)
@@ -32,5 +32,5 @@
 
 /* --Methode-- */
-PIWindowX::PIWindowX(PIMsgHandler *par, char *nom, PIWindowKind k, 
+PIWindowX::PIWindowX(PIMsgHandler *par, const char *nom, PIWindowKind k, 
                      int sx, int sy, int px, int py)
 : PIWindowGen(par, nom, k, -1, -1, 0, 0)
Index: trunk/SophyaPI/PI/piwindowx.h
===================================================================
--- trunk/SophyaPI/PI/piwindowx.h	(revision 328)
+++ trunk/SophyaPI/PI/piwindowx.h	(revision 329)
@@ -8,5 +8,5 @@
 class PIWindowX : public PIWindowGen {
 public:
-                         PIWindowX(PIMsgHandler *par, char *nom, PIWindowKind k=PIWK_normal,
+                         PIWindowX(PIMsgHandler *par, const char *nom, PIWindowKind k=PIWK_normal,
                                    int sx=10, int sy=10, int px=0, int py=0);
   virtual                ~PIWindowX();
