diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /wizards/com/sun/star/wizards/fax | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wizards/com/sun/star/wizards/fax')
-rw-r--r-- | wizards/com/sun/star/wizards/fax/CGFax.py | 48 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/CGFaxWizard.py | 27 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/CallWizard.py | 75 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/FaxDocument.py | 142 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/FaxWizardDialog.py | 660 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py | 99 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py | 631 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py | 137 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/__init__.py | 1 | ||||
-rw-r--r-- | wizards/com/sun/star/wizards/fax/fax.component | 24 |
10 files changed, 1844 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/fax/CGFax.py b/wizards/com/sun/star/wizards/fax/CGFax.py new file mode 100644 index 000000000..ff69cf134 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/CGFax.py @@ -0,0 +1,48 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +from ..common.ConfigGroup import ConfigGroup + +class CGFax(ConfigGroup): + + def __init__(self): + + self.cp_Style = int() + self.cp_PrintCompanyLogo = bool() + self.cp_PrintDate = bool() + self.cp_PrintSubjectLine = bool() + self.cp_PrintSalutation = bool() + self.cp_PrintCommunicationType = bool() + self.cp_PrintGreeting = bool() + self.cp_PrintFooter = bool() + self.cp_CommunicationType = str() + 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_SenderFax = 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/fax/CGFaxWizard.py b/wizards/com/sun/star/wizards/fax/CGFaxWizard.py new file mode 100644 index 000000000..30f211a84 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/CGFaxWizard.py @@ -0,0 +1,27 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +from .CGFax import CGFax +from ..common.ConfigGroup import ConfigGroup + +class CGFaxWizard(ConfigGroup): + + def __init__(self): + self.cp_FaxType = int() + self.cp_BusinessFax = CGFax() + self.cp_PrivateFax = CGFax() + diff --git a/wizards/com/sun/star/wizards/fax/CallWizard.py b/wizards/com/sun/star/wizards/fax/CallWizard.py new file mode 100644 index 000000000..ca222132f --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/CallWizard.py @@ -0,0 +1,75 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +import unohelper +import traceback + +from .FaxWizardDialogImpl import FaxWizardDialogImpl, Desktop + +from com.sun.star.lang import XServiceInfo +from com.sun.star.task import XJobExecutor + +# pythonloader looks for a static g_ImplementationHelper variable +g_ImplementationHelper = unohelper.ImplementationHelper() +g_implName = "com.sun.star.wizards.fax.CallWizard" + +# implement a UNO component by deriving from the standard unohelper.Base class +# and from the interface(s) you want to implement. +class CallWizard(unohelper.Base, XJobExecutor, XServiceInfo): + def __init__(self, ctx): + # store the component context for later use + self.ctx = ctx + + def trigger(self, args): + try: + fw = FaxWizardDialogImpl(self.ctx.ServiceManager) + fw.startWizard(self.ctx.ServiceManager) + except Exception as e: + print ("Wizard failure exception " + str(type(e)) + + " message " + str(e) + " args " + str(e.args) + + traceback.format_exc()) + + @classmethod + def callRemote(self): + #Call the wizard remotely(see README) + try: + ConnectStr = \ + "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" + xLocMSF = Desktop.connect(ConnectStr) + lw = FaxWizardDialogImpl(xLocMSF) + lw.startWizard(xLocMSF) + except Exception as e: + print ("Wizard failure exception " + str(type(e)) + + " message " + str(e) + " args " + str(e.args) + + traceback.format_exc()) + + def getImplementationName(self): + return g_implName + + def supportsService(self, ServiceName): + return g_ImplementationHelper.supportsService(g_implName, ServiceName) + + def getSupportedServiceNames(self): + return g_ImplementationHelper.getSupportedServiceNames(g_implName) + +g_ImplementationHelper.addImplementation( \ + CallWizard, # UNO object class + g_implName, # implementation name + ("com.sun.star.task.Job",),) # list of implemented services + # (the only service) + +# vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/wizards/com/sun/star/wizards/fax/FaxDocument.py b/wizards/com/sun/star/wizards/fax/FaxDocument.py new file mode 100644 index 000000000..b695ffe55 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/FaxDocument.py @@ -0,0 +1,142 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +from ..text.TextDocument import TextDocument, traceback, \ + TextFieldHandler, Configuration +from ..text.TextSectionHandler import TextSectionHandler + +from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK +from com.sun.star.style.ParagraphAdjust import CENTER +from com.sun.star.text.PageNumberType import CURRENT +from com.sun.star.style.NumberingType import ARABIC + +class FaxDocument(TextDocument): + + def __init__(self, xMSF, listener): + super(FaxDocument,self).__init__(xMSF, listener, None, + "WIZARD_LIVE_PREVIEW") + self.keepLogoFrame = True + self.keepTypeFrame = True + + def switchElement(self, sElement, bState): + try: + mySectionHandler = TextSectionHandler(self.xMSF, + self.xTextDocument) + oSection = \ + mySectionHandler.xTextDocument.TextSections.getByName(sElement) + oSection.IsVisible = bState + except Exception: + traceback.print_exc() + + def updateDateFields(self): + FH = TextFieldHandler( + self.xTextDocument, self.xTextDocument) + FH.updateDateFields() + + def switchFooter(self, sPageStyle, bState, bPageNumber, sText): + if self.xTextDocument is not None: + try: + self.xTextDocument.lockControllers() + xPageStyleCollection = \ + self.xTextDocument.StyleFamilies.getByName("PageStyles") + xPageStyle = xPageStyleCollection.getByName(sPageStyle) + + if bState: + xPageStyle.setPropertyValue("FooterIsOn", True) + xFooterText = xPageStyle.FooterText + xFooterText.String = sText + + if bPageNumber: + #Adding the Page Number + myCursor = xFooterText.Text.createTextCursor() + myCursor.gotoEnd(False) + xFooterText.insertControlCharacter(myCursor, + PARAGRAPH_BREAK, False) + myCursor.setPropertyValue("ParaAdjust", CENTER ) + + xPageNumberField = \ + self.xTextDocument.createInstance( + "com.sun.star.text.TextField.PageNumber") + xPageNumberField.setPropertyValue("SubType", CURRENT) + xPageNumberField.NumberingType = ARABIC + xFooterText.insertTextContent(xFooterText.End, + xPageNumberField, False) + else: + xPageStyle.FooterIsOn = False + + self.xTextDocument.unlockControllers() + except Exception: + self.xTextDocument.lockControllers() + traceback.print_exc() + + def hasElement(self, sElement): + if self.xTextDocument is not None: + mySectionHandler = TextSectionHandler(self.xMSF, + self.xTextDocument) + return mySectionHandler.hasTextSectionByName(sElement) + else: + return False + + def switchUserField(self, sFieldName, sNewContent, bState): + myFieldHandler = TextFieldHandler( self.xMSF, self.xTextDocument) + if bState: + myFieldHandler.changeUserFieldContent(sFieldName, sNewContent) + else: + myFieldHandler.changeUserFieldContent(sFieldName, "") + + def fillSenderWithUserData(self): + try: + myFieldHandler = TextFieldHandler(self.xTextDocument, + self.xTextDocument) + oUserDataAccess = Configuration.getConfigurationRoot( + self.xMSF, "org.openoffice.UserProfile/Data", False) + myFieldHandler.changeUserFieldContent( + "Company", oUserDataAccess.getByName("o")) + myFieldHandler.changeUserFieldContent( + "Street", oUserDataAccess.getByName("street")) + myFieldHandler.changeUserFieldContent( + "PostCode", oUserDataAccess.getByName("postalcode")) + myFieldHandler.changeUserFieldContent( + "State", oUserDataAccess.getByName("st")) + myFieldHandler.changeUserFieldContent( + "City", oUserDataAccess.getByName("l")) + myFieldHandler.changeUserFieldContent( + "Fax", oUserDataAccess.getByName("facsimiletelephonenumber")) + except Exception: + traceback.print_exc() + + def killEmptyUserFields(self): + myFieldHandler = TextFieldHandler( + self.xMSF, self.xTextDocument) + myFieldHandler.removeUserFieldByContent() + + def killEmptyFrames(self): + try: + if not self.keepLogoFrame: + xTF = self.getFrameByName("Company Logo", + self.xTextDocument) + if xTF is not None: + xTF.dispose() + + if not self.keepTypeFrame: + xTF = self.getFrameByName("Communication Type", + self.xTextDocument) + if xTF is not None: + xTF.dispose() + + except Exception: + traceback.print_exc() diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py new file mode 100644 index 000000000..6c8d4a40f --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py @@ -0,0 +1,660 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +from .FaxWizardDialogResources import FaxWizardDialogResources +from .FaxWizardDialogConst import FaxWizardDialogConst, HIDMAIN, HID +from ..ui.WizardDialog import WizardDialog, uno, UIConsts, PropertyNames + +from com.sun.star.awt.FontUnderline import SINGLE + +class FaxWizardDialog(WizardDialog): + + def __init__(self, xmsf): + super(FaxWizardDialog,self).__init__(xmsf, HIDMAIN ) + + #Load Resources + self.resources = FaxWizardDialogResources() + + #set dialog properties... + self.setDialogProperties(True, 210, True, 104, 52, 1, 1, + self.resources.resFaxWizardDialog_title, 310) + + self.fontDescriptor4 = \ + uno.createUnoStruct('com.sun.star.awt.FontDescriptor') + self.fontDescriptor5 = \ + uno.createUnoStruct('com.sun.star.awt.FontDescriptor') + self.fontDescriptor4.Weight = 100 + self.fontDescriptor5.Weight = 150 + + def buildStep1(self): + self.optBusinessFax = self.insertRadioButton("optBusinessFax", + FaxWizardDialogConst.OPTBUSINESSFAX_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTBUSINESSFAX_HID, + self.resources.resoptBusinessFax_value, 97, 28, 1, 1, 184), + self) + self.lstBusinessStyle = self.insertListBox("lstBusinessStyle", + FaxWizardDialogConst.LSTBUSINESSSTYLE_ACTION_PERFORMED, + FaxWizardDialogConst.LSTBUSINESSSTYLE_ITEM_CHANGED, + ("Dropdown", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (True, 12, FaxWizardDialogConst.LSTBUSINESSSTYLE_HID, + 180, 40, 1, 3, 74), self) + self.optPrivateFax = self.insertRadioButton("optPrivateFax", + FaxWizardDialogConst.OPTPRIVATEFAX_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTPRIVATEFAX_HID, + self.resources.resoptPrivateFax_value,97, 81, 1, 2, 184), self) + self.lstPrivateStyle = self.insertListBox("lstPrivateStyle", + FaxWizardDialogConst.LSTPRIVATESTYLE_ACTION_PERFORMED, + FaxWizardDialogConst.LSTPRIVATESTYLE_ITEM_CHANGED, + ("Dropdown", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (True, 12, FaxWizardDialogConst.LSTPRIVATESTYLE_HID, + 180, 95, 1, 4, 74), self) + self.insertLabel("lblBusinessStyle", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblBusinessStyle_value, + 110, 42, 1, 32, 60)) + + self.insertLabel("lblTitle1", + ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor5, 16, self.resources.reslblTitle1_value, + True, 91, 8, 1, 37, 212)) + self.insertLabel("lblPrivateStyle", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblPrivateStyle_value, 110, 95, 1, 50, 60)) + self.insertLabel("lblIntroduction", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (39, self.resources.reslblIntroduction_value, + True, 104, 145, 1, 55, 199)) + self.ImageControl3 = self.insertInfoImage(92, 145, 1) + + def buildStep2(self): + self.chkUseLogo = self.insertCheckBox("chkUseLogo", + FaxWizardDialogConst.CHKUSELOGO_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSELOGO_HID, + self.resources.reschkUseLogo_value, 97, 28, 0, 2, 5, 212), + self) + self.chkUseDate = self.insertCheckBox("chkUseDate", + FaxWizardDialogConst.CHKUSEDATE_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSEDATE_HID, + self.resources.reschkUseDate_value, 97, 43, 0, 2, 6, 212), + self) + self.chkUseCommunicationType = self.insertCheckBox( + "chkUseCommunicationType", + FaxWizardDialogConst.CHKUSECOMMUNICATIONTYPE_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSECOMMUNICATIONTYPE_HID, + self.resources.reschkUseCommunicationType_value, + 97, 57, 0, 2, 7, 100), self) + self.lstCommunicationType = self.insertComboBox( + "lstCommunicationType", + FaxWizardDialogConst.LSTCOMMUNICATIONTYPE_ACTION_PERFORMED, + FaxWizardDialogConst.LSTCOMMUNICATIONTYPE_ITEM_CHANGED, + FaxWizardDialogConst.LSTCOMMUNICATIONTYPE_TEXT_CHANGED, + ("Dropdown", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (True, 12, FaxWizardDialogConst.LSTCOMMUNICATIONTYPE_HID, + 105, 68, 2, 8, 174), self) + self.chkUseSubject = self.insertCheckBox("chkUseSubject", + FaxWizardDialogConst.CHKUSESUBJECT_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSESUBJECT_HID, + self.resources.reschkUseSubject_value, 97, 87, 0, 2, 9, 212), + self) + self.chkUseSalutation = self.insertCheckBox("chkUseSalutation", + FaxWizardDialogConst.CHKUSESALUTATION_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSESALUTATION_HID, + self.resources.reschkUseSalutation_value, + 97, 102, 0, 2, 10, 100), self) + self.lstSalutation = self.insertComboBox("lstSalutation", + FaxWizardDialogConst.LSTSALUTATION_ACTION_PERFORMED, + FaxWizardDialogConst.LSTSALUTATION_ITEM_CHANGED, + FaxWizardDialogConst.LSTSALUTATION_TEXT_CHANGED, + ("Dropdown", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (True, 12, FaxWizardDialogConst.LSTSALUTATION_HID, + 105, 113, 2, 11, 174), self) + self.chkUseGreeting = self.insertCheckBox("chkUseGreeting", + FaxWizardDialogConst.CHKUSEGREETING_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSEGREETING_HID, + self.resources.reschkUseGreeting_value, + 97, 132, 0, 2, 12, 100), self) + self.lstGreeting = self.insertComboBox("lstGreeting", + FaxWizardDialogConst.LSTGREETING_ACTION_PERFORMED, + FaxWizardDialogConst.LSTGREETING_ITEM_CHANGED, + FaxWizardDialogConst.LSTGREETING_TEXT_CHANGED, + ("Dropdown", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (True, 12, FaxWizardDialogConst.LSTGREETING_HID, + 105, 143, 2, 13, 174), self) + self.chkUseFooter = self.insertCheckBox("chkUseFooter", + FaxWizardDialogConst.CHKUSEFOOTER_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKUSEFOOTER_HID, + self.resources.reschkUseFooter_value, 97, 163, + 0, 2, 14, 212), self) + self.insertLabel("lblTitle3", + ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor5, 16, self.resources.reslblTitle3_value, + True, 91, 8, 2, 59, 212)) + + def buildStep3(self): + self.optSenderPlaceholder = self.insertRadioButton( + "optSenderPlaceholder", + FaxWizardDialogConst.OPTSENDERPLACEHOLDER_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTSENDERPLACEHOLDER_HID, + self.resources.resoptSenderPlaceholder_value, + 104, 42, 3, 15, 149), self) + self.optSenderDefine = self.insertRadioButton("optSenderDefine", + FaxWizardDialogConst.OPTSENDERDEFINE_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTSENDERDEFINE_HID, + self.resources.resoptSenderDefine_value, + 104, 54, 3, 16, 149), self) + self.txtSenderName = self.insertTextField("txtSenderName", + FaxWizardDialogConst.TXTSENDERNAME_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERNAME_HID, + 182, 67, 3, 17, 119), self) + self.txtSenderStreet = self.insertTextField("txtSenderStreet", + FaxWizardDialogConst.TXTSENDERSTREET_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERSTREET_HID, + 182, 81, 3, 18, 119), self) + self.txtSenderPostCode = self.insertTextField("txtSenderPostCode", + FaxWizardDialogConst.TXTSENDERPOSTCODE_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERPOSTCODE_HID, + 182, 95, 3, 19, 25), self) + self.txtSenderState = self.insertTextField("txtSenderState", + FaxWizardDialogConst.TXTSENDERSTATE_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERSTATE_HID, + 211, 95, 3, 20, 21), self) + self.txtSenderCity = self.insertTextField("txtSenderCity", + FaxWizardDialogConst.TXTSENDERCITY_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERCITY_HID, + 236, 95, 3, 21, 65), self) + self.txtSenderFax = self.insertTextField("txtSenderFax", + FaxWizardDialogConst.TXTSENDERFAX_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTSENDERFAX_HID, + 182, 109, 3, 22, 119), self) + self.optReceiverPlaceholder = self.insertRadioButton( + "optReceiverPlaceholder", + FaxWizardDialogConst.OPTRECEIVERPLACEHOLDER_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTRECEIVERPLACEHOLDER_HID, + self.resources.resoptReceiverPlaceholder_value, + 104, 148, 3, 23, 200), self) + self.optReceiverDatabase = self.insertRadioButton( + "optReceiverDatabase", + FaxWizardDialogConst.OPTRECEIVERDATABASE_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTRECEIVERDATABASE_HID, + self.resources.resoptReceiverDatabase_value, + 104, 160, 3, 24, 200), self) + self.insertLabel("lblSenderAddress", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblSenderAddress_value, + 97, 28, 3, 46, 136)) + self.insertFixedLine("FixedLine2", (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (5, 90, 126, 3, 51, 212)) + self.insertLabel("lblSenderName", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblSenderName_value, + 113, 69, 3, 52, 68)) + self.insertLabel("lblSenderStreet", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblSenderStreet_value, + 113, 82, 3, 53, 68)) + self.insertLabel("lblPostCodeCity", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblPostCodeCity_value, + 113, 97, 3, 54, 68)) + self.insertLabel("lblTitle4", + ("FontDescriptor", + PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor5, 16, self.resources.reslblTitle4_value, + True, 91, 8, 3, 60, 212)) + self.insertLabel("lblSenderFax", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.resLabel1_value, 113, 111, 3, 68, 68)) + self.insertLabel("Label2", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.resLabel2_value, 97, 137, 3, 69, 136)) + + def buildStep4(self): + self.txtFooter = self.insertTextField("txtFooter", + FaxWizardDialogConst.TXTFOOTER_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (47, FaxWizardDialogConst.TXTFOOTER_HID, + True, 97, 40, 4, 25, 203), self) + self.chkFooterNextPages = self.insertCheckBox("chkFooterNextPages", + FaxWizardDialogConst.CHKFOOTERNEXTPAGES_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKFOOTERNEXTPAGES_HID, + self.resources.reschkFooterNextPages_value, + 97, 92, 0, 4, 26, 202), self) + self.chkFooterPageNumbers = self.insertCheckBox("chkFooterPageNumbers", + FaxWizardDialogConst.CHKFOOTERPAGENUMBERS_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STATE, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.CHKFOOTERPAGENUMBERS_HID, + self.resources.reschkFooterPageNumbers_value, + 97, 106, 0, 4, 27, 201), self) + self.insertLabel("lblFooter", + ("FontDescriptor", + PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor4, 8, self.resources.reslblFooter_value, + 97, 28, 4, 33, 116)) + self.insertLabel("lblTitle5", + ("FontDescriptor", + PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor5, 16, self.resources.reslblTitle5_value, + True, 91, 8, 4, 61, 212)) + + def buildStep5(self): + self.txtTemplateName = self.insertTextField("txtTemplateName", + FaxWizardDialogConst.TXTTEMPLATENAME_TEXT_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + "Text", + PropertyNames.PROPERTY_WIDTH), + (12, FaxWizardDialogConst.TXTTEMPLATENAME_HID, 202, 56, 5, 28, + self.resources.restxtTemplateName_value, 100), self) + + self.optCreateFax = self.insertRadioButton("optCreateFax", + FaxWizardDialogConst.OPTCREATEFAX_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTCREATEFAX_HID, + self.resources.resoptCreateFax_value, + 104, 111, 5, 30, 198), self) + self.optMakeChanges = self.insertRadioButton("optMakeChanges", + FaxWizardDialogConst.OPTMAKECHANGES_ITEM_CHANGED, + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_HELPURL, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, FaxWizardDialogConst.OPTMAKECHANGES_HID, + self.resources.resoptMakeChanges_value, + 104, 123, 5, 31, 198), self) + self.insertLabel("lblFinalExplanation1", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (28, self.resources.reslblFinalExplanation1_value, + True, 97, 28, 5, 34, 205)) + self.insertLabel("lblProceed", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblProceed_value, 97, 100, 5, + 35, 204)) + self.insertLabel("lblFinalExplanation2", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (33, self.resources.reslblFinalExplanation2_value, + True, 104, 145, 5, 36, 199)) + self.insertImage("ImageControl2", + ("Border", + PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_IMAGEURL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + "ScaleImage", + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (0, 10, UIConsts.INFOIMAGEURL, 92, 145, + False, 5, 47, 10)) + self.insertLabel("lblTemplateName", + (PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (8, self.resources.reslblTemplateName_value, 97, 58, 5, + 57, 101)) + + self.insertLabel("lblTitle6", + ("FontDescriptor", + PropertyNames.PROPERTY_HEIGHT, + PropertyNames.PROPERTY_LABEL, + PropertyNames.PROPERTY_MULTILINE, + PropertyNames.PROPERTY_POSITION_X, + PropertyNames.PROPERTY_POSITION_Y, + PropertyNames.PROPERTY_STEP, + PropertyNames.PROPERTY_TABINDEX, + PropertyNames.PROPERTY_WIDTH), + (self.fontDescriptor5, 16, self.resources.reslblTitle6_value, + True, 91, 8, 5, 62, 212)) diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py new file mode 100644 index 000000000..faececb1b --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py @@ -0,0 +1,99 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +from ..common.HelpIds import HelpIds + +HID = 41119 #enter first hid here +HIDMAIN = 41180 + +class FaxWizardDialogConst: + + OPTBUSINESSFAX_ITEM_CHANGED = "optBusinessFaxItemChanged" + LSTBUSINESSSTYLE_ACTION_PERFORMED = None + LSTBUSINESSSTYLE_ITEM_CHANGED = "lstBusinessStyleItemChanged" + OPTPRIVATEFAX_ITEM_CHANGED = "optPrivateFaxItemChanged" + LSTPRIVATESTYLE_ACTION_PERFORMED = None + LSTPRIVATESTYLE_ITEM_CHANGED = "lstPrivateStyleItemChanged" + CHKUSELOGO_ITEM_CHANGED = "chkUseLogoItemChanged" + CHKUSEDATE_ITEM_CHANGED = "chkUseDateItemChanged" + CHKUSECOMMUNICATIONTYPE_ITEM_CHANGED = "chkUseCommunicationItemChanged" + LSTCOMMUNICATIONTYPE_ACTION_PERFORMED = None + LSTCOMMUNICATIONTYPE_ITEM_CHANGED = "lstCommunicationItemChanged" + LSTCOMMUNICATIONTYPE_TEXT_CHANGED = "lstCommunicationItemChanged" + CHKUSESUBJECT_ITEM_CHANGED = "chkUseSubjectItemChanged" + CHKUSESALUTATION_ITEM_CHANGED = "chkUseSalutationItemChanged" + LSTSALUTATION_ACTION_PERFORMED = None + LSTSALUTATION_ITEM_CHANGED = "lstSalutationItemChanged" + LSTSALUTATION_TEXT_CHANGED = "lstSalutationItemChanged" + CHKUSEGREETING_ITEM_CHANGED = "chkUseGreetingItemChanged" + LSTGREETING_ACTION_PERFORMED = None + LSTGREETING_ITEM_CHANGED = "lstGreetingItemChanged" + LSTGREETING_TEXT_CHANGED = "lstGreetingItemChanged" + CHKUSEFOOTER_ITEM_CHANGED = "chkUseFooterItemChanged" + OPTSENDERPLACEHOLDER_ITEM_CHANGED = "optSenderPlaceholderItemChanged" + OPTSENDERDEFINE_ITEM_CHANGED = "optSenderDefineItemChanged" + TXTSENDERNAME_TEXT_CHANGED = "txtSenderNameTextChanged" + TXTSENDERSTREET_TEXT_CHANGED = "txtSenderStreetTextChanged" + TXTSENDERPOSTCODE_TEXT_CHANGED = "txtSenderPostCodeTextChanged" + TXTSENDERSTATE_TEXT_CHANGED = "txtSenderStateTextChanged" + TXTSENDERCITY_TEXT_CHANGED = "txtSenderCityTextChanged" + TXTSENDERFAX_TEXT_CHANGED = "txtSenderFaxTextChanged" + OPTRECEIVERPLACEHOLDER_ITEM_CHANGED = "optReceiverPlaceholderItemChanged" + OPTRECEIVERDATABASE_ITEM_CHANGED = "optReceiverDatabaseItemChanged" + TXTFOOTER_TEXT_CHANGED = "txtFooterTextChanged" + CHKFOOTERNEXTPAGES_ITEM_CHANGED = "chkFooterNextPagesItemChanged" + CHKFOOTERPAGENUMBERS_ITEM_CHANGED = "chkFooterPageNumbersItemChanged" + TXTTEMPLATENAME_TEXT_CHANGED = "txtTemplateNameTextChanged" + FILETEMPLATEPATH_TEXT_CHANGED = None + OPTCREATEFAX_ITEM_CHANGED = "optCreateFromTemplateItemChanged" + OPTMAKECHANGES_ITEM_CHANGED = "optMakeChangesItemChanged" + + #Help IDs + + OPTBUSINESSFAX_HID = HelpIds.getHelpIdString(HID + 1) + LSTBUSINESSSTYLE_HID = HelpIds.getHelpIdString(HID + 2) + OPTPRIVATEFAX_HID = HelpIds.getHelpIdString(HID + 3) + LSTPRIVATESTYLE_HID = HelpIds.getHelpIdString(HID + 4) + IMAGECONTROL3_HID = HelpIds.getHelpIdString(HID + 5) + CHKUSELOGO_HID = HelpIds.getHelpIdString(HID + 6) + CHKUSEDATE_HID = HelpIds.getHelpIdString(HID + 7) + CHKUSECOMMUNICATIONTYPE_HID = HelpIds.getHelpIdString(HID + 8) + LSTCOMMUNICATIONTYPE_HID = HelpIds.getHelpIdString(HID + 9) + CHKUSESUBJECT_HID = HelpIds.getHelpIdString(HID + 10) + CHKUSESALUTATION_HID = HelpIds.getHelpIdString(HID + 11) + LSTSALUTATION_HID = HelpIds.getHelpIdString(HID + 12) + CHKUSEGREETING_HID = HelpIds.getHelpIdString(HID + 13) + LSTGREETING_HID = HelpIds.getHelpIdString(HID + 14) + CHKUSEFOOTER_HID = HelpIds.getHelpIdString(HID + 15) + OPTSENDERPLACEHOLDER_HID = HelpIds.getHelpIdString(HID + 16) + OPTSENDERDEFINE_HID = HelpIds.getHelpIdString(HID + 17) + TXTSENDERNAME_HID = HelpIds.getHelpIdString(HID + 18) + TXTSENDERSTREET_HID = HelpIds.getHelpIdString(HID + 19) + TXTSENDERPOSTCODE_HID = HelpIds.getHelpIdString(HID + 20) + TXTSENDERSTATE_HID = HelpIds.getHelpIdString(HID + 21) + TXTSENDERCITY_HID = HelpIds.getHelpIdString(HID + 22) + TXTSENDERFAX_HID = HelpIds.getHelpIdString(HID + 23) + OPTRECEIVERPLACEHOLDER_HID = HelpIds.getHelpIdString(HID + 24) + OPTRECEIVERDATABASE_HID = HelpIds.getHelpIdString(HID + 25) + TXTFOOTER_HID = HelpIds.getHelpIdString(HID + 26) + CHKFOOTERNEXTPAGES_HID = HelpIds.getHelpIdString(HID + 27) + CHKFOOTERPAGENUMBERS_HID = HelpIds.getHelpIdString(HID + 28) + TXTTEMPLATENAME_HID = HelpIds.getHelpIdString(HID + 29) + FILETEMPLATEPATH_HID = HelpIds.getHelpIdString(HID + 30) + OPTCREATEFAX_HID = HelpIds.getHelpIdString(HID + 31) + OPTMAKECHANGES_HID = HelpIds.getHelpIdString(HID + 32) + IMAGECONTROL2_HID = HelpIds.getHelpIdString(HID + 33) diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py new file mode 100644 index 000000000..72952dce2 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py @@ -0,0 +1,631 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# +import traceback +import os.path +from .FaxWizardDialog import FaxWizardDialog, uno, HID +from .CGFaxWizard import CGFaxWizard +from .FaxDocument import FaxDocument +from ..ui.PathSelection import PathSelection +from ..ui.event.UnoDataAware import UnoDataAware +from ..ui.event.RadioDataAware import RadioDataAware +from ..ui.event.CommonListener import TerminateListenerProcAdapter +from ..text.TextFieldHandler import TextFieldHandler +from ..text.TextElement import TextElement +from ..common.Configuration import Configuration +from ..common.SystemDialog import SystemDialog +from ..common.NoValidPathException import NoValidPathException +from ..common.HelpIds import HelpIds +from ..common.FileAccess import FileAccess +from ..common.Desktop import Desktop +from ..document.OfficeDocument import OfficeDocument + +from com.sun.star.awt.VclWindowPeerAttribute import YES_NO, DEF_NO +from com.sun.star.util import CloseVetoException +from com.sun.star.view.DocumentZoomType import OPTIMAL +from com.sun.star.document.UpdateDocMode import FULL_UPDATE +from com.sun.star.document.MacroExecMode import ALWAYS_EXECUTE + +class FaxWizardDialogImpl(FaxWizardDialog): + + def leaveStep(self, nOldStep, nNewStep): + pass + + def enterStep(self, nOldStep, nNewStep): + pass + + RM_SENDERRECEIVER = 3 + RM_FOOTER = 4 + + def __init__(self, xmsf): + super(FaxWizardDialogImpl, self).__init__(xmsf) + self.lstBusinessStylePos = None + self.lstPrivateStylePos = None + self.bSaveSuccess = False + self.filenameChanged = False + + def startWizard(self, xMSF): + self.running = True + try: + #Number of steps on WizardDialog + self.nMaxStep = 5 + + #instantiate The Document Frame for the Preview + self.terminateListener = TerminateListenerProcAdapter(self.queryTermination) + self.myFaxDoc = FaxDocument(xMSF, self.terminateListener) + + #create the dialog: + self.drawNaviBar() + + self.buildStep1() + self.buildStep2() + self.buildStep3() + self.buildStep4() + self.buildStep5() + + self.initializeSalutation() + self.initializeGreeting() + self.initializeCommunication() + self.initializePaths() + + #special Control for setting the save Path: + self.insertPathSelectionControl() + + self.initializeTemplates(xMSF) + + #load the last used settings + #from the registry and apply listeners to the controls: + self.initConfiguration() + + if self.myPathSelection.xSaveTextBox.Text.lower() == "": + self.myPathSelection.initializePath() + + xContainerWindow = self.myFaxDoc.xFrame.ContainerWindow + self.createWindowPeer(xContainerWindow) + + #add the Roadmap to the dialog: + self.insertRoadmap() + + #load the last used document and apply last used settings: + #TODO: + self.setConfiguration() + + #If the configuration does not define + #Greeting/Salutation/CommunicationType yet choose a default + self.__setDefaultForGreetingAndSalutationAndCommunication() + + #disable functionality that is not supported by the template: + self.initializeElements() + + #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() + self.running = False + except Exception: + self.removeTerminateListener() + traceback.print_exc() + self.running = False + return + + def cancelWizard(self): + self.xUnoDialog.endExecute() + self.running = False + + def finishWizard(self): + self.switchToStep(self.getCurrentStep(), self.nMaxStep) + endWizard = True + try: + self.sPath = self.myPathSelection.getSelectedPath() + if not self.sPath or not os.path.exists(self.sPath): + self.myPathSelection.triggerPathPicker() + self.sPath = self.myPathSelection.getSelectedPath() + + #first, if the filename was not changed, thus + #it is coming from a saved session, check if the + # file exists and warn the user. + if not self.filenameChanged: + answer = SystemDialog.showMessageBox( + self.xMSF, "MessBox", YES_NO + DEF_NO, + self.resources.resOverwriteWarning, + self.xUnoDialog.Peer) + if answer == 3: + # user said: no, do not overwrite... + endWizard = False + return False + + self.myFaxDoc.setWizardTemplateDocInfo( \ + self.resources.resFaxWizardDialog_title, + self.resources.resTemplateDescription) + self.myFaxDoc.killEmptyUserFields() + self.myFaxDoc.keepLogoFrame = bool(self.chkUseLogo.State) + self.myFaxDoc.keepTypeFrame = \ + bool(self.chkUseCommunicationType.State) + self.myFaxDoc.killEmptyFrames() + self.bSaveSuccess = OfficeDocument.store(self.xMSF, + self.myFaxDoc.xTextDocument, self.sPath, "writer8_template") + if self.bSaveSuccess: + self.saveConfiguration() + xIH = self.xMSF.createInstance( \ + "com.sun.star.comp.uui.UUIInteractionHandler") + loadValues = list(range(4)) + loadValues[0] = uno.createUnoStruct( \ + 'com.sun.star.beans.PropertyValue') + loadValues[0].Name = "AsTemplate" + loadValues[0].Value = True + loadValues[1] = uno.createUnoStruct( \ + 'com.sun.star.beans.PropertyValue') + loadValues[1].Name = "MacroExecutionMode" + loadValues[1].Value = ALWAYS_EXECUTE + loadValues[2] = uno.createUnoStruct( \ + 'com.sun.star.beans.PropertyValue') + loadValues[2].Name = "UpdateDocMode" + loadValues[2].Value = FULL_UPDATE + loadValues[3] = uno.createUnoStruct( \ + 'com.sun.star.beans.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(self.xMSF), + self.sPath, "_default", loadValues) + oDoc.CurrentController.ViewSettings.ZoomType = OPTIMAL + else: + pass + #TODO: Error Handling + + except Exception: + traceback.print_exc() + finally: + if endWizard: + self.xUnoDialog.endExecute() + self.running = False + + return True + + def closeDocument(self): + try: + self.myFaxDoc.xFrame.close(False) + except CloseVetoException: + traceback.print_exc() + + def drawConstants(self): + '''Localise the template''' + constRangeList = self.myFaxDoc.searchFillInItems(1) + + for i in constRangeList: + text = i.String.lower() + aux = TextElement(i, self.resources.dictConstants[text]) + aux.write() + + def insertRoadmap(self): + self.addRoadmap() + self.insertRoadMapItems( + self.resources.RoadmapLabels, [True, True, True, False, True]) + + self.setRoadmapInteractive(True) + self.setRoadmapComplete(True) + self.setCurrentRoadmapItemID(1) + + def insertPathSelectionControl(self): + self.myPathSelection = PathSelection(self.xMSF, + self, PathSelection.TransferMode.SAVE, + PathSelection.DialogTypes.FILE) + self.myPathSelection.insert( + 5, 97, 70, 205, 45, self.resources.reslblTemplatePath_value, + True, HelpIds.getHelpIdString(HID + 34), + HelpIds.getHelpIdString(HID + 35)) + self.myPathSelection.sDefaultDirectory = self.sUserTemplatePath + self.myPathSelection.sDefaultName = "myFaxTemplate.ott" + self.myPathSelection.sDefaultFilter = "writer8_template" + self.myPathSelection.addSelectionListener(self) + + def initializeTemplates(self, xMSF): + try: + self.sFaxPath = self.sTemplatePath + "/wizard/fax" + self.BusinessFiles = FileAccess.getFolderTitles(xMSF, "bus", + self.sFaxPath, self.resources.dictBusinessTemplate) + self.PrivateFiles = FileAccess.getFolderTitles(xMSF, "pri", + self.sFaxPath, self.resources.dictPrivateTemplate) + + self.xDialogModel.lstBusinessStyle.StringItemList = \ + tuple(self.BusinessFiles[0]) + self.xDialogModel.lstPrivateStyle.StringItemList = \ + tuple(self.PrivateFiles[0]) + self.xDialogModel.lstBusinessStyle.SelectedItems = (0,) + self.xDialogModel.lstPrivateStyle.SelectedItems = (0,) + return True + except NoValidPathException: + traceback.print_exc() + return False + + def initializeElements(self): + self.xDialogModel.chkUseLogo.Enabled = \ + self.myFaxDoc.hasElement("Company Logo") + self.xDialogModel.chkUseSubject.Enabled = \ + self.myFaxDoc.hasElement("Subject Line") + self.xDialogModel.chkUseDate.Enabled = \ + self.myFaxDoc.hasElement("Date") + self.myFaxDoc.updateDateFields() + + def initializeSalutation(self): + #'Salutation' listbox + self.xDialogModel.lstSalutation.StringItemList = \ + tuple(self.resources.SalutationLabels) + + def initializeGreeting(self): + #'Complimentary Close' listbox + self.xDialogModel.lstGreeting.StringItemList = \ + tuple(self.resources.GreetingLabels) + + def initializeCommunication(self): + #'Type of message' listbox + self.xDialogModel.lstCommunicationType.StringItemList = \ + tuple(self.resources.CommunicationLabels) + + def __setDefaultForGreetingAndSalutationAndCommunication(self): + if not self.lstSalutation.Text: + self.lstSalutation.setText(self.resources.SalutationLabels[0]) + + if not self.lstGreeting.Text: + self.lstGreeting.setText(self.resources.GreetingLabels[0]) + + if not self.lstCommunicationType.Text: + self.lstCommunicationType.setText( \ + self.resources.CommunicationLabels[0]) + + def initConfiguration(self): + try: + self.myConfig = CGFaxWizard() + root = Configuration.getConfigurationRoot(self.xMSF, + "/org.openoffice.Office.Writer/Wizards/Fax", False) + self.myConfig.readConfiguration(root, "cp_") + RadioDataAware.attachRadioButtons( + self.myConfig, "cp_FaxType", + (self.optBusinessFax, self.optPrivateFax), True).updateUI() + UnoDataAware.attachListBox( + self.myConfig.cp_BusinessFax, "cp_Style", + self.lstBusinessStyle, True).updateUI() + UnoDataAware.attachListBox( + self.myConfig.cp_PrivateFax, "cp_Style", self.lstPrivateStyle, + True).updateUI() + cgl = self.myConfig.cp_BusinessFax + UnoDataAware.attachCheckBox(cgl, + "cp_PrintCompanyLogo", self.chkUseLogo, True).updateUI() + UnoDataAware.attachCheckBox(cgl, + "cp_PrintSubjectLine", self.chkUseSubject, True).updateUI() + UnoDataAware.attachCheckBox(cgl, + "cp_PrintSalutation", self.chkUseSalutation, True).updateUI() + UnoDataAware.attachCheckBox(cgl, + "cp_PrintDate", self.chkUseDate, True).updateUI() + UnoDataAware.attachCheckBox(cgl, "cp_PrintCommunicationType", + self.chkUseCommunicationType, True).updateUI() + UnoDataAware.attachCheckBox(cgl, + "cp_PrintGreeting", self.chkUseGreeting, True).updateUI() + UnoDataAware.attachCheckBox(cgl, + "cp_PrintFooter", self.chkUseFooter, True).updateUI() + UnoDataAware.attachEditControl(cgl, + "cp_Salutation", self.lstSalutation, True).updateUI() + UnoDataAware.attachEditControl(cgl, + "cp_Greeting", self.lstGreeting, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_CommunicationType", + self.lstCommunicationType, True).updateUI() + RadioDataAware.attachRadioButtons(cgl, "cp_SenderAddressType", + (self.optSenderDefine, self.optSenderPlaceholder), + True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderCompanyName", + self.txtSenderName, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderStreet", + self.txtSenderStreet, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderPostCode", + self.txtSenderPostCode, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderState", + self.txtSenderState, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderCity", + self.txtSenderCity, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_SenderFax", + self.txtSenderFax, True).updateUI() + RadioDataAware.attachRadioButtons(cgl, "cp_ReceiverAddressType", + (self.optReceiverDatabase, self.optReceiverPlaceholder), + True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_Footer", + self.txtFooter, True).updateUI() + UnoDataAware.attachCheckBox(cgl, "cp_FooterOnlySecondPage", + self.chkFooterNextPages, True).updateUI() + UnoDataAware.attachCheckBox(cgl, "cp_FooterPageNumbers", + self.chkFooterPageNumbers, True).updateUI() + RadioDataAware.attachRadioButtons(cgl, "cp_CreationType", + (self.optCreateFax, self.optMakeChanges), True).updateUI() + UnoDataAware.attachEditControl(cgl, + "cp_TemplateName", self.txtTemplateName, True).updateUI() + UnoDataAware.attachEditControl(cgl, "cp_TemplatePath", + self.myPathSelection.xSaveTextBox, True).updateUI() + except Exception: + traceback.print_exc() + + def saveConfiguration(self): + try: + root = Configuration.getConfigurationRoot(self.xMSF, + "/org.openoffice.Office.Writer/Wizards/Fax", True) + self.myConfig.writeConfiguration(root, "cp_") + root.commitChanges() + except Exception: + traceback.print_exc() + + def setConfiguration(self): + #set correct Configuration tree: + if self.optBusinessFax.State: + self.optBusinessFaxItemChanged() + elif self.optPrivateFax.State: + self.optPrivateFaxItemChanged() + + def optBusinessFaxItemChanged(self): + self.lstPrivateStylePos = None + self.xDialogModel.lblBusinessStyle.Enabled = True + self.xDialogModel.lstBusinessStyle.Enabled = True + self.xDialogModel.lblPrivateStyle.Enabled = False + self.xDialogModel.lstPrivateStyle.Enabled = False + + self.lstBusinessStyleItemChanged() + self.__enableSenderReceiver() + self.__setPossibleFooter(True) + + def lstBusinessStyleItemChanged(self): + selectedItemPos = self.lstBusinessStyle.SelectedItemPos + #avoid to load the same item again + if self.lstBusinessStylePos != selectedItemPos: + self.lstBusinessStylePos = selectedItemPos + self.myFaxDoc.loadAsPreview( + self.BusinessFiles[1][selectedItemPos], False) + self.initializeElements() + self.setElements() + self.drawConstants() + + def optPrivateFaxItemChanged(self): + self.lstBusinessStylePos = None + self.xDialogModel.lblBusinessStyle.Enabled = False + self.xDialogModel.lstBusinessStyle.Enabled = False + self.xDialogModel.lblPrivateStyle.Enabled = True + self.xDialogModel.lstPrivateStyle.Enabled = True + + self.lstPrivateStyleItemChanged() + self.__disableSenderReceiver() + self.__setPossibleFooter(False) + + def lstPrivateStyleItemChanged(self): + selectedItemPos = self.lstPrivateStyle.SelectedItemPos + #avoid to load the same item again + if self.lstPrivateStylePos != selectedItemPos: + self.lstPrivateStylePos = selectedItemPos + self.myFaxDoc.loadAsPreview( + self.PrivateFiles[1][selectedItemPos], False) + self.initializeElements() + self.setElements() + + def txtTemplateNameTextChanged(self): + # Change Template Title in Properties + xDocProps = self.myFaxDoc.xTextDocument.DocumentProperties + xDocProps.Title = self.txtTemplateName.Text + + def optSenderPlaceholderItemChanged(self): + self.xDialogModel.lblSenderName.Enabled = False + self.xDialogModel.lblSenderStreet.Enabled = False + self.xDialogModel.lblPostCodeCity.Enabled = False + self.xDialogModel.lblSenderFax.Enabled = False + self.xDialogModel.txtSenderName.Enabled = False + self.xDialogModel.txtSenderStreet.Enabled = False + self.xDialogModel.txtSenderPostCode.Enabled = False + self.xDialogModel.txtSenderState.Enabled = False + self.xDialogModel.txtSenderCity.Enabled = False + self.xDialogModel.txtSenderFax.Enabled = False + self.myFaxDoc.fillSenderWithUserData() + + def optSenderDefineItemChanged(self): + self.xDialogModel.lblSenderName.Enabled = True + self.xDialogModel.lblSenderStreet.Enabled = True + self.xDialogModel.lblPostCodeCity.Enabled = True + self.xDialogModel.lblSenderFax.Enabled = True + self.xDialogModel.txtSenderName.Enabled = True + self.xDialogModel.txtSenderStreet.Enabled = True + self.xDialogModel.txtSenderPostCode.Enabled = True + self.xDialogModel.txtSenderState.Enabled = True + self.xDialogModel.txtSenderCity.Enabled = True + self.xDialogModel.txtSenderFax.Enabled = True + + self.myFieldHandler = TextFieldHandler(self.myFaxDoc.xMSF, + self.myFaxDoc.xTextDocument) + self.txtSenderNameTextChanged() + self.txtSenderStreetTextChanged() + self.txtSenderPostCodeTextChanged() + self.txtSenderStateTextChanged() + self.txtSenderCityTextChanged() + self.txtSenderFaxTextChanged() + + def txtSenderNameTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "Company", self.txtSenderName.Text) + + def txtSenderStreetTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "Street", self.txtSenderStreet.Text) + + def txtSenderCityTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "City", self.txtSenderCity.Text) + + def txtSenderPostCodeTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "PostCode", self.txtSenderPostCode.Text) + + def txtSenderStateTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "State", self.txtSenderState.Text) + + def txtSenderFaxTextChanged(self): + self.myFieldHandler.changeUserFieldContent( + "Fax", self.txtSenderFax.Text) + + #switch Elements on/off -------------------------------------------------- + + def setElements(self): + #UI relevant: + if self.optSenderDefine.State: + self.optSenderDefineItemChanged() + + if self.optSenderPlaceholder.State: + self.optSenderPlaceholderItemChanged() + + self.chkUseLogoItemChanged() + self.chkUseSubjectItemChanged() + self.chkUseSalutationItemChanged() + self.chkUseGreetingItemChanged() + self.chkUseCommunicationItemChanged() + self.chkUseDateItemChanged() + self.chkUseFooterItemChanged() + self.txtTemplateNameTextChanged() + #not UI relevant: + if self.optReceiverDatabase.State: + self.optReceiverDatabaseItemChanged() + + elif self.optReceiverPlaceholder.State: + self.optReceiverPlaceholderItemChanged() + + if self.optCreateFax.State: + self.optCreateFromTemplateItemChanged() + + elif self.optMakeChanges.State: + self.optMakeChangesItemChanged() + + def chkUseLogoItemChanged(self): + if self.myFaxDoc.hasElement("Company Logo"): + self.myFaxDoc.switchElement("Company Logo", + bool(self.chkUseLogo.State)) + + def chkUseSubjectItemChanged(self): + if self.myFaxDoc.hasElement("Subject Line"): + self.myFaxDoc.switchElement("Subject Line", + bool(self.chkUseSubject.State)) + + def chkUseDateItemChanged(self): + if self.myFaxDoc.hasElement("Date"): + self.myFaxDoc.switchElement("Date", + bool(self.chkUseDate.State)) + + def chkUseFooterItemChanged(self): + try: + bFooterPossible = bool(self.chkUseFooter.State) \ + and bool(self.xDialogModel.chkUseFooter.Enabled) + if bool(self.chkFooterNextPages.State): + self.myFaxDoc.switchFooter("First Page", False, + bool(self.chkFooterPageNumbers.State), + self.txtFooter.Text) + self.myFaxDoc.switchFooter("Standard", bFooterPossible, + bool(self.chkFooterPageNumbers.State), + self.txtFooter.Text) + else: + self.myFaxDoc.switchFooter("First Page", bFooterPossible, + bool(self.chkFooterPageNumbers.State), + self.txtFooter.Text) + self.myFaxDoc.switchFooter("Standard", bFooterPossible, + bool(self.chkFooterPageNumbers.State), + self.txtFooter.Text) + + #enable/disable roadmap item for footer page + BPaperItem = self.getRoadmapItemByID( \ + FaxWizardDialogImpl.RM_FOOTER) + BPaperItem.Enabled = bFooterPossible + except Exception: + traceback.print_exc() + + def chkFooterNextPagesItemChanged(self): + self.chkUseFooterItemChanged() + + def chkFooterPageNumbersItemChanged(self): + self.chkUseFooterItemChanged() + + def txtFooterTextChanged(self): + self.myFaxDoc.switchFooter("First Page", True, + bool(self.chkFooterPageNumbers.State), + self.txtFooter.Text) + + def chkUseSalutationItemChanged(self): + self.myFaxDoc.switchUserField("Salutation", + self.lstSalutation.Text, bool(self.chkUseSalutation.State)) + self.xDialogModel.lstSalutation.Enabled = \ + bool(self.chkUseSalutation.State) + + def lstSalutationItemChanged(self): + self.myFaxDoc.switchUserField("Salutation", + self.lstSalutation.Text, bool(self.chkUseSalutation.State)) + + def chkUseCommunicationItemChanged(self): + self.myFaxDoc.switchUserField("CommunicationType", + self.lstCommunicationType.Text, + bool(self.chkUseCommunicationType.State)) + self.xDialogModel.lstCommunicationType.Enabled = \ + bool(self.chkUseCommunicationType.State) + + def lstCommunicationItemChanged(self): + self.myFaxDoc.switchUserField("CommunicationType", + self.lstCommunicationType.Text, + bool(self.chkUseCommunicationType.State)) + + def chkUseGreetingItemChanged(self): + self.myFaxDoc.switchUserField("Greeting", + self.lstGreeting.Text, bool(self.chkUseGreeting.State)) + self.xDialogModel.lstGreeting.Enabled = \ + bool(self.chkUseGreeting.State) + + def lstGreetingItemChanged(self): + self.myFaxDoc.switchUserField("Greeting", self.lstGreeting.Text, + bool(self.chkUseGreeting.State)) + + def __setPossibleFooter(self, bState): + self.xDialogModel.chkUseFooter.Enabled = bState + if not bState: + self.chkUseFooter.State = 0 + + self.chkUseFooterItemChanged() + + def optReceiverPlaceholderItemChanged(self): + OfficeDocument.attachEventCall( + self.myFaxDoc.xTextDocument, "OnNew", "StarBasic", + "macro:///Template.Correspondence.Placeholder()") + + def optReceiverDatabaseItemChanged(self): + OfficeDocument.attachEventCall( + self.myFaxDoc.xTextDocument, "OnNew", "StarBasic", + "macro:///Template.Correspondence.Database()") + + def __enableSenderReceiver(self): + BPaperItem = self.getRoadmapItemByID( \ + FaxWizardDialogImpl.RM_SENDERRECEIVER) + BPaperItem.Enabled = True + + def __disableSenderReceiver(self): + BPaperItem = self.getRoadmapItemByID( \ + FaxWizardDialogImpl.RM_SENDERRECEIVER) + BPaperItem.Enabled = False + + def validatePath(self): + if self.myPathSelection.usedPathPicker: + self.filenameChanged = True + self.myPathSelection.usedPathPicker = False diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py new file mode 100644 index 000000000..fa3254207 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py @@ -0,0 +1,137 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +class FaxWizardDialogResources(object): + + def __init__(self): + import sys, os + + if sys.version_info < (3,4): + import imp + imp.load_source('strings', os.path.join(os.path.dirname(__file__), '../common/strings.hrc')) + import strings + elif sys.version_info < (3,7): + # imp is deprecated since Python v.3.4 + from importlib.machinery import SourceFileLoader + SourceFileLoader('strings', os.path.join(os.path.dirname(__file__), '../common/strings.hrc')).load_module() + import strings + else: + # have to jump through hoops since 3.7, partly because python does not like loading modules that do have a .py extension + import importlib + import importlib.util + import importlib.machinery + module_name = 'strings' + path = os.path.join(os.path.dirname(__file__), '../common/strings.hrc') + spec = importlib.util.spec_from_loader( + module_name, + importlib.machinery.SourceFileLoader(module_name, path) + ) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + sys.modules[module_name] = module + strings = module + + self.resFaxWizardDialog_title = strings.RID_FAXWIZARDDIALOG_START_1 + self.resoptBusinessFax_value = strings.RID_FAXWIZARDDIALOG_START_3 + self.resoptPrivateFax_value = strings.RID_FAXWIZARDDIALOG_START_4 + self.reschkUseLogo_value = strings.RID_FAXWIZARDDIALOG_START_5 + self.reschkUseSubject_value = strings.RID_FAXWIZARDDIALOG_START_6 + self.reschkUseSalutation_value = strings.RID_FAXWIZARDDIALOG_START_7 + self.reschkUseGreeting_value = strings.RID_FAXWIZARDDIALOG_START_8 + self.reschkUseFooter_value = strings.RID_FAXWIZARDDIALOG_START_9 + self.resoptSenderPlaceholder_value = strings.RID_FAXWIZARDDIALOG_START_10 + self.resoptSenderDefine_value = strings.RID_FAXWIZARDDIALOG_START_11 + self.restxtTemplateName_value = strings.RID_FAXWIZARDDIALOG_START_12 + self.resoptCreateFax_value = strings.RID_FAXWIZARDDIALOG_START_13 + self.resoptMakeChanges_value = strings.RID_FAXWIZARDDIALOG_START_14 + self.reslblBusinessStyle_value = strings.RID_FAXWIZARDDIALOG_START_15 + self.reslblPrivateStyle_value = strings.RID_FAXWIZARDDIALOG_START_16 + self.reslblIntroduction_value = strings.RID_FAXWIZARDDIALOG_START_17 + self.reslblSenderAddress_value = strings.RID_FAXWIZARDDIALOG_START_18 + self.reslblSenderName_value = strings.RID_FAXWIZARDDIALOG_START_19 + self.reslblSenderStreet_value = strings.RID_FAXWIZARDDIALOG_START_20 + self.reslblPostCodeCity_value = strings.RID_FAXWIZARDDIALOG_START_21 + self.reslblFooter_value = strings.RID_FAXWIZARDDIALOG_START_22 + self.reslblFinalExplanation1_value = strings.RID_FAXWIZARDDIALOG_START_23 + self.reslblFinalExplanation2_value = strings.RID_FAXWIZARDDIALOG_START_24 + self.reslblTemplateName_value = strings.RID_FAXWIZARDDIALOG_START_25 + self.reslblTemplatePath_value = strings.RID_FAXWIZARDDIALOG_START_26 + self.reslblProceed_value = strings.RID_FAXWIZARDDIALOG_START_27 + self.reslblTitle1_value = strings.RID_FAXWIZARDDIALOG_START_28 + self.reslblTitle3_value = strings.RID_FAXWIZARDDIALOG_START_29 + self.reslblTitle4_value = strings.RID_FAXWIZARDDIALOG_START_30 + self.reslblTitle5_value = strings.RID_FAXWIZARDDIALOG_START_31 + self.reslblTitle6_value = strings.RID_FAXWIZARDDIALOG_START_32 + self.reschkFooterNextPages_value = strings.RID_FAXWIZARDDIALOG_START_33 + self.reschkFooterPageNumbers_value = strings.RID_FAXWIZARDDIALOG_START_34 + self.reschkUseDate_value = strings.RID_FAXWIZARDDIALOG_START_35 + self.reschkUseCommunicationType_value = strings.RID_FAXWIZARDDIALOG_START_36 + self.resLabel1_value = strings.RID_FAXWIZARDDIALOG_START_37 + self.resoptReceiverPlaceholder_value = strings.RID_FAXWIZARDDIALOG_START_38 + self.resoptReceiverDatabase_value = strings.RID_FAXWIZARDDIALOG_START_39 + self.resLabel2_value = strings.RID_FAXWIZARDDIALOG_START_40 + + #Create a Dictionary for the constants values. + self.dictConstants = { + "#to#" : strings.RID_FAXWIZARDDIALOG_START_41, + "#from#" : strings.RID_FAXWIZARDDIALOG_START_42, + "#faxconst#" : strings.RID_FAXWIZARDDIALOG_START_43, + "#telconst#" : strings.RID_FAXWIZARDDIALOG_START_44, + "#emailconst#" : strings.RID_FAXWIZARDDIALOG_START_45, + "#consist1#" : strings.RID_FAXWIZARDDIALOG_START_46, + "#consist2#" : strings.RID_FAXWIZARDDIALOG_START_47, + "#consist3#" : strings.RID_FAXWIZARDDIALOG_START_48} + + #Create a dictionary for localising the private template + self.dictPrivateTemplate = { + "Bottle" : strings.RID_FAXWIZARDDIALOG_START_49, + "Fax" : strings.RID_FAXWIZARDDIALOG_START_56, + "Lines" : strings.RID_FAXWIZARDDIALOG_START_50, + "Marine" : strings.RID_FAXWIZARDDIALOG_START_51} + + #Create a dictionary for localising the business template + self.dictBusinessTemplate = { + "Classic Fax" : strings.RID_FAXWIZARDDIALOG_START_52, + "Classic Fax from Private" : strings.RID_FAXWIZARDDIALOG_START_53, + "Modern Fax" : strings.RID_FAXWIZARDDIALOG_START_54, + "Modern Fax from Private" : strings.RID_FAXWIZARDDIALOG_START_55} + + #Common Resources + self.resOverwriteWarning = strings.RID_COMMON_START_19 + self.resTemplateDescription = strings.RID_COMMON_START_20 + + self.RoadmapLabels = [] + self.RoadmapLabels.append(strings.RID_FAXWIZARDROADMAP_START_1) + self.RoadmapLabels.append(strings.RID_FAXWIZARDROADMAP_START_2) + self.RoadmapLabels.append(strings.RID_FAXWIZARDROADMAP_START_3) + self.RoadmapLabels.append(strings.RID_FAXWIZARDROADMAP_START_4) + self.RoadmapLabels.append(strings.RID_FAXWIZARDROADMAP_START_5) + self.SalutationLabels = [] + self.SalutationLabels.append(strings.RID_FAXWIZARDSALUTATION_START_1) + self.SalutationLabels.append(strings.RID_FAXWIZARDSALUTATION_START_2) + self.SalutationLabels.append(strings.RID_FAXWIZARDSALUTATION_START_3) + self.SalutationLabels.append(strings.RID_FAXWIZARDSALUTATION_START_4) + self.GreetingLabels = [] + self.GreetingLabels.append(strings.RID_FAXWIZARDGREETING_START_1) + self.GreetingLabels.append(strings.RID_FAXWIZARDGREETING_START_2) + self.GreetingLabels.append(strings.RID_FAXWIZARDGREETING_START_3) + self.GreetingLabels.append(strings.RID_FAXWIZARDGREETING_START_4) + self.CommunicationLabels = [] + self.CommunicationLabels.append(strings.RID_FAXWIZARDCOMMUNICATION_START_1) + self.CommunicationLabels.append(strings.RID_FAXWIZARDCOMMUNICATION_START_2) + self.CommunicationLabels.append(strings.RID_FAXWIZARDCOMMUNICATION_START_3) diff --git a/wizards/com/sun/star/wizards/fax/__init__.py b/wizards/com/sun/star/wizards/fax/__init__.py new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/__init__.py @@ -0,0 +1 @@ + diff --git a/wizards/com/sun/star/wizards/fax/fax.component b/wizards/com/sun/star/wizards/fax/fax.component new file mode 100644 index 000000000..abc871137 --- /dev/null +++ b/wizards/com/sun/star/wizards/fax/fax.component @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . +--> +<component loader="com.sun.star.loader.Python" + xmlns="http://openoffice.org/2010/uno-components"> + <implementation name="com.sun.star.wizards.fax.CallWizard"> + <service name="com.sun.star.task.Job"/> + </implementation> +</component> |