18 #include <sigc++/sigc++.h> 19 #include <boost/bind.hpp> 60 : TGTransientFrame(gClient->GetDefaultRoot(), p, w, h),
61 m_detailViewManager(iManager),
62 m_colorManager(iColorMgr),
66 SetCleanup(kDeepCleanup);
68 TGVerticalFrame *vf =
new TGVerticalFrame(
this);
69 AddFrame(vf,
new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 2, 2, 2, 4));
86 TGTextButton *detailedViewButton =
new TGTextButton(
this,
"Open Detailed View", 0);
87 AddFrame(detailedViewButton,
new TGLayoutHints(kLHintsExpandX, 4, 4, 4, 4));
90 m_colorSelectWidget->Connect(
"ColorChosen(Color_t)",
"CmsShowModelPopup",
this,
"changeModelColor(Color_t)");
91 m_isVisibleButton->Connect(
"Toggled(Bool_t)",
"CmsShowModelPopup",
this,
"toggleModelVisible(Bool_t)");
92 m_opacitySlider->Connect(
"PositionChanged(Int_t)",
"CmsShowModelPopup",
this,
"changeModelOpacity(Int_t)");
94 SetWindowName(
"Object Controller");
96 Resize(GetDefaultSize());
109 m_colorSelectWidget->Disconnect(
"ColorSelected(Pixel_t)",
this,
"changeModelColor(Pixel_t)");
110 m_opacitySlider->Disconnect(
"PositionChanged(Int_t)",
this,
"changeModelOpacity(Int_t)");
111 m_isVisibleButton->Disconnect(
"Toggled(Bool_t)",
this,
"toggleModelVisible(Bool_t)");
141 bool multipleNames =
false, multipleColors =
false, multipleVis =
false, multipleTransparecy =
false;
144 std::set<FWModelId>::const_iterator
id =
m_models.begin();
154 for (std::set<FWModelId>::const_iterator
i = ++(
m_models.begin()),
e =
m_models.end();
i !=
e; ++
i) {
158 multipleNames = multipleNames || (item->
name() !=
i->item()->name());
159 multipleColors = multipleColors || (props.
color() != nextProps.
color());
165 std::ostringstream
s;
185 TGTextButton *button;
187 button =
new TGTextButton(
this,
"dummy",
index);
188 AddFrame(button,
new TGLayoutHints(kLHintsExpandX, 4, 4, 4, 4));
189 TGCompositeFrame *cf = (TGCompositeFrame *)button->GetParent();
194 button->Connect(
"Clicked()",
"CmsShowModelPopup",
this,
"clicked()");
196 }
else if (!viewChoices.empty()) {
198 for (
size_t i = 0,
e = viewChoices.size();
i !=
e; ++
i) {
205 for (
size_t i = 0,
e = viewChoices.size();
i !=
e; ++
i) {
206 if (viewChoices[
i][0] ==
'!') {
229 Resize(GetDefaultSize());
298 i->item()->setDisplayProperties(
i->index(), changeProperties);
314 i->item()->setDisplayProperties(
i->index(), changeProperties);
330 i->item()->setDisplayProperties(
i->index(), changeProperties);
341 TGTextButton *
cs =
static_cast<TGTextButton *
>(gTQSender);
342 int iIndex = cs->WidgetId();
const std::set< FWModelId > & selected() const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void setColor(Color_t iColor)
const FWDisplayProperties & displayProperties() const
void SetColorByIndex(Color_t iColor)
std::string modelName(int iIndex) const
const std::string & name() const
unique_ptr< ClusterSequence > cs
FWDialogBuilder & addHSlider(size_t size, TGHSlider **out=nullptr)
FWItemChangeSignal goingToBeDestroyed_
FWDialogBuilder & addLabel(const char *text, size_t fontSize=12, size_t weight=0, TGLabel **out=nullptr)
FWDialogBuilder & addCheckbox(const char *text, TGCheckButton **out=nullptr)
Char_t transparency() const
FWDialogBuilder & addHSeparator(size_t horizontalPadding=4, size_t verticalPadding=3)
std::vector< std::string > detailViewsFor(const FWModelId &) const
FWDialogBuilder & expand(size_t expandX=true, size_t expandY=false)
void setTransparency(Char_t transparency)
void openDetailViewFor(const FWModelId &, const std::string &)
sigc::signal< void, const FWSelectionManager & > selectionChanged_
FWModelChangeSignal changed_
ModelInfo modelInfo(int iIndex) const
void setIsVisible(bool iSet)
FWDialogBuilder & indent(int left=2, int right=-1)
FWDialogBuilder & addColorPicker(const FWColorManager *manager, FWColorSelect **out=nullptr)