[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 21 commits - animations/source binaryurp/source boost/makefile.mk boost/prj bridges/source configure.in connectivity/source cui/source default_images/minimizer default_images/presenter default_images/res desktop/source extensions.lst formula/source i18npool/source lingucomponent/source officecfg/registry oox/inc package/inc postprocess/packcomponents postprocess/packregistry postprocess/prj rsc/source scp2/source sc/source sdext/prj sdext/source sd/inc sd/sdi sd/source sd/uiconfig set_soenv.in slideshow/source svl/inc svl/source svtools/inc svtools/source svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/Package_inc.mk svx/source sw/source vcl/inc vcl/source

Armin Le Grand alg at apache.org
Tue Apr 16 17:13:59 PDT 2013


 animations/source/animcore/targetpropertiescreator.cxx                                              |   43 
 binaryurp/source/bridge.cxx                                                                         |    6 
 binaryurp/source/bridge.hxx                                                                         |    5 
 boost/makefile.mk                                                                                   |    1 
 boost/prj/d.lst                                                                                     |    3 
 bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx                                                |   22 
 configure.in                                                                                        |   51 
 connectivity/source/inc/java/lang/Object.hxx                                                        |    2 
 cui/source/inc/backgrnd.hxx                                                                         |    4 
 cui/source/inc/cuitabarea.hxx                                                                       |    6 
 cui/source/tabpages/backgrnd.cxx                                                                    |   65 
 cui/source/tabpages/tpcolor.cxx                                                                     |   63 
 default_images/presenter/Background.png                                                             |binary
 default_images/presenter/BorderActiveBottom.png                                                     |binary
 default_images/presenter/BorderActiveBottomCallout.png                                              |binary
 default_images/presenter/BorderActiveBottomLeft.png                                                 |binary
 default_images/presenter/BorderActiveBottomRight.png                                                |binary
 default_images/presenter/BorderActiveLeft.png                                                       |binary
 default_images/presenter/BorderActiveRight.png                                                      |binary
 default_images/presenter/BorderActiveTop.png                                                        |binary
 default_images/presenter/BorderActiveTopLeft.png                                                    |binary
 default_images/presenter/BorderActiveTopRight.png                                                   |binary
 default_images/presenter/BorderBottom.png                                                           |binary
 default_images/presenter/BorderBottomLeft.png                                                       |binary
 default_images/presenter/BorderBottomRight.png                                                      |binary
 default_images/presenter/BorderCurrentSlideBottom.png                                               |binary
 default_images/presenter/BorderCurrentSlideBottomLeft.png                                           |binary
 default_images/presenter/BorderCurrentSlideBottomRight.png                                          |binary
 default_images/presenter/BorderCurrentSlideLeft.png                                                 |binary
 default_images/presenter/BorderCurrentSlideRight.png                                                |binary
 default_images/presenter/BorderCurrentSlideTop.png                                                  |binary
 default_images/presenter/BorderCurrentSlideTopLeft.png                                              |binary
 default_images/presenter/BorderCurrentSlideTopRight.png                                             |binary
 default_images/presenter/BorderLeft.png                                                             |binary
 default_images/presenter/BorderRight.png                                                            |binary
 default_images/presenter/BorderToolbarBottom.png                                                    |binary
 default_images/presenter/BorderToolbarLeft.png                                                      |binary
 default_images/presenter/BorderToolbarRight.png                                                     |binary
 default_images/presenter/BorderToolbarTop.png                                                       |binary
 default_images/presenter/BorderToolbarTopLeft.png                                                   |binary
 default_images/presenter/BorderToolbarTopRight.png                                                  |binary
 default_images/presenter/BorderTop.png                                                              |binary
 default_images/presenter/BorderTopLeft.png                                                          |binary
 default_images/presenter/BorderTopRight.png                                                         |binary
 default_images/presenter/ButtonEffectNextDisabled.png                                               |binary
 default_images/presenter/ButtonEffectNextMouseOver.png                                              |binary
 default_images/presenter/ButtonEffectNextNormal.png                                                 |binary
 default_images/presenter/ButtonEffectNextSelected.png                                               |binary
 default_images/presenter/ButtonFrameCenterMouseOver.png                                             |binary
 default_images/presenter/ButtonFrameCenterNormal.png                                                |binary
 default_images/presenter/ButtonFrameLeftMouseOver.png                                               |binary
 default_images/presenter/ButtonFrameLeftNormal.png                                                  |binary
 default_images/presenter/ButtonFrameRightMouseOver.png                                              |binary
 default_images/presenter/ButtonFrameRightNormal.png                                                 |binary
 default_images/presenter/ButtonHelpDisabled.png                                                     |binary
 default_images/presenter/ButtonHelpMouseOver.png                                                    |binary
 default_images/presenter/ButtonHelpNormal.png                                                       |binary
 default_images/presenter/ButtonHelpSelected.png                                                     |binary
 default_images/presenter/ButtonMinusDisabled.png                                                    |binary
 default_images/presenter/ButtonMinusMouseOver.png                                                   |binary
 default_images/presenter/ButtonMinusNormal.png                                                      |binary
 default_images/presenter/ButtonMinusSelected.png                                                    |binary
 default_images/presenter/ButtonNotesDisabled.png                                                    |binary
 default_images/presenter/ButtonNotesMouseOver.png                                                   |binary
 default_images/presenter/ButtonNotesNormal.png                                                      |binary
 default_images/presenter/ButtonNotesSelected.png                                                    |binary
 default_images/presenter/ButtonPlusDisabled.png                                                     |binary
 default_images/presenter/ButtonPlusMouseOver.png                                                    |binary
 default_images/presenter/ButtonPlusNormal.png                                                       |binary
 default_images/presenter/ButtonPlusSelected.png                                                     |binary
 default_images/presenter/ButtonSlideNextDisabled.png                                                |binary
 default_images/presenter/ButtonSlideNextMouseOver.png                                               |binary
 default_images/presenter/ButtonSlideNextNormal.png                                                  |binary
 default_images/presenter/ButtonSlidePreviousDisabled.png                                            |binary
 default_images/presenter/ButtonSlidePreviousMouseOver.png                                           |binary
 default_images/presenter/ButtonSlidePreviousNormal.png                                              |binary
 default_images/presenter/ButtonSlidePreviousSelected.png                                            |binary
 default_images/presenter/ButtonSlideSorterDisabled.png                                              |binary
 default_images/presenter/ButtonSlideSorterMouseOver.png                                             |binary
 default_images/presenter/ButtonSlideSorterNormal.png                                                |binary
 default_images/presenter/ButtonSlideSorterSelected.png                                              |binary
 default_images/presenter/LabelMouseOverCenter.png                                                   |binary
 default_images/presenter/LabelMouseOverLeft.png                                                     |binary
 default_images/presenter/LabelMouseOverRight.png                                                    |binary
 default_images/presenter/ScrollbarArrowDownDisabled.png                                             |binary
 default_images/presenter/ScrollbarArrowDownMouseOver.png                                            |binary
 default_images/presenter/ScrollbarArrowDownNormal.png                                               |binary
 default_images/presenter/ScrollbarArrowDownSelected.png                                             |binary
 default_images/presenter/ScrollbarArrowUpDisabled.png                                               |binary
 default_images/presenter/ScrollbarArrowUpMouseOver.png                                              |binary
 default_images/presenter/ScrollbarArrowUpNormal.png                                                 |binary
 default_images/presenter/ScrollbarArrowUpSelected.png                                               |binary
 default_images/presenter/ScrollbarPagerMiddleMouseOver.png                                          |binary
 default_images/presenter/ScrollbarPagerMiddleNormal.png                                             |binary
 default_images/presenter/ScrollbarThumbBottomMouseOver.png                                          |binary
 default_images/presenter/ScrollbarThumbBottomNormal.png                                             |binary
 default_images/presenter/ScrollbarThumbMiddleMouseOver.png                                          |binary
 default_images/presenter/ScrollbarThumbMiddleNormal.png                                             |binary
 default_images/presenter/ScrollbarThumbTopMouseOver.png                                             |binary
 default_images/presenter/ScrollbarThumbTopNormal.png                                                |binary
 default_images/presenter/ViewBackground.png                                                         |binary
 default_images/res/commandimagelist/lc_presentationminimizer.png                                    |binary
 default_images/res/commandimagelist/lch_presentationminimizer.png                                   |binary
 default_images/res/commandimagelist/sc_presentationminimizer.png                                    |binary
 default_images/res/commandimagelist/sch_presentationminimizer.png                                   |binary
 desktop/source/pkgchk/unopkg/unopkg_app.cxx                                                         |    5 
 dev/null                                                                                            |binary
 extensions.lst                                                                                      |   12 
 formula/source/core/api/token.cxx                                                                   |    4 
 i18npool/source/localedata/LocaleNode.cxx                                                           |   12 
 lingucomponent/source/spellcheck/macosxspell/macspellimp.cxx                                        |   12 
 officecfg/registry/data/org/openoffice/Office/Impress.xcu                                           |  170 +
 officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu                                   | 1220 ++++++++++
 officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu                            |    8 
 officecfg/registry/data/org/openoffice/Office/makefile.mk                                           |   11 
 officecfg/registry/data/org/openoffice/makefile.mk                                                  |    7 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs                                          |   49 
 officecfg/registry/schema/org/openoffice/Office/Impress.xcs                                         |  127 +
 officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs                                 |  470 +++
 officecfg/registry/schema/org/openoffice/Office/makefile.mk                                         |   25 
 oox/inc/oox/core/recordparser.hxx                                                                   |    4 
 package/inc/ZipPackage.hxx                                                                          |    1 
 package/inc/ZipPackageFolder.hxx                                                                    |    1 
 postprocess/packcomponents/makefile.mk                                                              |    4 
 postprocess/packregistry/makefile.mk                                                                |    4 
 postprocess/prj/build.lst                                                                           |    2 
 rsc/source/parser/rsclex.hxx                                                                        |    6 
 sc/source/core/tool/token.cxx                                                                       |    4 
 sc/source/ui/docshell/docsh4.cxx                                                                    |    2 
 sc/source/ui/inc/tabbgcolordlg.hxx                                                                  |    4 
 sc/source/ui/miscdlgs/tabbgcolordlg.cxx                                                             |   93 
 sc/source/ui/src/miscdlgs.src                                                                       |  102 
 scp2/source/ooo/file_library_ooo.scp                                                                |   26 
 scp2/source/ooo/file_resource_ooo.scp                                                               |    2 
 scp2/source/ooo/module_hidden_ooo.scp                                                               |    2 
 scp2/source/ooo/module_lang_template.scp                                                            |    3 
 sd/inc/app.hrc                                                                                      |    1 
 sd/sdi/drviewsh.sdi                                                                                 |    5 
 sd/sdi/sdraw.sdi                                                                                    |   25 
 sd/source/ui/app/sddll2.cxx                                                                         |    2 
 sd/source/ui/presenter/PresenterHelper.cxx                                                          |   18 
 sd/source/ui/slideshow/slideshowimpl.cxx                                                            |    2 
 sd/source/ui/view/drviews6.cxx                                                                      |    2 
 sd/source/ui/view/drviewse.cxx                                                                      |   30 
 sd/source/ui/view/drvwshrg.cxx                                                                      |    2 
 sd/uiconfig/simpress/menubar/menubar.xml                                                            |    1 
 sdext/prj/build.lst                                                                                 |    8 
 sdext/prj/d.lst                                                                                     |   33 
 sdext/source/minimizer/PresentationMinimizer.component                                              |   30 
 sdext/source/minimizer/configurationaccess.cxx                                                      |  198 +
 sdext/source/minimizer/configurationaccess.hxx                                                      |   18 
 sdext/source/minimizer/delzip                                                                       |    1 
 sdext/source/minimizer/description.xml                                                              |   58 
 sdext/source/minimizer/fileopendialog.cxx                                                           |   62 
 sdext/source/minimizer/fileopendialog.hxx                                                           |    6 
 sdext/source/minimizer/graphiccollector.cxx                                                         |   61 
 sdext/source/minimizer/graphiccollector.hxx                                                         |    6 
 sdext/source/minimizer/help/component.txt                                                           |    2 
 sdext/source/minimizer/helpid.hrc                                                                   |   57 
 sdext/source/minimizer/impoptimizer.cxx                                                             |   93 
 sdext/source/minimizer/impoptimizer.hxx                                                             |    9 
 sdext/source/minimizer/informationdialog.cxx                                                        |  215 +
 sdext/source/minimizer/informationdialog.hxx                                                        |   75 
 sdext/source/minimizer/makefile.mk                                                                  |  158 -
 sdext/source/minimizer/manifest.xml                                                                 |   36 
 sdext/source/minimizer/minimizer.hrc                                                                |   95 
 sdext/source/minimizer/minimizer.pmk                                                                |   24 
 sdext/source/minimizer/minimizer.src                                                                |  379 +++
 sdext/source/minimizer/optimizationstats.cxx                                                        |    3 
 sdext/source/minimizer/optimizerdialog.cxx                                                          |  430 +--
 sdext/source/minimizer/optimizerdialog.hxx                                                          |  244 --
 sdext/source/minimizer/optimizerdialogcontrols.cxx                                                  |  289 +-
 sdext/source/minimizer/pagecollector.cxx                                                            |    3 
 sdext/source/minimizer/pppoptimizer.cxx                                                             |   16 
 sdext/source/minimizer/pppoptimizer.hxx                                                             |    4 
 sdext/source/minimizer/pppoptimizerdialog.cxx                                                       |  194 -
 sdext/source/minimizer/pppoptimizerdialog.hxx                                                       |   49 
 sdext/source/minimizer/pppoptimizertoken.cxx                                                        |   13 
 sdext/source/minimizer/pppoptimizertoken.hxx                                                        |   13 
 sdext/source/minimizer/pppoptimizeruno.cxx                                                          |  116 
 sdext/source/minimizer/registry/data/org/openoffice/Office/Addons.xcu                               |   86 
 sdext/source/minimizer/registry/data/org/openoffice/Office/ProtocolHandler.xcu                      |   31 
 sdext/source/minimizer/registry/data/org/openoffice/Office/extension/SunPresentationMinimizer.xcu   |  404 ---
 sdext/source/minimizer/registry/data/org/openoffice/Office/extension/makefile.mk                    |   46 
 sdext/source/minimizer/registry/data/org/openoffice/Office/makefile.mk                              |   44 
 sdext/source/minimizer/registry/schema/org/openoffice/Office/extension/SunPresentationMinimizer.xcs |  346 --
 sdext/source/minimizer/unodialog.cxx                                                                |  117 
 sdext/source/minimizer/unodialog.hxx                                                                |   44 
 sdext/source/presenter/Jobs.xcu                                                                     |   41 
 sdext/source/presenter/PresenterAccessibility.cxx                                                   |    6 
 sdext/source/presenter/PresenterBitmapContainer.cxx                                                 |   21 
 sdext/source/presenter/PresenterBitmapContainer.hxx                                                 |    5 
 sdext/source/presenter/PresenterClock.cxx                                                           |   19 
 sdext/source/presenter/PresenterComponent.cxx                                                       |  146 -
 sdext/source/presenter/PresenterComponent.hxx                                                       |   51 
 sdext/source/presenter/PresenterConfigurationAccess.cxx                                             |    2 
 sdext/source/presenter/PresenterExtensionIdentifier.txx                                             |   37 
 sdext/source/presenter/PresenterHelpView.cxx                                                        |    2 
 sdext/source/presenter/PresenterScreen.component                                                    |   30 
 sdext/source/presenter/PresenterScreen.cxx                                                          |    4 
 sdext/source/presenter/PresenterScreen.hrc                                                          |  113 
 sdext/source/presenter/PresenterScreen.src                                                          |  113 
 sdext/source/presenter/PresenterScrollBar.cxx                                                       |    4 
 sdext/source/presenter/PresenterSlideSorter.cxx                                                     |    6 
 sdext/source/presenter/PresenterTheme.cxx                                                           |   45 
 sdext/source/presenter/PresenterToolBar.cxx                                                         |    8 
 sdext/source/presenter/PresenterWindowManager.cxx                                                   |    4 
 sdext/source/presenter/ProtocolHandler.xcu                                                          |   31 
 sdext/source/presenter/components.cxx                                                               |   74 
 sdext/source/presenter/delzip                                                                       |    1 
 sdext/source/presenter/description.xml                                                              |   58 
 sdext/source/presenter/help/component.txt                                                           |    2 
 sdext/source/presenter/help/en-US/com.sun.PresenterScreen/makefile.mk                               |   47 
 sdext/source/presenter/help/en-US/com.sun.PresenterScreen/presenter.xhp                             |  180 -
 sdext/source/presenter/makefile.mk                                                                  |  393 ---
 sdext/source/presenter/manifest.xml                                                                 |   38 
 sdext/source/presenter/registry/data/org/openoffice/Office/Jobs.xcu                                 |   41 
 sdext/source/presenter/registry/data/org/openoffice/Office/ProtocolHandler.xcu                      |   31 
 sdext/source/presenter/registry/data/org/openoffice/Office/extension/PresenterScreen.xcu            | 1220 ----------
 sdext/source/presenter/registry/data/org/openoffice/Office/extension/makefile.mk                    |   47 
 sdext/source/presenter/registry/data/org/openoffice/Office/makefile.mk                              |   44 
 sdext/source/presenter/registry/schema/org/openoffice/Office/extension/PresenterScreen.xcs          |  465 ---
 set_soenv.in                                                                                        |    2 
 slideshow/source/engine/activities/activitiesfactory.cxx                                            |    4 
 svl/inc/svl/itemset.hxx                                                                             |    4 
 svl/source/items/itemset.cxx                                                                        |    3 
 svtools/inc/svtools/accessibilityoptions.hxx                                                        |   14 
 svtools/source/config/accessibilityoptions.cxx                                                      |  197 +
 svtools/source/control/valueset.cxx                                                                 |   21 
 svtools/source/inc/configitems/accessibilityoptions_const.hxx                                       |    5 
 svx/Library_svx.mk                                                                                  |    1 
 svx/Library_svxcore.mk                                                                              |    1 
 svx/Package_inc.mk                                                                                  |    3 
 svx/inc/svx/SvxColorChildWindow.hxx                                                                 |   47 
 svx/inc/svx/SvxColorValueSet.hxx                                                                    |   55 
 svx/inc/svx/colrctrl.hxx                                                                            |   37 
 svx/inc/svx/sdasitm.hxx                                                                             |   17 
 svx/inc/svx/sidebar/ColorControl.hxx                                                                |    3 
 svx/source/items/customshapeitem.cxx                                                                |   13 
 svx/source/sidebar/tools/ColorControl.cxx                                                           |   46 
 svx/source/tbxctrls/SvxColorChildWindow.cxx                                                         |   55 
 svx/source/tbxctrls/SvxColorValueSet.cxx                                                            |  158 +
 svx/source/tbxctrls/colorwindow.hxx                                                                 |    7 
 svx/source/tbxctrls/colrctrl.cxx                                                                    |  103 
 svx/source/tbxctrls/tbcontrl.cxx                                                                    |   76 
 sw/source/core/doc/docbm.cxx                                                                        |   25 
 sw/source/filter/ww8/WW8TableInfo.hxx                                                               |   87 
 sw/source/ui/app/appenv.cxx                                                                         |    4 
 sw/source/ui/app/applab.cxx                                                                         |    4 
 sw/source/ui/dbui/dbmgr.cxx                                                                         |    5 
 sw/source/ui/shells/textsh2.cxx                                                                     |    4 
 sw/source/ui/uiview/viewprt.cxx                                                                     |    2 
 sw/source/ui/wrtsh/wrtsh1.cxx                                                                       |    2 
 vcl/inc/vcl/bitmap.hxx                                                                              |   31 
 vcl/source/gdi/bitmap4.cxx                                                                          |  197 +
 255 files changed, 5761 insertions(+), 5668 deletions(-)

New commits:
commit df8441aab1ea0d6df5619f2c7403a65dfacad125
Author: Armin Le Grand <alg at apache.org>
Date:   Tue Apr 16 16:09:17 2013 +0000

    i122041 Adapted the descriptions in Common.xcs slightly

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 3847abd..3ab729e 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -6156,88 +6156,53 @@
 				</info>
 				<value>false</value>
 			</prop>
-
-            <prop oor:name="ColorValueSetMaximumRowCount" oor:type="xs:short">
-              <info>
-                <author>ALG</author>
-                <desc>Defines the maximum row count for ColorValueSets. If more rows are needed, a Scrollbar will be used.</desc>
-                <label>A Scrollbar will be used when more rows are needed.</label>
-              </info>
-              <constraints>
-                <minInclusive oor:value="10">
-                  <info>
-                    <desc>Specifies the minimum number of rows before a Scrollbar will be used.</desc>
-                  </info>
-                </minInclusive>
-                <maxInclusive oor:value="99">
-                  <info>
-                    <desc>Specifies the maximum number of rows before a Scrollbar will be used.</desc>
-                  </info>
-                </maxInclusive>
-              </constraints>
-              <value>40</value>
-            </prop>
-            <prop oor:name="ColorValueSetEntryEdgeLength" oor:type="xs:short">
-              <info>
-                <author>ALG</author>
-                <desc>Defines the EdgeLength in Pixels for Entries generated inside of ColorValueSets. The Entries are quadratic for Colors.</desc>
-                <label>Entries in ColorValueSets will have this quadratic size in Pixels.</label>
-              </info>
-              <constraints>
-                <minInclusive oor:value="8">
-                  <info>
-                    <desc>Specifies the minimum EdgeLength for Entries in ColorValueSets.</desc>
-                  </info>
-                </minInclusive>
-                <maxInclusive oor:value="18">
-                  <info>
-                    <desc>Specifies the minimum EdgeLength for Entries in ColorValueSets.</desc>
-                  </info>
-                </maxInclusive>
-              </constraints>
-              <value>14</value>
-            </prop>
-            <prop oor:name="ColorValueSetColumnCount" oor:type="xs:short">
-              <info>
-                <author>ALG</author>
-                <desc>Defines how many colums are to be used in ColorValueSets. The idea is to use this defined count to have a good visualisation in ColorValueSets which offers the used ColorTable schema nicely layouted to the User.</desc>
-                <label>The ColumnCount used in ColorValueSets.</label>
-              </info>
-              <constraints>
-                <minInclusive oor:value="12">
-                  <info>
-                    <desc>Specifies the perfect number of columns for ColorValueSet layout.</desc>
-                  </info>
-                </minInclusive>
-                <maxInclusive oor:value="24">
-                  <info>
-                    <desc>Specifies a maximum number of columns for ColorValueSet layout.</desc>
-                  </info>
-                </maxInclusive>
-              </constraints>
-              <value>12</value>
-            </prop>
-            <prop oor:name="EdgeBlending" oor:type="xs:short">
-              <info>
-                <author>ALG</author>
-                <desc>Option to use EdgeBlending for previews in the UI (for ColorValueSet, ColorDropDown, FillStyle/LineStyle previews, etc...). EdgeBlending will visualize a one pixel border on the preview object so that a noce 3D effect is shown. It is a percent value describing how strong the effect shall be. The value 0% switches it off, while the value 100% will cover the preview object completely on it's borders.</desc>
-                <label>Defines the EdgeBlending for Previews in percent.</label>
-              </info>
-              <constraints>
-                <minInclusive oor:value="0">
-                  <info>
-                    <desc>Specifies that no EdgeBlending shall happen.</desc>
-                  </info>
-                </minInclusive>
-                <maxInclusive oor:value="99">
-                  <info>
-                    <desc>Specifies that EdgeBlending will cover the edges of Previews completely.</desc>
-                  </info>
-                </maxInclusive>
-              </constraints>
-              <value>35</value>
-            </prop>
-
+          <prop oor:name="ColorValueSetMaximumRowCount" oor:type="xs:short">
+            <info>
+              <author>ALG</author>
+              <desc>
+                Defines the maximum row count for ColorValueSets. If more rows are needed, a Scrollbar will be used.
+              </desc>
+              <label>A Scrollbar will be used when more rows are needed.</label>
+            </info>
+            <value>40</value>
+          </prop>
+          <prop oor:name="ColorValueSetEntryEdgeLength" oor:type="xs:short">
+            <info>
+              <author>ALG</author>
+              <desc>
+                Defines the EdgeLength in Pixels for Entries generated inside of ColorValueSets. The Entries are quadratic for Colors.
+              </desc>
+              <label>Entries in ColorValueSets will have this quadratic size in Pixels.</label>
+            </info>
+            <value>14</value>
+          </prop>
+          <prop oor:name="ColorValueSetColumnCount" oor:type="xs:short">
+            <info>
+              <author>ALG</author>
+              <desc>
+                Defines how many colums are to be used in ColorValueSets. The idea is to use this defined count to have a
+                good visualisation in ColorValueSets which offers the used ColorTable Schema nicely layouted to the User.
+                This Schema is layouted to a width of twelve colums, though this value should not be changed.
+              </desc>
+              <label>The ColumnCount used in ColorValueSets.</label>
+            </info>
+            <value>12</value>
+          </prop>
+          <prop oor:name="EdgeBlending" oor:type="xs:short">
+            <info>
+              <author>ALG</author>
+              <desc>
+                Option to use EdgeBlending for previews in the UI (for ColorValueSet, ColorDropDown, FillStyle/LineStyle 
+                previews, etc...). EdgeBlending will visualize a one pixel border on the preview object with interpolated
+                colors (default: TopLeft White, BottomRight Black) so that a nice 3D effect is shown. It is a percent 
+                value describing how strong the effect shall be. The value 0% switches it off, while the value 100% will 
+                cover the preview object's border completely with one pixel. Values in-between vill be alpha-blended with
+                the original preview image.
+              </desc>
+              <label>Defines the EdgeBlending for Previews in Percent.</label>
+            </info>
+            <value>35</value>
+          </prop>
         </group>
  		<set oor:name="OfficeObjects" oor:node-type="ObjectNames">
  			<info>
commit 401e8f2db607081e62eaaa1f08a8cd8971a3f637
Author: Armin Le Grand <alg at apache.org>
Date:   Tue Apr 16 15:46:18 2013 +0000

    i122041 Added vaues for defining behaviour of ColorValueSets to SvtAccessibilityOptions

diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 1995b94..ba5d7a3 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -1236,11 +1236,13 @@ void SvxBackgroundTabPage::FillColorValueSets_Impl()
     const Size aCurrentSizeContainer(aBorderWin.GetOutputSizePixel());
     const Size aCurrentSizeContent(aBackgroundColorSet.GetOutputSizePixel());
     const Size aNewSizeContent(aBackgroundColorSet.layoutToGivenHeight(aCurrentSizeContent.Height() - 4, nColorCount));
-    const Size aNewSizeContainer(aNewSizeContent.Width() + 4, aNewSizeContent.Height() + 4);
+    static sal_Int32 nAdd = 4;
+    const Size aNewSizeContainer(aNewSizeContent.Width() + nAdd, aNewSizeContent.Height() + nAdd);
     const Point aNewPos((aCurrentPosContainer.X() + aCurrentSizeContainer.Width()) - aNewSizeContainer.Width(), aCurrentPosContainer.Y());
 
     aBorderWin.SetOutputSizePixel(aNewSizeContainer);
     aBackgroundColorSet.SetOutputSizePixel(aNewSizeContent);
+    aBackgroundColorSet.SetPosSizePixel(Point(nAdd/2, nAdd/2), aNewSizeContent);
     aBorderWin.SetPosSizePixel(aNewPos, aNewSizeContainer);
 }
 
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 3874242..3847abd 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -6156,7 +6156,89 @@
 				</info>
 				<value>false</value>
 			</prop>
-		</group>
+
+            <prop oor:name="ColorValueSetMaximumRowCount" oor:type="xs:short">
+              <info>
+                <author>ALG</author>
+                <desc>Defines the maximum row count for ColorValueSets. If more rows are needed, a Scrollbar will be used.</desc>
+                <label>A Scrollbar will be used when more rows are needed.</label>
+              </info>
+              <constraints>
+                <minInclusive oor:value="10">
+                  <info>
+                    <desc>Specifies the minimum number of rows before a Scrollbar will be used.</desc>
+                  </info>
+                </minInclusive>
+                <maxInclusive oor:value="99">
+                  <info>
+                    <desc>Specifies the maximum number of rows before a Scrollbar will be used.</desc>
+                  </info>
+                </maxInclusive>
+              </constraints>
+              <value>40</value>
+            </prop>
+            <prop oor:name="ColorValueSetEntryEdgeLength" oor:type="xs:short">
+              <info>
+                <author>ALG</author>
+                <desc>Defines the EdgeLength in Pixels for Entries generated inside of ColorValueSets. The Entries are quadratic for Colors.</desc>
+                <label>Entries in ColorValueSets will have this quadratic size in Pixels.</label>
+              </info>
+              <constraints>
+                <minInclusive oor:value="8">
+                  <info>
+                    <desc>Specifies the minimum EdgeLength for Entries in ColorValueSets.</desc>
+                  </info>
+                </minInclusive>
+                <maxInclusive oor:value="18">
+                  <info>
+                    <desc>Specifies the minimum EdgeLength for Entries in ColorValueSets.</desc>
+                  </info>
+                </maxInclusive>
+              </constraints>
+              <value>14</value>
+            </prop>
+            <prop oor:name="ColorValueSetColumnCount" oor:type="xs:short">
+              <info>
+                <author>ALG</author>
+                <desc>Defines how many colums are to be used in ColorValueSets. The idea is to use this defined count to have a good visualisation in ColorValueSets which offers the used ColorTable schema nicely layouted to the User.</desc>
+                <label>The ColumnCount used in ColorValueSets.</label>
+              </info>
+              <constraints>
+                <minInclusive oor:value="12">
+                  <info>
+                    <desc>Specifies the perfect number of columns for ColorValueSet layout.</desc>
+                  </info>
+                </minInclusive>
+                <maxInclusive oor:value="24">
+                  <info>
+                    <desc>Specifies a maximum number of columns for ColorValueSet layout.</desc>
+                  </info>
+                </maxInclusive>
+              </constraints>
+              <value>12</value>
+            </prop>
+            <prop oor:name="EdgeBlending" oor:type="xs:short">
+              <info>
+                <author>ALG</author>
+                <desc>Option to use EdgeBlending for previews in the UI (for ColorValueSet, ColorDropDown, FillStyle/LineStyle previews, etc...). EdgeBlending will visualize a one pixel border on the preview object so that a noce 3D effect is shown. It is a percent value describing how strong the effect shall be. The value 0% switches it off, while the value 100% will cover the preview object completely on it's borders.</desc>
+                <label>Defines the EdgeBlending for Previews in percent.</label>
+              </info>
+              <constraints>
+                <minInclusive oor:value="0">
+                  <info>
+                    <desc>Specifies that no EdgeBlending shall happen.</desc>
+                  </info>
+                </minInclusive>
+                <maxInclusive oor:value="99">
+                  <info>
+                    <desc>Specifies that EdgeBlending will cover the edges of Previews completely.</desc>
+                  </info>
+                </maxInclusive>
+              </constraints>
+              <value>35</value>
+            </prop>
+
+        </group>
  		<set oor:name="OfficeObjects" oor:node-type="ObjectNames">
  			<info>
 				<deprecated>Replaced by org.openoffice.Office.Embedding/ObjectNames.</deprecated>
diff --git a/sc/source/ui/inc/tabbgcolordlg.hxx b/sc/source/ui/inc/tabbgcolordlg.hxx
index e9b4135..0aa7d86 100644
--- a/sc/source/ui/inc/tabbgcolordlg.hxx
+++ b/sc/source/ui/inc/tabbgcolordlg.hxx
@@ -27,7 +27,7 @@
 #include <vcl/dialog.hxx>
 #include <vcl/fixed.hxx>
 #include <vcl/button.hxx>
-#include <svtools/valueset.hxx>
+#include <svx/SvxColorValueSet.hxx>
 
 //------------------------------------------------------------------------
 
@@ -44,7 +44,7 @@ public:
     void GetSelectedColor( Color& rColor ) const;
 
 private:
-    class ScTabBgColorValueSet : public ValueSet
+    class ScTabBgColorValueSet : public SvxColorValueSet
     {
     public:
         ScTabBgColorValueSet(Control* pParent, const ResId& rResId, ScTabBgColorDlg* pTabBgColorDlg);
diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
index f92a8b9..10b5327 100644
--- a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
+++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx
@@ -100,45 +100,84 @@ void ScTabBgColorDlg::FillColorValueSets_Impl()
     DBG_ASSERT( pDocSh, "DocShell not found!" );
 
     if ( pDocSh && ( 0 != ( pItem = pDocSh->GetItem(SID_COLOR_TABLE) ) ) )
+    {
         pColorTable = ( (SvxColorTableItem*)pItem )->GetColorTable();
+    }
+
     if ( !pColorTable )
     {
         pOwnColorTable.reset(new XColorList(SvtPathOptions().GetPalettePath()));
         pColorTable = pOwnColorTable.get();
     }
+
+    long nColorCount(0);
+
     if ( pColorTable )
     {
-        sal_uInt16 i = 0;
-        long nCount = pColorTable->Count();
+        nColorCount = pColorTable->Count();
         XColorEntry* pEntry = NULL;
         Color aColWhite( COL_WHITE );
         String aStrWhite( EditResId( RID_SVXITEMS_COLOR_WHITE ) );
-        WinBits nBits = ( aTabBgColorSet.GetStyle() | WB_NAMEFIELD | WB_ITEMBORDER | WB_NONEFIELD | WB_3DLOOK | WB_NO_DIRECTSELECT | WB_NOPOINTERFOCUS);
-        aTabBgColorSet.SetText( aTabBgColorNoColorText );
-        aTabBgColorSet.SetStyle( nBits );
-        for ( i = 0; i < nCount; i++ )
-        {
-            pEntry = pColorTable->GetColor(i);
-            aTabBgColorSet.InsertItem( i + 1, pEntry->GetColor(), pEntry->GetName() );
-            if (pEntry->GetColor() == aTabBgColor)
-                nSelectedItem = (i + 1);
-        }
 
-        while ( i < 80 )
-        {
-            aTabBgColorSet.InsertItem( i + 1, aColWhite, aStrWhite );
-            i++;
-        }
+        aTabBgColorSet.addEntriesForXColorList(*pColorTable);
+    }
 
-        if ( nCount > 80 )
-        {
-            aTabBgColorSet.SetStyle( nBits | WB_VSCROLL );
-        }
+    if(nColorCount)
+    {
+        const WinBits nBits(aTabBgColorSet.GetStyle() | WB_NAMEFIELD | WB_ITEMBORDER | WB_NONEFIELD | WB_3DLOOK | WB_NO_DIRECTSELECT | WB_NOPOINTERFOCUS);
+        aTabBgColorSet.SetText( aTabBgColorNoColorText );
+        aTabBgColorSet.SetStyle( nBits );
+        static sal_Int32 nAdd = 4;
+
+        // calculate new size of color control as base, derive size of border win
+        const Size aNewSize(aTabBgColorSet.layoutAllVisible(nColorCount));
+        const Size aNewSizeBorderWin(aNewSize.Width() + nAdd, aNewSize.Height() + nAdd);
+
+        // from that, calculate a new dialog size
+        const Size aCurrentSizeDialog(GetOutputSizePixel());
+        const Size aCurrentSizeBorderWin(aBorderWin.GetOutputSizePixel());
+        const long nOffsetX(aCurrentSizeDialog.Width() - aCurrentSizeBorderWin.Width());
+        const long nOffsetY(aCurrentSizeDialog.Height() - aCurrentSizeBorderWin.Height());
+        const Size aNewSizeDialog(aNewSizeBorderWin.Width() + nOffsetX, aNewSizeBorderWin.Height() + nOffsetY);
+
+        // also need to adapt pos and size for the three buttons; as a base, take their original
+        // distance from the dialog bottom and get new Y-Pos
+        const long aButtonOffsetFromBottom(aCurrentSizeDialog.Height() - aBtnOk.GetPosPixel().Y());
+        const long aNewButtonY(aNewSizeDialog.Height() - aButtonOffsetFromBottom);
+
+        // for each button, scale width and x-pos by old/new dialog sizes and re-layout
+        // for Okay-Button
+        const long aNewWidthOkay((aBtnOk.GetSizePixel().Width() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const long aNewPosOkay((aBtnOk.GetPosPixel().X() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const Size aNewSizeOkay(aNewWidthOkay, aBtnOk.GetOutputSizePixel().Height());
+        aBtnOk.SetOutputSizePixel(aNewSizeOkay);
+        aBtnOk.SetPosSizePixel(Point(aNewPosOkay, aNewButtonY), aNewSizeOkay);
+
+        // for Cancel-Button
+        const long aNewWidthCancel((aBtnCancel.GetSizePixel().Width() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const long aNewPosCancel((aBtnCancel.GetPosPixel().X() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const Size aNewSizeCancel(aNewWidthCancel, aBtnCancel.GetOutputSizePixel().Height());
+        aBtnCancel.SetOutputSizePixel(aNewSizeCancel);
+        aBtnCancel.SetPosSizePixel(Point(aNewPosCancel, aNewButtonY), aNewSizeCancel);
+
+        // for Help-Button
+        const long aNewWidthHelp((aBtnHelp.GetSizePixel().Width() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const long aNewPosHelp((aBtnHelp.GetPosPixel().X() * aNewSizeDialog.Width()) / aCurrentSizeDialog.Width());
+        const Size aNewSizeHelp(aNewWidthHelp, aBtnHelp.GetOutputSizePixel().Height());
+        aBtnHelp.SetOutputSizePixel(aNewSizeHelp);
+        aBtnHelp.SetPosSizePixel(Point(aNewPosHelp, aNewButtonY), aNewSizeHelp);
+
+        // set new sizes for color control
+        aTabBgColorSet.SetOutputSizePixel(aNewSize);
+        aTabBgColorSet.SetPosSizePixel(Point(nAdd/2, nAdd/2), aNewSize);
+
+        // set new size for border win
+        aBorderWin.SetOutputSizePixel(aNewSizeBorderWin);
+
+        // set new size for dialog itself
+        SetOutputSizePixel(aNewSizeDialog);
     }
-    aTabBgColorSet.SetColCount( 10 );
-    aTabBgColorSet.SetLineCount( 10 );
-    aTabBgColorSet.CalcWindowSizePixel( aSize15x15 );
-    aTabBgColorSet.Format();
+
     aTabBgColorSet.SelectItem(nSelectedItem);
     aTabBgColorSet.Resize();
 }
@@ -168,7 +207,7 @@ IMPL_LINK( ScTabBgColorDlg, TabBgColorOKHdl_Impl, OKButton*, EMPTYARG )
 }
 
 ScTabBgColorDlg::ScTabBgColorValueSet::ScTabBgColorValueSet( Control* pParent, const ResId& rResId, ScTabBgColorDlg* pTabBgColorDlg ) :
-    ValueSet(pParent, rResId)
+    SvxColorValueSet(pParent, rResId)
 {
     aTabBgColorDlg = pTabBgColorDlg;
 }
@@ -187,5 +226,5 @@ void ScTabBgColorDlg::ScTabBgColorValueSet::KeyInput( const KeyEvent& rKEvt )
         }
         break;
     }
-    ValueSet::KeyInput(rKEvt);
+    SvxColorValueSet::KeyInput(rKEvt);
 }
diff --git a/sc/source/ui/src/miscdlgs.src b/sc/source/ui/src/miscdlgs.src
index e1f2950..9e0a31b 100644
--- a/sc/source/ui/src/miscdlgs.src
+++ b/sc/source/ui/src/miscdlgs.src
@@ -619,108 +619,6 @@ ModalDialog RID_SCDLG_TAB_BG_COLOR
         DefButton = FALSE ;
     };
 };
-/*
-ModalDialog RID_SCDLG_TAB_BG_COLOR
-{
-    HelpID = "sc:ModalDialog:RID_SCDLG_TAB_BG_COLOR";
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 180 , 150 ) ;
-    Moveable = TRUE ;
-    Closeable = TRUE ;
-    Control TAB_BG_COLOR_CT_BORDER
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 1 , 1 ) ; //12, 32
-        Size = MAP_APPFONT ( 116+2 , 145+2 ) ;
-        DialogControl = TRUE;
-    };
-    Control TAB_BG_COLOR_SET_BGDCOLOR
-    {
-        // * HelpId = HID_BACKGROUND_CTL_BGDCOLORSET ;
-        Hide = FALSE ;
-        Pos = MAP_APPFONT ( 0 , 0 ) ;
-        Size = MAP_APPFONT ( 116 , 145 ) ;
-        TabStop = TRUE ;
-    };
-    OKButton BTN_OK
-    {
-        Pos = MAP_APPFONT ( 125 , 50 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 125 , 67 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = FALSE ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 125 , 84 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = FALSE ;
-    };
-};
-*/
-/*
-ModalDialog RID_SCDLG_MTRINPUT
-{
-    HelpID = "sc:ModalDialog:RID_SCDLG_MTRINPUT";
-    OutputSize = TRUE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 190 , 63 ) ;
-    Moveable = TRUE ;
-    Closeable = FALSE ;
-    OKButton BTN_OK
-    {
-        Pos = MAP_APPFONT ( 136 , 6 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 136 , 23 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 136 , 43 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    FixedText FT_LABEL
-    {
-        Pos = MAP_APPFONT ( 6 , 8 ) ;
-        Size = MAP_APPFONT ( 60 , 10 ) ;
-    };
-    MetricField ED_VALUE
-    {
-         // HelpID, weil die generierten aus den Ableitungen nicht in die hid.lst kommen
-        HelpId = HID_SC_MTRIN_VAL ;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 70 , 6 ) ;
-        Size = MAP_APPFONT ( 60 , 12 ) ;
-        TabStop = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-    };
-    CheckBox BTN_DEFVAL
-    {
-        HelpID = "sc:CheckBox:RID_SCDLG_MTRINPUT:BTN_DEFVAL";
-         // HelpID, weil die generierten aus den Ableitungen nicht in die hid.lst kommen
-        TabStop = TRUE ;
-        Pos = MAP_APPFONT ( 70 , 24 ) ;
-        Size = MAP_APPFONT ( 58 , 10 ) ;
-        Text [ en-US ] = "~Default value" ;
-    };
-};
-*/
 
 ModalDialog RID_SCDLG_COL_MAN
 {
diff --git a/svtools/inc/svtools/accessibilityoptions.hxx b/svtools/inc/svtools/accessibilityoptions.hxx
index 23fc46f..e66ce25 100644
--- a/svtools/inc/svtools/accessibilityoptions.hxx
+++ b/svtools/inc/svtools/accessibilityoptions.hxx
@@ -56,6 +56,15 @@ public:
     sal_Bool    IsSelectionInReadonly() const;
     sal_Bool    GetAutoDetectSystemHC() const;
 
+    // options for configuring the look and feel for the ColorValueSet (color selector)
+    sal_Int16   GetColorValueSetMaximumRowCount() const;
+    sal_Int16   GetColorValueSetEntryEdgeLength() const;
+    sal_Int16   GetColorValueSetColumnCount() const;
+
+    // option to activate EdgeBlending for previews in the UI (ColorValueSet, ColorDropDown,
+    // FillStyle/LineStyle previews, etc...). 0 == off, 100% == full paint, in-between == alpha
+    sal_Int16   GetEdgeBlending() const;
+
     void        SetIsForPagePreviews(sal_Bool bSet);
     void        SetIsHelpTipsDisappear(sal_Bool bSet);
     void        SetIsAllowAnimatedGraphics(sal_Bool bSet);
@@ -66,6 +75,11 @@ public:
     void        SetSelectionInReadonly(sal_Bool bSet);
     void        SetAutoDetectSystemHC(sal_Bool bSet);
 
+    void        SetColorValueSetMaximumRowCount(sal_Int16 nSet);
+    void        SetColorValueSetEntryEdgeLength(sal_Int16 nSet);
+    void        SetColorValueSetColumnCount(sal_Int16 nSet);
+    void        SetEdgeBlending(sal_Int16 nSet);
+
     sal_Bool                IsModified() const;
     void                    Commit();
 
diff --git a/svtools/source/config/accessibilityoptions.cxx b/svtools/source/config/accessibilityoptions.cxx
index b91b9d4..8ca7243 100644
--- a/svtools/source/config/accessibilityoptions.cxx
+++ b/svtools/source/config/accessibilityoptions.cxx
@@ -86,6 +86,10 @@ public:
     sal_Bool    GetIsSystemFont() const;
     sal_Int16   GetHelpTipSeconds() const;
     sal_Bool    IsSelectionInReadonly() const;
+    sal_Int16   GetColorValueSetMaximumRowCount() const;
+    sal_Int16   GetColorValueSetEntryEdgeLength() const;
+    sal_Int16   GetColorValueSetColumnCount() const;
+    sal_Int16   GetEdgeBlending() const;
 
     void        SetAutoDetectSystemHC(sal_Bool bSet);
     void        SetIsForPagePreviews(sal_Bool bSet);
@@ -96,6 +100,10 @@ public:
     void        SetIsSystemFont(sal_Bool bSet);
     void        SetHelpTipSeconds(sal_Int16 nSet);
     void        SetSelectionInReadonly(sal_Bool bSet);
+    void        SetColorValueSetMaximumRowCount(sal_Int16 nSet);
+    void        SetColorValueSetEntryEdgeLength(sal_Int16 nSet);
+    void        SetColorValueSetColumnCount(sal_Int16 nSet);
+    void        SetEdgeBlending(sal_Int16 nSet);
 
     sal_Bool    IsModified() const { return bIsModified; };
 };
@@ -300,6 +308,78 @@ sal_Bool SvtAccessibilityOptions_Impl::IsSelectionInReadonly() const
     return bRet;
 }
 
+sal_Int16 SvtAccessibilityOptions_Impl::GetColorValueSetMaximumRowCount() const
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+    sal_Int16 nRet = 40;
+
+    try
+    {
+        if(xNode.is())
+            xNode->getPropertyValue(s_sColorValueSetMaximumRowCount) >>= nRet;
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+
+    return nRet;
+}
+
+sal_Int16 SvtAccessibilityOptions_Impl::GetColorValueSetEntryEdgeLength() const
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+    sal_Int16 nRet = 14;
+
+    try
+    {
+        if(xNode.is())
+            xNode->getPropertyValue(s_sColorValueSetEntryEdgeLength) >>= nRet;
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+
+    return nRet;
+}
+
+sal_Int16 SvtAccessibilityOptions_Impl::GetColorValueSetColumnCount() const
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+    sal_Int16 nRet = 12;
+
+    try
+    {
+        if(xNode.is())
+            xNode->getPropertyValue(s_sColorValueSetColumnCount) >>= nRet;
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+
+    return nRet;
+}
+
+sal_Int16 SvtAccessibilityOptions_Impl::GetEdgeBlending() const
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+    sal_Int16 nRet = 35;
+
+    try
+    {
+        if(xNode.is())
+            xNode->getPropertyValue(s_sEdgeBlending) >>= nRet;
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+
+    return nRet;
+}
+
 void SvtAccessibilityOptions_Impl::SetAutoDetectSystemHC(sal_Bool bSet)
 {
     css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
@@ -497,6 +577,86 @@ void SvtAccessibilityOptions_Impl::SetVCLSettings()
     Application::SetSettings(aAllSettings);
 }
 
+void SvtAccessibilityOptions_Impl::SetColorValueSetMaximumRowCount(sal_Int16 nSet)
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+
+    try
+    {
+        if(xNode.is() && xNode->getPropertyValue(s_sColorValueSetMaximumRowCount)!=nSet)
+        {
+            xNode->setPropertyValue(s_sColorValueSetMaximumRowCount, css::uno::makeAny(nSet));
+            ::comphelper::ConfigurationHelper::flush(m_xCfg);
+
+            bIsModified = sal_True;
+        }
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+}
+
+void SvtAccessibilityOptions_Impl::SetColorValueSetEntryEdgeLength(sal_Int16 nSet)
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+
+    try
+    {
+        if(xNode.is() && xNode->getPropertyValue(s_sColorValueSetEntryEdgeLength)!=nSet)
+        {
+            xNode->setPropertyValue(s_sColorValueSetEntryEdgeLength, css::uno::makeAny(nSet));
+            ::comphelper::ConfigurationHelper::flush(m_xCfg);
+
+            bIsModified = sal_True;
+        }
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+}
+
+void SvtAccessibilityOptions_Impl::SetColorValueSetColumnCount(sal_Int16 nSet)
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+
+    try
+    {
+        if(xNode.is() && xNode->getPropertyValue(s_sColorValueSetColumnCount)!=nSet)
+        {
+            xNode->setPropertyValue(s_sColorValueSetColumnCount, css::uno::makeAny(nSet));
+            ::comphelper::ConfigurationHelper::flush(m_xCfg);
+
+            bIsModified = sal_True;
+        }
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+}
+
+void SvtAccessibilityOptions_Impl::SetEdgeBlending(sal_Int16 nSet)
+{
+    css::uno::Reference< css::beans::XPropertySet > xNode(m_xCfg, css::uno::UNO_QUERY);
+
+    try
+    {
+        if(xNode.is() && xNode->getPropertyValue(s_sEdgeBlending)!=nSet)
+        {
+            xNode->setPropertyValue(s_sEdgeBlending, css::uno::makeAny(nSet));
+            ::comphelper::ConfigurationHelper::flush(m_xCfg);
+
+            bIsModified = sal_True;
+        }
+    }
+    catch(const css::uno::Exception& ex)
+    {
+        LogHelper::logIt(ex);
+    }
+}
+
 // -----------------------------------------------------------------------
 // class SvtAccessibilityOptions --------------------------------------------------
 
@@ -600,6 +760,26 @@ sal_Bool SvtAccessibilityOptions::IsSelectionInReadonly() const
     return sm_pSingleImplConfig->IsSelectionInReadonly();
 }
 
+sal_Int16 SvtAccessibilityOptions::GetColorValueSetMaximumRowCount() const
+{
+    return sm_pSingleImplConfig->GetColorValueSetMaximumRowCount();
+}
+
+sal_Int16 SvtAccessibilityOptions::GetColorValueSetEntryEdgeLength() const
+{
+    return sm_pSingleImplConfig->GetColorValueSetEntryEdgeLength();
+}
+
+sal_Int16 SvtAccessibilityOptions::GetColorValueSetColumnCount() const
+{
+    return sm_pSingleImplConfig->GetColorValueSetColumnCount();
+}
+
+sal_Int16 SvtAccessibilityOptions::GetEdgeBlending() const
+{
+    return sm_pSingleImplConfig->GetEdgeBlending();
+}
+
 // -----------------------------------------------------------------------
 void SvtAccessibilityOptions::SetAutoDetectSystemHC(sal_Bool bSet)
 {
@@ -637,9 +817,24 @@ void SvtAccessibilityOptions::SetSelectionInReadonly(sal_Bool bSet)
 {
     sm_pSingleImplConfig->SetSelectionInReadonly(bSet);
 }
-
 void SvtAccessibilityOptions::SetVCLSettings()
 {
     sm_pSingleImplConfig->SetVCLSettings();
 }
+void SvtAccessibilityOptions::SetColorValueSetMaximumRowCount(sal_Int16 nSet)
+{
+    sm_pSingleImplConfig->SetColorValueSetMaximumRowCount(nSet);
+}
+void SvtAccessibilityOptions::SetColorValueSetEntryEdgeLength(sal_Int16 nSet)
+{
+    sm_pSingleImplConfig->SetColorValueSetEntryEdgeLength(nSet);
+}
+void SvtAccessibilityOptions::SetColorValueSetColumnCount(sal_Int16 nSet)
+{
+    sm_pSingleImplConfig->SetColorValueSetColumnCount(nSet);
+}
+void SvtAccessibilityOptions::SetEdgeBlending(sal_Int16 nSet)
+{
+    sm_pSingleImplConfig->SetEdgeBlending(nSet);
+}
 // -----------------------------------------------------------------------
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index 6767cf2..85f5ee9 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -38,7 +38,7 @@
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <rtl/ustring.hxx>
-
+#include <svtools/accessibilityoptions.hxx>
 #include "valueimp.hxx"
 
 #define _SV_VALUESET_CXX
@@ -284,6 +284,25 @@ void ValueSet::ImplFormatItem( ValueSetItem* pItem )
         {
             maVirDev.SetFillColor( pItem->maColor );
             maVirDev.DrawRect( aRect );
+
+            const SvtAccessibilityOptions aOptions;
+            const sal_Int16 nEdgeBlendingPercent(aOptions.GetEdgeBlending());
+            static bool bTest(false);
+
+            if(nEdgeBlendingPercent && bTest)
+            {
+                Bitmap aBitmap(maVirDev.GetBitmap(aRect.TopLeft(), aRect.GetSize()));
+
+                if(!aBitmap.IsEmpty())
+                {
+                    const Color aTopLeft(COL_WHITE);
+                    const Color aBottomRight(COL_BLACK);
+                    const sal_uInt8 nAlpha((nEdgeBlendingPercent * 255) / 100);
+
+                    aBitmap.DrawBlendFrame(nAlpha, aTopLeft, aBottomRight);
+                    maVirDev.DrawBitmap(aRect.TopLeft(), aBitmap);
+                }
+            }
         }
         else
         {
diff --git a/svtools/source/inc/configitems/accessibilityoptions_const.hxx b/svtools/source/inc/configitems/accessibilityoptions_const.hxx
index fbc2dc3..82818be 100644
--- a/svtools/source/inc/configitems/accessibilityoptions_const.hxx
+++ b/svtools/source/inc/configitems/accessibilityoptions_const.hxx
@@ -41,6 +41,11 @@ namespace
     static const ::rtl::OUString s_sIsAutomaticFontColor    = ::rtl::OUString::createFromAscii("IsAutomaticFontColor");
     static const ::rtl::OUString s_sIsSystemFont            = ::rtl::OUString::createFromAscii("IsSystemFont");
     static const ::rtl::OUString s_sIsSelectionInReadonly   = ::rtl::OUString::createFromAscii("IsSelectionInReadonly");
+
+    static const ::rtl::OUString s_sColorValueSetMaximumRowCount = ::rtl::OUString::createFromAscii("ColorValueSetMaximumRowCount");
+    static const ::rtl::OUString s_sColorValueSetEntryEdgeLength = ::rtl::OUString::createFromAscii("ColorValueSetEntryEdgeLength");
+    static const ::rtl::OUString s_sColorValueSetColumnCount = ::rtl::OUString::createFromAscii("ColorValueSetColumnCount");
+    static const ::rtl::OUString s_sEdgeBlending = ::rtl::OUString::createFromAscii("EdgeBlending");
 }
 
 #endif //  INCLUDE_CONFIGITEMS_ACCESSIBILITYOPTIONS_CONST_HXX
diff --git a/svx/inc/svx/SvxColorChildWindow.hxx b/svx/inc/svx/SvxColorChildWindow.hxx
new file mode 100755
index 0000000..11ef56c
--- /dev/null
+++ b/svx/inc/svx/SvxColorChildWindow.hxx
@@ -0,0 +1,47 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+
+#ifndef _SVX_COLORCHILDWINDOW_HXX
+#define _SVX_COLORCHILDWINDOW_HXX
+
+#include <sfx2/childwin.hxx>
+#include "svx/svxdllapi.h"
+
+/*************************************************************************
+|*
+|* Ableitung vom SfxChildWindow als "Behaelter" fuer Controller
+|*
+\************************************************************************/
+
+class SVX_DLLPUBLIC SvxColorChildWindow : public SfxChildWindow
+{
+ public:
+    SvxColorChildWindow( Window*, sal_uInt16, SfxBindings*,
+                         SfxChildWinInfo* );
+
+    SFX_DECL_CHILDWINDOW(SvxColorChildWindow);
+};
+
+
+#endif // _SVX_COLORCHILDWINDOW_HXX
+
+// eof
diff --git a/svx/inc/svx/SvxColorValueSet.hxx b/svx/inc/svx/SvxColorValueSet.hxx
new file mode 100755
index 0000000..dbdd2c8
--- /dev/null
+++ b/svx/inc/svx/SvxColorValueSet.hxx
@@ -0,0 +1,55 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+#ifndef _SVX_COLORVALUESET_HXX
+#define _SVX_COLORVALUESET_HXX
+
+#include <svtools/valueset.hxx>
+#include "svx/svxdllapi.h"
+
+//////////////////////////////////////////////////////////////////////////////
+
+class XColorList;
+
+//////////////////////////////////////////////////////////////////////////////
+
+class SVX_DLLPUBLIC SvxColorValueSet : public ValueSet
+{
+private:
+protected:
+public:
+    SvxColorValueSet(Window* pParent, WinBits nWinStyle = WB_ITEMBORDER);
+    SvxColorValueSet(Window* pParent, const ResId& rResId);
+
+    sal_uInt32 getMaxRowCount() const;
+    sal_uInt32 getEntryEdgeLength() const;
+    sal_uInt32 getColumnCount() const;
+
+    void addEntriesForXColorList(const XColorList& rXColorList, sal_uInt32 nStartIndex = 1);
+    Size layoutAllVisible(sal_uInt32 nEntryCount);
+    Size layoutToGivenHeight(sal_uInt32 nHeight, sal_uInt32 nEntryCount);
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif // _SVX_COLORVALUESET_HXX
+
+// eof
diff --git a/svx/source/tbxctrls/SvxColorChildWindow.cxx b/svx/source/tbxctrls/SvxColorChildWindow.cxx
new file mode 100755
index 0000000..b9b14ca
--- /dev/null
+++ b/svx/source/tbxctrls/SvxColorChildWindow.cxx
@@ -0,0 +1,55 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_svx.hxx"
+
+#include <svx/SvxColorChildWindow.hxx>
+#include <sfx2/dockwin.hxx>
+#include <svx/svxids.hrc>
+#include <svx/dialogs.hrc>
+#include <svx/colrctrl.hxx>
+#include <svx/dialmgr.hxx>
+
+SFX_IMPL_DOCKINGWINDOW( SvxColorChildWindow, SID_COLOR_CONTROL )
+
+/*************************************************************************
+|*
+|* Ableitung vom SfxChildWindow als "Behaelter" fuer Animator
+|*
+\************************************************************************/
+
+SvxColorChildWindow::SvxColorChildWindow( Window* _pParent,
+                                          sal_uInt16 nId,
+                                          SfxBindings* pBindings,
+                                          SfxChildWinInfo* pInfo ) :
+    SfxChildWindow( _pParent, nId )
+{
+    SvxColorDockingWindow* pWin = new SvxColorDockingWindow( pBindings, this,
+                                        _pParent, SVX_RES( RID_SVXCTRL_COLOR ) );
+    pWindow = pWin;
+
+    eChildAlignment = SFX_ALIGN_BOTTOM;
+
+    pWin->Initialize( pInfo );
+}
+
+// eof
diff --git a/svx/source/tbxctrls/SvxColorValueSet.cxx b/svx/source/tbxctrls/SvxColorValueSet.cxx
new file mode 100755
index 0000000..ac8bcd6
--- /dev/null
+++ b/svx/source/tbxctrls/SvxColorValueSet.cxx
@@ -0,0 +1,158 @@
+/**************************************************************
+ *
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_svx.hxx"
+
+#include <svx/SvxColorValueSet.hxx>
+#include <svx/xtable.hxx>
+#include <svtools/accessibilityoptions.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
+
+SvxColorValueSet::SvxColorValueSet(Window* _pParent, WinBits nWinStyle)
+:   ValueSet(_pParent, nWinStyle)
+{
+}
+
+SvxColorValueSet::SvxColorValueSet(Window* _pParent, const ResId& rResId)
+:   ValueSet(_pParent, rResId)
+{
+}
+
+sal_uInt32 SvxColorValueSet::getMaxRowCount() const
+{
+    const SvtAccessibilityOptions aOptions;
+
+    return aOptions.GetColorValueSetMaximumRowCount();
+}
+
+sal_uInt32 SvxColorValueSet::getEntryEdgeLength() const
+{
+    const SvtAccessibilityOptions aOptions;
+
+    return aOptions.GetColorValueSetEntryEdgeLength();
+}
+
+sal_uInt32 SvxColorValueSet::getColumnCount() const
+{
+    const SvtAccessibilityOptions aOptions;
+
+    return aOptions.GetColorValueSetColumnCount();
+}
+
+void SvxColorValueSet::addEntriesForXColorList(const XColorList& rXColorList, sal_uInt32 nStartIndex)
+{
+    const sal_uInt32 nColorCount(rXColorList.Count());
+
+    for(sal_uInt32 nIndex(0); nIndex < nColorCount; nIndex++, nStartIndex++)
+    {
+        const XColorEntry* pEntry = rXColorList.GetColor(nIndex);
+
+        if(pEntry)
+        {
+            InsertItem(nStartIndex, pEntry->GetColor(), pEntry->GetName());
+        }
+        else
+        {
+            OSL_ENSURE(false, "OOps, XColorList with empty entries (!)");
+        }
+    }
+}
+
+Size SvxColorValueSet::layoutAllVisible(sal_uInt32 nEntryCount)
+{
+    if(!nEntryCount)
+    {
+        nEntryCount++;
+    }
+
+    const sal_uInt32 nRowCount(ceil(double(nEntryCount)/getColumnCount()));
+    const Size aItemSize(getEntryEdgeLength() - 2, getEntryEdgeLength() - 2);
+    const WinBits aWinBits(GetStyle() & ~WB_VSCROLL);
+
+    if(nRowCount > getMaxRowCount())
+    {
+        SetStyle(aWinBits|WB_VSCROLL);
+    }
+    else
+    {
+        SetStyle(aWinBits);
+    }
+
+    SetColCount(getColumnCount());
+    SetLineCount(std::min(nRowCount, getMaxRowCount()));
+    SetItemWidth(aItemSize.Width());
+    SetItemHeight(aItemSize.Height());
+
+    return CalcWindowSizePixel(aItemSize);
+}
+
+Size SvxColorValueSet::layoutToGivenHeight(sal_uInt32 nHeight, sal_uInt32 nEntryCount)
+{
+    if(!nEntryCount)
+    {
+        nEntryCount++;
+    }
+
+    const sal_uInt32 nRowCount(ceil(double(nEntryCount)/getColumnCount()));
+    const Size aItemSize(getEntryEdgeLength(), getEntryEdgeLength());
+    const WinBits aWinBits(GetStyle() & ~WB_VSCROLL);
+
+    // get size whith all fields disabled
+    const WinBits aWinBitsNoScrollNoFields(GetStyle() & ~(WB_VSCROLL|WB_NAMEFIELD|WB_NONEFIELD));
+    SetStyle(aWinBitsNoScrollNoFields);
+    const Size aSizeNoScrollNoFields(CalcWindowSizePixel(aItemSize, getColumnCount()));
+
+    // get size with all needed fields
+    SetStyle(aWinBits);
+    Size aNewSize(CalcWindowSizePixel(aItemSize, getColumnCount()));
+
+    // evtl. activate vertical scroll
+    const bool bAdaptHeight(aNewSize.Height() > nHeight);
+
+    if(bAdaptHeight)
+    {
+        SetStyle(aWinBits|WB_VSCROLL);
+        aNewSize = CalcWindowSizePixel(aItemSize, getColumnCount());
+    }
+
+    // calculate field height and available height for requested height
+    const sal_uInt32 nFieldHeight(aNewSize.Height() - aSizeNoScrollNoFields.Height());
+    const sal_uInt32 nAvailableHeight(nHeight >= nFieldHeight ? nHeight - nFieldHeight : 0);
+
+    // calculate how many lines can be shown there
+    const Size aItemSizePixel(CalcItemSizePixel(aItemSize));
+    const sal_uInt32 nLineCount((nAvailableHeight + aItemSizePixel.Height() - 1) / aItemSizePixel.Height());
+
+    // set height to wanted height
+    aNewSize.Height() = nHeight;
+
+    SetItemWidth(aItemSize.Width());
+    SetItemHeight(aItemSize.Height());
+    SetColCount(getColumnCount());
+    SetLineCount(nLineCount);
+
+    return aNewSize;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eof
diff --git a/vcl/inc/vcl/bitmap.hxx b/vcl/inc/vcl/bitmap.hxx
index e81a47d..855d107 100644
--- a/vcl/inc/vcl/bitmap.hxx
+++ b/vcl/inc/vcl/bitmap.hxx
@@ -29,6 +29,7 @@
 #include <vcl/mapmod.hxx>
 #include <tools/rc.hxx>
 #include <vcl/region.hxx>
+#include <tools/color.hxx>
 
 #ifdef WNT
 #define _STLP_HAS_NATIVE_FLOAT_ABS
@@ -883,6 +884,36 @@ public:
                                     const BmpFilterParam* pFilterParam = NULL,
                                     const Link* pProgress = NULL );
 
+    /** Draw a blend frame to the Bitmap
+
+        @param nAlpha
+        The blend value defines how strong the frame will be blended with the
+        existing content, 255 == full coverage, 0 == no frame will be drawn
+
+        @param aColorTopLeft, aColorBottomRight, aColorTopRight, aColorBottomLeft
+        The colors defining the frame. If the version without aColorTopRight and
+        aColorBottomLeft is used, these colors are linearly interpolated from
+        aColorTopLeft and aColorBottomRight using the width and height of the area
+
+        @param rTopLeft
+        The start point of the frame in pixels
+
+        @param rSize
+        The size of the frame in pixels
+     */
+    void DrawBlendFrame(
+        sal_uInt8 nAlpha = 128,
+        Color aColorTopLeft = Color(COL_WHITE),
+        Color aColorBottomRight = Color(COL_BLACK));
+    void DrawBlendFrame(
+        const Point& rTopLeft,
+        const Size& rSize,
+        sal_uInt8 nAlpha = 128,
+        Color   aColorTopLeft = Color(COL_WHITE),
+        Color   aColorTopRight = Color(COL_GRAY),
+        Color   aColorBottomRight = Color(COL_BLACK),
+        Color   aColorBottomLeft = Color(COL_GRAY));
+
     BitmapReadAccess*       AcquireReadAccess();
     BitmapWriteAccess*      AcquireWriteAccess();
     void                    ReleaseAccess( BitmapReadAccess* pAccess );
diff --git a/vcl/source/gdi/bitmap4.cxx b/vcl/source/gdi/bitmap4.cxx
index da2f23d..34238ca 100644
--- a/vcl/source/gdi/bitmap4.cxx
+++ b/vcl/source/gdi/bitmap4.cxx
@@ -1003,3 +1003,200 @@ sal_Bool Bitmap::ImplPopArt( const BmpFilterParam* /*pFilterParam*/, const Link*
 
     return bRet;
 }
+
+// -----------------------------------------------------------------------------
+
+void impMixPixel(BitmapWriteAccess& rAcc, long y, long x, const Color& rColor, sal_uInt8 nAlpha)
+{
+    const BitmapColor aBitmapColor(rColor);
+
+    if(nAlpha)
+    {
+        if(255 != nAlpha)
+        {
+            BitmapColor aTarget(rAcc.GetColor(y, x));
+
+            aTarget.Merge(aBitmapColor, nAlpha);
+            rAcc.SetPixel(y, x, aTarget);
+        }
+    }
+    else
+    {
+        rAcc.SetPixel(y, x, aBitmapColor);
+    }
+}
+
+inline bool impVisibleX(long x, const Size& rSizePixel)
+{
+    return x >= 0 && x < rSizePixel.Width();
+}
+
+inline bool impVisibleY(long y, const Size& rSizePixel)
+{
+    return y >= 0 && y < rSizePixel.Width();
+}
+
+inline bool impVisibleXY(long y, long x, const Size& rSizePixel)
+{
+    return impVisibleX(x, rSizePixel) && impVisibleY(y, rSizePixel);
+}
+
+void Bitmap::DrawBlendFrame(
+    const Point& rTopLeft,
+    const Size& rSize,
+    sal_uInt8 nAlpha,
+    Color aColorTopLeft,
+    Color aColorTopRight,
+    Color aColorBottomRight,
+    Color aColorBottomLeft)
+{
+    if(!IsEmpty())
+    {
+        const Size aSizePixel(GetSizePixel());
+
+        if(aSizePixel.Width() && aSizePixel.Height())
+        {
+            const long nW(rSize.Width());
+            const long nH(rSize.Height());
+
+            if(nW || nH)
+            {
+                BitmapWriteAccess* pAcc = AcquireWriteAccess();
+                const long nStartX(rTopLeft.X());
+                const long nStartY(rTopLeft.X());
+                const long nEndX(rTopLeft.X() + nW);
+                const long nEndY(rTopLeft.X() + nH);
+                long x(nStartX);
+                long y(nStartY);
+
+                if(pAcc)
+                {
+                    if(impVisibleXY(y, x, aSizePixel))
+                    {
+                        // x == nStartX, y == nStartY
+                        impMixPixel(*pAcc, y, x, aColorTopLeft, nAlpha);
+                    }
+
+                    if(impVisibleY(y, aSizePixel))
+                    {
+                        for(x = 1; x < nEndX - 1; x++) // y == nStartY
+                        {
+                            if(impVisibleX(x, aSizePixel))
+                            {
+                                Color aMix(aColorTopLeft);
+                                aMix.Merge(aColorTopRight, 255 - sal_uInt8(((x - nStartX) * 255) / nW));
+                                impMixPixel(*pAcc, y, x, aMix, nAlpha);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        x = nEndX - 1;
+                    }
+
+                    if(impVisibleXY(y, x, aSizePixel))
+                    {
+                        // x == nEndX - 1, y == nStartY
+                        impMixPixel(*pAcc, y, x, aColorTopRight, nAlpha);
+                    }
+
+                    const bool bLeftVisible(impVisibleX(nStartX, aSizePixel));
+                    const bool bRightVisible(impVisibleX(x, aSizePixel));
+
+                    if(bLeftVisible || bRightVisible)
+                    {
+                        if(bLeftVisible)
+                        {
+                            for(y = 1; y < nEndY - 1; y++) // x == nStartX and nEndX-1
+                            {
+                                if(impVisibleY(y, aSizePixel))
+                                {
+                                    Color aMix(aColorTopLeft);
+                                    aMix.Merge(aColorBottomLeft, 255 - sal_uInt8(((y - nStartY) * 255) / nH));
+                                    impMixPixel(*pAcc, y, nStartX, aMix, nAlpha);
+                                }
+                            }
+                        }
+
+                        if(bRightVisible)
+                        {
+                            for(y = 1; y < nEndY - 1; y++) // x == nStartX and nEndX-1
+                            {
+                                if(impVisibleY(y, aSizePixel))
+                                {
+                                    Color aMix(aColorTopRight);
+                                    aMix.Merge(aColorBottomRight, 255 - sal_uInt8(((y -nStartY) * 255) / nH));
+                                    impMixPixel(*pAcc, y, x, aMix, nAlpha);
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        y = nEndY - 1;
+                    }
+
+                    if(impVisibleXY(y, x, aSizePixel))
+                    {
+                        x = nStartX; // x == nStartX, y == nEndY-1
+                        impMixPixel(*pAcc, y, x, aColorBottomLeft, nAlpha);
+                    }
+
+                    if(impVisibleY(y, aSizePixel))
+                    {
+                        for(x = 1; x < nEndX - 1; x++) // y == nEndY-1
+                        {
+                            if(impVisibleX(x, aSizePixel))
+                            {
+                                Color aMix(aColorBottomLeft);
+                                aMix.Merge(aColorBottomRight, 255 - sal_uInt8(((x - nStartX)* 255) / nW));
+                                impMixPixel(*pAcc, y, x, aMix, nAlpha);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        x = nEndX - 1;
+                    }
+
+                    if(impVisibleXY(y, x, aSizePixel))
+                    {
+                        // x == nEndX - 1, y == nEndY - 1
+                        impMixPixel(*pAcc, y, x, aColorBottomRight, nAlpha);
+                    }
+
+                    ReleaseAccess(pAcc);
+                }
+            }
+        }
+    }
+}
+
+void Bitmap::DrawBlendFrame(
+    sal_uInt8 nAlpha,
+    Color aColorTopLeft,
+    Color aColorBottomRight)
+{
+    if(!IsEmpty())
+    {
+        const Point aTopLeft(0, 0);
+        const Size aSize(GetSizePixel());
+        const sal_uInt32 nW(aSize.Width());
+        const sal_uInt32 nH(aSize.Height());
+
+        if(nW || nH)
+        {
+            Color aColTopRight(aColorTopLeft);
+            Color aColBottomLeft(aColorTopLeft);
+            const sal_uInt32 nDE(nW + nH);
+
+            aColTopRight.Merge(aColorBottomRight, 255 - sal_uInt8((nW * 255) / nDE));
+            aColBottomLeft.Merge(aColorBottomRight, 255 - sal_uInt8((nH * 255) / nDE));
+
+            DrawBlendFrame(aTopLeft, aSize, nAlpha, aColorTopLeft, aColTopRight, aColorBottomRight, aColBottomLeft);
+        }
+    }
+}
+
+// -----------------------------------------------------------------------------
+// eof
commit 777eacd9f51f2ed17ece469ad714960ae561489c
Author: Jürgen Schmidt <jsc at apache.org>
Date:   Tue Apr 16 14:56:40 2013 +0000

    #122010# ensure that python 2.7.4 is used under MacOS

diff --git a/configure.in b/configure.in
index e6dc9fe..500f2bd 100644
--- a/configure.in
+++ b/configure.in
@@ -4086,8 +4086,20 @@ dnl ===================================================================
 AC_MSG_CHECKING([which python to use])
 if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then
    with_system_python=yes
-   AC_MSG_RESULT([compiling against MacOSX10.4u.sdk (python version 2.3)])
-   PYTHON_CFLAGS="-I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3"
+
+   _python="/Library/Frameworks/Python.framework/Versions/Current/bin/python" 
+   _python_version=`$_python -c "import platform; print platform.python_version();"`
+   
+   if test "$_python_version" = "2.7.4" ; then
+      AC_MSG_RESULT([compiling against system python (version $_python_version)])
+
+	  _python_ver=`$_python -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'));"`
+	  
+   	  PYTHON_CFLAGS="-I/Library/Frameworks/Python.framework/Versions/$_python_ver/include/python$_python_ver"
+   else
+		AC_MSG_ERROR([Python 2.7.4 is required])
+   fi
+
    PYTHON_LIBS="-framework Python"
 elif test -n "$with_system_python" -o -n "$with_system_libs" && \
 	test "$with_system_python" != "no"; then
commit 687d6ed3e4ecb836634bfda71bb5596e18bbc2e1
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 12:09:48 2013 +0000

    provide complete type of CellInfo before it is used

diff --git a/sw/source/filter/ww8/WW8TableInfo.hxx b/sw/source/filter/ww8/WW8TableInfo.hxx
index 32e08f0..3d327bc 100644
--- a/sw/source/filter/ww8/WW8TableInfo.hxx
+++ b/sw/source/filter/ww8/WW8TableInfo.hxx
@@ -26,6 +26,7 @@
 #include <hash_map>
 #include <string>
 #include <map>
+#include <vector>
 #include <functional>
 #include <boost/shared_ptr.hpp>
 #include <sal/types.h>
@@ -113,7 +114,48 @@ public:
     string toString() const;
 };
 
-class CellInfo;
+class CellInfo
+{
+    SwRect m_aRect;
+    WW8TableNodeInfo * m_pNodeInfo;
+    unsigned long m_nFmtFrmWidth;
+
+public:
+    CellInfo(const SwRect & aRect, WW8TableNodeInfo * pNodeInfo);
+
+    CellInfo(const CellInfo & aRectAndTableInfo)
+        : m_aRect(aRectAndTableInfo.m_aRect),
+          m_pNodeInfo(aRectAndTableInfo.m_pNodeInfo),
+          m_nFmtFrmWidth(aRectAndTableInfo.m_nFmtFrmWidth)
+    {
+    }
+
+    ~CellInfo() {}
+
+    bool operator < (const CellInfo & aCellInfo) const;
+
+    long top() const { return m_aRect.Top(); }
+    long bottom() const { return m_aRect.Bottom(); }
+    long left() const { return m_aRect.Left(); }
+    long right() const { return m_aRect.Right(); }
+    long width() const { return m_aRect.Width(); }
+    long height() const { return m_aRect.Height(); }
+    SwRect getRect() const { return m_aRect; }
+    WW8TableNodeInfo * getTableNodeInfo() const
+    { return m_pNodeInfo; }
+    unsigned long getFmtFrmWidth() const
+    {
+        return m_nFmtFrmWidth;
+    }
+
+    void setFmtFrmWidth(unsigned long nFmtFrmWidth)
+    {
+        m_nFmtFrmWidth = nFmtFrmWidth;
+    }
+
+    ::std::string toString() const;
+};
+
 typedef ::std::multiset<CellInfo, less<CellInfo> > CellInfoMultiSet;
 typedef boost::shared_ptr<CellInfoMultiSet> CellInfoMultiSetPtr;
 
@@ -306,47 +348,6 @@ public:
     WW8TableNodeInfo * reorderByLayout(const SwTable * pTable);
 };
 
-class CellInfo
-{
-    SwRect m_aRect;
-    WW8TableNodeInfo * m_pNodeInfo;
-    unsigned long m_nFmtFrmWidth;
-
-public:
-    CellInfo(const SwRect & aRect, WW8TableNodeInfo * pNodeInfo);
-
-    CellInfo(const CellInfo & aRectAndTableInfo)
-        : m_aRect(aRectAndTableInfo.m_aRect),
-          m_pNodeInfo(aRectAndTableInfo.m_pNodeInfo),
-          m_nFmtFrmWidth(aRectAndTableInfo.m_nFmtFrmWidth)
-    {
-    }
-
-    ~CellInfo() {}
-
-    bool operator < (const CellInfo & aCellInfo) const;
-
-    long top() const { return m_aRect.Top(); }
-    long bottom() const { return m_aRect.Bottom(); }
-    long left() const { return m_aRect.Left(); }
-    long right() const { return m_aRect.Right(); }
-    long width() const { return m_aRect.Width(); }
-    long height() const { return m_aRect.Height(); }
-    SwRect getRect() const { return m_aRect; }
-    WW8TableNodeInfo * getTableNodeInfo() const
-    { return m_pNodeInfo; }
-    unsigned long getFmtFrmWidth() const
-    {
-        return m_nFmtFrmWidth;
-    }
-
-    void setFmtFrmWidth(unsigned long nFmtFrmWidth)
-    {
-        m_nFmtFrmWidth = nFmtFrmWidth;
-    }
-
-    ::std::string toString() const;
-};
-
 }
 #endif // WW8_TABLE_INFO_HXX
+
commit c2968f4101089a8e1c159fb17a5cdf73d681806d
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 12:07:08 2013 +0000

    remove ambiguity of shared_ptr between boost and std namespaces
    
    also a minor cleanup of that code part

diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 0544ab6..d4dcdcf 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -60,7 +60,6 @@
 
 
 using namespace ::std;
-using namespace ::boost;
 using namespace ::sw::mark;
 
 namespace
@@ -363,39 +362,39 @@ namespace sw { namespace mark
             " - creating duplicate CrossRefBookmark");
 
         // create mark
-        pMark_t pMark;
+        MarkBase* pMarkBase = NULL;
         switch(eType)
         {
             case IDocumentMarkAccess::TEXT_FIELDMARK:
-                pMark = shared_ptr<IMark>(new TextFieldmark(rPaM));
+                pMarkBase = new TextFieldmark(rPaM);
                 break;
             case IDocumentMarkAccess::CHECKBOX_FIELDMARK:
-                pMark = shared_ptr<IMark>(new CheckboxFieldmark(rPaM));
+                pMarkBase = new CheckboxFieldmark(rPaM);
                 break;
             case IDocumentMarkAccess::NAVIGATOR_REMINDER:
-                pMark = shared_ptr<IMark>(new NavigatorReminder(rPaM));
+                pMarkBase = new NavigatorReminder(rPaM);
                 break;
             case IDocumentMarkAccess::BOOKMARK:
-                pMark = shared_ptr<IMark>(new Bookmark(rPaM, KeyCode(), rName, ::rtl::OUString()));
+                pMarkBase = new Bookmark(rPaM, KeyCode(), rName, ::rtl::OUString());
                 break;
             case IDocumentMarkAccess::DDE_BOOKMARK:
-                pMark = shared_ptr<IMark>(new DdeBookmark(rPaM));
+                pMarkBase = new DdeBookmark(rPaM);
                 break;
             case IDocumentMarkAccess::CROSSREF_HEADING_BOOKMARK:
-                pMark = shared_ptr<IMark>(new CrossRefHeadingBookmark(rPaM, KeyCode(), rName, ::rtl::OUString()));
+                pMarkBase = new CrossRefHeadingBookmark(rPaM, KeyCode(), rName, ::rtl::OUString());
                 break;
             case IDocumentMarkAccess::CROSSREF_NUMITEM_BOOKMARK:
-                pMark = shared_ptr<IMark>(new CrossRefNumItemBookmark(rPaM, KeyCode(), rName, ::rtl::OUString()));
+                pMarkBase = new CrossRefNumItemBookmark(rPaM, KeyCode(), rName, ::rtl::OUString());
                 break;
             case IDocumentMarkAccess::UNO_BOOKMARK:
-                pMark = shared_ptr<IMark>(new UnoMark(rPaM));
+                pMarkBase = new UnoMark(rPaM);
                 break;
         }
-        OSL_ENSURE(pMark.get(),
+        OSL_ENSURE( pMarkBase!=NULL,
             "MarkManager::makeMark(..)"
             " - Mark was not created.");
-        MarkBase* pMarkBase = dynamic_cast<MarkBase*>(pMark.get());
 
+        pMark_t pMark = boost::shared_ptr<IMark>( pMarkBase);
         if(pMark->GetMarkPos() != pMark->GetMarkStart())
             pMarkBase->Swap();
 
@@ -762,7 +761,7 @@ namespace sw { namespace mark
         iterator_t pMarkHigh = m_vMarks.end();
         iterator_t pMarkFound = find_if(
             pMarkLow, pMarkHigh,
-            bind(equal_to<const IMark*>(), bind(&shared_ptr<IMark>::get, _1), pMark));
+            bind(equal_to<const IMark*>(), bind(&boost::shared_ptr<IMark>::get, _1), pMark));
         if(pMarkFound != pMarkHigh)
             deleteMark(pMarkFound);
     }
commit 7d6c5e79a17aa2ff392433667187c4bfe4ee2432
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 12:03:08 2013 +0000

    provide complete types of some SdrCustomShapeGeometryItem functors before they are used

diff --git a/svx/inc/svx/sdasitm.hxx b/svx/inc/svx/sdasitm.hxx
index e84b188..d5dbee6 100644
--- a/svx/inc/svx/sdasitm.hxx
+++ b/svx/inc/svx/sdasitm.hxx
@@ -138,5 +138,22 @@ public:
     SdrTextAutoGrowSizeItem( SvStream& rIn )   :        SdrOnOffItem( SDRATTR_TEXT_AUTOGROWSIZE, rIn )   {}
 };
 
+// some useful inline methods
+
+inline bool SdrCustomShapeGeometryItem::PropertyEq::operator()( const rtl::OUString& r1, const rtl::OUString& r2 ) const
+{
+    return r1.equals( r2 );
+}
+
+inline bool SdrCustomShapeGeometryItem::PropertyPairEq::operator()( const SdrCustomShapeGeometryItem::PropertyPair& r1, const SdrCustomShapeGeometryItem::PropertyPair& r2 ) const
+{
+    return ( r1.first.equals( r2.first ) ) && ( r1.second.equals( r2.second ) );
+}
+
+inline size_t SdrCustomShapeGeometryItem::PropertyPairHash::operator()( const SdrCustomShapeGeometryItem::PropertyPair &r1 ) const
+{
+    return (size_t)r1.first.hashCode() + r1.second.hashCode();
+};
+
 #endif
 
diff --git a/svx/source/items/customshapeitem.cxx b/svx/source/items/customshapeitem.cxx
index 436f868..e7384a6 100644
--- a/svx/source/items/customshapeitem.cxx
+++ b/svx/source/items/customshapeitem.cxx
@@ -43,19 +43,6 @@ SdrCustomShapeDataItem::SdrCustomShapeDataItem( const String& rVal )
 :   SfxStringItem( SDRATTR_CUSTOMSHAPE_DATA, rVal )
 {}
 
-bool SdrCustomShapeGeometryItem::PropertyEq::operator()( const rtl::OUString& r1, const rtl::OUString& r2 ) const
-{
-    return r1.equals( r2 );
-}
-bool SdrCustomShapeGeometryItem::PropertyPairEq::operator()( const SdrCustomShapeGeometryItem::PropertyPair& r1, const SdrCustomShapeGeometryItem::PropertyPair& r2 ) const
-{
-    return ( r1.first.equals( r2.first ) ) && ( r1.second.equals( r2.second ) );
-}
-size_t SdrCustomShapeGeometryItem::PropertyPairHash::operator()( const SdrCustomShapeGeometryItem::PropertyPair &r1 ) const
-{
-    return (size_t)r1.first.hashCode() + r1.second.hashCode();
-};
-
 TYPEINIT1_FACTORY( SdrCustomShapeGeometryItem, SfxPoolItem , new  SdrCustomShapeGeometryItem);
 SdrCustomShapeGeometryItem::SdrCustomShapeGeometryItem()
 :   SfxPoolItem( SDRATTR_CUSTOMSHAPE_GEOMETRY )
commit 198a9ea77139149c57515c708002b163895ec25f
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:57:07 2013 +0000

    assume STL to always be newer than stlport's version from 2002

diff --git a/connectivity/source/inc/java/lang/Object.hxx b/connectivity/source/inc/java/lang/Object.hxx
index a081b7f..50c1b78 100644
--- a/connectivity/source/inc/java/lang/Object.hxx
+++ b/connectivity/source/inc/java/lang/Object.hxx
@@ -23,10 +23,8 @@
 #ifndef _CONNECTIVITY_JAVA_LANG_OBJECT_HXX_
 #define _CONNECTIVITY_JAVA_LANG_OBJECT_HXX_
 
-#if STLPORT_VERSION>=321
 // jni.h needs cstdarg for std::va_list
 #include <cstdarg>
-#endif
 #include <osl/thread.h>
 #include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 7b3a7a1..8694254 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -28,11 +28,7 @@
 
 // INCLUDE ---------------------------------------------------------------
 
-#if STLPORT_VERSION<321
-#include <stddef.h>
-#else
 #include <cstddef>
-#endif
 #include <cstdio>
 
 #include <string.h>
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index ddceabf..fb22e4b 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -28,11 +28,7 @@
 
 // INCLUDE ---------------------------------------------------------------
 
-#if STLPORT_VERSION<321
-#include <stddef.h>
-#else
 #include <cstddef>
-#endif
 #include <cstdio>
 
 #include <string.h>
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 4093b76..2c796be 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -32,9 +32,7 @@
 using namespace ::com::sun::star;
 
 // INCLUDE ---------------------------------------------------------------
-#if STLPORT_VERSION>=321
 #include <math.h>       // prevent conflict between exception and std::exception
-#endif
 
 #include "scitems.hxx"
 #include <sfx2/fcontnr.hxx>
diff --git a/svl/inc/svl/itemset.hxx b/svl/inc/svl/itemset.hxx
index 4da844e..17866ae 100644
--- a/svl/inc/svl/itemset.hxx
+++ b/svl/inc/svl/itemset.hxx
@@ -25,11 +25,7 @@
 
 #include "svl/svldllapi.h"
 
-#if STLPORT_VERSION<321
-#include <stdarg.h>
-#else
 #include <cstdarg>  // std::va_list and friends
-#endif
 #include <svl/poolitem.hxx>
 #include <tools/rtti.hxx>
 #include <tools/solar.h>
diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 7624647..ddf9851 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -25,10 +25,7 @@
 #include "precompiled_svl.hxx"
 
 #include <string.h>
-
-#if STLPORT_VERSION>=321
 #include <cstdarg>
-#endif
 
 #define _SVSTDARR_USHORTS
 #define _SVSTDARR_ULONGS
diff --git a/sw/source/ui/app/appenv.cxx b/sw/source/ui/app/appenv.cxx
index 34b3b4b..fdf7101 100644
--- a/sw/source/ui/app/appenv.cxx
+++ b/sw/source/ui/app/appenv.cxx
@@ -24,11 +24,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
-#if STLPORT_VERSION>=321
 #include <cstdarg>
-#endif
-
 
 #include <hintids.hxx>
 
diff --git a/sw/source/ui/app/applab.cxx b/sw/source/ui/app/applab.cxx
index 7761520..388e298 100644
--- a/sw/source/ui/app/applab.cxx
+++ b/sw/source/ui/app/applab.cxx
@@ -24,11 +24,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
-#if STLPORT_VERSION>=321
 #include <cstdarg>
-#endif
-
 
 #include <hintids.hxx>
 
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index 1aa19a0..e33ee9d 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -23,11 +23,10 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
-#if STLPORT_VERSION>=321
+
 #include <cstdarg>
-#endif
+#include <cstdio>
 
-#include <stdio.h>
 #include <unotxdoc.hxx>
 #include <com/sun/star/text/NotePrintMode.hpp>
 #include <sfx2/app.hxx>
diff --git a/sw/source/ui/shells/textsh2.cxx b/sw/source/ui/shells/textsh2.cxx
index 4e20b4d..be13189 100644
--- a/sw/source/ui/shells/textsh2.cxx
+++ b/sw/source/ui/shells/textsh2.cxx
@@ -24,11 +24,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
 
-
-
-#if STLPORT_VERSION>=321
 #include <cstdarg>
-#endif
 
 #include <svtools/svmedit.hxx>
 #include <svl/eitem.hxx>
diff --git a/sw/source/ui/uiview/viewprt.cxx b/sw/source/ui/uiview/viewprt.cxx
index 65e0a0e..43c6166 100644
--- a/sw/source/ui/uiview/viewprt.cxx
+++ b/sw/source/ui/uiview/viewprt.cxx
@@ -26,9 +26,7 @@
 
 #include <com/sun/star/text/NotePrintMode.hpp>
 
-#if STLPORT_VERSION>=321
 #include <cstdarg>
-#endif
 
 #ifndef _CMDID_H
 #include <cmdid.h>
diff --git a/sw/source/ui/wrtsh/wrtsh1.cxx b/sw/source/ui/wrtsh/wrtsh1.cxx
index 108f9d2..a9dbd10 100644
--- a/sw/source/ui/wrtsh/wrtsh1.cxx
+++ b/sw/source/ui/wrtsh/wrtsh1.cxx
@@ -33,9 +33,7 @@
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
 
-#if STLPORT_VERSION>=321
 #include <math.h>   // prevent conflict between exception and std::exception
-#endif
 #include <hintids.hxx>
 #include <svx/svdview.hxx>
 #include <sot/factory.hxx>
commit 6a88a21257124d953637c4b8ead9c9771e15b899
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:41:34 2013 +0000

    eliminate type ambiguity for std::accumulate() invocation
    
    else clang/libc++ cannot decide between bool and a reference into a bit-vector specialization

diff --git a/slideshow/source/engine/activities/activitiesfactory.cxx b/slideshow/source/engine/activities/activitiesfactory.cxx
index 7491228..777aca0 100644
--- a/slideshow/source/engine/activities/activitiesfactory.cxx
+++ b/slideshow/source/engine/activities/activitiesfactory.cxx
@@ -495,7 +495,7 @@ public:
         // interpolate between nIndex and nIndex+1 values
         (*mpAnim)(
             getPresentationValue(
-                accumulate( maValues.back(),
+                accumulate<ValueType>( maValues.back(),
                             mbCumulative ? nRepeatCount : 0,
                             maInterpolator( maValues[ nIndex ],
                                             maValues[ nIndex+1 ],
@@ -515,7 +515,7 @@ public:
         // this is discrete, thus no lerp here.
         (*mpAnim)(
             getPresentationValue(
-                accumulate( maValues.back(),
+                accumulate<ValueType>( maValues.back(),
                             mbCumulative ? nRepeatCount : 0,
                             maValues[ nFrame ] ) ) );
     }
commit 8205d028b8c3ba343d53e0da5d3c4d37122679bb
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:30:25 2013 +0000

    remove obsolete KR style declaration of yyparse()

diff --git a/rsc/source/parser/rsclex.hxx b/rsc/source/parser/rsclex.hxx
index 37bda12..b7b2900 100644
--- a/rsc/source/parser/rsclex.hxx
+++ b/rsc/source/parser/rsclex.hxx
@@ -105,11 +105,7 @@ extern "C" int yyparse();   // forward Deklaration fuer erzeugte Funktion
 extern "C" void yyerror( const char * );
 extern "C" int  yylex( void );
 #else
-#if defined ( WTC ) || defined ( GCC ) || (_MSC_VER >= 1400)
-int yyparse();              // forward Deklaration fuer erzeugte Funktion
-#else
-yyparse();              // forward Deklaration fuer erzeugte Funktion
-#endif
+int yyparse();              // forward declaration for generated function
 void yyerror( char * );
 int  yylex( void );
 #endif
commit f8471fdc7a914f8d260029902e2feecd0b9009dd
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:25:58 2013 +0000

    include the vector header directly which used be included indirectly in stlport<=4

diff --git a/package/inc/ZipPackage.hxx b/package/inc/ZipPackage.hxx
index 467ece1..a047adb 100644
--- a/package/inc/ZipPackage.hxx
+++ b/package/inc/ZipPackage.hxx
@@ -37,6 +37,7 @@
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 
 #include <HashMaps.hxx>
+#include <vector>
 #include <osl/file.h>
 #include <mutexholder.hxx>
 
diff --git a/package/inc/ZipPackageFolder.hxx b/package/inc/ZipPackageFolder.hxx
index 77f693f..774c029 100644
--- a/package/inc/ZipPackageFolder.hxx
+++ b/package/inc/ZipPackageFolder.hxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <com/sun/star/beans/StringPair.hpp>
 #include <HashMaps.hxx>
+#include <vector>
 #include <ZipPackageEntry.hxx>
 #include <cppuhelper/implbase2.hxx>
 
commit c73bc9587bdcf6a5d3add454fe3383fc9d2c1e65
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:23:34 2013 +0000

    provide complete types of FragmentHandler and RecordInfo before they are used

diff --git a/oox/inc/oox/core/recordparser.hxx b/oox/inc/oox/core/recordparser.hxx
index 00d0ffc..814a290 100644
--- a/oox/inc/oox/core/recordparser.hxx
+++ b/oox/inc/oox/core/recordparser.hxx
@@ -29,13 +29,11 @@
 #include <com/sun/star/xml/sax/SAXException.hpp>
 #include <rtl/ref.hxx>
 #include "oox/helper/binaryinputstream.hxx"
+#include "oox/core/fragmenthandler.hxx"
 
 namespace oox {
 namespace core {
 
-class FragmentHandler;
-struct RecordInfo;
-
 namespace prv { class Locator; }
 namespace prv { class ContextStack; }
 
commit a88630fb326fa4dcbe28edd1c149c8e5e7b7f123
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:20:17 2013 +0000

    use NSString objects for NSSpellChecker and not their NSObject bases

diff --git a/lingucomponent/source/spellcheck/macosxspell/macspellimp.cxx b/lingucomponent/source/spellcheck/macosxspell/macspellimp.cxx
index 53f0720..cc7494b 100644
--- a/lingucomponent/source/spellcheck/macosxspell/macspellimp.cxx
+++ b/lingucomponent/source/spellcheck/macosxspell/macspellimp.cxx
@@ -114,11 +114,8 @@ Sequence< Locale > SAL_CALL MacSpellChecker::getLocales()
         SvtPathOptions aPathOpt;
         rtl_TextEncoding aEnc = RTL_TEXTENCODING_UTF8;
 
-        std::vector<objc_object *> postspdict;
-        std::vector<objc_object *> postupdict;
-        //std::vector<dictentry *> postspdict;
-        //std::vector<dictentry *> postupdict;
-
+        std::vector<NSString*> postspdict;
+        std::vector<NSString*> postupdict;
 
     if (!numdict) {
 
@@ -131,9 +128,10 @@ Sequence< Locale > SAL_CALL MacSpellChecker::getLocales()
         //Test for existence of the dictionaries
         for (unsigned int i = 0; i < [aLocales count]; i++)
         {
-            if( [macSpell setLanguage:[aLocales objectAtIndex:i] ] )
+            NSString* pLangStr = (NSString*)[aLocales objectAtIndex:i];
+            if( [macSpell setLanguage:pLangStr ] )
             {
-                postspdict.push_back( [ aLocales objectAtIndex:i ] );
+                postspdict.push_back( pLangStr );
             }
         }
 
commit c597180bd15a3c05aac5d30e8e2773d1c6d02f28
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:13:56 2013 +0000

    rename local method is_empty() as it is now also part of the std namespace
    
    also mark some related local functions as static

diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index 602d683..ba8fa20 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -158,27 +158,27 @@ LocaleNode* LocaleNode::createNode (const OUString& name, const Reference< XAttr
 
 #define OSTR(s) (OUStringToOString( (s), RTL_TEXTENCODING_UTF8).getStr())
 
-void print_OUString( const OUString& s )
+static void print_OUString( const OUString& s )
 {
     printf( "%s", OSTR(s));
 }
 
-bool is_empty( const OUString& s )
+static bool is_empty_string( const OUString& s )
 {
      return (s.getLength()==0) || (s.getLength()==1 && s[0]=='\n');
 }
 
-void print_indent( int depth )
+static void print_indent( int depth )
 {
      for( int i=0; i<depth; i++ ) printf("    ");
 }
 
-void print_color( int color )
+static void print_color( int color )
 {
      printf("\033[%dm", color);
 }
 
-void print_node( const LocaleNode* p, int depth=0 )
+static void print_node( const LocaleNode* p, int depth=0 )
 {
      if( !p ) return;
 
@@ -206,7 +206,7 @@ void print_node( const LocaleNode* p, int depth=0 )
      }
      printf(">");
      printf("\n");
-     if( !is_empty( p->getValue() ) )
+     if( !is_empty_string( p->getValue() ) )
      {
           print_indent( depth+1 );
           printf("value: ");
commit 72e409cabd52ff27367ee70027ad4a9bcd70cf8d
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 11:06:04 2013 +0000

    allow unusual fill_n specialization for bitvectors
    
    Work around libc++'s specialization for fill_n() not returning the matching OutputIterator.

diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
index c73d79f..d67ca59 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
@@ -513,9 +513,8 @@ extern "C" int unopkg_main()
                 //Now prepare the vector which tells what extension has an
                 //unaccepted license
                 vecUnaccepted.resize(vecExtUnaccepted.size() + vec_packages.size());
-                ::std::vector<bool>::iterator i_unaccepted =
-                      ::std::fill_n(vecUnaccepted.begin(),
-                                    vecExtUnaccepted.size(), true);
+                ::std::fill_n( vecUnaccepted.begin(), vecExtUnaccepted.size(), true);
+                std::vector<bool>::iterator i_unaccepted = vecUnaccepted.begin() + vecExtUnaccepted.size();
                 ::std::fill_n(i_unaccepted, vec_packages.size(), false);
 
                 dp_misc::writeConsole(
commit cadc6e9b8ba3b9cd7499d33e10c5984d5f20e97c
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 10:43:29 2013 +0000

    also deliver boost's move headers

diff --git a/boost/makefile.mk b/boost/makefile.mk
index f27e314..18e988d 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -115,6 +115,7 @@ $(PACKAGE_DIR)$/$(NORMALIZE_FLAG_FILE) : $(PACKAGE_DIR)$/$(BUILD_FLAG_FILE)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/lambda $(INCCOM)$/$(PRJNAME)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/logic $(INCCOM)$/$(PRJNAME)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/math $(INCCOM)$/$(PRJNAME)
+    @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/move $(INCCOM)$/$(PRJNAME)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/mpi $(INCCOM)$/$(PRJNAME)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/mpl $(INCCOM)$/$(PRJNAME)
     @$(GNUCOPY) -R $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/msm $(INCCOM)$/$(PRJNAME)
diff --git a/boost/prj/d.lst b/boost/prj/d.lst
index 0bc3717..898b926 100644
--- a/boost/prj/d.lst
+++ b/boost/prj/d.lst
@@ -1037,8 +1037,9 @@ mkdir: %_DEST%\inc%_EXT%\boost\xpressive\traits\detail
 ..\%__SRC%\inc\boost\math\special_functions\detail\* %_DEST%\inc%_EXT%\boost\math\special_functions\detail
 ..\%__SRC%\inc\boost\math\tools\* %_DEST%\inc%_EXT%\boost\math\tools
 ..\%__SRC%\inc\boost\math\tools\detail\* %_DEST%\inc%_EXT%\boost\math\tools\detail
-..\%__SRC%\inc\boost\mpi\collectives\* %_DEST%\inc%_EXT%\boost\mpi\collectives
+..\%__SRC%\inc\boost\move\* %_DEST%\inc%_EXT%\boost\move
 ..\%__SRC%\inc\boost\mpi\* %_DEST%\inc%_EXT%\boost\mpi
+..\%__SRC%\inc\boost\mpi\collectives\* %_DEST%\inc%_EXT%\boost\mpi\collectives
 ..\%__SRC%\inc\boost\mpi\detail\* %_DEST%\inc%_EXT%\boost\mpi\detail
 ..\%__SRC%\inc\boost\mpi\python\* %_DEST%\inc%_EXT%\boost\mpi\python
 ..\%__SRC%\inc\boost\mpl\aux_\config\* %_DEST%\inc%_EXT%\boost\mpl\aux_\config
commit cead0080e9fbec9d9087ad05fe20b216020486a9
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 10:32:45 2013 +0000

    complete type Bridge::SubStub before it is used

diff --git a/binaryurp/source/bridge.cxx b/binaryurp/source/bridge.cxx
index cd0762b..02d01f4 100644
--- a/binaryurp/source/bridge.cxx
+++ b/binaryurp/source/bridge.cxx
@@ -165,12 +165,6 @@ void PopOutgoingRequest::clear() {
 
 }
 
-struct Bridge::SubStub {
-    com::sun::star::uno::UnoInterfaceReference object;
-
-    sal_uInt32 references;
-};
-
 Bridge::Bridge(
     rtl::Reference< BridgeFactory > const & factory, rtl::OUString const & name,
     css::uno::Reference< css::connection::XConnection > const & connection,
diff --git a/binaryurp/source/bridge.hxx b/binaryurp/source/bridge.hxx
index 05bfaf9..fc2913c 100644
--- a/binaryurp/source/bridge.hxx
+++ b/binaryurp/source/bridge.hxx
@@ -229,7 +229,10 @@ private:
                 com::sun::star::lang::XEventListener > >
         Listeners;
 
-    struct SubStub;
+    struct SubStub {
+        com::sun::star::uno::UnoInterfaceReference object;
+        sal_uInt32 references;
+    };
 
     typedef std::map< com::sun::star::uno::TypeDescription, SubStub > Stub;
 
commit fb8df93381493dee3d0e511c556d82d1f177367a
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 10:27:35 2013 +0000

    use XShapeHash type to make this *_map compatible with the corresponding TR1 container
    
    The TR1 containers don't support dynamic hash functions provided in their constructor.
    Having the hash functor as part the hash container's type is cleaner anyway.

diff --git a/animations/source/animcore/targetpropertiescreator.cxx b/animations/source/animcore/targetpropertiescreator.cxx
index fbe18e3..783ef66 100644
--- a/animations/source/animcore/targetpropertiescreator.cxx
+++ b/animations/source/animcore/targetpropertiescreator.cxx
@@ -143,29 +143,29 @@ namespace animcore
             }
         };
 
-        // A hash map which maps a XShape to the corresponding vector of initial properties
-        typedef ::std::hash_map< ShapeHashKey,
-                                 VectorOfNamedValues,
-                                 ::std::size_t (*)(const ShapeHashKey&) > XShapeHash;
-
-        ::std::size_t refhasher( const ShapeHashKey& rKey )
+        // A hash functor for ShapeHashKey objects
+        struct ShapeKeyHasher {
+        ::std::size_t operator()( const ShapeHashKey& rKey ) const
         {
-            // TODO(P2): Maybe a better hash function would be to
-            // spread mnParagraphIndex to 32 bit: a0b0c0d0e0... Hakmem
-            // should have a formula.
-            //
-            // Yes it has:
-            // x = (x & 0x0000FF00) << 8) | (x >> 8) & 0x0000FF00 | x & 0xFF0000FF;
-            // x = (x & 0x00F000F0) << 4) | (x >> 4) & 0x00F000F0 | x & 0xF00FF00F;
-            // x = (x & 0x0C0C0C0C) << 2) | (x >> 2) & 0x0C0C0C0C | x & 0xC3C3C3C3;
-            // x = (x & 0x22222222) << 1) | (x >> 1) & 0x22222222 | x & 0x99999999;
-            //
-            // Costs about 17 cycles on a RISC machine with infinite
-            // instruction level parallelism (~42 basic
-            // instructions). Thus I truly doubt this pays off...
-            return reinterpret_cast< ::std::size_t >(rKey.mxRef.get()) ^ (rKey.mnParagraphIndex << 16L);
+        // TODO(P2): Maybe a better hash function would be to
+        // spread mnParagraphIndex to 32 bit: a0b0c0d0e0... Hakmem
+        // should have a formula.
+        //
+        // Yes it has:
+        // x = (x & 0x0000FF00) << 8) | (x >> 8) & 0x0000FF00 | x & 0xFF0000FF;
+        // x = (x & 0x00F000F0) << 4) | (x >> 4) & 0x00F000F0 | x & 0xF00FF00F;
+        // x = (x & 0x0C0C0C0C) << 2) | (x >> 2) & 0x0C0C0C0C | x & 0xC3C3C3C3;
+        // x = (x & 0x22222222) << 1) | (x >> 1) & 0x22222222 | x & 0x99999999;
+        //
+        // Costs about 17 cycles on a RISC machine with infinite
+        // instruction level parallelism (~42 basic
+        // instructions). Thus I truly doubt this pays off...
+        return reinterpret_cast< ::std::size_t >(rKey.mxRef.get()) ^ (rKey.mnParagraphIndex << 16L);
         }
+    };
 
+        // A hash map which maps a XShape to the corresponding vector of initial properties
+        typedef ::std::hash_map< ShapeHashKey, VectorOfNamedValues, ShapeKeyHasher > XShapeHash;
 
         class NodeFunctor
         {
@@ -430,8 +430,7 @@ namespace animcore
 
         // scan all nodes for visibility changes, and record first
         // 'visibility=true' for each shape
-        XShapeHash aShapeHash( 101,
-                               &refhasher );
+        XShapeHash aShapeHash( 101 );
 
         NodeFunctor aFunctor( aShapeHash );
 
commit e8c13442bf24de7d79a6450acf80a6d0ce6a5a9e
Author: Herbert Dürr <hdu at apache.org>
Date:   Tue Apr 16 08:43:45 2013 +0000

    on OSX the ECX register is not preserved for IA32 stdcalls
    
    the function call convention for IA32 apps on OSX documented at
    http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/LowLevelABI/130-IA-32_Function_Calling_Conventions/IA32.html
    indicates that ECX is not preserved.

diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
index d7f64ce..2f6179b 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
@@ -78,45 +78,48 @@ void callVirtualMethod(
     // never called
     if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
 
+    // see the function call convention for IA32 apps on OSX at
+    // http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/LowLevelABI/130-IA-32_Function_Calling_Conventions/IA32.html
+    // though it mentions that virtual functions may use something different in practice both gcc and clang use the stdcall convention
     volatile long edx = 0, eax = 0; // for register returns
     void * stackptr;
     asm volatile (
         "mov   %%esp, %6\n\t"
         "mov   %0, %%eax\n\t"
         "mov   %%eax, %%edx\n\t"
-                // stack padding to keep stack aligned:
+                // padding to keep stack 16-byte aligned
         "shl   $2, %%eax\n\t"
         "neg   %%eax\n\t"
         "add   %%esp, %%eax\n\t"
         "and   $0xf, %%eax\n\t"
         "sub   %%eax, %%esp\n\t"
-                // copy:
+                // push the arguments onto the stack
         "mov   %%edx, %%eax\n\t"
         "dec   %%edx\n\t"
         "shl   $2, %%edx\n\t"
         "add   %1, %%edx\n"
-        "Lcopy:\n\t"
+    "Lcopy:\n\t"
         "pushl 0(%%edx)\n\t"
         "sub   $4, %%edx\n\t"
         "dec   %%eax\n\t"
         "jne   Lcopy\n\t"
         // do the actual call
-        "mov   %2, %%edx\n\t"
-        "mov   0(%%edx), %%edx\n\t"
+        "mov   %2, %%edx\n\t"       // edx = this
+        "mov   0(%%edx), %%edx\n\t" // edx = vtable
         "mov   %3, %%eax\n\t"
         "shl   $2, %%eax\n\t"
-        "add   %%eax, %%edx\n\t"
-        "mov   0(%%edx), %%edx\n\t"
+        "add   %%eax, %%edx\n\t"    // func** edx = vtable[n]
+        "mov   0(%%edx), %%edx\n\t" // func* edx
         "call  *%%edx\n\t"
         // save return registers
          "mov   %%eax, %4\n\t"
          "mov   %%edx, %5\n\t"
-        // cleanup stack
+        // restore stack
         "mov   %6, %%esp\n\t"
         :
         : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
           "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-        : "eax", "edx" );
+        : "eax", "ecx", "edx" );
     switch( pReturnTypeDescr->eTypeClass )
     {
     case typelib_TypeClass_VOID:
@@ -124,6 +127,7 @@ void callVirtualMethod(
     case typelib_TypeClass_HYPER:
     case typelib_TypeClass_UNSIGNED_HYPER:
         ((long*)pRegisterReturn)[1] = edx;
+    // fall through
     case typelib_TypeClass_LONG:
     case typelib_TypeClass_UNSIGNED_LONG:
     case typelib_TypeClass_CHAR:
commit 68e707bbc6fe23881b822e6efab8a2933343dc1a
Author: Armin Le Grand <alg at apache.org>
Date:   Tue Apr 16 08:41:07 2013 +0000

    i122041 Unified and centralized control for Color ValueSets

diff --git a/cui/source/inc/backgrnd.hxx b/cui/source/inc/backgrnd.hxx
index 5057829..fc298d0 100644
--- a/cui/source/inc/backgrnd.hxx
+++ b/cui/source/inc/backgrnd.hxx
@@ -32,7 +32,7 @@
 #ifndef _GRAPH_HXX //autogen
 #include <vcl/graph.hxx>
 #endif
-#include <svtools/valueset.hxx>
+#include <svx/SvxColorValueSet.hxx>
 #include <svx/dlgctrl.hxx>
 
 // class SvxBackgroundTabPage --------------------------------------------
@@ -89,7 +89,7 @@ private:
      ListBox                 aParaLBox;
     // Hintergrundfarbe ------------------------------------
     Control                 aBorderWin;
-    ValueSet                aBackgroundColorSet;
+    SvxColorValueSet        aBackgroundColorSet;
     FixedLine               aBackgroundColorBox;
     BackgroundPreviewImpl*  pPreviewWin1;
     //color transparency
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index 224b667..421c234 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -26,6 +26,7 @@
 // include ---------------------------------------------------------------
 
 #include <svx/tabarea.hxx>
+#include <svx/SvxColorValueSet.hxx>
 
 /*************************************************************************
 |*
@@ -698,7 +699,7 @@ private:
     ColorLB             aLbColor;
 
     FixedText           aTableNameFT;
-    ValueSet            aValSetColorTable;
+    SvxColorValueSet    aValSetColorTable;
 
     SvxXRectPreview     aCtlPreviewOld;
     SvxXRectPreview     aCtlPreviewNew;
@@ -749,7 +750,8 @@ private:
     sal_uInt16  ColorToPercent_Impl( sal_uInt16 nColor );
     sal_uInt16  PercentToColor_Impl( sal_uInt16 nPercent );
 
-    void    FillValueSet_Impl( ValueSet& rVs );
+    void ImpColorCountChanged();
+
     //-----------------------------------------------------------------------------------------------------
     DECL_LINK( ClickAddHdl_Impl, void * );      // Button 'Hinzufuegen'
     DECL_LINK( ClickModifyHdl_Impl, void * );   // Button 'Aendern'
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index f84bc45..1995b94 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -401,6 +401,9 @@ SvxBackgroundTabPage::SvxBackgroundTabPage( Window* pParent,
     FillColorValueSets_Impl();
 
     aBackgroundColorSet.SetSelectHdl( HDL(BackgroundColorHdl_Impl) );
+    aBackgroundColorSet.SetStyle(aBackgroundColorSet.GetStyle() | WB_ITEMBORDER | WB_NAMEFIELD | WB_NONEFIELD);
+    aBackgroundColorSet.SetText(SVX_RESSTR(RID_SVXSTR_TRANSPARENT));
+    aBackgroundColorSet.SetAccessibleName(aBackgroundColorBox.GetText());
     FreeResource();
 
     aBtnBrowse.SetAccessibleRelationMemberOf(&aGbFile);
@@ -1195,54 +1198,50 @@ void SvxBackgroundTabPage::FillColorValueSets_Impl()
     SfxObjectShell* pDocSh = SfxObjectShell::Current();
     const SfxPoolItem* pItem = NULL;
     XColorList* pColorTable = NULL;
-    const Size aSize15x15 = Size( 15, 15 );
-    FASTBOOL bOwn = sal_False;
+    bool bOwn(false);
+    long nColorCount(0);
 
     if ( pDocSh && ( 0 != ( pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) ) )
+    {
         pColorTable = ( (SvxColorTableItem*)pItem )->GetColorTable();
+    }
 
     if ( !pColorTable )
     {
-        bOwn = sal_True;
+        bOwn = true;
         pColorTable = new XColorList( SvtPathOptions().GetPalettePath() );
     }
 
     if ( pColorTable )
     {
-        short i = 0;
-        long nCount = pColorTable->Count();
-        XColorEntry* pEntry = NULL;
-        Color aColWhite( COL_WHITE );
-        String aStrWhite( EditResId( RID_SVXITEMS_COLOR_WHITE ) );
-        WinBits nBits = ( aBackgroundColorSet.GetStyle() | WB_ITEMBORDER | WB_NAMEFIELD | WB_NONEFIELD );
-        aBackgroundColorSet.SetText( SVX_RESSTR( RID_SVXSTR_TRANSPARENT ) );
-        aBackgroundColorSet.SetStyle( nBits );
-        aBackgroundColorSet.SetAccessibleName(aBackgroundColorBox.GetText());
-        for ( i = 0; i < nCount; i++ )
-        {
-            pEntry = pColorTable->GetColor(i);
-            aBackgroundColorSet.InsertItem( i + 1, pEntry->GetColor(), pEntry->GetName() );
-        }
+        nColorCount = pColorTable->Count();
+        aBackgroundColorSet.Clear();
+        aBackgroundColorSet.addEntriesForXColorList(*pColorTable);
 
-        while ( i < 80 )
+        if(bOwn)
         {
-            aBackgroundColorSet.InsertItem( i + 1, aColWhite, aStrWhite );
-            i++;
-        }
-
-        if ( nCount > 80 )
-        {
-            aBackgroundColorSet.SetStyle( nBits | WB_VSCROLL );
+            delete pColorTable;
         }
     }
 
-    if ( bOwn )
-        delete pColorTable;
-
-    aBackgroundColorSet.SetColCount( 10 );
-    aBackgroundColorSet.SetLineCount( 10 );
-    aBackgroundColorSet.CalcWindowSizePixel( aSize15x15 );
-
+    const WinBits nBits(aBackgroundColorSet.GetStyle() | WB_ITEMBORDER | WB_NAMEFIELD | WB_NONEFIELD);
+    aBackgroundColorSet.SetStyle(nBits);
+    aBackgroundColorSet.SetColCount(aBackgroundColorSet.getColumnCount());
+
+    // here we have enough space to the left, so layout with fixed column size
+    // and fixed height, adapt width. Apply the adapted width by moving the left
+    // edge of the control to the left, keeping the right edge aligned
+    // with the original position
+    const Point aCurrentPosContainer(aBorderWin.GetPosPixel());
+    const Size aCurrentSizeContainer(aBorderWin.GetOutputSizePixel());
+    const Size aCurrentSizeContent(aBackgroundColorSet.GetOutputSizePixel());
+    const Size aNewSizeContent(aBackgroundColorSet.layoutToGivenHeight(aCurrentSizeContent.Height() - 4, nColorCount));
+    const Size aNewSizeContainer(aNewSizeContent.Width() + 4, aNewSizeContent.Height() + 4);
+    const Point aNewPos((aCurrentPosContainer.X() + aCurrentSizeContainer.Width()) - aNewSizeContainer.Width(), aCurrentPosContainer.Y());
+
+    aBorderWin.SetOutputSizePixel(aNewSizeContainer);
+    aBackgroundColorSet.SetOutputSizePixel(aNewSizeContent);
+    aBorderWin.SetPosSizePixel(aNewPos, aNewSizeContainer);
 }
 
 //------------------------------------------------------------------------
diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx
index 1928e23..bc349df 100644
--- a/cui/source/tabpages/tpcolor.cxx
+++ b/cui/source/tabpages/tpcolor.cxx
@@ -163,10 +163,7 @@ SvxColorTabPage::SvxColorTabPage
     aBtnSave.SetClickHdl( LINK( this, SvxColorTabPage, ClickSaveHdl_Impl ) );
 
     // ValueSet
-    aValSetColorTable.SetStyle( aValSetColorTable.GetStyle() | WB_VSCROLL | WB_ITEMBORDER );
-    aValSetColorTable.SetColCount( 8 );
-    aValSetColorTable.SetLineCount( 10 );
-    aValSetColorTable.SetExtraSpacing( 0 );
+    aValSetColorTable.SetStyle( aValSetColorTable.GetStyle() | WB_ITEMBORDER );
     aValSetColorTable.Show();
 
     aLbColorModel.SetAccessibleName( String( CUI_RES(STR_CUI_COLORMODEL) ) );
@@ -178,10 +175,37 @@ SvxColorTabPage::SvxColorTabPage
 
 // -----------------------------------------------------------------------
 
+void SvxColorTabPage::ImpColorCountChanged()
+{
+    if(pColorTab)
+    {
+        aValSetColorTable.SetColCount(aValSetColorTable.getColumnCount());
+
+        // here we have enough space to the left, so layout with fixed column size
+        // and fixed height, adapt width. Apply the adapted width by moving the left
+        // edge of the control to the left, keeping the right edge aligned
+        // with the original position
+        const Point aCurrentPos(aValSetColorTable.GetPosPixel());
+        const Size aCurrentSize(aValSetColorTable.GetOutputSizePixel());
+        const long nColorCount(pColorTab->Count());
+        const Size aNewSize(aValSetColorTable.layoutToGivenHeight(aCurrentSize.Height(), nColorCount));
+        const Point aNewPos((aCurrentPos.X() + aCurrentSize.Width()) - aNewSize.Width(), aCurrentPos.Y());
+
+        aValSetColorTable.SetOutputSizePixel(aNewSize);
+        aValSetColorTable.SetPosSizePixel(aNewPos, aNewSize);
+    }
+}
+
+// -----------------------------------------------------------------------
+
 void SvxColorTabPage::Construct()
 {
-    aLbColor.Fill( pColorTab );
-    FillValueSet_Impl( aValSetColorTable );
+    if(pColorTab)
+    {
+        aLbColor.Fill(pColorTab);
+        aValSetColorTable.addEntriesForXColorList(*pColorTab);
+        ImpColorCountChanged();
+    }
 }
 
 // -----------------------------------------------------------------------
@@ -529,6 +553,7 @@ IMPL_LINK( SvxColorTabPage, ClickAddHdl_Impl, void *, EMPTYARG )
         aLbColor.Append( pEntry );
         aValSetColorTable.InsertItem( aValSetColorTable.GetItemCount() + 1,
                 pEntry->GetColor(), pEntry->GetName() );
+        ImpColorCountChanged();
 
         aLbColor.SelectEntryPos( aLbColor.GetEntryCount() - 1 );
 
@@ -704,7 +729,9 @@ IMPL_LINK( SvxColorTabPage, ClickDeleteHdl_Impl, void *, EMPTYARG )
             // Listbox und ValueSet aktualisieren
             aLbColor.RemoveEntry( nPos );
             aValSetColorTable.Clear();
-            FillValueSet_Impl( aValSetColorTable );
+            aValSetColorTable.addEntriesForXColorList(*pColorTab);
+            ImpColorCountChanged();
+            //FillValueSet_Impl( aValSetColorTable );
 
             // Positionieren
             aLbColor.SelectEntryPos( nPos );
@@ -1162,17 +1189,17 @@ long SvxColorTabPage::ChangeColorHdl_Impl( void* )
 
 //------------------------------------------------------------------------
 
-void SvxColorTabPage::FillValueSet_Impl( ValueSet& rVs )
-{
-    long nCount = pColorTab->Count();

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list