63 table_[
'F'] =
"FileInPath";
66 table_[
'g'] =
"ESInputTag";
67 table_[
'G'] =
"VESInputTag";
70 table_[
'm'] =
"VLuminosityBlockID";
71 table_[
'M'] =
"LuminosityBlockID";
72 table_[
'a'] =
"VLuminosityBlockRange";
73 table_[
'A'] =
"LuminosityBlockRange";
74 table_[
'r'] =
"VEventRange";
75 table_[
'R'] =
"EventRange";
77 for(CodeMap::const_iterator itCode =
table_.begin(), itCodeEnd =
table_.end();
96 hc->SetForeground(0xdddddd);
147 std::stringstream ss;
149 for (
size_t i = 0,
e = entry.
vpset().size();
i !=
e; ++
i)
152 ss << key <<
"[" <<
i <<
"]";
154 vdata.
label = ss.str();
174 typedef edm::ParameterSet::table::const_iterator TIterator;
175 for (TIterator
i = ps.
tbl().begin(),
e = ps.
tbl().end();
i !=
e; ++
i)
178 typedef edm::ParameterSet::psettable::const_iterator PSIterator;
182 typedef edm::ParameterSet::vpsettable::const_iterator VPSIterator;
190 std::stringstream ss;
192 data.
value = ss.str();
196 template <
typename T>
199 std::stringstream ss;
201 for (
size_t ii = 0, ie = v.size();
ii != ie; ++
ii)
212 data.
value = ss.str();
218 std::stringstream ss;
227 if (data.
label[0] ==
'@')
309 throw std::runtime_error(
"FWPSetTableManager::handleEntryGet, entry type 'p' not expected.");
318 throw std::runtime_error(
"FWPSetTableManager::handleEntry, entry type 'P not expected.");
330 std::vector<std::string> tags;
332 for (
size_t iti = 0, ite = tags.size(); iti != ite; ++iti)
345 std::vector<std::string> tags;
347 for (
size_t iti = 0, ite = tags.size(); iti != ite; ++iti)
360 std::vector<edm::EventID> ids;
362 for (
size_t iri = 0, ire = ids.size(); iri != ire; ++iri )
376 std::vector<edm::LuminosityBlockID> ids;
378 for (
size_t iri = 0, ire = ids.size(); iri != ire; ++iri )
392 std::vector<edm::LuminosityBlockRange>
ranges;
394 for (
size_t iri = 0, ire = ranges.size(); iri != ire; ++iri )
408 std::vector<edm::EventRange>
ranges;
410 for (
size_t iri = 0, ire = ranges.size(); iri != ire; ++iri )
445 pathEntry.
label = pathName;
448 pathEntry.
value =
"Path";
463 std::vector<std::string> pathModules;
466 for (
size_t mi = 0, me = pathModules.size(); mi != me; ++mi)
473 const edm::ParameterSet::table::const_iterator ti = pst.find(
"@module_edm_type");
475 moduleEntry.
value =
"Unknown module name";
477 moduleEntry.
value = ti->second.getString();
479 moduleEntry.
label = pathModules[mi];
483 moduleEntry.
path =
i;
489 moduleInfo.
passed =
false;
490 moduleInfo.
dirty =
false;
525 for (
size_t mi = 0, me =
m_modules.size(); mi != me; ++mi)
529 for (
size_t pui = 0, pue = pathUpdates.size(); pui != pue; ++pui)
613 m_editor->SetForegroundColor(gVirtualX->GetPixel(kRed));
625 return "Modules & their parameters";
630 std::vector<std::string> returnValue;
632 returnValue.push_back(
"Label");
633 returnValue.push_back(
"Value");
676 if (iColumn == 1 && iRow > 0 )
698 if (ww.size() > 1 && ww[1] > 0)
739 const static size_t maxSize = 512;
745 const static Pixel_t gray = 0x777777;
746 const static Pixel_t
red = gVirtualX->GetPixel(kRed-5);
747 const static Pixel_t
green = gVirtualX->GetPixel(kGreen-5);
768 gc->SetForeground(path.
passed ? green: red);
770 else if (data.
level == 1)
776 gc->SetForeground(module.
passed ? green : red);
793 gc->SetForeground(gray);
798 if (iCol == 1 && value.size() >=
maxSize)
801 fwLog(
fwlog::kWarning) <<
"label: " << label <<
" has too long value " << value << std::endl << std::endl;
803 value = value.substr(0, maxSize);
804 value +=
"[truncated]";
805 gc->SetForeground(gVirtualX->GetPixel(kMagenta));
817 bool isParent =
false;
824 size_t nextIdx = unsortedRow + 1;
825 isParent = (nextIdx <
m_entries.size() &&
m_entries[nextIdx].parent == (size_t)unsortedRow);
834 indent = data.
level * 10 ;
883 std::vector<int>
stack;
884 int previousLevel = 0;
889 if (data.
parent == (
size_t)-1)
905 if (data.
level > previousLevel)
906 stack.push_back(data.
parent);
908 for (
size_t pi = 0, pe = previousLevel - data.
level;
pi != pe; ++
pi)
914 for (
size_t pi = 0, pe = stack.size();
pi != pe; ++
pi)
922 previousLevel = data.
level;
951 if (data.
parent == ((
size_t) -1))
int selectedColumn() const
void modulesInPath(const std::string &iPathLabel, std::vector< std::string > &oLabelsToFill) const
add to oLabelsToFill in execution order the labels of all modules in path iPathLabel ...
std::vector< unsigned > getVUInt32() const
std::vector< double > getVDouble() const
void recalculateVisibility()
virtual FWTableCellRendererBase * cellRenderer(int iSortedRowNumber, int iCol) const
std::vector< std::string > m_availablePaths
virtual std::vector< unsigned int > maxWidthForColumns() const
for each column in the table this returns the present maximum width for that column ...
std::vector< unsigned long long > getVUInt64() const
std::vector< LuminosityBlockID > getVLuminosityBlockID() const
static TypeTrans const sTypeTranslations
std::vector< PathInfo > m_paths
std::vector< std::string > CodeMap
virtual bool rowIsSelected(int row) const
virtual void implSort(int, bool)
Called by 'sort' method to actually handle the sorting of the rows. Arguments are the same as 'sort'...
FWTextTreeCellRenderer m_renderer
unsigned getUInt32() const
std::vector< size_t > m_parentStack
std::vector< InputTag > getVInputTag() const
edm::ParameterSet * orig_pset
std::vector< int > & rowToIndex()
void setIsOpen(bool value)
virtual ~FWPSetTableManager()
void handlePSetEntry(edm::ParameterSetEntry &entry, const std::string &key)
void setExpanded(int row)
void createVectorString(FWPSetTableManager::PSetData &data, const T &v, bool quotes)
void dataChanged()
Classes which inherit from FWTableManagerBase must call this when their underlying data changes...
std::vector< ParameterSet > & vpsetForUpdate()
std::vector< ModuleInfo > m_modules
LuminosityBlockRange getLuminosityBlockRange() const
virtual std::vector< unsigned int > maxWidthForColumns() const
for each column in the table this returns the present maximum width for that column ...
std::vector< EventID > getVEventID() const
virtual const std::string title() const
unsigned long long getUInt64() const
std::map< std::string, size_t > m_pathIndex
std::vector< PSetData > & data()
void handleVPSetEntry(edm::VParameterSetEntry &entry, const std::string &key)
static const TGGC & getDefaultGC()
std::vector< int > m_row_to_index
std::vector< PSetData > m_entries
void setHighlightContext(const TGGC *context)
virtual void setCellEditor(TGTextEntry *editor)
virtual std::vector< std::string > getTitles() const
returns the title names for each column
InputTag getInputTag() const
std::map< std::string, char > type2Code_
bool apply(FWPSetTableManager::PSetData &data, FWPSetTableManager::PSetData &parent)
void handleEntry(const edm::Entry &entry, const std::string &key)
static const TGGC & getDefaultHighlightGC()
std::vector< ParameterSet > const & vpset() const
returns the VPSet
std::vector< long long > getVInt64() const
void handlePSet(edm::ParameterSet *psp)
std::vector< ESInputTag > getVESInputTag() const
void setGraphicsContext(const TGGC *iContext)
FWPSetCellEditor * m_editor
void setIsParent(bool value)
std::vector< EventRange > getVEventRange() const
virtual void setIndentation(int indentation=0)
void updateSchedule(const edm::ScheduleInfo *info)
void createScalarString(PSetData &data, T v)
void setData(const std::string &, bool isSelected)
FileInPath getFileInPath() const
psettable const & psetTable() const
virtual void updateFilter(const char *filter)
const edm::ParameterSet * parametersForModule(const std::string &iLabel) const
std::vector< int > getVInt32() const
void setCellValueEditor(FWPSetCellEditor *editor)
std::map< std::string, Entry > table
LuminosityBlockID getLuminosityBlockID() const
ParameterSet & psetForUpdate()
vpsettable const & vpsetTable() const
EventRange getEventRange() const
void update(std::vector< PathUpdate > &pathUpdates)
void visualPropertiesChanged()
Classes which inherit from FWTableManagerBase must call this when how the data is shown (e...
virtual int unsortedRowNumber(int unsorted) const
when passed the index to the sorted order of the rows it returns the original row number from the und...
std::vector< LuminosityBlockRange > getVLuminosityBlockRange() const
void setSelection(int row, int column, int mask)
ESInputTag getESInputTag() const
virtual unsigned int cellHeight() const
require all cells to be the same height
std::string relativePath() const
table const & tbl() const
virtual int numberOfColumns() const
Number of columns in the table.
virtual int numberOfRows() const
Number of rows in the table.
std::vector< std::string > getVString() const
void availablePaths(std::vector< std::string > &oLabelsToFill) const
adds to oLabelsToFill the labels for all paths in the process
std::string getString() const
edm::ParameterSet * current_pset
virtual void showEditor(bool value)
EventID getEventID() const