source: Sophya/trunk/SophyaPI/PIext/pihisto2d.h@ 2463

Last change on this file since 2463 was 2383, checked in by ansari, 22 years ago

Ajout methode GetInfoString() aux ObjAdapter + attributs de gestion de position de stat pour PINtuple/PIHisto + positionnement par defaut de stat (statposoff=) lors de disp same - Reza 16/5/2003

File size: 4.0 KB
RevLine 
[210]1// This may look like C code, but it is really -*- C++ -*-
2// Module PIext : PIHisto2D PIH2DWdg
3// Traceur Histo-2D C. Magneville 97-98
4// LAL (Orsay) / IN2P3-CNRS DAPNIA/SPP (Saclay) / CEA
5
[165]6#ifndef PIHISTO2D_H
7#define PIHISTO2D_H
8
9#include "pisysdep.h"
10#include PIMENU_H
11#include PIMENUBAR_H
12#include PIOPTMENU_H
13
14#include "histos2.h"
[2234]15#include "pidrawer.h"
[165]16#include "piscdrawwdg.h"
17
18////////////////////////////////////////////////////////////////////
19class PIHisto2D : public PIDrawer {
20public:
[1850]21 PIHisto2D(Histo2D* histo, bool ad=false);
22 virtual ~PIHisto2D();
[165]23
[1850]24 void UseColors(bool fg=false,CMapId cmap=CMAP_GREYINV32,bool revcmap=false);
25 void UseScale(unsigned short type=0,float logscale=10.);
26 void UseDisplay(unsigned short type=0,float fnpt=0.5);
27 void UseDyn(float hmin=1.,float hmax=-1.);
28 void UseFrac(float frmin=0.1,float frmax=0.9);
29 void Print(int lp=0);
[165]30
[1850]31 virtual void Draw(PIGraphicUC* g,double xmin,double ymin,double xmax,double ymax);
[1880]32
[2234]33 //AppendTextInfo a faire un jour - Reza 21/01/2002
34 //virtual void AppendTextInfo(string& info,double xmin,double ymin
35 // ,double xmax,double ymax);
[1880]36
[2234]37 // Ce que fait l'action de clic avec la souris
[1884]38 virtual void GetClickInfo(string& info, double x, double y
39 ,double x0=0.,double y0=0.,bool fgdiff=false);
40
[1850]41 virtual void UpdateLimits();
42 virtual void DrawStats(PIGraphicUC* g);
[2234]43 inline void SetStats(bool fg=true) {stats=fg;}
[2383]44 inline void SetStatPosOffset(float ofx=-0.01, float ofy=-0.01)
45 {spoX=ofx; spoY=ofy; }
[1850]46
[2234]47 // Methode permettant l'affichage d'une fenetre de controle specialisee
[1856]48 virtual void ShowControlWindow(PIBaseWdgGen* wdg);
[2234]49 // Desactivation de la fenetre de controle specialisee
[2231]50 virtual void DeactivateControlWindow(PIBaseWdgGen* wdg);
[1856]51
[2234]52 // Methode de decodage des options
53 virtual int DecodeOptionString(vector<string> & opt, bool rmdecopt=true);
54 virtual void GetOptionsHelpInfo(string& info);
55
56 // Methodes inline
[1850]57 inline Histo2D* Histogram() {return(mHisto);}
58 inline bool Color() {return(mFgCol);}
59 inline CMapId ColMap() {return(mCmap);}
60 inline bool IsColMapRev() {return(mRevCmap);}
61 inline unsigned short TypScale() {return(mTypScal);}
62 inline unsigned short TypDisplay() {return(mTypDisp);}
63 inline float FPoints() {return(mFPoints);}
64 inline float HMax() {return(mHMax);}
65 inline float HMin() {return(mHMin);}
66 inline float FMax() {return(mFracMax);}
67 inline float FMin() {return(mFracMin);}
68 inline float LogScale() {return(mLogScale);}
69
[165]70protected:
71 int NPixBin(PIGraphicUC* g);
72 char HPrint2(float f);
73
74 Histo2D* mHisto;
[2234]75 bool mAdDO; bool stats;
[1850]76 bool mFgCol; CMapId mCmap; bool mRevCmap;
77 unsigned short mTypScal; float mLogScale;
78 unsigned short mTypDisp; float mFPoints;
[165]79 float mHMin,mHMax;
80 float mFracMin,mFracMax;
[2383]81 float spoX, spoY; // Stat pos offset par rapport a position defaut
[165]82};
83
84////////////////////////////////////////////////////////////////////
85class H2WinArg : public PIWindow {
86public :
[1856]87 H2WinArg(PIMsgHandler* par);
[1850]88 ~H2WinArg();
[165]89
[1856]90 static void ShowPIHisto2DTools();
91 static void ShowPIHisto2DTools(PIBaseWdgGen* cbw);
92 static void HidePIHisto2DTools();
93 static void SetCurrentBaseWdg(PIBaseWdgGen* cbw);
94 static void SetCurrentPIHisto2D(PIHisto2D* h2ddrw);
95
96 static PIBaseWdgGen* GetCurrentBaseWdg();
97 static PIHisto2D* GetCurrentPIHisto2D();
98
[1850]99 void SetText();
100
[1862]101 virtual void Show();
[1850]102 virtual void Process(PIMessage msg,PIMsgHandler* sender,void* data=NULL);
103
[165]104protected:
[1856]105 static PIBaseWdgGen * mBWdg;
106 static PIHisto2D* mH2DDrw;
[165]107
108 PIOptMenu * mOPop[3];
[2380]109 PIMenu * mCasc[3];
[165]110 PIButton * mBut[4];
111 PILabel * mLab[4];
112 PIText * mText[3];
113 PIScale * mPScal;
[1850]114 PICheckBox* mCkb;
[165]115
[1850]116 bool mFgCol; CMapId mCmap; bool mRevCmap;
117 unsigned short mTypScal; float mLogScale;
118 unsigned short mTypDisp; float mFPoints;
[165]119 float mHMin,mHMax;
120 float mFracMin,mFracMax;
121};
122
123#endif
Note: See TracBrowser for help on using the repository browser.