1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
import uno
from text.TextDocument import *
from text.TextSectionHandler import TextSectionHandler
from text.TextFieldHandler import TextFieldHandler
from common.Configuration import Configuration
from common.PropertyNames import PropertyNames
from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK
from com.sun.star.style.ParagraphAdjust import CENTER
from com.sun.star.text.PageNumberType import CURRENT
from com.sun.star.style.NumberingType import ARABIC
class FaxDocument(TextDocument):
def __init__(self, xMSF, listener):
super(FaxDocument,self).__init__(xMSF, listener, None,
"WIZARD_LIVE_PREVIEW")
self.keepLogoFrame = True
self.keepTypeFrame = True
def switchElement(self, sElement, bState):
try:
mySectionHandler = TextSectionHandler(self.xMSF,
self.xTextDocument)
oSection = \
mySectionHandler.xTextDocument.TextSections.getByName(sElement)
Helper.setUnoPropertyValue(oSection, "IsVisible", bState)
except Exception, exception:
traceback.print_exc()
def updateDateFields(self):
FH = TextFieldHandler(self.xTextDocument, self.xTextDocument)
FH.updateDateFields()
def switchFooter(self, sPageStyle, bState, bPageNumber, sText):
if self.xTextDocument is not None:
self.xTextDocument.lockControllers()
try:
xPageStyleCollection = \
self.xTextDocument.StyleFamilies.getByName("PageStyles")
xPageStyle = xPageStyleCollection.getByName(sPageStyle)
if bState:
xPageStyle.setPropertyValue("FooterIsOn", True)
xFooterText = Helper.getUnoPropertyValue(xPageStyle, "FooterText")
xFooterText.String = sText
if bPageNumber:
#Adding the Page Number
myCursor = xFooterText.Text.createTextCursor()
myCursor.gotoEnd(False)
xFooterText.insertControlCharacter(myCursor,
PARAGRAPH_BREAK, False)
myCursor.setPropertyValue("ParaAdjust", CENTER )
xPageNumberField = self.xTextDocument.createInstance(
"com.sun.star.text.TextField.PageNumber")
xPageNumberField.setPropertyValue("SubType", CURRENT)
uno.invoke(xPageNumberField, "setPropertyValue",
("NumberingType", uno.Any("short",ARABIC)))
xFooterText.insertTextContent(xFooterText.End,
xPageNumberField, False)
else:
Helper.setUnoPropertyValue(xPageStyle, "FooterIsOn",
False)
self.xTextDocument.unlockControllers()
except Exception, exception:
traceback.print_exc()
def hasElement(self, sElement):
if self.xTextDocument is not None:
mySectionHandler = TextSectionHandler(self.xMSF,
self.xTextDocument)
return mySectionHandler.hasTextSectionByName(sElement)
else:
return False
def switchUserField(self, sFieldName, sNewContent, bState):
myFieldHandler = TextFieldHandler(self.xMSF, self.xTextDocument)
if bState:
myFieldHandler.changeUserFieldContent(sFieldName, sNewContent)
else:
myFieldHandler.changeUserFieldContent(sFieldName, "")
def fillSenderWithUserData(self):
try:
myFieldHandler = TextFieldHandler(self.xTextDocument,
self.xTextDocument)
oUserDataAccess = Configuration.getConfigurationRoot(
self.xMSF, "org.openoffice.UserProfile/Data", False)
myFieldHandler.changeUserFieldContent("Company",
Helper.getUnoObjectbyName(oUserDataAccess, "o"))
myFieldHandler.changeUserFieldContent("Street",
Helper.getUnoObjectbyName(oUserDataAccess, "street"))
myFieldHandler.changeUserFieldContent("PostCode",
Helper.getUnoObjectbyName(oUserDataAccess, "postalcode"))
myFieldHandler.changeUserFieldContent(
PropertyNames.PROPERTY_STATE,
Helper.getUnoObjectbyName(oUserDataAccess, "st"))
myFieldHandler.changeUserFieldContent("City",
Helper.getUnoObjectbyName(oUserDataAccess, "l"))
myFieldHandler.changeUserFieldContent("Fax",
Helper.getUnoObjectbyName(oUserDataAccess,
"facsimiletelephonenumber"))
except Exception, exception:
traceback.print_exc()
def killEmptyUserFields(self):
myFieldHandler = TextFieldHandler(self.xMSF, self.xTextDocument)
myFieldHandler.removeUserFieldByContent("")
def killEmptyFrames(self):
try:
if not self.keepLogoFrame:
xTF = self.getFrameByName("Company Logo",
self.xTextDocument)
if xTF is not None:
xTF.dispose()
if not self.keepTypeFrame:
xTF = self.getFrameByName("Communication Type",
self.xTextDocument)
if xTF is not None:
xTF.dispose()
except Exception, e:
traceback.print_exc()
|