17 #include "KeySymbols.h"
19 #include "Reflex/Object.h"
20 #include "Reflex/Type.h"
64 m_selectionManager(iSM),
65 m_detailViewManager(iDVM),
70 m_afterViewSeperator(0),
73 m_nDetailViewEntries(0),
106 class change_visibility {
108 change_visibility(
bool iIsVisible): m_isVisible(iIsVisible) {}
109 void operator()(
const FWModelId& iID)
const {
137 std::vector<Color_t>
colors;
146 using namespace Reflex;
148 Type rtype(ROOT::Reflex::Type::ByName(
id.item()->modelType()->GetName()));
149 Object
o(rtype, const_cast<void *>(
id.item()->modelData(
id.
index())));
156 const char*
cmd = Form(
"FWGUIManager::OStream() << *(%s*)%p ;",
id.item()->modelType()->GetName(), (
void*)
id.item()->modelData(
id.
index()));
159 gROOT->ProcessLine(
cmd);
185 assert(0!=viewChoices.size());
201 FWDisplayProperties changeProperties = it->item()->modelInfo(it->index()).displayProperties();
203 it->item()->setDisplayProperties(it->index(), changeProperties);
258 using namespace Reflex;
259 ROOT::Reflex::Type rtype(ROOT::Reflex::Type::ByName(
id.item()->modelType()->GetName()));
260 ROOT::Reflex::Object
o(rtype, const_cast<void *>(
id.item()->modelData(
id.
index())));
261 EMEMBERQUERY inh = INHERITEDMEMBERS_ALSO;
262 if ( rtype.FunctionMemberByName(
"print",
Type(Type::ByName(
"void (std::ostream&)"), CONST), 0 , inh))
275 if(viewChoices.size()>0) {
278 index != viewChoices.size();
284 const std::string kStart(
"Open ");
285 const std::string kEnd(
" Detail View ...");
339 "FWModelContextMenuHandler",
340 const_cast<FWModelContextMenuHandler*>(
this),
341 "chosenItem(Int_t)");
349 std::vector<Color_t>
colors;
354 m_colorPopup->Connect(
"ColorSelected(Color_t)",
"FWModelContextMenuHandler", const_cast<FWModelContextMenuHandler*>(
this),
"colorChangeRequested(Color_t)");
const std::set< FWModelId > & selected() const
FWModelContextMenuHandler(FWSelectionManager *, FWDetailViewManager *, FWColorManager *, FWGUIManager *)
void setColor(Color_t iColor)
FWSelectionManager * m_selectionManager
TGMenuEntry * m_seperator
unsigned int m_nDetailViewEntries
unsigned int m_nViewEntries
void setDisplayProperties(int iIndex, const FWDisplayProperties &) const
void createModelContext() const
FWColorManager * m_colorManager
std::vector< Color_t > colors
void fillLimitedColors(std::vector< Color_t > &cv) const
TGPopupMenu * m_modelPopup
void showEDIFrame(int iInfoToShow=-1)
Allowed values are -1 or ones from FWDataCategories enum.
virtual void select(int iEntryIndex, const FWModelId &id, int iX, int iY)=0
static const char *const kOpenDetailView
BackgroundColorIndex backgroundColorIndex() const
void colorChangeRequested(Color_t)
virtual ~FWModelContextMenuHandler()
TGMenuEntry * m_afterViewSeperator
FWGUIManager * m_guiManager
FWViewContextMenuHandlerBase * m_viewHander
void showSelectedModelContext(Int_t iX, Int_t iY, FWViewContextMenuHandlerBase *) const
NOTE: iX and iY are in global coordinates.
void addTo(FWModelContextMenuHandler &, const FWModelId &id)
TGMenuEntry * m_viewSeperator
std::vector< std::string > detailViewsFor(const FWModelId &) const
FWDetailViewManager * m_detailViewManager
void addViewEntry(const char *, int, bool enabled=true)
void openDetailViewFor(const FWModelId &, const std::string &)
ModelInfo modelInfo(int iIndex) const
void setIsVisible(bool iSet)
FWColorPopup * m_colorPopup
void createColorPopup() const
const FWEventItem * item() const