28 #include <boost/python/errors.hpp> 30 #include "KeySymbols.h" 40 : TGMainFrame(gClient->GetRoot(), 400, 600),
50 gVirtualX->SelectInput(GetId(), kKeyPressMask | kKeyReleaseMask | kExposureMask |
51 kPointerMotionMask | kStructureNotifyMask | kFocusChangeMask |
52 kEnterWindowMask | kLeaveWindowMask);
53 this->Connect(
"CloseWindow()",
"FWPathsPopup",
this,
"windowIsClosing()");
65 editor->SetBackgroundColor(gVirtualX->GetPixel(kYellow-7));
66 editor->SetFrameDrawn(
false);
68 m_psTable->
m_editor->Connect(
"ReturnPressed()",
"FWPathsPopup",
this,
"applyEditor()");
70 m_apply->Connect(
"Clicked()",
"FWPathsPopup",
this,
"scheduleReloadEvent()");
73 m_search->Connect(
"TextChanged(const char *)",
"FWPathsPopup",
74 this,
"updateFilterString(const char *)");
78 m_tableWidget->Connect(
"cellClicked(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t)",
80 "cellClicked(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t)");
83 SetWindowName(
"CMSSW Configuration Editor");
85 editor->UnmapWindow();
96 UInt_t keysym =
event->fCode;
98 if (keysym == (UInt_t) gVirtualX->KeysymToKeycode(kKey_Escape))
104 return TGMainFrame::HandleKey(event);
126 if (iButton != kButton1)
130 if (iColumn == 0 || iColumn == 1)
171 gSystem->ProcessEvents();
179 gSystem->ProcessEvents();
187 gSystem->ProcessEvents();
202 event.getByLabel(tag, triggerResults);
204 std::vector<FWPSetTableManager::PathUpdate> pathUpdates;
210 for (
size_t i = 0,
e = triggerResults->
size();
i !=
e; ++
i)
216 pathUpdates.push_back(update);
245 if (module.
dirty ==
false)
254 catch (boost::python::error_already_set
const&)
collection_type::const_iterator const_iterator
int selectedColumn() const
std::vector< ModuleInfo > & modules()
FWDialogBuilder & addTextButton(const char *text, TGTextButton **out=nullptr)
bool accept() const
Has at least one path accepted the event?
std::vector< int > & rowToIndex()
void pythonToCppException(const std::string &iType)
std::string const & moduleName() const
char const * what() const override
void setExpanded(int row)
void dataChanged()
Classes which inherit from FWTableManagerBase must call this when their underlying data changes...
void updateStatus(const char *status)
FWDialogBuilder & addLabel(const char *text, size_t fontSize=12, size_t weight=0, TGLabel **out=nullptr)
Strings const & triggerNames() const
void requestChanges(const std::string &, const edm::ParameterSet &)
std::vector< PSetData > & data()
unsigned int size() const
Get number of paths stored.
ProcessHistory const & processHistory() const override
unsigned int index(const unsigned int i) const
Get index (slot position) of module giving the decision of the ith path.
ModuleDescription const * moduleDescription() const
static std::string const triggerResults
FWPSetCellEditor * m_editor
void updateSchedule(const edm::ScheduleInfo *info)
FWDialogBuilder & addTextEntry(const char *defaultText, TGTextEntry **out)
virtual void updateFilter(const char *filter)
FWDialogBuilder & floatLeft(size_t spacing=3)
std::string const & triggerName(unsigned int index) const
FWDialogBuilder & addTable(FWTableManagerBase *manager, FWTableWidget **out=nullptr)
void setCellValueEditor(FWPSetCellEditor *editor)
FWDialogBuilder & expand(size_t expandX=true, size_t expandY=false)
char data[epos_bytes_allocation]
void update(std::vector< PathUpdate > &pathUpdates)
void setSelection(int row, int column, int mask)
FWDialogBuilder & indent(int left=2, int right=-1)
std::vector< PSetData > & entries()
FWDialogBuilder & spaceDown(size_t spacing=3)
edm::ParameterSet * current_pset