CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Private Attributes
Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog Class Reference
Inheritance diagram for Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog:

Public Member Functions

def __init__
 
def apply
 
def changedir
 
def fill
 
def help
 
def keyPressEvent
 
def setDataAccessor
 
def tool
 
def toolSelected
 
def updateToolList
 

Public Attributes

 ok
 

Private Attributes

 _configDataAccessor
 
 _processCopy
 
 _properties
 
 _selectedTool
 
 _splitter
 
 _toolDataAccessor
 
 _toolList
 
 _toolsDict
 
 _toolsDir
 

Detailed Description

Definition at line 15 of file ToolDialog.py.

Constructor & Destructor Documentation

def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.__init__ (   self,
  parent = None 
)

Definition at line 16 of file ToolDialog.py.

References LayerHitMapCache::SimpleCache.resize(), gbl::VVector.resize(), EZMgrVL< T >.resize(), StorageAccount.resize, LocalCacheFile.resize(), EZMgrFL< T >.resize(), StorageAccountProxy.resize(), edm::stream::impl::dummy_vec.resize(), LStoreFile.resize(), HGCDataFrame< HGCEEDetId, HGCSample >.resize(), HGCDataFrame< HGCHEDetId, HGCSample >.resize(), HGCDataFrame< D, S >.resize(), DCacheFile.resize(), RFIOFile.resize(), BXVector< Tau >.resize(), BXVector< CaloSpare >.resize(), BXVector< Jet >.resize(), BXVector< const l1t::l1t::Muon * >.resize(), BXVector< GlobalExtBlk >.resize(), BXVector< L1Candidate >.resize(), BXVector< const l1t::l1t::EtSum * >.resize(), BXVector< CaloTower >.resize(), BXVector< EGamma >.resize(), BXVector< CaloCluster >.resize(), BXVector< CaloRegion >.resize(), BXVector< Muon >.resize(), BXVector< CaloEmCand >.resize(), BXVector< T >.resize(), BXVector< EtSum >.resize(), BXVector< GlobalAlgBlk >.resize(), BXVector< const l1t::l1t::L1Candidate * >.resize(), EZArrayVL< T >.resize(), gbl::VMatrix.resize(), Storage.resize(), GsfMaterialEffectsUpdator.resize(), FEDRawData.resize(), XrdFile.resize(), lhef::HEPRUP.resize(), File.resize(), EZArrayFL< T >.resize(), EZArrayFL< GlobalPoint >.resize(), gbl::BorderedBandMatrix.resize(), gbl::VSymMatrix.resize(), SiPixelClusterShapeCache.resize(), edm::DataFrameContainer.resize(), edm::VecArray< T, N >.resize(), L1GctProcessor::Pipeline< T >.resize(), edm::VecArray< std::pair< int, int >, 9 >.resize(), PVector< Tp >.resize(), ora::PVector< Tp >.resize(), reco::FlavorHistoryEvent.resize(), L1GtfeExtWord.resize(), lhef::HEPEUP.resize(), edmNew::DetSetVector< T >::FastFiller.resize(), ora::QueryableVector< Item >.resize(), QueryableVector< Tp >.resize(), ora::QueryableVector< Tp >.resize(), edmNew::DetSetVector< SiPixelCluster >.resize(), DetSetVector< T >.resize(), const_iterator.resize(), edmNew::DetSetVector< T >.resize(), DetSetVector< ClusterType >.resize(), edmNew::DetSetVector< edm::Ref< edmNew::DetSetVector< SiStripCluster >, SiStripCluster, edmNew::DetSetVector< SiStripCluster >::FindForDetSetVector > >.resize(), edmNew::DetSetVector< edm::Ref< edmNew::DetSetVector< SiPixelCluster >, SiPixelCluster, edmNew::DetSetVector< SiPixelCluster >::FindForDetSetVector > >.resize(), edmNew::DetSetVector< SiStripCluster >.resize(), Json::Value.resize(), and Vispa.Gui.VispaWidget.VispaWidget.resize().

16 
17  def __init__(self,parent=None):
18  logging.debug(__name__ +': __init__')
19  QDialog.__init__(self,parent)
20  self.resize(600,500)
21  self._selectedTool=None
22  self._processCopy=None
24  self._toolsDir=standardToolsDir
25  self.setWindowFlags(Qt.Window)
26  self.setWindowTitle("Apply tool...")
27  self.fill()

Member Function Documentation

def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.apply (   self)

Definition at line 99 of file ToolDialog.py.

References Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._processCopy, Vispa.Plugins.ConfigEditor.ToolDataAccessor.ToolDataAccessor._processCopy, Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._selectedTool, fwlite::EventSelector.accept(), BaseRawParticleFilter.accept(), ParticleDecayDrawer.accept(), DTNeutronWriter.accept(), RPCNeutronWriter.accept(), CSCNeutronWriter.accept(), DDFilter.accept(), smartSelector.accept(), fwlite::RunLumiSelector.accept(), ParticleTreeDrawer.accept(), EcalZeroSuppressor< EEDataFrame >.accept(), EcalZeroSuppressor< EBDataFrame >.accept(), EcalZeroSuppressor< C >.accept(), Filter.accept(), DDSpecificsFilter.accept(), SubsystemNeutronWriter.accept(), edm::HLTGlobalStatus.accept(), HLTLogMonitorFilter::CategoryEntry.accept(), edm::HLTPathStatus.accept(), edm::TriggerResultsByName.accept(), fwlite::ObjectCountSelector< Collection >.accept(), TriggerHelper.accept(), TkPixelMeasurementDet.accept(), GenericTriggerEventFlag.accept(), EcalSelectiveReadoutSuppressor.accept(), TriggerRatesMonitor::HLTRatesPlots.accept, FilterOR.accept(), Selection< C, Selector, StoreContainer >.accept(), FastTimerService::PathInfo.accept, TkStripMeasurementDet.accept(), Vispa.Main.Exceptions.exception_traceback(), join(), and LaserDQM_cfg.process.

Referenced by heavyIonTools.ConfigureHeavyIons.__call__(), editorTools.UserCodeTool.__call__(), HiCoreTools.RestrictInputToAOD.__call__(), coreTools.RunOnData.__call__(), trackTools.MakeAODTrackCandidates.__call__(), runJetUncertainties.RunJetUncertainties.__call__(), metTools.AddMETCollection.__call__(), heavyIonTools.ProductionDefaults.__call__(), editorTools.ChangeSource.__call__(), HiCoreTools.RemoveMCMatching.__call__(), cmsswVersionTools.PickRelValInputFiles.__call__(), coreTools.RemoveMCMatching.__call__(), trackTools.MakePATTrackCandidates.__call__(), trigTools.SwitchOnTrigger.__call__(), heavyIonTools.SelectionDefaults.__call__(), HiCoreTools.RemoveAllPATObjectsBut.__call__(), heavyIonTools.DisbaleMonteCarloDeps.__call__(), HiCoreTools.RemoveSpecificPATObjects.__call__(), trigTools.SwitchOnTriggerStandAlone.__call__(), trackTools.MakeTrackCandidates.__call__(), trigTools.SwitchOnTriggerMatching.__call__(), HiCoreTools.RemoveCleaning.__call__(), HiCoreTools.AddCleaning.__call__(), jetTools.AddJetCollection.__call__(), tauTools.AddTauCollection.__call__(), trigTools.SwitchOnTriggerMatchingStandAlone.__call__(), trigTools.SwitchOnTriggerMatchEmbedding.__call__(), jetTools.SwitchJetCollection.__call__(), jetTools.UpdateJetCollection.__call__(), jetTools.AddJetID.__call__(), and jetTools.SetTagInfos.__call__().

99 
100  def apply(self):
101  # allow property view to process parameter changes
102  if not self.ok.hasFocus():
103  self._properties.clearFocus()
104  self.ok.setFocus()
105  return
106  parameterErrors=self._toolDataAccessor.parameterErrors(self._selectedTool)
107  if len(parameterErrors)>0:
108  message="\n".join([error for error in parameterErrors])
109  QCoreApplication.instance().errorMessage(message)
110  return
111  ok=True
112  if self._selectedTool:
113  try:
114  self._selectedTool.apply(self._toolDataAccessor.configDataAccessor().process())
115  if not self._toolDataAccessor.configDataAccessor().process().checkRecording():
116  ok=False
117  logging.error(__name__ + ": Could not apply tool "+self._toolDataAccessor.label(self._selectedTool)+" (problem with enable recording flag) Please restart the ConfigEditor.")
118  QCoreApplication.instance().errorMessage("Could not apply tool "+self._toolDataAccessor.label(self._selectedTool)+" (problem with enable recording flag) Please restart the ConfigEditor.")
119  except Exception,e:
120  ok=False
121  logging.error(__name__ + ": Could not apply tool "+self._toolDataAccessor.label(self._selectedTool)+": "+exception_traceback())
122  QCoreApplication.instance().errorMessage("Cannot apply tool "+self._toolDataAccessor.label(self._selectedTool)+" (see log file for details):\n"+str(e))
123  else:
124  ok=False
125  logging.error(__name__ + ": Could not apply tool: No tool selected.")
126  QCoreApplication.instance().errorMessage("Cannot apply tool: No tool selected.")
127  # recover process copy to undo changes during the tool dialog
128  self._toolDataAccessor.configDataAccessor().setProcess(self._processCopy)
129  if ok:
130  self.accept()
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
tuple process
Definition: LaserDQM_cfg.py:3
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.changedir (   self)

Definition at line 131 of file ToolDialog.py.

References Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolsDir, Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.updateToolList(), and Vispa.Plugins.ConfigEditor.ToolDataAccessor.ToolDataAccessor.updateToolList().

132  def changedir(self):
133  filename = QFileDialog.getExistingDirectory(
134  self,'Select a directory',self._toolsDir,QFileDialog.ShowDirsOnly)
135  if not filename.isEmpty():
136  self._toolsDir=str(filename)
137  self.updateToolList()
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.fill (   self)

Definition at line 28 of file ToolDialog.py.

28 
29  def fill(self):
30  logging.debug(__name__ +': fill')
31  self.setLayout(QVBoxLayout())
32 
33  self._splitter=QSplitter()
34  self.layout().addWidget(self._splitter)
35 
36  self._toolList = QListWidget(self._splitter)
37  self.connect(self._toolList, SIGNAL("itemSelectionChanged()"), self.toolSelected)
39 
40  bottom=QHBoxLayout()
41  self.layout().addLayout(bottom)
42  changedir=QPushButton("&Change tools directory...")
43  bottom.addWidget(changedir)
44  self.connect(changedir, SIGNAL('clicked()'), self.changedir)
45  help=QPushButton("&Help")
46  bottom.addWidget(help)
47  self.connect(help, SIGNAL('clicked()'), self.help)
48  bottom.addStretch()
49  cancel = QPushButton('&Cancel')
50  bottom.addWidget(cancel)
51  self.connect(cancel, SIGNAL('clicked()'), self.reject)
52  self.ok=QPushButton("&Apply")
53  bottom.addWidget(self.ok)
54  self.ok.setDefault(True)
55  self.connect(self.ok, SIGNAL('clicked()'), self.apply)
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.help (   self)

Definition at line 138 of file ToolDialog.py.

139  def help(self):
140  QMessageBox.about(self, 'Info', "This dialog let's you choose and configure a tool.\n 1. Select a tool on the left\n 2. Set the parameters on the right. If you hold the mouse over a parameter name a tooltip with a description of the parameter will show up.\n 3. Apply the tool. In case the tool has wrong parameters set an error message will be displayed.")
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.keyPressEvent (   self,
  event 
)

Definition at line 79 of file ToolDialog.py.

References TriggerRatesMonitor::HLTRatesPlots.reject.

79 
80  def keyPressEvent(self, event):
81  if event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_W:
82  self.reject()
83  QDialog.keyPressEvent(self, event)
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.setDataAccessor (   self,
  accessor 
)

Definition at line 92 of file ToolDialog.py.

92 
93  def setDataAccessor(self,accessor):
94  self._properties.setDataAccessor(accessor)
95  self._toolDataAccessor=accessor
96  # save process copy to undo changes during the tool dialog
97  self._processCopy=copy.deepcopy(self._toolDataAccessor.configDataAccessor().process())
98  self.updateToolList()
tuple process
Definition: LaserDQM_cfg.py:3
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.tool (   self)

Definition at line 84 of file ToolDialog.py.

References Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._selectedTool.

84 
85  def tool(self):
86  return self._selectedTool
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.toolSelected (   self)

Definition at line 87 of file ToolDialog.py.

References Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._selectedTool, Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolsDict, and runonSM.text.

87 
88  def toolSelected(self):
89  self._selectedTool=self._toolsDict[str(self._toolList.currentItem().text())]()
90  self._properties.setDataObject(self._selectedTool)
91  self._properties.updateContent()
tuple text
Definition: runonSM.py:42
def Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.updateToolList (   self)

Definition at line 56 of file ToolDialog.py.

References Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolsDir.

Referenced by Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.changedir().

56 
57  def updateToolList(self):
58  self._toolList.clear()
59  # import all tools and register them in toolsDict
60  toolsFiles = [os.path.join(self._toolsDir,f) for f in os.listdir(self._toolsDir) if f.endswith(".py") and not f.startswith("_")]
61  self._toolsDict={}
62  for toolsFile in toolsFiles:
63  pythonModule = os.path.splitext(os.path.basename(toolsFile))[0]
64  module=imp.load_source(pythonModule, toolsFile)
65  for name in dir(module):
66  tool=getattr(module,name)
67  if inspect.isclass(tool) and issubclass(tool,ConfigToolBase) and not self._toolDataAccessor.label(tool) in self._toolsDict.keys() and not tool==ConfigToolBase:
68  self._toolsDict[self._toolDataAccessor.label(tool)]=tool
69  # Show test tool
70  #from FWCore.GuiBrowsers.editorTools import ChangeSource
71  #self._toolsDict["ChangeSource"]=ChangeSource
72  if len(self._toolsDict.keys())==0 and self._toolsDir==standardToolsDir:
73  logging.error(__name__ + ": Could not find any PAT tools. These will be available for the ConfigEditor in a future release.")
74  QCoreApplication.instance().errorMessage("Could not find any PAT tools. These will be available for the ConfigEditor in a future release.")
75  return
76  for item in self._toolsDict.keys():
77  self._toolList.addItem(item)
78  self._toolList.sortItems()
dbl *** dir
Definition: mlp_gen.cc:35

Member Data Documentation

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._configDataAccessor
private

Definition at line 22 of file ToolDialog.py.

Referenced by Vispa.Plugins.EdmBrowser.EventContentDialog.EventContentDialog.setConfigDataAccessor(), and Vispa.Plugins.EdmBrowser.EventContentDialog.EventContentDialog.updateContent().

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._processCopy
private

Definition at line 21 of file ToolDialog.py.

Referenced by Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.apply().

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._properties
private

Definition at line 37 of file ToolDialog.py.

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._selectedTool
private

Definition at line 20 of file ToolDialog.py.

Referenced by Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.apply(), Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.tool(), and Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.toolSelected().

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._splitter
private

Definition at line 32 of file ToolDialog.py.

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolDataAccessor
private

Definition at line 94 of file ToolDialog.py.

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolList
private

Definition at line 35 of file ToolDialog.py.

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolsDict
private

Definition at line 60 of file ToolDialog.py.

Referenced by Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.toolSelected().

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog._toolsDir
private

Definition at line 23 of file ToolDialog.py.

Referenced by Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.changedir(), and Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.updateToolList().

Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog.ok

Definition at line 51 of file ToolDialog.py.