#include <CmsShowCommonPopup.h>
Public Member Functions | |
void | changeGeomColor (Color_t) |
void | changeGeomTransparency2D (int) |
void | changeGeomTransparency3D (int) |
void | changeSelectionColorSet (Color_t) |
ClassDef (CmsShowCommonPopup, 0) | |
virtual void | CloseWindow () |
CmsShowCommonPopup (CmsShowCommon *, const TGWindow *p=0, UInt_t w=1, UInt_t h=1) | |
void | colorSetChanged () |
void | switchBackground () |
virtual | ~CmsShowCommonPopup () |
Private Member Functions | |
CmsShowCommonPopup (const CmsShowCommonPopup &) | |
void | getColorSetColors (int &hci, int &sci) |
void | makeSetter (TGCompositeFrame *frame, FWParameterBase *param) |
const CmsShowCommonPopup & | operator= (const CmsShowCommonPopup &) |
Private Attributes | |
TGTextButton * | m_backgroundButton |
FWColorSelect * | m_colorRnrCtxHighlightWidget |
FWColorSelect * | m_colorRnrCtxSelectWidget |
FWColorSelect * | m_colorSelectWidget [kFWGeomColorSize] |
CmsShowCommon * | m_common |
TGTextButton * | m_gammaButton |
TGHSlider * | m_gammaSlider |
std::vector< boost::shared_ptr < FWParameterSetterBase > > | m_setters |
Definition at line 24 of file CmsShowCommonPopup.h.
CmsShowCommonPopup::CmsShowCommonPopup | ( | CmsShowCommon * | model, |
const TGWindow * | p = 0 , |
||
UInt_t | w = 1 , |
||
UInt_t | h = 1 |
||
) |
Definition at line 32 of file CmsShowCommonPopup.cc.
References asciidump::attributes, CmsShowCommon::colorManager(), FWColorManager::geomColor(), FWColorManager::geomTransparency(), getColorSetColors(), i, j, gen::k, kFWGeomColorSize, kFWMuonBarrelLineColorIndex, kFWMuonEndcapLineColorIndex, kFWPixelBarrelColorIndex, kFWPixelEndcapColorIndex, kFWTrackerBarrelColorIndex, kFWTrackerEndcapColorIndex, diffTwoXMLs::label, m_backgroundButton, m_colorRnrCtxHighlightWidget, m_colorRnrCtxSelectWidget, m_colorSelectWidget, m_common, CmsShowCommon::m_drawBreakPoints, CmsShowCommon::m_energyScale, CmsShowCommon::m_gamma, CmsShowCommon::m_trackBreak, makeSetter(), h::names, fetchall_from_DQM_v2::pool, and FWColorSelect::SetColorByIndex().
: TGTransientFrame(gClient->GetDefaultRoot(),p,w,h), m_common(model), m_backgroundButton(0), m_gammaSlider(0), m_gammaButton(0), m_colorRnrCtxHighlightWidget(0), m_colorRnrCtxSelectWidget(0) { SetCleanup(kDeepCleanup); TGGC *fTextGC; const TGFont *font = gClient->GetFont("-adobe-helvetica-bold-r-*-*-14-*-*-*-*-*-iso8859-1"); if (!font) font = gClient->GetResourcePool()->GetDefaultFont(); GCValues_t gval; gval.fMask = kGCBackground | kGCFont | kGCForeground; gval.fFont = font->GetFontHandle(); fTextGC = gClient->GetGC(&gval, kTRUE); TGFont* smallFont = 0; FontStruct_t defaultFontStruct = m_backgroundButton->GetDefaultFontStruct(); try { TGFontPool *pool = gClient->GetFontPool(); TGFont* defaultFont = pool->GetFont(defaultFontStruct); FontAttributes_t attributes = defaultFont->GetFontAttributes(); smallFont = pool->GetFont(attributes.fFamily, 8, attributes.fWeight, attributes.fSlant); } catch(...) { // Ignore exceptions. } TGCompositeFrame* vf2 = new TGVerticalFrame(this); AddFrame(vf2, new TGLayoutHints(kLHintsExpandX, 2, 2, 2, 2)); //============================================================================== // scales // { TGLabel* xx = new TGLabel(vf2, "GlobalScales ", fTextGC->GetGC()); vf2->AddFrame(xx, new TGLayoutHints(kLHintsLeft ,2,2,4,4)); } FWViewEnergyScaleEditor* scaleEditor = new FWViewEnergyScaleEditor(m_common->m_energyScale.get(), vf2); vf2->AddFrame(scaleEditor); //============================================================================== // Projections // vf2->AddFrame(new TGHorizontal3DLine(vf2), new TGLayoutHints(kLHintsExpandX,4 ,8, 3, 3)); { TGLabel* xx = new TGLabel(vf2, "Projections ", fTextGC->GetGC()); vf2->AddFrame(xx, new TGLayoutHints(kLHintsLeft ,2,2,4,4)); } vf2->AddFrame(new TGLabel(vf2, "Track behaviour when crossing y=0 in RhoZ-view:"), new TGLayoutHints(kLHintsLeft ,2,2,0,0)); makeSetter(vf2, &m_common->m_trackBreak); makeSetter(vf2, &m_common->m_drawBreakPoints); //============================================================================== // general colors // vf2->AddFrame(new TGHorizontal3DLine(vf2), new TGLayoutHints(kLHintsExpandX ,4 ,8, 8, 2)); { TGLabel* xx = new TGLabel(vf2, "General Colors ", fTextGC->GetGC()); vf2->AddFrame(xx, new TGLayoutHints(kLHintsLeft,2,2,4,4)); } m_backgroundButton = new TGTextButton(vf2, "Black/White Background"); vf2->AddFrame(m_backgroundButton); makeSetter(vf2, &m_common->m_gamma); // rnrCtx colorset { int hci, sci; getColorSetColors(hci, sci); TGHorizontalFrame* top = new TGHorizontalFrame(vf2); vf2->AddFrame(top); { TGHorizontalFrame* hf = new TGHorizontalFrame(top); top->AddFrame(hf); m_colorRnrCtxHighlightWidget = new FWColorSelect(hf, "highlight", 0, m_common->colorManager(), 3); hf->AddFrame(m_colorRnrCtxHighlightWidget); m_colorRnrCtxHighlightWidget->SetColorByIndex(hci , kFALSE); m_colorRnrCtxHighlightWidget->Connect("ColorChosen(Color_t)", "CmsShowCommonPopup", this, "changeSelectionColorSet(Color_t)"); TGFrame* lf = new TGHorizontalFrame(hf, 100, 16, kFixedSize); TGLabel* label = new TGLabel(lf, "Higlight"); label->SetTextFont(smallFont); hf->AddFrame(lf, new TGLayoutHints(kLHintsLeft |kLHintsCenterY , 0, 0, 0,0)); } { TGHorizontalFrame* hf = new TGHorizontalFrame(top); top->AddFrame(hf); m_colorRnrCtxSelectWidget = new FWColorSelect(hf, "selectioyn", 0, m_common->colorManager(), 1); hf->AddFrame(m_colorRnrCtxSelectWidget); m_colorRnrCtxSelectWidget->SetColorByIndex(sci , kFALSE); m_colorRnrCtxSelectWidget->Connect("ColorChosen(Color_t)", "CmsShowCommonPopup", this, "changeSelectionColorSet(Color_t)"); TGFrame* lf = new TGHorizontalFrame(hf, 100, 16, kFixedSize); TGLabel* label = new TGLabel(lf, "Selection"); label->SetTextFont(smallFont); hf->AddFrame(lf, new TGLayoutHints(kLHintsLeft |kLHintsCenterY , 0, 0, 0,0)); } } vf2->AddFrame(new TGHorizontal3DLine(vf2), new TGLayoutHints(kLHintsExpandX ,4 ,8, 8, 2)); //============================================================================== // geom colors // { TGLabel* xx = new TGLabel(vf2, "DetectorColors ", fTextGC->GetGC()); vf2->AddFrame(xx, new TGLayoutHints(kLHintsLeft,2,2,8,0)); } TGHSlider* transpWidget2D = 0; TGHSlider* transpWidget3D = 0; TGCompositeFrame* top = new TGVerticalFrame(vf2); vf2->AddFrame(top, new TGLayoutHints(kLHintsNormal, 2, 2, 2, 0)); { TGHorizontalFrame* hf = new TGHorizontalFrame(top); hf->AddFrame(new TGLabel(hf, "Tansparency 2D:"), new TGLayoutHints(kLHintsBottom, 2, 2, 3, 3)); transpWidget2D = new TGHSlider(hf, 100, kSlider1); hf->AddFrame( transpWidget2D); top->AddFrame(hf,new TGLayoutHints( kLHintsNormal, 0, 0, 2, 2)); } { TGHorizontalFrame* hf = new TGHorizontalFrame(top); hf->AddFrame(new TGLabel(hf, "Tansparency 3D:") , new TGLayoutHints(kLHintsBottom,2, 2, 2, 2 )); transpWidget3D = new TGHSlider(hf, 100, kSlider1); hf->AddFrame( transpWidget3D); top->AddFrame(hf, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 10)); } std::string names[kFWGeomColorSize]; names[kFWPixelBarrelColorIndex ] = "Pixel Barrel"; names[kFWPixelEndcapColorIndex ] = "Pixel Endcap" ; names[kFWTrackerBarrelColorIndex ] = "Tracker Barrel"; names[kFWTrackerEndcapColorIndex ] = "Tracker Endcap"; names[kFWMuonBarrelLineColorIndex] = "Muon Barrel"; names[kFWMuonEndcapLineColorIndex] = "Muon Endcap"; int i = 0; for (int k = 0; k < 3; ++k) { TGHorizontalFrame* hf = new TGHorizontalFrame(top); top->AddFrame(hf); for (int j = 0 ; j < 2; ++j) { m_colorSelectWidget[i] = new FWColorSelect(hf, names[i].c_str(), 0, m_common->colorManager(), i); hf->AddFrame(m_colorSelectWidget[i]); m_colorSelectWidget[i]->SetColorByIndex(m_common->colorManager()->geomColor(FWGeomColorIndex(i)), kFALSE); m_colorSelectWidget[i]->Connect("ColorChosen(Color_t)", "CmsShowCommonPopup", this, "changeGeomColor(Color_t)"); TGFrame* lf = new TGHorizontalFrame(hf, 100, 16, kFixedSize); TGLabel* label = new TGLabel(lf, m_colorSelectWidget[i]->label().c_str()); label->SetTextFont(smallFont); hf->AddFrame(lf, new TGLayoutHints(kLHintsLeft |kLHintsCenterY , 0, 0, 0,0)); ++i; } } //============================================================================== m_backgroundButton->Connect("Clicked()", "CmsShowCommonPopup", this, "switchBackground()"); transpWidget2D->SetRange(0, 100); transpWidget2D->SetPosition(m_common->colorManager()->geomTransparency(true)); transpWidget2D->Connect("PositionChanged(Int_t)", "CmsShowCommonPopup", this, "changeGeomTransparency2D(Int_t)"); transpWidget3D->SetRange(0, 100); transpWidget3D->SetPosition(m_common->colorManager()->geomTransparency(false)); transpWidget3D->Connect("PositionChanged(Int_t)", "CmsShowCommonPopup", this, "changeGeomTransparency3D(Int_t)"); SetWindowName("Common Preferences"); MapSubwindows(); Resize(GetDefaultSize()); Layout(); CenterOnParent(kTRUE, TGTransientFrame::kTopRight); }
CmsShowCommonPopup::~CmsShowCommonPopup | ( | ) | [virtual] |
Definition at line 219 of file CmsShowCommonPopup.cc.
{ }
CmsShowCommonPopup::CmsShowCommonPopup | ( | const CmsShowCommonPopup & | ) | [private] |
void CmsShowCommonPopup::changeGeomColor | ( | Color_t | iColor | ) |
Definition at line 231 of file CmsShowCommonPopup.cc.
References fwrapper::cs, m_common, and CmsShowCommon::setGeomColor().
{ TGColorSelect *cs = (TGColorSelect *) gTQSender; FWGeomColorIndex cidx = FWGeomColorIndex(cs->WidgetId()); m_common->setGeomColor(cidx, iColor); }
void CmsShowCommonPopup::changeGeomTransparency2D | ( | int | iTransp | ) |
Definition at line 258 of file CmsShowCommonPopup.cc.
References m_common, and CmsShowCommon::setGeomTransparency().
{ m_common->setGeomTransparency(iTransp, true); }
void CmsShowCommonPopup::changeGeomTransparency3D | ( | int | iTransp | ) |
Definition at line 264 of file CmsShowCommonPopup.cc.
References m_common, and CmsShowCommon::setGeomTransparency().
{ m_common->setGeomTransparency(iTransp, false); }
void CmsShowCommonPopup::changeSelectionColorSet | ( | Color_t | idx | ) |
Definition at line 240 of file CmsShowCommonPopup.cc.
References CmsShowCommon::colorManager(), fwrapper::cs, FWColorManager::isColorSetDark(), m_common, and v.
{ TGColorSelect *cs = (TGColorSelect *) gTQSender; //printf("~~~~~ changeSelectionColorSet sel[%d] idx[%d]\n", cs->WidgetId(), idx); for (TEveElement::List_i it = gEve->GetViewers()->BeginChildren(); it != gEve->GetViewers()->EndChildren(); ++it) { TGLViewer* v = ((TEveViewer*)(*it))->GetGLViewer(); TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ? v->RefDarkColorSet():v->RefLightColorSet(); colorset.Selection(cs->WidgetId()).SetColor(idx); colorset.Selection(cs->WidgetId()+1).SetColor(idx); // implied selected/higlighted } }
CmsShowCommonPopup::ClassDef | ( | CmsShowCommonPopup | , |
0 | |||
) |
virtual void CmsShowCommonPopup::CloseWindow | ( | ) | [inline, virtual] |
Definition at line 33 of file CmsShowCommonPopup.h.
{ UnmapWindow(); }
void CmsShowCommonPopup::colorSetChanged | ( | ) |
Definition at line 272 of file CmsShowCommonPopup.cc.
References CmsShowCommon::colorManager(), FWColorManager::geomColor(), getColorSetColors(), i, kFWGeomColorSize, m_colorRnrCtxHighlightWidget, m_colorRnrCtxSelectWidget, m_colorSelectWidget, m_common, and FWColorSelect::SetColorByIndex().
Referenced by FWGUIManager::finishUpColorChange().
{ for (int i = 0 ; i < kFWGeomColorSize; ++i) m_colorSelectWidget[i]->SetColorByIndex(m_common->colorManager()->geomColor(FWGeomColorIndex(i)), kFALSE); int hci, sci; getColorSetColors(hci, sci); //printf("=============== colorSetChanged() dark ? [%d] %d %d \n",m_common->colorManager()->isColorSetDark(), hci, sci); m_colorRnrCtxHighlightWidget->SetColorByIndex(hci , kFALSE); m_colorRnrCtxSelectWidget->SetColorByIndex(sci , kFALSE); }
void CmsShowCommonPopup::getColorSetColors | ( | int & | hci, |
int & | sci | ||
) | [private] |
Definition at line 284 of file CmsShowCommonPopup.cc.
References CmsShowCommon::colorManager(), glc, FWColorManager::isColorSetDark(), and m_common.
Referenced by CmsShowCommonPopup(), and colorSetChanged().
{ TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ? gEve->GetDefaultGLViewer()->RefDarkColorSet(): gEve->GetDefaultGLViewer()->RefLightColorSet(); { TGLColor& glc = colorset.Selection(3); hci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue()); // printf("getSHcolors HIGH %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), hci); }{ TGLColor& glc = colorset.Selection(1); sci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue()); // printf("getSHcolors SEL %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), sci); } }
void CmsShowCommonPopup::makeSetter | ( | TGCompositeFrame * | frame, |
FWParameterBase * | param | ||
) | [private] |
Definition at line 300 of file CmsShowCommonPopup.cc.
References m_setters, and FWParameterSetterBase::makeSetterFor().
Referenced by CmsShowCommonPopup().
{ boost::shared_ptr<FWParameterSetterBase> ptr( FWParameterSetterBase::makeSetterFor(param) ); ptr->attach(param, this); TGFrame* pframe = ptr->build(frame); frame->AddFrame(pframe, new TGLayoutHints(kLHintsExpandX, 0, 0, 2,2)); m_setters.push_back(ptr); }
const CmsShowCommonPopup& CmsShowCommonPopup::operator= | ( | const CmsShowCommonPopup & | ) | [private] |
void CmsShowCommonPopup::switchBackground | ( | ) |
Definition at line 224 of file CmsShowCommonPopup.cc.
References m_common, and CmsShowCommon::switchBackground().
{ m_common->switchBackground(); }
TGTextButton* CmsShowCommonPopup::m_backgroundButton [private] |
Definition at line 54 of file CmsShowCommonPopup.h.
Referenced by CmsShowCommonPopup().
Definition at line 60 of file CmsShowCommonPopup.h.
Referenced by CmsShowCommonPopup(), and colorSetChanged().
Definition at line 61 of file CmsShowCommonPopup.h.
Referenced by CmsShowCommonPopup(), and colorSetChanged().
FWColorSelect* CmsShowCommonPopup::m_colorSelectWidget[kFWGeomColorSize] [private] |
Definition at line 59 of file CmsShowCommonPopup.h.
Referenced by CmsShowCommonPopup(), and colorSetChanged().
CmsShowCommon* CmsShowCommonPopup::m_common [private] |
Definition at line 52 of file CmsShowCommonPopup.h.
Referenced by changeGeomColor(), changeGeomTransparency2D(), changeGeomTransparency3D(), changeSelectionColorSet(), CmsShowCommonPopup(), colorSetChanged(), getColorSetColors(), and switchBackground().
TGTextButton* CmsShowCommonPopup::m_gammaButton [private] |
Definition at line 56 of file CmsShowCommonPopup.h.
TGHSlider* CmsShowCommonPopup::m_gammaSlider [private] |
Definition at line 55 of file CmsShowCommonPopup.h.
std::vector<boost::shared_ptr<FWParameterSetterBase> > CmsShowCommonPopup::m_setters [private] |
Definition at line 62 of file CmsShowCommonPopup.h.
Referenced by makeSetter().