[Libreoffice-commits] .: Branch 'feature/gsoc2011_wizards' - wizards/com
Xisco Fauli
xfauli at kemper.freedesktop.org
Tue Aug 2 03:52:22 PDT 2011
wizards/com/sun/star/wizards/common/Properties.py | 46 ++++++++++++++++++++++
1 file changed, 46 insertions(+)
New commits:
commit 80eaa8dfbe60078a148f4d4a1858bf15e5797bf6
Author: Xisco Fauli <anistenis at gmail.com>
Date: Tue Aug 2 12:51:52 2011 +0200
I forgot to add this file
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 0000000..fc0abe9
--- /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.
+ at 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
More information about the Libreoffice-commits
mailing list