Kaydet (Commit) be3b55d5 authored tarafından Xisco Fauli's avatar Xisco Fauli

pywizards: fix textfields

Change-Id: I6609c554ef161a0abafbdfa65f8076a42eec93b2
üst a615abcd
...@@ -95,8 +95,7 @@ class FaxDocument(TextDocument): ...@@ -95,8 +95,7 @@ class FaxDocument(TextDocument):
return False return False
def switchUserField(self, sFieldName, sNewContent, bState): def switchUserField(self, sFieldName, sNewContent, bState):
myFieldHandler = TextFieldHandler( myFieldHandler = TextFieldHandler( self.xMSF, self.xTextDocument)
self.xMSF, self.xTextDocument)
if bState: if bState:
myFieldHandler.changeUserFieldContent(sFieldName, sNewContent) myFieldHandler.changeUserFieldContent(sFieldName, sNewContent)
else: else:
......
...@@ -21,21 +21,17 @@ import unicodedata ...@@ -21,21 +21,17 @@ import unicodedata
from ..common.PropertyNames import PropertyNames from ..common.PropertyNames import PropertyNames
from com.sun.star.util import DateTime from com.sun.star.util import DateTime
from com.sun.star.uno import RuntimeException
class TextFieldHandler(object): class TextFieldHandler(object):
'''
Creates a new instance of TextFieldHandler
@param xMSF
@param xTextDocument
'''
xTextFieldsSupplierAux = None xTextFieldsSupplierAux = None
arrayTextFields = []
dictTextFields = {}
def __init__(self, xMSF, xTextDocument): def __init__(self, xMSF, xTextDocument):
self.xMSFDoc = xMSF self.xMSFDoc = xMSF
self.xTextFieldsSupplier = xTextDocument self.xTextFieldsSupplier = xTextDocument
self.arrayTextFields = []
self.dictTextFields = {}
if TextFieldHandler.xTextFieldsSupplierAux is not \ if TextFieldHandler.xTextFieldsSupplierAux is not \
self.xTextFieldsSupplier: self.xTextFieldsSupplier:
self.__getTextFields() self.__getTextFields()
...@@ -93,10 +89,10 @@ class TextFieldHandler(object): ...@@ -93,10 +89,10 @@ class TextFieldHandler(object):
self.xTextFieldsSupplier.TextFields.createEnumeration() self.xTextFieldsSupplier.TextFields.createEnumeration()
while xEnum.hasMoreElements(): while xEnum.hasMoreElements():
oTextField = xEnum.nextElement() oTextField = xEnum.nextElement()
self.arrayTextFields.append(oTextField) TextFieldHandler.arrayTextFields.append(oTextField)
xPropertySet = oTextField.TextFieldMaster xPropertySet = oTextField.TextFieldMaster
if xPropertySet.Name: if xPropertySet.Name:
self.dictTextFields[xPropertySet.Name] = \ TextFieldHandler.dictTextFields[xPropertySet.Name] = \
oTextField oTextField
except Exception: except Exception:
traceback.print_exc() traceback.print_exc()
...@@ -104,7 +100,7 @@ class TextFieldHandler(object): ...@@ -104,7 +100,7 @@ class TextFieldHandler(object):
def __getTextFieldsByProperty( def __getTextFieldsByProperty(
self, _PropertyName, _aPropertyValue): self, _PropertyName, _aPropertyValue):
try: try:
xProperty = self.dictTextFields[_aPropertyValue] xProperty = TextFieldHandler.dictTextFields[_aPropertyValue]
xPropertySet = xProperty.TextFieldMaster xPropertySet = xProperty.TextFieldMaster
if xPropertySet.PropertySetInfo.hasPropertyByName( if xPropertySet.PropertySetInfo.hasPropertyByName(
_PropertyName): _PropertyName):
...@@ -118,15 +114,18 @@ class TextFieldHandler(object): ...@@ -118,15 +114,18 @@ class TextFieldHandler(object):
return None return None
def changeUserFieldContent(self, _FieldName, _FieldContent): def changeUserFieldContent(self, _FieldName, _FieldContent):
try:
DependentTextFields = self.__getTextFieldsByProperty( DependentTextFields = self.__getTextFieldsByProperty(
PropertyNames.PROPERTY_NAME, _FieldName) PropertyNames.PROPERTY_NAME, _FieldName)
if DependentTextFields is not None: if DependentTextFields is not None:
DependentTextFields.TextFieldMaster.setPropertyValue("Content", _FieldContent) DependentTextFields.TextFieldMaster.setPropertyValue("Content", _FieldContent)
self.refreshTextFields() self.refreshTextFields()
except Exception:
traceback.print_exc()
def updateDocInfoFields(self): def updateDocInfoFields(self):
try: try:
for i in self.arrayTextFields: for i in TextFieldHandler.arrayTextFields:
if i.supportsService( if i.supportsService(
"com.sun.star.text.TextField.ExtendedUser"): "com.sun.star.text.TextField.ExtendedUser"):
i.update() i.update()
...@@ -146,18 +145,21 @@ class TextFieldHandler(object): ...@@ -146,18 +145,21 @@ class TextFieldHandler(object):
dt.Year = time.strftime("%Y", now) dt.Year = time.strftime("%Y", now)
dt.Month = time.strftime("%m", now) dt.Month = time.strftime("%m", now)
dt.Month += 1 dt.Month += 1
for i in self.arrayTextFields: for i in TextFieldHandler.arrayTextFields:
if i.supportsService( if i.supportsService(
"com.sun.star.text.TextField.DateTime"): "com.sun.star.text.TextField.DateTime"):
try:
i.setPropertyValue("IsFixed", False) i.setPropertyValue("IsFixed", False)
i.setPropertyValue("DateTimeValue", dt) i.setPropertyValue("DateTimeValue", dt)
except RuntimeException:
pass
except Exception: except Exception:
traceback.print_exc() traceback.print_exc()
def fixDateFields(self, _bSetFixed): def fixDateFields(self, _bSetFixed):
try: try:
for i in self.arrayTextFields: for i in TextFieldHandler.arrayTextFields:
if i.supportsService( if i.supportsService(
"com.sun.star.text.TextField.DateTime"): "com.sun.star.text.TextField.DateTime"):
i.setPropertyValue("IsFixed", _bSetFixed) i.setPropertyValue("IsFixed", _bSetFixed)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment