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

Xisco Fauli xfauli at kemper.freedesktop.org
Mon Jul 25 08:27:25 PDT 2011


 wizards/com/sun/star/wizards/agenda/AgendaTemplate.py         |  333 ++++++----
 wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py     |    8 
 wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py |  131 ++-
 wizards/com/sun/star/wizards/common/Helper.py                 |    3 
 wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py       |   60 -
 wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py |  174 ++---
 wizards/com/sun/star/wizards/text/TextSectionHandler.py       |   50 -
 wizards/com/sun/star/wizards/ui/WizardDialog.py               |   10 
 wizards/com/sun/star/wizards/ui/event/UnoDataAware.py         |    4 
 9 files changed, 454 insertions(+), 319 deletions(-)

New commits:
commit 1c461d541a49a871c8598931805f7413c8352342
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Mon Jul 25 17:25:23 2011 +0200

    Some refactoring and formatting
    
    * Don't load a preview if the item selected in the listbox is the same as before

diff --git a/wizards/com/sun/star/wizards/agenda/AgendaTemplate.py b/wizards/com/sun/star/wizards/agenda/AgendaTemplate.py
index 24c49ca..a0f7ff7 100644
--- a/wizards/com/sun/star/wizards/agenda/AgendaTemplate.py
+++ b/wizards/com/sun/star/wizards/agenda/AgendaTemplate.py
@@ -112,7 +112,8 @@ class AgendaTemplate(TextDocument):
     '''
 
     def calcTemplateName(self, url):
-        return FileAccess.connectURLs(FileAccess.getParentDir(url), FileAccess.getFilename(url)[3:])
+        return FileAccess.connectURLs(
+            FileAccess.getParentDir(url), FileAccess.getFilename(url)[3:])
 
     '''synchronize the document to the model.<br/>
     this method rewrites all titles, item tables , and the topics table-
@@ -204,23 +205,76 @@ class AgendaTemplate(TextDocument):
     def initItemsCache(self):
         AgendaTemplate.itemsCache = {}
         # Headings
-        AgendaTemplate.itemsCache[FILLIN_MEETING_TYPE] = AgendaItem(FILLIN_MEETING_TYPE, TextElement (self.resources.itemMeetingType, STYLE_MEETING_TYPE), PlaceholderElement(STYLE_MEETING_TYPE_TEXT, self.resources.reschkMeetingTitle_value, self.resources.resPlaceHolderHint, self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_BRING] = AgendaItem(FILLIN_BRING, TextElement (self.resources.itemBring, STYLE_BRING), PlaceholderElement (STYLE_BRING_TEXT, self.resources.reschkBring_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_READ] = AgendaItem (FILLIN_READ, TextElement (self.resources.itemRead, STYLE_READ), PlaceholderElement (STYLE_READ_TEXT, self.resources.reschkRead_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_NOTES] = AgendaItem (FILLIN_NOTES, TextElement (self.resources.itemNote, STYLE_NOTES), PlaceholderElement (STYLE_NOTES_TEXT, self.resources.reschkNotes_value, self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_MEETING_TYPE] = AgendaItem(
+            FILLIN_MEETING_TYPE,
+            TextElement (self.resources.itemMeetingType, STYLE_MEETING_TYPE),
+            PlaceholderElement(STYLE_MEETING_TYPE_TEXT,
+                self.resources.reschkMeetingTitle_value,
+                self.resources.resPlaceHolderHint, self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_BRING] = AgendaItem(
+            FILLIN_BRING, TextElement (self.resources.itemBring, STYLE_BRING),
+            PlaceholderElement (STYLE_BRING_TEXT,
+                self.resources.reschkBring_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_READ] = AgendaItem (
+            FILLIN_READ, TextElement (self.resources.itemRead, STYLE_READ),
+            PlaceholderElement (STYLE_READ_TEXT,
+                self.resources.reschkRead_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_NOTES] = AgendaItem (
+            FILLIN_NOTES, TextElement (self.resources.itemNote, STYLE_NOTES),
+            PlaceholderElement (STYLE_NOTES_TEXT,
+                self.resources.reschkNotes_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+
         # Names
-        AgendaTemplate.itemsCache[FILLIN_CALLED_BY] = AgendaItem (FILLIN_CALLED_BY, TextElement (self.resources.itemCalledBy, STYLE_CALLED_BY), PlaceholderElement (STYLE_CALLED_BY_TEXT, self.resources.reschkConvenedBy_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_FACILITATOR] =AgendaItem (FILLIN_FACILITATOR, TextElement (self.resources.itemFacilitator, STYLE_FACILITATOR), PlaceholderElement (STYLE_FACILITATOR_TEXT, self.resources.reschkPresiding_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_PARTICIPANTS] = AgendaItem (FILLIN_PARTICIPANTS, TextElement (self.resources.itemAttendees, STYLE_PARTICIPANTS), PlaceholderElement (STYLE_PARTICIPANTS_TEXT, self.resources.reschkAttendees_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_NOTETAKER] = AgendaItem (FILLIN_NOTETAKER, TextElement (self.resources.itemNotetaker, STYLE_NOTETAKER), PlaceholderElement (STYLE_NOTETAKER_TEXT, self.resources.reschkNoteTaker_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_TIMEKEEPER] = AgendaItem (FILLIN_TIMEKEEPER, TextElement (self.resources.itemTimekeeper, STYLE_TIMEKEEPER), PlaceholderElement (STYLE_TIMEKEEPER_TEXT, self.resources.reschkTimekeeper_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_OBSERVERS] = AgendaItem (FILLIN_OBSERVERS, TextElement (self.resources.itemObservers, STYLE_OBSERVERS), PlaceholderElement (STYLE_OBSERVERS_TEXT, self.resources.reschkObservers_value, self.resources.resPlaceHolderHint,  self.xMSF))
-        AgendaTemplate.itemsCache[FILLIN_RESOURCE_PERSONS] = AgendaItem (FILLIN_RESOURCE_PERSONS, TextElement (self.resources.itemResource, STYLE_RESOURCE_PERSONS), PlaceholderElement (STYLE_RESOURCE_PERSONS_TEXT, self.resources.reschkResourcePersons_value, self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_CALLED_BY] = AgendaItem(
+            FILLIN_CALLED_BY,
+            TextElement (self.resources.itemCalledBy, STYLE_CALLED_BY),
+            PlaceholderElement (STYLE_CALLED_BY_TEXT,
+                self.resources.reschkConvenedBy_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_FACILITATOR] = AgendaItem(
+            FILLIN_FACILITATOR,
+            TextElement (self.resources.itemFacilitator, STYLE_FACILITATOR),
+            PlaceholderElement (STYLE_FACILITATOR_TEXT,
+                self.resources.reschkPresiding_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_PARTICIPANTS] = AgendaItem(
+            FILLIN_PARTICIPANTS,
+            TextElement (self.resources.itemAttendees, STYLE_PARTICIPANTS),
+            PlaceholderElement(STYLE_PARTICIPANTS_TEXT,
+                self.resources.reschkAttendees_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_NOTETAKER] = AgendaItem(
+            FILLIN_NOTETAKER,
+            TextElement(self.resources.itemNotetaker, STYLE_NOTETAKER),
+            PlaceholderElement(STYLE_NOTETAKER_TEXT,
+                self.resources.reschkNoteTaker_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_TIMEKEEPER] = AgendaItem(
+            FILLIN_TIMEKEEPER,
+            TextElement (self.resources.itemTimekeeper, STYLE_TIMEKEEPER),
+            PlaceholderElement(STYLE_TIMEKEEPER_TEXT,
+                self.resources.reschkTimekeeper_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_OBSERVERS] = AgendaItem(
+            FILLIN_OBSERVERS,
+            TextElement(self.resources.itemObservers, STYLE_OBSERVERS),
+            PlaceholderElement(STYLE_OBSERVERS_TEXT,
+                self.resources.reschkObservers_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
+        AgendaTemplate.itemsCache[FILLIN_RESOURCE_PERSONS] = AgendaItem(
+            FILLIN_RESOURCE_PERSONS,
+            TextElement(self.resources.itemResource, STYLE_RESOURCE_PERSONS),
+            PlaceholderElement(STYLE_RESOURCE_PERSONS_TEXT,
+                self.resources.reschkResourcePersons_value,
+                self.resources.resPlaceHolderHint,  self.xMSF))
 
     '''Initializes a template.<br/>
     This method does the following tasks:<br/>
-    Get a Time and Date format for the document, and retrieve the null date of the document (which is
-    document-specific).<br/>
+    Get a Time and Date format for the document, and retrieve the null
+    date of the document (which is document-specific).<br/>
     Initializes the Items Cache map.
     Analyses the document:<br/>
     -find all "fille-ins" (apear as &gt;xxx&lt; in the document).
@@ -231,7 +285,8 @@ class AgendaTemplate(TextDocument):
 
     def initialize(self):
         '''
-        Get the default locale of the document, and create the date and time formatters.
+        Get the default locale of the document,
+        and create the date and time formatters.
         '''
         dateUtils = Helper.DateUtils(self.xMSF, AgendaTemplate.document)
         self.formatter = dateUtils.formatter
@@ -247,13 +302,15 @@ class AgendaTemplate(TextDocument):
         AgendaTemplate._allItems = self.searchFillInItems()
         self.initializeTitles()
         self.initializeItemsSections()
-        AgendaTemplate.textSectionHandler = TextSectionHandler(AgendaTemplate.document, AgendaTemplate.document)
+        AgendaTemplate.textSectionHandler = TextSectionHandler(
+            AgendaTemplate.document, AgendaTemplate.document)
         self.topics = Topics()
         del AgendaTemplate._allItems[:]
         AgendaTemplate._allItems = None
 
     '''
-    locates the titles (name, location, date, time) and saves a reference to thier Text ranges.
+    locates the titles (name, location, date, time)
+    and saves a reference to thier Text ranges.
     '''
 
     def initializeTitles(self):
@@ -262,22 +319,34 @@ class AgendaTemplate(TextDocument):
             workwith = AgendaTemplate._allItems[i]
             text = workwith.String.lstrip().lower()
             if text == FILLIN_TITLE:
-                self.teTitle = PlaceholderTextElement(workwith, self.resources.resPlaceHolderTitle, self.resources.resPlaceHolderHint,  AgendaTemplate.document)
+                self.teTitle = PlaceholderTextElement(
+                    workwith, self.resources.resPlaceHolderTitle,
+                    self.resources.resPlaceHolderHint,
+                    AgendaTemplate.document)
                 self.trTitle = workwith
                 del AgendaTemplate._allItems[i]
                 i -= 1
             elif text == FILLIN_DATE:
-                self.teDate = PlaceholderTextElement(workwith, self.resources.resPlaceHolderDate, self.resources.resPlaceHolderHint,  AgendaTemplate.document)
+                self.teDate = PlaceholderTextElement(
+                    workwith, self.resources.resPlaceHolderDate,
+                    self.resources.resPlaceHolderHint,
+                    AgendaTemplate.document)
                 self.trDate = workwith
                 del AgendaTemplate._allItems[i]
                 i -= 1
             elif text == FILLIN_TIME:
-                self.teTime = PlaceholderTextElement(workwith, self.resources.resPlaceHolderTime, self.resources.resPlaceHolderHint,  AgendaTemplate.document)
+                self.teTime = PlaceholderTextElement(
+                    workwith, self.resources.resPlaceHolderTime,
+                    self.resources.resPlaceHolderHint,
+                    AgendaTemplate.document)
                 self.trTime = workwith
                 del AgendaTemplate._allItems[i]
                 i -= 1
             elif text == FILLIN_LOCATION:
-                self.teLocation = PlaceholderTextElement(workwith, self.resources.resPlaceHolderLocation, self.resources.resPlaceHolderHint,  AgendaTemplate.document)
+                self.teLocation = PlaceholderTextElement(
+                    workwith, self.resources.resPlaceHolderLocation,
+                    self.resources.resPlaceHolderHint,
+                    AgendaTemplate.document)
                 self.trLocation = workwith
                 del AgendaTemplate._allItems[i]
                 i -= 1
@@ -302,23 +371,27 @@ class AgendaTemplate(TextDocument):
             return l
         except Exception, ex:
             traceback.print_exc()
-            raise AttributeError ("Fatal Error: Loading template failed: searching fillins failed");
+            raise AttributeError (
+                "Fatal Error: Loading template failed: searching fillins failed")
 
     '''
-    analyze the item sections in the template. delegates the analyze of each table to the
-    ItemsTable class.
+    analyze the item sections in the template.
+    delegates the analyze of each table to the ItemsTable class.
     '''
 
     def initializeItemsSections(self):
         sections = self.getSections(AgendaTemplate.document, SECTION_ITEMS)
         # for each section - there is a table...
         self.itemsTables = []
-        for i in xrange(len(sections)):
+        for i in sections:
             try:
-                self.itemsTables.append(ItemsTable(self.getSection(sections[i]), self.getTable(sections[i])))
+                self.itemsTables.append(
+                    ItemsTable(self.getSection(i), self.getTable(i)))
             except Exception, ex:
                 traceback.print_exc()
-                raise IllegalArgumentException ("Fatal Error while initialilzing Template: items table in section " + sections[i]);
+                raise AttributeError (
+                    "Fatal Error while initialilzing \
+                    Template: items table in section " + i)
 
 
     def getSections(self, document, s):
@@ -327,11 +400,11 @@ class AgendaTemplate(TextDocument):
 
     @classmethod
     def getSection(self, name):
-        return AgendaTemplate.document.TextSections.getByName(name)
+        return getattr(AgendaTemplate.document.TextSections, name)
 
     @classmethod
     def getTable(self, name):
-        return AgendaTemplate.document.TextTables.getByName(name)
+        return getattr(AgendaTemplate.document.TextTables, name)
 
     '''
     implementation of DataAware.Listener, is
@@ -341,21 +414,29 @@ class AgendaTemplate(TextDocument):
 
     @synchronized(lock)
     def eventPerformed(self, param):
-        controlName = Helper.getUnoPropertyValue(UnoDialog2.getModel(param.Source), PropertyNames.PROPERTY_NAME)
+        controlName = Helper.getUnoPropertyValue(
+            UnoDialog2.getModel(param.Source), PropertyNames.PROPERTY_NAME)
         self.redrawTitle(controlName)
 
     @synchronized(lock)
     def redrawTitle(self, controlName):
         if controlName == "txtTitle":
-            self.writeTitle(self.teTitle, self.trTitle, AgendaTemplate.agenda.cp_Title)
+            self.writeTitle(
+                self.teTitle, self.trTitle, AgendaTemplate.agenda.cp_Title)
         elif controlName == "txtDate":
-            self.writeTitle(self.teDate, self.trDate, self.getDateString(AgendaTemplate.agenda.cp_Date))
+            self.writeTitle(
+                self.teDate, self.trDate,
+                self.getDateString(AgendaTemplate.agenda.cp_Date))
         elif controlName == "txtTime":
-            self.writeTitle(self.teTime, self.trTime, self.getTimeString(AgendaTemplate.agenda.cp_Time))
+            self.writeTitle(
+                self.teTime, self.trTime,
+                self.getTimeString(AgendaTemplate.agenda.cp_Time))
         elif controlName == "cbLocation":
-            self.writeTitle(self.teLocation, self.trLocation, AgendaTemplate.agenda.cp_Location)
+            self.writeTitle(
+                self.teLocation, self.trLocation,
+                AgendaTemplate.agenda.cp_Location)
         else:
-            raise IllegalArgumentException ("No such title control...");
+            raise IllegalArgumentException ("No such title control...")
 
     def writeTitle(self, te, tr, text):
         if text is None:
@@ -380,11 +461,11 @@ class AgendaTemplate(TextDocument):
         return self.formatter.convertNumberToString(self.dateFormat, daysDiff)
 
     def getTimeString(self, s):
-        if s == None or s == "":
+        if s is None or s == "":
             return ""
 
-        time = Integer(s).intValue.intValue()
-        t = ((double)(time / 1000000) / 24) + ((double)((time % 1000000) / 1000) / (24 * 60))
+        time = int(s)
+        #t = (int(s) / 1000000) / 24) + (time % 1000000) / 1000) / (24 * 60)
         return self.formatter.convertNumberToString(self.timeFormat, t)
 
     @synchronized(lock)
@@ -405,7 +486,8 @@ class AgendaTemplate(TextDocument):
         try:
             for i in allSections:
                 self.section = self.getSection(i)
-                visible = bool(Helper.getUnoPropertyValue(self.section, "IsVisible"))
+                visible = bool(Helper.getUnoPropertyValue(
+                    self.section, "IsVisible"))
                 if not visible:
                     self.section.Anchor.String = ""
 
@@ -413,17 +495,20 @@ class AgendaTemplate(TextDocument):
             traceback.print_exc()
 
     '''
-    create the minutes for the given topics or remove the minutes section from the document.
-    If no topics are supplied, or the user
-    specified not to create minuts, the minutes section will be removed,
-    @param topicsData supplies PropertyValue arrays containing the values for the topics.
+    create the minutes for the given topics or remove the minutes
+    section from the document.
+    If no topics are supplied, or the user specified not to create minuts,
+    the minutes section will be removed,
+    @param topicsData supplies PropertyValue arrays containing
+    the values for the topics.
     '''
 
     @synchronized(lock)
     def createMinutes(self, topicsData):
         # if the minutes section should be removed (the
         # user did not check "create minutes")
-        if not AgendaTemplate.agenda.cp_IncludeMinutes or topicsData.size() <= 1:
+        if not AgendaTemplate.agenda.cp_IncludeMinutes \
+                or topicsData.size() <= 1:
             try:
                 minutesAllSection = getSection(SECTION_MINUTES_ALL)
                 minutesAllSection.Anchor.String = ""
@@ -435,7 +520,7 @@ class AgendaTemplate(TextDocument):
             try:
                 topicStartTime = 0
                 try:
-                    topicStartTime = Integer(AgendaTemplate.agenda.cp_Time).intValue.intValue()
+                    topicStartTime = int(AgendaTemplate.agenda.cp_Time)
                 except Exception, ex:
                     pass
                 #first I replace the minutes titles...
@@ -446,13 +531,21 @@ class AgendaTemplate(TextDocument):
                     self.items.get(itemIndex)
                     itemText = item.getString().trim().toLowerCase()
                     if itemText == FILLIN_MINUTES_TITLE:
-                        fillMinutesItem(item, AgendaTemplate.agenda.cp_Title, self.resources.resPlaceHolderTitle)
+                        self.fillMinutesItem(
+                            item, AgendaTemplate.agenda.cp_Title,
+                            self.resources.resPlaceHolderTitle)
                     elif itemText == FILLIN_MINUTES_LOCATION:
-                        fillMinutesItem(item, AgendaTemplate.agenda.cp_Location, self.resources.resPlaceHolderLocation)
+                        self.fillMinutesItem(
+                            item, AgendaTemplate.agenda.cp_Location,
+                            self.resources.resPlaceHolderLocation)
                     elif itemText == FILLIN_MINUTES_DATE:
-                        fillMinutesItem(item, getDateString(AgendaTemplate.agenda.cp_Date), self.resources.resPlaceHolderDate)
+                        self.fillMinutesItem(
+                            item, getDateString(AgendaTemplate.agenda.cp_Date),
+                            self.resources.resPlaceHolderDate)
                     elif itemText == FILLIN_MINUTES_TIME:
-                        fillMinutesItem(item, getTimeString(AgendaTemplate.agenda.cp_Time), self.resources.resPlaceHolderTime)
+                        self.fillMinutesItem(
+                            item, getTimeString(AgendaTemplate.agenda.cp_Time),
+                            self.resources.resPlaceHolderTime)
 
                     itemIndex += 1
                 self.items.clear()
@@ -484,22 +577,27 @@ class AgendaTemplate(TextDocument):
                             except Exception, ex:
                                 pass
 
-                            # if the topic has no time, we do not display any time here.
+                            '''
+                            if the topic has no time, we do not
+                            display any time here.
+                            '''
                             if topicTime == 0 or topicStartTime == 0:
                                 time = (String)
                                 topic[3].Value
                             else:
-                                time = getTimeString(String.valueOf(topicStartTime)) + " - "
+                                time = getTimeString(str(topicStartTime)) + " - "
                                 topicStartTime += topicTime * 1000
-                                time += getTimeString(String.valueOf(topicStartTime))
+                                time += getTimeString(str(topicStartTime))
 
                             fillMinutesItem(item, time, "")
 
                         itemIndex += 1
-                    AgendaTemplate.textSectionHandler.removeTextSectionbyName(SECTION_MINUTES)
+                    AgendaTemplate.textSectionHandler.removeTextSectionbyName(
+                        SECTION_MINUTES)
                     # after the last section we do not insert a one.
                     if i < topicsData.size() - 2:
-                        AgendaTemplate.textSectionHandler.insertTextSection(SECTION_MINUTES, AgendaTemplate.template, False)
+                        AgendaTemplate.textSectionHandler.insertTextSection(
+                            SECTION_MINUTES, AgendaTemplate.template, False)
 
                     i += 1
             except Exception, ex:
@@ -507,21 +605,26 @@ class AgendaTemplate(TextDocument):
 
     '''given a text range and a text, fills the given
     text range with the given text.
-    If the given text is empty, uses a placeholder with the giveb placeholder text.
+    If the given text is empty, uses a placeholder with the giveb
+    placeholder text.
     @param range text range to fill
     @param text the text to fill to the text range object.
-    @param placeholder the placeholder text to use, if the text argument is empty (null or "")
+    @param placeholder the placeholder text to use, if the
+    text argument is empty (null or "")
     '''
 
-    def fillMinutesItem(self, range, text, placeholder):
-        paraStyle = Helper.getUnoPropertyValue(range, "ParaStyleName")
-        range.setString(text)
-        Helper.setUnoPropertyValue(range, "ParaStyleName", paraStyle)
+    def fillMinutesItem(self, Range, text, placeholder):
+        paraStyle = Helper.getUnoPropertyValue(Range, "ParaStyleName")
+        Range.setString(text)
+        Helper.setUnoPropertyValue(Range, "ParaStyleName", paraStyle)
         if text == None or text == "":
             if placeholder != None and not placeholder == "":
-                placeHolder = createPlaceHolder(AgendaTemplate.document, placeholder, self.resources.resPlaceHolderHint)
+                placeHolder = createPlaceHolder(
+                    AgendaTemplate.document, placeholder,
+                    self.resources.resPlaceHolderHint)
                 try:
-                    range.getStart().getText().insertTextContent(range.getStart(), placeHolder, True)
+                    Range.Start.Text.insertTextContent(
+                        Range.Start, placeHolder, True)
                 except Exception, ex:
                     traceback.print_exc()
 
@@ -535,14 +638,16 @@ class AgendaTemplate(TextDocument):
     @classmethod
     def createPlaceHolder(self, xmsf, ph, hint):
         try:
-            placeHolder =  xmsf.createInstance("com.sun.star.text.TextField.JumpEdit")
+            placeHolder =  xmsf.createInstance(
+                "com.sun.star.text.TextField.JumpEdit")
         except Exception, ex:
             traceback.print_exc()
             return None
 
         Helper.setUnoPropertyValue(placeHolder, "PlaceHolder", ph)
         Helper.setUnoPropertyValue(placeHolder, "Hint", hint)
-        Helper.setUnoPropertyValue(placeHolder, "PlaceHolderType", uno.Any("short",TEXT))
+        Helper.setUnoPropertyValue(
+           placeHolder, "PlaceHolderType", uno.Any("short",TEXT))
         return placeHolder
 
     def getNamesWhichStartWith(self, allNames, prefix):
@@ -629,7 +734,8 @@ class ItemsTable(object):
     then, starting at cell one, write all items that should be visible.
     then clear the rest and remove obsolete rows.
     If no items are visible, hide the section.
-    @param dummy we need a param to make this an Implementation of AgendaElement.
+    @param dummy we need a param to make this an Implementation
+    of AgendaElement.
     @throws Exception
     '''
 
@@ -637,8 +743,10 @@ class ItemsTable(object):
         with AgendaTemplate.lock:
             name = self.section.Name
             # link and unlink the section to the template.
-            AgendaTemplate.textSectionHandler.linkSectiontoTemplate(self.section, AgendaTemplate.template, name)
-            AgendaTemplate.textSectionHandler.breakLinkOfTextSection(self.section)
+            AgendaTemplate.textSectionHandler.linkSectiontoTemplate(
+                AgendaTemplate.template, name, self.section)
+            AgendaTemplate.textSectionHandler.breakLinkOfTextSection(
+                self.section)
             # we need to get a instance after linking.
             Topics.table = AgendaTemplate.getTable(name)
             self.section = AgendaTemplate.getSection(name)
@@ -677,17 +785,20 @@ class ItemsTable(object):
                 ====================
                 if the cell that was last written is the current cell,
                 it means this is the end of the table, so we end here.
-                (because after getting the cellName above, I call the goRight method.
+                (because after getting the cellName above,
+                I call the goRight method.
                 If it did not go right, it means its the last cell.
                 '''
 
             if cellName == cursor.RangeName:
                 return
                 '''
-                if not, we continue and clear all cells until we are at the end of the row.
+                if not, we continue and clear all cells until
+                we are at the end of the row.
                 '''
 
-            while (not cellName == cursor.RangeName and (not cursor.RangeName.startswith("A"))):
+            while not cellName == cursor.RangeName and \
+                    not cursor.RangeName.startswith("A"):
                 cell = xTextTable.getCellByName(cursor.RangeName)
                 cell.String = ""
                 cellName = cursor.RangeName
@@ -734,11 +845,10 @@ class Topics(object):
     -arbitrary content in the topics row <br>
     -only soft formatting will be restored. <br>
     -the topic rows must repeat three times. <br>
-    -in the topics rows, placeholders for number, topic, responsible, and duration
-    must be placed.<br>
-    <br>
-    A word about table format: to reconstruct the format of the
-    table we hold to the following formats: first row (header), topic, and last row.
+    -in the topics rows, placeholders for number, topic, responsible,
+    and duration must be placed.<br><br>
+    A word about table format: to reconstruct the format of the table we hold
+    to the following formats: first row (header), topic, and last row.
     We hold the format of the last row, because one might wish to give it
     a special format, other than the one on the bottom of each topic.
     The left and right borders of the whole table are, on the other side,
@@ -762,7 +872,9 @@ class Topics(object):
             Topics.table = AgendaTemplate.getTable(SECTION_TOPICS)
         except Exception, ex:
             traceback.print_exc()
-            raise AttributeError ("Fatal error while loading template: table " + SECTION_TOPICS + " could not load.");
+            raise AttributeError (
+                "Fatal error while loading template: table " + \
+                SECTION_TOPICS + " could not load.")
 
         '''
         first I store all <*> ranges
@@ -808,16 +920,21 @@ class Topics(object):
 
             Topics.topicCells.append(ae)
             # and store the format of the cell.
-            Topics.topicCellFormats.append( TableCellFormatter(Topics.table.getCellByName(cursor.RangeName)))
+            Topics.topicCellFormats.append( TableCellFormatter(
+                Topics.table.getCellByName(cursor.RangeName)))
             # goto next cell.
             cursor.goRight(1, False)
         '''
         now - in which cell is every fillin?
         '''
-        Topics.numCell = Topics.topicCells.index(self.topicItems[FILLIN_TOPIC_NUMBER])
-        Topics.topicCell = Topics.topicCells.index(self.topicItems[FILLIN_TOPIC_TOPIC])
-        Topics.responsibleCell = Topics.topicCells.index(self.topicItems[FILLIN_TOPIC_RESPONSIBLE])
-        Topics.timeCell = Topics.topicCells.index(self.topicItems[FILLIN_TOPIC_TIME])
+        Topics.numCell = Topics.topicCells.index(
+            self.topicItems[FILLIN_TOPIC_NUMBER])
+        Topics.topicCell = Topics.topicCells.index(
+            self.topicItems[FILLIN_TOPIC_TOPIC])
+        Topics.responsibleCell = Topics.topicCells.index(
+            self.topicItems[FILLIN_TOPIC_RESPONSIBLE])
+        Topics.timeCell = Topics.topicCells.index(
+            self.topicItems[FILLIN_TOPIC_TIME])
         '''now that we know how the topics look like,
         we get the format of the first and last rows.
         '''
@@ -825,16 +942,19 @@ class Topics(object):
         cursor.gotoStart(False)
         tmp_do_var1 = True
         while tmp_do_var1:
-            self.firstRowFormat.append(TableCellFormatter (Topics.table.getCellByName(cursor.RangeName)))
+            self.firstRowFormat.append(TableCellFormatter (
+                Topics.table.getCellByName(cursor.RangeName)))
             cursor.goRight(1, False)
             tmp_do_var1 = not cursor.RangeName.startswith("A")
         # format of the last row
         cursor.gotoEnd(False)
         while not cursor.RangeName.startswith("A"):
-            Topics.lastRowFormat.append(TableCellFormatter (Topics.table.getCellByName(cursor.RangeName)))
+            Topics.lastRowFormat.append(TableCellFormatter (
+                Topics.table.getCellByName(cursor.RangeName)))
             cursor.goLeft(1, False)
         # we missed the A cell - so we have to add it also..
-        Topics.lastRowFormat.append(TableCellFormatter (Topics.table.getCellByName(cursor.RangeName)))
+        Topics.lastRowFormat.append(TableCellFormatter (
+            Topics.table.getCellByName(cursor.RangeName)))
         #COMMENTED
         #AgendaTemplate.removeTableRows(Topics.table, 1 + Topics.rowsPerTopic, rows - Topics.rowsPerTopic - 1)
 
@@ -881,13 +1001,15 @@ class Topics(object):
     '''
 
     def isWritten(self, topic):
-        return (AgendaTemplate.writtenTopics.size() > topic and AgendaTemplate.writtenTopics.get(topic) != None)
+        return (AgendaTemplate.writtenTopics.size() > topic \
+            and AgendaTemplate.writtenTopics.get(topic) != None)
 
     '''rewrites a single cell containing.
-    This is used in order to refresh the topic/responsible/duration data in the
-    preview document, in response to a change in the gui (by the user).
-    Since the structure of the topics table is flexible, we don't reference a cell
-    number. Rather, we use "what" argument to specify which cell should be redrawn.
+    This is used in order to refresh the topic/responsible/duration data
+    in the preview document, in response to a change in the gui (by the user)
+    Since the structure of the topics table is flexible,
+    we don't reference a cell number. Rather, we use "what" argument to
+    specify which cell should be redrawn.
     The Topics object, which analyzed the structure of the topics table appon
     initialization, refreshes the approperiate cell.
     @param topic index of the topic (0 based).
@@ -962,10 +1084,8 @@ class Topics(object):
     @classmethod
     def writeAll(self, topicsData):
         try:
-            i = 0
-            while i < (len(topicsData) - 1):
+            for i in xrange(len(topicsData) - 1):
                 self.write2(i, topicsData[i])
-                i += 1
             self.formatLastRow()
         except Exception, ex:
             traceback.print_exc()
@@ -994,7 +1114,8 @@ class Topics(object):
         tableRows = Topics.table.getRows()
         targetNumOfRows = topics * Topics.rowsPerTopic + 1
         if tableRows.getCount() > targetNumOfRows:
-            tableRows.removeByIndex(targetNumOfRows, tableRows.getCount() - targetNumOfRows)
+            tableRows.removeByIndex(
+                targetNumOfRows, tableRows.getCount() - targetNumOfRows)
 
         formatLastRow()
         while AgendaTemplate.writtenTopics.size() > topics:
@@ -1039,8 +1160,10 @@ class Topics(object):
     This method is used to format the first (header) and the last
     rows of the table.
     @param cursor a table cursor, pointing to the start cell to format
-    @param formats a List containing TableCellFormatter objects. Each will format one cell in the direction specified.
-    @param reverse if true the cursor will move left, formatting in reverse order (used for the last row).
+    @param formats a List containing TableCellFormatter objects.
+    Each will format one cell in the direction specified.
+    @param reverse if true the cursor will move left,
+    formatting in reverse order (used for the last row).
     '''
     @classmethod
     def formatTable(self, cursor, formats, reverse):
@@ -1066,7 +1189,8 @@ class ParaStyled(object):
         if textRange is None:
             textRange = textRange.Text
         cursor = textRange.createTextCursorByRange(textRange)
-        Helper.setUnoPropertyValue(cursor, "ParaStyleName", ParaStyled.paraStyle)
+        Helper.setUnoPropertyValue(
+            cursor, "ParaStyleName", ParaStyled.paraStyle)
 
     def write(self, textRange):
         self.format(textRange)
@@ -1082,7 +1206,8 @@ class TextElement(ParaStyled):
     def __init__(self, text_, paraStyle_=None):
         if paraStyle_ is None:
             self.text = text_.String
-            paraStyle_ = Helper.getUnoPropertyValue(text_.Start, "ParaStyleName")
+            paraStyle_ = Helper.getUnoPropertyValue(
+                text_.Start, "ParaStyleName")
         else:
             self.text = text_
 
@@ -1115,8 +1240,10 @@ class PlaceholderTextElement(TextElement):
         super(PlaceholderTextElement,self).write(textRange)
         if self.text is None or self.text == "":
             try:
-                xTextContent = AgendaTemplate.createPlaceHolder( self.xmsf, self.placeHolderText, self.hint)
-                textRange.Text.insertTextContent(textRange.Start, xTextContent, True)
+                xTextContent = AgendaTemplate.createPlaceHolder(
+                    self.xmsf, self.placeHolderText, self.hint)
+                textRange.Text.insertTextContent(
+                    textRange.Start, xTextContent, True)
             except Exception, ex:
                 traceback.print_exc()
 
@@ -1137,8 +1264,10 @@ class PlaceholderElement(ParaStyled):
 
     def write(self, textRange):
         try:
-            xTextContent = AgendaTemplate.createPlaceHolder( AgendaTemplate.document, self.placeHolderText, self.hint)
-            textRange.Text.insertTextContent(textRange.Start, xTextContent, True)
+            xTextContent = AgendaTemplate.createPlaceHolder(
+                AgendaTemplate.document, self.placeHolderText, self.hint)
+            textRange.Text.insertTextContent(
+                textRange.Start, xTextContent, True)
             super(PlaceholderElement,self).write(textRange)
         except Exception, ex:
             traceback.print_exc()
@@ -1171,7 +1300,6 @@ class AgendaItem(object):
         if self.field is not None:
             self.field.write(cell)
 
-
 '''
 reads/write a table cell format from/to a table cell or a group of cells.
 '''
@@ -1188,7 +1316,6 @@ class TableCellFormatter(object):
             #COMMENTED
             #self.values.append( Helper.getUnoPropertyValue(tableCell, i) )
 
-
     def format(self, tableCell):
         pass
         #COMMENTED
diff --git a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py
index d71fade..3e3c30f 100644
--- a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py
+++ b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialog.py
@@ -179,19 +179,19 @@ class AgendaWizardDialog(WizardDialog):
             (self.fontDescriptor4, 16, self.resources.reslblTitle3_value,
                 True, 91, 8, 3, 300,212))
         self.chkMeetingTitle = self.insertCheckBox("chkMeetingTitle",
-            CHKCHECKBOX_ITEM_CHANGED, self.PROPS_CHECK,
+            None, self.PROPS_CHECK,
             (8, CHKMEETINGTITLE_HID, self.resources.reschkMeetingTitle_value,
                 97, 32, 1, 3, 301, 69), self)
         self.chkRead = self.insertCheckBox("chkRead",
-            CHKCHECKBOX_ITEM_CHANGED, self.PROPS_CHECK,
+            None, self.PROPS_CHECK,
             (8, CHKREAD_HID, self.resources.reschkRead_value,
                 97, 46, 0, 3, 302, 162), self)
         self.chkBring = self.insertCheckBox("chkBring",
-            CHKCHECKBOX_ITEM_CHANGED, self.PROPS_CHECK,
+            None, self.PROPS_CHECK,
             (8, CHKBRING_HID, self.resources.reschkBring_value,
                 97, 60, 0, 3, 303, 162), self)
         self.chkNotes = self.insertCheckBox("chkNotes",
-            CHKCHECKBOX_ITEM_CHANGED, self.PROPS_CHECK,
+            None, self.PROPS_CHECK,
             (8, CHKNOTES_HID, self.resources.reschkNotes_value,
                 97, 74, 1, 3, 304, 160), self)
         self.insertImage("imgHelp3", self.PROPS_IMAGE, (0, 10,
diff --git a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
index c43f475..1bfa95d 100644
--- a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
@@ -7,6 +7,7 @@ from common.FileAccess import *
 from ui.PathSelection import *
 from ui.event.UnoDataAware import *
 from ui.event.RadioDataAware import *
+from TemplateConsts import *
 
 from com.sun.star.view.DocumentZoomType import OPTIMAL
 from com.sun.star.awt.VclWindowPeerAttribute import YES_NO, DEF_NO
@@ -16,6 +17,7 @@ from common.NoValidPathException import *
 class AgendaWizardDialogImpl(AgendaWizardDialog):
 
     fileAccess1 = None
+    pageDesign = None
 
     def __init__(self, xmsf):
         super(AgendaWizardDialogImpl, self).__init__(xmsf)
@@ -56,46 +58,46 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
     def startWizard(self):
         self.running = True
         try:
-            # read configuration data.
+            #Number of steps on WizardDialog
+            self.nMaxStep = 6
+
+            # initialize the agenda template
             self.agenda = CGAgenda()
-            root = Configuration.getConfigurationRoot(
-                self.xMSF, "/org.openoffice.Office.Writer/Wizards/Agenda",
-                False)
-            self.agenda.readConfiguration(root, "cp_")
-            # initialize the agenda temself.myPathSelectionListener()plate
             self.agendaTemplate = AgendaTemplate(
                 self.xMSF, self.agenda, self.resources, self)
-            self.initializeTemplates()
-            self.agendaTemplate.load(self.agendaTemplates[1][0], [])
+
             # build the dialog.
+            self.drawNaviBar()
+
             self.buildStep1()
             self.buildStep2()
             self.buildStep3()
             self.buildStep4()
             self.buildStep5()
-            self.topicsControl = TopicsControl(self, self.xMSF, self.agenda)
             self.buildStep6()
-            self.drawNaviBar()
+
+            self.topicsControl = TopicsControl(self, self.xMSF, self.agenda)
+
             self.initializePaths()
             #special Control for setting the save Path:
             self.insertPathSelectionControl()
-            # create the peer
-            xw = self.agendaTemplate.xFrame.getContainerWindow()
-            self.createWindowPeer(xw)
-            # initialize roadmap
-            self.addRoadmap()
-            self.insertRoadMapItems(
-                [self.resources.resStep1, self.resources.resStep2,
-                    self.resources.resStep3, self.resources.resStep4,
-                    self.resources.resStep5, self.resources.resStep6],
-                [1, 2, 3, 4, 5, 6],[True, True, True, True, True, True])
-            self.nMaxStep = 6
-            self.setCurrentRoadmapItemID(1)
+
+            self.initializeTemplates()
+
             # synchronize GUI and CGAgenda object.
-            self.makeDA()
+            self.initConfiguration()
+            self.agendaTemplate.load(self.agendaTemplates[1][0], [])
+
             if self.myPathSelection.xSaveTextBox.Text.lower() == "":
                 self.myPathSelection.initializePath()
 
+            # create the peer
+            xContainerWindow = self.agendaTemplate.xFrame.ContainerWindow
+            self.createWindowPeer(xContainerWindow)
+
+            # initialize roadmap
+            self.insertRoadmap()
+
             self.executeDialogFromComponent(self.agendaTemplate.xFrame)
             self.removeTerminateListener()
             self.closeDocument()
@@ -141,7 +143,7 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
             try:
                 self.agenda.cp_TemplatePath = FileAccess.connectURLs(
                     FileAccess.getOfficePath(xMSF, "Work", "", ""),
-                    resources.resDefaultFilename)
+                    resources.initConfigurationresDefaultFilename)
             except Exception, ex:
                 traceback.print_exc()
 
@@ -149,7 +151,12 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
     bind controls to the agenda member (DataAware model)
     '''
 
-    def makeDA(self):
+    def initConfiguration(self):
+        # read configuration data.
+        root = Configuration.getConfigurationRoot(
+            self.xMSF, "/org.openoffice.Office.Writer/Wizards/Agenda", False)
+        self.agenda.readConfiguration(root, "cp_")
+
         self.setControlProperty(
             "listPageDesign", "StringItemList", tuple(self.agendaTemplates[0]))
         self.checkSavePath()
@@ -157,42 +164,53 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
         UnoDataAware.attachListBox(
             self.agenda, "cp_AgendaType", self.listPageDesign, True).updateUI()
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_IncludeMinutes", self.chkMinutes, True).updateUI()
+            self.agenda, "cp_IncludeMinutes", self.chkMinutes, True)
         UnoDataAware.attachEditControl(
-            self.agenda, "cp_Title", self.txtTitle, True).updateUI()
+            self.agenda, "cp_Title", self.txtTitle, True)
         UnoDataAware.attachDateControl(
-            self.agenda, "cp_Date", self.txtDate, True).updateUI()
+            self.agenda, "cp_Date", self.txtDate, True)
         UnoDataAware.attachTimeControl(
-            self.agenda, "cp_Time", self.txtTime, True).updateUI()
+            self.agenda, "cp_Time", self.txtTime, True)
         UnoDataAware.attachEditControl(
-            self.agenda, "cp_Location", self.cbLocation, True).updateUI()
+            self.agenda, "cp_Location", self.cbLocation, True)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowMeetingType", self.chkMeetingTitle, True)
+            self.agenda, "cp_ShowMeetingType", self.chkMeetingTitle, True,
+            FILLIN_MEETING_TYPE)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowRead", self.chkRead, True).updateUI()
+            self.agenda, "cp_ShowRead", self.chkRead, True,
+            FILLIN_READ)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowBring", self.chkBring, True).updateUI()
+            self.agenda, "cp_ShowBring", self.chkBring, True,
+            FILLIN_BRING)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowNotes", self.chkNotes, True).updateUI()
+            self.agenda, "cp_ShowNotes", self.chkNotes, True,
+            FILLIN_NOTES)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowCalledBy", self.chkConvenedBy, True).updateUI()
+            self.agenda, "cp_ShowCalledBy", self.chkConvenedBy, True,
+            FILLIN_CALLED_BY)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowFacilitator", self.chkPresiding, True).updateUI()
+            self.agenda, "cp_ShowFacilitator", self.chkPresiding, True,
+            FILLIN_FACILITATOR)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowNotetaker", self.chkNoteTaker, True).updateUI()
+            self.agenda, "cp_ShowNotetaker", self.chkNoteTaker, True,
+            FILLIN_NOTETAKER)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowTimekeeper", self.chkTimekeeper, True).updateUI()
+            self.agenda, "cp_ShowTimekeeper", self.chkTimekeeper, True,
+            FILLIN_TIMEKEEPER)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowAttendees", self.chkAttendees, True).updateUI()
+            self.agenda, "cp_ShowAttendees", self.chkAttendees, True,
+            FILLIN_PARTICIPANTS)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowObservers", self.chkObservers, True).updateUI()
+            self.agenda, "cp_ShowObservers", self.chkObservers, True,
+            FILLIN_OBSERVERS)
         UnoDataAware.attachCheckBox(
-            self.agenda, "cp_ShowResourcePersons",self.chkResourcePersons, True).updateUI()
+            self.agenda, "cp_ShowResourcePersons",self.chkResourcePersons, True,
+            FILLIN_RESOURCE_PERSONS)
         UnoDataAware.attachEditControl(
-            self.agenda, "cp_TemplateName", self.txtTemplateName, True).updateUI()
+            self.agenda, "cp_TemplateName", self.txtTemplateName, True)
         RadioDataAware.attachRadioButtons(
             self.agenda, "cp_ProceedMethod",
-                (self.optCreateAgenda, self.optMakeChanges), True).updateUI()
+                (self.optCreateAgenda, self.optMakeChanges), True)
 
     def saveConfiguration(self):
         self.topicsControl.saveTopics(self.agenda)
@@ -201,6 +219,19 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
         self.agenda.writeConfiguration(root, "cp_")
         root.commitChanges()
 
+    def insertRoadmap(self):
+        self.addRoadmap()
+
+        self.insertRoadMapItems(
+            [True, True, True, True, True, True],
+            [self.resources.resStep1, self.resources.resStep2,
+                self.resources.resStep3, self.resources.resStep4,
+                self.resources.resStep5, self.resources.resStep6])
+
+        self.setRoadmapInteractive(True)
+        self.setRoadmapComplete(True)
+        self.setCurrentRoadmapItemID(1)
+
     '''
     read the available agenda wizard templates.
     '''
@@ -222,14 +253,16 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
     first page, page design listbox changed.
     '''
 
-    def pageDesignChanged(self, item):
+    def pageDesignChanged(self):
         try:
-            self.agendaTemplate.load(
-                self.agendaTemplates[1][item.Selected],
-                self.topicsControl.scrollfields)
+            SelectedItemPos = self.listPageDesign.SelectedItemPos
+            #avoid to load the same item again
+            if AgendaWizardDialogImpl.pageDesign is not SelectedItemPos:
+                AgendaWizardDialogImpl.pageDesign = SelectedItemPos
+                self.agendaTemplate.load(
+                    self.agendaTemplates[1][SelectedItemPos],
+                    self.topicsControl.scrollfields)
         except Exception:
-            SystemDialog.showMessageBox(
-                self.xMSF, "ErrBox", OK, self.resources.resErrOpenTemplate)
             traceback.print_exc()
 
     '''
diff --git a/wizards/com/sun/star/wizards/common/Helper.py b/wizards/com/sun/star/wizards/common/Helper.py
index 25f4375..83c34fb 100644
--- a/wizards/com/sun/star/wizards/common/Helper.py
+++ b/wizards/com/sun/star/wizards/common/Helper.py
@@ -69,8 +69,7 @@ class Helper(object):
         try:
             if xPSet is not None:
                 oObject = xPSet.getPropertyValue(PropertyName)
-                if oObject is not None:
-                    return oObject
+                return oObject
             return None
 
         except Exception, exception:
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
index a00ace4..ab12190 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
@@ -32,6 +32,8 @@ class FaxWizardDialogImpl(FaxWizardDialog):
     RM_FOOTER = 4
     RM_FINALSETTINGS = 5
 
+    lstBusinessStylePos = None
+    lstPrivateStylePos = None
 
     def __init__(self, xmsf):
         super(FaxWizardDialogImpl, self).__init__(xmsf)
@@ -61,7 +63,7 @@ class FaxWizardDialogImpl(FaxWizardDialog):
     def startWizard(self, xMSF, CurPropertyValue):
         self.running = True
         try:
-            #Number of steps on WizardDialog:
+            #Number of steps on WizardDialog
             self.nMaxStep = 5
 
             #instatiate The Document Frame for the Preview
@@ -95,8 +97,8 @@ class FaxWizardDialogImpl(FaxWizardDialog):
             if self.myPathSelection.xSaveTextBox.Text.lower() == "":
                 self.myPathSelection.initializePath()
 
-            self.xContainerWindow = self.myFaxDoc.xFrame.ContainerWindow
-            self.createWindowPeer(self.xContainerWindow)
+            xContainerWindow = self.myFaxDoc.xFrame.ContainerWindow
+            self.createWindowPeer(xContainerWindow)
 
             #add the Roadmap to the dialog:
             self.insertRoadmap()
@@ -217,26 +219,9 @@ class FaxWizardDialogImpl(FaxWizardDialog):
 
     def insertRoadmap(self):
         self.addRoadmap()
-        i = 0
-        i = self.insertRoadmapItem(
-            0, True, self.resources.RoadmapLabels[
-            FaxWizardDialogImpl.RM_TYPESTYLE - 1],
-            FaxWizardDialogImpl.RM_TYPESTYLE)
-        i = self.insertRoadmapItem(
-            i, True, self.resources.RoadmapLabels[
-            FaxWizardDialogImpl.RM_ELEMENTS - 1],
-            FaxWizardDialogImpl.RM_ELEMENTS)
-        i = self.insertRoadmapItem(
-            i, True, self.resources.RoadmapLabels[
-            FaxWizardDialogImpl.RM_SENDERRECEIVER - 1],
-            FaxWizardDialogImpl.RM_SENDERRECEIVER)
-        i = self.insertRoadmapItem(
-            i, False, self.resources.RoadmapLabels[
-            FaxWizardDialogImpl.RM_FOOTER - 1], FaxWizardDialogImpl.RM_FOOTER)
-        i = self.insertRoadmapItem(i, True,
-            self.resources.RoadmapLabels[
-            FaxWizardDialogImpl.RM_FINALSETTINGS - 1],
-            FaxWizardDialogImpl.RM_FINALSETTINGS)
+        self.insertRoadMapItems(
+                [True, True, True, False, True], self.resources.RoadmapLabels)
+
         self.setRoadmapInteractive(True)
         self.setRoadmapComplete(True)
         self.setCurrentRoadmapItemID(1)
@@ -418,6 +403,7 @@ class FaxWizardDialogImpl(FaxWizardDialog):
             self.optPrivateFaxItemChanged()
 
     def optBusinessFaxItemChanged(self):
+        FaxWizardDialogImpl.lstPrivateStylePos = None
         DataAware.setDataObjects(self.faxDA,
             self.myConfig.cp_BusinessFax, True)
         self.setControlProperty("lblBusinessStyle",
@@ -431,14 +417,19 @@ class FaxWizardDialogImpl(FaxWizardDialog):
         self.lstBusinessStyleItemChanged()
         self.__enableSenderReceiver()
         self.__setPossibleFooter(True)
+
     def lstBusinessStyleItemChanged(self):
-        TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview( \
-            self.BusinessFiles[1][self.lstBusinessStyle.SelectedItemPos],
-                False)
-        self.initializeElements()
-        self.setElements()
+        selectedItemPos = self.lstBusinessStyle.SelectedItemPos
+        #avoid to load the same item again
+        if FaxWizardDialogImpl.lstBusinessStylePos is not selectedItemPos:
+            FaxWizardDialogImpl.lstBusinessStylePos = selectedItemPos
+            TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview(
+                self.BusinessFiles[1][selectedItemPos], False)
+            self.initializeElements()
+            self.setElements()
 
     def optPrivateFaxItemChanged(self):
+        FaxWizardDialogImpl.lstBusinessStylePos = None
         DataAware.setDataObjects(self.faxDA,
             self.myConfig.cp_PrivateFax, True)
         self.setControlProperty("lblBusinessStyle",
@@ -454,11 +445,14 @@ class FaxWizardDialogImpl(FaxWizardDialog):
         self.__setPossibleFooter(False)
 
     def lstPrivateStyleItemChanged(self):
-        TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview( \
-            self.PrivateFiles[1][self.lstPrivateStyle.SelectedItemPos],
-                False)
-        self.initializeElements()
-        self.setElements()
+        selectedItemPos = self.lstPrivateStyle.SelectedItemPos
+        #avoid to load the same item again
+        if FaxWizardDialogImpl.lstPrivateStylePos is not selectedItemPos:
+            FaxWizardDialogImpl.lstPrivateStylePos = selectedItemPos
+            TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview(
+                self.PrivateFiles[1][selectedItemPos], False)
+            self.initializeElements()
+            self.setElements()
 
     def txtTemplateNameTextChanged(self):
         xDocProps = TextDocument.xTextDocument.DocumentProperties
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
index 2c0a9dc..37e7038 100644
--- a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
@@ -18,6 +18,7 @@ from com.sun.star.document.UpdateDocMode import FULL_UPDATE
 from com.sun.star.document.MacroExecMode import ALWAYS_EXECUTE
 
 class LetterWizardDialogImpl(LetterWizardDialog):
+
     RM_TYPESTYLE = 1
     RM_BUSINESSPAPER = 2
     RM_ELEMENTS = 3
@@ -25,6 +26,10 @@ class LetterWizardDialogImpl(LetterWizardDialog):
     RM_FOOTER = 5
     RM_FINALSETTINGS = 6
 
+    lstBusinessStylePos = None
+    lstPrivateStylePos = None
+    lstPrivOfficialStylePos = None
+
     def enterStep(self, OldStep, NewStep):
         pass
 
@@ -156,8 +161,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             if not self.filenameChanged:
                 if fileAccess.exists(self.sPath, True):
                     answer = SystemDialog.showMessageBox(
-                        self.xMSF, "MessBox", YES_NO + DEF_NO, 
-                        self.resources.resOverwriteWarning, 
+                        self.xMSF, "MessBox", YES_NO + DEF_NO,
+                        self.resources.resOverwriteWarning,
                         self.xUnoDialog.Peer)
                     if answer == 3:
                         # user said: no, do not overwrite...
@@ -165,7 +170,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                         return False
 
             self.myLetterDoc.setWizardTemplateDocInfo(
-                self.resources.resLetterWizardDialog_title, 
+                self.resources.resLetterWizardDialog_title,
                 self.resources.resTemplateDescription)
             self.myLetterDoc.killEmptyUserFields()
             self.myLetterDoc.keepLogoFrame = self.chkUseLogo.State != 0
@@ -191,7 +196,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             self.myLetterDoc.killEmptyFrames()
             self.bSaveSuccess = \
                 OfficeDocument.store(
-                    self.xMSF, TextDocument.xTextDocument, 
+                    self.xMSF, TextDocument.xTextDocument,
                     self.sPath, "writer8_template")
             if self.bSaveSuccess:
                 self.saveConfiguration()
@@ -219,7 +224,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                     loadValues[0].Value = True
 
                 oDoc = OfficeDocument.load(
-                    Desktop.getDesktop(self.xMSF), 
+                    Desktop.getDesktop(self.xMSF),
                     self.sPath, "_default", loadValues)
                 myViewHandler = ViewHandler(self.xMSF, oDoc)
                 myViewHandler.setViewSetting("ZoomType", OPTIMAL)
@@ -243,6 +248,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             traceback.print_exc()
 
     def optBusinessLetterItemChanged(self):
+        LetterWizardDialogImpl.lstPrivateStylePos = None
+        LetterWizardDialogImpl.lstPrivOfficialStylePos = None
         DataAware.setDataObjects(
             self.letterDA, self.myConfig.cp_BusinessLetter, True)
         self.setControlProperty(
@@ -266,6 +273,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             self.myPathSelection.initializePath()
 
     def optPrivOfficialLetterItemChanged(self):
+        LetterWizardDialogImpl.lstBusinessStylePos = None
+        LetterWizardDialogImpl.lstPrivateStylePos = None
         DataAware.setDataObjects(
             self.letterDA, self.myConfig.cp_PrivateOfficialLetter, True)
         self.setControlProperty(
@@ -290,6 +299,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             self.myPathSelection.initializePath()
 
     def optPrivateLetterItemChanged(self):
+        LetterWizardDialogImpl.lstBusinessStylePos = None
+        LetterWizardDialogImpl.lstPrivOfficialStylePos = None
         DataAware.setDataObjects(
             self.letterDA, self.myConfig.cp_PrivateLetter, True)
         self.setControlProperty(
@@ -363,45 +374,54 @@ class LetterWizardDialogImpl(LetterWizardDialog):
 
     def optReceiverPlaceholderItemChanged(self):
         OfficeDocument.attachEventCall(
-            TextDocument.xTextDocument, "OnNew", "StarBasic", 
+            TextDocument.xTextDocument, "OnNew", "StarBasic",
             "macro:///Template.Correspondence.Placeholder()")
 
     def optReceiverDatabaseItemChanged(self):
         OfficeDocument.attachEventCall(
-            TextDocument.xTextDocument, "OnNew", "StarBasic", 
+            TextDocument.xTextDocument, "OnNew", "StarBasic",
             "macro:///Template.Correspondence.Database()")
 
     def lstBusinessStyleItemChanged(self):
-        TextDocument.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()
+        selectedItemPos = self.lstBusinessStyle.SelectedItemPos
+        if LetterWizardDialogImpl.lstBusinessStylePos is not selectedItemPos:
+            LetterWizardDialogImpl.lstBusinessStylePos = selectedItemPos
+            TextDocument.xTextDocument = \
+                self.myLetterDoc.loadAsPreview(
+                    self.BusinessFiles[1][selectedItemPos],
+                    False)
+            self.myLetterDoc.xTextDocument.lockControllers()
+            self.initializeElements()
+            self.chkBusinessPaperItemChanged()
+            self.setElements(False)
+            self.myLetterDoc.xTextDocument.unlockControllers()
 
     def lstPrivOfficialStyleItemChanged(self):
-        TextDocument.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()
+        selectedItemPos = self.lstPrivOfficialStyle.SelectedItemPos
+        if LetterWizardDialogImpl.lstPrivOfficialStylePos is not selectedItemPos:
+            LetterWizardDialogImpl.lstPrivOfficialStylePos = selectedItemPos
+            TextDocument.xTextDocument = \
+                self.myLetterDoc.loadAsPreview(
+                    self.OfficialFiles[1][selectedItemPos],
+                    False)
+            self.myLetterDoc.xTextDocument.lockControllers()
+            self.initializeElements()
+            self.setPossibleSenderData(True)
+            self.setElements(False)
+            self.myLetterDoc.xTextDocument.unlockControllers()
 
     def lstPrivateStyleItemChanged(self):
-        TextDocument.xTextDocument = \
-            self.myLetterDoc.loadAsPreview(
-                self.PrivateFiles[1][self.lstPrivateStyle.getSelectedItemPos()], 
-                False)
-        self.myLetterDoc.xTextDocument.lockControllers()
-        self.initializeElements()
-        self.setElements(True)
-        self.myLetterDoc.xTextDocument.unlockControllers()
+        selectedItemPos = self.lstPrivateStyle.SelectedItemPos
+        if LetterWizardDialogImpl.lstPrivateStylePos is not selectedItemPos:
+            LetterWizardDialogImpl.lstPrivateStylePos = selectedItemPos
+            TextDocument.xTextDocument = \
+                self.myLetterDoc.loadAsPreview(
+                    self.PrivateFiles[1][selectedItemPos],
+                    False)
+            self.myLetterDoc.xTextDocument.lockControllers()
+            self.initializeElements()
+            self.setElements(True)
+            self.myLetterDoc.xTextDocument.unlockControllers()
 
     def numLogoHeightTextChanged(self):
         self.BusCompanyLogo.iHeight = int(self.numLogoHeight.Value * 1000)
@@ -449,9 +469,9 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             if self.numLogoHeight.Value == 0:
                 self.numLogoHeight.Value = 0.1
             self.BusCompanyLogo = BusinessPaperObject(
-                "Company Logo", int(self.numLogoWidth.Value * 1000), 
+                "Company Logo", int(self.numLogoWidth.Value * 1000),
                 int(self.numLogoHeight.Value * 1000),
-                int(self.numLogoX.Value * 1000), 
+                int(self.numLogoX.Value * 1000),
                 self.numLogoY.Value * 1000)
             self.setControlProperty(
             "numLogoHeight", PropertyNames.PROPERTY_ENABLED, True)
@@ -501,8 +521,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                 self.numAddressHeight.Value = 0.1
 
             self.BusCompanyAddress = BusinessPaperObject(
-                "Company Address", int(self.numAddressWidth.Value * 1000), 
-                int(self.numAddressHeight.Value * 1000), 
+                "Company Address", int(self.numAddressWidth.Value * 1000),
+                int(self.numAddressHeight.Value * 1000),
                 int(self.numAddressX.Value * 1000),
                 int(self.numAddressY.Value * 1000))
             self.setControlProperty(
@@ -573,7 +593,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                     xReceiverFrame, "VertOrientPosition"))
                 iReceiverHeight = int(0.5 * 1000)
                 self.BusCompanyAddressReceiver = BusinessPaperObject(
-                    " ", iFrameWidth, iReceiverHeight, iFrameX, 
+                    " ", iFrameWidth, iReceiverHeight, iFrameX,
                     iFrameY - iReceiverHeight)
                 self.setPossibleAddressReceiver(False)
             except NoSuchElementException:
@@ -602,8 +622,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                 self.numFooterHeight.Value = 0.1
 
             self.BusFooter = BusinessPaperObject(
-                "Footer", self.myLetterDoc.DocSize.Width, 
-                int(self.numFooterHeight.Value * 1000), 0, 
+                "Footer", self.myLetterDoc.DocSize.Width,
+                int(self.numFooterHeight.Value * 1000), 0,
                 int(self.myLetterDoc.DocSize.Height - \
                     (self.numFooterHeight.Value * 1000)))
             self.setControlProperty(
@@ -638,7 +658,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             if self.myLetterDoc.hasElement("Sender Address Repeated"):
                 rstatus = \
                     bool(self.getControlProperty(
-                        "chkUseAddressReceiver", 
+                        "chkUseAddressReceiver",
                         PropertyNames.PROPERTY_ENABLED)) \
                     and (self.chkUseAddressReceiver.State != 0)
                 self.myLetterDoc.switchElement(
@@ -678,7 +698,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                     "First Page", bFooterPossible,
                     self.chkFooterPageNumbers.State != 0, self.txtFooter.Text)
                 self.myLetterDoc.switchFooter(
-                    "Standard", bFooterPossible, 
+                    "Standard", bFooterPossible,
                     self.chkFooterPageNumbers.State != 0, self.txtFooter.Text)
 
             BPaperItem = \
@@ -754,7 +774,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             "Salutation", self.lstSalutation.Text,
             self.chkUseSalutation.State != 0)
         self.setControlProperty(
-            "lstSalutation", PropertyNames.PROPERTY_ENABLED, 
+            "lstSalutation", PropertyNames.PROPERTY_ENABLED,
             self.chkUseSalutation.State != 0)
 
     def lstSalutationItemChanged(self):
@@ -766,7 +786,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
         self.myLetterDoc.switchUserField(
             "Greeting", self.lstGreeting.Text, self.chkUseGreeting.State != 0)
         self.setControlProperty(
-            "lstGreeting", PropertyNames.PROPERTY_ENABLED, 
+            "lstGreeting", PropertyNames.PROPERTY_ENABLED,
             self.chkUseGreeting.State != 0)
 
     def setDefaultForGreetingAndSalutation(self):
@@ -883,7 +903,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                 self.myLetterDoc.switchElement(
                 "Sender Address", True)
         except Exception:
-            traceback.print_exc()            
+            traceback.print_exc()
 
     def lstLetterNormItemChanged(self):
         sCurrentNorm = self.Norms[getCurrentLetter().cp_Norm]
@@ -899,7 +919,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
 
     def initializeSalutation(self):
         self.setControlProperty(
-            "lstSalutation", "StringItemList", 
+            "lstSalutation", "StringItemList",
             self.resources.SalutationLabels)
 
     def initializeGreeting(self):
@@ -988,13 +1008,13 @@ class LetterWizardDialogImpl(LetterWizardDialog):
         self.PrivateFiles = \
             FileAccess.getFolderTitles(xMSF, "pri", sLetterPath)
         self.setControlProperty(
-            "lstBusinessStyle", "StringItemList", 
+            "lstBusinessStyle", "StringItemList",
             tuple(self.BusinessFiles[0]))
         self.setControlProperty(
-            "lstPrivOfficialStyle", "StringItemList", 
+            "lstPrivOfficialStyle", "StringItemList",
             tuple(self.OfficialFiles[0]))
         self.setControlProperty(
-            "lstPrivateStyle", "StringItemList", 
+            "lstPrivateStyle", "StringItemList",
             tuple(self.PrivateFiles[0]))
         self.setControlProperty(
             "lstBusinessStyle", "SelectedItems", (0,))
@@ -1006,19 +1026,19 @@ class LetterWizardDialogImpl(LetterWizardDialog):
 
     def initializeElements(self):
         self.setControlProperty(
-            "chkUseLogo", PropertyNames.PROPERTY_ENABLED, 
+            "chkUseLogo", PropertyNames.PROPERTY_ENABLED,
             self.myLetterDoc.hasElement("Company Logo"))
         self.setControlProperty(
-            "chkUseBendMarks", PropertyNames.PROPERTY_ENABLED, 
+            "chkUseBendMarks", PropertyNames.PROPERTY_ENABLED,
             self.myLetterDoc.hasElement("Bend Marks"))
         self.setControlProperty(
-            "chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED, 
+            "chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED,
             self.myLetterDoc.hasElement("Sender Address Repeated"))
         self.setControlProperty(
-            "chkUseSubject", PropertyNames.PROPERTY_ENABLED, 
+            "chkUseSubject", PropertyNames.PROPERTY_ENABLED,
             self.myLetterDoc.hasElement("Subject Line"))
         self.setControlProperty(
-            "chkUseSigns", PropertyNames.PROPERTY_ENABLED, 
+            "chkUseSigns", PropertyNames.PROPERTY_ENABLED,
             self.myLetterDoc.hasElement("Letter Signs"))
         self.myLetterDoc.updateDateFields()
 
@@ -1060,31 +1080,11 @@ class LetterWizardDialogImpl(LetterWizardDialog):
 
     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.insertRoadMapItems(
+                [True, False, True, True, False, True],
+                self.resources.RoadmapLabels)
+
         self.setRoadmapInteractive(True)
         self.setRoadmapComplete(True)
         self.setCurrentRoadmapItemID(1)
@@ -1094,8 +1094,8 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             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), 
+            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"
@@ -1112,12 +1112,12 @@ class LetterWizardDialogImpl(LetterWizardDialog):
             self.myConfig.readConfiguration(root, "cp_")
             self.mainDA.append(
                 RadioDataAware.attachRadioButtons(
-                    self.myConfig, "cp_LetterType", 
-                    (self.optBusinessLetter, self.optPrivOfficialLetter, 
+                    self.myConfig, "cp_LetterType",
+                    (self.optBusinessLetter, self.optPrivOfficialLetter,
                         self.optPrivateLetter), True))
             self.mainDA.append(
                 UnoDataAware.attachListBox(
-                    self.myConfig.cp_BusinessLetter, "cp_Style", 
+                    self.myConfig.cp_BusinessLetter, "cp_Style",
                     self.lstBusinessStyle, True))
             self.mainDA.append(
                 UnoDataAware.attachListBox(
@@ -1125,7 +1125,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                     self.lstPrivOfficialStyle, True))
             self.mainDA.append(
                 UnoDataAware.attachListBox(
-                    self.myConfig.cp_PrivateLetter, "cp_Style", 
+                    self.myConfig.cp_PrivateLetter, "cp_Style",
                     self.lstPrivateStyle, True))
             self.mainDA.append(
                 UnoDataAware.attachCheckBox(
@@ -1182,7 +1182,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                     cgl, "cp_PrintCompanyLogo", self.chkUseLogo, True))
             self.businessDA.append(
                 UnoDataAware.attachCheckBox(
-                    cgl, "cp_PrintCompanyAddressReceiverField", 
+                    cgl, "cp_PrintCompanyAddressReceiverField",
                     self.chkUseAddressReceiver, True))
             self.businessDA.append(
                 UnoDataAware.attachCheckBox(
@@ -1209,7 +1209,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
                 UnoDataAware.attachEditControl(
                     cgl, "cp_Greeting", self.lstGreeting, True))
             self.letterDA.append(RadioDataAware.attachRadioButtons(
-                    cgl, "cp_SenderAddressType", 
+                    cgl, "cp_SenderAddressType",
                     (self.optSenderDefine, self.optSenderPlaceholder), True))
             self.businessDA.append(
                 UnoDataAware.attachEditControl(
diff --git a/wizards/com/sun/star/wizards/text/TextSectionHandler.py b/wizards/com/sun/star/wizards/text/TextSectionHandler.py
index d9f1018..685cd1c 100644
--- a/wizards/com/sun/star/wizards/text/TextSectionHandler.py
+++ b/wizards/com/sun/star/wizards/text/TextSectionHandler.py
@@ -64,46 +64,34 @@ class TextSectionHandler(object):
         except Exception, exception:
             traceback.print_exc()
 
-    def breakLinkofTextSections(self):
+    def breakLinkOfTextSection(self, oTextSection):
         try:
-            iSectionCount = self.xTextDocument.TextSections.Count
             oSectionLink = \
                 uno.createUnoStruct('com.sun.star.text.SectionFileLink')
             oSectionLink.FileURL = ""
-            for i in xrange(iSectionCount):
-                oTextSection = xAllTextSections.getByIndex(i)
-                Helper.setUnoPropertyValues(
-                    oTextSection, ("FileLink", "LinkRegion"),
-                    (oSectionLink, ""))
-        except Exception, exception:
+            Helper.setUnoPropertyValues(
+                oTextSection, ("FileLink", "LinkRegion"),(oSectionLink, ""))
+        except Exception:
             traceback.print_exc()
 
-    def breakLinkOfTextSection(self, oTextSection):
-        oSectionLink = \
-            uno.createUnoStruct('com.sun.star.text.SectionFileLink')
-        oSectionLink.FileURL = ""
-        Helper.setUnoPropertyValues(
-            oTextSection, ("FileLink", "LinkRegion"),(oSectionLink, ""))
-
-    def linkSectiontoTemplate(self, TemplateName, SectionName):
+    def linkSectiontoTemplate(
+            self, TemplateName, SectionName, oTextSection=None):
         try:
-            oTextSection = self.xTextDocument.TextSections.getByName(
-                SectionName)
-            linkSectiontoTemplate(oTextSection, TemplateName, SectionName)
-        except Exception, e:
+            if oTextSection is not None:
+                oTextSection = self.xTextDocument.TextSections.getByName(
+                    SectionName)
+            oSectionLink = \
+                uno.createUnoStruct('com.sun.star.text.SectionFileLink')
+            oSectionLink.FileURL = TemplateName
+            Helper.setUnoPropertyValues(
+                oTextSection, ("FileLink", "LinkRegion"),
+                (oSectionLink, SectionName))
+            NewSectionName = oTextSection.Name
+            if NewSectionName is not SectionName:
+                oTextSection.Name = SectionName
+        except Exception:
             traceback.print_exc()
 
-    def linkSectiontoTemplate(self, oTextSection, TemplateName, SectionName):
-        oSectionLink = \
-            uno.createUnoStruct('com.sun.star.text.SectionFileLink')
-        oSectionLink.FileURL = TemplateName
-        Helper.setUnoPropertyValues(
-            oTextSection, ("FileLink", "LinkRegion"),
-            (oSectionLink, SectionName))
-        NewSectionName = oTextSection.Name
-        if NewSectionName != SectionName:
-            oTextSection.Name = SectionName
-
     def insertTextSection(self, GroupName, TemplateName, _bAddParagraph):
         try:
             if _bAddParagraph:
diff --git a/wizards/com/sun/star/wizards/ui/WizardDialog.py b/wizards/com/sun/star/wizards/ui/WizardDialog.py
index bcfcbef..fb12051 100644
--- a/wizards/com/sun/star/wizards/ui/WizardDialog.py
+++ b/wizards/com/sun/star/wizards/ui/WizardDialog.py
@@ -123,9 +123,6 @@ class WizardDialog(UnoDialog2):
         self.sRMItemLabels = _oResource.getResArray(
             StartResID, self.nMaxStep)
 
-    def getRMItemLabels(self):
-        return self.sRMItemLabels
-
     def insertRoadmapItem(self, Index, _bEnabled, _sLabel, _CurItemID):
         try:
             if isinstance(_sLabel, int):
@@ -137,11 +134,8 @@ class WizardDialog(UnoDialog2):
                 PropertyNames.PROPERTY_ENABLED, _bEnabled)
             Helper.setUnoPropertyValue(oRoadmapItem, "ID", _CurItemID)
             self.oRoadmap.insertByIndex(Index, oRoadmapItem)
-            NextIndex = Index + 1
-            return NextIndex
         except Exception, exception:
             traceback.print_exc()
-            return -1
 
     def getRoadmapItemByID(self, _ID):
         try:
@@ -291,9 +285,9 @@ class WizardDialog(UnoDialog2):
         except Exception, exception:
             traceback.print_exc()
 
-    def insertRoadMapItems(self, items, steps, enabled):
+    def insertRoadMapItems(self, enabled, items):
         for index, item in enumerate(items):
-            self.insertRoadmapItem(index, enabled[index], item, steps[index])
+            self.insertRoadmapItem(index, enabled[index], item, index + 1)
 
     def setStepEnabled(self, _nStep, bEnabled, enableNextButton):
         setStepEnabled(_nStep, bEnabled)
diff --git a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
index 365b388..f204a8e 100644
--- a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
+++ b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
@@ -58,10 +58,10 @@ class UnoDataAware(DataAware):
             data, prop, unoControl, "Value", field, float(0))
 
     @classmethod
-    def attachCheckBox(self, data, prop, checkBox, field):
+    def attachCheckBox(self, data, prop, checkBox, field, listener=None):
         uda = UnoDataAware(data, prop, checkBox, PropertyNames.PROPERTY_STATE)
         method = getattr(uda,"updateData")
-        checkBox.addItemListener(ItemListenerProcAdapter(method))
+        checkBox.addItemListener(ItemListenerProcAdapter(method, listener))
         return uda
 
     def attachLabel(self, data, prop, label, field):


More information about the Libreoffice-commits mailing list