CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CmsShowEDI.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Core
4 // Class : CmsShowEDI
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Joshua Berger
10 // Created: Mon Jun 23 15:48:11 EDT 2008
11 // $Id: CmsShowEDI.cc,v 1.48.2.1 2013/04/09 00:51:49 amraktad Exp $
12 //
13 
14 // system include files
15 #include <iostream>
16 #include <sstream>
17 #include <sigc++/sigc++.h>
18 #include <boost/bind.hpp>
19 #include "TClass.h"
20 #include "TGFrame.h"
21 #include "TGTab.h"
22 #include "TGButton.h"
23 #include "TGLabel.h"
24 #include "TGString.h"
25 #include "TColor.h"
26 #include "TG3DLine.h"
27 #include "TGNumberEntry.h"
28 #include "TGTextEntry.h"
29 #include "TGTextView.h"
30 #include "TGLayout.h"
31 #include "TGFont.h"
32 #include "TEveManager.h"
33 #include "TGSlider.h"
34 #include "TGMsgBox.h"
35 #include "TGComboBox.h"
36 
37 // user include files
52 
53 //
54 // constants, enums and typedefs
56 
57 //
58 // static data member definitions
59 //
60 
61 //
62 // constructors and destructor
63 //
64 CmsShowEDI::CmsShowEDI(const TGWindow* p, UInt_t w, UInt_t h, FWSelectionManager* selMgr, FWColorManager* colorMgr) :
65  TGTransientFrame(gClient->GetDefaultRoot(), p, w, h),
66  m_item(0),
67  m_validator(new FWExpressionValidator),
68  m_colorManager(colorMgr),
69  m_settersFrame(0)
70 {
71  m_selectionManager = selMgr;
72  SetCleanup(kDeepCleanup);
73 
75 
76  TGVerticalFrame* vf = new TGVerticalFrame(this);
77  AddFrame(vf, new TGLayoutHints(kLHintsExpandX|kLHintsExpandY, 0, 0, 0, 0));
78  FWDialogBuilder builder(vf);
79 
80  builder.indent(0)
81  .addLabel(" ", 14, 2, &m_objectLabel)
82  .vSpacer()
83  .tabs(&m_tabs)
84  .beginTab("Graphics")
85  .indent(3)
86  .addLabel("Color", 8)
87  .addColorPicker(colorMgr, &m_colorSelectWidget).expand(false)
88  .addHSeparator()
89  .addLabel("Opacity", 8)
91  .addHSeparator()
92  .addCheckbox("Visible", &m_isVisibleButton)
93  .addHSeparator()
94  .addLabel("Drawing order", 8)
95  .addTextButton("To back", &m_backButton).floatLeft().expand(false)
96  .addNumberEntry(0.0, 4, TGNumberFormat::kNESInteger,
99  &m_layerEntry).expand(false).floatLeft()
100  .addTextButton("To front", &m_frontButton).expand(false)
101  .vSpacer()
102  .addHSeparator()
103  .endTab()
104  .beginTab("Filter")
105  .indent(3)
106  .addLabel("Expression", 8)
108  .addTextButton("Filter", &m_filterButton).expand(false)
110  .vSpacer()
111  .endTab()
112  .beginTab("Select")
113  .indent(3)
114  .addLabel("Expression", 8)
116  .addTextButton("Select", &m_selectButton).floatLeft().expand(false)
117  .addTextButton("Select all", &m_selectAllButton).expand(false).floatLeft()
118  .addTextButton("Unselect all", &m_deselectAllButton).expand(false)
119  .indent(3)
120  .addLabel("Color Selection", 8)
121  .addColorPicker(colorMgr, &m_cw).expand(false)
123  .vSpacer()
124  .endTab()
125  .beginTab("Data")
126  .indent(3)
127  .addLabel("Name:", 8)
128  .addTextEntry("None", &m_nameEntry)
129  .addLabel("Labels:", 8)
130  .addLabel("Type:", 8)
131  .addTextEntry("None", &m_typeEntry)
132  .addLabel("Module:", 8)
133  .addTextEntry("None", &m_moduleEntry)
134  .addLabel("Instance:", 8)
135  .addTextEntry("None", &m_instanceEntry)
136  .addLabel("Process:", 8)
137  .addTextEntry("None", &m_processEntry)
138  .addHSeparator()
139  .addTextButton("Remove collection", &m_removeButton).expand(false)
140  .vSpacer()
141  .endTab()
142  .untabs();
143 
144  m_filterError->SetForegroundColor(gVirtualX->GetPixel(kRed));
145  m_filterError->SetBackgroundColor(TGFrame::GetDefaultFrameBackground());
146  m_filterError->ChangeOptions(0);
147 
148  m_selectError->SetForegroundColor(gVirtualX->GetPixel(kRed));
149  m_selectError->SetBackgroundColor(TGFrame::GetDefaultFrameBackground());
150  m_selectError->ChangeOptions(0);
151 
154 
155  m_colorSelectWidget->Connect("ColorChosen(Color_t)", "CmsShowEDI", this, "changeItemColor(Color_t)");
156  m_cw->Connect("ColorChosen(Color_t)", "CmsShowEDI", this, "changeSelectionColor(Color_t)");
157  m_opacitySlider->Connect("PositionChanged(Int_t)", "CmsShowEDI", this, "changeItemOpacity(Int_t)");
158  m_isVisibleButton->Connect("Toggled(Bool_t)", "CmsShowEDI", this, "toggleItemVisible(Bool_t)");
159  m_filterExpressionEntry->Connect("ReturnPressed()", "CmsShowEDI", this, "runFilter()");
160  m_filterButton->Connect("Clicked()", "CmsShowEDI", this, "runFilter()");
161  m_selectExpressionEntry->Connect("ReturnPressed()", "CmsShowEDI", this, "runSelection()");
162  m_selectButton->Connect("Clicked()", "CmsShowEDI", this, "runSelection()");
163  m_removeButton->Connect("Clicked()", "CmsShowEDI", this, "removeItem()");
164  m_selectAllButton->Connect("Clicked()", "CmsShowEDI", this, "selectAll()");
165  m_deselectAllButton->Connect("Clicked()", "CmsShowEDI", this, "deselectAll()");
166  m_frontButton->Connect("Clicked()","CmsShowEDI",this,"moveToFront()");
167  m_backButton->Connect("Clicked()","CmsShowEDI",this,"moveToBack()");
168  m_layerEntry->Connect("ValueSet(Long_t)","CmsShowEDI",this,"moveToLayer(Long_t)");
169 
170 
171  TGCompositeFrame* cf = m_tabs->GetTabContainer(0);
172  m_settersFrame = new TGVerticalFrame(cf);
173  m_settersFrame->SetCleanup(kDeepCleanup);
174  // m_settersFrame->SetBackgroundColor(0xff00ff);
175  cf->AddFrame(m_settersFrame, new TGLayoutHints(kLHintsExpandX| kLHintsExpandY ));
176 
177  SetWindowName("Collection Controller");
178  MapSubwindows();
179  Resize(GetDefaultSize());
180  Layout();
181 
182  fillEDIFrame();
183 }
184 
185 // CmsShowEDI::CmsShowEDI(const CmsShowEDI& rhs)
186 // {
187 // // do actual copying here;
188 // }
189 
191 {
192  disconnectAll();
193  m_colorSelectWidget->Disconnect("ColorSelected(Pixel_t)", this, "changeItemColor(Pixel_t)");
194  m_cw->Disconnect("ColorSelected(Pixel_t)", this, "changeSelectionColor(Pixel_t)");
195  m_opacitySlider->Disconnect("PositionChanged(Int_t)", this, "changeItemColor");
196  m_isVisibleButton->Disconnect("Toggled(Bool_t)", this, "toggleItemVisible(Bool_t)");
197  m_filterExpressionEntry->Disconnect("ReturnPressed()", this, "runFilter()");
198  m_selectExpressionEntry->Disconnect("ReturnPressed()", this, "runSelection()");
199  m_filterButton->Disconnect("Clicked()", this, "runFilter()");
200  m_selectButton->Disconnect("Clicked()", this, "runSelection()");
201  m_selectAllButton->Disconnect("Clicked()", this, "selectAll()");
202  m_deselectAllButton->Disconnect("Clicked()", this, "deselectAll()");
203  m_removeButton->Disconnect("Clicked()", this, "removeItem()");
204  m_frontButton->Disconnect("Clicked()",this,"moveToFront()");
205  m_backButton->Disconnect("Clicked()",this,"moveToBack()");
206  m_layerEntry->Disconnect("ValueSet(Long_t)",this,"moveToLayer(Long_t)");
207  // delete m_objectLabel;
208  // delete m_colorSelectWidget;
209  // delete m_isVisibleButton;
210  delete m_validator;
211 }
212 
213 //
214 // assignment operators
215 //
216 // const CmsShowEDI& CmsShowEDI::operator=(const CmsShowEDI& rhs)
217 // {
218 // //An exception safe implementation is
219 // CmsShowEDI temp(rhs);
220 // swap(rhs);
221 //
222 // return *this;
223 // }
224 
225 //
226 // member functions
227 //
228 
230 {
231  if (!m_settersFrame->GetList()->IsEmpty())
232  {
233  // printf("remove FRAME \n");
234  TGFrameElement *el = (TGFrameElement*) m_settersFrame->GetList()->First();
235  TGFrame* f = el->fFrame;
236  f->UnmapWindow();
237  m_settersFrame->RemoveFrame(f);
238  f->DestroyWindow();
239  }
240 }
241 
242 void
244  FWEventItem* iItem =0;
245  bool multipleCollections = false;
246  if(!m_selectionManager->selectedItems().empty()) {
247  if(m_selectionManager->selectedItems().size()==1) {
248  iItem=*(m_selectionManager->selectedItems().begin());
249  } else {
250  multipleCollections=true;
251  }
252  }
253  //m_item can be zero because we had 0 or many collections selected
254  if (0 == m_item || iItem != m_item) {
255  disconnectAll();
256  m_item = iItem;
257  if(0 != m_item) {
259  m_objectLabel->SetText(iItem->name().c_str());
261  m_opacitySlider->SetPosition(100 - p.transparency());
262  m_isVisibleButton->SetDisabledAndSelected(p.isVisible());
263  m_validator->setType(ROOT::Reflex::Type::ByTypeInfo(*(iItem->modelType()->GetTypeInfo())));
264  m_filterExpressionEntry->SetText(iItem->filterExpression().c_str());
265  m_filterError->Clear();
266  m_selectError->Clear();
267  m_nameEntry->SetText(iItem->name().c_str());
268  m_typeEntry->SetText(iItem->type()->GetName());
269  m_moduleEntry->SetText(iItem->moduleLabel().c_str());
270  m_instanceEntry->SetText(iItem->productInstanceLabel().c_str());
271  m_processEntry->SetText(iItem->processName().c_str());
272  // else m_isVisibleButton->SetState(kButtonDown, kFALSE);
273  m_colorSelectWidget->SetEnabled(kTRUE);
274  m_opacitySlider->SetEnabled(kTRUE);
275  m_isVisibleButton->SetEnabled(kTRUE);
276  m_filterExpressionEntry->SetEnabled(kTRUE);
277  m_selectExpressionEntry->SetEnabled(kTRUE);
278  m_filterButton->SetEnabled(kTRUE);
279  m_selectButton->SetEnabled(kTRUE);
280  m_selectAllButton->SetEnabled(kTRUE);
281  m_deselectAllButton->SetEnabled(kTRUE);
282  m_cw->SetColorByIndex(p.color(),kFALSE);
283  m_cw->SetEnabled(kTRUE);
284  m_removeButton->SetEnabled(kTRUE);
286  m_layerEntry->SetState(kTRUE);
288  m_modelChangedConn = m_item->changed_.connect(boost::bind(&CmsShowEDI::updateFilter, this));
289  // m_selectionChangedConn = m_selectionManager->selectionChanged_.connect(boost::bind(&CmsShowEDI::updateSelection, this));
291 
292  clearPBFrame();
294  }
295  else if(multipleCollections) {
296  std::ostringstream s;
297  s<<m_selectionManager->selectedItems().size()<<" Collections Selected";
298  m_objectLabel->SetText(s.str().c_str());
299  }
300 
301  Resize(GetDefaultSize());
302  Layout();
303  }
304 }
305 
306 void
308  Int_t chosen=0;
309  std::string message("This action will remove the ");
310  message += m_item->name();
311  message +=" collection from the display."
312  "\nIf you wish to return the collection you would have to use the 'Add Collection' window.";
313  new TGMsgBox(gClient->GetDefaultRoot(),
314  this,
315  "Remove Collection Confirmation",
316  message.c_str(),
317  kMBIconExclamation,
318  kMBCancel | kMBApply,
319  &chosen);
320  if(kMBApply == chosen) {
321  m_item->destroy();
322  m_item = 0;
323  //make sure the ROOT global editor does not try to use this
324  gEve->EditElement(0);
325  gEve->Redraw3D();
326  }
327 }
328 
329 void
331  //std::cout<<"Updating display"<<std::endl;
333  m_colorSelectWidget->SetColorByIndex(props.color(),kFALSE);
334  m_opacitySlider->SetPosition(100 - props.transparency());
335  m_isVisibleButton->SetState(props.isVisible() ? kButtonDown : kButtonUp, kFALSE);
336 }
337 
338 void
340 {
341  m_backButton->SetEnabled(!m_item->isInBack());
342  m_frontButton->SetEnabled(!m_item->isInFront());
343  m_layerEntry->SetIntNumber(m_item->layer());
344 }
345 void
347 {
348  m_item->moveToBack();
350 }
351 void
353 {
354  m_item->moveToFront();
356 }
357 void
359 {
360  m_item->moveToLayer(static_cast<Int_t>(m_layerEntry->GetIntNumber()));
362 }
363 
364 void
366  m_filterExpressionEntry->SetText(m_item->filterExpression().c_str());
367 }
368 
369 void
371  m_objectLabel->SetText("No Collection Selected");
372  clearPBFrame();
373  if(0 != m_item) {
374  m_displayChangedConn.disconnect();
375  m_modelChangedConn.disconnect();
376  m_destroyedConn.disconnect();
377  m_item = 0;
379  m_opacitySlider->SetPosition(100);
380  m_isVisibleButton->SetDisabledAndSelected(kTRUE);
381  m_filterExpressionEntry->SetText(0);
382  m_selectExpressionEntry->SetText(0);
383  m_nameEntry->SetText(0);
384  m_typeEntry->SetText(0);
385  m_moduleEntry->SetText(0);
386  m_instanceEntry->SetText(0);
387  m_processEntry->SetText(0);
388  // else m_isVisibleButton->SetState(kButtonDown, kFALSE);
389  m_colorSelectWidget->SetEnabled(kFALSE);
390  m_opacitySlider->SetEnabled(kFALSE);
391 
392  m_isVisibleButton->SetEnabled(kFALSE);
393  m_filterExpressionEntry->SetEnabled(kFALSE);
394  m_filterButton->SetEnabled(kFALSE);
395  m_selectExpressionEntry->SetEnabled(kFALSE);
396  m_selectButton->SetEnabled(kFALSE);
397  m_selectAllButton->SetEnabled(kFALSE);
398  m_deselectAllButton->SetEnabled(kFALSE);
399  m_removeButton->SetEnabled(kFALSE);
400  m_backButton->SetEnabled(kFALSE);
401  m_frontButton->SetEnabled(kFALSE);
402  m_layerEntry->SetIntNumber(0);
403  m_layerEntry->SetState(kFALSE);
404  m_layerEntry->GetNumberEntry()->SetEnabled(kFALSE);
405  m_layerEntry->GetButtonUp()->SetEnabled(kFALSE);
406  m_layerEntry->GetButtonDown()->SetEnabled(kFALSE);
407  }
408 }
409 
416 void
419  changeProperties.setColor(color);
420  m_item->setDefaultDisplayProperties(changeProperties);
421  m_cw->SetColorByIndex(color,kFALSE);
422 }
423 
425 void
428  changeProperties.setIsVisible(on);
429  m_item->setDefaultDisplayProperties(changeProperties);
430 }
431 
439 void
442  changeProperties.setTransparency(100 - opacity);
443  m_item->setDefaultDisplayProperties(changeProperties);
444 }
445 
446 void
448  const std::string filter(m_filterExpressionEntry->GetText());
449  if (m_item != 0) {
450  try {
451  m_filterError->Clear();
453  } catch( const FWExpressionException& e) {
454  m_filterError->AddLine(e.what().c_str());
455  m_filterError->Update();
456  if(e.column() > -1) {
457  m_filterExpressionEntry->SetCursorPosition(e.column());
458  }
459  }
460  }
461 }
462 
463 void
465  FWModelExpressionSelector selector;
466  const std::string selection(m_selectExpressionEntry->GetText());
467  if (m_item != 0)
468  {
469  try
470  {
471  m_selectError->Clear();
472  //NOTE call clearModelSelectionLeaveItem so that the item does not get deselected
473  // just for safety use a copy of the pointer to m_item
474  FWEventItem* item = m_item;
475  item->selectionManager()-> clearModelSelectionLeaveItem();
476 
477  selector.select(item, selection, TColor::GetColor(m_cw->GetColor()));
478  }
479  catch( const FWExpressionException& e)
480  {
481  m_selectError->AddLine(e.what().c_str());
482  m_selectError->Update();
483  if (e.column() > -1)
484  {
485  m_selectExpressionEntry->SetCursorPosition(e.column());
486  }
487  }
488  }
489 }
490 
491 void
493 {
494  FWChangeSentry sentry(*(m_item->changeManager()));
495  for (int i = 0; i < static_cast<int>(m_item->size()); i++)
496  {
497  m_item->select(i);
498  }
499 }
500 void
502 {
503  FWChangeSentry sentry(*(m_item->changeManager()));
504  for (int i = 0; i < static_cast<int>(m_item->size()); i++)
505  {
506  m_item->unselect(i);
507  }
508 }
509 
510 void
512 {
513  FWChangeSentry sentry(*(m_item->changeManager()));
514  const std::set<FWModelId>& ss = m_item->selectionManager()->selected();
516  dp.setColor(c);
517  for (std::set<FWModelId>::const_iterator i = ss.begin(); i != ss.end(); ++i ) {
518  m_item->setDisplayProperties(i->index(), dp);
519  }
520 }
521 
522 
523 void
525 {
526  m_tabs->SetTab(iToView);
527 }
528 
529 /* Called by FWGUIManager when change background/colorset. */
530 void
532 {
533  if (m_item)
534  {
537  m_cw->SetColorByIndex(p.color(),kFALSE);
538  }
539 }
void populateFrame(TGCompositeFrame *frame)
const std::set< FWModelId > & selected() const
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:166
int i
Definition: DBlmapReader.cc:9
const FWDisplayProperties & defaultDisplayProperties() const
Definition: FWEventItem.cc:451
FWDialogBuilder & addHSlider(size_t size, TGHSlider **out=0)
void fillEDIFrame()
Definition: CmsShowEDI.cc:243
void setColor(Color_t iColor)
FWModelChangeManager * changeManager() const
Definition: FWEventItem.h:131
sigc::connection m_displayChangedConn
Definition: CmsShowEDI.h:124
const std::string & what() const
TGHSlider * m_opacitySlider
Definition: CmsShowEDI.h:108
void destroy() const
Definition: FWEventItem.cc:608
void colorSetChanged()
Definition: CmsShowEDI.cc:531
void moveToBack()
Definition: FWEventItem.cc:334
void moveToFront()
Definition: FWEventItem.cc:311
FWColorSelect * m_cw
Definition: CmsShowEDI.h:116
TGCheckButton * m_isVisibleButton
Definition: CmsShowEDI.h:109
FWGUIValidatingTextEntry * m_filterExpressionEntry
Definition: CmsShowEDI.h:110
void moveToLayer(int layer)
Definition: FWEventItem.cc:357
void SetColorByIndex(Color_t iColor)
FWDialogBuilder & endTab(void)
const std::string & name() const
Definition: FWEventItem.cc:500
FWDialogBuilder & addLabel(const char *text, size_t fontSize=12, size_t weight=0, TGLabel **out=0)
void setDisplayProperties(int iIndex, const FWDisplayProperties &) const
Definition: FWEventItem.cc:277
selection
main part
Definition: corrVsCorr.py:98
const std::string & filterExpression() const
Definition: FWEventItem.cc:602
FWItemChangeSignal defaultDisplayPropertiesChanged_
Definition: FWEventItem.h:208
TGLabel * m_objectLabel
Definition: CmsShowEDI.h:102
void unselect(int iIndex) const
Definition: FWEventItem.cc:240
TGTab * m_tabs
Definition: CmsShowEDI.h:101
FWItemChangeSignal goingToBeDestroyed_
Definition: FWEventItem.h:215
void select(FWEventItem *iItem, const std::string &iExpression, Color_t c=-1) const
void disconnectAll()
Definition: CmsShowEDI.cc:370
const std::string & processName() const
Definition: FWEventItem.cc:529
const std::set< FWEventItem * > & selectedItems() const
TGTextButton * m_selectAllButton
Definition: CmsShowEDI.h:114
void moveToLayer(Long_t)
Definition: CmsShowEDI.cc:358
void updateFilter()
Definition: CmsShowEDI.cc:365
static int maxLayerValue()
Definition: FWEventItem.cc:44
FWDialogBuilder & vSpacer(size_t size=0)
void moveToFront()
Definition: CmsShowEDI.cc:352
TGCompositeFrame * m_settersFrame
Definition: CmsShowEDI.h:133
Color_t color() const
int layer() const
Definition: FWEventItem.cc:457
FWDialogBuilder & untabs(void)
TGTextEntry * m_instanceEntry
Definition: CmsShowEDI.h:120
void removeItem()
Definition: CmsShowEDI.cc:307
Char_t transparency() const
void setDefaultDisplayProperties(const FWDisplayProperties &)
Definition: FWEventItem.cc:156
const std::string & productInstanceLabel() const
Definition: FWEventItem.cc:523
void updateDisplay()
Definition: CmsShowEDI.cc:330
void changeItemColor(Color_t color)
Definition: CmsShowEDI.cc:417
TGNumberEntry * m_layerEntry
Definition: CmsShowEDI.h:106
FWDialogBuilder & addTextButton(const char *text, TGTextButton **out=0)
void moveToBack()
Definition: CmsShowEDI.cc:346
const TClass * type() const
Definition: FWEventItem.cc:506
FWDialogBuilder & addTextView(const char *defaultText=0, TGTextView **out=0)
TGTextButton * m_deselectAllButton
Definition: CmsShowEDI.h:115
void setValidator(FWValidatorBase *)
TGTextButton * m_backButton
Definition: CmsShowEDI.h:105
double f[11][100]
TGTextEntry * m_moduleEntry
Definition: CmsShowEDI.h:119
sigc::connection m_destroyedConn
Definition: CmsShowEDI.h:126
FWDialogBuilder & addHSeparator(size_t horizontalPadding=4, size_t verticalPadding=3)
static int minLayerValue()
Definition: FWEventItem.cc:39
FWDialogBuilder & tabs(TGTab **out)
void changeItemOpacity(Int_t opacity)
Definition: CmsShowEDI.cc:440
FWSelectionManager * selectionManager() const
Definition: FWEventItem.h:134
unsigned int UInt_t
Definition: FUTypes.h:12
FWDialogBuilder & addValidatingTextEntry(const char *defaultText, FWGUIValidatingTextEntry **out)
TGTextView * m_selectError
Definition: CmsShowEDI.h:129
void setType(const Reflex::Type &)
FWDialogBuilder & addTextEntry(const char *defaultText, TGTextEntry **out)
TGTextButton * m_removeButton
Definition: CmsShowEDI.h:103
virtual ~CmsShowEDI()
Definition: CmsShowEDI.cc:190
bool isInBack() const
returns true if item is behind all other items
Definition: FWEventItem.cc:478
size_t size() const
Definition: FWEventItem.cc:548
FWDialogBuilder & floatLeft(size_t spacing=3)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
FWExpressionValidator * m_validator
Definition: CmsShowEDI.h:130
bool isInFront() const
returns true if item is in front of all other items
Definition: FWEventItem.cc:463
void setFilterExpression(const std::string &)
Definition: FWEventItem.cc:200
TGTextView * m_filterError
Definition: CmsShowEDI.h:128
TGTextEntry * m_processEntry
Definition: CmsShowEDI.h:121
FWDialogBuilder & expand(size_t expandX=true, size_t expandY=false)
void setTransparency(Char_t transparency)
sigc::signal< void, const FWSelectionManager & > itemSelectionChanged_
FWColorSelect * m_colorSelectWidget
Definition: CmsShowEDI.h:107
void runFilter()
Definition: CmsShowEDI.cc:447
CmsShowEDI(const TGWindow *p=0, UInt_t w=1, UInt_t h=1, FWSelectionManager *selMgr=0, FWColorManager *colorMgr=0)
Definition: CmsShowEDI.cc:64
FWModelChangeSignal changed_
Definition: FWEventItem.h:196
TGTextButton * m_filterButton
Definition: CmsShowEDI.h:112
const TClass * modelType() const
Definition: FWEventItem.cc:561
FWSelectionManager * m_selectionManager
Definition: CmsShowEDI.h:100
TGTextEntry * m_typeEntry
Definition: CmsShowEDI.h:118
void toggleItemVisible(Bool_t on=kTRUE)
Definition: CmsShowEDI.cc:426
void select(int iIndex) const
Definition: FWEventItem.cc:251
FWDialogBuilder & beginTab(const char *label)
void runSelection()
Definition: CmsShowEDI.cc:464
void deselectAll()
Definition: CmsShowEDI.cc:501
FWEventItem * m_item
Definition: CmsShowEDI.h:122
void setIsVisible(bool iSet)
sigc::connection m_modelChangedConn
Definition: CmsShowEDI.h:125
void updateLayerControls()
Definition: CmsShowEDI.cc:339
FWGUIValidatingTextEntry * m_selectExpressionEntry
Definition: CmsShowEDI.h:111
TGTextEntry * m_nameEntry
Definition: CmsShowEDI.h:117
FWDialogBuilder & addCheckbox(const char *text, TGCheckButton **out=0)
FWDialogBuilder & indent(int left=2, int right=-1)
FWDialogBuilder & addNumberEntry(float defaultValue, size_t digits, TGNumberFormat::EStyle style, int min, int max, TGNumberEntry **out)
void changeSelectionColor(Color_t color)
Definition: CmsShowEDI.cc:511
TGTextButton * m_frontButton
Definition: CmsShowEDI.h:104
void clearPBFrame()
Definition: CmsShowEDI.cc:229
const std::string & moduleLabel() const
Definition: FWEventItem.cc:518
void show(FWDataCategories)
Definition: CmsShowEDI.cc:524
T w() const
TGTextButton * m_selectButton
Definition: CmsShowEDI.h:113
FWDialogBuilder & addColorPicker(const FWColorManager *manager, FWColorSelect **out=0)
void selectAll()
Definition: CmsShowEDI.cc:492