123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #
- # 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()
|