CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
CmsShowMainFrame Class Reference

#include <Fireworks/Core/interface/CmsShowMainFrame.h>

Inheritance diagram for CmsShowMainFrame:
CSGActionSupervisor

Public Member Functions

void bindCSGActionKeys (const TGMainFrame *f) const
 
 ClassDef (CmsShowMainFrame, 0)
 
void clearStatusBar ()
 
virtual void CloseWindow ()
 
 CmsShowMainFrame (const TGWindow *p=0, UInt_t w=1, UInt_t h=1, FWGUIManager *m=0)
 
CSGActioncreateNewViewerAction (const std::string &iActionName, bool seaprator)
 
virtual void enableActions (bool enable=true)
 
void enableComplexNavigation (bool enable=true)
 
void enableNavigatorControls ()
 
void enableNext (bool enable=true)
 
void enablePrevious (bool enable=true)
 
float getSummaryViewWeight () const
 
Bool_t HandleKey (Event_t *event)
 
virtual void HandleMenu (Int_t id)
 
void loadEvent (const edm::EventBase &event)
 
CSGContinuousActionloopAction () const
 
bool nextIsEnabled ()
 
CSGContinuousActionplayEventsAction () const
 
CSGContinuousActionplayEventsBackwardsAction () const
 
bool previousIsEnabled ()
 
void quit ()
 
void setPlayDelayGUI (Float_t val, Bool_t sliderChanged)
 
void setSummaryViewWeight (float)
 
void showFWorksInfo ()
 
void updateStatusBar (const char *status)
 
virtual ~CmsShowMainFrame ()
 
- Public Member Functions inherited from CSGActionSupervisor
Bool_t activateMenuEntry (int entry)
 
Bool_t activateToolBarEntry (int entry)
 
void addToActionMap (CSGAction *action)
 
 CSGActionSupervisor ()
 
virtual void defaultAction ()
 
CSGActiongetAction (const std::string &name)
 
const std::vector< CSGAction * > & getListOfActions () const
 
Long_t getToolTipDelay () const
 
void resizeMenu (TGPopupMenu *menu)
 
virtual ~CSGActionSupervisor ()
 

Protected Attributes

FWIntValueListenerm_delaySliderListener
 
FWNumberEntryFieldm_eventEntry
 
FWCustomIconsButtonm_filterEnableBtn
 
const TGPicture * m_filterIcons [9]
 
TGTextButton * m_filterShowGUIBtn
 
FWNumberEntryFieldm_lumiEntry
 
FWNumberEntryFieldm_runEntry
 
- Protected Attributes inherited from CSGActionSupervisor
std::vector< CSGAction * > m_actionList
 

Private Member Functions

 CmsShowMainFrame (const CmsShowMainFrame &)
 
void makeFixedSizeLabel (TGHorizontalFrame *p, const char *txt, UInt_t bgCol, UInt_t txtCol, Int_t width, Int_t height)
 
const CmsShowMainFrameoperator= (const CmsShowMainFrame &)
 

Private Attributes

TGLabel * m_delayLabel
 
TGSlider * m_delaySlider
 
TGMainFrame * m_fworksAbout
 
CSGActionm_fworksInfo
 
CSGActionm_goToFirst
 
CSGActionm_goToLast
 
CSGContinuousActionm_loopAction
 
FWGUIManagerm_manager
 
TGPopupMenu * m_newViewerMenu
 
CSGActionm_nextEvent
 
CSGActionm_playDelay
 
CSGContinuousActionm_playEvents
 
CSGContinuousActionm_playEventsBack
 
CSGActionm_previousEvent
 
TGStatusBar * m_statBar
 
TGLabel * m_timeText
 
Long_t m_tooltipDelay
 

Friends

class FWGUIManager
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 56 of file CmsShowMainFrame.h.

Constructor & Destructor Documentation

CmsShowMainFrame::CmsShowMainFrame ( const TGWindow *  p = 0,
UInt_t  w = 1,
UInt_t  h = 1,
FWGUIManager m = 0 
)

Definition at line 73 of file CmsShowMainFrame.cc.

References filterCSVwithJSON::copy, FWCheckBoxIcon::coreIcondir(), CSGContinuousAction::createCustomIconsButton(), CSGAction::createCustomIconsButton(), FWGUIManager::createList(), CSGAction::createMenuEntry(), CSGAction::createShortcut(), FWGUIManager::createViews(), GOODCOLL_filter_cfg::cut, CSGAction::disable(), alignCSCRings::help, diffTwoXMLs::label, cmsHarvester::loop, m_delayLabel, m_delaySlider, m_delaySliderListener, m_eventEntry, m_filterEnableBtn, m_filterIcons, m_filterShowGUIBtn, m_goToFirst, m_goToLast, m_loopAction, m_lumiEntry, m_manager, m_newViewerMenu, m_nextEvent, m_playEvents, m_playEventsBack, m_previousEvent, m_runEntry, m_statBar, m_timeText, makeFixedSizeLabel(), GetRecoTauVFromDQM_MC_cff::next, quit(), cmsshow::sAppendData, cmsshow::sAutoRewind, cmsshow::sBackgroundColor, cmsshow::sCopy, cmsshow::sCut, CSGAction::setToolTip(), cmsshow::sExportAllImages, cmsshow::sExportImage, cmsshow::sGotoFirstEvent, cmsshow::sGotoLastEvent, cmsshow::sHelp, cmsshow::sHelpGL, cmsshow::sKeyboardShort, cmsshow::sLoadConfig, cmsshow::sLoadPartialConfig, cmsshow::sNextEvent, cmsshow::sOpenData, cmsshow::sPaste, cmsshow::sPlayEvents, cmsshow::sPlayEventsBack, cmsshow::sPreviousEvent, cmsshow::sQuit, cmsshow::sRedo, cmsshow::sSaveConfig, cmsshow::sSaveConfigAs, cmsshow::sSavePartialConfig, cmsshow::sSavePartialConfigAs, cmsshow::sSearchFiles, cmsshow::sShowAddCollection, cmsshow::sShowCommonInsp, cmsshow::sShowEventDisplayInsp, cmsshow::sShowInvMassDialog, cmsshow::sShowMainViewCtl, cmsshow::sShowObjInsp, cmsshow::sUndo, and indexGen::title.

73  :
74  TGMainFrame(p, w, h),
77  m_runEntry(0),
78  m_lumiEntry(0),
79  m_eventEntry(0),
81  m_manager(m),
82  m_fworksAbout(0)
83 {
84  const unsigned int backgroundColor=0x2f2f2f;
85  const unsigned int textColor= 0xb3b3b3;
86 
87  CSGAction *openData = new CSGAction(this, cmsshow::sOpenData.c_str());
88  CSGAction *appendData = new CSGAction(this, cmsshow::sAppendData.c_str());
89  CSGAction *searchFiles = new CSGAction(this, cmsshow::sSearchFiles.c_str());
90 
91  CSGAction *loadConfig = new CSGAction(this, cmsshow::sLoadConfig.c_str());
92  CSGAction *saveConfig = new CSGAction(this, cmsshow::sSaveConfig.c_str());
93  CSGAction *saveConfigAs = new CSGAction(this, cmsshow::sSaveConfigAs.c_str());
94 
95 
96  CSGAction *loadPartialConfig = new CSGAction(this, cmsshow::sLoadPartialConfig.c_str());
97  CSGAction *savePartialConfig = new CSGAction(this, cmsshow::sSavePartialConfig.c_str());
98  CSGAction *savePartialConfigAs = new CSGAction(this, cmsshow::sSavePartialConfigAs.c_str());
99 
100 
101  CSGAction *exportImage = new CSGAction(this, cmsshow::sExportImage.c_str());
102  CSGAction *exportImages = new CSGAction(this, cmsshow::sExportAllImages.c_str());
103  CSGAction *quit = new CSGAction(this, cmsshow::sQuit.c_str());
104 
105  CSGAction *undo = new CSGAction(this, cmsshow::sUndo.c_str());
106  undo->disable(); //NOTE: All disables happen again later in this routine
107  CSGAction *redo = new CSGAction(this, cmsshow::sRedo.c_str());
108  redo->disable(); //NOTE: All disables happen again later in this routine
109  CSGAction *cut = new CSGAction(this, cmsshow::sCut.c_str());
110  cut->disable(); //NOTE: All disables happen again later in this routine
111  CSGAction *copy = new CSGAction(this, cmsshow::sCopy.c_str());
112  copy->disable(); //NOTE: All disables happen again later in this routine
113  CSGAction *paste = new CSGAction(this, cmsshow::sPaste.c_str());
114  paste->disable();//NOTE: All disables happen again later in this routine
115 
116  CSGAction *goToFirst = new CSGAction(this, cmsshow::sGotoFirstEvent.c_str());
117  CSGAction *goToLast = new CSGAction(this, cmsshow::sGotoLastEvent.c_str());
118 
119  CSGAction *nextEvent = new CSGAction(this, cmsshow::sNextEvent.c_str());
120  CSGAction *previousEvent = new CSGAction(this, cmsshow::sPreviousEvent.c_str());
121 
122  CSGContinuousAction *playEvents = new CSGContinuousAction(this, cmsshow::sPlayEvents.c_str());
123  CSGContinuousAction *playEventsBack = new CSGContinuousAction(this, cmsshow::sPlayEventsBack.c_str());
125 
126  CSGAction *showCommonInsp = new CSGAction(this, cmsshow::sShowCommonInsp.c_str());
127  CSGAction *colorset = new CSGAction(this, cmsshow::sBackgroundColor.c_str());
128 
129  CSGAction *showObjInsp = new CSGAction(this, cmsshow::sShowObjInsp.c_str());
130  CSGAction *showEventDisplayInsp = new CSGAction(this, cmsshow::sShowEventDisplayInsp.c_str());
131  CSGAction *showMainViewCtl = new CSGAction(this, cmsshow::sShowMainViewCtl.c_str());
132  CSGAction *showAddCollection = new CSGAction(this, cmsshow::sShowAddCollection.c_str());
133  CSGAction *showInvMassDialog = new CSGAction(this, cmsshow::sShowInvMassDialog.c_str());
134 
135  CSGAction *help = new CSGAction(this, cmsshow::sHelp.c_str());
136  CSGAction *keyboardShort = new CSGAction(this, cmsshow::sKeyboardShort.c_str());
137  CSGAction *helpGL = new CSGAction(this, cmsshow::sHelpGL.c_str());
138 
139  m_nextEvent = nextEvent;
140  m_previousEvent = previousEvent;
141  m_goToFirst = goToFirst;
142  m_goToLast = goToLast;
143  m_playEvents = playEvents;
144  m_playEventsBack = playEventsBack;
145  m_loopAction = loop;
146 
147  goToFirst->setToolTip("Goto first event");
148  goToLast->setToolTip("Goto last event");
149  previousEvent->setToolTip("Goto previous event");
150  nextEvent->setToolTip("Goto next event");
151  playEvents->setToolTip("Play events");
152  playEventsBack->setToolTip("Play events backwards");
153 
154  TGCompositeFrame *menuTopFrame = new TGCompositeFrame(this, 1, 1, kHorizontalFrame, backgroundColor);
155 
156  TGMenuBar *menuBar = new TGMenuBar(menuTopFrame, this->GetWidth(), 28, kHorizontalFrame);
157 
158  TGPopupMenu *fileMenu = new TGPopupMenu(gClient->GetRoot());
159  menuBar->AddPopup("File", fileMenu, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 2, 0));
160 
161  openData->createMenuEntry(fileMenu);
162  appendData->createMenuEntry(fileMenu);
163  searchFiles->createMenuEntry(fileMenu);
164  //searchFiles->disable();
165 
166  fileMenu->AddSeparator();
167  loadConfig->createMenuEntry(fileMenu);
168  saveConfig->createMenuEntry(fileMenu);
169  saveConfigAs->createMenuEntry(fileMenu);
170 
171 
172  TGPopupMenu* partialSaveMenu = new TGPopupMenu(gClient->GetRoot());
173  fileMenu->AddPopup("Advanced Configuration", partialSaveMenu);
174 
175  loadPartialConfig->createMenuEntry(partialSaveMenu);
176  savePartialConfig->createMenuEntry(partialSaveMenu);
177  savePartialConfigAs->createMenuEntry(partialSaveMenu);
178  fileMenu->AddSeparator();
179 
180  exportImage->createMenuEntry(fileMenu);
181  exportImages->createMenuEntry(fileMenu);
182  fileMenu->AddSeparator();
183 
184  quit->createMenuEntry(fileMenu);
185 
186  openData->createShortcut(kKey_O, "CTRL", GetId());
187  loadConfig->createShortcut(kKey_L, "CTRL", GetId());
188  saveConfig->createShortcut(kKey_S, "CTRL", GetId());
189  saveConfigAs->createShortcut(kKey_S, "CTRL+SHIFT", GetId());
190  exportImage->createShortcut(kKey_P, "CTRL", GetId());
191  // comment out the followinf one, seems to get double open file dialog events on OSX
192  // exportImages->createShortcut(kKey_P, "CTRL+SHIFT", GetId());
193  quit->createShortcut(kKey_Q, "CTRL", GetId());
194 
195  TGPopupMenu *editMenu = new TGPopupMenu(gClient->GetRoot());
196  menuBar->AddPopup("Edit", editMenu, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 2, 0));
197 
198  showCommonInsp->createMenuEntry(editMenu);
199  showCommonInsp->createShortcut(kKey_A, "CTRL+SHIFT", GetId());
200  colorset->createMenuEntry(editMenu);
201  colorset->createShortcut(kKey_B, "CTRL", GetId());
202  editMenu->AddSeparator();
203 
204  undo->createMenuEntry(editMenu);
205  undo->createShortcut(kKey_Z, "CTRL", GetId());
206  redo->createMenuEntry(editMenu);
207  redo->createShortcut(kKey_Z, "CTRL+SHIFT", GetId());
208  editMenu->AddSeparator();
209 
210  cut->createMenuEntry(editMenu);
211  cut->createShortcut(kKey_X, "CTRL", GetId());
212  copy->createMenuEntry(editMenu);
213  copy->createShortcut(kKey_C, "CTRL", GetId());
214  paste->createMenuEntry(editMenu);
215  paste->createShortcut(kKey_V, "CTRL", GetId());
216 
217  TGPopupMenu *viewMenu = new TGPopupMenu(gClient->GetRoot());
218  menuBar->AddPopup("View", viewMenu, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 2, 0));
219 
220  m_newViewerMenu = new TGPopupMenu(gClient->GetRoot());
221  viewMenu->AddPopup("New Viewer", m_newViewerMenu);
222 
223  viewMenu->AddSeparator();
224 
225  nextEvent->createMenuEntry(viewMenu);
226  nextEvent->createShortcut(kKey_Right, "CTRL", GetId());
227  previousEvent->createMenuEntry(viewMenu);
228  previousEvent->createShortcut(kKey_Left, "CTRL", GetId());
229  goToFirst->createMenuEntry(viewMenu);
230  goToLast->createMenuEntry(viewMenu);
231  playEvents->createMenuEntry(viewMenu);
232  playEvents->createShortcut(kKey_Space, "CTRL", GetId());
233  playEventsBack->createMenuEntry(viewMenu);
234  playEventsBack->createShortcut(kKey_Space, "CTRL+SHIFT", GetId());
235  loop->createMenuEntry(viewMenu);
236 
237  TGPopupMenu* windowMenu = new TGPopupMenu(gClient->GetRoot());
238  menuBar->AddPopup("Window", windowMenu, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 2, 0));
239 
240  showCommonInsp->createMenuEntry(windowMenu);
241  showObjInsp->createMenuEntry(windowMenu);
242  showEventDisplayInsp->createShortcut(kKey_I, "CTRL", GetId());
243  showEventDisplayInsp->createMenuEntry(windowMenu);
244  showAddCollection->createMenuEntry(windowMenu);
245  showMainViewCtl->createMenuEntry(windowMenu);
246  showInvMassDialog->createMenuEntry(windowMenu);
247 
248  TGPopupMenu *helpMenu = new TGPopupMenu(gClient->GetRoot());
249  menuBar->AddPopup("Help", helpMenu, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 2, 0));
250  help->createMenuEntry(helpMenu);
251  keyboardShort->createMenuEntry(helpMenu);
252  helpMenu->AddSeparator();
253  helpGL->createMenuEntry(helpMenu);
254 
255  // colors
256  menuBar->SetBackgroundColor(backgroundColor);
257  TIter next(menuBar->GetTitles());
258  TGMenuTitle *title;
259  while ((title = (TGMenuTitle *)next()))
260  title->SetTextColor(textColor);
261 
262  menuTopFrame->AddFrame(menuBar, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
263  AddFrame(menuTopFrame, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
264 
265  // !!!! MT Line separating menu from other window components.
266  // I would even remove it and squeeze the navigation buttons up.
267  AddFrame(new TGFrame(this, 1, 1, kChildFrame, 0x503020),
268  new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
269 
270  m_statBar = new TGStatusBar(this, this->GetWidth(), 12);
271  AddFrame(m_statBar, new TGLayoutHints(kLHintsBottom | kLHintsExpandX));
272 
273  TGHorizontalFrame *fullbar = new TGHorizontalFrame(this, this->GetWidth(), 30,0, backgroundColor);
274 
275  /**************************************************************************/
276  // controls
277 
278  TGCompositeFrame* controlFrame = new TGVerticalFrame(fullbar, 10, 20, 0, backgroundColor);
279 
280  TGCompositeFrame* buttonFrame = new TGHorizontalFrame(controlFrame, 10, 10, 0, backgroundColor);
281  TImage *imgBtn = TImage::Open(FWCheckBoxIcon::coreIcondir()+"slider-bg-up.png");
282  buttonFrame->SetBackgroundPixmap(imgBtn->GetPixmap());
283 
284 
285  goToFirst->createCustomIconsButton(buttonFrame,
286  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotofirst.png"),
287  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotofirst-over.png"),
288  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotofirst-disabled.png"),
289  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 4, 3, 10, 0));
290 
291  playEventsBack->createCustomIconsButton(buttonFrame,
292  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-backward.png"),
293  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-backward-over.png"),
294  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-backward-disabled.png"),
295  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-pause.png"),
296  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-pause-over.png"),
297  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 2, 3, 10, 0));
298 
299  previousEvent->createCustomIconsButton(buttonFrame,
300  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepback.png"),
301  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepback-over.png"),
302  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepback-disabled.png"),
303  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 2, 3, 10, 0));
304 
305  nextEvent->createCustomIconsButton(buttonFrame,
306  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepforward.png"),
307  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepforward-over.png"),
308  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-stepforward-disabled.png"),
309  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 2, 3, 10, 0));
310 
311 
312  playEvents->createCustomIconsButton(buttonFrame,
313  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-forward.png"),
314  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-forward-over.png"),
315  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-forward-disabled.png"),
316  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-pause.png"),
317  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-pause-over.png"),
318  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 2, 3, 10, 0));
319 
320  goToLast->createCustomIconsButton(buttonFrame,
321  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotolast.png"),
322  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotolast-over.png"),
323  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"button-gotolast-disabled.png"),
324  new TGLayoutHints(kLHintsCenterY| kLHintsLeft, 2, 3, 10, 0));
325 
326  controlFrame->AddFrame(buttonFrame, new TGLayoutHints(kLHintsTop, 10, 0, 0, 0));
327 
328  /**************************************************************************/
329 
330  TGHorizontalFrame* sliderFrame = new TGHorizontalFrame(controlFrame, 10, 10, 0, backgroundColor);
331  TImage *imgSld = TImage::Open(FWCheckBoxIcon::coreIcondir()+"slider-bg-down.png");
332  sliderFrame->SetBackgroundPixmap(imgSld->GetPixmap());
333  TString sldBtn = FWCheckBoxIcon::coreIcondir() +"slider-button.png";
334 
335  m_delaySlider = new TGHSlider(sliderFrame, 109, kSlider1 | kScaleNo);
336  sliderFrame->AddFrame(m_delaySlider, new TGLayoutHints(kLHintsTop | kLHintsLeft, 39, 8, 1, 3));
337  m_delaySlider->SetRange(0, 10000);
338  m_delaySlider->SetPosition(0);
339  m_delaySlider->SetBackgroundColor(0x1a1a1a);
340  m_delaySlider->ChangeSliderPic(sldBtn);
341 
342  controlFrame->AddFrame(sliderFrame, new TGLayoutHints(kLHintsTop, 10, 0, 0, 0));
343 
344  fullbar->AddFrame(controlFrame, new TGLayoutHints(kLHintsLeft, 2, 2, 5, 8));
345 
347  TQObject::Connect(m_delaySlider, "PositionChanged(Int_t)", "FWIntValueListenerBase", m_delaySliderListener, "setValue(Int_t)");
348 
349  //==============================================================================
350 
351  // delay label
352  {
353  TGVerticalFrame* delayFrame = new TGVerticalFrame(fullbar, 60, 10, 0, backgroundColor);
354 
355  TGLabel *label = new TGLabel(delayFrame, "Delay");
356  label->SetTextJustify(kTextCenterX);
357  label->SetTextColor(0xb3b3b3);
358  label->SetBackgroundColor(backgroundColor);
359  delayFrame->AddFrame(label, new TGLayoutHints(kLHintsTop | kLHintsCenterX, 0, 0, 22, 0));
360 
361  TGHorizontalFrame *labFixed = new TGHorizontalFrame(delayFrame, 70, 20, kFixedSize, backgroundColor);
362  m_delayLabel = new TGLabel(labFixed, "0.0s");
363  m_delayLabel->SetBackgroundColor(backgroundColor);
364  m_delayLabel->SetTextJustify(kTextCenterX);
365  m_delayLabel->SetTextColor(0xffffff);
366  labFixed->AddFrame(m_delayLabel, new TGLayoutHints(kLHintsTop | kLHintsCenterX | kLHintsExpandX, 0, 0, 0, 0));
367  delayFrame->AddFrame(labFixed, new TGLayoutHints(kLHintsLeft, 0, 4, 0, 0));
368 
369  fullbar->AddFrame(delayFrame, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0));
370  }
371 
372  //==============================================================================
373 
374  // text/num entries
375 
376  Int_t entryHeight = 22;
377  TGVerticalFrame *texts = new TGVerticalFrame(fullbar, 400, 10, 0, backgroundColor);
378 
379  // upper row
380  {
381  TGPack *runInfo = new TGPack(texts, 400, entryHeight, kFixedHeight);
382  runInfo->SetVertical(kFALSE);
383  runInfo->SetUseSplitters(kFALSE);
384  runInfo->SetBackgroundColor(backgroundColor);
385 
386  TGHorizontalFrame *rLeft = new TGHorizontalFrame(runInfo, 1, entryHeight);
387  makeFixedSizeLabel(rLeft, "Run", backgroundColor, 0xffffff, 26, entryHeight);
388  m_runEntry = new FWNumberEntryField(rLeft, -1, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive);
389  rLeft->AddFrame(m_runEntry, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0,8,0,0));
390  runInfo->AddFrameWithWeight(rLeft, 0, 0.28);
391 
392  TGHorizontalFrame *rMid = new TGHorizontalFrame(runInfo, 1, entryHeight);
393  makeFixedSizeLabel(rMid, "Lumi", backgroundColor, 0xffffff, 36, entryHeight);
394  m_lumiEntry = new FWNumberEntryField(rMid, -1, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive);
395  rMid->AddFrame(m_lumiEntry, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0,8,0,0));
396  runInfo->AddFrameWithWeight(rMid, 0, 0.32);
397 
398  TGHorizontalFrame *rRight = new TGHorizontalFrame(runInfo, 1, entryHeight);
399  makeFixedSizeLabel(rRight, "Event", backgroundColor, 0xffffff, 42, entryHeight);
400  m_eventEntry = new FWNumberEntryField(rRight, -1, 0, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive);
401  rRight->AddFrame(m_eventEntry, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0,0,0,0));
402  runInfo->AddFrameWithWeight(rRight, 0, 0.4);
403 
404  texts->AddFrame(runInfo, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,0,0,4));
405  }
406 
407  // lower row
408  {
409  TGHorizontalFrame *filterFrame = new TGHorizontalFrame(texts, 400, entryHeight, 0, backgroundColor);
410 
411  // filter state Off
412  m_filterIcons[0] = fClient->GetPicture("unchecked_t.xpm");
413  m_filterIcons[1] = fClient->GetPicture("unchecked_t.xpm");
414  m_filterIcons[2] = fClient->GetPicture("unchecked_dis_t.xpm");
415 
416  // filter state On
417  m_filterIcons[3] = fClient->GetPicture("checked_t.xpm");
418  m_filterIcons[4] = fClient->GetPicture("checked_t.xpm");
419  m_filterIcons[5] = fClient->GetPicture("checked_dis_t.xpm");
420 
421  // filter withdrawn
422  m_filterIcons[6] = fClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-ltgraybg.png");
423  m_filterIcons[7] = fClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-ltgraybg-over.png");
424  m_filterIcons[8] = fClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-ltgraybg.png");
425 
427  m_filterEnableBtn->SetBackgroundColor(backgroundColor);
428  m_filterEnableBtn->SetToolTipText("Enable/disable event filtering");
429  filterFrame->AddFrame(m_filterEnableBtn, new TGLayoutHints(kLHintsLeft, 4,0,3,0));
430 
431  m_filterShowGUIBtn = new TGTextButton(filterFrame,"Event filtering is OFF");
432  m_filterShowGUIBtn->ChangeOptions(kRaisedFrame);
433  m_filterShowGUIBtn->SetBackgroundColor(backgroundColor);
434  m_filterShowGUIBtn->SetTextColor(0xFFFFFF);
435  m_filterShowGUIBtn->SetToolTipText("Edit filters");
436  filterFrame->AddFrame(m_filterShowGUIBtn, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 6,7,0,0));
437 
438  texts->AddFrame(filterFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,0,4,0));
439  }
440 
441  fullbar->AddFrame(texts, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 5, 5, 12, 0));
442 
443  //==============================================================================
444 
445  TGVerticalFrame *texts2 = new TGVerticalFrame(fullbar, 200, 44, kFixedSize, backgroundColor);
446 
447  // time
448  m_timeText = new TGLabel(texts2, "...");
449  m_timeText->SetTextJustify(kTextLeft);
450  m_timeText->SetTextColor(0xffffff);
451  m_timeText->SetBackgroundColor(backgroundColor);
452  texts2->AddFrame(m_timeText, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,0,0,1));
453 
454  fullbar->AddFrame(texts2, new TGLayoutHints(kLHintsLeft, 5, 5, 16, 5));
455 
456  //==============================================================================
457 
458  // logo
459  {
460  TGVerticalFrame* parentLogoFrame = new TGVerticalFrame(fullbar, 70, 53, kFixedSize);
461  parentLogoFrame->SetBackgroundColor(backgroundColor);
462  fullbar->AddFrame(parentLogoFrame, new TGLayoutHints(kLHintsRight | kLHintsCenterY));
463 
464  TGVerticalFrame* logoFrame = new TGVerticalFrame(parentLogoFrame, 53, 53, kFixedSize);
465  TImage *logoImg = TImage::Open(FWCheckBoxIcon::coreIcondir() + "CMSRedOnBlackThick.png");
466  logoFrame->SetBackgroundPixmap(logoImg->GetPixmap());
467  parentLogoFrame->AddFrame(logoFrame, new TGLayoutHints(kLHintsRight | kLHintsCenterY, 0, 14, 0, 0));
468  }
469  {
470  TGCompositeFrame *logoFrame = new TGCompositeFrame(this, 61, 23, kFixedSize | kHorizontalFrame, backgroundColor);
471  FWCustomIconsButton *infoBut =
472  new FWCustomIconsButton(logoFrame, fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"fireworksSmallGray.png"),
473  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"fireworksSmallGray-green.png"),
474  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"fireworksSmallGray-red.png"),
475  fClient->GetPicture(FWCheckBoxIcon::coreIcondir()+"fireworksSmallGray-red.png"));
476  logoFrame->AddFrame(infoBut);
477  infoBut->Connect("Clicked()", "CmsShowMainFrame", this, "showFWorksInfo()");
478  //TImage *logoImg = TImage::Open( FWCheckBoxIcon::coreIcondir() + "fireworksSmallGray.png");
479  //logoFrame->SetBackgroundPixmap(logoImg->GetPixmap());
480  menuTopFrame->AddFrame(logoFrame, new TGLayoutHints(kLHintsRight | kLHintsBottom, 0, 13, 3, 1));
481  }
482 
483  //==============================================================================
484 
485  AddFrame(fullbar, new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 0));
486 
487  //Start disabled
488  goToFirst->disable();
489  goToLast->disable();
490  previousEvent->disable();
491  nextEvent->disable();
492  playEvents->disable();
493  playEventsBack->disable();
494  loop->disable();
495 
496  //NOTE: There appears to be a bug in ROOT such that creating a menu item and setting it as
497  // disabled immediately is ignored. Therefore we have to wait till here to actually get ROOT
498  // to disable these menu items
499  undo->disable();
500  redo->disable();
501  cut->disable();
502  copy->disable();
503  paste->disable();
504 
505  //==============================================================================
506 
507  FWPack *csArea = new FWPack(this);
508  csArea->SetVertical(kFALSE);
509 
510  TGCompositeFrame *cf = m_manager->createList(csArea);
511  csArea->AddFrameWithWeight(cf, 0, 20);
512 
513  TEveCompositeFrameInPack *slot = new TEveCompositeFrameInPack(csArea, 0, csArea);
514  csArea->AddFrameWithWeight(slot, 0, 80);
515  TEveWindowSlot *ew_slot = TEveWindow::CreateDefaultWindowSlot();
516  ew_slot->PopulateEmptyFrame(slot);
517  m_manager->createViews(ew_slot);
518 
519  AddFrame(csArea,new TGLayoutHints(kLHintsTop | kLHintsExpandX | kLHintsExpandY, 0, 0, 0, 2));
520  csArea->MapSubwindows();
521 
522  SetWindowName("cmsShow");
523 }
const std::string sKeyboardShort
Definition: ActionsList.cc:46
TGVerticalFrame * createList(TGCompositeFrame *p)
static const TString & coreIcondir()
const std::string sSavePartialConfig
Definition: ActionsList.cc:21
FWNumberEntryField * m_lumiEntry
const std::string sShowCommonInsp
Definition: ActionsList.cc:30
const std::string sHelp
Definition: ActionsList.cc:45
const std::string sCut
Definition: ActionsList.cc:35
const std::string sSavePartialConfigAs
Definition: ActionsList.cc:22
const double w
Definition: UKUtility.cc:23
void createViews(TEveWindowSlot *slot)
const std::string sBackgroundColor
Definition: ActionsList.cc:31
const std::string sPlayEvents
Definition: ActionsList.cc:7
FWGUIManager * m_manager
FWCustomIconsButton * m_filterEnableBtn
int loop
CMSSW
const std::string sOpenData
Definition: ActionsList.cc:12
FWIntValueListener * m_delaySliderListener
const std::string sRedo
Definition: ActionsList.cc:34
const std::string sSaveConfigAs
Definition: ActionsList.cc:18
void disable()
Definition: CSGAction.cc:289
CSGContinuousAction * m_playEventsBack
CSGAction * m_nextEvent
const std::string sNextEvent
Definition: ActionsList.cc:5
TGSlider * m_delaySlider
const std::string sSaveConfig
Definition: ActionsList.cc:17
const TGPicture * m_filterIcons[9]
void createCustomIconsButton(TGCompositeFrame *p, const TGPicture *upPic, const TGPicture *downPic, const TGPicture *disabledPic, const TGPicture *upRunningPic, const TGPicture *downRunningPic, TGLayoutHints *l=0, Int_t id=-1, GContext_t norm=TGButton::GetDefaultGC()(), UInt_t option=0)
const std::string sAppendData
Definition: ActionsList.cc:13
void setToolTip(const std::string &tip)
Definition: CSGAction.cc:116
CSGContinuousAction * m_loopAction
TGMainFrame * m_fworksAbout
FWNumberEntryField * m_eventEntry
const std::string sShowAddCollection
Definition: ActionsList.cc:42
const std::string sGotoLastEvent
Definition: ActionsList.cc:4
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
TGPopupMenu * m_newViewerMenu
const std::string sExportImage
Definition: ActionsList.cc:25
const std::string sAutoRewind
Definition: ActionsList.cc:10
void createMenuEntry(TGPopupMenu *menu)
Definition: CSGAction.cc:213
const std::string sShowMainViewCtl
Definition: ActionsList.cc:41
FWNumberEntryField * m_runEntry
const std::string sPlayEventsBack
Definition: ActionsList.cc:8
const std::string sShowObjInsp
Definition: ActionsList.cc:39
FWCustomIconsButton * createCustomIconsButton(TGCompositeFrame *p, const TGPicture *upPic, const TGPicture *downPic, const TGPicture *disabledPic, TGLayoutHints *l=0, Int_t id=-1, GContext_t norm=TGButton::GetDefaultGC()(), UInt_t option=0)
Definition: CSGAction.cc:162
CSGAction * m_previousEvent
const std::string sGotoFirstEvent
Definition: ActionsList.cc:3
const std::string sCopy
Definition: ActionsList.cc:36
CSGAction * m_goToLast
const std::string sShowInvMassDialog
Definition: ActionsList.cc:43
const std::string sShowEventDisplayInsp
Definition: ActionsList.cc:40
const std::string sPreviousEvent
Definition: ActionsList.cc:6
CSGContinuousAction * m_playEvents
CSGAction * m_goToFirst
const std::string sLoadConfig
Definition: ActionsList.cc:16
void makeFixedSizeLabel(TGHorizontalFrame *p, const char *txt, UInt_t bgCol, UInt_t txtCol, Int_t width, Int_t height)
void createShortcut(UInt_t key, const char *mod, int windowID)
Definition: CSGAction.cc:182
const std::string sExportAllImages
Definition: ActionsList.cc:26
const std::string sPaste
Definition: ActionsList.cc:37
const std::string sQuit
Definition: ActionsList.cc:28
TGTextButton * m_filterShowGUIBtn
const std::string sHelpGL
Definition: ActionsList.cc:47
const std::string sLoadPartialConfig
Definition: ActionsList.cc:20
const std::string sUndo
Definition: ActionsList.cc:33
TGStatusBar * m_statBar
const std::string sSearchFiles
Definition: ActionsList.cc:14
CmsShowMainFrame::~CmsShowMainFrame ( )
virtual

Definition at line 530 of file CmsShowMainFrame.cc.

530  {
531  Cleanup();
532 }
CmsShowMainFrame::CmsShowMainFrame ( const CmsShowMainFrame )
private

Member Function Documentation

void CmsShowMainFrame::bindCSGActionKeys ( const TGMainFrame *  f) const

Definition at line 830 of file CmsShowMainFrame.cc.

References i, and CSGActionSupervisor::m_actionList.

Referenced by FWGUIManager::createEDIFrame(), FWGUIManager::createModelPopup(), FWGUIEventFilter::HandleKey(), FWGUIManager::setFrom(), FWGUIManager::showCommonPopup(), FWGUIManager::showInvMassDialog(), and FWGUISubviewArea::undock().

831 {
832  for (std::vector<CSGAction*>::const_iterator i = m_actionList.begin(); i != m_actionList.end(); ++i)
833  {
834  if ((*i)-> getKeycode())
835  f->BindKey(this, (*i)->getKeycode(), (*i)->getModcode());
836  }
837 }
int i
Definition: DBlmapReader.cc:9
std::vector< CSGAction * > m_actionList
double f[11][100]
CmsShowMainFrame::ClassDef ( CmsShowMainFrame  ,
 
)
void CmsShowMainFrame::clearStatusBar ( )

Definition at line 664 of file CmsShowMainFrame.cc.

References m_statBar.

Referenced by FWGUIManager::clearStatus().

665 {
666  m_statBar->SetText("", 0);
667  //don't process immediately since we want this on the event queue
668  // since results of the last action may still be happening
669 }
TGStatusBar * m_statBar
void CmsShowMainFrame::CloseWindow ( )
virtual

Definition at line 579 of file CmsShowMainFrame.cc.

References CSGAction::activated, CSGActionSupervisor::getAction(), and cmsshow::sQuit.

580 {
582 }
sigc::signal< void > activated
Definition: CSGAction.h:88
CSGAction * getAction(const std::string &name)
const std::string sQuit
Definition: ActionsList.cc:28
CSGAction * CmsShowMainFrame::createNewViewerAction ( const std::string &  iActionName,
bool  seaprator 
)

Definition at line 551 of file CmsShowMainFrame.cc.

References alignCSCRings::action, CSGAction::createMenuEntry(), and m_newViewerMenu.

Referenced by FWGUIManager::FWGUIManager().

552 {
553  CSGAction* action(new CSGAction(this, iActionName.c_str()));
554  action->createMenuEntry(m_newViewerMenu);
555  if (separator) m_newViewerMenu->AddSeparator();
556  return action;
557 }
TGPopupMenu * m_newViewerMenu
void CmsShowMainFrame::enableActions ( bool  enable = true)
virtual

Reimplemented from CSGActionSupervisor.

Definition at line 589 of file CmsShowMainFrame.cc.

References CSGActionSupervisor::enableActions(), m_eventEntry, m_filterEnableBtn, m_filterShowGUIBtn, m_lumiEntry, and m_runEntry.

Referenced by FWGUIManager::enableActions().

590 {
592 
593  m_runEntry->SetEnabled(enable);
594  m_lumiEntry->SetEnabled(enable);
595  m_eventEntry->SetEnabled(enable);
596  m_filterEnableBtn->SetEnabled(enable);
597  m_filterShowGUIBtn->SetEnabled(enable);
598 }
FWNumberEntryField * m_lumiEntry
virtual void enableActions(bool enable=true)
FWCustomIconsButton * m_filterEnableBtn
FWNumberEntryField * m_eventEntry
FWNumberEntryField * m_runEntry
TGTextButton * m_filterShowGUIBtn
void CmsShowMainFrame::enableComplexNavigation ( bool  enable = true)

To disable GUI to jump from event to another, when this is not possible (i.e. when in full framework mode).

Definition at line 638 of file CmsShowMainFrame.cc.

References CSGAction::disable(), CSGAction::enable(), and m_goToLast.

Referenced by FWFFLooper::autoLoadNewEvent(), FWFFLooper::checkPosition(), and FWFFLooper::stopPlaying().

639 {
640  if (enable)
641  m_goToLast->enable();
642  else
643  m_goToLast->disable();
644 }
void enable()
Definition: CSGAction.cc:284
void disable()
Definition: CSGAction.cc:289
CSGAction * m_goToLast
void CmsShowMainFrame::enableNavigatorControls ( )

Definition at line 568 of file CmsShowMainFrame.cc.

References CSGAction::enable(), m_goToFirst, m_goToLast, m_loopAction, m_nextEvent, m_playEvents, m_playEventsBack, and m_previousEvent.

Referenced by FWFFService::checkPosition(), FWFFLooper::checkPosition(), and CmsShowMain::checkPosition().

569 {
570  m_nextEvent->enable();
572  m_goToFirst->enable();
573  m_goToLast->enable();
574  m_playEvents->enable();
576  m_loopAction->enable();
577 }
void enable()
Definition: CSGAction.cc:284
CSGContinuousAction * m_playEventsBack
CSGAction * m_nextEvent
CSGContinuousAction * m_loopAction
CSGAction * m_previousEvent
CSGAction * m_goToLast
CSGContinuousAction * m_playEvents
CSGAction * m_goToFirst
void CmsShowMainFrame::enableNext ( bool  enable = true)

Definition at line 618 of file CmsShowMainFrame.cc.

References CSGAction::disable(), CSGAction::enable(), m_goToLast, m_nextEvent, m_playEvents, and CSGContinuousAction::stop().

Referenced by FWGUIManager::disableNext().

619 {
620  if (m_nextEvent != 0) {
621  if (enable) {
622  m_nextEvent->enable();
623  m_goToLast->enable();
624  m_playEvents->enable();
625  } else {
626  m_nextEvent->disable();
627  m_goToLast->disable();
629  m_playEvents->stop();
630  }
631  }
632 }
void enable()
Definition: CSGAction.cc:284
void disable()
Definition: CSGAction.cc:289
CSGAction * m_nextEvent
CSGAction * m_goToLast
CSGContinuousAction * m_playEvents
void CmsShowMainFrame::enablePrevious ( bool  enable = true)

Definition at line 601 of file CmsShowMainFrame.cc.

References CSGAction::disable(), CSGAction::enable(), m_goToFirst, m_playEventsBack, m_previousEvent, and CSGContinuousAction::stop().

Referenced by FWGUIManager::disablePrevious().

602 {
603  if (m_previousEvent != 0) {
604  if (enable) {
606  m_goToFirst->enable();
608  } else {
610  m_goToFirst->disable();
613  }
614  }
615 }
void enable()
Definition: CSGAction.cc:284
void disable()
Definition: CSGAction.cc:289
CSGContinuousAction * m_playEventsBack
CSGAction * m_previousEvent
CSGAction * m_goToFirst
float CmsShowMainFrame::getSummaryViewWeight ( ) const

Definition at line 858 of file CmsShowMainFrame.cc.

References timeUnitHelper::pack().

Referenced by FWGUIManager::addTo().

859 {
860  TGFrameElement* fe = (TGFrameElement*)GetList()->Last();
861  TGPack* pack = (TGPack*)(fe->fFrame);
862 
863  TGFrameElementPack* fep = (TGFrameElementPack*)pack->GetList()->At(1);
864  return fep->fWeight;
865 
866 }
Bool_t CmsShowMainFrame::HandleKey ( Event_t *  event)

Definition at line 684 of file CmsShowMainFrame.cc.

References CSGActionSupervisor::getListOfActions(), playEventsAction(), playEventsBackwardsAction(), and CSGContinuousAction::switchMode().

684  {
685 
686  if (event->fType == kGKeyPress) {
687  const std::vector<CSGAction*>& alist = getListOfActions();
688  std::vector<CSGAction*>::const_iterator it_act;
689  Int_t keycode;
690  Int_t modcode;
691  for (it_act = alist.begin(); it_act != alist.end(); ++it_act) {
692  keycode = (*it_act)->getKeycode();
693  modcode = (*it_act)->getModcode();
694  if ((event->fCode == (UInt_t)keycode) &&
695  ((event->fState == (UInt_t)modcode) ||
696  (event->fState == (UInt_t)(modcode | kKeyMod2Mask)) ||
697  (event->fState == (UInt_t)(modcode | kKeyLockMask)) ||
698  (event->fState == (UInt_t)(modcode | kKeyMod2Mask | kKeyLockMask)))) {
699  (*it_act)->activated.emit();
700  // return kTRUE;
701  return false;
702  }
703  }
704 
705  // special case is --live option where Space key is grabbed
706  static UInt_t spacecode = gVirtualX->KeysymToKeycode((int)kKey_Space);
707  if (event->fCode == spacecode && event->fState == 0 ) {
708  if (playEventsAction()->isRunning() )
710  else if (playEventsBackwardsAction()->isRunning() )
712  }
713  }
714  return kFALSE;
715 }
CSGContinuousAction * playEventsBackwardsAction() const
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
const std::vector< CSGAction * > & getListOfActions() const
CSGContinuousAction * playEventsAction() const
void CmsShowMainFrame::HandleMenu ( Int_t  id)
virtual

Reimplemented from CSGActionSupervisor.

Definition at line 671 of file CmsShowMainFrame.cc.

References fwLog, and fwlog::kInfo.

671  {
672  switch(id) {
673  case 1:
674  {
675  gApplication->Terminate(0);
676  }
677  break;
678  default:
679  fwLog(fwlog::kInfo) << "Invalid menu id\n";
680  break;
681  }
682 }
#define fwLog(_level_)
Definition: fwLog.h:50
void CmsShowMainFrame::loadEvent ( const edm::EventBase event)

Definition at line 559 of file CmsShowMainFrame.cc.

References edm::EventID::event(), fireworks::getLocalTime(), edm::EventBase::id(), edm::EventID::luminosityBlock(), m_eventEntry, m_lumiEntry, m_runEntry, m_timeText, edm::EventID::run(), FWNumberEntryField::SetUIntNumber(), and FWNumberEntryField::SetULong64Number().

Referenced by FWGUIManager::eventChangedCallback().

560 {
561  m_runEntry ->SetUIntNumber(event.id().run());
564 
565  m_timeText->SetText( fireworks::getLocalTime( event ).c_str() );
566 }
RunNumber_t run() const
Definition: EventID.h:39
FWNumberEntryField * m_lumiEntry
EventNumber_t event() const
Definition: EventID.h:41
virtual void SetUIntNumber(UInt_t n)
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:40
virtual void SetULong64Number(ULong64_t n)
FWNumberEntryField * m_eventEntry
FWNumberEntryField * m_runEntry
edm::EventID id() const
Definition: EventBase.h:60
std::string getLocalTime(const edm::EventBase &event)
CSGContinuousAction* CmsShowMainFrame::loopAction ( ) const
inline

Definition at line 90 of file CmsShowMainFrame.h.

References m_loopAction.

Referenced by FWGUIManager::loopAction().

90  {
91  return m_loopAction;
92  }
CSGContinuousAction * m_loopAction
void CmsShowMainFrame::makeFixedSizeLabel ( TGHorizontalFrame *  p,
const char *  txt,
UInt_t  bgCol,
UInt_t  txtCol,
Int_t  width,
Int_t  height 
)
private

Definition at line 726 of file CmsShowMainFrame.cc.

References diffTwoXMLs::label.

Referenced by CmsShowMainFrame().

729 {
730  // Utility function.
731 
732 
733  p->SetBackgroundColor(bgCol);
734  TGCompositeFrame *lframe = new TGHorizontalFrame(p, width, height, kFixedSize, bgCol);
735  TGLabel* label = new TGLabel(lframe, txt);
736  label->SetBackgroundColor(bgCol);
737  label->SetTextColor(txtCol);
738  lframe->AddFrame(label, new TGLayoutHints(kLHintsRight | kLHintsTop, 0, 4));
739  p->AddFrame(lframe, new TGLayoutHints(kLHintsLeft, 0, 0, 3, 0));
740 }
bool CmsShowMainFrame::nextIsEnabled ( )

Definition at line 647 of file CmsShowMainFrame.cc.

References CSGAction::isEnabled(), and m_nextEvent.

648 {
649  return m_nextEvent->isEnabled();
650 }
CSGAction * m_nextEvent
virtual Bool_t isEnabled() const
Definition: CSGAction.cc:308
const CmsShowMainFrame& CmsShowMainFrame::operator= ( const CmsShowMainFrame )
private
CSGContinuousAction* CmsShowMainFrame::playEventsAction ( ) const
inline

Definition at line 87 of file CmsShowMainFrame.h.

References m_playEvents.

Referenced by HandleKey(), and FWGUIManager::playEventsAction().

87  {
88  return m_playEvents;
89  }
CSGContinuousAction * m_playEvents
CSGContinuousAction* CmsShowMainFrame::playEventsBackwardsAction ( ) const
inline

Definition at line 94 of file CmsShowMainFrame.h.

References m_playEventsBack.

Referenced by HandleKey(), and FWGUIManager::playEventsBackwardsAction().

94  {
95  return m_playEventsBack;
96  }
CSGContinuousAction * m_playEventsBack
bool CmsShowMainFrame::previousIsEnabled ( )

Definition at line 653 of file CmsShowMainFrame.cc.

References CSGAction::isEnabled(), and m_previousEvent.

654 {
655  return m_previousEvent->isEnabled();
656 }
virtual Bool_t isEnabled() const
Definition: CSGAction.cc:308
CSGAction * m_previousEvent
void CmsShowMainFrame::quit ( )

Definition at line 584 of file CmsShowMainFrame.cc.

References CSGAction::activated, CSGActionSupervisor::getAction(), and cmsshow::sQuit.

Referenced by CmsShowMainFrame().

584  {
586 }
sigc::signal< void > activated
Definition: CSGAction.h:88
CSGAction * getAction(const std::string &name)
const std::string sQuit
Definition: ActionsList.cc:28
void CmsShowMainFrame::setPlayDelayGUI ( Float_t  val,
Bool_t  sliderChanged 
)

Definition at line 718 of file CmsShowMainFrame.cc.

References m_delayLabel, and m_delaySlider.

Referenced by FWGUIManager::delaySliderChanged(), and FWGUIManager::setDelayBetweenEvents().

719 {
720  m_delayLabel->SetText(Form("%.1fs", val));
721  if (sliderChanged)
722  m_delaySlider->SetPosition(Int_t(val*1000));
723 }
TGSlider * m_delaySlider
void CmsShowMainFrame::setSummaryViewWeight ( float  x)

Definition at line 840 of file CmsShowMainFrame.cc.

References timeUnitHelper::pack(), and x.

Referenced by FWGUIManager::setFrom().

841 {
842 
843  TGFrameElement* fe = (TGFrameElement*) GetList()->Last();
844  FWPack* pack = (FWPack*)(fe->fFrame);
845 
846  TGFrameElementPack* fep;
847  fep = (TGFrameElementPack*)pack->GetList()->At(1);
848  fep->fWeight = x;
849 
850  fep = (TGFrameElementPack*)pack->GetList()->At(3);
851  fep->fWeight = 100 -x;
852 
853  pack->ResizeExistingFrames();
854  pack->Layout();
855 }
void CmsShowMainFrame::showFWorksInfo ( )

Definition at line 754 of file CmsShowMainFrame.cc.

References FWCheckBoxIcon::coreIcondir(), diffTwoXMLs::label, geometryCSVtoXML::line, m_fworksAbout, edmIntegrityCheck::pool, fireworks::setPath(), and AlCaHLTBitMon_QueryRunRegistry::string.

755 {
756  if (m_fworksAbout == 0)
757  {
758  UInt_t ww = 280, hh = 190;
759  int number_of_lines = 0;
760  int fontSize = 8;
761  TString infoText;
762  if (gSystem->Getenv("CMSSW_VERSION"))
763  {
764  infoText = "Version ";
765  infoText += gSystem->Getenv("CMSSW_VERSION");
766  infoText +="\n";
767  number_of_lines += 1;
768  }
769  else
770  {
771  TString infoFileName("/data/version.txt");
772  fireworks::setPath(infoFileName);
774  std::ifstream infoFile(infoFileName);
775  while (std::getline(infoFile, line))
776  {
777  ++number_of_lines;
778  infoText += line.c_str();
779  infoText += "\n";
780  }
781  infoFile.close();
782  }
783  infoText += "\nIt works or we fix it for free!\nhn-cms-visualization@cern.ch\n";
784 
785  hh = 130 + 2* fontSize*(number_of_lines + 1);
786 
787  m_fworksAbout = new InfoFrame(gClient->GetRoot(), ww, hh, kVerticalFrame | kFixedSize);
788  m_fworksAbout->SetWMSizeHints(ww, hh, ww, hh, 0, 0);
789  m_fworksAbout->SetBackgroundColor(0x2f2f2f);
790 
791  TGFrame* logoFrame = new TGFrame(m_fworksAbout, 140, 48, kFixedSize);
792  TImage *logoImg = TImage::Open(FWCheckBoxIcon::coreIcondir()+"logo-fireworks.png");
793  logoFrame->SetBackgroundPixmap(logoImg->GetPixmap());
794  m_fworksAbout->AddFrame(logoFrame, new TGLayoutHints(kLHintsTop | kLHintsCenterX, 0, 0, 16, 0));
795 
796  TGLabel* label = new TGLabel(m_fworksAbout, infoText);
797  label->SetBackgroundColor(0x2f2f2f);
798  label->SetForegroundColor(0xffffff);
799 
800  FontStruct_t defaultFontStruct = label->GetDefaultFontStruct();
801  try
802  {
803  TGFontPool *pool = gClient->GetFontPool();
804  TGFont* defaultFont = pool->GetFont(defaultFontStruct);
805  FontAttributes_t attributes = defaultFont->GetFontAttributes();
806  label->SetTextFont(pool->GetFont(attributes.fFamily, fontSize,
807  attributes.fWeight, attributes.fSlant));
808  }
809  catch(...)
810  {
811  }
812 
813  m_fworksAbout->AddFrame(label, new TGLayoutHints(kLHintsCenterX | kLHintsCenterY, 0, 0, 12, 0));
814 
815  TGTextButton* btn = new TGTextButton(m_fworksAbout, " OK ");
816  btn->SetBackgroundColor(0x2f2f2f);
817  btn->SetForegroundColor(0xffffff);
818  m_fworksAbout->AddFrame(btn, new TGLayoutHints(kLHintsBottom | kLHintsCenterX, 0, 0, 0, 12));
819  btn->Connect("Clicked()", "TGMainFrame", m_fworksAbout, "CloseWindow()");
820 
821  m_fworksAbout->MapSubwindows();
822  m_fworksAbout->Layout();
823  }
824 
825  m_fworksAbout->MapRaised();
826 }
static const TString & coreIcondir()
TGMainFrame * m_fworksAbout
void setPath(TString &v)
Definition: fwPaths.cc:15
void CmsShowMainFrame::updateStatusBar ( const char *  status)

Definition at line 658 of file CmsShowMainFrame.cc.

References m_statBar.

Referenced by FWGUIManager::updateStatus().

658  {
659  m_statBar->SetText(status, 0);
660  //force the status bar to update its image
661  gClient->ProcessEventsFor(m_statBar);
662 }
tuple status
Definition: ntuplemaker.py:245
TGStatusBar * m_statBar

Friends And Related Function Documentation

friend class FWGUIManager
friend

Definition at line 61 of file CmsShowMainFrame.h.

Member Data Documentation

TGLabel* CmsShowMainFrame::m_delayLabel
private

Definition at line 145 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and setPlayDelayGUI().

TGSlider* CmsShowMainFrame::m_delaySlider
private

Definition at line 144 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and setPlayDelayGUI().

FWIntValueListener* CmsShowMainFrame::m_delaySliderListener
protected

Definition at line 115 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and FWGUIManager::FWGUIManager().

FWNumberEntryField* CmsShowMainFrame::m_eventEntry
protected
FWCustomIconsButton* CmsShowMainFrame::m_filterEnableBtn
protected
const TGPicture* CmsShowMainFrame::m_filterIcons[9]
protected

Definition at line 117 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and FWGUIManager::setFilterButtonIcon().

TGTextButton* CmsShowMainFrame::m_filterShowGUIBtn
protected
TGMainFrame* CmsShowMainFrame::m_fworksAbout
private

Definition at line 142 of file CmsShowMainFrame.h.

Referenced by showFWorksInfo().

CSGAction* CmsShowMainFrame::m_fworksInfo
private

Definition at line 137 of file CmsShowMainFrame.h.

CSGAction* CmsShowMainFrame::m_goToFirst
private

Definition at line 134 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), enableNavigatorControls(), and enablePrevious().

CSGAction* CmsShowMainFrame::m_goToLast
private
CSGContinuousAction* CmsShowMainFrame::m_loopAction
private

Definition at line 140 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), enableNavigatorControls(), and loopAction().

FWNumberEntryField* CmsShowMainFrame::m_lumiEntry
protected
FWGUIManager* CmsShowMainFrame::m_manager
private

Definition at line 129 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame().

TGPopupMenu* CmsShowMainFrame::m_newViewerMenu
private

Definition at line 149 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and createNewViewerAction().

CSGAction* CmsShowMainFrame::m_nextEvent
private
CSGAction* CmsShowMainFrame::m_playDelay
private

Definition at line 136 of file CmsShowMainFrame.h.

CSGContinuousAction* CmsShowMainFrame::m_playEvents
private
CSGContinuousAction* CmsShowMainFrame::m_playEventsBack
private
CSGAction* CmsShowMainFrame::m_previousEvent
private
FWNumberEntryField* CmsShowMainFrame::m_runEntry
protected
TGStatusBar* CmsShowMainFrame::m_statBar
private

Definition at line 147 of file CmsShowMainFrame.h.

Referenced by clearStatusBar(), CmsShowMainFrame(), and updateStatusBar().

TGLabel* CmsShowMainFrame::m_timeText
private

Definition at line 131 of file CmsShowMainFrame.h.

Referenced by CmsShowMainFrame(), and loadEvent().

Long_t CmsShowMainFrame::m_tooltipDelay
private

Definition at line 130 of file CmsShowMainFrame.h.