ooo-build r12682 - in trunk: . patches/dev300



Author: jannieuw
Date: Tue May 27 18:23:33 2008
New Revision: 12682
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12682&view=rev

Log:
2008-05-27  Jan Nieuwenhuizen  <janneke gnu org>

	* patches/dev300/layout-tab-sfx2.diff:
	* patches/dev300/layout-tab-toolkit.diff: Update from GIT:
	Hello world on in .src embedded layout tab in sc sortdlg.


Modified:
   trunk/ChangeLog
   trunk/patches/dev300/layout-tab-sfx2.diff
   trunk/patches/dev300/layout-tab-toolkit.diff

Modified: trunk/patches/dev300/layout-tab-sfx2.diff
==============================================================================
--- trunk/patches/dev300/layout-tab-sfx2.diff	(original)
+++ trunk/patches/dev300/layout-tab-sfx2.diff	Tue May 27 18:23:33 2008
@@ -82,7 +82,7 @@
  	sal_uInt16 nCount = pImp->aArr.Count();
  	for (sal_uInt16 i=0; i<nCount; i++)
 diff --git a/source/dialog/tabdlg.cxx b/source/dialog/tabdlg.cxx
-index 57a8e89..2133fda 100644
+index 57a8e89..36df513 100644
 --- sfx2/source/dialog/tabdlg.cxx
 +++ sfx2/source/dialog/tabdlg.cxx
 @@ -56,6 +56,7 @@
@@ -105,7 +105,7 @@
  // -----------------------------------------------------------------------
  
  void SfxTabDialog::RemoveTabPage( USHORT nId )
-@@ -1379,6 +1385,24 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
+@@ -1379,6 +1385,25 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
  */
  
  {
@@ -114,12 +114,13 @@
 +    {
 +        TabPage *vclPage = page->GetTabPage();
 +        TabControl *dialog = pTabCtrl;
++        page->Reset( page->GetItemSet() );
 +        dialog->SetTabPage( newId, vclPage );
-+        //vclPage->ActivatePage();
 +        page->ActivatePage();
 +
 +        Size tabSize = vclPage->GetSizePixel();
 +        Size dialogSize = dialog->GetTabPageSizePixel();
++
 +        if ( dialogSize.Width() < tabSize.Width()
 +             || dialogSize.Height() < tabSize.Height() )
 +            dialog->SetTabPageSizePixel( tabSize );
@@ -130,7 +131,7 @@
  	DBG_ASSERT( pImpl->pData->Count(), "keine Pages angemeldet" );
  	const USHORT nId = pTabCtrl->GetCurPageId();
  	SFX_APP();
-@@ -1455,6 +1479,9 @@ IMPL_LINK( SfxTabDialog, DeactivatePageHdl, TabControl *, pTabCtrl )
+@@ -1455,6 +1480,9 @@ IMPL_LINK( SfxTabDialog, DeactivatePageHdl, TabControl *, pTabCtrl )
  */
  
  {

Modified: trunk/patches/dev300/layout-tab-toolkit.diff
==============================================================================
--- trunk/patches/dev300/layout-tab-toolkit.diff	(original)
+++ trunk/patches/dev300/layout-tab-toolkit.diff	Tue May 27 18:23:33 2008
@@ -1,3 +1,20 @@
+diff --git a/.gitignore b/.gitignore
+index 0236a53..b34b53f 100644
+--- toolkit/.gitignore
++++ toolkit/.gitignore
+@@ -14,3 +14,11 @@ CVS
+ /workben/layout/en-US
+ *.orig
+ *.rej
++strace*
++*.diff
++pats
++*.pats
++*.patch
++*.cxx-*
++*.hxx-*
++*-HEAD
+\ No newline at end of file
 diff --git a/doc/layout/README b/doc/layout/README
 index 1e3737f..d7ced38 100644
 --- toolkit/doc/layout/README
@@ -76,7 +93,7 @@
  #define Window ::Window
  
 diff --git a/inc/layout/layout.hxx b/inc/layout/layout.hxx
-index ecbf73c..cf6390d 100644
+index ecbf73c..e9d6de1 100644
 --- toolkit/inc/layout/layout.hxx
 +++ toolkit/inc/layout/layout.hxx
 @@ -39,6 +39,8 @@
@@ -136,7 +153,47 @@
  };
  
  class ControlImpl;
-@@ -289,6 +307,7 @@ public:
+@@ -123,7 +141,6 @@ public:
+ class FixedLineImpl;
+ class TOOLKIT_DLLPUBLIC FixedLine : public Control
+ {
+-    friend class FixedLineImpl;
+     DECL_GET_IMPL( FixedLine );
+     DECL_CONSTRUCTORS( FixedLine, Control, WB_HORZ );
+ public:
+@@ -133,7 +150,6 @@ public:
+ class FixedTextImpl;
+ class TOOLKIT_DLLPUBLIC FixedText : public Control
+ {
+-    friend class FixedTextImpl;
+     DECL_GET_IMPL( FixedText );
+     DECL_CONSTRUCTORS( FixedText, Control, 0 );
+ public:
+@@ -143,7 +159,6 @@ public:
+ class FixedImageImpl;
+ class TOOLKIT_DLLPUBLIC FixedImage : public Control
+ {
+-    friend class FixedImageImpl;
+     DECL_GET_IMPL( FixedImage );
+     DECL_CONSTRUCTORS( FixedImage, Control, 0 );
+ public:
+@@ -153,7 +168,6 @@ public:
+ class FixedInfoImpl;
+ class TOOLKIT_DLLPUBLIC FixedInfo : public FixedText
+ {
+-    friend class FixedInfoImpl;
+     DECL_GET_IMPL( FixedInfo );
+     DECL_CONSTRUCTORS( FixedInfo, FixedText, 0 );
+ };
+@@ -171,7 +185,6 @@ public:
+ class ButtonImpl;
+ class TOOLKIT_DLLPUBLIC Button : public Control
+ {
+-    friend class ButtonImpl;
+     DECL_GET_IMPL( Button );
+     DECL_CONSTRUCTORS( Button, Control, 0 );
+ public:
+@@ -289,6 +302,7 @@ public:
      void SetText( XubString const& rStr ) const;
      XubString GetText() const;
      void SetModifyHdl( Link const& rLink );
@@ -144,7 +201,7 @@
  };
  
  class MultiLineEditImpl;
-@@ -416,14 +435,25 @@ public:
+@@ -416,14 +430,25 @@ public:
  
      void SetSelectHdl( Link const& rLink );
      void SetClickHdl( Link const& rLink );
@@ -172,7 +229,7 @@
  public:
      Dialog( Window *pOptParent, char const* pXMLPath, char const* pId, sal_uInt32 nId = 0 );
      Dialog( ::Window *pOptParent, char const* pXMLPath, char const* pId, sal_uInt32 nId = 0 );
-@@ -432,6 +462,40 @@ public:
+@@ -432,6 +457,43 @@ public:
      void SetText( String const& rStr );
  };
  
@@ -206,6 +263,9 @@
 +
 +    bool bHasExchangeSupport;
 +    bool HasExchangeSupport() { return bHasExchangeSupport; }
++    SfxItemSet *pSet;
++	SfxItemSet&	GetItemSet() const { return *pSet; }
++    virtual void Reset( SfxItemSet const& r );
 +    void SetExchangeSupport( bool exchangeSupport = true ) { bHasExchangeSupport = exchangeSupport; }
 +    //static const SfxPoolItem* GetItem( const SfxItemSet& rSet, USHORT nSlot );
 +};
@@ -213,6 +273,33 @@
  class ProgressBarImpl;
  class TOOLKIT_DLLPUBLIC ProgressBar : public Control
  {
+@@ -520,7 +582,6 @@ public:
+ class PluginImpl;
+ class TOOLKIT_DLLPUBLIC Plugin : public Control
+ {
+-    friend class PluginImpl;
+     DECL_GET_IMPL( Plugin );
+     //DECL_CONSTRUCTORS( Plugin, Control, 0 );
+ public:
+@@ -528,6 +589,18 @@ public:
+     Plugin( Context *pCtx, char const* pId, ::Control *plugin );
+ };
+ 
++class LocalizedStringImpl;
++class TOOLKIT_DLLPUBLIC LocalizedString : public Window
++{
++    DECL_GET_IMPL( LocalizedString );
++public:
++    LocalizedString( Context *pCtx, char const* pId );
++
++    String operator =( String const& );
++    operator String();
++//    operator String const&() const;
++};
++
+ } // end namespace layout
+ 
+ #endif /* _LAYOUT_HXX */
 diff --git a/source/awt/makefile.mk b/source/awt/makefile.mk
 index a3798a5..8a851c5 100644
 --- toolkit/source/awt/makefile.mk
@@ -281,12 +368,45 @@
      return awt::Size();
  }
  
+diff --git a/source/awt/vclxsplitter.cxx b/source/awt/vclxsplitter.cxx
+index cecc592..f33b626 100644
+--- toolkit/source/awt/vclxsplitter.cxx
++++ toolkit/source/awt/vclxsplitter.cxx
+@@ -54,9 +54,9 @@ using namespace ::com::sun::star::beans;
+ using namespace ::com::sun::star;
+ 
+ VCLXSplitter::ChildProps::ChildProps( VCLXSplitter::ChildData *pData )
+-    {
+-        addProp( RTL_CONSTASCII_USTRINGPARAM( "Shrink" ),
+-                 ::getCppuType( static_cast< const rtl::OUString* >( NULL ) ),
++{
++    addProp( RTL_CONSTASCII_USTRINGPARAM( "Shrink" ),
++             ::getCppuType( static_cast< const rtl::OUString* >( NULL ) ),
+              &(pData->mbShrink) );
+ }
+ 
+@@ -76,13 +76,13 @@ VCLXSplitter::ChildProps*
+ VCLXSplitter::createChildProps( Box_Base::ChildData *pData )
+ {
+     return new ChildProps( static_cast<VCLXSplitter::ChildData*> ( pData ) );
+-    }
++}
+ 
+ 
+ DBG_NAME( VCLXSplitter );
+ 
+ VCLXSplitter::VCLXSplitter( bool bHorizontal )
+-: VCLXWindow()
++  : VCLXWindow()
+   , Box_Base()
+ {
+     DBG_CTOR( VCLXSplitter, NULL );
 diff --git a/source/awt/vclxtabpage.cxx b/source/awt/vclxtabpage.cxx
 new file mode 100644
-index 0000000..0cae64c
+index 0000000..b21498b
 --- /dev/null
 +++ toolkit/source/awt/vclxtabpage.cxx
-@@ -0,0 +1,94 @@
+@@ -0,0 +1,116 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -325,6 +445,7 @@
 +#include "vclxtabpage.hxx"
 +#include "forward.hxx"
 +
++#include <com/sun/star/awt/PosSize.hpp>
 +#include <toolkit/helper/convert.hxx>
 +#include <vcl/tabpage.hxx>
 +
@@ -342,6 +463,7 @@
 +VCLXTabPage::VCLXTabPage( Window *p )
 +    : VCLXWindow()
 +    , Bin()
++    , bRealized( false )
 +{
 +    /* FIXME: before Window is set, setLabel, setProperty->setImage
 +     * are silent no-ops.  */
@@ -367,9 +489,29 @@
 +void SAL_CALL VCLXTabPage::allocateArea( awt::Rectangle const& rArea )
 +    throw (uno::RuntimeException)
 +{
-+    ::vos::OGuard aGuard( GetMutex() );
++    ::com::sun::star::awt::Size reqSize = Bin::getMinimumSize();
++    reqSize.Height = getHeightForWidth( rArea.Width );
 +
-+    return Bin::allocateArea( rArea );
++    if ( !bRealized )
++    {
++        setPosSize( 0, 0, reqSize.Width, reqSize.Height, awt::PosSize::SIZE );
++        bRealized = true;
++        setVisible( true );
++    }
++    else
++    {
++        awt::Size curSize = getSize();
++        if ( reqSize.Width > curSize.Width )
++            setPosSize( 0, 0, reqSize.Width, 0, awt::PosSize::WIDTH );
++        if ( reqSize.Height > curSize.Height )
++            setPosSize( 0, 0, 0, reqSize.Height, awt::PosSize::HEIGHT );
++    }
++
++    awt::Size size = getSize();
++    maAllocation.Width = size.Width;
++    maAllocation.Height = size.Height;
++
++    Bin::allocateArea( maAllocation );
 +}
 +
 +awt::Size SAL_CALL VCLXTabPage::getMinimumSize()
@@ -383,10 +525,10 @@
 +} // namespace layoutimpl
 diff --git a/source/awt/vclxtabpage.hxx b/source/awt/vclxtabpage.hxx
 new file mode 100644
-index 0000000..7960b57
+index 0000000..17feb15
 --- /dev/null
 +++ toolkit/source/awt/vclxtabpage.hxx
-@@ -0,0 +1,79 @@
+@@ -0,0 +1,80 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -437,6 +579,7 @@
 +class VCLXTabPage : public VCLXWindow
 +                  , public Bin
 +{
++    bool bRealized;
 +public:
 +    VCLXTabPage( Window *p );
 +
@@ -466,6 +609,16 @@
 +} // namespace layoutimpl
 +
 +#endif /* LAYOUT_AWT_VCLXTABPAGE_HXX */
+diff --git a/source/layout/box-base.hxx b/source/layout/box-base.hxx
+index 04f0c95..d8b580b 100644
+--- toolkit/source/layout/box-base.hxx
++++ toolkit/source/layout/box-base.hxx
+@@ -91,4 +91,4 @@ public:
+ 
+ } //  namespace layoutimpl
+ 
+-#endif /* CORE_BOX__BASE HXX */
++#endif /* CORE_BOX_BASE HXX */
 diff --git a/source/layout/container.cxx b/source/layout/container.cxx
 index 22e3b08..b34bfe5 100644
 --- toolkit/source/layout/container.cxx
@@ -532,7 +685,7 @@
  
      return children;
 diff --git a/source/layout/helper.cxx b/source/layout/helper.cxx
-index 78cdbd4..08b3a93 100644
+index 78cdbd4..e629394 100644
 --- toolkit/source/layout/helper.cxx
 +++ toolkit/source/layout/helper.cxx
 @@ -40,6 +40,7 @@
@@ -543,7 +696,22 @@
  #include <tools/debug.hxx>
  
  #include "proplist.hxx"
-@@ -154,14 +155,31 @@ createToolkitWidget( uno::Reference< awt::XToolkit > xToolkit,
+@@ -100,11 +101,12 @@ getToplevel( uno::Reference< uno::XInterface > xRef )
+ 
+ }
+ 
+-#include "dialogbuttonhbox.hxx"
+ #include "bin.hxx"
+ #include "box.hxx"
+-#include "table.hxx"
++#include "dialogbuttonhbox.hxx"
+ #include "flow.hxx"
++#include "localized-string.hxx"
++#include "table.hxx"
+ 
+ namespace layoutimpl
+ {
+@@ -154,14 +156,31 @@ createToolkitWidget( uno::Reference< awt::XToolkit > xToolkit,
      {
          desc.Type = awt::WindowClass_SIMPLE;
  
@@ -578,7 +746,15 @@
          desc.Parent = xWinParent;
      }
  
-@@ -254,7 +272,7 @@ PropHelper::getInfoHelper()
+@@ -227,6 +246,7 @@ createWidget( uno::Reference< awt::XToolkit > xToolkit,
+ #else
+     xPeer = createToolkitWidget( xToolkit, xParent, rName, nProps );
+ #endif
++
+     return xPeer;
+ }
+ 
+@@ -254,7 +274,7 @@ PropHelper::getInfoHelper()
      if ( ! pHelper )
      {
          uno::Sequence< beans::Property > aProps( maDetails.size() );
@@ -587,7 +763,7 @@
          {
              aProps[i].Name = maDetails[i].aName;
              aProps[i].Type = maDetails[i].aType;
-@@ -349,10 +367,11 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
+@@ -349,10 +369,11 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
  #include <awt/vclxbutton.hxx>
  #include <awt/vclxdialog.hxx>
  #include <awt/vclxfixedline.hxx>
@@ -600,7 +776,7 @@
  #include <toolkit/awt/vclxtoolkit.hxx>
  #include <toolkit/awt/vclxwindow.hxx>
  #include <vcl/button.hxx>
-@@ -366,6 +385,8 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
+@@ -366,6 +387,8 @@ PropHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::
  namespace layoutimpl
  {
  
@@ -609,7 +785,7 @@
  uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
      uno::Reference< uno::XInterface > xParent,
      OUString aName, long WindowAttributes )
-@@ -488,6 +509,13 @@ uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
+@@ -488,6 +511,20 @@ uno::Reference< awt::XLayoutConstrains > ImplCreateWindow(
          OSL_TRACE( "%s: parent=%p (%s)\n", __FUNCTION__, pParent, typeid( *pParent ).name() );
          pNewComp = new layoutimpl::VCLXPlugin( pNewWindow, ImplGetWinBits( WindowAttributes, 0 ) );
      }
@@ -619,6 +795,13 @@
 +            pParent = layout::TabPage::global_parent;
 +        pNewWindow = new TabPage( pParent, ImplGetWinBits( WindowAttributes, 0 ) );
 +        pNewComp = new VCLXTabPage( pNewWindow );
++        
++    }
++    else if ( aName.equalsAscii( "string" ) )
++    {
++        WindowAttributes &= ~awt::WindowAttribute::SHOW;
++        pNewWindow = new Window( pParent, ImplGetWinBits( WindowAttributes, 0 ) );
++        pNewComp = new layoutimpl::LocalizedString();
 +    }
  
      if ( !pNewWindow )
@@ -636,6 +819,214 @@
          throw xml::sax::SAXException(
              OUString( RTL_CONSTASCII_USTRINGPARAM( "invalid namespace!" ) ),
              uno::Reference< uno::XInterface >(), uno::Any() );
+diff --git a/source/layout/localized-string.cxx b/source/layout/localized-string.cxx
+new file mode 100644
+index 0000000..29083c5
+--- /dev/null
++++ toolkit/source/layout/localized-string.cxx
+@@ -0,0 +1,100 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile$
++ *
++ *  $Revision$
++ *
++ *  last change: $Author$ $Date$
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 by Sun Microsystems, Inc.
++ *    901 San Antonio Road, Palo Alto, CA 94303, USA
++ *
++ *    This library is free software; you can redistribute it and/or
++ *    modify it under the terms of the GNU Lesser General Public
++ *    License version 2.1, as published by the Free Software Foundation.
++ *
++ *    This library is distributed in the hope that it will be useful,
++ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *    Lesser General Public License for more details.
++ *
++ *    You should have received a copy of the GNU Lesser General Public
++ *    License along with this library; if not, write to the Free Software
++ *    Foundation, Inc., 51 Franklin Street, 5th Floor, Boston,
++ *    MA  02110-1301  USA
++ *
++ ************************************************************************/
++
++#include "localized-string.hxx"
++
++#include <toolkit/helper/property.hxx>
++#include <vcl/window.hxx>
++
++namespace layoutimpl
++{
++
++namespace css = ::com::sun::star;
++using namespace css;
++using rtl::OUString;
++
++LocalizedString::LocalizedString()
++    : VCLXWindow()
++{
++}
++
++void LocalizedString::ImplGetPropertyIds( std::list< sal_uInt16 > &ids )
++{
++    PushPropertyIds( ids, BASEPROPERTY_TEXT, 0);
++    VCLXWindow::ImplGetPropertyIds( ids );
++}
++
++// XInterface
++uno::Any LocalizedString::queryInterface( uno::Type const& rType )
++    throw(uno::RuntimeException)
++{
++    uno::Any aRet = ::cppu::queryInterface( rType,
++                                            SAL_STATIC_CAST( awt::XFixedText*, this ) );
++    return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
++}
++
++#if 0
++// XTypeProvider
++IMPL_XTYPEPROVIDER_START( LocalizedString )
++    getCppuType( ( uno::Reference< awt::XFixedText>* ) NULL ),
++    VCLXWindow::getTypes()
++IMPL_XTYPEPROVIDER_END
++
++uno::Reference< accessibility::XAccessibleContext > LocalizedString::CreateAccessibleContext()
++{
++    return getAccessibleFactory().createAccessibleContext( this );
++}
++#endif
++
++void LocalizedString::setText( OUString const& s )
++    throw(uno::RuntimeException)
++{
++    ::vos::OGuard aGuard( GetMutex() );
++
++    if ( Window *w = GetWindow() )
++        return w->SetText( s );
++}
++
++OUString LocalizedString::getText()
++    throw(uno::RuntimeException)
++{
++    ::vos::OGuard aGuard( GetMutex() );
++
++    if ( Window *w = GetWindow() )
++        return w->GetText();
++    return OUString();
++}
++
++} // namespace layoutimpl
+diff --git a/source/layout/localized-string.hxx b/source/layout/localized-string.hxx
+new file mode 100644
+index 0000000..bbb3896
+--- /dev/null
++++ toolkit/source/layout/localized-string.hxx
+@@ -0,0 +1,84 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile$
++ *
++ *  $Revision$
++ *
++ *  last change: $Author$ $Date$
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 by Sun Microsystems, Inc.
++ *    901 San Antonio Road, Palo Alto, CA 94303, USA
++ *
++ *    This library is free software; you can redistribute it and/or
++ *    modify it under the terms of the GNU Lesser General Public
++ *    License version 2.1, as published by the Free Software Foundation.
++ *
++ *    This library is distributed in the hope that it will be useful,
++ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *    Lesser General Public License for more details.
++ *
++ *    You should have received a copy of the GNU Lesser General Public
++ *    License along with this library; if not, write to the Free Software
++ *    Foundation, Inc., 51 Franklin Street, 5th Floor, Boston,
++ *    MA  02110-1301  USA
++ *
++ ************************************************************************/
++
++#ifndef CORE_LOCALIZED_STRING_HXX
++#define CORE_LOCALIZED_STRING_HXX
++
++#include <com/sun/star/awt/XFixedText.hpp>
++#include <toolkit/awt/vclxwindow.hxx>
++
++namespace layoutimpl
++{
++namespace css = ::com::sun::star;
++
++// FIXME: misuse XFixedText interface for simple string
++class LocalizedString :	public css::awt::XFixedText
++                      , public VCLXWindow
++{
++public:
++    LocalizedString();
++
++	// css::uno::XInterface
++    css::uno::Any SAL_CALL queryInterface( css::uno::Type const& rType )
++        throw(css::uno::RuntimeException);
++    void SAL_CALL acquire() throw() { OWeakObject::acquire(); }
++    void SAL_CALL release() throw() { OWeakObject::release(); }
++
++    // css::awt::XFixedText
++    void SAL_CALL setText( ::rtl::OUString const& s )
++        throw(css::uno::RuntimeException);
++    ::rtl::OUString SAL_CALL getText()
++        throw(css::uno::RuntimeException);
++    void SAL_CALL setAlignment( sal_Int16 )
++        throw(css::uno::RuntimeException) { } 
++    sal_Int16 SAL_CALL getAlignment()
++        throw(css::uno::RuntimeException) { return 0; }
++
++    // css::awt::XLayoutConstrains
++    virtual css::awt::Size SAL_CALL getMinimumSize()
++        throw(css::uno::RuntimeException) { return css::awt::Size( 0, 0 ); }
++    css::awt::Size SAL_CALL getPreferredSize()
++        throw(css::uno::RuntimeException) { return getMinimumSize(); }
++    css::awt::Size SAL_CALL calcAdjustedSize( css::awt::Size const& size )
++        throw(css::uno::RuntimeException) { return size; }
++
++    static void ImplGetPropertyIds( std::list< sal_uInt16 > &ids );
++    virtual void GetPropertyIds( std::list< sal_uInt16 > &ids )
++    { return ImplGetPropertyIds( ids ); }
++};
++
++} // namespace layoutimpl
++
++#endif /* CORE_LOCALIZED_STRING_HXX */
+diff --git a/source/layout/makefile.mk b/source/layout/makefile.mk
+index 5bab848..44331d3 100644
+--- toolkit/source/layout/makefile.mk
++++ toolkit/source/layout/makefile.mk
+@@ -59,6 +59,7 @@ SLOFILES= \
+ 	$(SLO)$/flow.obj \
+ 	$(SLO)$/helper.obj \
+ 	$(SLO)$/import.obj \
++	$(SLO)$/localized-string.obj \
+ 	$(SLO)$/proplist.obj \
+ 	$(SLO)$/root.obj \
+ 	$(SLO)$/table.obj \
 diff --git a/source/layout/proplist.cxx b/source/layout/proplist.cxx
 index eef28ea..02b510a 100644
 --- toolkit/source/layout/proplist.cxx
@@ -929,9 +1320,18 @@
              (*it)->allocateArea( (*it)->getAllocatedArea() );
      }
 diff --git a/source/vclcompat/wbutton.cxx b/source/vclcompat/wbutton.cxx
-index 17c2142..118b241 100644
+index 17c2142..5300e70 100644
 --- toolkit/source/vclcompat/wbutton.cxx
 +++ toolkit/source/vclcompat/wbutton.cxx
+@@ -142,7 +142,7 @@ class ButtonImpl : public ControlImpl
+     }
+ };
+ 
+-void Button::SetText( const String& rStr )
++void Button::SetText( String const& rStr )
+ {
+     if ( !getImpl().mxButton.is() )
+         return;
 @@ -168,8 +168,8 @@ void Button::Click()
  {
  }
@@ -1025,13 +1425,14 @@
  void MoreButton::AddWindow( Window* w )
  {
 diff --git a/source/vclcompat/wfield.cxx b/source/vclcompat/wfield.cxx
-index 7ceed85..2f99442 100644
+index 7ceed85..8d9ab13 100644
 --- toolkit/source/vclcompat/wfield.cxx
 +++ toolkit/source/vclcompat/wfield.cxx
-@@ -87,6 +87,13 @@ class EditImpl : public ControlImpl,
+@@ -87,7 +87,14 @@ class EditImpl : public ControlImpl,
      }
  };
  
+-void Edit::SetText( const XubString& rStr ) const
 +void Edit::SetSelection( Selection const& rSelection )
 +{
 +    if ( !getImpl().mxEdit.is() )
@@ -1039,9 +1440,10 @@
 +    getImpl().mxEdit->setSelection( awt::Selection( rSelection.Min(), rSelection.Max() ) );
 +}
 +
- void Edit::SetText( const XubString& rStr ) const
++void Edit::SetText( XubString const& rStr ) const
  {
      if ( !getImpl().mxEdit.is() )
+         return;
 @@ -106,8 +113,8 @@ void Edit::SetModifyHdl( const Link& rLink )
      getImpl().SetModifyHdl( rLink );
  }
@@ -1104,6 +1506,15 @@
  
  // Window/Control/Edit/ComboBox
  class ComboBoxImpl : public EditImpl,
+@@ -305,7 +312,7 @@ public:
+     {
+     }
+ 
+-    USHORT InsertEntry(const XubString& rStr, USHORT nPos)
++    USHORT InsertEntry( XubString const& rStr, USHORT nPos )
+     {
+         if ( nPos == COMBOBOX_APPEND )
+             nPos = GetEntryCount();
 @@ -430,8 +437,8 @@ void ComboBox::SetSelectHdl( const Link& rLink )
      getImpl().SetSelectHdl( rLink );
  }
@@ -1115,7 +1526,15 @@
  
  // Window/Control/ListBox
  class ListBoxImpl : public ControlImpl,
-@@ -625,7 +632,7 @@ void ListBox::SetClickHdl( const Link& rLink )
+@@ -445,6 +452,7 @@ public:
+         : ControlImpl( pCtx, xPeer, pWindow ),
+         mxListBox( xPeer, uno::UNO_QUERY )
+     {
++        SelectEntryPos( 0, true );
+     }
+ 
+     USHORT InsertEntry(const XubString& rStr, USHORT nPos)
+@@ -625,7 +633,7 @@ void ListBox::SetClickHdl( const Link& rLink )
      getImpl().SetClickHdl( rLink );
  }
  
@@ -1126,10 +1545,10 @@
  
  } // namespace layout
 diff --git a/source/vclcompat/wrapper.cxx b/source/vclcompat/wrapper.cxx
-index 6188ac1..94927bc 100644
+index 6188ac1..3cdcc3e 100644
 --- toolkit/source/vclcompat/wrapper.cxx
 +++ toolkit/source/vclcompat/wrapper.cxx
-@@ -36,6 +36,7 @@
+@@ -36,23 +36,34 @@
  #include "wrapper.hxx"
  
  #include <awt/vclxplugin.hxx>
@@ -1137,7 +1556,7 @@
  #include <com/sun/star/awt/VclWindowPeerAttribute.hpp>
  #include <com/sun/star/awt/WindowAttribute.hpp>
  #include <com/sun/star/awt/XDialog2.hpp>
-@@ -43,15 +44,24 @@
+-#include <com/sun/star/awt/XFixedText.hpp>
  #include <com/sun/star/awt/XProgressBar.hpp>
  #include <com/sun/star/graphic/XGraphic.hpp>
  #include <comphelper/processfactory.hxx>
@@ -1145,6 +1564,7 @@
  #include <layout/factory.hxx>
  #include <layout/layoutcore.hxx>
  #include <layout/root.hxx>
++#include <layout/localized-string.hxx>
  #include <toolkit/awt/vclxwindow.hxx>
  #include <vcl/ctrl.hxx>
  #include <vcl/image.hxx>
@@ -1152,6 +1572,7 @@
 +#include <vcl/tabpage.hxx>
  #include <vcl/window.hxx>
  
++
 +#if 0
 +/* FIXME: move to sfx2 or svtools/layout.hxx */
 +#include <svtools/itempool.hxx>
@@ -1159,11 +1580,50 @@
 +#include <svtools/poolitem.hxx>
 +#endif
 +
-+
  using namespace ::com::sun::star;
++using rtl::OUString;
  
  namespace layout
-@@ -144,24 +154,10 @@ PeerHandle Context::GetPeerHandle( const char *pId, sal_uInt32 nId ) const
+ {
+@@ -68,16 +79,16 @@ public:
+     ContextImpl( char const *pPath )
+     {
+         uno::Sequence< uno::Any > aParams( 1 );
+-        aParams[0] <<= rtl::OUString( pPath, strlen( pPath ), RTL_TEXTENCODING_UTF8 );
++        aParams[0] <<= OUString( pPath, strlen( pPath ), RTL_TEXTENCODING_UTF8 );
+ 
+         uno::Reference< lang::XSingleServiceFactory > xFactory(
+             comphelper::createProcessComponent(
+-                rtl::OUString::createFromAscii( "com.sun.star.awt.Layout" ) ),
++                OUString::createFromAscii( "com.sun.star.awt.Layout" ) ),
+             uno::UNO_QUERY );
+         if ( !xFactory.is() )
+         {
+             throw uno::RuntimeException(
+-                rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Layout engine not installed" ) ),
++                OUString( RTL_CONSTASCII_USTRINGPARAM( "Layout engine not installed" ) ),
+                 uno::Reference< uno::XInterface >() );
+         }
+         mxRoot = uno::Reference< awt::XLayoutRoot >(
+@@ -91,7 +102,7 @@ public:
+     {
+     }
+ 
+-    PeerHandle getByName( const rtl::OUString &rName )
++    PeerHandle getByName( const OUString &rName )
+     {
+         uno::Any val = mxNameAccess->getByName( rName );
+         PeerHandle xRet;
+@@ -130,7 +141,7 @@ PeerHandle Context::getRoot()
+ PeerHandle Context::GetPeerHandle( const char *pId, sal_uInt32 nId ) const
+ {
+     PeerHandle xHandle;
+-    xHandle = pImpl->getByName( rtl::OUString( pId, strlen( pId ), RTL_TEXTENCODING_UTF8 ) );
++    xHandle = pImpl->getByName( OUString( pId, strlen( pId ), RTL_TEXTENCODING_UTF8 ) );
+     if ( !xHandle.is() )
+     {
+         DBG_ERROR1( "Failed to fetch widget '%s'", pId );
+@@ -144,24 +155,10 @@ PeerHandle Context::GetPeerHandle( const char *pId, sal_uInt32 nId ) const
      return xHandle;
  }
  
@@ -1190,7 +1650,7 @@
  {
  }
  
-@@ -172,6 +168,20 @@ Window::~Window()
+@@ -172,6 +169,20 @@ Window::~Window()
      mpImpl = NULL;
  }
  
@@ -1211,7 +1671,7 @@
  Context *Window::getContext()
  {
      return this && mpImpl ? mpImpl->mpCtx : NULL;
-@@ -179,11 +189,31 @@ Context *Window::getContext()
+@@ -179,11 +190,31 @@ Context *Window::getContext()
  
  PeerHandle Window::GetPeer()
  {
@@ -1244,7 +1704,30 @@
  struct ToolkitVclPropsMap
  {
      WinBits vclStyle;
-@@ -347,6 +377,19 @@ void Window::GrabFocus()
+@@ -304,11 +335,11 @@ uno::Reference< awt::XToolkit > getToolkit()
+         // Urgh ...
+         xToolkit = uno::Reference< awt::XToolkit >(
+             ::comphelper::getProcessServiceFactory()->createInstance(
+-                rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ) ),
++                OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ) ),
+             uno::UNO_QUERY );
+         if ( !xToolkit.is() )
+             throw uno::RuntimeException(
+-                rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "failed to create toolkit!") ),
++                OUString( RTL_CONSTASCII_USTRINGPARAM( "failed to create toolkit!") ),
+                 uno::Reference< uno::XInterface >() );
+     }
+     return xToolkit;
+@@ -323,7 +354,7 @@ PeerHandle Window::CreatePeer( Window *pParent, WinBits nStyle, const char *pNam
+             nWinAttrbs |= toolkitVclPropsMap[ i ].initAttr;
+ 
+     return layoutimpl::createWidget( getToolkit(), pParent->GetPeer(),
+-                                     rtl::OUString::createFromAscii( pName ), nWinAttrbs );
++                                     OUString::createFromAscii( pName ), nWinAttrbs );
+ }
+ 
+ void Window::Enable( bool bEnable )
+@@ -347,6 +378,19 @@ void Window::GrabFocus()
      getImpl().mxWindow->setFocus();
  }
  
@@ -1264,7 +1747,7 @@
  Dialog::Dialog( Window *pParent, const char *pXMLPath, const char *pId, sal_uInt32 nId )
      : Context( pXMLPath )
      , Window( new DialogImpl( this, Context::GetPeerHandle( pId, nId ), this ) )
-@@ -363,20 +406,6 @@ Dialog::Dialog( ::Window *pParent, const char *pXMLPath, const char *pId, sal_uI
+@@ -363,20 +407,6 @@ Dialog::Dialog( ::Window *pParent, const char *pXMLPath, const char *pId, sal_uI
          SetParent( pParent );
  }
  
@@ -1285,7 +1768,15 @@
  short Dialog::Execute()
  {
      if ( !getImpl().mxDialog.is() )
-@@ -398,6 +427,108 @@ void Dialog::SetText( const String& rStr )
+@@ -391,13 +421,123 @@ void Dialog::EndDialog( long nResult )
+     getImpl().mxDialog->endDialog( nResult );
+ }
+ 
+-void Dialog::SetText( const String& rStr )
++void Dialog::SetText( String const& rStr )
+ {
+     if ( !getImpl().mxDialog.is() )
+         return;
      getImpl().mxDialog->setTitle( rStr );
  }
  
@@ -1389,12 +1880,20 @@
 +		pItem = &pPool->GetDefaultItem( nWh );
 +	return pItem;
 +}
++#else 
++
++#define SfxTabPage TabPage
++
 +#endif
 +
++void SfxTabPage::Reset( SfxItemSet const& )
++{
++}
++
  class FixedLineImpl : public ControlImpl
  {
  public:
-@@ -407,8 +538,8 @@ public:
+@@ -407,8 +547,8 @@ public:
      }
  };
  
@@ -1405,7 +1904,7 @@
  
  bool FixedLine::IsEnabled()
  {
-@@ -433,8 +564,8 @@ public:
+@@ -433,10 +573,10 @@ public:
      }
  };
  
@@ -1414,9 +1913,12 @@
 +IMPL_CONSTRUCTORS( FixedText, Control, "fixedtext" );
 +IMPL_GET_IMPL( FixedText )
  
- void FixedText::SetText( const String& rStr )
+-void FixedText::SetText( const String& rStr )
++void FixedText::SetText( String const& rStr )
  {
-@@ -452,8 +583,8 @@ public:
+     if ( !getImpl().mxFixedText.is() )
+         return;
+@@ -452,8 +592,8 @@ public:
      }
  };
  
@@ -1427,7 +1929,7 @@
  
  class ProgressBarImpl : public ControlImpl
  {
-@@ -494,8 +625,8 @@ public:
+@@ -494,8 +634,8 @@ public:
      }
  };
  
@@ -1438,7 +1940,7 @@
  
  void FixedImage::setImage( ::Image const& i )
  {
-@@ -521,7 +652,7 @@ FixedImage::~FixedImage()
+@@ -521,7 +661,7 @@ FixedImage::~FixedImage()
  #endif
  
      
@@ -1447,22 +1949,61 @@
  #if 0
  ProgressBar::ProgressBar( Context *pCtx, const char *pId, sal_uInt32 nId )
      : Control( new ProgressBarImpl( pCtx, pCtx->GetPeerHandle( pId, nId ), this ) )
-@@ -534,7 +665,7 @@ ProgressBar::ProgressBar( Window *pParent, WinBits nBits)
+@@ -534,7 +674,7 @@ ProgressBar::ProgressBar( Window *pParent, WinBits nBits)
  }
  #endif
  
 -DECL_GET_IMPL_IMPL( ProgressBar )
-+IMPL_GET_IMPL( ProgressBar )
++IMPL_GET_IMPL( ProgressBar );
  
  
  void ProgressBar::SetForegroundColor( css::util::Color color )
-@@ -601,7 +732,7 @@ Plugin::Plugin( Context *pCtx, char const *pId, ::Control *plugin )
+@@ -601,7 +741,46 @@ Plugin::Plugin( Context *pCtx, char const *pId, ::Control *plugin )
  {
  }
  
 -DECL_GET_IMPL_IMPL( Plugin )
-+IMPL_GET_IMPL( Plugin )
++IMPL_GET_IMPL( Plugin );
++
++class LocalizedStringImpl : public WindowImpl
++{
++public:
++    layoutimpl::LocalizedString *mpString;
++    LocalizedStringImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
++        : WindowImpl( pCtx, xPeer, pWindow )
++        , mpString( static_cast<layoutimpl::LocalizedString*>( VCLXWindow::GetImplementation( uno::Reference <awt::XWindow> ( mxWindow, uno::UNO_QUERY ) ) ) )
++    {
++    }
++    OUString getText()
++    {
++        if ( mpString )
++            return mpString->getText();
++        return OUString();
++    }
++    void setText( OUString const& s )
++    {
++        if ( mpString )
++            mpString->setText( s );
++    }
++};
++
++IMPL_GET_IMPL( LocalizedString );
++
++LocalizedString::LocalizedString( Context *pCtx, char const* pId )
++    : Window( new LocalizedStringImpl( pCtx, pCtx->GetPeerHandle( pId, 0 ), this ) )
++{
++}
++
++LocalizedString::operator String ()
++{
++    return getImpl().getText();
++}
  
++String LocalizedString::operator= (String const& s)
++{
++    getImpl().setText( s );
++    return getImpl().getText();
++}
  
  } // namespace layout
 diff --git a/source/vclcompat/wrapper.hxx b/source/vclcompat/wrapper.hxx
@@ -1493,6 +2034,28 @@
      t::t( Context *pCtx, const char *pId, sal_uInt32 nId ) \
          : win_par( new t##Impl( pCtx, pCtx->GetPeerHandle( pId, nId ), this ) ) \
          , other_par( new other_par##Impl( Window::GetPeer() ) ) \
+diff --git a/src2xml/source/src2xml.py b/src2xml/source/src2xml.py
+index a2a7714..fdcc0fb 100644
+--- toolkit/src2xml/source/src2xml.py
++++ toolkit/src2xml/source/src2xml.py
+@@ -174,13 +174,16 @@ def post_process (s):
+     """Make output directly usable by layout module."""
+     s = re.sub ('(</?)([a-z]+)-([a-z]+)-([a-z]+)', r'\1\2\3\4', s)
+     s = re.sub ('(</?)([a-z]+)-([a-z]+)', r'\1\2\3', s)
+-    s = re.sub ('(<(radiobutton|(fixed(info|text)))[^>]*) text=', r'\1 label=', s)
++    s = re.sub ('(<(checkbox|radiobutton|(fixed(info|text)))[^>]*) text=', r'\1 label=', s)
+     s = re.sub (' (height|width|x|y)="[0-9]*"', '', s)
++    s = re.sub (' (label|text|title)="', r' _\1="', s)
+ 
+     s = s.replace ('<modaldialog', '<modaldialog sizeable="true"')
+     s = s.replace (' rid=', ' id=')
+     s = s.replace (' border="true"', ' has_border="true"')
+     s = s.replace (' def-button="true"', ' default="true"')
++    s = s.replace (' drop-down="', ' dropdown="')
++    s = s.replace (' tab-stop="', ' tabstop="')
+     return s
+ 
+ XML_HEADER = '''<?xml version="1.0" encoding="UTF-8"?>
 diff --git a/workben/layout/README b/workben/layout/README
 new file mode 100644
 index 0000000..d1a9494
@@ -1558,7 +2121,7 @@
  struct WidgetSpec {
      const char *pLabel, *pName, *pIconName;
 diff --git a/workben/layout/makefile.mk b/workben/layout/makefile.mk
-index 7126deb..51e9fa6 100644
+index 7126deb..2b2609c 100644
 --- toolkit/workben/layout/makefile.mk
 +++ toolkit/workben/layout/makefile.mk
 @@ -47,7 +47,7 @@ ENABLE_EXCEPTIONS=TRUE
@@ -1587,6 +2150,19 @@
  	wordcount.xml\
  	zoom.xml\
  
+@@ -128,6 +131,12 @@ dist .PHONY :
+ 	touch ../$(PRJ)/sw/source/ui/dialog/swdlgfact.cxx
+ 	# FIXME: broken setup
+ 	ln -sf ../inc/wordcountdialog.hxx ../$(PRJ)/sw/source/ui/dialog/wordcountdialog.hxx 
++	$(SHELL) ./un-test.sh tpsort.cxx > ../$(PRJ)/sc/source/ui/dbgui/tpsort.cxx
++	$(SHELL) ./un-test.sh tpsort.hxx > ../$(PRJ)/sc/source/ui/inc/tpsort.hxx
++	$(SHELL) ./un-test.sh sortdlg.cxx > ../$(PRJ)/sc/source/ui/dbgui/sortdlg.cxx
++	$(SHELL) ./un-test.sh sortdlg.hxx > ../$(PRJ)/sc/source/ui/inc/sortdlg.hxx
++	touch ../$(PRJ)/sc/source/ui/attrdlg/scdlgfact.cxx
++	touch ../$(PRJ)/sc/source/ui/view/cellsh2.cxx
+ 
+ .ELSE # ENABLE_LAYOUT != TRUE
+ all .PHONY:
 diff --git a/workben/layout/refresh b/workben/layout/refresh
 index de2652c..7969995 100644
 --- toolkit/workben/layout/refresh
@@ -1602,42 +2178,44 @@
 +  && ../../${INPATH}/bin/test "$@"
 diff --git a/workben/layout/sort-options.xml b/workben/layout/sort-options.xml
 new file mode 100644
-index 0000000..9a8053a
+index 0000000..bf4dc70
 --- /dev/null
 +++ toolkit/workben/layout/sort-options.xml
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,36 @@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!-- This is a template.  i18n translation is not performed in-place;
 +     i18n translated XML files are generated from this template by
 +     transex3/layout/tralay.  !-->
-+<!--
-+<tabpage help-id="HID_SCPAGE_SORT_OPTIONS" hide="true" id="RID_SCPAGE_SORT_OPTIONS" sv-look="true" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container";>
-+!-->
 +
-+<tabpage help-id="HID_SCPAGE_SORT_OPTIONS" id="RID_SCPAGE_SORT_OPTIONS" sv-look="true" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container"; width="640" height="480">
-+    <vbox>
-+        <checkbox id="BTN_CASESENSITIVE" tab-stop="true" text="Case ~sensitive"/>
-+        <checkbox id="BTN_LABEL" tab-stop="true"/>
-+        <checkbox id="BTN_FORMATS" tab-stop="true" text="Include ~formats"/>
-+        <checkbox id="BTN_NATURALSORT" tab-stop="true" text=" "/>
-+        <checkbox id="BTN_COPYRESULT" tab-stop="true" text="~Copy sort results to:"/>
-+        <hbox>
-+            <listbox has_border="true" drop-down="true" id="LB_OUTAREA" tab-stop="true"/>
-+            <edit has_border="true" disable="true" id="ED_OUTAREA" tab-stop="true"/>
-+        </hbox>
-+        <checkbox id="BTN_SORT_USER" tab-stop="true" text="Custom sort ~order"/>
-+        <listbox has_border="true" disable="true" drop-down="true" id="LB_SORT_USER" tab-stop="true"/>
-+        <hbox>
-+            <fixedtext id="FT_LANGUAGE" label="~Language"/>
-+            <fixedtext id="FT_ALGORITHM" label="O~ptions"/>
-+        </hbox>
-+        <hbox>
-+            <listbox has_border="true" drop-down="true" id="LB_LANGUAGE" sort="true" tab-stop="true"/>
-+            <listbox has_border="true" drop-down="true" id="LB_ALGORITHM" tab-stop="true"/>
-+        </hbox>
-+        <fixedline id="FL_DIRECTION" text="Direction"/>
-+        <radiobutton id="BTN_TOP_DOWN" tab-stop="true" label="~Top to bottom (sort rows)"/>
-+        <radiobutton id="BTN_LEFT_RIGHT" tab-stop="true" label="L~eft to right (sort columns)"/>
++<tabpage help-id="HID_SCPAGE_SORT_OPTIONS" hide="true" id="RID_SCPAGE_SORT_OPTIONS" sv-look="true" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container";>
++    <vbox spacing="4" border="5">
++	<string id="STR_COL_LABEL" _text="Range contains column la~bels"/>
++	<string id="STR_ROW_LABEL" _text="Range contains ~row labels"/>
++	<string id="XSCSTR_UNDEFINED" _text="- undefined -"/>
++	<vbox spacing="4" border="5">
++            <checkbox id="BTN_CASESENSITIVE" tabstop="true" _label="Case ~sensitive"/>
++            <checkbox id="BTN_LABEL" tabstop="true"/>
++            <checkbox id="BTN_FORMATS" tabstop="true" _label="Include ~formats"/>
++            <checkbox id="BTN_NATURALSORT" tabstop="true" _label="Enable ~natural sort"/>
++            <checkbox id="BTN_COPYRESULT" tabstop="true" _label="~Copy sort results to:"/>
++            <hbox>
++		<listbox has_border="true" dropdown="true" id="LB_OUTAREA" tabstop="true"/>
++		<edit has_border="true" disable="true" id="ED_OUTAREA" tabstop="true"/>
++            </hbox>
++            <checkbox id="BTN_SORT_USER" tabstop="true" _label="Custom sort ~order"/>
++            <listbox has_border="true" disable="true" dropdown="true" id="LB_SORT_USER" tabstop="true"/>
++            <hbox>
++		<fixedtext id="FT_LANGUAGE" _label="~Language"/>
++		<fixedtext id="FT_ALGORITHM" _label="O~ptions"/>
++            </hbox>
++            <hbox>
++		<listbox has_border="true" dropdown="true" id="LB_LANGUAGE" sort="true" tabstop="true" string-item-list="Default"/>
++		<listbox has_border="true" dropdown="true" id="LB_ALGORITHM" tabstop="true"/>
++            </hbox>
++            <fixedline id="FL_DIRECTION" text="Direction"/>
++            <radiobutton id="BTN_TOP_DOWN" tabstop="true" _label="~Top to bottom (sort rows)"/>
++            <radiobutton id="BTN_LEFT_RIGHT" tabstop="true" _label="L~eft to right (sort columns)"/>
++	</vbox>
 +    </vbox>
 +</tabpage>
 diff --git a/workben/layout/sortdlg.cxx b/workben/layout/sortdlg.cxx
@@ -2231,7 +2809,7 @@
 +
 diff --git a/workben/layout/sortdlg.xml b/workben/layout/sortdlg.xml
 new file mode 100644
-index 0000000..4fc23da
+index 0000000..a17920e
 --- /dev/null
 +++ toolkit/workben/layout/sortdlg.xml
 @@ -0,0 +1,65 @@
@@ -2243,45 +2821,45 @@
 +<tabpage help-id="HID_SCPAGE_SORT_FIELDS" hide="true" id="RID_SCPAGE_SORT_FIELDS" sv-look="true" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container";>
 +    <vbox>
 +        <fixedline id="FL_SORT1" text="Sort ~by"/>
-+        <radiobutton id="BTN_UP1" tab-stop="true" label="~Ascending"/>
-+        <listbox has_border="true" drop-down="true" id="LB_SORT1" tab-stop="true"/>
-+        <radiobutton id="BTN_DOWN1" tab-stop="true" label="~Descending"/>
++        <radiobutton id="BTN_UP1" tabstop="true" label="~Ascending"/>
++        <listbox has_border="true" dropdown="true" id="LB_SORT1" tabstop="true"/>
++        <radiobutton id="BTN_DOWN1" tabstop="true" label="~Descending"/>
 +        <fixedline id="FL_SORT2" text="Then b~y"/>
-+        <radiobutton id="BTN_UP2" tab-stop="true" label="A~scending"/>
-+        <listbox has_border="true" drop-down="true" id="LB_SORT2" tab-stop="true"/>
-+        <radiobutton id="BTN_DOWN2" tab-stop="true" label="D~escending"/>
++        <radiobutton id="BTN_UP2" tabstop="true" label="A~scending"/>
++        <listbox has_border="true" dropdown="true" id="LB_SORT2" tabstop="true"/>
++        <radiobutton id="BTN_DOWN2" tabstop="true" label="D~escending"/>
 +        <fixedline id="FL_SORT3" text="T~hen by"/>
-+        <radiobutton id="BTN_UP3" tab-stop="true" label="As~cending"/>
-+        <listbox has_border="true" drop-down="true" id="LB_SORT3" tab-stop="true"/>
-+        <radiobutton id="BTN_DOWN3" tab-stop="true" label="Desce~nding"/>
++        <radiobutton id="BTN_UP3" tabstop="true" label="As~cending"/>
++        <listbox has_border="true" dropdown="true" id="LB_SORT3" tabstop="true"/>
++        <radiobutton id="BTN_DOWN3" tabstop="true" label="Desce~nding"/>
 +    </vbox>
 +</tabpage>
 +<tabpage help-id="HID_SCPAGE_SORT_OPTIONS" hide="true" id="RID_SCPAGE_SORT_OPTIONS" sv-look="true" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container";>
 +    <string id="STR_COL_LABEL" text="Range contains column la~bels"/>
 +    <string id="STR_ROW_LABEL" text="Range contains ~row labels"/>
 +    <vbox>
-+        <checkbox id="BTN_CASESENSITIVE" tab-stop="true" text="Case ~sensitive"/>
-+        <checkbox id="BTN_LABEL" tab-stop="true"/>
-+        <checkbox id="BTN_FORMATS" tab-stop="true" text="Include ~formats"/>
-+        <checkbox id="BTN_NATURALSORT" tab-stop="true" text=" "/>
-+        <checkbox id="BTN_COPYRESULT" tab-stop="true" text="~Copy sort results to:"/>
++        <checkbox id="BTN_CASESENSITIVE" tabstop="true" label="Case ~sensitive"/>
++        <checkbox id="BTN_LABEL" tabstop="true"/>
++        <checkbox id="BTN_FORMATS" tabstop="true" label="Include ~formats"/>
++        <checkbox id="BTN_NATURALSORT" tabstop="true" label=" "/>
++        <checkbox id="BTN_COPYRESULT" tabstop="true" label="~Copy sort results to:"/>
 +        <hbox>
-+            <listbox has_border="true" drop-down="true" id="LB_OUTAREA" tab-stop="true"/>
-+            <edit has_border="true" disable="true" id="ED_OUTAREA" tab-stop="true"/>
++            <listbox has_border="true" dropdown="true" id="LB_OUTAREA" tabstop="true"/>
++            <edit has_border="true" disable="true" id="ED_OUTAREA" tabstop="true"/>
 +        </hbox>
-+        <checkbox id="BTN_SORT_USER" tab-stop="true" text="Custom sort ~order"/>
-+        <listbox has_border="true" disable="true" drop-down="true" id="LB_SORT_USER" tab-stop="true"/>
++        <checkbox id="BTN_SORT_USER" tabstop="true" label="Custom sort ~order"/>
++        <listbox has_border="true" disable="true" dropdown="true" id="LB_SORT_USER" tabstop="true"/>
 +        <hbox>
 +            <fixedtext id="FT_LANGUAGE" label="~Language"/>
 +            <fixedtext id="FT_ALGORITHM" label="O~ptions"/>
 +        </hbox>
 +        <hbox>
-+            <listbox has_border="true" drop-down="true" id="LB_LANGUAGE" sort="true" tab-stop="true"/>
-+            <listbox has_border="true" drop-down="true" id="LB_ALGORITHM" tab-stop="true"/>
++            <listbox has_border="true" dropdown="true" id="LB_LANGUAGE" sort="true" tabstop="true"/>
++            <listbox has_border="true" dropdown="true" id="LB_ALGORITHM" tabstop="true"/>
 +        </hbox>
 +        <fixedline id="FL_DIRECTION" text="Direction"/>
-+        <radiobutton id="BTN_TOP_DOWN" tab-stop="true" label="~Top to bottom (sort rows)"/>
-+        <radiobutton id="BTN_LEFT_RIGHT" tab-stop="true" label="L~eft to right (sort columns)"/>
++        <radiobutton id="BTN_TOP_DOWN" tabstop="true" label="~Top to bottom (sort rows)"/>
++        <radiobutton id="BTN_LEFT_RIGHT" tabstop="true" label="L~eft to right (sort columns)"/>
 +    </vbox>
 +</tabpage>
 +<tabdialog closeable="false" moveable="true" output-size="true" id="RID_SCDLG_SORT" sv-look="true" text="Sort" xmlns="http://openoffice.org/2007/layout"; xmlns:cnt="http://openoffice.org/2007/layout/container";>
@@ -2293,10 +2871,10 @@
 +            </pagelist>
 +        </tabcontrol>
 +        <hbox>
-+            <okbutton id="1" tab-stop="true"/>
-+            <cancelbutton id="1" tab-stop="true"/>
-+            <helpbutton id="1" tab-stop="true"/>
-+            <pushbutton id="1" tab-stop="true"/>
++            <okbutton id="1" tabstop="true"/>
++            <cancelbutton id="1" tabstop="true"/>
++            <helpbutton id="1" tabstop="true"/>
++            <pushbutton id="1" tabstop="true"/>
 +        </hbox>
 +    </vbox>
 +</tabdialog>
@@ -2371,10 +2949,10 @@
          SwWordCountDialog words ( 0 );
 diff --git a/workben/layout/tpsort.cxx b/workben/layout/tpsort.cxx
 new file mode 100644
-index 0000000..9b669da
+index 0000000..7802f69
 --- /dev/null
 +++ toolkit/workben/layout/tpsort.cxx
-@@ -0,0 +1,1113 @@
+@@ -0,0 +1,1120 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -2413,7 +2991,7 @@
 +#if !TEST_LAYOUT
 +// MARKER(update_precomp.py): autogen include statement, do not remove
 +#include "precompiled_sc.hxx"
-+#endif /*! TEST_LAYOUT */
++#endif /* !TEST_LAYOUT */
 +
 +#undef SC_DLLIMPLEMENTATION
 +
@@ -2966,7 +3544,10 @@
 +// 		aFtAreaLabel	( this, ScResId( FT_AREA_LABEL ) ),
 +//		aFtArea 		( this, ScResId( FT_AREA ) ),
 +		//
++#if ENABLE_LAYOUT
 +#undef ScResId
++#define ScResId(x) this, #x
++#endif /* ENABLE_LAYOUT */
 +		aStrRowLabel	( ScResId( STR_ROW_LABEL ) ),
 +		aStrColLabel	( ScResId( STR_COL_LABEL ) ),
 +		aStrUndefined	( ScResId( SCSTR_UNDEFINED ) ),
@@ -3041,6 +3622,7 @@
 +
 +	DBG_ASSERT( pViewData, "ViewData not found! :-/" );
 +
++#if !TEST_LAYOUT
 +	if ( pViewData && pDoc )
 +	{
 +		String			theArea;
@@ -3049,11 +3631,13 @@
 +		String			theDbName	= aStrNoName;
 +		const SCTAB	nCurTab		= pViewData->GetTabNo();
 +        const ScAddress::Convention eConv = pDoc->GetAddressConvention();
-+
++#endif /* !TEST_LAYOUT */
 +		aLbOutPos.Clear();
++        aStrUndefined = rtl::OUString::createFromAscii( "- undefined -" );
 +		aLbOutPos.InsertEntry( aStrUndefined, 0 );
 +		aLbOutPos.Disable();
 +
++#if !TEST_LAYOUT
 +		ScAreaNameIterator aIter( pDoc );
 +		String aName;
 +		ScRange aRange;
@@ -3065,16 +3649,17 @@
 +			aRange.aStart.Format( aRefStr, SCA_ABS_3D, pDoc, eConv );
 +			aLbOutPos.SetEntryData( nInsert, new String( aRefStr ) );
 +		}
++#endif /* !TEST_LAYOUT */
 +
 +		aLbOutPos.SelectEntryPos( 0 );
 +		aEdOutPos.SetText( EMPTY_STRING );
 +
++#if !TEST_LAYOUT
 +		/*
 +		 * Ueberpruefen, ob es sich bei dem uebergebenen
 +		 * Bereich um einen Datenbankbereich handelt:
 +		 */
 +
-+#if 1//!TEST_LAYOUT
 +		ScAddress aScAddress( rSortData.nCol1, rSortData.nRow1, nCurTab );
 +		ScRange( aScAddress,
 +				 ScAddress( rSortData.nCol2, rSortData.nRow2, nCurTab )
@@ -3091,7 +3676,6 @@
 +				aBtnHeader.Check( pDBData->HasHeader() );
 +			}
 +		}
-+#endif /* !TEST_LAYOUT */
 +
 +		theArea.AppendAscii(RTL_CONSTASCII_STRINGPARAM(" ("));
 +		theArea += theDbName;
@@ -3103,6 +3687,7 @@
 +
 +		aBtnHeader.SetText( aStrColLabel );
 +	}
++#endif /* TEST_LAYOUT */
 +
 +	FillUserSortListBox();
 +
@@ -3490,10 +4075,10 @@
 +
 diff --git a/workben/layout/tpsort.hxx b/workben/layout/tpsort.hxx
 new file mode 100644
-index 0000000..f957dc7
+index 0000000..39a12cb
 --- /dev/null
 +++ toolkit/workben/layout/tpsort.hxx
-@@ -0,0 +1,243 @@
+@@ -0,0 +1,247 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -3702,9 +4287,13 @@
 +
 +//     FixedText           aFtAreaLabel;
 +//  FixedInfo           aFtArea;
++#if ENABLE_LAYOUT
++#define String layout::LocalizedString
++#endif /* ENABLE_LAYOUT */
 +    String              aStrRowLabel;
 +    String              aStrColLabel;
 +    String              aStrUndefined;
++#undef String
 +    String              aStrNoName;
 +    String              aStrAreaLabel;
 +



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]