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