12 #ifndef ROOT_TEveDigitSet
13 #define ROOT_TEveDigitSet
29 class TEveDigitSet :
public TEveElement,
30 public TNamed,
public TQObject,
33 public TEveSecondarySelectable
35 friend class TEveDigitSetEditor;
36 friend class TEveDigitSetGL;
38 TEveDigitSet(
const TEveDigitSet&);
39 TEveDigitSet& operator=(
const TEveDigitSet&);
42 enum ERenderMode_e { kRM_AsIs, kRM_Line, kRM_Fill };
44 typedef void (*Callback_foo)(TEveDigitSet*, Int_t, TObject*);
45 typedef TString (*TooltipCB_foo)(TEveDigitSet*, Int_t);
54 DigitBase_t(Int_t v=0) : fValue(v), fUserData(0) {}
65 TEveChunkManager fPlex;
66 DigitBase_t* fLastDigit;
71 TEveRGBAPalette* fPalette;
72 ERenderMode_e fRenderMode;
73 Bool_t fSelectViaFrame;
74 Bool_t fHighlightFrame;
75 Bool_t fDisableLighting;
79 Callback_foo fCallbackFoo;
80 TooltipCB_foo fTooltipCBFoo;
82 DigitBase_t* NewDigit();
86 TEveDigitSet(
const char* n=
"TEveDigitSet",
const char* t=
"");
87 virtual ~TEveDigitSet();
89 virtual TObject* GetObject(
const TEveException&)
const
90 {
const TObject* obj =
this;
return const_cast<TObject*
>(obj); }
92 void UseSingleColor();
94 Bool_t GetAntiFlick()
const {
return fAntiFlick; }
95 void SetAntiFlick(Bool_t f) { fAntiFlick = f; }
97 virtual void SetMainColor(Color_t color);
99 virtual void UnSelected();
100 virtual void UnHighlighted();
102 virtual TString GetHighlightTooltip();
108 void ScanMinMaxValues(Int_t& min, Int_t& max);
112 void SetCurrentDigit(Int_t idx);
114 void DigitValue(Int_t value);
115 void DigitColor(Color_t ci);
116 void DigitColor(Color_t ci, Char_t transparency);
117 void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
118 void DigitColor(UChar_t* rgba);
120 Bool_t GetOwnIds()
const {
return fOwnIds; }
121 void SetOwnIds(Bool_t o) { fOwnIds = o; }
123 void DigitId(TObject*
id);
124 void DigitUserData(
void* ud);
126 void DigitId(Int_t n, TObject*
id);
127 void DigitUserData(Int_t n,
void* ud);
129 DigitBase_t* GetDigit(Int_t n)
const {
return (DigitBase_t*) fPlex.Atom(n); }
130 TObject* GetId(Int_t n)
const;
131 void* GetUserData(Int_t n)
const;
132 using TEveElement::GetUserData;
139 virtual void Paint(Option_t* option=
"");
141 virtual void DigitSelected(Int_t idx);
142 virtual void SecSelected(TEveDigitSet* qs, Int_t idx);
146 TEveChunkManager* GetPlex() {
return &fPlex; }
148 TEveFrameBox* GetFrame()
const {
return fFrame; }
149 void SetFrame(TEveFrameBox* b);
151 Bool_t GetSelectViaFrame()
const {
return fSelectViaFrame; }
152 void SetSelectViaFrame(Bool_t sf) { fSelectViaFrame = sf; }
154 Bool_t GetHighlightFrame()
const {
return fHighlightFrame; }
155 void SetHighlightFrame(Bool_t hf) { fHighlightFrame = hf; }
157 Bool_t GetValueIsColor()
const {
return fValueIsColor; }
159 TEveRGBAPalette* GetPalette()
const {
return fPalette; }
160 void SetPalette(TEveRGBAPalette* p);
161 TEveRGBAPalette* AssertPalette();
163 ERenderMode_e GetRenderMode()
const {
return fRenderMode; }
164 void SetRenderMode(ERenderMode_e rm) { fRenderMode = rm; }
166 Bool_t GetDisableLighting()
const {
return fDisableLighting; }
167 void SetDisableLighting(Bool_t l) { fDisableLighting = l; }
169 Bool_t GetHistoButtons()
const {
return fHistoButtons; }
170 void SetHistoButtons(Bool_t f) { fHistoButtons = f; }
172 Bool_t GetEmitSignals()
const {
return fEmitSignals; }
173 void SetEmitSignals(Bool_t f) { fEmitSignals = f; }
175 Callback_foo GetCallbackFoo()
const {
return fCallbackFoo; }
176 void SetCallbackFoo(Callback_foo f) { fCallbackFoo = f; }
178 TooltipCB_foo GetTooltipCBFoo()
const {
return fTooltipCBFoo; }
179 void SetTooltipCBFoo(TooltipCB_foo f) { fTooltipCBFoo = f; }
181 ClassDef(TEveDigitSet, 0);