CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Vispa.Share.ObjectHolder.ObjectHolder Class Reference
Inheritance diagram for Vispa.Share.ObjectHolder.ObjectHolder:
Vispa.Share.FindAlgorithm.FindAlgorithm Vispa.Views.AbstractView.AbstractView Vispa.Views.LineDecayView.DecayNode Vispa.Views.LineDecayView.LineDecayContainer Vispa.Plugins.EdmBrowser.EventContentView.EventContentView Vispa.Views.AbstractView.NoneView Vispa.Views.PropertyView.PropertyView Vispa.Views.RootCanvasView.RootCanvasView Vispa.Views.TableView.TableView Vispa.Views.TreeView.TreeView Vispa.Views.WidgetView.WidgetView Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView Vispa.Plugins.EdmBrowser.BranchTableView.BranchTableView Vispa.Views.BoxDecayView.BoxDecayView Vispa.Views.LineDecayView.LineDecayView Vispa.Plugins.ConfigEditor.ConfigEditorBoxView.ConfigEditorBoxView Vispa.Plugins.EdmBrowser.EdmBrowserBoxView.EdmBrowserBoxView Vispa.Plugins.ConfigEditor.ConfigEditorBoxView.ConnectionStructureView Vispa.Plugins.ConfigEditor.ConfigEditorBoxView.SequenceStructureView

Public Member Functions

def __init__ (self)
 
def allDataObjectChildren (self, objects=None)
 
def appendObject (self, object)
 
def applyFilter (self, objects)
 
def clearObjects (self)
 
def dataAccessor (self)
 
def dataObject (self)
 
def dataObjects (self)
 
def dataObjectsCount (self)
 
def numberDataObjectChildren (self, objects=None)
 
def removeObject (self, object)
 
def setDataAccessor (self, accessor)
 
def setDataObject (self, object)
 
def setDataObjects (self, objects)
 
def setExclusiveMode (self, exclusive=True)
 
def setFilter (self, filter)
 

Private Member Functions

def _noFilter (self, objects)
 

Private Attributes

 _dataAccessor
 
 _dataObjects
 
 _exclusiveMode
 
 _filter
 

Detailed Description

Abstract class for holders of objects which are accessed via a data accessor.

Objects can be filtered using a filter function. 

Definition at line 3 of file ObjectHolder.py.

Constructor & Destructor Documentation

def Vispa.Share.ObjectHolder.ObjectHolder.__init__ (   self)

Member Function Documentation

def Vispa.Share.ObjectHolder.ObjectHolder._noFilter (   self,
  objects 
)
private
The default filter function for objects.

Definition at line 88 of file ObjectHolder.py.

88  def _noFilter(self, objects):
89  """ The default filter function for objects.
90  """
91  return objects
92 
def Vispa.Share.ObjectHolder.ObjectHolder.allDataObjectChildren (   self,
  objects = None 
)
def Vispa.Share.ObjectHolder.ObjectHolder.appendObject (   self,
  object 
)
Appends object to lists of data objects.

Definition at line 60 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects, and Vispa.Share.ObjectHolder.ObjectHolder._exclusiveMode.

Referenced by Vispa.Views.LineDecayView.LineDecayContainer.addDecayLine(), Vispa.Views.LineDecayView.LineDecayContainer.addDecayNode(), and Vispa.Views.LineDecayView.DecayNode.unite().

60  def appendObject(self, object):
61  """ Appends object to lists of data objects.
62  """
63  if not self._exclusiveMode or (self._exclusiveMode and object not in self._dataObjects):
64  self._dataObjects.append(object)
65  return object
66 
def Vispa.Share.ObjectHolder.ObjectHolder.applyFilter (   self,
  objects 
)
Apply the filter to a list of objects.

This function should be used any time the view handles a list of objects
e.g. on self.dataObjects() or self.dataAccessor().children(object):
self.applyFilter(self.dataAccessor().children(object))

Definition at line 93 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._filter, Vispa.Gui.FindDialog.FindDialog._filter, and MELaserPrim._filter.

Referenced by Vispa.Views.TreeView.TreeView._createNode(), Vispa.Share.FindAlgorithm.FindAlgorithm._findIn(), Vispa.Share.ObjectHolder.ObjectHolder.allDataObjectChildren(), Vispa.Views.BoxDecayView.BoxDecayView.createBoxesRecursive(), Vispa.Views.LineDecayView.LineDecayContainer.createDecayObjectsFromPxlObject(), Vispa.Share.ObjectHolder.ObjectHolder.numberDataObjectChildren(), Vispa.Views.RootCanvasView.RootCanvasView.updateContent(), Vispa.Views.TreeView.TreeView.updateContent(), and Vispa.Views.BoxDecayView.BoxDecayView.updateContent().

93  def applyFilter(self, objects):
94  """ Apply the filter to a list of objects.
95 
96  This function should be used any time the view handles a list of objects
97  e.g. on self.dataObjects() or self.dataAccessor().children(object):
98  self.applyFilter(self.dataAccessor().children(object))
99  """
100  return self._filter(objects)
101 
def Vispa.Share.ObjectHolder.ObjectHolder.clearObjects (   self)
Removes all objects from this ObjectHolder.

Definition at line 78 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects.

78  def clearObjects(self):
79  """ Removes all objects from this ObjectHolder.
80  """
81  self._dataObjects = []
82 
def Vispa.Share.ObjectHolder.ObjectHolder.dataAccessor (   self)

Definition at line 29 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataAccessor, Vispa.Plugins.Browser.BrowserTabController.BrowserTabController._dataAccessor, and Vispa.Plugins.EdmBrowser.EventContentDialog.EventContentDialog._dataAccessor.

Referenced by Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView._createItem(), Vispa.Views.TreeView.TreeView._createNode(), Vispa.Share.FindAlgorithm.FindAlgorithm._findIn(), Vispa.Views.BoxDecayView.BoxDecayView._sortByRelations(), Vispa.Views.LineDecayView.LineDecayContainer.addDecayLine(), Vispa.Views.LineDecayView.LineDecayContainer.addParticleByType(), Vispa.Views.PropertyView.PropertyView.addProperty(), Vispa.Views.WidgetView.WidgetView.addWidget(), Vispa.Share.ObjectHolder.ObjectHolder.allDataObjectChildren(), Vispa.Views.BoxDecayView.BoxDecayContainer.autolayoutAlgorithm(), Vispa.Views.LineDecayView.LineDecayContainer.childContainer(), Vispa.Views.BoxDecayView.BoxDecayView.createBoxesRecursive(), Vispa.Views.BoxDecayView.BoxDecayView.createConnections(), Vispa.Views.LineDecayView.LineDecayContainer.createDecayObjectsFromPxlObject(), Vispa.Views.LineDecayView.DecayNode.delete(), Vispa.Share.FindAlgorithm.FindAlgorithm.findUsingFindDialog(), Vispa.Plugins.EdmBrowser.EdmBrowserBoxView.EdmBrowserBoxView.isUpdated(), Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.itemByObject(), Vispa.Views.LineDecayView.LineDecayView.lineDecayContainer(), Vispa.Views.LineDecayView.LineDecayContainer.mouseReleaseEvent(), Vispa.Share.ObjectHolder.ObjectHolder.numberDataObjectChildren(), Vispa.Views.LineDecayView.LineDecayContainer.removeObject(), Vispa.Views.PropertyView.PropertyView.removeProperty(), Vispa.Plugins.EdmBrowser.EdmBrowserBoxView.EdmBrowserBoxView.selection(), Vispa.Plugins.EdmBrowser.BranchTableView.BranchTableView.selection(), Vispa.Views.LineDecayView.LineDecayContainer.setPxlObject(), Vispa.Views.LineDecayView.DecayNode.unite(), Vispa.Views.TreeView.TreeView.updateContent(), Vispa.Views.TableView.TableView.updateContent(), Vispa.Views.BoxDecayView.BoxDecayView.updateContent(), Vispa.Views.PropertyView.PropertyView.updateContent(), and Vispa.Views.PropertyView.PropertyView.valueChanged().

def Vispa.Share.ObjectHolder.ObjectHolder.dataObject (   self)
Return the first object.

This method is provided for e.g. views which show a single object.   

Definition at line 50 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder.dataObjects().

Referenced by Vispa.Views.PropertyView.PropertyView.addProperty(), Vispa.Views.PropertyView.PropertyView.removeProperty(), Vispa.Views.TreeView.TreeView.updateContent(), Vispa.Views.TableView.TableView.updateContent(), Vispa.Views.BoxDecayView.BoxDecayView.updateContent(), Vispa.Views.PropertyView.PropertyView.updateContent(), and Vispa.Views.PropertyView.PropertyView.valueChanged().

50  def dataObject(self):
51  """ Return the first object.
52 
53  This method is provided for e.g. views which show a single object.
54  """
55  if len(self.dataObjects())>0:
56  return self.dataObjects()[0]
57  else:
58  return None
59 
def Vispa.Share.ObjectHolder.ObjectHolder.dataObjects (   self)

Definition at line 39 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects.

Referenced by Vispa.Plugins.EdmBrowser.BranchTableView.BranchTableView.allDataObjectChildren(), Vispa.Views.LineDecayView.LineDecayContainer.autolayoutThreadFinished(), Vispa.Views.LineDecayView.LineDecayContainer.children(), Vispa.Views.LineDecayView.LineDecayContainer.childrenRect(), Vispa.Share.ObjectHolder.ObjectHolder.dataObject(), Vispa.Share.ObjectHolder.ObjectHolder.dataObjectsCount(), Vispa.Views.LineDecayView.LineDecayContainer.decayObject(), Vispa.Views.LineDecayView.DecayNode.delete(), Vispa.Share.FindAlgorithm.FindAlgorithm.findUsingFindDialog(), Vispa.Views.LineDecayView.LineDecayContainer.mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer.mousePressEvent(), Vispa.Views.LineDecayView.LineDecayContainer.mouseReleaseEvent(), Vispa.Views.LineDecayView.DecayNode.move(), Vispa.Views.LineDecayView.LineDecayContainer.removeObject(), Vispa.Views.LineDecayView.LineDecayContainer.select(), Vispa.Views.LineDecayView.LineDecayContainer.setZoom(), Vispa.Views.LineDecayView.DecayNode.unite(), Vispa.Views.RootCanvasView.RootCanvasView.updateContent(), Vispa.Views.TreeView.TreeView.updateContent(), Vispa.Views.BoxDecayView.BoxDecayView.updateContent(), and Vispa.Views.LineDecayView.LineDecayContainer.updateVisibleList().

def Vispa.Share.ObjectHolder.ObjectHolder.dataObjectsCount (   self)
Return number of data objects.

Definition at line 73 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder.dataObjects().

Referenced by Vispa.Views.LineDecayView.LineDecayContainer.autolayoutThreadFinished(), and Vispa.Views.LineDecayView.LineDecayContainer.sizeHint().

73  def dataObjectsCount(self):
74  """ Return number of data objects.
75  """
76  return len(self.dataObjects())
77 
def Vispa.Share.ObjectHolder.ObjectHolder.numberDataObjectChildren (   self,
  objects = None 
)
def Vispa.Share.ObjectHolder.ObjectHolder.removeObject (   self,
  object 
)
Removes object from list of data objects.

Definition at line 67 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects.

Referenced by Vispa.Views.LineDecayView.LineDecayContainer.addDecayLine(), Vispa.Views.LineDecayView.LineDecayContainer.keyPressEvent(), and Vispa.Views.LineDecayView.LineDecayContainer.mouseReleaseEvent().

67  def removeObject(self, object):
68  """ Removes object from list of data objects.
69  """
70  if object in self._dataObjects:
71  self._dataObjects.remove(object)
72 
def Vispa.Share.ObjectHolder.ObjectHolder.setDataAccessor (   self,
  accessor 
)
Sets the DataAccessor from which the nodes are created.

You need to call updateContent() in order to make the changes visible.   

Definition at line 22 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataAccessor, Vispa.Plugins.Browser.BrowserTabController.BrowserTabController._dataAccessor, and Vispa.Plugins.EdmBrowser.EventContentDialog.EventContentDialog._dataAccessor.

22  def setDataAccessor(self, accessor):
23  """ Sets the DataAccessor from which the nodes are created.
24 
25  You need to call updateContent() in order to make the changes visible.
26  """
27  self._dataAccessor = accessor
28 
def Vispa.Share.ObjectHolder.ObjectHolder.setDataObject (   self,
  object 
)
Sets the one object that shall be shown.

This method is provided for e.g. views which show a single object.   
You need to call updateContent() in order to make the changes visible.

Definition at line 42 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects.

42  def setDataObject(self, object):
43  """ Sets the one object that shall be shown.
44 
45  This method is provided for e.g. views which show a single object.
46  You need to call updateContent() in order to make the changes visible.
47  """
48  self._dataObjects = [object]
49 
def Vispa.Share.ObjectHolder.ObjectHolder.setDataObjects (   self,
  objects 
)
Sets the objects that shall be shown.

You need to call updateContent() in order to make the changes visible.   

Definition at line 32 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._dataObjects, and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor._dataObjects.

32  def setDataObjects(self, objects):
33  """ Sets the objects that shall be shown.
34 
35  You need to call updateContent() in order to make the changes visible.
36  """
37  self._dataObjects = objects
38 
def Vispa.Share.ObjectHolder.ObjectHolder.setExclusiveMode (   self,
  exclusive = True 
)
Sets exclusive mode to given value.

If exclusive mode is set to True objects will only appear once in the list of objects if they are added using appendObject.

Definition at line 15 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._exclusiveMode.

Referenced by Vispa.Views.LineDecayView.DecayNode.__init__().

15  def setExclusiveMode(self, exclusive=True):
16  """ Sets exclusive mode to given value.
17 
18  If exclusive mode is set to True objects will only appear once in the list of objects if they are added using appendObject.
19  """
20  self._exclusiveMode = exclusive
21 
def setExclusiveMode(self, exclusive=True)
Definition: ObjectHolder.py:15
def Vispa.Share.ObjectHolder.ObjectHolder.setFilter (   self,
  filter 
)
Set the filter function used in the view.

Definition at line 83 of file ObjectHolder.py.

References Vispa.Share.ObjectHolder.ObjectHolder._filter, Vispa.Gui.FindDialog.FindDialog._filter, and MELaserPrim._filter.

83  def setFilter(self, filter):
84  """ Set the filter function used in the view.
85  """
86  self._filter = filter
87 

Member Data Documentation

Vispa.Share.ObjectHolder.ObjectHolder._dataAccessor
private
Vispa.Share.ObjectHolder.ObjectHolder._exclusiveMode
private
Vispa.Share.ObjectHolder.ObjectHolder._filter
private