summaryrefslogtreecommitdiffstats
path: root/wizards/com/sun/star/wizards/fax/FaxDocument.py
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/fax/FaxDocument.py')
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxDocument.py142
1 files changed, 142 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/fax/FaxDocument.py b/wizards/com/sun/star/wizards/fax/FaxDocument.py
new file mode 100644
index 000000000..b695ffe55
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxDocument.py
@@ -0,0 +1,142 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed
+# with this work for additional information regarding copyright
+# ownership. The ASF licenses this file to you under the Apache
+# License, Version 2.0 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.apache.org/licenses/LICENSE-2.0 .
+#
+from ..text.TextDocument import TextDocument, traceback, \
+ TextFieldHandler, Configuration
+from ..text.TextSectionHandler import TextSectionHandler
+
+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)
+ oSection.IsVisible = bState
+ except 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:
+ try:
+ self.xTextDocument.lockControllers()
+ xPageStyleCollection = \
+ self.xTextDocument.StyleFamilies.getByName("PageStyles")
+ xPageStyle = xPageStyleCollection.getByName(sPageStyle)
+
+ if bState:
+ xPageStyle.setPropertyValue("FooterIsOn", True)
+ xFooterText = 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)
+ xPageNumberField.NumberingType = ARABIC
+ xFooterText.insertTextContent(xFooterText.End,
+ xPageNumberField, False)
+ else:
+ xPageStyle.FooterIsOn = False
+
+ self.xTextDocument.unlockControllers()
+ except Exception:
+ self.xTextDocument.lockControllers()
+ 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", oUserDataAccess.getByName("o"))
+ myFieldHandler.changeUserFieldContent(
+ "Street", oUserDataAccess.getByName("street"))
+ myFieldHandler.changeUserFieldContent(
+ "PostCode", oUserDataAccess.getByName("postalcode"))
+ myFieldHandler.changeUserFieldContent(
+ "State", oUserDataAccess.getByName("st"))
+ myFieldHandler.changeUserFieldContent(
+ "City", oUserDataAccess.getByName("l"))
+ myFieldHandler.changeUserFieldContent(
+ "Fax", oUserDataAccess.getByName("facsimiletelephonenumber"))
+ except 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:
+ traceback.print_exc()