[Libreoffice-commits] .: Branch 'feature/gsoc2011_wizards' - wizards/com

Xisco Fauli xfauli at kemper.freedesktop.org
Thu Jun 30 05:51:25 PDT 2011


 wizards/com/sun/star/wizards/RemoteLetterWizard                    |    7 
 wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py            |    1 
 wizards/com/sun/star/wizards/letter/CGLetter.py                    |   37 
 wizards/com/sun/star/wizards/letter/CGLetterWizard.py              |   10 
 wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py      |   10 
 wizards/com/sun/star/wizards/letter/LetterDocument.py              |  180 +
 wizards/com/sun/star/wizards/letter/LetterWizardDialog.py          |  119 +
 wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py     |   60 
 wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py      |  908 ++++++++++
 wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py |   98 +
 wizards/com/sun/star/wizards/letter/LocaleCodes.py                 |  154 +
 wizards/com/sun/star/wizards/ui/UnoDialog.py                       |   12 
 12 files changed, 1585 insertions(+), 11 deletions(-)

New commits:
commit 289f9ed24f1efd398f6ae4f2a82fbd1f5f5005a3
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Thu Jun 30 14:49:54 2011 +0200

    First attempt to create the letter wizard

diff --git a/wizards/com/sun/star/wizards/RemoteLetterWizard b/wizards/com/sun/star/wizards/RemoteLetterWizard
new file mode 100755
index 0000000..9928625
--- /dev/null
+++ b/wizards/com/sun/star/wizards/RemoteLetterWizard
@@ -0,0 +1,7 @@
+#!/usr/bin/env python
+from letter.LetterWizardDialogImpl import LetterWizardDialogImpl
+import sys
+
+if __name__ == "__main__":
+    
+    LetterWizardDialogImpl.main(sys.argv)
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
index 4b48e57..72933af 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
@@ -115,7 +115,6 @@ class FaxWizardDialogImpl(FaxWizardDialog):
 
             #disable the document, so that the user cannot change anything:
             self.myFaxDoc.xFrame.ComponentWindow.Enable = False
-
             self.executeDialogFromComponent(self.myFaxDoc.xFrame)
             self.removeTerminateListener()
             self.closeDocument()
diff --git a/wizards/com/sun/star/wizards/letter/CGLetter.py b/wizards/com/sun/star/wizards/letter/CGLetter.py
new file mode 100644
index 0000000..b955028
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGLetter.py
@@ -0,0 +1,37 @@
+from common.ConfigGroup import *
+from CGPaperElementLocation import CGPaperElementLocation
+
+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_Norm = int()
+        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()
diff --git a/wizards/com/sun/star/wizards/letter/CGLetterWizard.py b/wizards/com/sun/star/wizards/letter/CGLetterWizard.py
new file mode 100644
index 0000000..3df1ee1
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGLetterWizard.py
@@ -0,0 +1,10 @@
+from common.ConfigGroup import *
+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()
diff --git a/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py b/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py
new file mode 100644
index 0000000..901fbae
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py
@@ -0,0 +1,10 @@
+from common.ConfigGroup import *
+
+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()
diff --git a/wizards/com/sun/star/wizards/letter/LetterDocument.py b/wizards/com/sun/star/wizards/letter/LetterDocument.py
new file mode 100644
index 0000000..2d630ae
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterDocument.py
@@ -0,0 +1,180 @@
+from text.TextDocument import *
+from text.TextSectionHandler import TextSectionHandler
+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 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)
+            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:
+                xNameAccess = self.xTextDocument.StyleFamilies
+                xPageStyleCollection = xNameAccess.getByName("PageStyles")
+                xPageStyle = xPageStyleCollection.getByName(sPageStyle)
+                if bState:
+                    Helper.setUnoPropertyValue(xPageStyle, "FooterIsOn",True)
+                    xFooterText = Helper.getUnoPropertyValue(xPageStyle, "FooterText")
+                    xFooterText.String = sText
+                    if bPageNumber:
+                        #Adding the Page Number
+                        myCursor = xFooterText.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.setPropertyValue("NumberingType", ARABIC)
+                        xFooterText.insertTextContent(xFooterText.getEnd(), 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:
+            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.xMSF, 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("City", Helper.getUnoObjectbyName(oUserDataAccess, "l"))
+            myFieldHandler.changeUserFieldContent(PropertyNames.PROPERTY_STATE, Helper.getUnoObjectbyName(oUserDataAccess, "st"))
+        except Exception, exception:
+            traceback.print_exc()
+
+    def killEmptyUserFields(self):
+        myFieldHandler = TextFieldHandle(self.xMSF, self.xTextDocument)
+        myFieldHandler.removeUserFieldByContent("")
+
+    def killEmptyFrames(self):
+        try:
+            if not self.keepLogoFrame:
+                xTF = TextFrameHandler.getFrameByName("Company Logo", self.xTextDocument)
+            if xTF is not None:
+                xTF.dispose()
+
+            if not self.keepBendMarksFrame:
+                xTF = TextFrameHandler.getFrameByName("Bend Marks", self.xTextDocument)
+            if xTF is not None:
+                xTF.dispose()
+
+            if not self.keepLetterSignsFrame:
+                xTF = TextFrameHandler.getFrameByName("Letter Signs", self.xTextDocument)
+            if xTF is not None:
+                xTF.dispose()
+
+            if not self.keepSenderAddressRepeatedFrame:
+                xTF = TextFrameHandler.getFrameByName("Sender Address Repeated", self.xTextDocument)
+            if xTF is not None:
+                xTF.dispose()
+
+            if not self.keepAddressFrame:
+                xTF = TextFrameHandler.getFrameByName("Sender Address", self.xTextDocument)
+            if xTF is not None:
+                xTF.dispose()
+
+        except Exception, e:
+            traceback.print_exc()
+
+class BusinessPaperObject(object):
+
+    def __init__(self, FrameText, Width, Height, XPos, YPos):
+        self.iWidth = Width
+        self.iHeight = Height
+        self.iXPos = XPos
+        self.iYPos = YPos
+
+        try:
+            xFrame = self.xTextDocument.createInstance("com.sun.star.text.TextFrame")
+            self.setFramePosition()
+            Helper.setUnoPropertyValue(xFrame, "AnchorType", TextContentAnchorType.AT_PAGE)
+            Helper.setUnoPropertyValue(xFrame, "SizeType", SizeType.FIX)
+
+            Helper.setUnoPropertyValue(xFrame, "TextWrap", WrapTextMode.THROUGHT)
+            Helper.setUnoPropertyValue(xFrame, "Opaque", Boolean.TRUE)
+            Helper.setUnoPropertyValue(xFrame, "BackColor", 15790320)
+
+            myBorder = BorderLine()
+            myBorder.OuterLineWidth = 0
+            Helper.setUnoPropertyValue(xFrame, "LeftBorder", myBorder)
+            Helper.setUnoPropertyValue(xFrame, "RightBorder", myBorder)
+            Helper.setUnoPropertyValue(xFrame, "TopBorder", myBorder)
+            Helper.setUnoPropertyValue(xFrame, "BottomBorder", myBorder)
+            Helper.setUnoPropertyValue(xFrame, "Print", False)
+
+            xTextCursor = self.xTextDocument.Text.createTextCursor()
+            xTextCursor.gotoEnd(True)
+            xText = self.xTextDocument.Text
+            xText.insertTextContent(xTextCursor, xFrame, False)
+
+            xFrameText = xFrame.Text
+            xFrameCursor = xFrameText.createTextCursor()
+            xFrameCursor.setPropertyValue("CharWeight", com.sun.star.awt.FontWeight.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):
+        Helper.setUnoPropertyValue(xFrame, "HoriOrient", HoriOrientation.NONE)
+        Helper.setUnoPropertyValue(xFrame, "VertOrient", VertOrientation.NONE)
+        Helper.setUnoPropertyValue(xFrame, PropertyNames.PROPERTY_HEIGHT, iHeight)
+        Helper.setUnoPropertyValue(xFrame, PropertyNames.PROPERTY_WIDTH, iWidth)
+        Helper.setUnoPropertyValue(xFrame, "HoriOrientPosition", iXPos)
+        Helper.setUnoPropertyValue(xFrame, "VertOrientPosition", iYPos)
+        Helper.setUnoPropertyValue(xFrame, "HoriOrientRelation", RelOrientation.PAGE_FRAME)
+        Helper.setUnoPropertyValue(xFrame, "VertOrientRelation", RelOrientation.PAGE_FRAME)
+
+    def removeFrame(self):
+        if xFrame is not None:
+            try:
+                self.xTextDocument.Text.removeTextContent(xFrame)
+            except Exception:
+                traceback.print_exc()
+
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py
new file mode 100644
index 0000000..f2fa2f5
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py
@@ -0,0 +1,119 @@
+from ui.WizardDialog import *
+from LetterWizardDialogConst import *
+from LetterWizardDialogResources import LetterWizardDialogResources
+
+from com.sun.star.awt.FontUnderline import SINGLE
+
+class LetterWizardDialog(WizardDialog):
+
+    def __init__(self, xmsf):
+        super(LetterWizardDialog, self).__init__(xmsf, HIDMAIN )
+
+        self.resources = LetterWizardDialogResources(xmsf)
+        Helper.setUnoPropertyValues(self.xDialogModel, ("Closeable", PropertyNames.PROPERTY_HEIGHT, "Moveable", PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Title", PropertyNames.PROPERTY_WIDTH), (True, 210, True, "LetterWizardDialog", 104, 52, 1, 1, self.resources.resLetterWizardDialog_title, 310))
+        self.fontDescriptor1 = \
+            uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+        self.fontDescriptor2 = \
+            uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+        self.fontDescriptor5 = \
+            uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+        self.fontDescriptor6 = \
+            uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+        self.fontDescriptor1.Weight = 150
+        self.fontDescriptor1.Underline = SINGLE
+        self.fontDescriptor2.Weight = 100
+        self.fontDescriptor5.Weight = 100
+        self.fontDescriptor6.Weight = 150
+
+    def buildStep1(self):
+        self.optBusinessLetter = self.insertRadioButton("optBusinessLetter", OPTBUSINESSLETTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 1), self.resources.resoptBusinessLetter_value, "optBusinessLetter", 97, 28, 1, 1, 184), self)
+        self.optPrivOfficialLetter = self.insertRadioButton("optPrivOfficialLetter", OPTPRIVOFFICIALLETTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 2), self.resources.resoptPrivOfficialLetter_value, "optPrivOfficialLetter", 97, 74, 1, 2, 184), self)
+        self.optPrivateLetter = self.insertRadioButton("optPrivateLetter", OPTPRIVATELETTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 3), self.resources.resoptPrivateLetter_value, "optPrivateLetter", 97, 106, 1, 3, 184), self)
+        self.lstBusinessStyle = self.insertListBox("lstBusinessStyle", LSTBUSINESSSTYLE_ACTION_PERFORMED, LSTBUSINESSSTYLE_ITEM_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 4), "lstBusinessStyle", 180, 40, 1, 4, 74), self)
+        self.chkBusinessPaper = self.insertCheckBox("chkBusinessPaper", CHKBUSINESSPAPER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 5), self.resources.reschkBusinessPaper_value, "chkBusinessPaper", 110, 56, 0, 1, 5, 168), self)
+        self.lstPrivOfficialStyle = self.insertListBox("lstPrivOfficialStyle", LSTPRIVOFFICIALSTYLE_ACTION_PERFORMED, LSTPRIVOFFICIALSTYLE_ITEM_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 6), "lstPrivOfficialStyle", 180, 86, 1, 6, 74), self)
+        self.lstPrivateStyle = self.insertListBox("lstPrivateStyle", LSTPRIVATESTYLE_ACTION_PERFORMED, LSTPRIVATESTYLE_ITEM_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 7), "lstPrivateStyle", 180, 118, 1, 7, 74), self)
+        self.lblBusinessStyle = self.insertLabel("lblBusinessStyle", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblBusinessStyle_value, "lblBusinessStyle", 110, 42, 1, 48, 60))
+        self.lblPrivOfficialStyle = self.insertLabel("lblPrivOfficialStyle", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblPrivOfficialStyle_value, "lblPrivOfficialStyle", 110, 88, 1, 49, 60))
+        self.lblTitle1 = self.insertLabel("lblTitle1", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle1_value, True, "lblTitle1", 91, 8, 1, 55, 212))
+        self.lblPrivateStyle = self.insertLabel("lblPrivateStyle", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblPrivateStyle_value, "lblPrivateStyle", 110, 120, 1, 74, 60))
+        self.lblIntroduction = self.insertLabel("lblIntroduction", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (39, self.resources.reslblIntroduction_value, True, "lblIntroduction", 104, 145, 1, 80, 199))
+        self.ImageControl3 = self.insertInfoImage(92, 145, 1)
+
+    def buildStep2(self):
+        self.chkPaperCompanyLogo = self.insertCheckBox("chkPaperCompanyLogo", CHKPAPERCOMPANYLOGO_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 8), self.resources.reschkPaperCompanyLogo_value, "chkPaperCompanyLogo", 97, 28, 0, 2, 8, 68), self)
+        self.numLogoHeight = self.insertNumericField("numLogoHeight", NUMLOGOHEIGHT_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, "StrictFormat", PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 9), "numLogoHeight", 138, 40, True, 2, True, 9, 3, 30), self)
+        self.numLogoX = self.insertNumericField("numLogoX", NUMLOGOX_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 10), "numLogoX", 266, 40, True, 2, 10, 0, 30), self)
+        self.numLogoWidth = self.insertNumericField("numLogoWidth", NUMLOGOWIDTH_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 11), "numLogoWidth", 138, 56, True, 2, 11, 3.8, 30), self)
+        self.numLogoY = self.insertNumericField("numLogoY", NUMLOGOY_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 12), "numLogoY", 266, 56, True, 2, 12, -3.4, 30), self)
+        self.chkPaperCompanyAddress = self.insertCheckBox("chkPaperCompanyAddress", CHKPAPERCOMPANYADDRESS_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 13), self.resources.reschkPaperCompanyAddress_value, "chkPaperCompanyAddress", 98, 84, 0, 2, 13, 68), self)
+        self.numAddressHeight = self.insertNumericField("numAddressHeight", NUMADDRESSHEIGHT_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, "StrictFormat", PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 14), "numAddressHeight", 138, 96, True, 2, True, 14, 3, 30), self)
+        self.numAddressX = self.insertNumericField("numAddressX", NUMADDRESSX_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 15), "numAddressX", 266, 96, True, 2, 15, 3.8, 30), self)
+        self.numAddressWidth = self.insertNumericField("numAddressWidth", NUMADDRESSWIDTH_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 16), "numAddressWidth", 138, 112, True, 2, 16, 13.8, 30), self)
+        self.numAddressY = self.insertNumericField("numAddressY", NUMADDRESSY_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 17), "numAddressY", 266, 112, True, 2, 17, -3.4, 30), self)
+        self.chkCompanyReceiver = self.insertCheckBox("chkCompanyReceiver", CHKCOMPANYRECEIVER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 18), self.resources.reschkCompanyReceiver_value, "chkCompanyReceiver", 103, 131, 0, 2, 18, 185), self)
+        self.chkPaperFooter = self.insertCheckBox("chkPaperFooter", CHKPAPERFOOTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 19), self.resources.reschkPaperFooter_value, "chkPaperFooter", 97, 158, 0, 2, 19, 68), self)
+        self.numFooterHeight = self.insertNumericField("numFooterHeight", NUMFOOTERHEIGHT_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "Spin", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Value", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 20), "numFooterHeight", 236, 156, True, 2, 20, 5, 30), self)
+        self.lblLogoHeight = self.insertLabel("lblLogoHeight", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblLogoHeight_value, "lblLogoHeight", 103, 42, 2, 68, 32))
+        self.lblLogoWidth = self.insertLabel("lblLogoWidth", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblLogoWidth_value, "lblLogoWidth", 103, 58, 2, 69, 32))
+        self.FixedLine5 = self.insertFixedLine("FixedLine5", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (2, "FixedLine5", 90, 78, 2, 70, 215))
+        self.FixedLine6 = self.insertFixedLine("FixedLine6", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (2, "FixedLine6", 90, 150, 2, 71, 215))
+        self.lblFooterHeight = self.insertLabel("lblFooterHeight", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblFooterHeight_value, "lblFooterHeight", 200, 158, 2, 72, 32))
+        self.lblLogoX = self.insertLabel("lblLogoX", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblLogoX_value, "lblLogoX", 170, 42, 2, 84, 94))
+        self.lblLogoY = self.insertLabel("lblLogoY", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblLogoY_value, "lblLogoY", 170, 58, 2, 85, 94))
+        self.lblAddressHeight = self.insertLabel("lblAddressHeight", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblAddressHeight_value, "lblAddressHeight", 103, 98, 2, 86, 32))
+        self.lblAddressWidth = self.insertLabel("lblAddressWidth", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblAddressWidth_value, "lblAddressWidth", 103, 114, 2, 87, 32))
+        self.lblAddressX = self.insertLabel("lblAddressX", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblAddressX_value, "lblAddressX", 170, 98, 2, 88, 94))
+        self.lblAddressY = self.insertLabel("lblAddressY", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblAddressY_value, "lblAddressY", 170, 114, 2, 89, 94))
+        self.lblTitle2 = self.insertLabel("lblTitle2", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle2_value, True, "lblTitle2", 91, 8, 2, 91, 212))
+
+    def buildStep3(self):
+        self.lstLetterNorm = self.insertListBox("lstLetterNorm", LSTLETTERNORM_ACTION_PERFORMED, LSTLETTERNORM_ITEM_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 21), "lstLetterNorm", 210, 34, 3, 21, 74), self)
+        self.chkUseLogo = self.insertCheckBox("chkUseLogo", CHKUSELOGO_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 22), self.resources.reschkUseLogo_value, "chkUseLogo", 97, 54, 0, 3, 22, 212), self)
+        self.chkUseAddressReceiver = self.insertCheckBox("chkUseAddressReceiver", CHKUSEADDRESSRECEIVER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 23), self.resources.reschkUseAddressReceiver_value, "chkUseAddressReceiver", 97, 69, 0, 3, 23, 212), self)
+        self.chkUseSigns = self.insertCheckBox("chkUseSigns", CHKUSESIGNS_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 24), self.resources.reschkUseSigns_value, "chkUseSigns", 97, 82, 0, 3, 24, 212), self)
+        self.chkUseSubject = self.insertCheckBox("chkUseSubject", CHKUSESUBJECT_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 25), self.resources.reschkUseSubject_value, "chkUseSubject", 97, 98, 0, 3, 25, 212), self)
+        self.chkUseSalutation = self.insertCheckBox("chkUseSalutation", CHKUSESALUTATION_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 26), self.resources.reschkUseSalutation_value, "chkUseSalutation", 97, 113, 0, 3, 26, 66), self)
+        self.lstSalutation = self.insertComboBox("lstSalutation", LSTSALUTATION_ACTION_PERFORMED, LSTSALUTATION_ITEM_CHANGED, LSTSALUTATION_TEXT_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 27), "lstSalutation", 210, 110, 3, 27, 74), self)
+        self.chkUseBendMarks = self.insertCheckBox("chkUseBendMarks", CHKUSEBENDMARKS_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 28), self.resources.reschkUseBendMarks_value, "chkUseBendMarks", 97, 127, 0, 3, 28, 212), self)
+        self.chkUseGreeting = self.insertCheckBox("chkUseGreeting", CHKUSEGREETING_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 29), self.resources.reschkUseGreeting_value, "chkUseGreeting", 97, 142, 0, 3, 29, 66), self)
+        self.lstGreeting = self.insertComboBox("lstGreeting", LSTGREETING_ACTION_PERFORMED, LSTGREETING_ITEM_CHANGED, LSTGREETING_TEXT_CHANGED, ("Dropdown", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (True, 12, HelpIds.getHelpIdString(HID + 30), "lstGreeting", 210, 141, 3, 30, 74), self)
+        self.chkUseFooter = self.insertCheckBox("chkUseFooter", CHKUSEFOOTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 31), self.resources.reschkUseFooter_value, "chkUseFooter", 97, 158, 0, 3, 31, 212), self)
+        self.lblLetterNorm = self.insertLabel("lblLetterNorm", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (16, self.resources.reslblLetterNorm_value, True, "lblLetterNorm", 97, 28, 3, 50, 109))
+        self.lblTitle3 = self.insertLabel("lblTitle3", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle3_value, True, "lblTitle3", 91, 8, 3, 90, 212))
+
+    def buildStep4(self):
+        self.optSenderPlaceholder = self.insertRadioButton("optSenderPlaceholder", OPTSENDERPLACEHOLDER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 32), self.resources.resoptSenderPlaceholder_value, "optSenderPlaceholder", 104, 42, 4, 32, 149), self)
+        self.optSenderDefine = self.insertRadioButton("optSenderDefine", OPTSENDERDEFINE_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 33), self.resources.resoptSenderDefine_value, "optSenderDefine", 104, 54, 4, 33, 149), self)
+        self.txtSenderName = self.insertTextField("txtSenderName", TXTSENDERNAME_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 34), "txtSenderName", 182, 67, 4, 34, 119), self)
+        self.txtSenderStreet = self.insertTextField("txtSenderStreet", TXTSENDERSTREET_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 35), "txtSenderStreet", 182, 81, 4, 35, 119), self)
+        self.txtSenderPostCode = self.insertTextField("txtSenderPostCode", TXTSENDERPOSTCODE_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 36), "txtSenderPostCode", 182, 95, 4, 36, 25), self)
+        self.txtSenderState = self.insertTextField("txtSenderState", TXTSENDERSTATE_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 37), "txtSenderState", 211, 95, 4, 37, 21), self)
+        self.txtSenderCity = self.insertTextField("txtSenderCity", TXTSENDERCITY_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 38), "txtSenderCity", 236, 95, 4, 38, 65), self)
+        self.optReceiverPlaceholder = self.insertRadioButton("optReceiverPlaceholder", OPTRECEIVERPLACEHOLDER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 39), self.resources.resoptReceiverPlaceholder_value, "optReceiverPlaceholder", 104, 145, 4, 39, 200), self)
+        self.optReceiverDatabase = self.insertRadioButton("optReceiverDatabase", OPTRECEIVERDATABASE_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 40), self.resources.resoptReceiverDatabase_value, "optReceiverDatabase", 104, 157, 4, 40, 200), self)
+        self.lblSenderAddress = self.insertLabel("lblSenderAddress", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblSenderAddress_value, "lblSenderAddress", 97, 28, 4, 64, 136))
+        self.FixedLine2 = self.insertFixedLine("FixedLine2", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (5, "FixedLine2", 90, 126, 4, 75, 212))
+        self.lblReceiverAddress = self.insertLabel("lblReceiverAddress", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblReceiverAddress_value, "lblReceiverAddress", 97, 134, 4, 76, 136))
+        self.lblSenderName = self.insertLabel("lblSenderName", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblSenderName_value, "lblSenderName", 113, 69, 4, 77, 68))
+        self.lblSenderStreet = self.insertLabel("lblSenderStreet", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblSenderStreet_value, "lblSenderStreet", 113, 82, 4, 78, 68))
+        self.lblPostCodeCity = self.insertLabel("lblPostCodeCity", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblPostCodeCity_value, "lblPostCodeCity", 113, 97, 4, 79, 68))
+        self.lblTitle4 = self.insertLabel("lblTitle4", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle4_value, True, "lblTitle4", 91, 8, 4, 92, 212))
+
+    def buildStep5(self):
+        self.txtFooter = self.insertTextField("txtFooter", TXTFOOTER_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (47, HelpIds.getHelpIdString(HID + 41), True, "txtFooter", 97, 40, 5, 41, 203), self)
+        self.chkFooterNextPages = self.insertCheckBox("chkFooterNextPages", CHKFOOTERNEXTPAGES_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 42), self.resources.reschkFooterNextPages_value, "chkFooterNextPages", 97, 92, 0, 5, 42, 202), self)
+        self.chkFooterPageNumbers = self.insertCheckBox("chkFooterPageNumbers", CHKFOOTERPAGENUMBERS_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 43), self.resources.reschkFooterPageNumbers_value, "chkFooterPageNumbers", 97, 106, 0, 5, 43, 201), self)
+        self.lblFooter = self.insertLabel("lblFooter", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor5, 8, self.resources.reslblFooter_value, "lblFooter", 97, 28, 5, 52, 116))
+        self.lblTitle5 = self.insertLabel("lblTitle5", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle5_value, True, "lblTitle5", 91, 8, 5, 93, 212))
+
+    def buildStep6(self):
+        self.txtTemplateName = self.insertTextField("txtTemplateName", TXTTEMPLATENAME_TEXT_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, "Text", PropertyNames.PROPERTY_WIDTH), (12, HelpIds.getHelpIdString(HID + 44), "txtTemplateName", 202, 56, 6, 44, self.resources.restxtTemplateName_value, 100), self)
+        self.optCreateLetter = self.insertRadioButton("optCreateLetter", OPTCREATELETTER_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 45), self.resources.resoptCreateLetter_value, "optCreateLetter", 104, 111, 6, 50, 198), self)
+        self.optMakeChanges = self.insertRadioButton("optMakeChanges", OPTMAKECHANGES_ITEM_CHANGED, (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, HelpIds.getHelpIdString(HID + 46), self.resources.resoptMakeChanges_value, "optMakeChanges", 104, 123, 6, 51, 198), self)
+        self.lblFinalExplanation1 = self.insertLabel("lblFinalExplanation1", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (26, self.resources.reslblFinalExplanation1_value, True, "lblFinalExplanation1", 97, 28, 6, 52, 205))
+        self.lblProceed = self.insertLabel("lblProceed", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblProceed_value, "lblProceed", 97, 100, 6, 53, 204))
+        self.lblFinalExplanation2 = self.insertLabel("lblFinalExplanation2", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (33, self.resources.reslblFinalExplanation2_value, True, "lblFinalExplanation2", 104, 145, 6, 54, 199))
+        self.ImageControl2 = self.insertImage("ImageControl2", ("Border", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_IMAGEURL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "ScaleImage", PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (0, 10, "private:resource/dbu/image/19205", "ImageControl2", 92, 145,  False, 6, 66, 10))
+        self.lblTemplateName = self.insertLabel("lblTemplateName", (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (8, self.resources.reslblTemplateName_value, "lblTemplateName", 97, 58, 6, 82, 101))
+        self.lblTitle6 = self.insertLabel("lblTitle6", ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_MULTILINE, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH), (self.fontDescriptor6, 16, self.resources.reslblTitle6_value, True, "lblTitle6", 91, 8, 6, 94, 212))
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py
new file mode 100644
index 0000000..5efa78e
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py
@@ -0,0 +1,60 @@
+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"
+LSTLETTERNORM_ACTION_PERFORMED = None
+LSTLETTERNORM_ITEM_CHANGED = "lstLetterNormItemChanged"
+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 = "optCreateLetterItemChanged"
+OPTMAKECHANGES_ITEM_CHANGED = "optMakeChangesItemChanged"
+FILETEMPLATEPATH_TEXT_CHANGED = None
+imageURLImageControl1 = None
+imageURLImageControl2 = None
+imageURLImageControl3 = None
+HID = 40768
+HIDMAIN = 40820
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
new file mode 100644
index 0000000..cbd3b12
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
@@ -0,0 +1,908 @@
+import traceback
+from LetterWizardDialog import *
+from LetterDocument import LetterDocument
+from common.NoValidPathException import *
+from common.FileAccess import *
+from LocaleCodes import LocaleCodes
+from ui.PathSelection import *
+from common.Configuration import *
+from CGLetterWizard import CGLetterWizard
+from ui.event.UnoDataAware import *
+from ui.event.RadioDataAware import *
+from document.OfficeDocument import OfficeDocument
+
+class LetterWizardDialogImpl(LetterWizardDialog):
+    RM_TYPESTYLE = 1
+    RM_BUSINESSPAPER = 2
+    RM_ELEMENTS = 3
+    RM_SENDERRECEIVER = 4
+    RM_FOOTER = 5
+    RM_FINALSETTINGS = 6
+
+    def enterStep(self, OldStep, NewStep):
+        pass
+
+    def leaveStep(self, OldStep, NewStep):
+        pass
+
+    def __init__(self, xmsf):
+        super(LetterWizardDialogImpl, self).__init__(xmsf)
+        self.xmsf = xmsf
+        self.mainDA = []
+        self.letterDA = []
+        self.businessDA = []
+        self.bSaveSuccess = False
+        self.filenameChanged = False
+        self.BusCompanyLogo = None
+        self.BusCompanyAddress = None
+        self.BusCompanyAddressReceiver = None
+        self.BusFooter = None
+        self.Norms = []
+        self.NormPaths = []
+
+    @classmethod
+    def main(self, args):
+        ConnectStr = \
+            "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"
+        xLocMSF = None
+        try:
+            xLocMSF = Desktop.connect(ConnectStr)
+        except Exception, e:
+            traceback.print_exc()
+
+        lw = LetterWizardDialogImpl(xLocMSF)
+        lw.startWizard(xLocMSF, None)
+
+    def startWizard(self, xMSF, CurPropertyValue):
+        LetterWizardDialogImpl.running = True
+        try:
+            #Number of steps on WizardDialog
+            self.nMaxStep = 6
+
+            #instatiate The Document Frame for the Preview
+            self.myLetterDoc = LetterDocument(xMSF, self)
+
+            #create the dialog
+            self.drawNaviBar()
+            self.buildStep1()
+            self.buildStep2()
+            self.buildStep3()
+            self.buildStep4()
+            self.buildStep5()
+            self.buildStep6()
+
+            self.__initializePaths()
+            self.initializeNorms()
+            self.initializeSalutation()
+            self.initializeGreeting()
+
+            #special Control fFrameor setting the save Path:
+            self.insertPathSelectionControl()
+
+            #load the last used settings
+            #from the registry and apply listeners to the controls:
+            self.initConfiguration()
+
+            oL = self.getOfficeLinguistic()
+            self.myConfig.cp_BusinessLetter.cp_Norm = oL
+            self.myConfig.cp_PrivateOfficialLetter.cp_Norm = oL
+            self.myConfig.cp_PrivateLetter.cp_Norm = oL
+            self.initializeTemplates(xMSF)
+            if self.myConfig.cp_BusinessLetter.cp_Greeting == "":
+                self.myConfig.cp_BusinessLetter.cp_Greeting = self.resources.GreetingLabels[0]
+
+            if self.myConfig.cp_BusinessLetter.cp_Salutation == "":
+                self.myConfig.cp_BusinessLetter.cp_Salutation = self.resources.SalutationLabels[0]
+
+            if self.myConfig.cp_PrivateOfficialLetter.cp_Greeting == "":
+                self.myConfig.cp_PrivateOfficialLetter.cp_Greeting = self.resources.GreetingLabels[1]
+
+            if self.myConfig.cp_PrivateOfficialLetter.cp_Salutation == "":
+                self.myConfig.cp_PrivateOfficialLetter.cp_Salutation = self.resources.SalutationLabels[1]
+
+            if self.myConfig.cp_PrivateLetter.cp_Greeting == "":
+                self.myConfig.cp_PrivateLetter.cp_Greeting = self.resources.GreetingLabels[2]
+
+            if self.myConfig.cp_PrivateLetter.cp_Salutation == "":
+                self.myConfig.cp_PrivateLetter.cp_Salutation = self.resources.SalutationLabels[2]
+
+            self.updateUI()
+            if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+                self.myPathSelection.initializePath()
+
+            xContainerWindow = self.myLetterDoc.xFrame.ContainerWindow
+            self.createWindowPeer(xContainerWindow)
+            self.insertRoadmap()
+            self.setConfiguration()
+            self.setDefaultForGreetingAndSalutation()
+            self.initializeElements()
+            self.myLetterDoc.xFrame.ComponentWindow.Enable = False
+            self.executeDialogFromComponent(self.myLetterDoc.xFrame)
+            self.removeTerminateListener()
+            self.closeDocument()
+            LetterWizardDialogImpl.running = False
+        except Exception, exception:
+            self.removeTerminateListener()
+            traceback.print_exc()
+            LetterWizardDialogImpl.running = False
+            return
+
+    def cancelWizard(self):
+        xDialog.endExecute()
+        LetterWizardDialogImpl.running = False
+
+    def finishWizard(self):
+        switchToStep(getCurrentStep(), getMaxStep())
+        try:
+            fileAccess = FileAccess.FileAccess_unknown(xMSF)
+            self.sPath = self.myPathSelection.getSelectedPath()
+            if self.sPath.equals(""):
+                self.myPathSelection.triggerPathPicker()
+                self.sPath = self.myPathSelection.getSelectedPath()
+
+            self.sPath = fileAccess.getURL(self.sPath)
+            if not self.filenameChanged:
+                if fileAccess.exists(self.sPath, True):
+                    answer = SystemDialog.showMessageBox(xMSF, xControl.getPeer(), "MessBox", VclWindowPeerAttribute.YES_NO + VclWindowPeerAttribute.DEF_NO, self.resources.resOverwriteWarning)
+                    if answer == 3:
+                        return False;
+
+            self.myLetterDoc.setWizardTemplateDocInfo(self.resources.resLetterWizardDialog_title, self.resources.resTemplateDescription)
+            self.myLetterDoc.killEmptyUserFields()
+            self.myLetterDoc.keepLogoFrame = (chkUseLogo.State != 0)
+            if (chkBusinessPaper.State != 0) and (chkPaperCompanyLogo.State != 0):
+                self.myLetterDoc.keepLogoFrame = False
+
+            self.myLetterDoc.keepBendMarksFrame = (chkUseBendMarks.State != 0)
+            self.myLetterDoc.keepLetterSignsFrame = (chkUseSigns.State != 0)
+            self.myLetterDoc.keepSenderAddressRepeatedFrame = (chkUseAddressReceiver.State != 0)
+            if optBusinessLetter.State:
+                if (chkBusinessPaper.State != 0) and (self.chkCompanyReceiver.State != 0):
+                    self.myLetterDoc.keepSenderAddressRepeatedFrame = False
+
+                if (chkBusinessPaper.State != 0) and (chkPaperCompanyAddress.State != 0):
+                    self.myLetterDoc.keepAddressFrame = False
+
+            self.myLetterDoc.killEmptyFrames()
+            self.bSaveSuccess = OfficeDocument.store(xMSF, self.xTextDocument, self.sPath, "writer8_template", False)
+            if self.bSaveSuccess:
+                saveConfiguration()
+                xIH = xMSF.createInstance("com.sun.star.comp.uui.UUIInteractionHandler")
+                loadValues = range(4)
+                loadValues[0] = PropertyValue.PropertyValue()
+                loadValues[0].Name = "AsTemplate"
+                loadValues[1] = PropertyValue.PropertyValue()
+                loadValues[1].Name = "MacroExecutionMode"
+                loadValues[1].Value = Short.Short_unknown(MacroExecMode.ALWAYS_EXECUTE)
+                loadValues[2] = PropertyValue.PropertyValue()
+                loadValues[2].Name = "UpdateDocMode"
+                loadValues[2].Value = Short.Short_unknown(com.sun.star.document.UpdateDocMode.FULL_UPDATE)
+                loadValues[3] = PropertyValue.PropertyValue()
+                loadValues[3].Name = "InteractionHandler"
+                loadValues[3].Value = xIH
+                if self.bEditTemplate:
+                    loadValues[0].Value = False
+                else:
+                    loadValues[0].Value = True
+
+                oDoc = OfficeDocument.load(Desktop.getDesktop(xMSF), self.sPath, "_default", loadValues)
+                myViewHandler = ViewHandler(xDocMSF, oDoc)
+                myViewHandler.setViewSetting("ZoomType", com.sun.star.view.DocumentZoomType.OPTIMAL)
+            else:
+                pass
+
+        except Exception, e:
+            traceback.print_exc()
+        finally:
+            xDialog.endExecute()
+            LetterWizardDialogImpl.running = False
+
+        return True;
+
+    def closeDocument(self):
+        try:
+            xCloseable = self.myLetterDoc.xFrame
+            xCloseable.close(False)
+        except CloseVetoException, e:
+            traceback.print_exc()
+
+    def optBusinessLetterItemChanged(self):
+        DataAware.setDataObjects(self.letterDA, self.myConfig.cp_BusinessLetter, True)
+        self.setControlProperty("lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.lstBusinessStyleItemChanged()
+        self.enableSenderReceiver()
+        self.setPossibleFooter(True)
+        if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+            self.myPathSelection.initializePath()
+
+    def optPrivOfficialLetterItemChanged(self):
+        DataAware.setDataObjects(self.letterDA, self.myConfig.cp_PrivateOfficialLetter, True)
+        self.setControlProperty("lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.lstPrivOfficialStyleItemChanged()
+        self.disableBusinessPaper()
+        self.enableSenderReceiver()
+        self.setPossibleFooter(True)
+        if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+            self.myPathSelection.initializePath()
+
+    def optPrivateLetterItemChanged(self):
+        DataAware.setDataObjects(self.letterDA, self.myConfig.cp_PrivateLetter, True)
+        self.setControlProperty("lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, True)
+        lstPrivateStyleItemChanged()
+        disableBusinessPaper()
+        disableSenderReceiver()
+        setPossibleFooter(False)
+        if self.myPathSelection.xSaveTextBox.Text.equalsIgnoreCase(""):
+            self.myPathSelection.initializePath()
+
+    def optSenderPlaceholderItemChanged(self):
+        self.setControlProperty("lblSenderName", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblSenderStreet", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("txtSenderName", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("txtSenderStreet", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("txtSenderState", PropertyNames.PROPERTY_ENABLED, False)
+        self.setControlProperty("txtSenderCity", PropertyNames.PROPERTY_ENABLED, False)
+        self.myLetterDoc.fillSenderWithUserData()
+
+    def optSenderDefineItemChanged(self):
+        self.setControlProperty("lblSenderName", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lblSenderStreet", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("txtSenderName", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("txtSenderStreet", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("txtSenderState", PropertyNames.PROPERTY_ENABLED, True)
+        self.setControlProperty("txtSenderCity", PropertyNames.PROPERTY_ENABLED, True)
+        txtSenderNameTextChanged()
+        txtSenderStreetTextChanged()
+        txtSenderPostCodeTextChanged()
+        txtSenderStateTextChanged()
+        txtSenderCityTextChanged()
+
+    def optCreateLetterItemChanged(self):
+        self.bEditTemplate = False
+
+    def optMakeChangesItemChanged(self):
+        self.bEditTemplate = True
+
+    def optReceiverPlaceholderItemChanged(self):
+        OfficeDocument.attachEventCall(self.xTextDocument, "OnNew", "StarBasic", "macro:///Template.Correspondence.Placeholder()")
+
+    def optReceiverDatabaseItemChanged(self):
+        OfficeDocument.attachEventCall(self.xTextDocument, "OnNew", "StarBasic", "macro:///Template.Correspondence.Database()")
+
+    def lstBusinessStyleItemChanged(self):
+        self.xTextDocument = self.myLetterDoc.loadAsPreview(self.BusinessFiles[1][self.lstBusinessStyle.SelectedItemPos], False)
+        self.myLetterDoc.xTextDocument.lockControllers()
+        self.initializeElements()
+        self.chkBusinessPaperItemChanged()
+        self.setElements(False)
+        self.myLetterDoc.xTextDocument.unlockControllers()
+        self.activate()
+
+    def lstPrivOfficialStyleItemChanged(self):
+        self.xTextDocument = self.myLetterDoc.loadAsPreview(self.OfficialFiles[1][self.lstPrivOfficialStyle.SelectedItemPos], False)
+        self.myLetterDoc.xTextDocument.lockControllers()
+        self.initializeElements()
+        self.setPossibleSenderData(True)
+        self.setElements(False)
+        self.myLetterDoc.xTextDocument.unlockControllers()
+        self.activate()
+
+    def lstPrivateStyleItemChanged(self):
+        self.xTextDocument = self.myLetterDoc.loadAsPreview(self.PrivateFiles[1][self.lstPrivateStyle.getSelectedItemPos()], False)
+        self.myLetterDoc.xTextDocument.lockControllers()
+        self.initializeElements()
+        self.setElements(True)
+        self.myLetterDoc.xTextDocument.unlockControllers()
+        self.activate()
+
+    def numLogoHeightTextChanged(self):
+        self.BusCompanyLogo.iHeight = (int)(numLogoHeight.getValue() * 1000)
+        self.BusCompanyLogo.setFramePosition()
+
+    def numLogoWidthTextChanged(self):
+        self.BusCompanyLogo.iWidth = (int)(numLogoWidth.getValue() * 1000)
+        self.BusCompanyLogo.setFramePosition()
+
+    def numLogoXTextChanged(self):
+        self.BusCompanyLogo.iXPos = (int)(numLogoX.getValue() * 1000)
+        self.BusCompanyLogo.setFramePosition()
+
+    def numLogoYTextChanged(self):
+        self.BusCompanyLogo.iYPos = (int)(numLogoY.getValue() * 1000)
+        self.BusCompanyLogo.setFramePosition()
+
+    def numAddressWidthTextChanged(self):
+        self.BusCompanyAddress.iWidth = (int)(self.numAddressWidth.getValue() * 1000)
+        self.BusCompanyAddress.setFramePosition()
+
+    def numAddressXTextChanged(self):
+        self.BusCompanyAddress.iXPos = (int)(self.numAddressX.getValue() * 1000)
+        self.BusCompanyAddress.setFramePosition()
+
+    def numAddressYTextChanged(self):
+        self.BusCompanyAddress.iYPos = (int)(self.numAddressY.getValue() * 1000)
+        self.BusCompanyAddress.setFramePosition()
+
+    def numAddressHeightTextChanged(self):
+        self.BusCompanyAddress.iHeight = (int)(self.numAddressHeight.getValue() * 1000)
+        self.BusCompanyAddress.setFramePosition()
+
+    def numFooterHeightTextChanged(self):
+        self.BusFooter.iHeight = (int)(self.numFooterHeight.getValue() * 1000)
+        self.BusFooter.iYPos = self.myLetterDoc.DocSize.Height - self.BusFooter.iHeight
+        self.BusFooter.setFramePosition()
+
+    def chkPaperCompanyLogoItemChanged(self):
+        if chkPaperCompanyLogo.State != 0:
+            if numLogoWidth.getValue() == 0:
+                numLogoWidth.setValue(0.1)
+
+            if numLogoHeight.getValue() == 0:
+                numLogoHeight.setValue(0.1)
+
+            self.BusCompanyLogo = BusinessPaperObject("Company Logo", (int)(numLogoWidth.getValue() * 1000), (int)(numLogoHeight.getValue() * 1000), (int)(numLogoX.getValue() * 1000), (int)(numLogoY.getValue() * 1000))
+            self.setControlProperty("numLogoHeight", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyLogoHeight", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("numLogoWidth", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyLogoWidth", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("numLogoX", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyLogoX", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("numLogoY", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyLogoY", PropertyNames.PROPERTY_ENABLED, True)
+            setPossibleLogo(False)
+        else:
+            if self.BusCompanyLogo != None:
+                self.BusCompanyLogo.removeFrame()
+
+            self.setControlProperty("numLogoHeight", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyLogoHeight", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("numLogoWidth", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyLogoWidth", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("numLogoX", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyLogoX", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("numLogoY", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyLogoY", PropertyNames.PROPERTY_ENABLED, False)
+            setPossibleLogo(True)
+
+    def chkPaperCompanyAddressItemChanged(self):
+        if chkPaperCompanyAddress.State != 0:
+            if self.numAddressWidth.getValue() == 0:
+                self.numAddressWidth.setValue(0.1)
+
+            if self.numAddressHeight.getValue() == 0:
+                self.numAddressHeight.setValue(0.1)
+
+            self.BusCompanyAddress = BusinessPaperObject("Company Address", (int)(self.numAddressWidth.getValue() * 1000), (int)(self.numAddressHeight.getValue() * 1000), (int)(self.numAddressX.getValue() * 1000), (int)(self.numAddressY.getValue() * 1000))
+            self.setControlProperty("self.numAddressHeight", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyAddressHeight", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("self.numAddressWidth", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyAddressWidth", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("self.numAddressX", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyAddressX", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("self.numAddressY", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblCompanyAddressY", PropertyNames.PROPERTY_ENABLED, True)
+            if self.myLetterDoc.hasElement("Sender Address"):
+                self.myLetterDoc.switchElement("Sender Address", (False))
+
+            if self.chkCompanyReceiver.State != 0:
+                setPossibleSenderData(False)
+
+        else:
+            if self.BusCompanyAddress != None:
+                self.BusCompanyAddress.removeFrame()
+
+            self.setControlProperty("self.numAddressHeight", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyAddressHeight", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("self.numAddressWidth", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyAddressWidth", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("self.numAddressX", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyAddressX", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("self.numAddressY", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblCompanyAddressY", PropertyNames.PROPERTY_ENABLED, False)
+            if self.myLetterDoc.hasElement("Sender Address"):
+                self.myLetterDoc.switchElement("Sender Address", (True))
+
+            setPossibleSenderData(True)
+            if optSenderDefine.State:
+                optSenderDefineItemChanged()
+
+            if optSenderPlaceholder.State:
+                optSenderPlaceholderItemChanged()
+
+    def chkCompanyReceiverItemChanged(self):
+        xReceiverFrame = None
+        if self.chkCompanyReceiver.State != 0:
+            try:
+                xReceiverFrame = TextFrameHandler.getFrameByName("Receiver Address", self.xTextDocument)
+                iFrameWidth = int(Helper.getUnoPropertyValue(xReceiverFrame, PropertyNames.PROPERTY_WIDTH))
+                iFrameX = int(Helper.getUnoPropertyValue(xReceiverFrame, "HoriOrientPosition"))
+                iFrameY = int(Helper.getUnoPropertyValue(xReceiverFrame, "VertOrientPosition"))
+                iReceiverHeight = int(0.5 * 1000)
+                self.BusCompanyAddressReceiver = BusinessPaperObject(" ", iFrameWidth, iReceiverHeight, iFrameX, (iFrameY - iReceiverHeight))
+                setPossibleAddressReceiver(False)
+            except NoSuchElementException, e:
+                traceback.print_exc()
+            except WrappedTargetException, e:
+                traceback.print_exc()
+
+            if chkPaperCompanyAddress.State != 0:
+                setPossibleSenderData(False)
+
+        else:
+            if self.BusCompanyAddressReceiver != None:
+                self.BusCompanyAddressReceiver.removeFrame()
+
+            setPossibleAddressReceiver(True)
+            setPossibleSenderData(True)
+            if optSenderDefine.State:
+                optSenderDefineItemChanged()
+
+            if optSenderPlaceholder.State:
+                optSenderPlaceholderItemChanged()
+
+    def chkPaperFooterItemChanged(self):
+        if self.chkPaperFooter.State != 0:
+            if self.numFooterHeight.getValue() == 0:
+                self.numFooterHeight.setValue(0.1)
+
+            self.BusFooter = BusinessPaperObject("Footer", self.myLetterDoc.DocSize.Width, (int)(self.numFooterHeight.getValue() * 1000), 0, (int)(self.myLetterDoc.DocSize.Height - (self.numFooterHeight.getValue() * 1000)))
+            self.setControlProperty("self.numFooterHeight", PropertyNames.PROPERTY_ENABLED, True)
+            self.setControlProperty("lblFooterHeight", PropertyNames.PROPERTY_ENABLED, True)
+            setPossibleFooter(False)
+        else:
+            if self.BusFooter != None:
+                self.BusFooter.removeFrame()
+
+            self.setControlProperty("self.numFooterHeight", PropertyNames.PROPERTY_ENABLED, False)
+            self.setControlProperty("lblFooterHeight", PropertyNames.PROPERTY_ENABLED, False)
+            setPossibleFooter(True)
+
+    def chkUseLogoItemChanged(self):
+        try:
+            if self.myLetterDoc.hasElement("Company Logo"):
+                logostatus = bool(self.getControlProperty("chkUseLogo", PropertyNames.PROPERTY_ENABLED)) and (self.chkUseLogo.State != 0)
+                self.myLetterDoc.switchElement("Company Logo", logostatus)
+
+        except IllegalArgumentException, e:
+            traceback.print_exc()
+
+    def chkUseAddressReceiverItemChanged(self):
+        try:
+            if self.myLetterDoc.hasElement("Sender Address Repeated"):
+                rstatus = bool(self.getControlProperty("chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED)) and (self.chkUseAddressReceiver.State != 0)
+                self.myLetterDoc.switchElement("Sender Address Repeated", rstatus)
+
+        except IllegalArgumentException, e:
+            traceback.print_exc()
+
+    def chkUseSignsItemChanged(self):
+        if self.myLetterDoc.hasElement("Letter Signs"):
+            self.myLetterDoc.switchElement("Letter Signs", (self.chkUseSigns.State != 0))
+
+    def chkUseSubjectItemChanged(self):
+        if self.myLetterDoc.hasElement("Subject Line"):
+            self.myLetterDoc.switchElement("Subject Line", (self.chkUseSubject.State != 0))
+
+    def chkUseBendMarksItemChanged(self):
+        if self.myLetterDoc.hasElement("Bend Marks"):
+            self.myLetterDoc.switchElement("Bend Marks", (self.chkUseBendMarks.State != 0))
+
+    def chkUseFooterItemChanged(self):
+        try:
+            bFooterPossible = (self.chkUseFooter.State != 0) and bool(self.getControlProperty("chkUseFooter", PropertyNames.PROPERTY_ENABLED))
+            if self.chkFooterNextPages.State != 0:
+                self.myLetterDoc.switchFooter("First Page", False, (self.chkFooterPageNumbers.State != 0), txtFooter.Text)
+                self.myLetterDoc.switchFooter("Standard", bFooterPossible, (self.chkFooterPageNumbers.State != 0), self.txtFooter.Text)
+            else:
+                self.myLetterDoc.switchFooter("First Page", bFooterPossible, (self.chkFooterPageNumbers.State != 0), self.txtFooter.Text)
+                self.myLetterDoc.switchFooter("Standard", bFooterPossible, (self.chkFooterPageNumbers.State != 0), self.txtFooter.Text)
+
+            BPaperItem = self.getRoadmapItemByID(LetterWizardDialogImpl.RM_FOOTER)
+            Helper.setUnoPropertyValue(BPaperItem, PropertyNames.PROPERTY_ENABLED, bFooterPossible)
+        except Exception, exception:
+            traceback.print_exc()
+
+    def chkFooterNextPagesItemChanged(self):
+        self.chkUseFooterItemChanged()
+
+    def chkFooterPageNumbersItemChanged(self):
+        self.chkUseFooterItemChanged()
+
+    def setPossibleFooter(self, bState):
+        self.setControlProperty("chkUseFooter", PropertyNames.PROPERTY_ENABLED, bState)
+        self.chkUseFooterItemChanged()
+
+    def setPossibleAddressReceiver(self, bState):
+        if self.myLetterDoc.hasElement("Sender Address Repeated"):
+            self.setControlProperty("chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED, bState)
+            self.chkUseAddressReceiverItemChanged()
+
+    def setPossibleLogo(self, bState):
+        if self.myLetterDoc.hasElement("Company Logo"):
+            self.setControlProperty("chkUseLogo", PropertyNames.PROPERTY_ENABLED, bState)
+            self.chkUseLogoItemChanged()
+
+    def txtFooterTextChanged(self):
+        self.chkUseFooterItemChanged()
+
+    def txtSenderNameTextChanged(self):
+        myFieldHandler = TextFieldHandler(self.myLetterDoc.xMSF, self.xTextDocument)
+        myFieldHandler.changeUserFieldContent("Company", txtSenderName.Text)
+
+    def txtSenderStreetTextChanged(self):
+        myFieldHandler = TextFieldHandler(self.myLetterDoc.xMSF, self.xTextDocument)
+        myFieldHandler.changeUserFieldContent("Street", txtSenderStreet.Text)
+
+    def txtSenderCityTextChanged(self):
+        myFieldHandler = TextFieldHandler(self.myLetterDoc.xMSF, self.xTextDocument)
+        myFieldHandler.changeUserFieldContent("City", txtSenderCity.Text)
+
+    def txtSenderPostCodeTextChanged(self):
+        myFieldHandler = TextFieldHandler(self.myLetterDoc.xMSF, self.xTextDocument)
+        myFieldHandler.changeUserFieldContent("PostCode", txtSenderPostCode.Text)
+
+    def txtSenderStateTextChanged(self):
+        myFieldHandler = TextFieldHandler(self.myLetterDoc.xMSF, self.xTextDocument)
+        myFieldHandler.changeUserFieldContent(PropertyNames.PROPERTY_STATE, txtSenderState.Text)
+
+    def txtTemplateNameTextChanged(self):
+        xDocProps = self.xTextDocument.DocumentProperties
+        TitleName = self.txtTemplateName.Text
+        xDocProps.Title = TitleName
+
+    def chkUseSalutationItemChanged(self):
+        self.myLetterDoc.switchUserField("Salutation", self.lstSalutation.Text, (self.chkUseSalutation.State != 0))
+        self.setControlProperty("lstSalutation", PropertyNames.PROPERTY_ENABLED, self.chkUseSalutation.State != 0)
+
+    def lstSalutationItemChanged(self):
+        self.myLetterDoc.switchUserField("Salutation", self.lstSalutation.Text, (self.chkUseSalutation.State != 0))
+
+    def chkUseGreetingItemChanged(self):
+        self.myLetterDoc.switchUserField("Greeting", self.lstGreeting.Text, (self.chkUseGreeting.State != 0))
+        self.setControlProperty("lstGreeting", PropertyNames.PROPERTY_ENABLED, self.chkUseGreeting.State != 0)
+
+    def setDefaultForGreetingAndSalutation(self):
+        if self.lstSalutation.Text == "":
+            self.lstSalutation.Text = self.resources.SalutationLabels[0]
+
+        if self.lstGreeting.Text == "":
+            self.lstGreeting.Text = self.resources.GreetingLabels[0]
+
+    def lstGreetingItemChanged(self):
+        self.myLetterDoc.switchUserField("Greeting", self.lstGreeting.Text, (self.chkUseGreeting.State != 0))
+
+    def chkBusinessPaperItemChanged(self):
+        if self.chkBusinessPaper.State != 0:
+            self.enableBusinessPaper()
+        else:
+            self.disableBusinessPaper()
+            self.setPossibleSenderData(True)
+
+    def getOfficeLinguistic(self):
+        oL = 0
+        found = False
+        OfficeLinguistic = Configuration.getOfficeLinguistic(self.xMSF)
+        i = 0
+        for i in xrange(len(self.Norms)):
+            if self.Norms[i].lower() == OfficeLinguistic.lower():
+                oL = i
+                found = True
+                break;
+
+        if not found:
+            for i in xrange(len(self.Norms)):
+                if self.Norms[i].lower() == "en-US".lower():
+                    oL = i
+                    found = True
+                    break
+        return oL;
+
+    def setPossibleSenderData(self, bState):
+        self.setControlProperty("optSenderDefine", PropertyNames.PROPERTY_ENABLED, bState)
+        self.setControlProperty("optSenderPlaceholder", PropertyNames.PROPERTY_ENABLED, bState)
+        self.setControlProperty("lblSenderAddress", PropertyNames.PROPERTY_ENABLED, bState)
+        if not bState:
+            self.setControlProperty("txtSenderCity", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("txtSenderName", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("txtSenderStreet", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("txtSenderCity", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("txtSenderState", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("lblSenderName", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("lblSenderStreet", PropertyNames.PROPERTY_ENABLED, bState)
+            self.setControlProperty("lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, bState)
+
+    def enableSenderReceiver(self):
+        BPaperItem = self.getRoadmapItemByID(LetterWizardDialogImpl.RM_SENDERRECEIVER)
+        Helper.setUnoPropertyValue(BPaperItem, PropertyNames.PROPERTY_ENABLED, True)
+
+    def disableSenderReceiver(self):
+        BPaperItem = self.getRoadmapItemByID(LetterWizardDialogImpl.RM_SENDERRECEIVER)
+        Helper.setUnoPropertyValue(BPaperItem, PropertyNames.PROPERTY_ENABLED, False)
+
+    def enableBusinessPaper(self):
+        BPaperItem = self.getRoadmapItemByID(LetterWizardDialogImpl.RM_BUSINESSPAPER)
+        Helper.setUnoPropertyValue(BPaperItem, PropertyNames.PROPERTY_ENABLED, True)
+        self.chkPaperCompanyLogoItemChanged()
+        self.chkPaperCompanyAddressItemChanged()
+        self.chkPaperFooterItemChanged()
+        self.chkCompanyReceiverItemChanged()
+
+    def disableBusinessPaper(self):
+        BPaperItem = self.getRoadmapItemByID(LetterWizardDialogImpl.RM_BUSINESSPAPER)
+        Helper.setUnoPropertyValue(BPaperItem, PropertyNames.PROPERTY_ENABLED, False)
+        if self.BusCompanyLogo != None:
+            self.BusCompanyLogo.removeFrame()
+
+        if self.BusCompanyAddress != None:
+            self.BusCompanyAddress.removeFrame()
+
+        if self.BusFooter != None:
+            self.BusFooter.removeFrame()
+
+        if self.BusCompanyAddressReceiver != None:
+            self.BusCompanyAddressReceiver.removeFrame()
+
+        self.setPossibleAddressReceiver(True)
+        self.setPossibleFooter(True)
+        self.setPossibleLogo(True)
+        if self.myLetterDoc.hasElement("Sender Address"):
+            self.myLetterDoc.switchElement("Sender Address", True)
+
+    def lstLetterNormItemChanged(self):
+        sCurrentNorm = self.Norms[getCurrentLetter().cp_Norm]
+        initializeTemplates(xMSF)
+        if self.optBusinessLetter.State:
+            self.lstBusinessStyleItemChanged()
+
+        if optPrivOfficialLetter.State:
+            self.lstPrivOfficialStyleItemChanged()
+
+        if optPrivateLetter.State:
+            self.lstPrivateStyleItemChanged()
+
+    def initializeSalutation(self):
+        self.setControlProperty("lstSalutation", "StringItemList", self.resources.SalutationLabels)
+
+    def initializeGreeting(self):
+        self.setControlProperty("lstGreeting", "StringItemList", self.resources.GreetingLabels)
+
+    def initializeNorms(self):
+        lc = LocaleCodes(self.xmsf)
+        allLocales = lc.getIDs()
+        nameList = []
+        sLetterSubPath = "/wizard/letter/"
+        try:
+            self.sTemplatePath = FileAccess.deleteLastSlashfromUrl(self.sTemplatePath)
+            nuString = self.sTemplatePath[:self.sTemplatePath.rfind("/")] + "/"
+            sMainPath = FileAccess.deleteLastSlashfromUrl(nuString)
+            self.sLetterPath = sMainPath + sLetterSubPath
+            xInterface = self.xmsf.createInstance("com.sun.star.ucb.SimpleFileAccess")
+            nameList = xInterface.getFolderContents(self.sLetterPath, True)
+        except Exception, e:
+            traceback.print_exc()
+
+        found = False
+        cIsoCode = ""
+        MSID = ""
+
+        for i in nameList:
+            found = False
+            cIsoCode = FileAccess.getFilename(i)
+            for j in allLocales:
+                aLang = j.split(";")
+                if cIsoCode.lower() == aLang[1].lower():
+                    MSID = aLang[2]
+                    found = True
+                    break
+
+            if not found:
+                for j in allLocales:
+                    aLang = j.split(";")
+                    if cIsoCode.lower() == aLang[1][:2]:
+                        MSID = aLang[2]
+                        found = True
+                        break
+
+            if found:
+                self.Norms.append(cIsoCode)
+                self.NormPaths.append(i)
+                #LanguageLabelsVector.add(lc.getLanguageString(MSID))
+
+        #COMMENTED
+        #LanguageLabels = [LanguageLabelsVector.size()]
+        #LanguageLabelsVector.toArray(LanguageLabels)
+        #self.setControlProperty("lstLetterNorm", "StringItemList", LanguageLabels)
+
+    def getCurrentLetter(self):
+        if self.myConfig.cp_LetterType == 0:
+            return self.myConfig.cp_BusinessLetter
+        elif self.myConfig.cp_LetterType == 1:
+            return self.myConfig.cp_PrivateOfficialLetter
+        elif self.myConfig.cp_LetterType == 2:
+            return self.myConfig.cp_PrivateLetter
+        else:
+            return None
+
+    def __initializePaths(self):
+        try:
+            self.sTemplatePath = FileAccess.getOfficePath2(self.xMSF, "Template", "share", "/wizard")
+            self.sUserTemplatePath = FileAccess.getOfficePath2(self.xMSF, "Template", "user", "")
+            self.sBitmapPath = FileAccess.combinePaths(self.xMSF, self.sTemplatePath, "/../wizard/bitmap")
+        except NoValidPathException, e:
+            traceback.print_exc()
+
+    def initializeTemplates(self, xMSF):
+        self.sCurrentNorm = self.Norms[self.getCurrentLetter().cp_Norm]
+        sLetterPath = self.NormPaths[self.getCurrentLetter().cp_Norm]
+        self.BusinessFiles = FileAccess.getFolderTitles(xMSF, "bus", sLetterPath)
+        self.OfficialFiles = FileAccess.getFolderTitles(xMSF, "off", sLetterPath)
+        self.PrivateFiles = FileAccess.getFolderTitles(xMSF, "pri", sLetterPath)
+        self.setControlProperty("lstBusinessStyle", "StringItemList", tuple(self.BusinessFiles[0]))
+        self.setControlProperty("lstPrivOfficialStyle", "StringItemList", tuple(self.OfficialFiles[0]))
+        self.setControlProperty("lstPrivateStyle", "StringItemList", tuple(self.PrivateFiles[0]))
+        self.setControlProperty("lstBusinessStyle", "SelectedItems", (0,))
+        self.setControlProperty("lstPrivOfficialStyle", "SelectedItems", (0,))
+        self.setControlProperty("lstPrivateStyle", "SelectedItems", (0,))
+        return True
+
+    def initializeElements(self):
+        self.setControlProperty("chkUseLogo", PropertyNames.PROPERTY_ENABLED, self.myLetterDoc.hasElement("Company Logo"))
+        self.setControlProperty("chkUseBendMarks", PropertyNames.PROPERTY_ENABLED, self.myLetterDoc.hasElement("Bend Marks"))
+        self.setControlProperty("chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED, self.myLetterDoc.hasElement("Sender Address Repeated"))
+        self.setControlProperty("chkUseSubject", PropertyNames.PROPERTY_ENABLED, self.myLetterDoc.hasElement("Subject Line"))
+        self.setControlProperty("chkUseSigns", PropertyNames.PROPERTY_ENABLED, self.myLetterDoc.hasElement("Letter Signs"))
+        self.myLetterDoc.updateDateFields()
+
+    def setConfiguration(self):
+        if self.optBusinessLetter.State:
+            self.optBusinessLetterItemChanged()
+
+        if self.optPrivOfficialLetter.State:
+            self.optPrivOfficialLetterItemChanged()
+
+        if self.optPrivateLetter.State:
+            self.optPrivateLetterItemChanged()
+
+    def setElements(self, privLetter):
+        if self.optSenderDefine.State:
+            self.optSenderDefineItemChanged()
+
+        if self.optSenderPlaceholder.State:
+            self.optSenderPlaceholderItemChanged()
+
+        self.chkUseSignsItemChanged()
+        self.chkUseSubjectItemChanged()
+        self.chkUseSalutationItemChanged()
+        self.chkUseGreetingItemChanged()
+        self.chkUseBendMarksItemChanged()
+        self.chkUseAddressReceiverItemChanged()
+        self.txtTemplateNameTextChanged()
+        if self.optReceiverDatabase.State and not privLetter:
+            self.optReceiverDatabaseItemChanged()
+
+        if self.optReceiverPlaceholder.State and not privLetter:
+            self.optReceiverPlaceholderItemChanged()
+
+        if self.optCreateLetter.State:
+            self.optCreateLetterItemChanged()
+
+        if self.optMakeChanges.State:
+            self.optMakeChangesItemChanged()
+
+    def insertRoadmap(self):
+        self.addRoadmap()
+        i = 0
+        i = self.insertRoadmapItem(0, True, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_TYPESTYLE -1], LetterWizardDialogImpl.RM_TYPESTYLE)
+        i = self.insertRoadmapItem(i, False, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_BUSINESSPAPER - 1], LetterWizardDialogImpl.RM_BUSINESSPAPER)
+        i = self.insertRoadmapItem(i, True, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_ELEMENTS - 1], LetterWizardDialogImpl.RM_ELEMENTS)
+        i = self.insertRoadmapItem(i, True, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_SENDERRECEIVER - 1], LetterWizardDialogImpl.RM_SENDERRECEIVER)
+        i = self.insertRoadmapItem(i, False, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_FOOTER -1], LetterWizardDialogImpl.RM_FOOTER)
+        i = self.insertRoadmapItem(i, True, self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_FINALSETTINGS - 1], LetterWizardDialogImpl.RM_FINALSETTINGS)
+        self.setRoadmapInteractive(True)
+        self.setRoadmapComplete(True)
+        self.setCurrentRoadmapItemID(1)
+
+    class myPathSelectionListener:
+
+        def validatePath(self):
+            if self.myPathSelection.usedPathPicker:
+                self.filenameChanged = True
+
+            self.myPathSelection.usedPathPicker = False
+
+    def insertPathSelectionControl(self):
+        self.myPathSelection = PathSelection(self.xMSF, self, PathSelection.TransferMode.SAVE, PathSelection.DialogTypes.FILE)
+        self.myPathSelection.insert(6, 97, 70, 205, 45, self.resources.reslblTemplatePath_value, True, HelpIds.getHelpIdString(HID + 47), HelpIds.getHelpIdString(HID + 48))
+        self.myPathSelection.sDefaultDirectory = self.sUserTemplatePath
+        self.myPathSelection.sDefaultName = "myLetterTemplate.ott"
+        self.myPathSelection.sDefaultFilter = "writer8_template"
+        self.myPathSelection.addSelectionListener(None)
+
+    def initConfiguration(self):
+        try:
+            self.myConfig = CGLetterWizard()
+            root = Configuration.getConfigurationRoot(self.xMSF, "/org.openoffice.Office.Writer/Wizards/Letter", False)
+            self.myConfig.readConfiguration(root, "cp_")
+            self.mainDA.append(RadioDataAware.attachRadioButtons(self.myConfig, "cp_LetterType", (self.optBusinessLetter, self.optPrivOfficialLetter, self.optPrivateLetter), True))
+            self.mainDA.append(UnoDataAware.attachListBox(self.myConfig.cp_BusinessLetter, "cp_Style", self.lstBusinessStyle, True))
+            self.mainDA.append(UnoDataAware.attachListBox(self.myConfig.cp_PrivateOfficialLetter, "cp_Style", self.lstPrivOfficialStyle, True))
+            self.mainDA.append(UnoDataAware.attachListBox(self.myConfig.cp_PrivateLetter, "cp_Style", self.lstPrivateStyle, True))
+            self.mainDA.append(UnoDataAware.attachCheckBox(self.myConfig.cp_BusinessLetter, "cp_BusinessPaper", self.chkBusinessPaper, True))
+            cgl = self.myConfig.cp_BusinessLetter
+            cgpl = self.myConfig.cp_BusinessLetter.cp_CompanyLogo
+            cgpa = self.myConfig.cp_BusinessLetter.cp_CompanyAddress
+            self.businessDA.append(UnoDataAware.attachCheckBox(cgpl, "cp_Display", self.chkPaperCompanyLogo, True))
+            self.businessDA.append(UnoDataAware.attachNumericControl(cgpl, "cp_Width", self.numLogoWidth, True))

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list