Index: trunk/SophyaPI/PI/piaxes.h
===================================================================
--- trunk/SophyaPI/PI/piaxes.h	(revision 2778)
+++ trunk/SophyaPI/PI/piaxes.h	(revision 2780)
@@ -19,6 +19,6 @@
   kIntTicks    = 0x0010,
   kExtTicks    = 0x0020,
-  kMajTicks    = 0x0030,
-  kMinTicks    = 0x0040,
+  kMajTicks    = 0x0040,
+  kMinTicks    = 0x0080,
 
   kLabelsH     = 0x1000,
Index: trunk/SophyaPI/PI/pibargraph.cc
===================================================================
--- trunk/SophyaPI/PI/pibargraph.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pibargraph.cc	(revision 2780)
@@ -44,4 +44,7 @@
   fgValLabel = false;
   packFrac = 0.5;
+  GetGraphicAtt().SetColAtt(PI_Black, PI_White);
+  GetGraphicAtt().SetFontAtt(PI_DefaultFont, PI_NormalSizeFont, PI_RomanFont);
+  GetGraphicAtt().SetLineAtt(PI_NormalLine);
   SetName("BarGraph");
 } 
Index: trunk/SophyaPI/PI/pibwdggen.cc
===================================================================
--- trunk/SophyaPI/PI/pibwdggen.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pibwdggen.cc	(revision 2780)
@@ -743,4 +743,5 @@
 
 PIGraphic* g = WindowGraphic();
+g->SaveGraphicAtt();
 
 if (mDrElastic) { 
@@ -789,4 +790,5 @@
     break;
   }
+g->RestoreGraphicAtt();
 return;
 }
Index: trunk/SophyaPI/PI/picontainergen.cc
===================================================================
--- trunk/SophyaPI/PI/picontainergen.cc	(revision 2778)
+++ trunk/SophyaPI/PI/picontainergen.cc	(revision 2780)
@@ -202,4 +202,5 @@
 if (stfcr)  return;
 PIWdg::FinishCreate();    
+if (!stvis) return;
 for(int k=0; k<NbChilds(); k++)  GetChild(k)->FinishCreate();
 stfcr = true;
Index: trunk/SophyaPI/PI/picontainerx.cc
===================================================================
--- trunk/SophyaPI/PI/picontainerx.cc	(revision 2778)
+++ trunk/SophyaPI/PI/picontainerx.cc	(revision 2780)
@@ -33,5 +33,7 @@
 // Pour gerer le probleme de l'appel a FinishCreate() 
 // lorsque celui du parent est deja appele
-if (finishDone)  FinishCreate(); 
+//--- les container sont cree dans l'etat inactif/invisible - FinishCreate() est 
+// donc desormais appele par PIContainerGen::Show() --- Mai 2005 ----
+//--- plus appele ici  if (finishDone)  FinishCreate(); ----
 }
 
@@ -55,5 +57,7 @@
 // *************** Reza - Fev 2005 ***************
 // Probleme lie a la table des fonctions virtuelles - voir ci-dessus
-if (finishDone)  FinishCreate();
+//--- les container sont cree dans l'etat inactif/invisible - FinishCreate() est 
+// donc desormais appele par PIContainerGen::Show() --- Mai 2005 ----
+//--- plus appele ici  if (finishDone)  FinishCreate(); ----
 }
 
Index: trunk/SophyaPI/PI/pidrawer.cc
===================================================================
--- trunk/SophyaPI/PI/pidrawer.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pidrawer.cc	(revision 2780)
@@ -214,6 +214,7 @@
 //	définie par "xmin-xmax" , "ymin-ymax" dans le système de coordonnées du
 //	PIDrawer.
-//  void  Refresh()
-//	Rafraîchit le dessin du PIDrawer sur tous les PIBaseWdg auxquel il est attaché.
+//  void  Refresh(bool refwdg=false)
+//	"refwdg==false": Rafraîchit le dessin du PIDrawer sur tous les PIBaseWdg auxquel il est attaché.
+//	"refwdg==true": Appelle *Refresh()* sur tous les PIBaseWdg auxquel il est attaché.
 //  void  HighLight(bool fgh)
 //      Rafraichit le dessin du PIDrawer sur tous les PIBaseWdg auxquel il est attaché,
@@ -229,9 +230,15 @@
 
 void
-PIDrawer::Refresh()
+PIDrawer::Refresh(bool refwdg)
 {
   list<DrwBWId>::iterator it;
-  for(it = mBWdgList.begin(); it != mBWdgList.end(); it++)
-         (*it).wdg->CallDrawer((*it).id);
+  if (refwdg) {
+    for(it = mBWdgList.begin(); it != mBWdgList.end(); it++)
+      (*it).wdg->Refresh();
+  }
+  else {
+    for(it = mBWdgList.begin(); it != mBWdgList.end(); it++)
+      (*it).wdg->CallDrawer((*it).id);
+  }
 
 }
Index: trunk/SophyaPI/PI/pidrawer.h
===================================================================
--- trunk/SophyaPI/PI/pidrawer.h	(revision 2778)
+++ trunk/SophyaPI/PI/pidrawer.h	(revision 2780)
@@ -47,5 +47,5 @@
   virtual double     GetDistanceToPoint(double x, double y);
 
-  virtual void       Refresh();      // Recalcule les limites et reaffiche
+  virtual void       Refresh(bool refwdg=false);      // Recalcule les limites et reaffiche
   virtual void       UpdateLimits();   // Calcule et change les limites  
 
Index: trunk/SophyaPI/PI/pidrwtools.cc
===================================================================
--- trunk/SophyaPI/PI/pidrwtools.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pidrwtools.cc	(revision 2780)
@@ -755,14 +755,14 @@
   PIApplicationPrefCompSize(bsx, bsy);
   spx = bsx/8;   spy = bsy/6;
-  tsx = 6*bsx+2*spx;  tsy = 6*bsy+4*spy;
+  tsx = 7.5*bsx+2*spx;  tsy = 6*bsy+4*spy;
   SetSize(tsx,tsy);
   int cpx = spx;
   int cpy = spy;
-  mTxt[0] = new PIText(this, "drwoshelp", true, true, bsx*6.0, 4*bsy, cpx, cpy);  
+  mTxt[0] = new PIText(this, "drwoshelp", true, true, bsx*7.5, 4*bsy, cpx, cpy);  
   mTxt[0]->SetTextEditable(false);
   mTxt[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
   mTxt[0]->SetText("");
   cpy += 4*bsy+spy;
-  mTxt[1] = new PIText(this, "drwosset", bsx*6.0, bsy, cpx, cpy);  
+  mTxt[1] = new PIText(this, "drwosset", bsx*7.5, bsy, cpx, cpy);  
   mTxt[1]->SetTextEditable(true);
   mTxt[1]->SetMsg(5555);
@@ -770,17 +770,21 @@
   mTxt[1]->SetText("");
   cpy += bsy+spy;
-  mLab = new PILabel(this, "drwntyp", bsx*2.2, bsy, cpx, cpy);
+  int lsx = tsx-4.8*bsx-6*spx;
+  mLab = new PILabel(this, "drwntyp", lsx, bsy, cpx, cpy);
   mLab->SetBorderWidth(1);
   mLab->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
   mLab->SetLabel("");
-  cpx += 2.3*bsx;
+  cpx += lsx+spx;
   mBut[0] = new PIButton(this, "SetOption", 555, bsx*1.2, bsy, cpx, cpy);
   mBut[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
-  cpx += 1.25*bsx;
+  cpx += (1.2*bsx+spx);
   mBut[1] = new PIButton(this, "GetOption", 666, bsx*1.2, bsy, cpx, cpy);
   mBut[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
-  cpx += 1.25*bsx;
-  mBut[2] = new PIButton(this, "Dimiss", 777, bsx*1.2, bsy, cpx, cpy);
+  cpx += (1.2*bsx+spx);
+  mBut[2] = new PIButton(this, "Refresh", 500, bsx*1.2, bsy, cpx, cpy);
   mBut[2]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
+  cpx += (1.2*bsx+spx);
+  mBut[3] = new PIButton(this, "Dimiss", 777, bsx*1.2, bsy, cpx, cpy);
+  mBut[3]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
 }
 
@@ -794,4 +798,5 @@
   delete mBut[1];
   delete mBut[2];
+  delete mBut[3];
 }
 /* --Methode-- */
@@ -824,4 +829,5 @@
     break;
   case 555:
+  case 500:
   case 5555:
     if (mDrw) {
@@ -843,7 +849,9 @@
       //	cout << " DBG-C[" << kk << "] " << vops[kk] << endl; 
       mDrw->DecodeOptionString(vops, false);
-      ops = "<< " + ops + " >> Decoded";
+      //      ops = "<< " + ops + " >> Decoded";
+      ops = "";
       mTxt[1]->SetText(ops);
-      mDrw->Refresh();
+      if (msg == 500) mDrw->Refresh(true);
+      else mDrw->Refresh(false);
     }
     break;
Index: trunk/SophyaPI/PI/pidrwtools.h
===================================================================
--- trunk/SophyaPI/PI/pidrwtools.h	(revision 2778)
+++ trunk/SophyaPI/PI/pidrwtools.h	(revision 2780)
@@ -77,5 +77,5 @@
   PIText* mTxt[2]; 
   PILabel* mLab;
-  PIButton* mBut[3];
+  PIButton* mBut[4];
   PIDrawer* mDrw;
 };
Index: trunk/SophyaPI/PI/pieldrw.cc
===================================================================
--- trunk/SophyaPI/PI/pieldrw.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pieldrw.cc	(revision 2780)
@@ -682,18 +682,16 @@
 		   
 //  fh = g->GetFontHeightUC(gas, gds);
-  fh = 0.075*(YMax()-YMin());
   if ( titleT.length() > 0) {
+    fh = 0.04*(YMax()-YMin());
     if (g->isAxeYDirUpDown()) fy = g->DeltaUCY(YMin(), -fh);
     else fy = g->DeltaUCY(YMax(), fh);
-    g->DrawString(fx, fy, titleT.c_str(), PI_HorizontalCenter | PI_VerticalCenter);
+    g->DrawString(fx, fy, titleT.c_str(), PI_HorizontalCenter | PI_VerticalBottom);
     //      printf(" PIElDrawer::Draw()/DBG (%g , %g) %s  - %g \n", fx, fy, titleT.c_str(), fh);
   }
   if ( titleB.length() > 0) {
-    fx = g->CalcStringWidth(titleB.c_str());
-    if(aXdir) fx = g->DeltaUCX(XMax(), -(XMax()-XMin()-fx)/2.);
-    else fx = g->DeltaUCX(XMin(), (XMax()-XMin()-fx)/2.);
-    if (g->isAxeYDirUpDown()) fy =  g->DeltaUCY(YMax(), fh*1.5);
-    else fy = g->DeltaUCY(YMin(), -fh*1.5);
-    g->DrawString(fx, fy, titleB.c_str(), PI_HorizontalCenter | PI_VerticalCenter);
+    fh = 0.075*(YMax()-YMin());
+    if (g->isAxeYDirUpDown()) fy =  g->DeltaUCY(YMax(), fh);
+    else fy = g->DeltaUCY(YMin(), -fh);
+    g->DrawString(fx, fy, titleB.c_str(), PI_HorizontalCenter | PI_VerticalTop);
     //      printf(" PIElDrawer::Draw()/DBG (%g , %g) %s  - %g \n", fx, fy, titleT.c_str(), fh);
   }
Index: trunk/SophyaPI/PI/pigratt.cc
===================================================================
--- trunk/SophyaPI/PI/pigratt.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pigratt.cc	(revision 2780)
@@ -662,5 +662,5 @@
   // A FAIRE - Reza->CMV  Mars 2004
   // On ne vide pas (ne met pas a zero) att, mais on ajoute derriere.
-  att.push_back("A FAIRE - Reza->CMV  Mars 2004");
+  att.push_back("??GraphicAtt??");
   return 1;
 }
Index: trunk/SophyaPI/PI/pitxtdrw.cc
===================================================================
--- trunk/SophyaPI/PI/pitxtdrw.cc	(revision 2778)
+++ trunk/SophyaPI/PI/pitxtdrw.cc	(revision 2780)
@@ -40,4 +40,7 @@
 {
   fgFrame = fgframe;
+  GetGraphicAtt().SetColAtt(PI_Black, PI_White);
+  GetGraphicAtt().SetFontAtt(PI_DefaultFont, PI_NormalSizeFont, PI_RomanFont);
+  GetGraphicAtt().SetLineAtt(PI_NormalLine);
   SetName("TextDrw");
 } 
@@ -81,5 +84,5 @@
 void PITextDrawer::Draw(PIGraphicUC* g, double xmin, double ymin, double xmax, double ymax)
 {
-  if (mLines.size() < 1) return;
+  if ((mLines.size() < 1) && !fgFrame) return;
   PIGraphicAtt siatt = GetGraphicAtt();
   PIGraphicAtt catt;
@@ -90,7 +93,7 @@
     catt = siatt;
     catt.UpdateFrom(mLines[k].att);
+    SetGraphicAtt(catt);
     SelGraAtt(g);
     if (mLines[k].att.GetMarker() != PI_NotDefMarker) {
-      x = 0.03;
       ym = (double)y-(double)(g->GetFontHeight(fa, fd))*0.5;
       g->DrawMarker(x, ym);
@@ -100,11 +103,10 @@
       x = (double)x+dxu+0.02;
     }
-    else x = 0.05;
     // Trace des lignes de texte
     g->DrawString(x,y,mLines[k].line.c_str(),PI_VerticalTop);
     y = (double)y-(double)(g->GetFontHeight(fa, fd))*1.1;
   }
+  SetGraphicAtt(siatt);
   if (fgFrame) {   // Trace de cadre
-    SetGraphicAtt(siatt);
     SelGraAtt(g);
     x = y = 0.;
Index: trunk/SophyaPI/PI/piyfxdrw.cc
===================================================================
--- trunk/SophyaPI/PI/piyfxdrw.cc	(revision 2778)
+++ trunk/SophyaPI/PI/piyfxdrw.cc	(revision 2780)
@@ -107,5 +107,5 @@
   PIAxes::ReSizeMinMax(isLogScaleY(),ymin,ymax);
   SetLimits(xmin,xmax,ymin,ymax);
-  SetAxesFlags(kBoxAxes | kExtTicks | kLabels);
+  // NE PAS FAIRE - Reza Mai 2005  SetAxesFlags(kBoxAxes | kExtTicks | kLabels);
 }
 
@@ -116,4 +116,6 @@
   double xp,yp;
   int i;
+
+  if (axesFlags != kAxesNone) DrawAxes(g);
 
   if ((mAx == NULL))  mSz = 0;
