Index: /trunk/SophyaPI/PIext/basexecut.cc
===================================================================
--- /trunk/SophyaPI/PIext/basexecut.cc	(revision 2164)
+++ /trunk/SophyaPI/PIext/basexecut.cc	(revision 2165)
@@ -128,8 +128,17 @@
 
 
-else if (kw == "settitle") {
-  if (tokens.size() < 1) { cout << "Usage: settitle TopTitle [BotTitle] [fontatt]" << endl;  return(0); }
+else if ((kw == "settitle") || (kw == "addtitle")) {
+  if (tokens.size() < 1) { cout << "Usage: settitle/addtitle TopTitle [BotTitle] [fontatt]" << endl;  return(0); }
   if(tokens.size()<2) tokens.push_back("");
-  mImgApp->SetTitle(tokens[0], tokens[1]);
+  string gropt;
+  if(tokens.size()>2) gropt = tokens[2];
+  mImgApp->SetTitle(tokens[0], tokens[1], gropt);
+}
+
+else if ((kw == "setaxelabels") || (kw == "addaxelabels")) {
+  if (tokens.size() < 2) { cout << "Usage: setaxelabels/addaxelabels xLabel yLabel [fontatt]" << endl;  return(0); }
+  string gropt;
+  if(tokens.size()>2) gropt = tokens[2];
+  mImgApp->SetAxeLabels(tokens[0], tokens[1], gropt);
 }
   
@@ -879,4 +888,20 @@
 usage += "\n  Usage: settitle TopTitle [BottomTitle] [fontAtt]";
 usage += "\n  Related commands: addtext graphicatt";  
+mpiac->RegisterCommand(kw, usage, this, "Graphics");
+
+kw = "addtitle";
+usage = "Set the title string (top title / bottom title) \n";
+usage += "   alias for settitle ";
+mpiac->RegisterCommand(kw, usage, this, "Graphics");
+
+kw = "setaxelabels";
+usage = "Set the X and Y axis labels for the current 2D graphic object \n";
+usage += "\n  Usage: setaxelabels xLabel yLabel [ColorFntAtt]";
+usage += "\n  Related commands: settitle addtext graphicatt";  
+mpiac->RegisterCommand(kw, usage, this, "Graphics");
+
+kw = "addaxelabels";
+usage = "Set the X and Y axis labels for the current 2D graphic object";
+usage += "   alias for setaxelabels ";
 mpiac->RegisterCommand(kw, usage, this, "Graphics");
 
Index: /trunk/SophyaPI/PIext/pintup3d.cc
===================================================================
--- /trunk/SophyaPI/PIext/pintup3d.cc	(revision 2164)
+++ /trunk/SophyaPI/PIext/pintup3d.cc	(revision 2165)
@@ -148,4 +148,5 @@
             (xmin+xmax)/2.+D , (ymin+ymax)/2.-2.5*D , zmin+(zmax-zmin)*0.85, 0.25, 0.25);  
 
+  /*
   x3Min = xmin;  // - PERC_GARDE*(xmax-xmin);
   x3Max = xmax;  // + PERC_GARDE*(xmax-xmin);
@@ -154,4 +155,7 @@
   z3Min = zmin;  // - PERC_GARDE*(zmax-zmin);
   z3Max = zmax;  // + PERC_GARDE*(zmax-zmin);
+  */
+
+  Set3DBox(xmin, xmax, ymin, ymax, zmin, zmax);
 
 //  printf("PINTuple3D::UpdateLimits() : %g .. %g  %g .. %g  %g .. %g (%g) \n", xmin,xmax,ymin,ymax,zmin,zmax,D);
Index: /trunk/SophyaPI/PIext/pistdimgapp.cc
===================================================================
--- /trunk/SophyaPI/PIext/pistdimgapp.cc	(revision 2164)
+++ /trunk/SophyaPI/PIext/pistdimgapp.cc	(revision 2165)
@@ -777,11 +777,18 @@
 void PIStdImgApp::AddText(string const & txt, double xp, double yp, string const& sop)
 {
-PIElDrawer *eld=CurrentElDrawer();
+PIDrawer *eld=CurrentElDrawer();
 if (eld == NULL) return;
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+PIElDrawer3D* eld3 = dynamic_cast<PIElDrawer3D *>(eld);
+if ((eld2 == NULL) && (eld3 == NULL)) return;
+PIElDrwMgr* elmgr;
+if (eld2) elmgr = &(eld2->ElDrwMgr());
+else if (eld3) elmgr = &(eld3->ElDrwMgr());
+if (elmgr == NULL) return;
 
 vector<string> opts;
 ParseDisplayOption(sop, opts);
 PIGraphicAtt gratt(opts);
-eld->ElAddText(xp,yp,txt.c_str(), gratt.GetColor());
+elmgr->ElAddText(xp,yp,txt.c_str(), gratt);
 eld->Refresh();
 }
@@ -790,11 +797,18 @@
 void PIStdImgApp::AddLine(double xp1, double yp1, double xp2, double yp2, string const& sop)
 {
-PIElDrawer *eld=CurrentElDrawer();
+PIDrawer *eld=CurrentElDrawer();
 if (eld == NULL) return;
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+PIElDrawer3D* eld3 = dynamic_cast<PIElDrawer3D *>(eld);
+if ((eld2 == NULL) && (eld3 == NULL)) return;
+PIElDrwMgr* elmgr = NULL;
+if (eld2) elmgr = &(eld2->ElDrwMgr());
+else if (eld3) elmgr = &(eld3->ElDrwMgr());
+if (elmgr == NULL) return;
 
 vector<string> opts;
 ParseDisplayOption(sop, opts);
 PIGraphicAtt gratt(opts);
-eld->ElAddLine(xp1, yp1, xp2, yp2, gratt.GetColor());
+elmgr->ElAddLine(xp1, yp1, xp2, yp2, gratt);
 eld->Refresh();
 }
@@ -804,6 +818,12 @@
 			       string const& sop, bool fgfill)
 {
-PIElDrawer *eld=CurrentElDrawer();
+PIDrawer *eld=CurrentElDrawer();
 if (eld == NULL) return;
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+PIElDrawer3D* eld3 = dynamic_cast<PIElDrawer3D *>(eld);
+if ((eld2 == NULL) && (eld3 == NULL)) return;
+PIElDrwMgr* elmgr = NULL;
+if (eld2) elmgr = &(eld2->ElDrwMgr());
+else if (eld3) elmgr = &(eld3->ElDrwMgr());
 
 double xp,yp;
@@ -826,6 +846,6 @@
 PIGraphicAtt gratt(opts);
 
-if (fgfill) eld->ElAddFRect(xp, yp, dx, dy, gratt.GetColor());
-else eld->ElAddRect(xp, yp, dx, dy, gratt.GetColor());
+if (fgfill) elmgr->ElAddFRect(xp, yp, dx, dy, gratt);
+else elmgr->ElAddRect(xp, yp, dx, dy, gratt);
 eld->Refresh();
 }
@@ -834,6 +854,12 @@
 void PIStdImgApp::AddCircle(double xc, double yc, double r, string const& sop, bool fgfill)
 {
-PIElDrawer *eld=CurrentElDrawer();
+PIDrawer *eld=CurrentElDrawer();
 if (eld == NULL) return;
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+PIElDrawer3D* eld3 = dynamic_cast<PIElDrawer3D *>(eld);
+if ((eld2 == NULL) && (eld3 == NULL)) return;
+PIElDrwMgr* elmgr = NULL;
+if (eld2) elmgr = &(eld2->ElDrwMgr());
+else if (eld3) elmgr = &(eld3->ElDrwMgr());
 
 vector<string> opts;
@@ -841,23 +867,54 @@
 PIGraphicAtt gratt(opts);
 
-if (fgfill) eld->ElAddFCirc(xc, yc, r, gratt.GetColor());
-else eld->ElAddCirc(xc, yc, r, gratt.GetColor());
+if (fgfill) elmgr->ElAddFCirc(xc, yc, r, gratt);
+else elmgr->ElAddCirc(xc, yc, r, gratt);
 eld->Refresh();
 }
 
 /* --Methode-- */
-void PIStdImgApp::SetTitle(string const & titletop, string const & titlebottom)
-{
-PIElDrawer *eld=CurrentElDrawer();
+void PIStdImgApp::SetTitle(string const & titletop, string const & titlebottom, string const& sop)
+{
+PIDrawer *eld=CurrentElDrawer();
 if (eld == NULL) return;
-
-eld->SetTitles(titletop, titlebottom);
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+PIElDrawer3D* eld3 = dynamic_cast<PIElDrawer3D *>(eld);
+if ((eld2 == NULL) && (eld3 == NULL)) return;
+
+vector<string> opts;
+ParseDisplayOption(sop, opts);
+PIGraphicAtt gratt(opts);
+
+if (eld2) { 
+  eld2->SetTitles(titletop, titlebottom, gratt);
+  eld2->ShowTitles(true);
+}
+else if (eld3) { 
+  eld3->SetTitles(titletop, titlebottom, gratt);
+  eld3->ShowTitles(true);
+}
 eld->Refresh();
 }
-
-/* --Methode-- */
-PIElDrawer* PIStdImgApp::CurrentElDrawer()
-{
-PIElDrawer *eld=NULL;
+/* --Methode-- */
+void PIStdImgApp::SetAxeLabels(string const & xLabel, string const & yLabel, string const& sop)
+{
+PIDrawer *eld=CurrentElDrawer();
+if (eld == NULL) return;
+PIElDrawer* eld2 = dynamic_cast<PIElDrawer *>(eld);
+if (eld2 == NULL) return;
+
+vector<string> opts;
+ParseDisplayOption(sop, opts);
+PIGraphicAtt gratt(opts);
+
+eld2->SetAxesLabels(xLabel, yLabel, gratt);
+eld2->ShowAxesLabels(true);
+
+eld->Refresh();
+}
+
+/* --Methode-- */
+PIDrawer* PIStdImgApp::CurrentElDrawer()
+{
+PIDrawer *eld=NULL;
 if (!mLastWdg)  return(eld);
 PIScDrawWdg* sdw=NULL;
Index: /trunk/SophyaPI/PIext/pistdimgapp.h
===================================================================
--- /trunk/SophyaPI/PIext/pistdimgapp.h	(revision 2164)
+++ /trunk/SophyaPI/PIext/pistdimgapp.h	(revision 2165)
@@ -69,8 +69,10 @@
 
   //  Fonction Ajout de titre de trace
-     void SetTitle(string const & titleup, string const & titledown);
+     void SetTitle(string const & titleup, string const & titledown, string const& opt);
+  //  Fonction d'Ajout label d'axe X,Y 
+     void SetAxeLabels(string const & xLabel, string const & yLabel, string const& opt);
 
   //  Acces au BaseDrawer (PIElDrawer) du PIBaseWdg courant
-     PIElDrawer* CurrentElDrawer();
+     PIDrawer* CurrentElDrawer();
 
      void CreateGraphWin(int nx=1, int ny=1, int sx=0, int sy = 0);
