CMS 3D CMS Logo

FWCollectionSummaryWidget.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Core
4 // Class : FWCollectionSummaryWidget
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Sat Feb 14 10:02:32 CST 2009
11 //
12 
13 // system include files
14 #include <iostream>
15 #include <vector>
16 #include <functional>
17 #include "TGButton.h"
18 #include "TGResourcePool.h"
19 #include "TVirtualX.h"
24 
25 // user include files
29 
32 
36 
37 //
38 // constants, enums and typedefs
39 //
41  std::vector<sigc::connection> m_connections;
42 
44  for_each(
45  m_connections.begin(), m_connections.end(), std::bind(&sigc::connection::disconnect, std::placeholders::_1));
46  }
47  void push_back(const sigc::connection& iC) { m_connections.push_back(iC); }
48  void reserve(size_t iSize) { m_connections.reserve(iSize); }
49 };
50 
51 //
52 // static data member definitions
53 //
54 namespace {
55  class BorderlessTextButton : public TGTextButton {
56  public:
57  BorderlessTextButton(const TGWindow* p = nullptr,
58  const char* s = nullptr,
59  Int_t id = -1,
60  GContext_t norm = GetDefaultGC()(),
61  FontStruct_t font = GetDefaultFontStruct())
62  : TGTextButton(p, s, id, norm, font, 0) {
63  //by default, it uses too much padding
64  fMTop = -3;
65  fMBottom = -3;
66  }
67 
68  void DoRedraw() override;
69  };
70 
71  void BorderlessTextButton::DoRedraw() {
72  gVirtualX->ClearArea(fId, fBorderWidth, fBorderWidth, fWidth - (fBorderWidth << 1), fHeight - (fBorderWidth << 1));
73  //TGFrame::DoRedraw();
74 
75  int x, y;
76  if (fTMode & kTextLeft) {
77  x = fMLeft + 4;
78  } else if (fTMode & kTextRight) {
79  x = fWidth - fTWidth - fMRight - 4;
80  } else {
81  x = (fWidth - fTWidth + fMLeft - fMRight) >> 1;
82  }
83 
84  if (fTMode & kTextTop) {
85  y = fMTop + 3;
86  } else if (fTMode & kTextBottom) {
87  y = fHeight - fTHeight - fMBottom - 3;
88  } else {
89  y = (fHeight - fTHeight + fMTop - fMBottom) >> 1;
90  }
91 
92  Int_t hotpos = fLabel->GetHotPos();
93 
94  fTLayout->DrawText(fId, fNormGC, x, y, 0, -1);
95  if (hotpos)
96  fTLayout->UnderlineChar(fId, fNormGC, x, y, hotpos - 1);
97  }
98 } // namespace
99 
100 static const TGPicture* filtered(bool iBackgroundIsBlack) {
101  if (iBackgroundIsBlack) {
102  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "filtered-blackbg.png");
103  return s;
104  }
105  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "filtered-whitebg.png");
106  return s;
107 }
108 
109 static const TGPicture* filtered_over(bool iBackgroundIsBlack) {
110  if (iBackgroundIsBlack) {
111  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "filtered-whitebg-over.png");
112  return s;
113  }
114  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "filtered-whitebg-over.png");
115  return s;
116 }
117 
118 static const TGPicture* alert_over(bool iBackgroundIsBlack) {
119  if (iBackgroundIsBlack) {
120  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-blackbg-over.png");
121  return s;
122  }
123  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-whitebg-over.png");
124  return s;
125 }
126 
127 static const TGPicture* alert(bool iBackgroundIsBlack) {
128  if (iBackgroundIsBlack) {
129  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-blackbg.png");
130  return s;
131  }
132  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "icon-alert-whitebg.png");
133  return s;
134 }
135 
136 static const TGPicture* unfiltered(bool iBackgroundIsBlack) {
137  if (iBackgroundIsBlack) {
138  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "unfiltered-blackbg.png");
139  return s;
140  }
141  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "unfiltered-whitebg.png");
142  return s;
143 }
144 static const TGPicture* unfiltered_over(bool iBackgroundIsBlack) {
145  if (iBackgroundIsBlack) {
146  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "unfiltered-blackbg-over.png");
147  return s;
148  }
149  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "unfiltered-whitebg-over.png");
150  return s;
151 }
152 
153 static const TGPicture* info(bool iBackgroundIsBlack) {
154  if (iBackgroundIsBlack) {
155  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-blackbg.png");
156  return s;
157  }
158  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-whitebg.png");
159  return s;
160 }
161 
162 static const TGPicture* info_over(bool iBackgroundIsBlack) {
163  if (iBackgroundIsBlack) {
164  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-blackbg-over.png");
165  return s;
166  }
167  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-whitebg-over.png");
168  return s;
169 }
170 
171 static const TGPicture* info_disabled(bool iBackgroundIsBlack) {
172  if (iBackgroundIsBlack) {
173  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-blackbg-disabled.png");
174  return s;
175  }
176  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "info2-whitebg-disabled.png");
177  return s;
178 }
179 
180 static const TGPicture* arrow_right(bool iBackgroundIsBlack) {
181  if (iBackgroundIsBlack) {
182  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-white-right-blackbg.png");
183  return s;
184  }
185  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-black-right-whitebg.png");
186  return s;
187 }
188 
189 static const TGPicture* arrow_right_disabled(bool iBackgroundIsBlack) {
190  if (iBackgroundIsBlack) {
191  static const TGPicture* s =
192  gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-white-right-disabled-blackbg.png");
193  return s;
194  }
195  static const TGPicture* s =
196  gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-black-right-disabled-whitebg.png");
197  return s;
198 }
199 
200 static const TGPicture* arrow_down(bool iBackgroundIsBlack) {
201  if (iBackgroundIsBlack) {
202  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-white-down-blackbg.png");
203  return s;
204  }
205  static const TGPicture* s = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-black-down-whitebg.png");
206  return s;
207 }
208 
209 static const TGPicture* arrow_down_disabled(bool iBackgroundIsBlack) {
210  if (iBackgroundIsBlack) {
211  static const TGPicture* s =
212  gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-white-down-disabled-blackbg.png");
213  return s;
214  }
215  static const TGPicture* s =
216  gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "arrow-black-down-disabled-whitebg.png");
217  return s;
218 }
219 
220 static const unsigned long kWidgetColor = 0x2f2f2f;
221 static const unsigned long kWidgetColorLight = 0xdfdfdf;
222 //
223 // constructors and destructor
224 //
225 FWCollectionSummaryWidget::FWCollectionSummaryWidget(TGFrame* iParent, FWEventItem& iItem, TGLayoutHints* iHints)
226  : TGCompositeFrame(iParent),
227  m_collection(&iItem),
228  m_hints(iHints),
229  m_parent(iParent),
230  m_collectionShown(false),
231  m_tableContext(nullptr),
232  m_indexForColor(-1),
233  m_colorPopup(nullptr),
234  m_tableManager(nullptr),
235  m_tableWidget(nullptr),
236  m_backgroundIsWhite(false),
237  m_connectionHolder(new FWCollectionSummaryWidgetConnectionHolder) {
238  SetBackgroundColor(kWidgetColor);
239  const unsigned int backgroundColor = kBlack;
240 
241  TGCompositeFrame* hFrame = new TGHorizontalFrame(this, 10, 10, 0, backgroundColor);
242  m_holder = hFrame;
243  this->AddFrame(hFrame, new TGLayoutHints(kLHintsTop | kLHintsExpandX));
244 
249  m_showHideButton->Connect("Clicked()", "FWCollectionSummaryWidget", this, "toggleShowHide()");
250  m_showHideButton->SetToolTipText("show/hide individual collection items");
251  m_collectionShown = false;
252  hFrame->AddFrame(m_showHideButton, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 6, 10));
253 
254  //m_isVisibleButton = new TGCheckButton(this,"");
255  //m_isVisibleButton->SetState(kButtonDown, kFALSE);
257  m_isVisibleButton = new FWBoxIconButton(this, m_isVisibleCheckBox, -1, GetWhiteGC()());
258  m_isVisibleButton->SetBackgroundColor(backgroundColor);
259  m_isVisibleButton->SetToolTipText("make all items in collection visible/invisible");
260  hFrame->AddFrame(m_isVisibleButton, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 0, 1));
261  m_isVisibleButton->Connect("Clicked()", "FWCollectionSummaryWidget", this, "toggleItemVisible()");
262 
264  m_colorSelectWidget = new FWBoxIconButton(this, m_colorSelectBox, -1, GetWhiteGC()());
265  hFrame->AddFrame(m_colorSelectWidget, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 1));
266  //m_colorSelectWidget->Connect("ColorSelected(Pixel_t)", "FWCollectionSummaryWidget", this, "colorChangeRequested(Pixel_t)");
267  m_colorSelectWidget->Connect("Clicked()", "FWCollectionSummaryWidget", this, "colorClicked()");
268  m_colorSelectWidget->SetBackgroundColor(backgroundColor);
269  m_colorSelectWidget->SetToolTipText("set default color of items in collection");
270  GCValues_t t = *(GetWhiteGC().GetAttributes());
271  m_graphicsContext = gClient->GetResourcePool()->GetGCPool()->GetGC(&t, kTRUE);
273 
274  m_label = new BorderlessTextButton(this, m_collection->name().c_str());
275  m_label->SetBackgroundColor(backgroundColor);
276  m_label->SetTextJustify(kTextLeft | kTextCenterY);
277  m_label->SetTextColor(static_cast<Pixel_t>(gVirtualX->GetPixel(kWhite)));
278  hFrame->AddFrame(m_label, new TGLayoutHints(kLHintsCenterY | kLHintsLeft | kLHintsExpandX, 5, 5));
279  m_label->Connect("Clicked()", "FWCollectionSummaryWidget", this, "labelClicked()");
280  m_label->SetToolTipText("select collection and show controller");
281 
286  hFrame->AddFrame(m_stateButton, new TGLayoutHints(kLHintsCenterY | kLHintsLeft));
287  itemChanged();
288  displayChanged();
289  m_stateButton->Connect("Clicked()", "FWCollectionSummaryWidget", this, "stateClicked()");
290  m_stateButton->SetToolTipText("select collection and show filter");
291 
294  hFrame->AddFrame(m_infoButton, new TGLayoutHints(kLHintsCenterY | kLHintsRight, 2, 2));
295  m_infoButton->Connect("Clicked()", "FWCollectionSummaryWidget", this, "infoClicked()");
296  m_infoButton->SetToolTipText("select collection and show data info");
297 
300  std::bind(&FWCollectionSummaryWidget::displayChanged, this)));
305 
306  MapSubwindows();
307  Layout();
308  MapWindow();
309 }
310 
311 // FWCollectionSummaryWidget::FWCollectionSummaryWidget(const FWCollectionSummaryWidget& rhs)
312 // {
313 // // do actual copying here;
314 // }
315 
317  delete m_colorPopup;
318  /* the following deletes lead to an infinite loop at the end of the job
319  delete m_hints;
320  delete m_showHideButton;
321  delete m_isVisibleButton;
322  delete m_colorSelectWidget;
323  delete m_stateButton;
324  delete m_infoButton;
325  */
326  gClient->GetResourcePool()->GetGCPool()->FreeGC(m_graphicsContext->GetGC());
327  delete m_connectionHolder;
328 }
329 
330 //
331 // assignment operators
332 //
333 // const FWCollectionSummaryWidget& FWCollectionSummaryWidget::operator=(const FWCollectionSummaryWidget& rhs)
334 // {
335 // //An exception safe implementation is
336 // FWCollectionSummaryWidget temp(rhs);
337 // swap(rhs);
338 //
339 // return *this;
340 // }
341 
342 //
343 // member functions
344 //
345 static void setLabelBackgroundColor(TGTextButton* iLabel, bool iIsSelected, bool iBackgroundIsWhite) {
346  if (iIsSelected) {
347  if (iBackgroundIsWhite) {
348  iLabel->SetBackgroundColor(0x7777FF);
349  } else {
350  iLabel->SetBackgroundColor(0x0000FF);
351  }
352  } else {
353  if (iBackgroundIsWhite) {
354  iLabel->SetBackgroundColor(0xFFFFFF);
355  } else {
356  iLabel->SetBackgroundColor(0x000000);
357  }
358  }
359 }
360 
362  m_graphicsContext->SetForeground(gVirtualX->GetPixel(m_collection->defaultDisplayProperties().color()));
363  fClient->NeedRedraw(m_colorSelectWidget);
365  fClient->NeedRedraw(m_isVisibleButton);
367  fClient->NeedRedraw(m_label);
368 }
369 
371  const TGPicture* picture = nullptr;
372  const TGPicture* down = nullptr;
373  const TGPicture* disabled = nullptr;
374  if (m_collection->hasError()) {
375  picture = alert(!m_backgroundIsWhite);
378  m_stateButton->SetToolTipText(m_collection->errorMessage().c_str());
379  } else {
380  if (!m_collection->filterExpression().empty()) {
381  picture = filtered(!m_backgroundIsWhite);
384  } else {
385  picture = unfiltered(!m_backgroundIsWhite);
388  }
389  m_stateButton->SetToolTipText("select collection and show filter");
390  }
391  m_stateButton->swapIcons(picture, down, disabled);
392 }
393 
395  if (-1 == m_indexForColor) {
397  changeProperties.setColor(color);
398  m_collection->setDefaultDisplayProperties(changeProperties);
399  return;
400  }
401 
403  changeProperties.setColor(color);
405 }
406 
410  changeProperties.setIsVisible(m_isVisibleCheckBox->isChecked());
411  m_collection->setDefaultDisplayProperties(changeProperties);
412  fClient->NeedRedraw(m_isVisibleButton);
413 }
414 
415 static TGGC* selectContext() {
416  static TGGC* s_context = nullptr;
417  if (nullptr == s_context) {
418  GCValues_t hT = *(gClient->GetResourcePool()->GetSelectedGC()->GetAttributes());
419  s_context = gClient->GetResourcePool()->GetGCPool()->GetGC(&hT, kTRUE);
420  s_context->SetForeground(s_context->GetBackground());
421  //s_context->SetForeground(gVirtualX->GetPixel(kBlue+2));
422  }
423  return s_context;
424 }
425 
427  const TGPicture* picture = nullptr;
428  const TGPicture* down = nullptr;
429  const TGPicture* disabled = nullptr;
430 
431  if (m_collectionShown) {
432  picture = arrow_right(!m_backgroundIsWhite);
435  m_collectionShown = false;
436  HideFrame(m_tableWidget);
437  m_hints->SetLayoutHints(kLHintsExpandX);
438  } else {
439  picture = arrow_down(!m_backgroundIsWhite);
442  m_collectionShown = true;
443 
444  if (nullptr == m_tableManager) {
445  GCValues_t t = *(GetWhiteGC().GetAttributes());
446  t.fFont = gClient->GetResourcePool()->GetIconFont()->GetFontHandle();
447  m_tableContext = gClient->GetResourcePool()->GetGCPool()->GetGC(&t, kTRUE);
448 
449  TGGC* hilightContext = selectContext();
452  m_tableWidget->SetHeaderBackgroundColor(fClient->GetResourcePool()->GetFrameGC()->GetBackground());
453  colorTable();
454  AddFrame(m_tableWidget, new TGLayoutHints(kLHintsBottom | kLHintsExpandX | kLHintsExpandY));
455  m_tableWidget->Connect("rowClicked(Int_t,Int_t,Int_t,Int_t,Int_t)",
456  "FWCollectionSummaryWidget",
457  this,
458  "modelSelected(Int_t,Int_t,Int_t,Int_t,Int_t)");
459 
460  MapSubwindows();
461  Layout();
462  }
463  ShowFrame(m_tableWidget);
464  m_hints->SetLayoutHints(kLHintsExpandX | kLHintsExpandY);
465  //NOTE: if I don't do the resize then the vertical scrollbars for the table are
466  // messed up when the number of entries in the table can be fully scene but
467  // a scrollbar is still added which thinks only a tiny area of the list can be seen
468  m_tableWidget->Resize(m_tableWidget->GetWidth(), m_tableWidget->GetHeight());
469  }
470 
471  if (nullptr != m_parent) {
472  m_parent->Layout();
473  }
475 }
476 
478  if (nullptr == m_colorPopup) {
479  std::vector<Color_t> colors;
481 
482  m_colorPopup = new FWColorPopup(gClient->GetDefaultRoot(), m_collection->defaultDisplayProperties().color());
484  m_colorPopup->Connect("ColorSelected(Color_t)", "FWCollectionSummaryWidget", this, "colorChangeRequested(Color_t)");
485  }
486 }
487 
490  m_indexForColor = -1;
491 
493  Window_t wdummy;
494  Int_t ax, ay;
495  gVirtualX->TranslateCoordinates(m_colorSelectWidget->GetId(),
496  gClient->GetDefaultRoot()->GetId(),
497  0,
498  m_colorSelectWidget->GetHeight(),
499  ax,
500  ay,
501  wdummy);
502  m_colorPopup->SetName(m_collection->name().c_str());
503  std::vector<Color_t> colors;
507  m_colorPopup->PlacePopup(ax, ay, m_colorPopup->GetDefaultWidth(), m_colorPopup->GetDefaultHeight());
508 }
509 
510 void FWCollectionSummaryWidget::itemColorClicked(int iIndex, Int_t iRootX, Int_t iRootY) {
512  m_indexForColor = iIndex;
513 
515  std::vector<Color_t> colors;
518  m_colorPopup->SetName(m_collection->modelName(iIndex).c_str());
520  m_colorPopup->PlacePopup(iRootX, iRootY, m_colorPopup->GetDefaultWidth(), m_colorPopup->GetDefaultHeight());
521 }
522 
523 void FWCollectionSummaryWidget::modelSelected(Int_t iRow, Int_t iButton, Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY) {
524  if (iKeyMod & kKeyControlMask) {
525  m_collection->toggleSelect(iRow);
526  } else {
529  m_collection->select(iRow);
530  }
531  if (iButton == kButton3) {
532  requestForModelContextMenu(iGlobalX, iGlobalY);
533  }
534 }
535 
537  Emit("requestForInfo(FWEventItem*)", reinterpret_cast<long>(iItem));
538 }
539 
541  Emit("requestForFilter(FWEventItem*)", reinterpret_cast<long>(iItem));
542 }
543 
545  Emit("requestForErrorInfo(FWEventItem*)", reinterpret_cast<long>(iItem));
546 }
547 
549  Emit("requestForController(FWEventItem*)", reinterpret_cast<long>(iItem));
550 }
551 
552 void FWCollectionSummaryWidget::requestForModelContextMenu(Int_t iGlobalX, Int_t iGlobalY) {
553  Long_t args[2];
554  args[0] = static_cast<Long_t>(iGlobalX);
555  args[1] = static_cast<Long_t>(iGlobalY);
556  Emit("requestForModelContextMenu(Int_t,Int_t)", args);
557 }
558 
560  if (!m_collection->itemIsSelected()) {
561  //NOTE: Want to be sure if models are selected then their collection is also selected
564  }
566 }
567 
569  if (!m_collection->itemIsSelected()) {
570  //NOTE: Want to be sure if models are selected then their collection is also selected
573  }
575 }
576 
578  if (!m_collection->itemIsSelected()) {
579  //NOTE: Want to be sure if models are selected then their collection is also selected
582  }
584 }
585 
587  if (iToWhite == m_backgroundIsWhite) {
588  return;
589  }
590  Pixel_t bc = 0x000000;
591  Pixel_t fg = 0xffffff;
592  if (iToWhite) {
593  bc = 0xffffff;
594  fg = 0x000000;
595  m_backgroundIsWhite = true;
596  SetBackgroundColor(kWidgetColorLight);
597  m_isVisibleButton->setNormCG(GetBlackGC()());
598  m_colorSelectWidget->setNormCG(GetBlackGC()());
599  selectContext()->SetForeground(0xafafFF);
600  } else {
601  m_backgroundIsWhite = false;
602  SetBackgroundColor(kWidgetColor);
603  m_isVisibleButton->setNormCG(GetWhiteGC()());
604  m_colorSelectWidget->setNormCG(GetWhiteGC()());
605  selectContext()->SetForeground(gClient->GetResourcePool()->GetSelectedGC()->GetBackground());
606  }
607  //this forces the icons to be changed to the correct background
608  itemChanged();
609  m_graphicsContext->SetForeground(gVirtualX->GetPixel(m_collection->defaultDisplayProperties().color()));
610  {
611  const TGPicture* picture = info(!m_backgroundIsWhite);
612  const TGPicture* over = info_over(!m_backgroundIsWhite);
613  const TGPicture* disabled = info_disabled(!m_backgroundIsWhite);
614  m_infoButton->swapIcons(picture, over, disabled);
615  }
616  if (m_collectionShown) {
617  const TGPicture* picture = arrow_down(!m_backgroundIsWhite);
618  const TGPicture* down = arrow_down_disabled(!m_backgroundIsWhite);
619  const TGPicture* disabled = arrow_down_disabled(!m_backgroundIsWhite);
621  } else {
622  const TGPicture* picture = arrow_right(!m_backgroundIsWhite);
623  const TGPicture* down = arrow_right_disabled(!m_backgroundIsWhite);
626  }
627  colorTable();
628  m_holder->SetBackgroundColor(bc);
630  m_label->SetTextColor(fg);
631  m_isVisibleButton->SetBackgroundColor(bc);
632  m_colorSelectWidget->SetBackgroundColor(bc);
633  fClient->NeedRedraw(m_isVisibleButton);
634  fClient->NeedRedraw(m_colorSelectWidget);
635  fClient->NeedRedraw(m_holder);
636  fClient->NeedRedraw(this);
637 }
638 
640  if (nullptr == m_tableWidget) {
641  return;
642  }
643  if (m_backgroundIsWhite) {
646  m_tableContext->SetForeground(0x000000);
647  } else {
650  m_tableContext->SetForeground(0xffffff);
651  }
652 }
653 //
654 // const member functions
655 //
656 
657 //
658 // static member functions
659 //
660 
FWCollectionSummaryWidget::m_infoButton
FWCustomIconsButton * m_infoButton
Definition: FWCollectionSummaryWidget.h:103
writedatasetfile.args
args
Definition: writedatasetfile.py:18
FWColorPopup::ResetColors
void ResetColors(const std::vector< Color_t > &colors, bool backgroundIsBlack=true)
Definition: FWColorSelect.cc:216
FWCollectionSummaryWidget::m_stateButton
FWCustomIconsButton * m_stateButton
Definition: FWCollectionSummaryWidget.h:102
FWModelChangeManager.h
FWTableWidget::SetBackgroundColor
void SetBackgroundColor(Pixel_t) override
Definition: FWTableWidget.cc:173
FWEventItem::modelInfo
ModelInfo modelInfo(int iIndex) const
Definition: FWEventItem.cc:446
FWDisplayProperties::isVisible
bool isVisible() const
Definition: FWDisplayProperties.h:51
unfiltered_over
static const TGPicture * unfiltered_over(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:144
FWCollectionSummaryWidget::m_collectionShown
bool m_collectionShown
Definition: FWCollectionSummaryWidget.h:106
FWCheckBoxIcon::coreIcondir
static const TString & coreIcondir()
Definition: FWCheckBoxIcon.cc:76
FWCollectionSummaryWidget::stateClicked
void stateClicked()
Definition: FWCollectionSummaryWidget.cc:568
colors
vector< Color_t > colors
Definition: trackSplitPlot.h:37
funct::false
false
Definition: Factorize.h:29
colors
Definition: colors.py:1
FWCustomIconsButton.h
FWCollectionSummaryWidget::m_colorPopup
FWColorPopup * m_colorPopup
Definition: FWCollectionSummaryWidget.h:110
FWEventItem::errorMessage
const std::string & errorMessage() const
returns error string if there was a problem this event
Definition: FWEventItem.cc:541
FWCollectionSummaryWidget::m_collection
FWEventItem * m_collection
Definition: FWCollectionSummaryWidget.h:93
FWCollectionSummaryTableManager
Definition: FWCollectionSummaryTableManager.h:35
FWColorPopup::SetName
void SetName(const char *iName) override
Definition: FWColorSelect.cc:274
FWCollectionSummaryWidget::toggleItemVisible
void toggleItemVisible()
Definition: FWCollectionSummaryWidget.cc:407
setLabelBackgroundColor
static void setLabelBackgroundColor(TGTextButton *iLabel, bool iIsSelected, bool iBackgroundIsWhite)
Definition: FWCollectionSummaryWidget.cc:345
FWEventItem::toggleSelect
void toggleSelect(int iIndex) const
Definition: FWEventItem.cc:236
FWCollectionSummaryWidget::modelSelected
void modelSelected(Int_t iRow, Int_t iButton, Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY)
Definition: FWCollectionSummaryWidget.cc:523
FWColorPopup::SetSelection
void SetSelection(Color_t)
Definition: FWColorSelect.cc:276
FWDisplayProperties::setIsVisible
void setIsVisible(bool iSet)
Definition: FWDisplayProperties.h:71
filtered_over
static const TGPicture * filtered_over(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:109
FWCheckBoxIcon.h
FWCollectionSummaryWidget::~FWCollectionSummaryWidget
~FWCollectionSummaryWidget() override
Definition: FWCollectionSummaryWidget.cc:316
FWTableWidget::Resize
void Resize(UInt_t w, UInt_t h) override
Definition: FWTableWidget.cc:221
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
FWEventItem::itemIsSelected
bool itemIsSelected() const
Definition: FWEventItem.cc:537
FWCollectionSummaryWidget::m_backgroundIsWhite
bool m_backgroundIsWhite
Definition: FWCollectionSummaryWidget.h:114
FWEventItem::selectionManager
FWSelectionManager * selectionManager() const
Definition: FWEventItem.h:124
FWColorManager::backgroundColorIndex
BackgroundColorIndex backgroundColorIndex() const
Definition: FWColorManager.cc:260
FWCheckBoxIcon
Definition: FWCheckBoxIcon.h:28
FWColorSelect.h
FWDisplayProperties::color
Color_t color() const
Definition: FWDisplayProperties.h:47
FWEventItem::setDefaultDisplayProperties
void setDefaultDisplayProperties(const FWDisplayProperties &)
Definition: FWEventItem.cc:138
FWEventItem::defaultDisplayPropertiesChanged_
FWItemChangeSignal defaultDisplayPropertiesChanged_
Definition: FWEventItem.h:190
FWSelectionManager::clearSelection
void clearSelection()
Definition: FWSelectionManager.cc:63
FWEventItem::select
void select(int iIndex) const
Definition: FWEventItem.cc:224
FWEventItem::changeManager
FWModelChangeManager * changeManager() const
Definition: FWEventItem.h:123
kWidgetColor
static const unsigned long kWidgetColor
Definition: FWCollectionSummaryWidget.cc:220
FWCollectionSummaryWidget::setBackgroundToWhite
void setBackgroundToWhite(bool)
Definition: FWCollectionSummaryWidget.cc:586
FWCollectionSummaryWidget::m_holder
TGFrame * m_holder
Definition: FWCollectionSummaryWidget.h:105
FWEventItem::defaultDisplayProperties
const FWDisplayProperties & defaultDisplayProperties() const
Definition: FWEventItem.cc:403
arrow_down
static const TGPicture * arrow_down(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:200
arrow_down_disabled
static const TGPicture * arrow_down_disabled(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:209
FWCollectionSummaryWidget::m_colorSelectBox
FWColorBoxIcon * m_colorSelectBox
Definition: FWCollectionSummaryWidget.h:101
FWCollectionSummaryWidgetConnectionHolder::m_connections
std::vector< sigc::connection > m_connections
Definition: FWCollectionSummaryWidget.cc:41
FWCollectionSummaryWidgetConnectionHolder
Definition: FWCollectionSummaryWidget.cc:40
alignCSCRings.s
s
Definition: alignCSCRings.py:92
down
Definition: BitonicSort.h:7
FWSelectionManager.h
arrow_right_disabled
static const TGPicture * arrow_right_disabled(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:189
FWCustomIconsButton::swapIcons
void swapIcons(const TGPicture *&iUpIcon, const TGPicture *&iDownIcon, const TGPicture *&iDisabledIcon)
Definition: FWCustomIconsButton.cc:78
FWColorManager.h
FWTableWidget
Definition: FWTableWidget.h:35
FWTableWidget.h
FWCollectionSummaryTableManager.h
FWChangeSentry
Definition: FWModelChangeManager.h:68
FWCollectionSummaryWidgetConnectionHolder::reserve
void reserve(size_t iSize)
Definition: FWCollectionSummaryWidget.cc:48
FWCollectionSummaryWidget::toggleShowHide
void toggleShowHide()
Definition: FWCollectionSummaryWidget.cc:426
FWCollectionSummaryWidget::m_showHideButton
FWCustomIconsButton * m_showHideButton
Definition: FWCollectionSummaryWidget.h:96
FWCollectionSummaryWidget::requestForModelContextMenu
void requestForModelContextMenu(Int_t, Int_t)
Definition: FWCollectionSummaryWidget.cc:552
unfiltered
static const TGPicture * unfiltered(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:136
alert_over
static const TGPicture * alert_over(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:118
FWCollectionSummaryWidget::createColorPopup
void createColorPopup()
Definition: FWCollectionSummaryWidget.cc:477
FWCheckBoxIcon::isChecked
bool isChecked() const
Definition: FWCheckBoxIcon.h:34
FWDisplayProperties::setColor
void setColor(Color_t iColor)
Definition: FWDisplayProperties.h:62
FWCollectionSummaryWidget::itemColorClicked
void itemColorClicked(int iIndex, Int_t iRootX, Int_t iRootY)
Definition: FWCollectionSummaryWidget.cc:510
FWCollectionSummaryWidget::itemChanged
void itemChanged()
Definition: FWCollectionSummaryWidget.cc:370
FWCustomIconsButton
Definition: FWCustomIconsButton.h:29
FWEventItem::itemChanged_
FWItemChangeSignal itemChanged_
Definition: FWEventItem.h:181
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FWCollectionSummaryWidget::FWCollectionSummaryWidget
FWCollectionSummaryWidget(TGFrame *iParent, FWEventItem &iItem, TGLayoutHints *)
Definition: FWCollectionSummaryWidget.cc:225
info_over
static const TGPicture * info_over(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:162
FWCollectionSummaryWidget::m_graphicsContext
TGGC * m_graphicsContext
Definition: FWCollectionSummaryWidget.h:107
FWCollectionSummaryWidget::m_label
TGTextButton * m_label
Definition: FWCollectionSummaryWidget.h:104
FWEventItem::filterExpression
const std::string & filterExpression() const
Definition: FWEventItem.cc:491
hcaldqm::fClient
Definition: DQModule.h:24
FWCollectionSummaryWidget::requestForController
void requestForController(FWEventItem *)
Definition: FWCollectionSummaryWidget.cc:548
FWEventItem::modelName
std::string modelName(int iIndex) const
Definition: FWEventItem.cc:471
FWBoxIconButton.h
ClassImp
ClassImp(FWCollectionSummaryWidget)
FWCollectionSummaryWidget::colorTable
void colorTable()
Definition: FWCollectionSummaryWidget.cc:639
FWCollectionSummaryWidget::colorChangeRequested
void colorChangeRequested(Color_t iColorIndex)
Definition: FWCollectionSummaryWidget.cc:394
FWColorPopup::PlacePopup
void PlacePopup(Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: FWColorSelect.cc:229
FWCollectionSummaryWidget::displayChanged
void displayChanged()
Definition: FWCollectionSummaryWidget.cc:361
FWCollectionSummaryWidget::m_tableManager
FWCollectionSummaryTableManager * m_tableManager
Definition: FWCollectionSummaryWidget.h:112
kWidgetColorLight
static const unsigned long kWidgetColorLight
Definition: FWCollectionSummaryWidget.cc:221
filtered
static const TGPicture * filtered(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:100
FWCollectionSummaryWidget::m_indexForColor
int m_indexForColor
Definition: FWCollectionSummaryWidget.h:109
FWCollectionSummaryWidget::infoClicked
void infoClicked()
Definition: FWCollectionSummaryWidget.cc:559
FWCollectionSummaryWidget::requestForInfo
void requestForInfo(FWEventItem *)
Definition: FWCollectionSummaryWidget.cc:536
FWEventItem::hasError
bool hasError() const
returns true if failed to get data for this event
Definition: FWEventItem.cc:539
FWCollectionSummaryWidget::m_parent
TGFrame * m_parent
Definition: FWCollectionSummaryWidget.h:95
FWCollectionSummaryWidget::m_hints
TGLayoutHints * m_hints
Definition: FWCollectionSummaryWidget.h:94
mps_check.disabled
string disabled
Definition: mps_check.py:68
selectContext
static TGGC * selectContext()
Definition: FWCollectionSummaryWidget.cc:415
FWColorManager
Definition: FWColorManager.h:45
FWEventItem::setDisplayProperties
void setDisplayProperties(int iIndex, const FWDisplayProperties &) const
Definition: FWEventItem.cc:247
FWColorPopup
Definition: FWColorSelect.h:68
FWEventItem.h
FWCollectionSummaryWidget::colorClicked
void colorClicked()
Definition: FWCollectionSummaryWidget.cc:488
FWEventItem::ModelInfo::displayProperties
const FWDisplayProperties & displayProperties() const
Definition: FWEventItem.h:64
FWColorBoxIcon.h
FWDisplayProperties
Definition: FWDisplayProperties.h:28
alert
static const TGPicture * alert(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:127
FWEventItem
Definition: FWEventItem.h:56
FWCollectionSummaryWidgetConnectionHolder::push_back
void push_back(const sigc::connection &iC)
Definition: FWCollectionSummaryWidget.cc:47
FWBoxIconButton
Definition: FWBoxIconButton.h:29
FWTableWidget::SetLineSeparatorColor
void SetLineSeparatorColor(Pixel_t)
Definition: FWTableWidget.cc:209
FWCollectionSummaryWidget::m_isVisibleButton
FWBoxIconButton * m_isVisibleButton
Definition: FWCollectionSummaryWidget.h:97
FWCollectionSummaryWidget::m_isVisibleCheckBox
FWCheckBoxIcon * m_isVisibleCheckBox
Definition: FWCollectionSummaryWidget.h:98
FWColorBoxIcon
Definition: FWColorBoxIcon.h:28
FWBoxIconButton::setNormCG
void setNormCG(GContext_t)
Definition: FWBoxIconButton.cc:60
FWColorBoxIcon::setColor
void setColor(GContext_t iColorContext)
Definition: FWColorBoxIcon.h:38
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
FWColorManager::fillLimitedColors
void fillLimitedColors(std::vector< Color_t > &cv) const
Definition: FWColorManager.cc:253
genVertex_cff.x
x
Definition: genVertex_cff.py:13
FWCollectionSummaryWidget::m_tableWidget
FWTableWidget * m_tableWidget
Definition: FWCollectionSummaryWidget.h:113
detailsBasic3DVector::y
float float y
Definition: extBasic3DVector.h:14
FWCollectionSummaryWidget
Definition: FWCollectionSummaryWidget.h:49
FWColorManager::kBlackIndex
Definition: FWColorManager.h:73
FWEventItem::filterChanged_
FWItemChangeSignal filterChanged_
Definition: FWEventItem.h:193
FWEventItem::selectItem
void selectItem()
Definition: FWEventItem.cc:514
FWCollectionSummaryWidget::requestForFilter
void requestForFilter(FWEventItem *)
Definition: FWCollectionSummaryWidget.cc:540
FWTableWidget::SetHeaderBackgroundColor
void SetHeaderBackgroundColor(Pixel_t)
Definition: FWTableWidget.cc:188
FWCollectionSummaryWidget::m_colorSelectWidget
FWBoxIconButton * m_colorSelectWidget
Definition: FWCollectionSummaryWidget.h:100
arrow_right
static const TGPicture * arrow_right(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:180
FWEventItem::name
const std::string & name() const
Definition: FWEventItem.cc:435
FWCollectionSummaryWidget::m_tableContext
TGGC * m_tableContext
Definition: FWCollectionSummaryWidget.h:108
FWCollectionSummaryWidget::requestForErrorInfo
void requestForErrorInfo(FWEventItem *)
Definition: FWCollectionSummaryWidget.cc:544
FWCollectionSummaryWidget.h
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
FWCheckBoxIcon::setChecked
void setChecked(bool iChecked)
Definition: FWCheckBoxIcon.h:40
FWEventItem::colorManager
FWColorManager * colorManager() const
Definition: FWEventItem.h:126
FWColorPopup::InitContent
void InitContent(const char *name, const std::vector< Color_t > &colors, bool backgroundIsBlack=true)
Definition: FWColorSelect.cc:165
FWCollectionSummaryWidget::m_connectionHolder
FWCollectionSummaryWidgetConnectionHolder * m_connectionHolder
Definition: FWCollectionSummaryWidget.h:116
FWCollectionSummaryWidget::labelClicked
void labelClicked()
Definition: FWCollectionSummaryWidget.cc:577
info_disabled
static const TGPicture * info_disabled(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:171
FWCollectionSummaryWidgetConnectionHolder::~FWCollectionSummaryWidgetConnectionHolder
~FWCollectionSummaryWidgetConnectionHolder()
Definition: FWCollectionSummaryWidget.cc:43