54 boost::shared_ptr<FWItemAccessorBase> iAccessor,
60 m_purpose(iDesc.purpose()),
61 m_accessor(iAccessor),
62 m_displayProperties(iDesc.displayProperties()),
63 m_layer(iDesc.layer()),
64 m_moduleLabel(iDesc.moduleLabel()),
65 m_productInstanceLabel(iDesc.productInstanceLabel()),
68 m_interestingValueGetter(edm::TypeWithDict(*(m_accessor->modelType()->GetTypeInfo())), m_purpose),
69 m_filter(iDesc.filterExpression(),
""),
70 m_showFilteredEntries(showFiltered),
71 m_printedErrorThisEvent(
false),
73 m_proxyBuilderConfig(0)
162 if(!visChange && !colorChanged && !transparencyChanged) {
174 bool changed =
false;
175 changed = visChange && vis;
183 if (transparencyChanged) {
221 std::vector<ModelInfo>::iterator itInfo =
m_itemInfos.begin();
224 bool changed =
false;
225 bool wasVisible = itInfo->m_displayProperties.isVisible();
227 itInfo->m_displayProperties.setIsVisible(
false);
228 itInfo->m_displayProperties.setFilterPassed(
false);
229 changed = wasVisible==
true;
232 itInfo->m_displayProperties.setIsVisible(
true);
233 itInfo->m_displayProperties.setFilterPassed(
true);
234 changed = wasVisible==
false;
243 std::cerr <<
"Exception occurred while running filter on "<<
name()<<
"\n"
244 <<iException.what()<<std::endl;
302 std::vector<ModelInfo>::iterator itInfo =
m_itemInfos.begin();
304 if( itInfo->m_displayProperties.isVisible() ) {
305 itInfo->m_displayProperties.setIsVisible(
false);
310 m_itemInfos.at(iIndex).m_displayProperties.setIsVisible(
true);
324 int largest =
layer();
329 if ((*it) && (*it !=
this) && (*it)->layer() > largest) {
330 largest= (*it)->layer();
334 if(largest >=
layer()) {
347 int smallest =
layer();
352 if((*it) && (*it !=
this) && (*it)->layer() < smallest) {
353 smallest= (*it)->layer();
357 if(smallest <=
layer()) {
431 std::ostringstream
s;
432 s <<
"Failed to get " <<
name() <<
" because \n" <<iException.what();
483 if((*it) && (*it !=
this) && (*it)->layer() >=
layer()) {
498 if((*it) && (*it !=
this) && (*it)->layer() <=
layer()) {
590 std::ostringstream
s;
591 size_t lastChar =
name().size();
593 if(
name()[lastChar-1]==
's') {
596 s<<
name().substr(0,lastChar)<<
" "<<iIndex;
bool passesFilter(const void *) const
FWItemChangeSignal preItemChanged_
const FWDisplayProperties & defaultDisplayProperties() const
void setColor(Color_t iColor)
FWModelChangeManager * changeManager() const
void select(const FWModelId &iId)
const FWEventItemsManager * eventItemsManager() const
void moveToLayer(int layer)
std::string modelName(int iIndex) const
void setEvent(const edm::EventBase *iEvent)
const std::string & name() const
FWEventItem(fireworks::Context *iContext, unsigned int iItemId, boost::shared_ptr< FWItemAccessorBase > iAccessor, const FWPhysicsObjectDesc &iDesc, bool showFiltered=true, const FWConfiguration *pbConf=0)
FWItemValueGetter m_interestingValueGetter
const FWGeometry * getGeom() const
void proxyConfigChanged()
void setDisplayProperties(int iIndex, const FWDisplayProperties &) const
const std::string & filterExpression() const
FWItemChangeSignal defaultDisplayPropertiesChanged_
bool haveInterestingValue() const
void getPrimaryData() const
void unselect(int iIndex) const
FWItemChangeSignal goingToBeDestroyed_
boost::shared_ptr< FWItemAccessorBase > m_accessor
const fireworks::Context * m_context
const std::string & expression() const
bool itemIsSelected() const
const std::string & processName() const
void setLabels(const std::string &iModule, const std::string &iProductInstance, const std::string &iProcess)
std::string m_moduleLabel
static int maxLayerValue()
const void * data(const std::type_info &) const
bool m_showFilteredEntries
void setShowFilteredEntries(bool x)
Char_t transparency() const
void setDefaultDisplayProperties(const FWDisplayProperties &)
const std::string & productInstanceLabel() const
void handleChange(bool filterUpdate=true)
std::string m_processName
void setClassName(const std::string &)
const TClass * type() const
FWProxyBuilderConfiguration * m_proxyBuilderConfig
void unselectItem(FWEventItem *)
void unselect(const FWModelId &iId)
void setData(const edm::ObjectWithDict &) const
const std::string & modelInterestingValueAsString(int iIndex) const
static int minLayerValue()
bool m_printedErrorThisEvent
bool hasError() const
returns true if failed to get data for this event
FWSelectionManager * selectionManager() const
void toggleSelect(int iIndex) const
void changed(const FWModelId &)
const_iterator begin() const
NOTE: iterator is allowed to return a null object for items that have been removed.
bool isInBack() const
returns true if item is behind all other items
void setExpression(const std::string &)
FWDisplayProperties m_displayProperties
bool isInFront() const
returns true if item is in front of all other items
void setFilterExpression(const std::string &)
void setTransparency(Char_t transparency)
const edm::EventBase * m_event
std::string m_errorMessage
bool getByLabel(InputTag const &, Handle< T > &) const
bool isCollection() const
const TClass * modelType() const
const std::string & errorMessage() const
returns error string if there was a problem this event
std::vector< ModelInfo > m_itemInfos
const std::string & getToolTip(const void *iObject) const
void select(int iIndex) const
volatile std::atomic< bool > shutdown_flag false
const void * modelData(int iIndex) const
ModelInfo modelInfo(int iIndex) const
void setIsVisible(bool iSet)
const std::string & purpose() const
void setName(const std::string &iName)
std::vector< FWEventItem * >::const_iterator const_iterator
std::string m_productInstanceLabel
const FWGeometry * getGeom() const
const std::string & moduleLabel() const
void selectItem(FWEventItem *)
const_iterator end() const
FWItemChangeSignal filterChanged_