[Libreoffice-commits] core.git: include/toolkit solenv/clang-format toolkit/inc toolkit/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Mon Apr 12 07:47:18 UTC 2021


 include/toolkit/awt/vclxwindows.hxx       |  811 -----------------------------
 solenv/clang-format/excludelist           |    1 
 toolkit/inc/awt/vclxwindows.hxx           |  815 ++++++++++++++++++++++++++++++
 toolkit/source/awt/vclxtoolkit.cxx        |    1 
 toolkit/source/awt/vclxwindows.cxx        |    1 
 toolkit/source/controls/dialogcontrol.cxx |    1 
 toolkit/source/controls/svmedit.cxx       |    2 
 toolkit/source/controls/unocontrols.cxx   |    2 
 toolkit/source/helper/unowrapper.cxx      |    1 
 9 files changed, 823 insertions(+), 812 deletions(-)

New commits:
commit 7a762ad0c69011b1e77098395e171393046330ed
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Apr 11 18:59:13 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Apr 12 09:46:23 2021 +0200

    VCLXMultiPage can be in private headers
    
    and similar
    
    VCLXFormattedSpinField can drop SAL_DLLPUBLIC_RTTI
    
    Change-Id: I72cf9eeb1a0cba45089692bc81ae0c79a32bbef5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113957
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/toolkit/awt/vclxwindows.hxx b/include/toolkit/awt/vclxwindows.hxx
index 1ac704320171..c3e71d97900d 100644
--- a/include/toolkit/awt/vclxwindows.hxx
+++ b/include/toolkit/awt/vclxwindows.hxx
@@ -17,60 +17,35 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_TOOLKIT_AWT_VCLXWINDOWS_HXX
-#define INCLUDED_TOOLKIT_AWT_VCLXWINDOWS_HXX
+#pragma once
 
 #include <toolkit/dllapi.h>
 
 #include <com/sun/star/awt/XTextComponent.hpp>
 #include <com/sun/star/awt/XListBox.hpp>
 #include <com/sun/star/awt/XScrollBar.hpp>
-#include <com/sun/star/awt/XMessageBox.hpp>
-#include <com/sun/star/awt/XProgressBar.hpp>
 #include <com/sun/star/awt/XTextEditField.hpp>
-#include <com/sun/star/awt/XTimeField.hpp>
 #include <com/sun/star/awt/XSpinField.hpp>
 #include <com/sun/star/awt/XTextLayoutConstrains.hpp>
-#include <com/sun/star/awt/XNumericField.hpp>
-#include <com/sun/star/awt/XMetricField.hpp>
 #include <com/sun/star/awt/XButton.hpp>
 #include <com/sun/star/awt/XToggleButton.hpp>
 #include <com/sun/star/awt/XFixedHyperlink.hpp>
 #include <com/sun/star/awt/XFixedText.hpp>
-#include <com/sun/star/awt/XDialog2.hpp>
 #include <com/sun/star/awt/XRadioButton.hpp>
-#include <com/sun/star/awt/XCurrencyField.hpp>
-#include <com/sun/star/awt/XPatternField.hpp>
-#include <com/sun/star/awt/XDateField.hpp>
 #include <com/sun/star/awt/XComboBox.hpp>
 #include <com/sun/star/awt/XCheckBox.hpp>
 #include <com/sun/star/awt/XItemListListener.hpp>
-#include <com/sun/star/awt/XSimpleTabController.hpp>
-#include <com/sun/star/awt/XTextArea.hpp>
-#include <com/sun/star/util/Time.hpp>
-#include <com/sun/star/util/Date.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/weak.hxx>
 
-#include <svl/numuno.hxx>
-
 #include <toolkit/awt/vclxwindow.hxx>
-#include <toolkit/awt/vclxtopwindow.hxx>
 #include <toolkit/helper/listenermultiplexer.hxx>
 
-#include <tools/lineend.hxx>
-
 #include <vcl/image.hxx>
 
-class FormatterBase;
-class TabControl;
-class TabPage;
-class Edit;
-
 //  class VCLXGraphicControl
 //    deriving from VCLXWindow, drawing the graphic which exists as "Graphic" at the model
 
-
 class VCLXGraphicControl : public VCLXWindow
 {
 private:
@@ -152,32 +127,6 @@ public:
     virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
 };
 
-
-//  class VCLXImageControl
-
-class VCLXImageControl final : public VCLXGraphicControl
-{
-public:
-                    VCLXImageControl();
-                    virtual ~VCLXImageControl() override;
-
-    // css::awt::XLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize(  ) override;
-    css::awt::Size SAL_CALL getPreferredSize(  ) override;
-    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& rNewSize ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-
-private:
-    virtual void    ImplSetNewImage() override;
-};
-
-
 //  class VCLXCheckBox
 
 class TOOLKIT_DLLPUBLIC VCLXCheckBox final : public css::awt::XCheckBox,
@@ -291,187 +240,7 @@ public:
 
 };
 
-
-//  class VCLXMessageBox
-
-class VCLXMessageBox final : public css::awt::XMessageBox,
-                        public VCLXTopWindow
-{
-public:
-                        VCLXMessageBox();
-                        virtual ~VCLXMessageBox() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-
-    // css::awt::XMessageBox
-    void SAL_CALL setCaptionText( const OUString& aText ) override;
-    OUString SAL_CALL getCaptionText(  ) override;
-    void SAL_CALL setMessageText( const OUString& aText ) override;
-    OUString SAL_CALL getMessageText(  ) override;
-    sal_Int16 SAL_CALL execute(  ) override;
-
-    // css::awt::XLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize() override;
-
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
-};
-
-
-//  class VCLXFrame
-
-class VCLXFrame final : public VCLXContainer
-{
-    void                        ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
-
-public:
-    VCLXFrame();
-    virtual ~VCLXFrame() override;
-
-    // css::uno::XInterface
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XView
-    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXDialog
-
-class VCLXDialog final : public css::awt::XDialog2,
-                    public VCLXTopWindow
-{
-public:
-                        VCLXDialog();
-                        virtual ~VCLXDialog() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XDialog2
-    virtual void SAL_CALL endDialog( ::sal_Int32 Result ) override;
-    virtual void SAL_CALL setHelpId( const OUString& Id ) override;
-
-    // css::awt::XDialog
-    void SAL_CALL setTitle( const OUString& Title ) override;
-    OUString SAL_CALL getTitle(  ) override;
-    sal_Int16 SAL_CALL execute(  ) override;
-    void SAL_CALL endExecute(  ) override;
-
-    // css::awt::XView
-    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
-
-    // css::awt::XDevice,
-    css::awt::DeviceInfo SAL_CALL getInfo() override;
-
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-
-};
-
-
-//  class VCLXTabPage
-
-class VCLXTabPage final : public VCLXContainer
-{
-public:
-                        VCLXTabPage();
-                        virtual ~VCLXTabPage() override;
-
-    // css::uno::XInterface
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XView
-    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-
-    /// @throws css::uno::RuntimeException
-    TabPage*  getTabPage() const;
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class VCLXMultiPage final : public css::awt::XSimpleTabController, public VCLXContainer
-{
-    TabListenerMultiplexer maTabListeners;
-    sal_Int32 mTabId;
-
-    void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
-public:
-    VCLXMultiPage();
-    virtual ~VCLXMultiPage() override;
-
-    // css::uno::XInterface
-    css::uno::Any SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void SAL_CALL acquire() throw() override { OWeakObject::acquire(); }
-    void SAL_CALL release() throw() override { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
-
-    // css::lang::XComponent
-    void SAL_CALL dispose(  ) override;
-
-    // css::awt::XView
-    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-    // XSimpleTabController
-    virtual ::sal_Int32 SAL_CALL insertTab() override;
-    virtual void SAL_CALL removeTab( ::sal_Int32 ID ) override;
-
-    virtual void SAL_CALL setTabProps( ::sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& Properties ) override;
-    virtual css::uno::Sequence< css::beans::NamedValue > SAL_CALL getTabProps( ::sal_Int32 ID ) override;
-
-    virtual void SAL_CALL activateTab( ::sal_Int32 ID ) override;
-    virtual ::sal_Int32 SAL_CALL getActiveTabID() override;
-
-    virtual void SAL_CALL addTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
-    virtual void SAL_CALL removeTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
-    // C++
-    /// @throws css::uno::RuntimeException
-    TabControl*  getTabControl() const;
-    sal_uInt16 insertTab( TabPage*, OUString const & sTitle );
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
 //  class VCLXFixedHyperlink
-
 class VCLXFixedHyperlink final :
     public css::awt::XFixedHyperlink,
     public VCLXWindow
@@ -830,296 +599,6 @@ public:
     virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
 };
 
-
-//  class VCLXSpinField
-
-class VCLXSpinField : public css::awt::XSpinField, public VCLXEdit
-{
-private:
-    SpinListenerMultiplexer maSpinListeners;
-
-protected:
-    void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
-
-public:
-                    VCLXSpinField();
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-
-    // css::awt::XSpinField
-    void SAL_CALL addSpinListener( const css::uno::Reference< css::awt::XSpinListener >& l ) override;
-    void SAL_CALL removeSpinListener( const css::uno::Reference< css::awt::XSpinListener >& l ) override;
-    void SAL_CALL up(  ) override;
-    void SAL_CALL down(  ) override;
-    void SAL_CALL first(  ) override;
-    void SAL_CALL last(  ) override;
-    void SAL_CALL enableRepeat( sal_Bool bRepeat ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXFormattedSpinField
-
-class SAL_DLLPUBLIC_RTTI VCLXFormattedSpinField : public VCLXSpinField
-{
-private:
-    FormatterBase*  mpFormatter;
-
-protected:
-    FormatterBase*  GetFormatter() const { return GetWindow() ? mpFormatter : nullptr; }
-
-public:
-                    VCLXFormattedSpinField();
-                    virtual ~VCLXFormattedSpinField() override;
-
-    void            SetFormatter( FormatterBase* pFormatter ) { mpFormatter = pFormatter; }
-
-    void            setStrictFormat( bool bStrict );
-    bool            isStrictFormat() const;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXDateField
-
-class VCLXDateField : public css::awt::XDateField,
-                        public VCLXFormattedSpinField
-{
-protected:
-    virtual css::uno::Reference< css::accessibility::XAccessibleContext > CreateAccessibleContext() override;
-public:
-                    VCLXDateField();
-                    virtual ~VCLXDateField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-
-    // css::awt::XDateField
-    void SAL_CALL setDate( const css::util::Date& Date ) override;
-    css::util::Date SAL_CALL getDate(  ) override;
-    void SAL_CALL setMin( const css::util::Date& Date ) override;
-    css::util::Date SAL_CALL getMin(  ) override;
-    void SAL_CALL setMax( const css::util::Date& Date ) override;
-    css::util::Date SAL_CALL getMax(  ) override;
-    void SAL_CALL setFirst( const css::util::Date& Date ) override;
-    css::util::Date SAL_CALL getFirst(  ) override;
-    void SAL_CALL setLast( const css::util::Date& Date ) override;
-    css::util::Date SAL_CALL getLast(  ) override;
-    void SAL_CALL setLongFormat( sal_Bool bLong ) override;
-    sal_Bool SAL_CALL isLongFormat(  ) override;
-    void SAL_CALL setEmpty(  ) override;
-    sal_Bool SAL_CALL isEmpty(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXTimeField
-
-class VCLXTimeField final : public css::awt::XTimeField,
-                        public VCLXFormattedSpinField
-{
-    virtual css::uno::Reference< css::accessibility::XAccessibleContext > CreateAccessibleContext() override;
-public:
-                    VCLXTimeField();
-                    virtual ~VCLXTimeField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XTimeField
-    void SAL_CALL setTime( const css::util::Time& Time ) override;
-    css::util::Time SAL_CALL getTime(  ) override;
-    void SAL_CALL setMin( const css::util::Time& Time ) override;
-    css::util::Time SAL_CALL getMin(  ) override;
-    void SAL_CALL setMax( const css::util::Time& Time ) override;
-    css::util::Time SAL_CALL getMax(  ) override;
-    void SAL_CALL setFirst( const css::util::Time& Time ) override;
-    css::util::Time SAL_CALL getFirst(  ) override;
-    void SAL_CALL setLast( const css::util::Time& Time ) override;
-    css::util::Time SAL_CALL getLast(  ) override;
-    void SAL_CALL setEmpty(  ) override;
-    sal_Bool SAL_CALL isEmpty(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXNumericField
-
-class VCLXNumericField final : public css::awt::XNumericField,
-                            public VCLXFormattedSpinField
-{
-public:
-                    VCLXNumericField();
-                    virtual ~VCLXNumericField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XNumericField
-    void SAL_CALL setValue( double Value ) override;
-    double SAL_CALL getValue(  ) override;
-    void SAL_CALL setMin( double Value ) override;
-    double SAL_CALL getMin(  ) override;
-    void SAL_CALL setMax( double Value ) override;
-    double SAL_CALL getMax(  ) override;
-    void SAL_CALL setFirst( double Value ) override;
-    double SAL_CALL getFirst(  ) override;
-    void SAL_CALL setLast( double Value ) override;
-    double SAL_CALL getLast(  ) override;
-    void SAL_CALL setSpinSize( double Value ) override;
-    double SAL_CALL getSpinSize(  ) override;
-    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
-    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-
-//  class VCLXMetricField
-
-class MetricFormatter;
-class MetricField;
-class VCLXMetricField final : public css::awt::XMetricField,
-                        public VCLXFormattedSpinField
-{
-    /// @throws css::uno::RuntimeException
-    MetricFormatter *GetMetricFormatter();
-    /// @throws css::uno::RuntimeException
-    MetricField     *GetMetricField();
-    void CallListeners();
-public:
-    VCLXMetricField();
-    virtual ~VCLXMetricField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XMetricField
-    virtual void SAL_CALL setValue( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setUserValue( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getValue( ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getCorrectedValue( ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setMin( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getMin( ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setMax( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getMax( ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setFirst( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getFirst( ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setLast( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
-    virtual ::sal_Int64 SAL_CALL getLast( ::sal_Int16 Unit ) override;
-    virtual void SAL_CALL setSpinSize( ::sal_Int64 Value ) override;
-    virtual ::sal_Int64 SAL_CALL getSpinSize(  ) override;
-    virtual void SAL_CALL setDecimalDigits( ::sal_Int16 nDigits ) override;
-    virtual ::sal_Int16 SAL_CALL getDecimalDigits(  ) override;
-    virtual void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    virtual sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-//  class VCLXPatternField
-class VCLXPatternField final :  public css::awt::XPatternField,
-                            public VCLXFormattedSpinField
-{
-public:
-                    VCLXPatternField();
-                    virtual ~VCLXPatternField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
-    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-
-    // css::awt::XPatternField
-    void SAL_CALL setMasks( const OUString& EditMask, const OUString& LiteralMask ) override;
-    void SAL_CALL getMasks( OUString& EditMask, OUString& LiteralMask ) override;
-    void SAL_CALL setString( const OUString& Str ) override;
-    OUString SAL_CALL getString(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
 //  class VCLXToolBox
 class VCLXToolBox final : public VCLXWindow
 {
@@ -1141,292 +620,4 @@ public:
 
 };
 
-//  class VCLXProgressBar
-class VCLXProgressBar final : public css::awt::XProgressBar
-                            , public VCLXWindow
-{
-private:
-    sal_Int32   m_nValue;
-    sal_Int32   m_nValueMin;
-    sal_Int32   m_nValueMax;
-
-    void            ImplUpdateValue();
-
-public:
-                    VCLXProgressBar();
-                    virtual ~VCLXProgressBar() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
-    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XProgressBar
-    void SAL_CALL setForegroundColor( sal_Int32 nColor ) override;
-    void SAL_CALL setBackgroundColor( sal_Int32 nColor ) override;
-    void SAL_CALL setValue( sal_Int32 nValue ) override;
-    void SAL_CALL setRange( sal_Int32 nMin, sal_Int32 nMax ) override;
-    sal_Int32 SAL_CALL getValue() override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class VCLXFileControl final : public css::awt::XTextComponent, public css::awt::XTextLayoutConstrains, public VCLXWindow
-{
-    DECL_LINK(ModifyHdl, Edit&, void);
-    void ModifyHdl();
-    TextListenerMultiplexer maTextListeners;
-
-public:
-                    VCLXFileControl();
-                    virtual ~VCLXFileControl() override;
-
-    virtual void SetWindow( const VclPtr< vcl::Window > &pWindow ) override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
-    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XTextComponent
-    void SAL_CALL addTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
-    void SAL_CALL removeTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
-    void SAL_CALL setText( const OUString& aText ) override;
-    void SAL_CALL insertText( const css::awt::Selection& Sel, const OUString& Text ) override;
-    OUString SAL_CALL getText(  ) override;
-    OUString SAL_CALL getSelectedText(  ) override;
-    void SAL_CALL setSelection( const css::awt::Selection& aSelection ) override;
-    css::awt::Selection SAL_CALL getSelection(  ) override;
-    sal_Bool SAL_CALL isEditable(  ) override;
-    void SAL_CALL setEditable( sal_Bool bEditable ) override;
-    void SAL_CALL setMaxTextLen( sal_Int16 nLen ) override;
-    sal_Int16 SAL_CALL getMaxTextLen(  ) override;
-
-    // css::awt::XLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize(  ) override;
-    css::awt::Size SAL_CALL getPreferredSize(  ) override;
-    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& aNewSize ) override;
-
-    // css::awt::XTextLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) override;
-    void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) override;
-
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class SVTXFormattedField : public VCLXSpinField
-{
-protected:
-    rtl::Reference<SvNumberFormatsSupplierObj> m_xCurrentSupplier;
-    bool                    bIsStandardSupplier;
-
-    sal_Int32                   nKeyToSetDelayed;
-
-public:
-    SVTXFormattedField();
-    virtual ~SVTXFormattedField() override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-protected:
-    void    setFormatsSupplier(const css::uno::Reference< css::util::XNumberFormatsSupplier > & xSupplier);
-    sal_Int32   getFormatKey() const;
-    void    setFormatKey(sal_Int32 nKey);
-
-    void    SetValue(const css::uno::Any& rValue);
-    css::uno::Any  GetValue() const;
-
-    void    SetTreatAsNumber(bool bSet);
-    bool    GetTreatAsNumber() const;
-
-    void    SetDefaultValue(const css::uno::Any& rValue);
-    css::uno::Any  GetDefaultValue() const;
-
-    void    SetMinValue(const css::uno::Any& rValue);
-    css::uno::Any  GetMinValue() const;
-
-    void    SetMaxValue(const css::uno::Any& rValue);
-    css::uno::Any  GetMaxValue() const;
-
-    void    NotifyTextListeners();
-    css::uno::Any  convertEffectiveValue(const css::uno::Any& rValue);
-
-    virtual void    SetWindow( const VclPtr< vcl::Window > &_pWindow) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class SVTXCurrencyField : public css::awt::XCurrencyField, public SVTXFormattedField
-{
-public:
-                    SVTXCurrencyField();
-                    virtual ~SVTXCurrencyField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                           SAL_CALL acquire() throw() override  { SVTXFormattedField::acquire(); }
-    void                           SAL_CALL release() throw() override  { SVTXFormattedField::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    // css::awt::XCurrencyField
-    void SAL_CALL setValue( double Value ) override;
-    double SAL_CALL getValue(  ) override;
-    void SAL_CALL setMin( double Value ) override;
-    double SAL_CALL getMin(  ) override;
-    void SAL_CALL setMax( double Value ) override;
-    double SAL_CALL getMax(  ) override;
-    void SAL_CALL setFirst( double Value ) override;
-    double SAL_CALL getFirst(  ) override;
-    void SAL_CALL setLast( double Value ) override;
-    double SAL_CALL getLast(  ) override;
-    void SAL_CALL setSpinSize( double Value ) override;
-    double SAL_CALL getSpinSize(  ) override;
-    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
-    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class SVTXNumericField : public css::awt::XNumericField, public SVTXFormattedField
-{
-public:
-                    SVTXNumericField();
-                    virtual ~SVTXNumericField() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                           SAL_CALL acquire() throw() override  { SVTXFormattedField::acquire(); }
-    void                           SAL_CALL release() throw() override  { SVTXFormattedField::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XNumericField
-    void SAL_CALL setValue( double Value ) override;
-    double SAL_CALL getValue(  ) override;
-    void SAL_CALL setMin( double Value ) override;
-    double SAL_CALL getMin(  ) override;
-    void SAL_CALL setMax( double Value ) override;
-    double SAL_CALL getMax(  ) override;
-    void SAL_CALL setFirst( double Value ) override;
-    double SAL_CALL getFirst(  ) override;
-    void SAL_CALL setLast( double Value ) override;
-    double SAL_CALL getLast(  ) override;
-    void SAL_CALL setSpinSize( double Value ) override;
-    double SAL_CALL getSpinSize(  ) override;
-    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
-    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
-    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
-    sal_Bool SAL_CALL isStrictFormat(  ) override;
-
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
-};
-
-class SVTXDateField : public VCLXDateField
-{
-public:
-                    SVTXDateField();
-                    virtual ~SVTXDateField() override;
-
-    // css::awt::VclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-class VCLXMultiLineEdit :   public css::awt::XTextComponent,
-                            public css::awt::XTextArea,
-                            public css::awt::XTextLayoutConstrains,
-                            public VCLXWindow
-{
-private:
-    TextListenerMultiplexer maTextListeners;
-    LineEnd                 meLineEndType;
-
-protected:
-    void                ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
-
-public:
-                    VCLXMultiLineEdit();
-                    virtual ~VCLXMultiLineEdit() override;
-
-    // css::uno::XInterface
-    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
-    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
-    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
-
-    // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
-    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
-
-    // css::awt::XTextComponent
-    void SAL_CALL addTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
-    void SAL_CALL removeTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
-    void SAL_CALL setText( const OUString& aText ) override;
-    void SAL_CALL insertText( const css::awt::Selection& Sel, const OUString& Text ) override;
-    OUString SAL_CALL getText(  ) override;
-    OUString SAL_CALL getSelectedText(  ) override;
-    void SAL_CALL setSelection( const css::awt::Selection& aSelection ) override;
-    css::awt::Selection SAL_CALL getSelection(  ) override;
-    sal_Bool SAL_CALL isEditable(  ) override;
-    void SAL_CALL setEditable( sal_Bool bEditable ) override;
-    void SAL_CALL setMaxTextLen( sal_Int16 nLen ) override;
-    sal_Int16 SAL_CALL getMaxTextLen(  ) override;
-
-    //XTextArea
-    OUString SAL_CALL getTextLines(  ) override;
-
-    // css::awt::XLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize(  ) override;
-    css::awt::Size SAL_CALL getPreferredSize(  ) override;
-    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& aNewSize ) override;
-
-    // css::awt::XTextLayoutConstrains
-    css::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) override;
-    void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) override;
-
-    // css::awt::XVclWindowPeer
-    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
-    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
-
-    // css::awt::XWindow
-    void SAL_CALL setFocus(  ) override;
-
-    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
-    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
-};
-
-#endif // INCLUDED_TOOLKIT_AWT_VCLXWINDOWS_HXX
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 3fa742fc959a..b1944790369e 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -13688,6 +13688,7 @@ toolkit/inc/awt/vclxregion.hxx
 toolkit/inc/awt/vclxspinbutton.hxx
 toolkit/inc/awt/vclxsystemdependentwindow.hxx
 toolkit/inc/awt/vclxtabpagecontainer.hxx
+toolkit/inc/awt/vclxwindows.hxx
 toolkit/inc/controls/accessiblecontrolcontext.hxx
 toolkit/inc/controls/animatedimages.hxx
 toolkit/inc/controls/controlmodelcontainerbase.hxx
diff --git a/toolkit/inc/awt/vclxwindows.hxx b/toolkit/inc/awt/vclxwindows.hxx
new file mode 100644
index 000000000000..e2ac38a147c4
--- /dev/null
+++ b/toolkit/inc/awt/vclxwindows.hxx
@@ -0,0 +1,815 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <com/sun/star/awt/XCurrencyField.hpp>
+#include <com/sun/star/awt/XDateField.hpp>
+#include <com/sun/star/awt/XDialog2.hpp>
+#include <com/sun/star/awt/XMessageBox.hpp>
+#include <com/sun/star/awt/XMetricField.hpp>
+#include <com/sun/star/awt/XNumericField.hpp>
+#include <com/sun/star/awt/XPatternField.hpp>
+#include <com/sun/star/awt/XProgressBar.hpp>
+#include <com/sun/star/awt/XSimpleTabController.hpp>
+#include <com/sun/star/awt/XTextArea.hpp>
+#include <com/sun/star/awt/XTimeField.hpp>
+#include <com/sun/star/util/Time.hpp>
+#include <com/sun/star/util/Date.hpp>
+
+#include <svl/numuno.hxx>
+#include <tools/lineend.hxx>
+
+#include <toolkit/awt/vclxwindows.hxx>
+#include <toolkit/awt/vclxtopwindow.hxx>
+
+class FormatterBase;
+class TabControl;
+class TabPage;
+class Edit;
+
+//  class VCLXImageControl
+class VCLXImageControl final : public VCLXGraphicControl
+{
+public:
+                    VCLXImageControl();
+                    virtual ~VCLXImageControl() override;
+
+    // css::awt::XLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize(  ) override;
+    css::awt::Size SAL_CALL getPreferredSize(  ) override;
+    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& rNewSize ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+
+private:
+    virtual void    ImplSetNewImage() override;
+};
+
+//  class VCLXMessageBox
+class VCLXMessageBox final : public css::awt::XMessageBox,
+                        public VCLXTopWindow
+{
+public:
+                        VCLXMessageBox();
+                        virtual ~VCLXMessageBox() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+
+    // css::awt::XMessageBox
+    void SAL_CALL setCaptionText( const OUString& aText ) override;
+    OUString SAL_CALL getCaptionText(  ) override;
+    void SAL_CALL setMessageText( const OUString& aText ) override;
+    OUString SAL_CALL getMessageText(  ) override;
+    sal_Int16 SAL_CALL execute(  ) override;
+
+    // css::awt::XLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize() override;
+
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
+};
+
+//  class VCLXFrame
+class VCLXFrame final : public VCLXContainer
+{
+    void                        ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
+
+public:
+    VCLXFrame();
+    virtual ~VCLXFrame() override;
+
+    // css::uno::XInterface
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XView
+    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+//  class VCLXDialog
+class VCLXDialog final : public css::awt::XDialog2,
+                    public VCLXTopWindow
+{
+public:
+                        VCLXDialog();
+                        virtual ~VCLXDialog() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XDialog2
+    virtual void SAL_CALL endDialog( ::sal_Int32 Result ) override;
+    virtual void SAL_CALL setHelpId( const OUString& Id ) override;
+
+    // css::awt::XDialog
+    void SAL_CALL setTitle( const OUString& Title ) override;
+    OUString SAL_CALL getTitle(  ) override;
+    sal_Int16 SAL_CALL execute(  ) override;
+    void SAL_CALL endExecute(  ) override;
+
+    // css::awt::XView
+    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
+
+    // css::awt::XDevice,
+    css::awt::DeviceInfo SAL_CALL getInfo() override;
+
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+
+};
+
+//  class VCLXTabPage
+class VCLXTabPage final : public VCLXContainer
+{
+public:
+                        VCLXTabPage();
+                        virtual ~VCLXTabPage() override;
+
+    // css::uno::XInterface
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XView
+    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+
+    /// @throws css::uno::RuntimeException
+    TabPage*  getTabPage() const;
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+class VCLXMultiPage final : public css::awt::XSimpleTabController, public VCLXContainer
+{
+    TabListenerMultiplexer maTabListeners;
+    sal_Int32 mTabId;
+
+    void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
+public:
+    VCLXMultiPage();
+    virtual ~VCLXMultiPage() override;
+
+    // css::uno::XInterface
+    css::uno::Any SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void SAL_CALL acquire() throw() override { OWeakObject::acquire(); }
+    void SAL_CALL release() throw() override { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
+
+    // css::lang::XComponent
+    void SAL_CALL dispose(  ) override;
+
+    // css::awt::XView
+    void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+    // XSimpleTabController
+    virtual ::sal_Int32 SAL_CALL insertTab() override;
+    virtual void SAL_CALL removeTab( ::sal_Int32 ID ) override;
+
+    virtual void SAL_CALL setTabProps( ::sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& Properties ) override;
+    virtual css::uno::Sequence< css::beans::NamedValue > SAL_CALL getTabProps( ::sal_Int32 ID ) override;
+
+    virtual void SAL_CALL activateTab( ::sal_Int32 ID ) override;
+    virtual ::sal_Int32 SAL_CALL getActiveTabID() override;
+
+    virtual void SAL_CALL addTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
+    virtual void SAL_CALL removeTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
+    // C++
+    /// @throws css::uno::RuntimeException
+    TabControl*  getTabControl() const;
+    sal_uInt16 insertTab( TabPage*, OUString const & sTitle );
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+class VCLXMultiLineEdit :   public css::awt::XTextComponent,
+                            public css::awt::XTextArea,
+                            public css::awt::XTextLayoutConstrains,
+                            public VCLXWindow
+{
+private:
+    TextListenerMultiplexer maTextListeners;
+    LineEnd                 meLineEndType;
+
+protected:
+    void                ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
+
+public:
+                    VCLXMultiLineEdit();
+                    virtual ~VCLXMultiLineEdit() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
+    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XTextComponent
+    void SAL_CALL addTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
+    void SAL_CALL removeTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
+    void SAL_CALL setText( const OUString& aText ) override;
+    void SAL_CALL insertText( const css::awt::Selection& Sel, const OUString& Text ) override;
+    OUString SAL_CALL getText(  ) override;
+    OUString SAL_CALL getSelectedText(  ) override;
+    void SAL_CALL setSelection( const css::awt::Selection& aSelection ) override;
+    css::awt::Selection SAL_CALL getSelection(  ) override;
+    sal_Bool SAL_CALL isEditable(  ) override;
+    void SAL_CALL setEditable( sal_Bool bEditable ) override;
+    void SAL_CALL setMaxTextLen( sal_Int16 nLen ) override;
+    sal_Int16 SAL_CALL getMaxTextLen(  ) override;
+
+    //XTextArea
+    OUString SAL_CALL getTextLines(  ) override;
+
+    // css::awt::XLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize(  ) override;
+    css::awt::Size SAL_CALL getPreferredSize(  ) override;
+    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& aNewSize ) override;
+
+    // css::awt::XTextLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) override;
+    void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    // css::awt::XWindow
+    void SAL_CALL setFocus(  ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+//  class VCLXProgressBar
+class VCLXProgressBar final : public css::awt::XProgressBar
+                            , public VCLXWindow
+{
+private:
+    sal_Int32   m_nValue;
+    sal_Int32   m_nValueMin;
+    sal_Int32   m_nValueMax;
+
+    void            ImplUpdateValue();
+
+public:
+                    VCLXProgressBar();
+                    virtual ~VCLXProgressBar() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
+    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XProgressBar
+    void SAL_CALL setForegroundColor( sal_Int32 nColor ) override;
+    void SAL_CALL setBackgroundColor( sal_Int32 nColor ) override;
+    void SAL_CALL setValue( sal_Int32 nValue ) override;
+    void SAL_CALL setRange( sal_Int32 nMin, sal_Int32 nMax ) override;
+    sal_Int32 SAL_CALL getValue() override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+//  class VCLXSpinField
+class VCLXSpinField : public css::awt::XSpinField, public VCLXEdit
+{
+private:
+    SpinListenerMultiplexer maSpinListeners;
+
+protected:
+    void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ) override;
+
+public:
+                    VCLXSpinField();
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+
+    // css::awt::XSpinField
+    void SAL_CALL addSpinListener( const css::uno::Reference< css::awt::XSpinListener >& l ) override;
+    void SAL_CALL removeSpinListener( const css::uno::Reference< css::awt::XSpinListener >& l ) override;
+    void SAL_CALL up(  ) override;
+    void SAL_CALL down(  ) override;
+    void SAL_CALL first(  ) override;
+    void SAL_CALL last(  ) override;
+    void SAL_CALL enableRepeat( sal_Bool bRepeat ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+//  class VCLXFormattedSpinField
+class VCLXFormattedSpinField : public VCLXSpinField
+{
+private:
+    FormatterBase*  mpFormatter;
+
+protected:
+    FormatterBase*  GetFormatter() const { return GetWindow() ? mpFormatter : nullptr; }
+
+public:
+                    VCLXFormattedSpinField();
+                    virtual ~VCLXFormattedSpinField() override;
+
+    void            SetFormatter( FormatterBase* pFormatter ) { mpFormatter = pFormatter; }
+
+    void            setStrictFormat( bool bStrict );
+    bool            isStrictFormat() const;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+//  class VCLXDateField
+
+class VCLXDateField : public css::awt::XDateField,
+                        public VCLXFormattedSpinField
+{
+protected:
+    virtual css::uno::Reference< css::accessibility::XAccessibleContext > CreateAccessibleContext() override;
+public:
+                    VCLXDateField();
+                    virtual ~VCLXDateField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+
+    // css::awt::XDateField
+    void SAL_CALL setDate( const css::util::Date& Date ) override;
+    css::util::Date SAL_CALL getDate(  ) override;
+    void SAL_CALL setMin( const css::util::Date& Date ) override;
+    css::util::Date SAL_CALL getMin(  ) override;
+    void SAL_CALL setMax( const css::util::Date& Date ) override;
+    css::util::Date SAL_CALL getMax(  ) override;
+    void SAL_CALL setFirst( const css::util::Date& Date ) override;
+    css::util::Date SAL_CALL getFirst(  ) override;
+    void SAL_CALL setLast( const css::util::Date& Date ) override;
+    css::util::Date SAL_CALL getLast(  ) override;
+    void SAL_CALL setLongFormat( sal_Bool bLong ) override;
+    sal_Bool SAL_CALL isLongFormat(  ) override;
+    void SAL_CALL setEmpty(  ) override;
+    sal_Bool SAL_CALL isEmpty(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+//  class VCLXTimeField
+
+class VCLXTimeField final : public css::awt::XTimeField,
+                        public VCLXFormattedSpinField
+{
+    virtual css::uno::Reference< css::accessibility::XAccessibleContext > CreateAccessibleContext() override;
+public:
+                    VCLXTimeField();
+                    virtual ~VCLXTimeField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XTimeField
+    void SAL_CALL setTime( const css::util::Time& Time ) override;
+    css::util::Time SAL_CALL getTime(  ) override;
+    void SAL_CALL setMin( const css::util::Time& Time ) override;
+    css::util::Time SAL_CALL getMin(  ) override;
+    void SAL_CALL setMax( const css::util::Time& Time ) override;
+    css::util::Time SAL_CALL getMax(  ) override;
+    void SAL_CALL setFirst( const css::util::Time& Time ) override;
+    css::util::Time SAL_CALL getFirst(  ) override;
+    void SAL_CALL setLast( const css::util::Time& Time ) override;
+    css::util::Time SAL_CALL getLast(  ) override;
+    void SAL_CALL setEmpty(  ) override;
+    sal_Bool SAL_CALL isEmpty(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+//  class VCLXNumericField
+
+class VCLXNumericField final : public css::awt::XNumericField,
+                            public VCLXFormattedSpinField
+{
+public:
+                    VCLXNumericField();
+                    virtual ~VCLXNumericField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XNumericField
+    void SAL_CALL setValue( double Value ) override;
+    double SAL_CALL getValue(  ) override;
+    void SAL_CALL setMin( double Value ) override;
+    double SAL_CALL getMin(  ) override;
+    void SAL_CALL setMax( double Value ) override;
+    double SAL_CALL getMax(  ) override;
+    void SAL_CALL setFirst( double Value ) override;
+    double SAL_CALL getFirst(  ) override;
+    void SAL_CALL setLast( double Value ) override;
+    double SAL_CALL getLast(  ) override;
+    void SAL_CALL setSpinSize( double Value ) override;
+    double SAL_CALL getSpinSize(  ) override;
+    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
+    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+//  class VCLXMetricField
+
+class MetricFormatter;
+class MetricField;
+class VCLXMetricField final : public css::awt::XMetricField,
+                        public VCLXFormattedSpinField
+{
+    /// @throws css::uno::RuntimeException
+    MetricFormatter *GetMetricFormatter();
+    /// @throws css::uno::RuntimeException
+    MetricField     *GetMetricField();
+    void CallListeners();
+public:
+    VCLXMetricField();
+    virtual ~VCLXMetricField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XMetricField
+    virtual void SAL_CALL setValue( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setUserValue( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getValue( ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getCorrectedValue( ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setMin( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getMin( ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setMax( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getMax( ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setFirst( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getFirst( ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setLast( ::sal_Int64 Value, ::sal_Int16 Unit ) override;
+    virtual ::sal_Int64 SAL_CALL getLast( ::sal_Int16 Unit ) override;
+    virtual void SAL_CALL setSpinSize( ::sal_Int64 Value ) override;
+    virtual ::sal_Int64 SAL_CALL getSpinSize(  ) override;
+    virtual void SAL_CALL setDecimalDigits( ::sal_Int16 nDigits ) override;
+    virtual ::sal_Int16 SAL_CALL getDecimalDigits(  ) override;
+    virtual void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    virtual sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+//  class VCLXPatternField
+class VCLXPatternField final :  public css::awt::XPatternField,
+                            public VCLXFormattedSpinField
+{
+public:
+                    VCLXPatternField();
+                    virtual ~VCLXPatternField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                                        SAL_CALL acquire() throw() override  { OWeakObject::acquire(); }
+    void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+
+    // css::awt::XPatternField
+    void SAL_CALL setMasks( const OUString& EditMask, const OUString& LiteralMask ) override;
+    void SAL_CALL getMasks( OUString& EditMask, OUString& LiteralMask ) override;
+    void SAL_CALL setString( const OUString& Str ) override;
+    OUString SAL_CALL getString(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+class VCLXFileControl final : public css::awt::XTextComponent, public css::awt::XTextLayoutConstrains, public VCLXWindow
+{
+    DECL_LINK(ModifyHdl, Edit&, void);
+    void ModifyHdl();
+    TextListenerMultiplexer maTextListeners;
+
+public:
+                    VCLXFileControl();
+                    virtual ~VCLXFileControl() override;
+
+    virtual void SetWindow( const VclPtr< vcl::Window > &pWindow ) override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                           SAL_CALL acquire() throw() override  { VCLXWindow::acquire(); }
+    void                           SAL_CALL release() throw() override  { VCLXWindow::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XTextComponent
+    void SAL_CALL addTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
+    void SAL_CALL removeTextListener( const css::uno::Reference< css::awt::XTextListener >& l ) override;
+    void SAL_CALL setText( const OUString& aText ) override;
+    void SAL_CALL insertText( const css::awt::Selection& Sel, const OUString& Text ) override;
+    OUString SAL_CALL getText(  ) override;
+    OUString SAL_CALL getSelectedText(  ) override;
+    void SAL_CALL setSelection( const css::awt::Selection& aSelection ) override;
+    css::awt::Selection SAL_CALL getSelection(  ) override;
+    sal_Bool SAL_CALL isEditable(  ) override;
+    void SAL_CALL setEditable( sal_Bool bEditable ) override;
+    void SAL_CALL setMaxTextLen( sal_Int16 nLen ) override;
+    sal_Int16 SAL_CALL getMaxTextLen(  ) override;
+
+    // css::awt::XLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize(  ) override;
+    css::awt::Size SAL_CALL getPreferredSize(  ) override;
+    css::awt::Size SAL_CALL calcAdjustedSize( const css::awt::Size& aNewSize ) override;
+
+    // css::awt::XTextLayoutConstrains
+    css::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) override;
+    void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) override;
+
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+class SVTXFormattedField : public VCLXSpinField
+{
+protected:
+    rtl::Reference<SvNumberFormatsSupplierObj> m_xCurrentSupplier;
+    bool                    bIsStandardSupplier;
+
+    sal_Int32                   nKeyToSetDelayed;
+
+public:
+    SVTXFormattedField();
+    virtual ~SVTXFormattedField() override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+protected:
+    void    setFormatsSupplier(const css::uno::Reference< css::util::XNumberFormatsSupplier > & xSupplier);
+    sal_Int32   getFormatKey() const;
+    void    setFormatKey(sal_Int32 nKey);
+
+    void    SetValue(const css::uno::Any& rValue);
+    css::uno::Any  GetValue() const;
+
+    void    SetTreatAsNumber(bool bSet);
+    bool    GetTreatAsNumber() const;
+
+    void    SetDefaultValue(const css::uno::Any& rValue);
+    css::uno::Any  GetDefaultValue() const;
+
+    void    SetMinValue(const css::uno::Any& rValue);
+    css::uno::Any  GetMinValue() const;
+
+    void    SetMaxValue(const css::uno::Any& rValue);
+    css::uno::Any  GetMaxValue() const;
+
+    void    NotifyTextListeners();
+    css::uno::Any  convertEffectiveValue(const css::uno::Any& rValue);
+
+    virtual void    SetWindow( const VclPtr< vcl::Window > &_pWindow) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+class SVTXCurrencyField : public css::awt::XCurrencyField, public SVTXFormattedField
+{
+public:
+                    SVTXCurrencyField();
+                    virtual ~SVTXCurrencyField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                           SAL_CALL acquire() throw() override  { SVTXFormattedField::acquire(); }
+    void                           SAL_CALL release() throw() override  { SVTXFormattedField::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XVclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+    css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
+
+    // css::awt::XCurrencyField
+    void SAL_CALL setValue( double Value ) override;
+    double SAL_CALL getValue(  ) override;
+    void SAL_CALL setMin( double Value ) override;
+    double SAL_CALL getMin(  ) override;
+    void SAL_CALL setMax( double Value ) override;
+    double SAL_CALL getMax(  ) override;
+    void SAL_CALL setFirst( double Value ) override;
+    double SAL_CALL getFirst(  ) override;
+    void SAL_CALL setLast( double Value ) override;
+    double SAL_CALL getLast(  ) override;
+    void SAL_CALL setSpinSize( double Value ) override;
+    double SAL_CALL getSpinSize(  ) override;
+    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
+    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+
+
+class SVTXNumericField : public css::awt::XNumericField, public SVTXFormattedField
+{
+public:
+                    SVTXNumericField();
+                    virtual ~SVTXNumericField() override;
+
+    // css::uno::XInterface
+    css::uno::Any                  SAL_CALL queryInterface( const css::uno::Type & rType ) override;
+    void                           SAL_CALL acquire() throw() override  { SVTXFormattedField::acquire(); }
+    void                           SAL_CALL release() throw() override  { SVTXFormattedField::release(); }
+
+    // css::lang::XTypeProvider
+    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
+    css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
+
+    // css::awt::XNumericField
+    void SAL_CALL setValue( double Value ) override;
+    double SAL_CALL getValue(  ) override;
+    void SAL_CALL setMin( double Value ) override;
+    double SAL_CALL getMin(  ) override;
+    void SAL_CALL setMax( double Value ) override;
+    double SAL_CALL getMax(  ) override;
+    void SAL_CALL setFirst( double Value ) override;
+    double SAL_CALL getFirst(  ) override;
+    void SAL_CALL setLast( double Value ) override;
+    double SAL_CALL getLast(  ) override;
+    void SAL_CALL setSpinSize( double Value ) override;
+    double SAL_CALL getSpinSize(  ) override;
+    void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
+    sal_Int16 SAL_CALL getDecimalDigits(  ) override;
+    void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
+    sal_Bool SAL_CALL isStrictFormat(  ) override;
+
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override;
+};
+
+class SVTXDateField : public VCLXDateField
+{
+public:
+                    SVTXDateField();
+                    virtual ~SVTXDateField() override;
+
+    // css::awt::VclWindowPeer
+    void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
+
+    static void     ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds );
+    virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override { return ImplGetPropertyIds( aIds ); }
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index dafcd294d18c..0c1e539f8666 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -72,6 +72,7 @@
 #include <vcl/toolkit/vclmedit.hxx>
 
 #include <toolkit/awt/vclxwindows.hxx>
+#include <awt/vclxwindows.hxx>
 #include <awt/vclxsystemdependentwindow.hxx>
 #include <awt/vclxregion.hxx>
 #include <awt/vclxtabpagecontainer.hxx>
diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx
index 15ac50d88ef9..e53f334de303 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -41,6 +41,7 @@
 #include <comphelper/processfactory.hxx>
 #include <sal/log.hxx>
 
+#include <awt/vclxwindows.hxx>
 #include <controls/filectrl.hxx>
 #include <controls/svmedit.hxx>
 #include <svl/zforlist.hxx>
diff --git a/toolkit/source/controls/dialogcontrol.cxx b/toolkit/source/controls/dialogcontrol.cxx
index b2563f4e8261..25e8061e5e1b 100644
--- a/toolkit/source/controls/dialogcontrol.cxx
+++ b/toolkit/source/controls/dialogcontrol.cxx
@@ -43,6 +43,7 @@
 #include <toolkit/awt/vclxwindows.hxx>
 #include <toolkit/controls/unocontrols.hxx>
 
+#include <awt/vclxwindows.hxx>
 #include <helper/unopropertyarrayhelper.hxx>
 #include "controlmodelcontainerbase_internal.hxx"
 
diff --git a/toolkit/source/controls/svmedit.cxx b/toolkit/source/controls/svmedit.cxx
index abfcd92297c0..383f2280412e 100644
--- a/toolkit/source/controls/svmedit.cxx
+++ b/toolkit/source/controls/svmedit.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <toolkit/awt/vclxwindows.hxx>
+#include <awt/vclxwindows.hxx>
 #include <controls/svmedit.hxx>
 
 MultiLineEdit::MultiLineEdit(vcl::Window* pParent, WinBits nWinStyle)
diff --git a/toolkit/source/controls/unocontrols.cxx b/toolkit/source/controls/unocontrols.cxx
index 0a7457239c43..7d958e837b3b 100644
--- a/toolkit/source/controls/unocontrols.cxx
+++ b/toolkit/source/controls/unocontrols.cxx
@@ -36,7 +36,7 @@
 #include <toolkit/helper/macros.hxx>
 
 // for introspection
-#include <toolkit/awt/vclxwindows.hxx>
+#include <awt/vclxwindows.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/toolkit/source/helper/unowrapper.cxx b/toolkit/source/helper/unowrapper.cxx
index df689f8bc02e..067e99b8672d 100644
--- a/toolkit/source/helper/unowrapper.cxx
+++ b/toolkit/source/helper/unowrapper.cxx
@@ -24,6 +24,7 @@
 #include <toolkit/awt/vclxmenu.hxx>
 #include <toolkit/awt/vclxtopwindow.hxx>
 #include <awt/vclxgraphics.hxx>
+#include <awt/vclxwindows.hxx>
 
 #include <toolkit/dllapi.h>
 #include <vcl/menu.hxx>


More information about the Libreoffice-commits mailing list