Index: /trunk/SophyaPI/PIext/pihisto2d.cc
===================================================================
--- /trunk/SophyaPI/PIext/pihisto2d.cc	(revision 1861)
+++ /trunk/SophyaPI/PIext/pihisto2d.cc	(revision 1862)
@@ -178,6 +178,6 @@
 printf("PIHisto2D::Print FgCol=%d Cmap=%d (Rev=%d) TypScal=%d TypDisp=%d (FPoints=%g)\n"
       ,(int)mFgCol,(int)mCmap,(int)mRevCmap,mTypScal,mTypDisp,mFPoints);
-printf("                 Dyn=%g,%g Frac=%g,%g LogSc=%g H=%lx\n"
-      ,mHMin,mHMax,mFracMin,mFracMax,mLogScale,(long)mHisto);
+printf("                 Dyn=%g,%g Frac=%g,%g LogSc=%g H=%p\n"
+      ,mHMin,mHMax,mFracMin,mFracMax,mLogScale,mHisto);
 if(lp<1) return;
 mHisto->PrintStatus();
@@ -432,4 +432,6 @@
 
 
+/*
+// NOT USED ANYMORE... KEEP IT FOR MEMORY
 /////////////////////////////////////////////////////////////////
 //  Classe PIH2DWdg
@@ -460,5 +462,4 @@
 static int nb_h2dWinArg = 0;
 
-
 //++
 PIH2DWdg::PIH2DWdg(PIContainerGen *par, const char *nom, int sx, int sy, int px, int py)
@@ -466,5 +467,5 @@
 //	Createur d'un Widget de dessin d'histogramme 2D.
 //	Le menu pour choisir les options d'affichage apparait
-//	suite au clic du bouton-3 de la souris (cf H2WinArg::H2WinArg).
+//	suite a ALT-O (cf H2WinArg::H2WinArg).
 //--
 : PIScDrawWdg(par,nom,sx,sy,px,py)
@@ -472,6 +473,6 @@
 if(!h2dWinArg) h2dWinArg = new H2WinArg(this);
 nb_h2dWinArg++;
-if(dbg) printf("PIH2DWdg::PIH2DWdg %lx h2dWinArg=%lx %d\n"
-              ,(long)this,(long)h2dWinArg,nb_h2dWinArg);
+if(dbg) printf("PIH2DWdg::PIH2DWdg %p h2dWinArg=%p %d\n"
+              ,this,h2dWinArg,nb_h2dWinArg);
 mPih = NULL;
 // Pour afficher le menu option de trace
@@ -491,6 +492,6 @@
   h2dWinArg=NULL;
 }
-if(dbg) printf("PIH2DWdg::~PIH2DWdg h2dWinArg=%lx %d\n"
-              ,(long)h2dWinArg,nb_h2dWinArg);
+if(dbg) printf("PIH2DWdg::~PIH2DWdg h2dWinArg=%p %d\n"
+              ,h2dWinArg,nb_h2dWinArg);
 if(mPih) delete mPih;
 }
@@ -506,5 +507,5 @@
 mPih = new PIHisto2D(histo, true);
 AddScDrawer(mPih);
-if(dbg) printf("PIH2DWdg::SetHisto mPih=%lx\n",(long)mPih);
+if(dbg) printf("PIH2DWdg::SetHisto mPih=%p\n",mPih);
 }
 
@@ -519,5 +520,5 @@
 mPih = pih2;
 AddScDrawer(mPih);
-if(dbg) printf("PIH2DWdg::SetPIHisto mPih=%lx\n",(long)mPih);
+if(dbg) printf("PIH2DWdg::SetPIHisto mPih=%p\n",mPih);
 }
 
@@ -570,8 +571,8 @@
 {
 ActivateSpecializedControls();
-if(dbg) printf("PIH2DWdg::But3Press(%d,%d) h2dWinArg=%lx\n"
-              ,x,y,(long)h2dWinArg);
-}
-
+if(dbg) printf("PIH2DWdg::But3Press(%d,%d) h2dWinArg=%p\n"
+              ,x,y,h2dWinArg);
+}
+*/
 
 /////////////////////////////////////////////////////////////////
@@ -649,10 +650,6 @@
 //	des dessins des histogrammes 2D. Cette fenetre de
 //	dialogue est partagee par tous les widget de dessin
-//	des histogrammes 2D. Pour la faire apparaitre pour la
-//	faire apparaitre la premiere fois, cliquez avec le bouton
-//	numero 3 de la souris (bouton de droite) dans la fenetre
-//	de dessin de l'histogramme. Si elle est deja presente,
-//	pour la connecter a une autre fenetre de dessin cliquez avec
-//	le meme bouton dans cette fenetre.
+//	des histogrammes 2D. Pour faire apparaitre la fenetre
+//      tapez ALT-O.
 //--
 //++
@@ -689,6 +686,5 @@
 , mFracMin(0.1), mFracMax(0.9)
 {
-string sdum;
-if(dbg) printf("H2WinArg::H2WinArg %lx par=%lx\n",(long)this,(long)par);
+if(dbg) printf("H2WinArg::H2WinArg %p par=%p\n",this,par);
 
 // Taille automatique
@@ -708,5 +704,4 @@
 mOPop[0]->AppendItem(".+12..Z*"     ,6103);
 mOPop[0]->AppendItem("Carres Pleins",6104);
-sdum = "Carres Var."; mOPop[0]->SetValueStr(sdum);
 mOPop[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
 
@@ -716,5 +711,4 @@
 mOPop[1]->AppendItem("Lineaire",6201);
 mOPop[1]->AppendItem("Log10"   ,6202);
-sdum = "Lineaire"; mOPop[1]->SetValueStr(sdum);
 mOPop[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
 
@@ -736,5 +730,5 @@
 for(kcc=nsct3; kcc<PIColorMap::NumberStandardColorMaps(); kcc++) 
   mOPop[2]->AppendItem(PIColorMap::GetStandardColorMapName(kcc).c_str(),7001+kcc);
-mOPop[2]->SetValue(7000);
+//mOPop[2]->SetValue(7000);
 mOPop[2]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
 
@@ -767,7 +761,10 @@
 mPScal = new PIScale(this,"FracPoints",6401,kSDirLtoR
                         ,int(2.5*bsx),int(1.25*bsy),cpx+bsx+spx,cpy);
+mPScal->SetMinMax(0,100);
 mPScal->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
-mPScal->SetMinMax(0,100);
+
+//
 SetText();
+//
 
 // Boutons
@@ -794,5 +791,5 @@
 {
 int i;
-if(dbg) printf("H2WinArg::~H2WinArg %lx\n",(long)this);
+if(dbg) printf("H2WinArg::~H2WinArg %p\n",this);
 for(i=0;i<2;i++) delete mCasc[i];
 for(i=0;i<3;i++) delete mOPop[i];
@@ -805,4 +802,27 @@
 
 //++
+void H2WinArg::Show()
+//
+//	Initialisation sur ouverture ALT-O
+//--
+{
+ if(dbg) printf("H2WinArg::Show() mH2DDrw=%p\n",mH2DDrw);
+ // Pour recuperer les valeurs du Drawer sur lequel on fait ALT-O
+ /*
+ if(mH2DDrw) {
+   mFgCol = mH2DDrw->Color();
+   mCmap = mH2DDrw->ColMap(); mRevCmap = mH2DDrw->IsColMapRev();
+   mTypScal = mH2DDrw->TypScale(); mLogScale = mH2DDrw->LogScale();
+   mTypDisp = mH2DDrw->TypDisplay(); mFPoints = mH2DDrw->FPoints();
+   mHMin = mH2DDrw->HMin(); mHMax = mH2DDrw->HMax();
+   mFracMin = mH2DDrw->FMin(); mFracMax = mH2DDrw->FMax();
+   SetText();
+ }
+ */
+ PIWindow::Show();
+ return;
+}
+
+//++
 void H2WinArg::SetText()
 //
@@ -810,12 +830,18 @@
 //--
 {
+if(dbg) printf("H2WinArg::SetText()\n");
 string sdum;
 char str[256];
+
 sprintf(str,"%g %g",mHMin,mHMax);
 mText[0]->SetText(str);
+
 sprintf(str,"%g %g",mFracMin,mFracMax);
 mText[1]->SetText(str);
+
 sprintf(str,"%g",mLogScale);
 mText[2]->SetText(str);
+if(mTypScal==1) mText[2]->SetSensitive();
+  else          mText[2]->SetUnSensitive();
 
 if(mTypDisp==0)      {sdum="Carres Var.";   mOPop[0]->SetValueStr(sdum);}
@@ -836,20 +862,7 @@
 
 mPScal->SetValue(int(mFPoints*100.));
-
-if(dbg)printf("H2WinArg::SetText\n");
-}
-
-/* A-Virer  Reza 11/01/2002 
-//++
-void H2WinArg::SetPIH2DWdg(PIH2DWdg* h2wdg)
-//
-//	Connexion du widget de representation d'un histogramme 2D
-//	avec la fenetre de gestion des parametres.
-//--
-{
-mH2Wdg = h2wdg;
-if(dbg) printf("H2WinArg::SetPIH2DWdg mH2Wdg = %lx\n",(long)mH2Wdg);
-}
-  Fin de A-Virer ---- */
+if(mTypDisp==1) mPScal->SetSensitive();
+  else          mPScal->SetUnSensitive();
+}
 
 //++
@@ -859,6 +872,6 @@
 //--
 {
-if(dbg) printf("H2WinArg::Process(%d-%d , %lx ...) \n"
-              ,(int)UserMsg(msg),(int)ModMsg(msg),(long)sender);
+if(dbg) printf("H2WinArg::Process(%d-%d , %p ...) \n"
+              ,(int)UserMsg(msg),(int)ModMsg(msg),sender);
 
 // if(!mH2Wdg) return;
@@ -869,4 +882,5 @@
 
 int opt = UserMsg(msg);
+
      if(opt == 6101) {mTypDisp = 0;}
 else if(opt == 6102) {mTypDisp = 1;}
@@ -878,5 +892,4 @@
 
 else if(opt == 7000) {mFgCol = false;}
-
 else if(opt >= 7001 && opt <8000) {
   int k  = opt-7001;
@@ -908,7 +921,8 @@
   mHMin = mpih->HMin(); mHMax = mpih->HMax();
   mFracMin = mpih->FMin(); mFracMax = mpih->FMax();
-  SetText();
 }
 else if(opt==6004) mpih->Print(2);
+
+SetText();
 
 if(dbg) {
Index: /trunk/SophyaPI/PIext/pihisto2d.h
===================================================================
--- /trunk/SophyaPI/PIext/pihisto2d.h	(revision 1861)
+++ /trunk/SophyaPI/PIext/pihisto2d.h	(revision 1862)
@@ -62,21 +62,20 @@
 
 ////////////////////////////////////////////////////////////////////
+/*
+// NOT USED ANYMORE... KEEP IT FOR MEMORY
 class PIH2DWdg : public PIScDrawWdg {
 public:
   PIH2DWdg(PIContainerGen *par,const char *nom,int sx=300,int sy=300,int px=0,int py=0);
   ~PIH2DWdg();
-
   void SetHisto(Histo2D* histo);
   void SetPIHisto(PIHisto2D* pih2);
-
   inline PIHisto2D* GetPIHisto() {return mPih;}
-
   virtual string GetClickText(double x, double y); 
   virtual void	 ActivateSpecializedControls(); // Pour activer des controles specifiques
   virtual void   But3Press(int x, int y);
-
 protected:
   PIHisto2D*  mPih;
 };
+*/
 
 ////////////////////////////////////////////////////////////////////
@@ -97,4 +96,5 @@
   void SetText();
 
+  virtual void Show();
   virtual void Process(PIMessage msg,PIMsgHandler* sender,void* data=NULL);
 
