Index: trunk/SophyaPI/PIext/pistdimgapp.cc
===================================================================
--- trunk/SophyaPI/PIext/pistdimgapp.cc	(revision 2158)
+++ 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;
