#ifndef AliEveITSModuleStepper_H
#define AliEveITSModuleStepper_H
#include <TEveElement.h>
#include <TGLOverlay.h>
#include <TEveGridStepper.h>
#include <TGLFontManager.h>
#include <vector>
class TEveRGBAPalette;
class AliEveITSDigitsInfo;
class AliEveDigitScaleInfo;
class TGLAxis;
class AliEveITSModuleStepper : public TEveElementList,
public TGLOverlayElement
{
public:
typedef std::vector<UInt_t> vpInt_t;
typedef std::vector<UInt_t>::iterator vpInt_i;
AliEveITSModuleStepper(AliEveITSDigitsInfo* di);
virtual ~AliEveITSModuleStepper();
TEveGridStepper* GetStepper() { return fStepper; }
void SetStepper(TEveGridStepper* s) { fStepper = s; Apply(); }
virtual Bool_t MouseEnter(TGLOvlSelectRecord& selRec);
virtual Bool_t Handle(TGLRnrCtx& rnrCtx, TGLOvlSelectRecord& selRec, Event_t* event);
virtual void MouseLeave();
void DisplayDet(Int_t det, Int_t layer = -1);
Int_t GetCurrentPage() const;
Int_t GetPages();
void Start();
void Next();
void Previous();
void End();
void Apply();
void Capacity();
virtual void Render(TGLRnrCtx& rnrCtx);
protected:
AliEveITSDigitsInfo *fDigitsInfo;
AliEveDigitScaleInfo *fScaleInfo;
TEveGridStepper *fStepper;
vpInt_t fModuleIDs;
UInt_t fPosition;
Int_t fSubDet;
mutable TGLFont fModuleFont;
mutable TGLFont fTextFont;
mutable TGLFont fSymbolFont;
TGLAxis* fAxis;
Float_t fMenuHeight;
Int_t fTextSize;
Color_t fTextCol;
Color_t fActiveCol;
Int_t fActiveID;
Int_t Nxy() const { return fStepper->GetNx()*fStepper->GetNy(); }
void AddToList(Int_t modID) { fModuleIDs.push_back(modID);}
void ResetList() { fModuleIDs.clear();}
void SetFirst(Int_t first);
private:
AliEveITSModuleStepper(const AliEveITSModuleStepper&);
AliEveITSModuleStepper& operator=(const AliEveITSModuleStepper&);
void RenderModuleIDs();
void RenderText(const char* tex ,Int_t id, const TGLFont &font, Float_t step=-1);
void RenderPalette(TEveRGBAPalette* p);
void RenderMenu(Int_t currP, Int_t MaxP, Int_t scaleX, Int_t scaleZ);
ClassDef(AliEveITSModuleStepper, 0);
};
#endif
AliEveITSModuleStepper.h:1 AliEveITSModuleStepper.h:2 AliEveITSModuleStepper.h:3 AliEveITSModuleStepper.h:4 AliEveITSModuleStepper.h:5 AliEveITSModuleStepper.h:6 AliEveITSModuleStepper.h:7 AliEveITSModuleStepper.h:8 AliEveITSModuleStepper.h:9 AliEveITSModuleStepper.h:10 AliEveITSModuleStepper.h:11 AliEveITSModuleStepper.h:12 AliEveITSModuleStepper.h:13 AliEveITSModuleStepper.h:14 AliEveITSModuleStepper.h:15 AliEveITSModuleStepper.h:16 AliEveITSModuleStepper.h:17 AliEveITSModuleStepper.h:18 AliEveITSModuleStepper.h:19 AliEveITSModuleStepper.h:20 AliEveITSModuleStepper.h:21 AliEveITSModuleStepper.h:22 AliEveITSModuleStepper.h:23 AliEveITSModuleStepper.h:24 AliEveITSModuleStepper.h:25 AliEveITSModuleStepper.h:26 AliEveITSModuleStepper.h:27 AliEveITSModuleStepper.h:28 AliEveITSModuleStepper.h:29 AliEveITSModuleStepper.h:30 AliEveITSModuleStepper.h:31 AliEveITSModuleStepper.h:32 AliEveITSModuleStepper.h:33 AliEveITSModuleStepper.h:34 AliEveITSModuleStepper.h:35 AliEveITSModuleStepper.h:36 AliEveITSModuleStepper.h:37 AliEveITSModuleStepper.h:38 AliEveITSModuleStepper.h:39 AliEveITSModuleStepper.h:40 AliEveITSModuleStepper.h:41 AliEveITSModuleStepper.h:42 AliEveITSModuleStepper.h:43 AliEveITSModuleStepper.h:44 AliEveITSModuleStepper.h:45 AliEveITSModuleStepper.h:46 AliEveITSModuleStepper.h:47 AliEveITSModuleStepper.h:48 AliEveITSModuleStepper.h:49 AliEveITSModuleStepper.h:50 AliEveITSModuleStepper.h:51 AliEveITSModuleStepper.h:52 AliEveITSModuleStepper.h:53 AliEveITSModuleStepper.h:54 AliEveITSModuleStepper.h:55 AliEveITSModuleStepper.h:56 AliEveITSModuleStepper.h:57 AliEveITSModuleStepper.h:58 AliEveITSModuleStepper.h:59 AliEveITSModuleStepper.h:60 AliEveITSModuleStepper.h:61 AliEveITSModuleStepper.h:62 AliEveITSModuleStepper.h:63 AliEveITSModuleStepper.h:64 AliEveITSModuleStepper.h:65 AliEveITSModuleStepper.h:66 AliEveITSModuleStepper.h:67 AliEveITSModuleStepper.h:68 AliEveITSModuleStepper.h:69 AliEveITSModuleStepper.h:70 AliEveITSModuleStepper.h:71 AliEveITSModuleStepper.h:72 AliEveITSModuleStepper.h:73 AliEveITSModuleStepper.h:74 AliEveITSModuleStepper.h:75 AliEveITSModuleStepper.h:76 AliEveITSModuleStepper.h:77 AliEveITSModuleStepper.h:78 AliEveITSModuleStepper.h:79 AliEveITSModuleStepper.h:80 AliEveITSModuleStepper.h:81 AliEveITSModuleStepper.h:82 AliEveITSModuleStepper.h:83 AliEveITSModuleStepper.h:84 AliEveITSModuleStepper.h:85 AliEveITSModuleStepper.h:86 AliEveITSModuleStepper.h:87 AliEveITSModuleStepper.h:88 AliEveITSModuleStepper.h:89 AliEveITSModuleStepper.h:90 AliEveITSModuleStepper.h:91 AliEveITSModuleStepper.h:92 AliEveITSModuleStepper.h:93 AliEveITSModuleStepper.h:94 AliEveITSModuleStepper.h:95 AliEveITSModuleStepper.h:96 AliEveITSModuleStepper.h:97 AliEveITSModuleStepper.h:98 AliEveITSModuleStepper.h:99 AliEveITSModuleStepper.h:100