集成OpenOffice替换为LibreOffice

This commit is contained in:
陈精华
2021-06-23 10:26:22 +08:00
parent 8a1eebb9b0
commit 79341b2c8e
14724 changed files with 2184695 additions and 551131 deletions

View File

@@ -0,0 +1,53 @@
#
# 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 .CGPaperElementLocation import CGPaperElementLocation
from ..common.ConfigGroup import ConfigGroup
class CGLetter(ConfigGroup):
def __init__(self):
self.cp_Style = int()
self.cp_BusinessPaper = bool()
self.cp_CompanyLogo = CGPaperElementLocation()
self.cp_CompanyAddress = CGPaperElementLocation()
self.cp_PaperCompanyAddressReceiverField = bool()
self.cp_PaperFooter = bool()
self.cp_PaperFooterHeight = float()
self.cp_PrintCompanyLogo = bool()
self.cp_PrintCompanyAddressReceiverField = bool()
self.cp_PrintLetterSigns = bool()
self.cp_PrintSubjectLine = bool()
self.cp_PrintSalutation = bool()
self.cp_PrintBendMarks = bool()
self.cp_PrintGreeting = bool()
self.cp_PrintFooter = bool()
self.cp_Salutation = str()
self.cp_Greeting = str()
self.cp_SenderAddressType = int()
self.cp_SenderCompanyName = str()
self.cp_SenderStreet = str()
self.cp_SenderPostCode = str()
self.cp_SenderState = str()
self.cp_SenderCity = str()
self.cp_ReceiverAddressType = int()
self.cp_Footer = str()
self.cp_FooterOnlySecondPage = bool()
self.cp_FooterPageNumbers = bool()
self.cp_CreationType = int()
self.cp_TemplateName = str()
self.cp_TemplatePath = str()

View File

@@ -0,0 +1,27 @@
#
# 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 ..common.ConfigGroup import ConfigGroup
from .CGLetter import CGLetter
class CGLetterWizard (ConfigGroup):
def __init__(self):
self.cp_LetterType = int()
self.cp_BusinessLetter = CGLetter()
self.cp_PrivateOfficialLetter = CGLetter()
self.cp_PrivateLetter = CGLetter()

View File

@@ -0,0 +1,27 @@
#
# 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 ..common.ConfigGroup import ConfigGroup
class CGPaperElementLocation(ConfigGroup):
def __init__(self):
self.cp_Display = bool()
self.cp_Width = float()
self.cp_Height = float()
self.cp_X = float()
self.cp_Y = float()

View File

@@ -0,0 +1,75 @@
#
# 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 .
#
import unohelper
import traceback
from .LetterWizardDialogImpl import LetterWizardDialogImpl, Desktop
from com.sun.star.lang import XServiceInfo
from com.sun.star.task import XJobExecutor
# pythonloader looks for a static g_ImplementationHelper variable
g_ImplementationHelper = unohelper.ImplementationHelper()
g_implName = "com.sun.star.wizards.letter.CallWizard"
# implement a UNO component by deriving from the standard unohelper.Base class
# and from the interface(s) you want to implement.
class CallWizard(unohelper.Base, XJobExecutor, XServiceInfo):
def __init__(self, ctx):
# store the component context for later use
self.ctx = ctx
def trigger(self, args):
try:
lw = LetterWizardDialogImpl(self.ctx.ServiceManager)
lw.startWizard(self.ctx.ServiceManager)
except Exception as e:
print ("Wizard failure exception " + str(type(e)) +
" message " + str(e) + " args " + str(e.args) +
traceback.format_exc())
@classmethod
def callRemote(self):
#Call the wizard remotely(see README)
try:
ConnectStr = \
"uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"
xLocMSF = Desktop.connect(ConnectStr)
lw = LetterWizardDialogImpl(xLocMSF)
lw.startWizard(xLocMSF)
except Exception as e:
print ("Wizard failure exception " + str(type(e)) +
" message " + str(e) + " args " + str(e.args) +
traceback.format_exc())
def getImplementationName(self):
return g_implName
def supportsService(self, ServiceName):
return g_ImplementationHelper.supportsService(g_implName, ServiceName)
def getSupportedServiceNames(self):
return g_ImplementationHelper.getSupportedServiceNames(g_implName)
g_ImplementationHelper.addImplementation( \
CallWizard, # UNO object class
g_implName, # implementation name
("com.sun.star.task.Job",),) # list of implemented services
# (the only service)
# vim:set shiftwidth=4 softtabstop=4 expandtab:

View File

@@ -0,0 +1,238 @@
#
# 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.table import BorderLine
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
from com.sun.star.text.HoriOrientation import NONE as NONEHORI
from com.sun.star.text.VertOrientation import NONE as NONEVERT
from com.sun.star.text.RelOrientation import PAGE_FRAME
from com.sun.star.text.TextContentAnchorType import AT_PAGE
from com.sun.star.text.SizeType import FIX
from com.sun.star.text.WrapTextMode import THROUGH
from com.sun.star.awt.FontWeight import BOLD
from com.sun.star.beans import UnknownPropertyException
class LetterDocument(TextDocument):
def __init__(self, xMSF, listener):
super(LetterDocument,self).__init__(xMSF, listener, None,
"WIZARD_LIVE_PREVIEW")
self.keepLogoFrame = True
self.keepBendMarksFrame = True
self.keepLetterSignsFrame = True
self.keepSenderAddressRepeatedFrame = True
self.keepAddressFrame = 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()
xNameAccess = self.xTextDocument.StyleFamilies
xPageStyleCollection = xNameAccess.getByName("PageStyles")
xPageStyle = xPageStyleCollection.getByName(sPageStyle)
if bState:
xPageStyle.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:
traceback.print_exc()
def hasElement(self, sElement):
if self.xTextDocument is not None:
SH = TextSectionHandler(self.xMSF, self.xTextDocument)
return SH.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(
"City", oUserDataAccess.getByName("l"))
myFieldHandler.changeUserFieldContent(
"State", oUserDataAccess.getByName("st"))
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.keepBendMarksFrame:
xTF = self.getFrameByName(
"Bend Marks", self.xTextDocument)
if xTF is not None:
xTF.dispose()
if not self.keepLetterSignsFrame:
xTF = self.getFrameByName(
"Letter Signs", self.xTextDocument)
if xTF is not None:
xTF.dispose()
if not self.keepSenderAddressRepeatedFrame:
xTF = self.getFrameByName(
"Sender Address Repeated", self.xTextDocument)
if xTF is not None:
xTF.dispose()
if not self.keepAddressFrame:
xTF = self.getFrameByName(
"Sender Address", self.xTextDocument)
if xTF is not None:
xTF.dispose()
except Exception:
traceback.print_exc()
class BusinessPaperObject(object):
def __init__(self, xTextDocument, FrameText, Width, Height, XPos, YPos):
self.xTextDocument = xTextDocument
self.iWidth = Width
self.iHeight = Height
self.iXPos = XPos
self.iYPos = YPos
self.xFrame = None
try:
self.xFrame = \
self.xTextDocument.createInstance(
"com.sun.star.text.TextFrame")
self.setFramePosition()
self.xFrame.AnchorType = AT_PAGE
self.xFrame.SizeType = FIX
self.xFrame.TextWrap = THROUGH
self.xFrame.Opaque = True
self.xFrame.BackColor = 15790320
myBorder = BorderLine()
myBorder.OuterLineWidth = 0
self.xFrame.LeftBorder = myBorder
self.xFrame.RightBorder = myBorder
self.xFrame.TopBorder = myBorder
self.xFrame.BottomBorder = myBorder
self.xFrame.Print = False
xTextCursor = \
self.xTextDocument.Text.createTextCursor()
xTextCursor.gotoEnd(True)
xText = self.xTextDocument.Text
xText.insertTextContent(
xTextCursor, self.xFrame,
False)
xFrameText = self.xFrame.Text
xFrameCursor = xFrameText.createTextCursor()
xFrameCursor.setPropertyValue("CharWeight", BOLD)
xFrameCursor.setPropertyValue("CharColor", 16777215)
xFrameCursor.setPropertyValue("CharFontName", "Albany")
xFrameCursor.setPropertyValue("CharHeight", 18)
xFrameText.insertString(xFrameCursor, FrameText, False)
except Exception:
traceback.print_exc()
def setFramePosition(self):
try:
self.xFrame.HoriOrient = NONEHORI
self.xFrame.VertOrient = NONEVERT
self.xFrame.Height = self.iHeight
self.xFrame.Width = self.iWidth
self.xFrame.HoriOrientPosition = self.iXPos
self.xFrame.VertOrientPosition = self.iYPos
self.xFrame.HoriOrientRelation = PAGE_FRAME
self.xFrame.VertOrientRelation = PAGE_FRAME
except Exception:
traceback.print_exc()
def removeFrame(self):
if self.xFrame is not None:
try:
self.xTextDocument.Text.removeTextContent(
self.xFrame)
except UnknownPropertyException:
pass
except Exception:
traceback.print_exc()

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@
#
# 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 .
#
HID = 40768
HIDMAIN = 40820
class LetterWizardDialogConst:
OPTBUSINESSLETTER_ITEM_CHANGED = "optBusinessLetterItemChanged"
OPTBUSINESSLETTER_ITEM_CHANGED = "optBusinessLetterItemChanged"
OPTPRIVOFFICIALLETTER_ITEM_CHANGED = "optPrivOfficialLetterItemChanged"
OPTPRIVATELETTER_ITEM_CHANGED = "optPrivateLetterItemChanged"
LSTBUSINESSSTYLE_ACTION_PERFORMED = None
LSTBUSINESSSTYLE_ITEM_CHANGED = "lstBusinessStyleItemChanged"
LSTPRIVOFFICIALSTYLE_ACTION_PERFORMED = None
LSTPRIVOFFICIALSTYLE_ITEM_CHANGED = "lstPrivOfficialStyleItemChanged"
CHKBUSINESSPAPER_ITEM_CHANGED = "chkBusinessPaperItemChanged"
LSTPRIVATESTYLE_ACTION_PERFORMED = None
LSTPRIVATESTYLE_ITEM_CHANGED = "lstPrivateStyleItemChanged"
CHKPAPERCOMPANYLOGO_ITEM_CHANGED = "chkPaperCompanyLogoItemChanged"
NUMLOGOHEIGHT_TEXT_CHANGED = "numLogoHeightTextChanged"
NUMLOGOX_TEXT_CHANGED = "numLogoXTextChanged"
NUMLOGOWIDTH_TEXT_CHANGED = "numLogoWidthTextChanged"
NUMLOGOY_TEXT_CHANGED = "numLogoYTextChanged"
CHKCOMPANYRECEIVER_ITEM_CHANGED = "chkCompanyReceiverItemChanged"
CHKPAPERFOOTER_ITEM_CHANGED = "chkPaperFooterItemChanged"
NUMFOOTERHEIGHT_TEXT_CHANGED = "numFooterHeightTextChanged"
CHKPAPERCOMPANYADDRESS_ITEM_CHANGED = "chkPaperCompanyAddressItemChanged"
NUMADDRESSHEIGHT_TEXT_CHANGED = "numAddressHeightTextChanged"
NUMADDRESSX_TEXT_CHANGED = "numAddressXTextChanged"
NUMADDRESSWIDTH_TEXT_CHANGED = "numAddressWidthTextChanged"
NUMADDRESSY_TEXT_CHANGED = "numAddressYTextChanged"
CHKUSELOGO_ITEM_CHANGED = "chkUseLogoItemChanged"
CHKUSEADDRESSRECEIVER_ITEM_CHANGED = "chkUseAddressReceiverItemChanged"
CHKUSESIGNS_ITEM_CHANGED = "chkUseSignsItemChanged"
CHKUSESUBJECT_ITEM_CHANGED = "chkUseSubjectItemChanged"
CHKUSEBENDMARKS_ITEM_CHANGED = "chkUseBendMarksItemChanged"
CHKUSEFOOTER_ITEM_CHANGED = "chkUseFooterItemChanged"
CHKUSESALUTATION_ITEM_CHANGED = "chkUseSalutationItemChanged"
CHKUSEGREETING_ITEM_CHANGED = "chkUseGreetingItemChanged"
LSTSALUTATION_ACTION_PERFORMED = None
LSTSALUTATION_ITEM_CHANGED = "lstSalutationItemChanged"
LSTSALUTATION_TEXT_CHANGED = "lstSalutationItemChanged"
LSTGREETING_ACTION_PERFORMED = None
LSTGREETING_ITEM_CHANGED = "lstGreetingItemChanged"
LSTGREETING_TEXT_CHANGED = "lstGreetingItemChanged"
OPTSENDERPLACEHOLDER_ITEM_CHANGED = "optSenderPlaceholderItemChanged"
OPTSENDERDEFINE_ITEM_CHANGED = "optSenderDefineItemChanged"
OPTRECEIVERPLACEHOLDER_ITEM_CHANGED = "optReceiverPlaceholderItemChanged"
OPTRECEIVERDATABASE_ITEM_CHANGED = "optReceiverDatabaseItemChanged"
TXTSENDERNAME_TEXT_CHANGED = "txtSenderNameTextChanged"
TXTSENDERSTREET_TEXT_CHANGED = "txtSenderStreetTextChanged"
TXTSENDERCITY_TEXT_CHANGED = "txtSenderCityTextChanged"
TXTSENDERPOSTCODE_TEXT_CHANGED = "txtSenderPostCodeTextChanged"
TXTSENDERSTATE_TEXT_CHANGED = "txtSenderStateTextChanged"
TXTFOOTER_TEXT_CHANGED = "txtFooterTextChanged"
CHKFOOTERNEXTPAGES_ITEM_CHANGED = "chkFooterNextPagesItemChanged"
CHKFOOTERPAGENUMBERS_ITEM_CHANGED = "chkFooterPageNumbersItemChanged"
TXTTEMPLATENAME_TEXT_CHANGED = "txtTemplateNameTextChanged"
OPTCREATELETTER_ITEM_CHANGED = "optCreateFromTemplateItemChanged"
OPTMAKECHANGES_ITEM_CHANGED = "optMakeChangesItemChanged"
FILETEMPLATEPATH_TEXT_CHANGED = None

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,133 @@
#
# 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 .
#
class LetterWizardDialogResources(object):
def __init__(self):
import sys, os
# imp is deprecated since Python v.3.4
if sys.version_info >= (3,3):
from importlib.machinery import SourceFileLoader
SourceFileLoader('strings', os.path.join(os.path.dirname(__file__), '../common/strings.hrc')).load_module()
else:
import imp
imp.load_source('strings', os.path.join(os.path.dirname(__file__), '../common/strings.hrc'))
import strings
self.resLetterWizardDialog_title = strings.RID_LETTERWIZARDDIALOG_START_1
self.resLabel9_value = strings.RID_LETTERWIZARDDIALOG_START_2
self.resoptBusinessLetter_value = strings.RID_LETTERWIZARDDIALOG_START_3
self.resoptPrivOfficialLetter_value = strings.RID_LETTERWIZARDDIALOG_START_4
self.resoptPrivateLetter_value = strings.RID_LETTERWIZARDDIALOG_START_5
self.reschkBusinessPaper_value = strings.RID_LETTERWIZARDDIALOG_START_6
self.reschkPaperCompanyLogo_value = strings.RID_LETTERWIZARDDIALOG_START_7
self.reschkPaperCompanyAddress_value = strings.RID_LETTERWIZARDDIALOG_START_8
self.reschkPaperFooter_value = strings.RID_LETTERWIZARDDIALOG_START_9
self.reschkCompanyReceiver_value = strings.RID_LETTERWIZARDDIALOG_START_10
self.reschkUseLogo_value = strings.RID_LETTERWIZARDDIALOG_START_11
self.reschkUseAddressReceiver_value = strings.RID_LETTERWIZARDDIALOG_START_12
self.reschkUseSigns_value = strings.RID_LETTERWIZARDDIALOG_START_13
self.reschkUseSubject_value = strings.RID_LETTERWIZARDDIALOG_START_14
self.reschkUseSalutation_value = strings.RID_LETTERWIZARDDIALOG_START_15
self.reschkUseBendMarks_value = strings.RID_LETTERWIZARDDIALOG_START_16
self.reschkUseGreeting_value = strings.RID_LETTERWIZARDDIALOG_START_17
self.reschkUseFooter_value = strings.RID_LETTERWIZARDDIALOG_START_18
self.resoptSenderPlaceholder_value = strings.RID_LETTERWIZARDDIALOG_START_19
self.resoptSenderDefine_value = strings.RID_LETTERWIZARDDIALOG_START_20
self.resoptReceiverPlaceholder_value = strings.RID_LETTERWIZARDDIALOG_START_21
self.resoptReceiverDatabase_value = strings.RID_LETTERWIZARDDIALOG_START_22
self.reschkFooterNextPages_value = strings.RID_LETTERWIZARDDIALOG_START_23
self.reschkFooterPageNumbers_value = strings.RID_LETTERWIZARDDIALOG_START_24
self.restxtTemplateName_value = strings.RID_LETTERWIZARDDIALOG_START_25
self.resoptCreateLetter_value = strings.RID_LETTERWIZARDDIALOG_START_26
self.resoptMakeChanges_value = strings.RID_LETTERWIZARDDIALOG_START_27
self.reslblBusinessStyle_value = strings.RID_LETTERWIZARDDIALOG_START_28
self.reslblPrivOfficialStyle_value = strings.RID_LETTERWIZARDDIALOG_START_29
self.reslblPrivateStyle_value = strings.RID_LETTERWIZARDDIALOG_START_30
self.reslblIntroduction_value = strings.RID_LETTERWIZARDDIALOG_START_31
self.reslblLogoHeight_value = strings.RID_LETTERWIZARDDIALOG_START_32
self.reslblLogoWidth_value = strings.RID_LETTERWIZARDDIALOG_START_33
self.reslblLogoX_value = strings.RID_LETTERWIZARDDIALOG_START_34
self.reslblLogoY_value = strings.RID_LETTERWIZARDDIALOG_START_35
self.reslblAddressHeight_value = strings.RID_LETTERWIZARDDIALOG_START_36
self.reslblAddressWidth_value = strings.RID_LETTERWIZARDDIALOG_START_37
self.reslblAddressX_value = strings.RID_LETTERWIZARDDIALOG_START_38
self.reslblAddressY_value = strings.RID_LETTERWIZARDDIALOG_START_39
self.reslblFooterHeight_value = strings.RID_LETTERWIZARDDIALOG_START_40
self.reslblSenderAddress_value = strings.RID_LETTERWIZARDDIALOG_START_42
self.reslblSenderName_value = strings.RID_LETTERWIZARDDIALOG_START_43
self.reslblSenderStreet_value = strings.RID_LETTERWIZARDDIALOG_START_44
self.reslblPostCodeCity_value = strings.RID_LETTERWIZARDDIALOG_START_45
self.reslblReceiverAddress_value = strings.RID_LETTERWIZARDDIALOG_START_46
self.reslblFooter_value = strings.RID_LETTERWIZARDDIALOG_START_47
self.reslblFinalExplanation1_value = strings.RID_LETTERWIZARDDIALOG_START_48
self.reslblFinalExplanation2_value = strings.RID_LETTERWIZARDDIALOG_START_49
self.reslblTemplateName_value = strings.RID_LETTERWIZARDDIALOG_START_50
self.reslblTemplatePath_value = strings.RID_LETTERWIZARDDIALOG_START_51
self.reslblProceed_value = strings.RID_LETTERWIZARDDIALOG_START_52
self.reslblTitle1_value = strings.RID_LETTERWIZARDDIALOG_START_53
self.reslblTitle3_value = strings.RID_LETTERWIZARDDIALOG_START_54
self.reslblTitle2_value = strings.RID_LETTERWIZARDDIALOG_START_55
self.reslblTitle4_value = strings.RID_LETTERWIZARDDIALOG_START_56
self.reslblTitle5_value = strings.RID_LETTERWIZARDDIALOG_START_57
self.reslblTitle6_value = strings.RID_LETTERWIZARDDIALOG_START_58
#Create a Dictionary for the constants values.
self.dictConstants = {
"#subjectconst#" : strings.RID_LETTERWIZARDDIALOG_START_59}
#Create a dictionary for localising the business templates
self.dictBusinessTemplate = {
"Elegant" : strings.RID_LETTERWIZARDDIALOG_START_60,
"Modern" : strings.RID_LETTERWIZARDDIALOG_START_61,
"Office" : strings.RID_LETTERWIZARDDIALOG_START_62}
#Create a dictionary for localising the official templates
self.dictOfficialTemplate = {
"Elegant" : strings.RID_LETTERWIZARDDIALOG_START_60,
"Modern" : strings.RID_LETTERWIZARDDIALOG_START_61,
"Office" : strings.RID_LETTERWIZARDDIALOG_START_62}
#Create a dictionary for localising the private templates
self.dictPrivateTemplate = {
"Bottle" : strings.RID_LETTERWIZARDDIALOG_START_63,
"Mail" : strings.RID_LETTERWIZARDDIALOG_START_64,
"Marine" : strings.RID_LETTERWIZARDDIALOG_START_65,
"Red Line" : strings.RID_LETTERWIZARDDIALOG_START_66}
#Common Resources
self.resOverwriteWarning = strings.RID_COMMON_START_19
self.resTemplateDescription = strings.RID_COMMON_START_20
self.RoadmapLabels = []
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_1)
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_2)
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_3)
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_4)
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_5)
self.RoadmapLabels.append(strings.RID_LETTERWIZARDROADMAP_START_6)
self.SalutationLabels = []
self.SalutationLabels.append(strings.RID_LETTERWIZARDSALUTATION_START_1)
self.SalutationLabels.append(strings.RID_LETTERWIZARDSALUTATION_START_2)
self.SalutationLabels.append(strings.RID_LETTERWIZARDSALUTATION_START_3)
self.GreetingLabels = []
self.GreetingLabels.append(strings.RID_LETTERWIZARDGREETING_START_1)
self.GreetingLabels.append(strings.RID_LETTERWIZARDGREETING_START_2)
self.GreetingLabels.append(strings.RID_LETTERWIZARDGREETING_START_3)