CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
FWGeometryTableViewBase Class Reference

#include <FWGeometryTableViewBase.h>

Inheritance diagram for FWGeometryTableViewBase:
FWViewBase FWParameterSetterEditorBase FWConfigurableParameterizable FWParameterizable FWConfigurable FWGeometryTableView FWOverlapTableView

Classes

class  FWViewCombo
 

Public Member Functions

void addTo (FWConfiguration &) const override
 
void cdNode (int)
 
virtual void cdTop ()
 
virtual void cdUp ()
 
virtual void cellClicked (Int_t iRow, Int_t iColumn, Int_t iButton, Int_t iKeyMod, Int_t iGlobalX, Int_t iGlobalY)
 
void checkExpandLevel ()
 
virtual void chosenItem (int)
 
 FWGeometryTableViewBase (TEveWindowSlot *, FWViewType::EType, FWColorManager *)
 
bool getEnableHighlight ()
 
long getLeafTransparencyFactor () const
 
FWEveDigitSetScalableMarkergetMarker ()
 
long getMinLeafTransparency () const
 
long getMinParentTransparency () const
 
long getParentTransparencyFactor () const
 
virtual FWGeometryTableManagerBasegetTableManager ()
 
int getTopNodeIdx () const
 
void nodeColorChangeRequested (Color_t)
 
void populate3DViewsFromConfig ()
 
virtual void refreshTable3D ()
 
void reloadColors ()
 
void saveImageTo (const std::string &iName) const override
 
void selectView (int)
 
void setBackgroundColor ()
 
virtual void setPath (int, std::string &)
 
void transparencyChanged ()
 
 ~FWGeometryTableViewBase () override
 
- Public Member Functions inherited from FWViewBase
virtual FWViewContextMenuHandlerBasecontextMenuHandler () const
 
void destroy ()
 
 FWViewBase (FWViewType::EType, unsigned int iVersion=1)
 
void promptForSaveImageTo (TGFrame *) const
 
FWViewType::EType typeId () const
 
const std::string & typeName () const
 
- Public Member Functions inherited from FWConfigurableParameterizable
 FWConfigurableParameterizable (unsigned int iVersion=1)
 
void setFrom (const FWConfiguration &) override
 
unsigned int version () const
 
 ~FWConfigurableParameterizable () override
 
- Public Member Functions inherited from FWParameterizable
void add (FWParameterBase *)
 
const_iterator begin () const
 
const_iterator end () const
 
 FWParameterizable ()
 
virtual ~FWParameterizable ()
 
- Public Member Functions inherited from FWConfigurable
 FWConfigurable ()
 
virtual ~FWConfigurable ()
 
- Public Member Functions inherited from FWParameterSetterEditorBase
 FWParameterSetterEditorBase ()
 
virtual void updateEditor ()
 
virtual ~FWParameterSetterEditorBase ()
 

Protected Member Functions

void populateController (ViewerParameterGUI &) const override
 
void postConst ()
 
void setTopNodePathFromConfig (const FWConfiguration &iFrom)
 
- Protected Member Functions inherited from FWViewBase
 ~FWViewBase () override
 

Protected Attributes

FWLongParameter m_autoExpand
 
FWColorManagerm_colorManager
 
FWColorPopupm_colorPopup
 
FWBoolParameter m_enableHighlight
 
bool m_enableRedraw
 
TEveScene * m_eveScene
 
FWGeoTopNodem_eveTopNode
 
TEveWindowFrame * m_eveWindow
 
TGCompositeFrame * m_frame
 
FWLongParameter m_leafTransparencyFactor
 
FWEveDigitSetScalableMarkerm_marker
 
FWLongParameter m_minLeafTransparency
 
FWLongParameter m_minParentTransparency
 
FWLongParameter m_parentTransparencyFactor
 
FWTableWidgetm_tableWidget
 
FWLongParameter m_topNodeIdx
 
FWViewCombom_viewBox
 
const FWConfigurationm_viewersConfig
 
- Protected Attributes inherited from FWViewBase
FWViewType m_type
 

Private Member Functions

 ClassDef (FWGeometryTableViewBase, 0)
 
 FWGeometryTableViewBase (const FWGeometryTableViewBase &)
 
const FWGeometryTableViewBaseoperator= (const FWGeometryTableViewBase &)
 
void setColumnSelected (int idx)
 

Private Attributes

int m_tableRowIndexForColorPopup
 

Additional Inherited Members

- Public Types inherited from FWParameterizable
typedef std::vector< FWParameterBase * >::const_iterator const_iterator
 
- Public Attributes inherited from FWViewBase
sigc::signal< void, const FWViewBase * > beingDestroyed_
 
sigc::signal< void, Int_t, Int_t > openSelectedModelContextMenu_
 

Detailed Description

Definition at line 41 of file FWGeometryTableViewBase.h.

Constructor & Destructor Documentation

FWGeometryTableViewBase::FWGeometryTableViewBase ( TEveWindowSlot *  iParent,
FWViewType::EType  type,
FWColorManager colMng 
)

Definition at line 147 of file FWGeometryTableViewBase.cc.

References FWGenericParameter< T >::changed_, m_eveWindow, m_frame, m_leafTransparencyFactor, m_minLeafTransparency, m_minParentTransparency, m_parentTransparencyFactor, and refreshTable3D().

Referenced by FWGeometryTableViewBase::FWViewCombo::setElement().

150  : FWViewBase(type),
151  m_topNodeIdx(this, "TopNodeIndex", -1l, 0, 1e7),
152  m_autoExpand(this, "ExpandList:", 1l, 0l, 100l),
153  m_enableHighlight(this, "EnableHighlight", true),
154  m_parentTransparencyFactor(this, "ParentTransparencyFactor", 1l, 0l, 100l),
155  m_leafTransparencyFactor(this, "LeafTransparencyFactor", 1l, 0l, 100l),
156  m_minParentTransparency(this, "MinParentTransparency", type == FWViewType::kOverlapTable ? 0l : 90l, 0l, 100l),
157  m_minLeafTransparency(this, "MinLeafTransparency", 0l, 0l, 100l),
158  m_colorManager(colMng),
159  m_colorPopup(nullptr),
160  m_eveWindow(nullptr),
161  m_frame(nullptr),
162  m_viewBox(nullptr),
163  m_viewersConfig(nullptr),
164  m_enableRedraw(true),
165  m_marker(nullptr),
166  m_eveTopNode(nullptr),
167  m_eveScene(nullptr),
169  m_eveWindow = iParent->MakeFrame(nullptr);
170  TGCompositeFrame* xf = m_eveWindow->GetGUICompositeFrame();
171 
172  m_frame = new FWGeometryVF(xf, this);
173 
174  xf->AddFrame(m_frame, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY));
175 
180 }
type
Definition: HCALResponse.h:21
FWEveDigitSetScalableMarker * m_marker
FWLongParameter m_parentTransparencyFactor
const FWConfiguration * m_viewersConfig
FWLongParameter m_leafTransparencyFactor
sigc::signal< void, T > changed_
FWViewBase(FWViewType::EType, unsigned int iVersion=1)
Definition: FWViewBase.cc:32
FWGeometryTableViewBase::~FWGeometryTableViewBase ( )
override

Definition at line 209 of file FWGeometryTableViewBase.cc.

References amptDefault_cfi::frame, getTableManager(), m_eveWindow, m_frame, and findQualityFiles::v.

Referenced by FWGeometryTableViewBase::FWViewCombo::setElement().

209  {
210  // take out composite frame and delete it directly (zwithout the timeout)
211  TGCompositeFrame* frame = m_eveWindow->GetGUICompositeFrame();
212  frame->RemoveFrame(m_frame);
213  delete m_frame;
214 
215  m_eveWindow->DestroyWindowAndSlot();
216  delete getTableManager();
217 }
virtual FWGeometryTableManagerBase * getTableManager()
FWGeometryTableViewBase::FWGeometryTableViewBase ( const FWGeometryTableViewBase )
private

Member Function Documentation

void FWGeometryTableViewBase::addTo ( FWConfiguration iTo) const
overridevirtual

Reimplemented from FWConfigurableParameterizable.

Definition at line 551 of file FWGeometryTableViewBase.cc.

References FWConfiguration::addKeyValue(), FWConfigurableParameterizable::addTo(), dqmdumpme::k, m_eveTopNode, FWGeoTopNode::m_scene, and alignCSCRings::s.

Referenced by getTableManager().

551  {
553 
554  FWConfiguration viewers(1);
555  FWConfiguration tempArea;
556 
557  for (TEveElement::List_i k = gEve->GetViewers()->BeginChildren(); k != gEve->GetViewers()->EndChildren(); ++k) {
558  for (TEveElement::List_i eit = (*k)->BeginChildren(); eit != (*k)->EndChildren(); ++eit) {
559  TEveScene* s = ((TEveSceneInfo*)*eit)->GetScene();
560  if (s->GetGLScene() == m_eveTopNode->m_scene) {
561  viewers.addKeyValue((*k)->GetElementName(), tempArea);
562  break;
563  }
564  }
565  }
566 
567  iTo.addKeyValue("Viewers", viewers, true);
568 }
void addTo(FWConfiguration &) const override
FWGeoTopNodeGLScene * m_scene
Definition: FWGeoTopNode.h:66
FWConfiguration & addKeyValue(const std::string &, const FWConfiguration &)
void FWGeometryTableViewBase::cdNode ( int  idx)
void FWGeometryTableViewBase::cdTop ( )
virtual
void FWGeometryTableViewBase::cdUp ( )
virtual
void FWGeometryTableViewBase::cellClicked ( Int_t  iRow,
Int_t  iColumn,
Int_t  iButton,
Int_t  iKeyMod,
Int_t  iGlobalX,
Int_t  iGlobalY 
)
virtual

Definition at line 359 of file FWGeometryTableViewBase.cc.

References FWColorManager::backgroundColorIndex(), FWGeometryTableManagerBase::cancelEditor(), colors, FWColorManager::fillLimitedColors(), FWGeometryTableManagerBase::firstColumnClicked(), getTableManager(), training_settings::idx, FWColorPopup::InitContent(), FWColorManager::kBlackIndex, m_colorManager, m_colorPopup, m_eveTopNode, m_tableRowIndexForColorPopup, m_tableWidget, FWColorPopup::PlacePopup(), FWGeoTopNode::popupMenu(), FWGeometryTableManagerBase::refEntries(), refreshTable3D(), FWColorPopup::ResetColors(), FWGeometryTableManagerBase::rowToIndex(), setColumnSelected(), FWColorPopup::SetName(), FWGeometryTableManagerBase::setVisibility(), FWGeometryTableManagerBase::setVisibilityChld(), FWGeometryTableManagerBase::showEditor(), FWGeometryTableManagerBase::NodeInfo::switchBit(), x, and y.

Referenced by FWGeometryTableViewBase::FWViewCombo::setElement().

359  {
360  int idx = getTableManager()->rowToIndex()[iRow];
362 
363  if (iColumn != 2)
364  getTableManager()->cancelEditor(false);
365 
366  bool elementChanged = false;
367  if (iButton == kButton1) {
368  if (iColumn == 0) {
369  Window_t wdummy;
370  Int_t xLoc, yLoc;
371  gVirtualX->TranslateCoordinates(
372  gClient->GetDefaultRoot()->GetId(), m_tableWidget->GetId(), x, y, xLoc, yLoc, wdummy);
373 
374  if (getTableManager()->firstColumnClicked(iRow, xLoc))
375  setColumnSelected(idx);
376  } else if (iColumn == 1) {
377  std::vector<Color_t> colors;
379 
380  if (!m_colorPopup) {
381  m_colorPopup = new FWColorPopup(gClient->GetDefaultRoot(), colors.front());
382  m_colorPopup->InitContent("", colors);
383  m_colorPopup->Connect("ColorSelected(Color_t)",
384  "FWGeometryTableViewBase",
385  const_cast<FWGeometryTableViewBase*>(this),
386  "nodeColorChangeRequested(Color_t");
387  }
389  m_colorPopup->SetName("Selected");
391  m_colorPopup->PlacePopup(x, y, m_colorPopup->GetDefaultWidth(), m_colorPopup->GetDefaultHeight());
392  return;
393  } else if (iColumn == 2) {
394  // transparency edit
395  getTableManager()->showEditor(idx);
396  } else if (iColumn == 3) {
397  // vis self
398  getTableManager()->setVisibility(ni, !getTableManager()->getVisibility(ni));
399  elementChanged = true;
400  } else if (iColumn == 4) {
401  // vis children
402  getTableManager()->setVisibilityChld(ni, !getTableManager()->getVisibilityChld(ni));
403  elementChanged = true;
404  } else if (iColumn == 6) {
405  // used in overlaps for RnrMarker column
406  ni.switchBit(BIT(5));
407  elementChanged = true;
408  } else {
409  setColumnSelected(idx);
410  }
411 
412  if (elementChanged) {
413  refreshTable3D();
414  // getTableManager()->dataChanged();
415  }
416  } else if (iColumn == 0) {
417  setColumnSelected(idx);
418  m_eveTopNode->popupMenu(x, y, nullptr);
419  }
420 }
bool firstColumnClicked(int row, int xPos)
void InitContent(const char *name, const std::vector< Color_t > &colors, bool backgroundIsBlack=true)
void fillLimitedColors(std::vector< Color_t > &cv) const
void SetName(const char *iName) override
virtual void setVisibilityChld(NodeInfo &, bool)
void PlacePopup(Int_t x, Int_t y, UInt_t w, UInt_t h)
vector< Color_t > colors
BackgroundColorIndex backgroundColorIndex() const
void ResetColors(const std::vector< Color_t > &colors, bool backgroundIsBlack=true)
virtual void popupMenu(int x, int y, TGLViewer *)
Definition: FWGeoTopNode.h:82
virtual void setVisibility(NodeInfo &, bool)
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::checkExpandLevel ( )

Definition at line 265 of file FWGeometryTableViewBase.cc.

References getTableManager(), mps_fire::i, FWGeometryTableManagerBase::kExpanded, m_autoExpand, m_topNodeIdx, FWGeometryTableManagerBase::refEntries(), and FWGenericParameter< T >::value().

Referenced by FWGeometryTableView::autoExpandCallback(), FWOverlapTableView::recalculate(), saveImageTo(), FWGeometryTableView::setFrom(), FWGeometryTableView::setPath(), and setPath().

265  {
266  // check expand state
267  int ae = m_autoExpand.value();
268  if (m_topNodeIdx.value() > 0)
269  ae += getTableManager()->refEntries().at(m_topNodeIdx.value()).m_level;
270 
272  i != getTableManager()->refEntries().end();
273  ++i) {
274  if (i->m_level < ae)
276  else
278  }
279 }
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::chosenItem ( int  menuIdx)
virtual

Reimplemented in FWOverlapTableView.

Definition at line 451 of file FWGeometryTableViewBase.cc.

References FWGeometryTableManagerBase::applyColorTranspToDaughters(), cdNode(), gather_cfg::cout, FWGeoTopNode::getFirstSelectedTableIndex(), FWGeometryTableManagerBase::getNodePath(), getTableManager(), FWGeoTopNode::kApplyChldCol, FWGeoTopNode::kApplyChldColRec, FWGeoTopNode::kCamera, FWGeoTopNode::kPrintMaterial, FWGeoTopNode::kPrintPath, FWGeoTopNode::kPrintShape, FWGeoTopNode::kSetTopNode, FWGeoTopNode::kSetTopNodeCam, FWGeoTopNode::kVisChldOff, FWGeoTopNode::kVisChldOn, FWGeoTopNode::kVisSelfOff, m_eveTopNode, FWGeometryTableManagerBase::NodeInfo::m_node, FWGeometryTableManagerBase::refEntry(), refreshTable3D(), FWGeoTopNode::s_pickedCamera3DCenter, FWGeoTopNode::s_pickedViewer, FWGeometryTableManagerBase::setDaughtersSelfVisibility(), FWGeometryTableManagerBase::setVisibility(), AlCaHLTBitMon_QueryRunRegistry::string, findQualityFiles::v, X, DOFs::Y, and DOFs::Z.

Referenced by FWOverlapTableView::chosenItem(), and FWGeometryTableViewBase::FWViewCombo::setElement().

451  {
452  int selectedIdx = m_eveTopNode->getFirstSelectedTableIndex();
454  // printf("chosen item %s %d\n", ni.name(), menuIdx);
455 
456  TGeoVolume* gv = ni.m_node->GetVolume();
457  bool resetHome = false;
458  if (gv) {
459  switch (menuIdx) {
461  getTableManager()->setVisibility(ni, false);
462  refreshTable3D();
463  break;
464 
466  getTableManager()->setDaughtersSelfVisibility(selectedIdx, false);
467  refreshTable3D();
468  break;
469 
471  getTableManager()->setDaughtersSelfVisibility(selectedIdx, true);
472  refreshTable3D();
473  break;
474 
476  getTableManager()->applyColorTranspToDaughters(selectedIdx, false);
477  refreshTable3D();
478  break;
479 
481  getTableManager()->applyColorTranspToDaughters(selectedIdx, true);
482  refreshTable3D();
483  break;
484 
486  gv->InspectMaterial();
487  break;
488 
490  gv->InspectShape();
491  break;
492 
494  std::string ps;
495  getTableManager()->getNodePath(selectedIdx, ps);
496  std::cout << ps << std::endl;
497  break;
498  }
500  cdNode(selectedIdx);
501  break;
502 
504  cdNode(selectedIdx);
505  resetHome = true;
506  break;
507 
508  case FWGeoTopNode::kCamera: {
509  TGLViewer* v = FWGeoTopNode::s_pickedViewer;
510  v->CurrentCamera().SetExternalCenter(true);
511  v->CurrentCamera().SetCenterVec(FWGeoTopNode::s_pickedCamera3DCenter.X(),
514  v->SetDrawCameraCenter(true);
515  // resetHome = true;
516  break;
517  }
518  default:
519  return;
520  }
521  }
522 
523  if (resetHome)
524  gEve->FullRedraw3D(true, true);
525 }
#define X(str)
Definition: MuonsGrabber.cc:38
void getNodePath(int, std::string &) const
virtual void applyColorTranspToDaughters(int selectedIdx, bool recurse)
int getFirstSelectedTableIndex()
void setDaughtersSelfVisibility(bool)
virtual void setVisibility(NodeInfo &, bool)
static TGLViewer * s_pickedViewer
Definition: FWGeoTopNode.h:88
static TGLVector3 s_pickedCamera3DCenter
Definition: FWGeoTopNode.h:87
virtual FWGeometryTableManagerBase * getTableManager()
FWGeometryTableViewBase::ClassDef ( FWGeometryTableViewBase  ,
 
)
private
bool FWGeometryTableViewBase::getEnableHighlight ( )
inline
long FWGeometryTableViewBase::getLeafTransparencyFactor ( ) const
inline
FWEveDigitSetScalableMarker* FWGeometryTableViewBase::getMarker ( )
inline
long FWGeometryTableViewBase::getMinLeafTransparency ( ) const
inline
long FWGeometryTableViewBase::getMinParentTransparency ( ) const
inline
long FWGeometryTableViewBase::getParentTransparencyFactor ( ) const
inline
virtual FWGeometryTableManagerBase* FWGeometryTableViewBase::getTableManager ( )
inlinevirtual
int FWGeometryTableViewBase::getTopNodeIdx ( ) const
inline
void FWGeometryTableViewBase::nodeColorChangeRequested ( Color_t  col)

Definition at line 437 of file FWGeometryTableViewBase.cc.

References cuy::col, getTableManager(), FWGeometryTableManagerBase::NodeInfo::m_color, FWGeometryTableManagerBase::NodeInfo::m_node, m_tableRowIndexForColorPopup, FWGeometryTableManagerBase::refEntries(), and refreshTable3D().

Referenced by saveImageTo().

437  {
438  // AMT: need to add virtual FWGeometryTableView::nodeColorChangeRequested() for volume mode
439 
440  // printf("color change %d \n", m_tableRowIndexForColorPopup);
441  if (m_tableRowIndexForColorPopup >= 0) {
443  ni.m_color = col;
444  ni.m_node->GetVolume()->SetLineColor(col);
445  refreshTable3D();
447  }
448 }
col
Definition: cuy.py:1010
virtual FWGeometryTableManagerBase * getTableManager()
const FWGeometryTableViewBase& FWGeometryTableViewBase::operator= ( const FWGeometryTableViewBase )
private
void FWGeometryTableViewBase::populate3DViewsFromConfig ( )

Definition at line 283 of file FWGeometryTableViewBase.cc.

References fwLog, fwlog::kError, FWConfiguration::keyValues(), m_eveScene, m_eveTopNode, m_marker, m_viewBox, m_viewersConfig, FWGeometryTableViewBase::FWViewCombo::setElement(), and findQualityFiles::v.

Referenced by saveImageTo(), and FWGUIManager::setFrom().

283  {
284  // post-config
285  if (m_viewersConfig) {
286  TEveElementList* viewers = gEve->GetViewers();
288 
289  if (nullptr != keyVals) {
290  for (FWConfiguration::KeyValuesIt it = keyVals->begin(); it != keyVals->end(); ++it) {
291  TString sname = it->first;
292  TEveViewer* v = dynamic_cast<TEveViewer*>(viewers->FindChild(sname.Data()));
293  if (!v) {
294  fwLog(fwlog::kError) << "FWGeometryTableViewBase::populate3DViewsFromConfig no viewer found " << it->first
295  << std::endl;
296  return;
297  }
298  v->AddScene(m_eveScene);
300  if (m_marker)
301  getMarkerScene(v)->AddElement(m_marker);
302 
303  gEve->FullRedraw3D(false, true);
304  }
305  }
306  }
307 }
const KeyValues * keyValues() const
FWEveDigitSetScalableMarker * m_marker
const FWConfiguration * m_viewersConfig
std::vector< std::pair< std::string, FWConfiguration > > KeyValues
#define fwLog(_level_)
Definition: fwLog.h:45
KeyValues::const_iterator KeyValuesIt
void FWGeometryTableViewBase::populateController ( ViewerParameterGUI gui) const
overrideprotectedvirtual

Reimplemented from FWViewBase.

Reimplemented in FWOverlapTableView, and FWGeometryTableView.

Definition at line 606 of file FWGeometryTableViewBase.cc.

References ViewerParameterGUI::addParam(), ViewerParameterGUI::getTabContainer(), m_minLeafTransparency, m_minParentTransparency, ViewerParameterGUI::requestTab(), and ViewerParameterGUI::separator().

Referenced by FWOverlapTableView::populateController().

606  {
607  gui.requestTab("Style")
608  .separator()
609  .
610  //addParam(&m_parentTransparencyFactor).
611  // addParam(&m_leafTransparencyFactor).
612  addParam(&m_minParentTransparency)
614  .separator();
615  TGTextButton* butt = new TGTextButton(gui.getTabContainer(), "ReloadColors");
616  gui.getTabContainer()->AddFrame(butt);
617  butt->Connect("Clicked()", "FWGeometryTableViewBase", (FWGeometryTableViewBase*)this, "reloadColors()");
618 }
ViewerParameterGUI & requestTab(const char *)
ViewerParameterGUI & separator()
ViewerParameterGUI & addParam(const FWParameterBase *)
TGCompositeFrame * getTabContainer()
void FWGeometryTableViewBase::postConst ( )
protected

Definition at line 182 of file FWGeometryTableViewBase.cc.

References FWTableWidget::body(), FWTableWidget::disableGrowInWidth(), getTableManager(), m_eveWindow, m_frame, m_tableWidget, FWTableWidget::SetBackgroundColor(), FWGeometryTableManagerBase::setCellValueEditor(), FWTableWidget::SetHeaderBackgroundColor(), and FWTableWidget::SetLineSeparatorColor().

Referenced by FWGeometryTableView::FWGeometryTableView(), and FWOverlapTableView::FWOverlapTableView().

182  {
184  m_frame->AddFrame(m_tableWidget, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 2, 2, 0, 0));
188  m_tableWidget->Connect("cellClicked(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t)",
189  "FWGeometryTableViewBase",
190  this,
191  "cellClicked(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t)");
193  // resetSetters();
194 
195  FWTranspEntry* editor = new FWTranspEntry(m_tableWidget->body(), this);
196  editor->SetBackgroundColor(gVirtualX->GetPixel(kYellow - 7));
197  editor->SetFrameDrawn(false);
198  editor->Connect("ReturnPressed()", "FWGeometryTableViewBase", this, "transparencyChanged()");
200 
201  m_frame->MapSubwindows();
202  editor->UnmapWindow();
203  m_frame->Layout();
204  m_eveWindow->GetGUICompositeFrame()->Layout();
205  m_frame->MapWindow();
206 }
void SetHeaderBackgroundColor(Pixel_t)
void SetLineSeparatorColor(Pixel_t)
void disableGrowInWidth()
FWTabularWidget * body()
Definition: FWTableWidget.h:90
void SetBackgroundColor(Pixel_t) override
void setCellValueEditor(TGTextEntry *editor)
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::refreshTable3D ( )
virtual

Reimplemented in FWOverlapTableView.

Definition at line 534 of file FWGeometryTableViewBase.cc.

References getTableManager(), m_enableRedraw, m_eveTopNode, FWGeoTopNode::m_scene, and FWGeometryTableManagerBase::redrawTable().

Referenced by cellClicked(), FWGeometryTableView::checkRegionOfInterest(), chosenItem(), FWGeometryTableView::FWGeometryTableView(), FWGeometryTableViewBase(), FWOverlapTableView::FWOverlapTableView(), nodeColorChangeRequested(), FWOverlapTableView::refreshTable3D(), reloadColors(), saveImageTo(), FWGeometryTableView::setFrom(), FWGeometryTableView::setPath(), setPath(), transparencyChanged(), FWGeometryTableView::updateFilter(), and FWGeometryTableView::updateVisibilityTopNode().

534  {
535  if (m_enableRedraw) {
536  if (gEve->GetSelection()->HasChild(m_eveTopNode))
537  gEve->GetSelection()->RemoveElement(m_eveTopNode);
538 
539  if (gEve->GetHighlight()->HasChild(m_eveTopNode))
540  gEve->GetHighlight()->RemoveElement(m_eveTopNode);
541 
542  m_eveTopNode->m_scene->PadPaint(m_eveTopNode->m_scene->GetPad());
543  gEve->Redraw3D();
544 
546  }
547 }
FWGeoTopNodeGLScene * m_scene
Definition: FWGeoTopNode.h:66
void redrawTable(bool setExpand=false)
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::reloadColors ( )

Definition at line 593 of file FWGeometryTableViewBase.cc.

References FWParameterizable::begin(), getTableManager(), mps_fire::i, FWGeometryTableManagerBase::refEntries(), and refreshTable3D().

Referenced by getMarker().

593  {
594  // printf("relaodColors \n");
596  i != getTableManager()->refEntries().end();
597  ++i) {
598  i->m_color = i->m_node->GetVolume()->GetLineColor();
599  }
600 
601  refreshTable3D();
602 }
const_iterator begin() const
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::saveImageTo ( const std::string &  iName) const
inlineoverridevirtual
void FWGeometryTableViewBase::selectView ( int  idx)

Definition at line 311 of file FWGeometryTableViewBase.cc.

References m_eveScene, m_eveTopNode, m_marker, m_viewBox, FWGeometryTableViewBase::FWViewCombo::setElement(), and findQualityFiles::v.

Referenced by FWGeometryTableViewBase::FWViewCombo::setElement().

311  {
312  // callback from sleclect view popup menu
313 
315 
316  TEveElement::List_i it = gEve->GetViewers()->BeginChildren();
317  std::advance(it, idx);
318  TEveViewer* v = (TEveViewer*)(*it);
319 
320  for (TEveElement::List_i eit = v->BeginChildren(); eit != v->EndChildren(); ++eit) {
321  if ((((TEveSceneInfo*)(*eit))->GetScene()) == m_eveScene) {
322  v->RemoveElement(*eit);
323  if (m_marker)
324  getMarkerScene(v)->RemoveElement(m_marker);
325  gEve->Redraw3D();
326  return;
327  }
328  }
329 
330  if (m_marker)
331  getMarkerScene(v)->AddElement(m_marker);
332  v->AddScene(m_eveScene);
333  gEve->Redraw3D();
334 }
FWEveDigitSetScalableMarker * m_marker
void FWGeometryTableViewBase::setBackgroundColor ( )

Definition at line 422 of file FWGeometryTableViewBase.cc.

References FWColorManager::backgroundColorIndex(), getTableManager(), FWColorManager::kWhiteIndex, m_colorManager, m_tableWidget, FWTableWidget::SetBackgroundColor(), FWGeometryTableManagerBase::setBackgroundToWhite(), and FWTableWidget::SetLineSeparatorColor().

Referenced by Vispa.Plugins.EdmBrowser.EventContentView.LabelItem::__init__(), and saveImageTo().

422  {
423  bool backgroundIsWhite = m_colorManager->backgroundColorIndex() == FWColorManager::kWhiteIndex;
424  if (backgroundIsWhite) {
427  } else {
430  }
431  getTableManager()->setBackgroundToWhite(backgroundIsWhite);
432  gClient->NeedRedraw(m_tableWidget);
433 }
void SetLineSeparatorColor(Pixel_t)
BackgroundColorIndex backgroundColorIndex() const
void SetBackgroundColor(Pixel_t) override
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::setColumnSelected ( int  idx)
private

Definition at line 338 of file FWGeometryTableViewBase.cc.

References getTableManager(), FWGeometryTableManagerBase::kSelected, m_eveTopNode, FWGeometryTableManagerBase::redrawTable(), FWGeometryTableManagerBase::refEntry(), FWGeoTopNode::selectPhysicalFromTable(), FWGeometryTableManagerBase::NodeInfo::setBit(), FWGeoTopNode::UnHighlighted(), and FWGeoTopNode::UnSelected().

Referenced by cellClicked().

338  {
339  // printf("cell clicled top node %p\n", (void*)m_eveTopNode);
340  if (gEve->GetSelection()->HasChild(m_eveTopNode))
341  gEve->GetSelection()->RemoveElement(m_eveTopNode);
342 
343  if (gEve->GetHighlight()->HasChild(m_eveTopNode))
344  gEve->GetHighlight()->RemoveElement(m_eveTopNode);
345 
346  // reset bits and sets for old selected table entry
349 
351  gEve->GetSelection()->AddElement(m_eveTopNode);
352 
355  gEve->Redraw3D();
356 }
void UnHighlighted() override
void UnSelected() override
bool selectPhysicalFromTable(int)
void redrawTable(bool setExpand=false)
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::setPath ( int  parentIdx,
std::string &   
)
virtual

Reimplemented in FWGeometryTableView.

Definition at line 251 of file FWGeometryTableViewBase.cc.

References checkExpandLevel(), FWGeoTopNode::clearSelection(), getTableManager(), getTopNodeIdx(), m_eveTopNode, m_topNodeIdx, refreshTable3D(), FWGenericParameter< T >::set(), and FWGeometryTableManagerBase::setLevelOffset().

Referenced by cdNode(), cdTop(), cdUp(), and saveImageTo().

251  {
253 
254  // printf("set path %d \n", parentIdx);
255  m_topNodeIdx.set(parentIdx);
256  // getTableManager()->refEntries().at(getTopNodeIdx()).setBitVal(FWGeometryTableManagerBase::kVisNodeSelf,!m_disableTopNode.value() );
257  getTableManager()->setLevelOffset(getTableManager()->refEntries().at(getTopNodeIdx()).m_level);
258 
260  refreshTable3D();
261 }
void clearSelection()
Definition: FWGeoTopNode.h:76
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::setTopNodePathFromConfig ( const FWConfiguration iFrom)
protected

Definition at line 572 of file FWGeometryTableViewBase.cc.

References fwLog, getTableManager(), fwlog::kWarning, m_topNodeIdx, FWParameterBase::name(), FWGeometryTableManagerBase::refEntries(), alignCSCRings::s, FWGenericParameter< T >::set(), FWConfiguration::value(), and FWConfiguration::valueForKey().

Referenced by FWGeometryTableView::setFrom().

572  {
573  int tn;
575  if (!value)
576  return;
577 
578  std::istringstream s(value->value());
579  s >> tn;
580  int lastIdx = getTableManager()->refEntries().size() - 1;
581  if (tn >= lastIdx) {
582  fwLog(fwlog::kWarning) << Form(
583  "Ignoring node path from confugration file -- %s value larger than number of nodes \n",
584  m_topNodeIdx.name().c_str());
585  return;
586  }
587  // std::cerr << "set top node " << ;
588  m_topNodeIdx.set(tn);
589 }
Definition: value.py:1
const std::string & value(unsigned int iIndex=0) const
#define fwLog(_level_)
Definition: fwLog.h:45
const FWConfiguration * valueForKey(const std::string &iKey) const
const std::string & name() const
virtual FWGeometryTableManagerBase * getTableManager()
void FWGeometryTableViewBase::transparencyChanged ( )

Member Data Documentation

FWLongParameter FWGeometryTableViewBase::m_autoExpand
protected
FWColorManager* FWGeometryTableViewBase::m_colorManager
protected

Definition at line 121 of file FWGeometryTableViewBase.h.

Referenced by cellClicked(), and setBackgroundColor().

FWColorPopup* FWGeometryTableViewBase::m_colorPopup
protected

Definition at line 126 of file FWGeometryTableViewBase.h.

Referenced by cellClicked().

FWBoolParameter FWGeometryTableViewBase::m_enableHighlight
protected

Definition at line 113 of file FWGeometryTableViewBase.h.

Referenced by getEnableHighlight().

bool FWGeometryTableViewBase::m_enableRedraw
protected
TEveScene* FWGeometryTableViewBase::m_eveScene
protected
FWGeoTopNode* FWGeometryTableViewBase::m_eveTopNode
protected
TEveWindowFrame* FWGeometryTableViewBase::m_eveWindow
protected
TGCompositeFrame* FWGeometryTableViewBase::m_frame
protected
FWLongParameter FWGeometryTableViewBase::m_leafTransparencyFactor
protected
FWEveDigitSetScalableMarker* FWGeometryTableViewBase::m_marker
protected
FWLongParameter FWGeometryTableViewBase::m_minLeafTransparency
protected
FWLongParameter FWGeometryTableViewBase::m_minParentTransparency
protected
FWLongParameter FWGeometryTableViewBase::m_parentTransparencyFactor
protected
int FWGeometryTableViewBase::m_tableRowIndexForColorPopup
private

Definition at line 154 of file FWGeometryTableViewBase.h.

Referenced by cellClicked(), and nodeColorChangeRequested().

FWTableWidget* FWGeometryTableViewBase::m_tableWidget
protected

Definition at line 122 of file FWGeometryTableViewBase.h.

Referenced by cellClicked(), postConst(), and setBackgroundColor().

FWLongParameter FWGeometryTableViewBase::m_topNodeIdx
protected
FWViewCombo* FWGeometryTableViewBase::m_viewBox
protected
const FWConfiguration* FWGeometryTableViewBase::m_viewersConfig
protected