#include "AliMUONPainterColorSlider.h"
#include "AliMUONPainterHelper.h"
#include "AliLog.h"
#include <TGNumberEntry.h>
#include <TGButton.h>
#include <TMath.h>
ClassImp(AliMUONPainterColorSlider)
AliMUONPainterColorSlider::AliMUONPainterColorSlider(const TGWindow* p,
UInt_t w, UInt_t h)
: TGCompositeFrame(p,w,h,kVerticalFrame),
fEntryMin(0x0),
fEntryMax(0x0),
fMin(FLT_MAX),
fMax(-FLT_MAX),
fAutoButton(new TGTextButton(this,"Auto")),
fLockButton(new TGTextButton(this,"Lock"))
{
Int_t ndivisions(20);
Int_t hsize = (h-100)/(ndivisions+2);
Int_t topBorder(5);
Double_t min(0.0);
Double_t max(1.0);
Double_t step = (max-min)/ndivisions;
for ( Int_t i = -1; i < ndivisions+1; ++i )
{
Double_t value = max - (min + step*i);
Int_t color = AliMUONPainterHelper::Instance()->ColorFromValue(value,
min,max);
Pixel_t pixel = gVirtualX->GetPixel(color);
TGVerticalFrame* frame = new TGVerticalFrame(this,w,hsize,kFixedSize,pixel);
AddFrame(frame,new TGLayoutHints(kLHintsExpandX,0,0,topBorder,0));
topBorder = 0;
}
fEntryMax = new TGNumberEntry(this);
AddFrame(fEntryMax,new TGLayoutHints(kLHintsExpandX,0,0,topBorder,0));
fEntryMin = new TGNumberEntry(this);
AddFrame(fEntryMin,new TGLayoutHints(kLHintsExpandX,0,0,topBorder,0));
AddFrame(fAutoButton,new TGLayoutHints(kLHintsExpandX,0,0,topBorder,0));
fAutoButton->Connect("Clicked()","AliMUONPainterColorSlider",this,"DataRangeAutoRequested()");
AddFrame(fLockButton,new TGLayoutHints(kLHintsExpandX,0,0,topBorder,0));
fLockButton->Connect("Clicked()","AliMUONPainterColorSlider",this,"LockButtonWasClicked()");
fEntryMax->Connect("ValueSet(Long_t)","AliMUONPainterColorSlider",this,"DataRangeWasChanged(Double_t*)");
fEntryMin->Connect("ValueSet(Long_t)","AliMUONPainterColorSlider",this,"DataRangeWasChanged(Double_t*)");
}
AliMUONPainterColorSlider::~AliMUONPainterColorSlider()
{
}
void
AliMUONPainterColorSlider::DataRangeAutoRequested()
{
AliDebug(1,"");
Emit("DataRangeAutoRequested()");
}
void
AliMUONPainterColorSlider::DataRangeWasChanged(Double_t*)
{
Double_t values[] = { fEntryMin->GetNumber(), fEntryMax->GetNumber() };
Long_t param[] = { (Long_t)values };
AliDebug(1,Form("double min %e max %e",values[0],values[1]));
Emit("DataRangeWasChanged(Double_t*)",param);
}
Bool_t
AliMUONPainterColorSlider::IsLocked() const
{
return (fLockButton->GetString() == "Unlock");
}
void
AliMUONPainterColorSlider::LockButtonWasClicked()
{
if ( IsLocked() )
{
fLockButton->SetText("Lock");
fEntryMin->SetState(kTRUE);
fEntryMax->SetState(kTRUE);
fAutoButton->SetEnabled(kTRUE);
}
else
{
fLockButton->SetText("Unlock");
fEntryMin->SetState(kFALSE);
fEntryMax->SetState(kFALSE);
fAutoButton->SetEnabled(kFALSE);
}
}
void
AliMUONPainterColorSlider::SetRange(Double_t min, Double_t max, Bool_t emit)
{
AliDebug(1,Form("min %e max %e emit %d",min,max,emit));
if ( !IsLocked() )
{
fMin = min;
fMax = max;
fEntryMin->SetNumber(fMin);
fEntryMax->SetNumber(fMax);
}
if ( emit )
{
DataRangeWasChanged(0x0);
}
}
AliMUONPainterColorSlider.cxx:1 AliMUONPainterColorSlider.cxx:2 AliMUONPainterColorSlider.cxx:3 AliMUONPainterColorSlider.cxx:4 AliMUONPainterColorSlider.cxx:5 AliMUONPainterColorSlider.cxx:6 AliMUONPainterColorSlider.cxx:7 AliMUONPainterColorSlider.cxx:8 AliMUONPainterColorSlider.cxx:9 AliMUONPainterColorSlider.cxx:10 AliMUONPainterColorSlider.cxx:11 AliMUONPainterColorSlider.cxx:12 AliMUONPainterColorSlider.cxx:13 AliMUONPainterColorSlider.cxx:14 AliMUONPainterColorSlider.cxx:15 AliMUONPainterColorSlider.cxx:16 AliMUONPainterColorSlider.cxx:17 AliMUONPainterColorSlider.cxx:18 AliMUONPainterColorSlider.cxx:19 AliMUONPainterColorSlider.cxx:20 AliMUONPainterColorSlider.cxx:21 AliMUONPainterColorSlider.cxx:22 AliMUONPainterColorSlider.cxx:23 AliMUONPainterColorSlider.cxx:24 AliMUONPainterColorSlider.cxx:25 AliMUONPainterColorSlider.cxx:26 AliMUONPainterColorSlider.cxx:27 AliMUONPainterColorSlider.cxx:28 AliMUONPainterColorSlider.cxx:29 AliMUONPainterColorSlider.cxx:30 AliMUONPainterColorSlider.cxx:31 AliMUONPainterColorSlider.cxx:32 AliMUONPainterColorSlider.cxx:33 AliMUONPainterColorSlider.cxx:34 AliMUONPainterColorSlider.cxx:35 AliMUONPainterColorSlider.cxx:36 AliMUONPainterColorSlider.cxx:37 AliMUONPainterColorSlider.cxx:38 AliMUONPainterColorSlider.cxx:39 AliMUONPainterColorSlider.cxx:40 AliMUONPainterColorSlider.cxx:41 AliMUONPainterColorSlider.cxx:42 AliMUONPainterColorSlider.cxx:43 AliMUONPainterColorSlider.cxx:44 AliMUONPainterColorSlider.cxx:45 AliMUONPainterColorSlider.cxx:46 AliMUONPainterColorSlider.cxx:47 AliMUONPainterColorSlider.cxx:48 AliMUONPainterColorSlider.cxx:49 AliMUONPainterColorSlider.cxx:50 AliMUONPainterColorSlider.cxx:51 AliMUONPainterColorSlider.cxx:52 AliMUONPainterColorSlider.cxx:53 AliMUONPainterColorSlider.cxx:54 AliMUONPainterColorSlider.cxx:55 AliMUONPainterColorSlider.cxx:56 AliMUONPainterColorSlider.cxx:57 AliMUONPainterColorSlider.cxx:58 AliMUONPainterColorSlider.cxx:59 AliMUONPainterColorSlider.cxx:60 AliMUONPainterColorSlider.cxx:61 AliMUONPainterColorSlider.cxx:62 AliMUONPainterColorSlider.cxx:63 AliMUONPainterColorSlider.cxx:64 AliMUONPainterColorSlider.cxx:65 AliMUONPainterColorSlider.cxx:66 AliMUONPainterColorSlider.cxx:67 AliMUONPainterColorSlider.cxx:68 AliMUONPainterColorSlider.cxx:69 AliMUONPainterColorSlider.cxx:70 AliMUONPainterColorSlider.cxx:71 AliMUONPainterColorSlider.cxx:72 AliMUONPainterColorSlider.cxx:73 AliMUONPainterColorSlider.cxx:74 AliMUONPainterColorSlider.cxx:75 AliMUONPainterColorSlider.cxx:76 AliMUONPainterColorSlider.cxx:77 AliMUONPainterColorSlider.cxx:78 AliMUONPainterColorSlider.cxx:79 AliMUONPainterColorSlider.cxx:80 AliMUONPainterColorSlider.cxx:81 AliMUONPainterColorSlider.cxx:82 AliMUONPainterColorSlider.cxx:83 AliMUONPainterColorSlider.cxx:84 AliMUONPainterColorSlider.cxx:85 AliMUONPainterColorSlider.cxx:86 AliMUONPainterColorSlider.cxx:87 AliMUONPainterColorSlider.cxx:88 AliMUONPainterColorSlider.cxx:89 AliMUONPainterColorSlider.cxx:90 AliMUONPainterColorSlider.cxx:91 AliMUONPainterColorSlider.cxx:92 AliMUONPainterColorSlider.cxx:93 AliMUONPainterColorSlider.cxx:94 AliMUONPainterColorSlider.cxx:95 AliMUONPainterColorSlider.cxx:96 AliMUONPainterColorSlider.cxx:97 AliMUONPainterColorSlider.cxx:98 AliMUONPainterColorSlider.cxx:99 AliMUONPainterColorSlider.cxx:100 AliMUONPainterColorSlider.cxx:101 AliMUONPainterColorSlider.cxx:102 AliMUONPainterColorSlider.cxx:103 AliMUONPainterColorSlider.cxx:104 AliMUONPainterColorSlider.cxx:105 AliMUONPainterColorSlider.cxx:106 AliMUONPainterColorSlider.cxx:107 AliMUONPainterColorSlider.cxx:108 AliMUONPainterColorSlider.cxx:109 AliMUONPainterColorSlider.cxx:110 AliMUONPainterColorSlider.cxx:111 AliMUONPainterColorSlider.cxx:112 AliMUONPainterColorSlider.cxx:113 AliMUONPainterColorSlider.cxx:114 AliMUONPainterColorSlider.cxx:115 AliMUONPainterColorSlider.cxx:116 AliMUONPainterColorSlider.cxx:117 AliMUONPainterColorSlider.cxx:118 AliMUONPainterColorSlider.cxx:119 AliMUONPainterColorSlider.cxx:120 AliMUONPainterColorSlider.cxx:121 AliMUONPainterColorSlider.cxx:122 AliMUONPainterColorSlider.cxx:123 AliMUONPainterColorSlider.cxx:124 AliMUONPainterColorSlider.cxx:125 AliMUONPainterColorSlider.cxx:126 AliMUONPainterColorSlider.cxx:127 AliMUONPainterColorSlider.cxx:128 AliMUONPainterColorSlider.cxx:129 AliMUONPainterColorSlider.cxx:130 AliMUONPainterColorSlider.cxx:131 AliMUONPainterColorSlider.cxx:132 AliMUONPainterColorSlider.cxx:133 AliMUONPainterColorSlider.cxx:134 AliMUONPainterColorSlider.cxx:135 AliMUONPainterColorSlider.cxx:136 AliMUONPainterColorSlider.cxx:137 AliMUONPainterColorSlider.cxx:138 AliMUONPainterColorSlider.cxx:139 AliMUONPainterColorSlider.cxx:140 AliMUONPainterColorSlider.cxx:141 AliMUONPainterColorSlider.cxx:142 AliMUONPainterColorSlider.cxx:143 AliMUONPainterColorSlider.cxx:144 AliMUONPainterColorSlider.cxx:145 AliMUONPainterColorSlider.cxx:146 AliMUONPainterColorSlider.cxx:147 AliMUONPainterColorSlider.cxx:148 AliMUONPainterColorSlider.cxx:149 AliMUONPainterColorSlider.cxx:150 AliMUONPainterColorSlider.cxx:151 AliMUONPainterColorSlider.cxx:152 AliMUONPainterColorSlider.cxx:153 AliMUONPainterColorSlider.cxx:154 AliMUONPainterColorSlider.cxx:155 AliMUONPainterColorSlider.cxx:156 AliMUONPainterColorSlider.cxx:157 AliMUONPainterColorSlider.cxx:158 AliMUONPainterColorSlider.cxx:159 AliMUONPainterColorSlider.cxx:160 AliMUONPainterColorSlider.cxx:161 AliMUONPainterColorSlider.cxx:162 AliMUONPainterColorSlider.cxx:163 AliMUONPainterColorSlider.cxx:164 AliMUONPainterColorSlider.cxx:165 AliMUONPainterColorSlider.cxx:166 AliMUONPainterColorSlider.cxx:167 AliMUONPainterColorSlider.cxx:168 AliMUONPainterColorSlider.cxx:169 AliMUONPainterColorSlider.cxx:170 AliMUONPainterColorSlider.cxx:171 AliMUONPainterColorSlider.cxx:172 AliMUONPainterColorSlider.cxx:173 AliMUONPainterColorSlider.cxx:174 AliMUONPainterColorSlider.cxx:175 AliMUONPainterColorSlider.cxx:176