19 #include <sigc++/sigc++.h>
20 #include <boost/bind.hpp>
59 TGTransientFrame(gClient->GetDefaultRoot(),p,w,h),
60 m_detailViewManager(iManager),
61 m_colorManager(iColorMgr),
66 SetCleanup(kDeepCleanup);
68 TGVerticalFrame* vf =
new TGVerticalFrame(
this);
69 AddFrame(vf,
new TGLayoutHints(kLHintsExpandX|kLHintsExpandY, 2, 2, 2, 4));
85 TGTextButton *detailedViewButton =
new TGTextButton(
this,
"Open Detailed View", 0);
86 AddFrame(detailedViewButton,
new TGLayoutHints(kLHintsExpandX, 4, 4, 4, 4));
89 m_colorSelectWidget->Connect(
"ColorChosen(Color_t)",
"CmsShowModelPopup",
this,
"changeModelColor(Color_t)");
90 m_isVisibleButton->Connect(
"Toggled(Bool_t)",
"CmsShowModelPopup",
this,
"toggleModelVisible(Bool_t)");
92 this,
"changeModelOpacity(Int_t)");
94 SetWindowName(
"Object Controller");
96 Resize(GetDefaultSize());
110 m_colorSelectWidget->Disconnect(
"ColorSelected(Pixel_t)",
this,
"changeModelColor(Pixel_t)");
111 m_opacitySlider->Disconnect(
"PositionChanged(Int_t)",
this,
"changeModelOpacity(Int_t)");
112 m_isVisibleButton->Disconnect(
"Toggled(Bool_t)",
this,
"toggleModelVisible(Bool_t)");
144 bool multipleNames =
false, multipleColors =
false, multipleVis =
false,
145 multipleTransparecy =
false;
148 std::set<FWModelId>::const_iterator
id =
m_models.begin();
158 for (std::set<FWModelId>::const_iterator
i = ++(
m_models.begin()),
164 multipleNames = multipleNames || (item->
name() !=
i->item()->name());
165 multipleColors = multipleColors || (props.
color() != nextProps.
color());
167 multipleTransparecy = multipleTransparecy
172 std::ostringstream
s;
195 TGTextButton *button;
199 button =
new TGTextButton(
this,
"dummy",
index);
200 AddFrame(button,
new TGLayoutHints(kLHintsExpandX, 4, 4, 4, 4));
201 TGCompositeFrame* cf = (TGCompositeFrame*)button->GetParent();
206 button->Connect(
"Clicked()",
"CmsShowModelPopup",
this,
"clicked()");
209 else if (!viewChoices.empty())
212 for (
size_t i = 0,
e = viewChoices.size();
i !=
e; ++
i)
220 for (
size_t i = 0,
e = viewChoices.size();
i !=
e; ++
i)
238 Resize(GetDefaultSize());
322 i->item()->setDisplayProperties(
i->index(), changeProperties);
341 i->item()->setDisplayProperties(
i->index(), changeProperties);
359 i->item()->setDisplayProperties(
i->index(), changeProperties);
374 TGTextButton *
cs =
static_cast<TGTextButton *
>(gTQSender);
375 int iIndex = cs->WidgetId();
const std::set< FWModelId > & selected() const
FWDialogBuilder & addHSlider(size_t size, TGHSlider **out=0)
void setColor(Color_t iColor)
const FWDisplayProperties & displayProperties() const
auto_ptr< ClusterSequence > cs
void SetColorByIndex(Color_t iColor)
std::string modelName(int iIndex) const
const std::string & name() const
FWDialogBuilder & addLabel(const char *text, size_t fontSize=12, size_t weight=0, TGLabel **out=0)
FWItemChangeSignal goingToBeDestroyed_
Char_t transparency() const
FWDialogBuilder & addHSeparator(size_t horizontalPadding=4, size_t verticalPadding=3)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
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 & addCheckbox(const char *text, TGCheckButton **out=0)
FWDialogBuilder & indent(int left=2, int right=-1)
FWDialogBuilder & addColorPicker(const FWColorManager *manager, FWColorSelect **out=0)