summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/common
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2011-08-02 12:51:52 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-08-18 02:57:44 +0200
commit3c7d254e415b5b16a468ce94c6e6c336206e3aa6 (patch)
treec200143caa32a548610e609e4764ffe435ba8970 /wizards/com/sun/star/wizards/common
parent304055f233e52c977717a0ddbc759e59b6c93756 (diff)
I forgot to add this file
Diffstat (limited to 'wizards/com/sun/star/wizards/common')
-rw-r--r--wizards/com/sun/star/wizards/common/Properties.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/common/Properties.py b/wizards/com/sun/star/wizards/common/Properties.py
new file mode 100644
index 000000000000..fc0abe99ff13
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Properties.py
@@ -0,0 +1,46 @@
+from com.sun.star.beans import PropertyValue
+
+'''
+Simplifies handling Arrays of PropertyValue.
+To make a use of this class, instantiate it, and call
+the put(propName,propValue) method.
+caution: propName should always be a String.
+When finished, call the getProperties() method to get an array of the set properties.
+@author rp
+'''
+
+class Properties(dict):
+
+ @classmethod
+ def getPropertyValue(self, props, propName):
+ for i in props:
+ if propName == i.Name:
+ return i.Value
+
+ raise AttributeError ("Property '" + propName + "' not found.")
+
+ @classmethod
+ def hasPropertyValue(self, props, propName):
+ for i in props:
+ if propName == i.Name:
+ return True
+ return False
+
+ @classmethod
+ def getProperties(self, _map=None):
+ if _map is None:
+ _map = self
+ pv = PropertyValue[_map.size()]
+ it = _map.keySet().iterator()
+ while i in pv:
+ i = createProperty(it.next(), _map)
+ return pv
+
+ @classmethod
+ def createProperty(self, name, value, handle=None):
+ pv = PropertyValue()
+ pv.Name = name
+ pv.Value = value
+ if handle is not None:
+ pv.Handle = handle
+ return pv