/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org 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 version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _SVT_UNOIFACE_HXX #define _SVT_UNOIFACE_HXX #include #include #include #include #include #include #include #include #include #include #include #include #include namespace com { namespace sun { namespace star { namespace util { class XNumberFormatsSupplier; } } } } class SvNumberFormatsSupplierObj; // ---------------------------------------------------- // class VCLXMultiLineEdit // ---------------------------------------------------- class VCLXMultiLineEdit : public ::com::sun::star::awt::XTextComponent, public ::com::sun::star::awt::XTextArea, public ::com::sun::star::awt::XTextLayoutConstrains, public VCLXWindow { private: TextListenerMultiplexer maTextListeners; LineEnd meLineEndType; protected: void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ); public: VCLXMultiLineEdit(); ~VCLXMultiLineEdit(); // ::com::sun::star::uno::XInterface ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL acquire() throw() { VCLXWindow::acquire(); } void SAL_CALL release() throw() { VCLXWindow::release(); } // ::com::sun::star::lang::XTypeProvider ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XTextComponent void SAL_CALL addTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL removeTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL insertText( const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException); ::rtl::OUString SAL_CALL getText( ) throw(::com::sun::star::uno::RuntimeException); ::rtl::OUString SAL_CALL getSelectedText( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setSelection( const ::com::sun::star::awt::Selection& aSelection ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Selection SAL_CALL getSelection( ) throw(::com::sun::star::uno::RuntimeException); sal_Bool SAL_CALL isEditable( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setEditable( sal_Bool bEditable ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMaxTextLen( sal_Int16 nLen ) throw(::com::sun::star::uno::RuntimeException); sal_Int16 SAL_CALL getMaxTextLen( ) throw(::com::sun::star::uno::RuntimeException); //XTextArea ::rtl::OUString SAL_CALL getTextLines( ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XLayoutConstrains ::com::sun::star::awt::Size SAL_CALL getMinimumSize( ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Size SAL_CALL getPreferredSize( ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XTextLayoutConstrains ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XVclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XWindow void SAL_CALL setFocus( ) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class VCLXFileControl // ---------------------------------------------------- class VCLXFileControl : ::com::sun::star::awt::XTextComponent, public ::com::sun::star::awt::XTextLayoutConstrains, public VCLXWindow { protected: DECL_LINK( ModifyHdl, Edit* ); TextListenerMultiplexer maTextListeners; public: VCLXFileControl(); ~VCLXFileControl(); void SetWindow( Window* pWindow ); // ::com::sun::star::uno::XInterface ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL acquire() throw() { VCLXWindow::acquire(); } void SAL_CALL release() throw() { VCLXWindow::release(); } // ::com::sun::star::lang::XTypeProvider ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XTextComponent void SAL_CALL addTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL removeTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL insertText( const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException); ::rtl::OUString SAL_CALL getText( ) throw(::com::sun::star::uno::RuntimeException); ::rtl::OUString SAL_CALL getSelectedText( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setSelection( const ::com::sun::star::awt::Selection& aSelection ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Selection SAL_CALL getSelection( ) throw(::com::sun::star::uno::RuntimeException); sal_Bool SAL_CALL isEditable( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setEditable( sal_Bool bEditable ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMaxTextLen( sal_Int16 nLen ) throw(::com::sun::star::uno::RuntimeException); sal_Int16 SAL_CALL getMaxTextLen( ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XLayoutConstrains ::com::sun::star::awt::Size SAL_CALL getMinimumSize( ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Size SAL_CALL getPreferredSize( ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XTextLayoutConstrains ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class SVTXFormattedField // ---------------------------------------------------- class SVTXFormattedField : public VCLXSpinField { protected: SvNumberFormatsSupplierObj* m_pCurrentSupplier; sal_Bool bIsStandardSupplier; sal_Int32 nKeyToSetDelayed; FormattedField* GetFormattedField() const { return (FormattedField*)GetWindow(); } public: SVTXFormattedField(); ~SVTXFormattedField(); // ::com::sun::star::awt::XVclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException); protected: ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > getFormatsSupplier(void) const; void setFormatsSupplier(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > & xSupplier); sal_Int32 getFormatKey(void) const; void setFormatKey(sal_Int32 nKey); void SetValue(const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any GetValue(); void SetTreatAsNumber(sal_Bool bSet); sal_Bool GetTreatAsNumber(); void SetDefaultValue(const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any GetDefaultValue(); void SetMinValue(const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any GetMinValue(); void SetMaxValue(const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any GetMaxValue(); void NotifyTextListeners(); ::com::sun::star::uno::Any convertEffectiveValue(const ::com::sun::star::uno::Any& rValue); virtual void SetWindow(Window* _pWindow); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class SVTXRoadmap // ---------------------------------------------------- namespace svt { class ORoadmap; } struct RMItemData { sal_Bool b_Enabled; sal_Int32 n_ID; ::rtl::OUString Label; }; typedef ::cppu::ImplInheritanceHelper3 < VCLXGraphicControl , ::com::sun::star::container::XContainerListener , ::com::sun::star::beans::XPropertyChangeListener , ::com::sun::star::awt::XItemEventBroadcaster > SVTXRoadmap_Base; class SVTXRoadmap : public SVTXRoadmap_Base { private: ItemListenerMultiplexer maItemListeners; RMItemData CurRMItemData; RMItemData GetRMItemData( const ::com::sun::star::container::ContainerEvent& _rEvent ); protected: ::svt::ORoadmap* GetRoadmap() const { return (::svt::ORoadmap*)GetWindow(); } void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ); ~SVTXRoadmap(); public: SVTXRoadmap(); void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException) { VCLXWindow::disposing( Source ); } // ::com::sun::star::awt::XVclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException); // XContainerListener void SAL_CALL elementInserted( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException); void SAL_CALL elementRemoved( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException); void SAL_CALL elementReplaced( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException); // XItemEventBroadcaster virtual void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw (::com::sun::star::uno::RuntimeException); // XPropertyChangeListener virtual void SAL_CALL propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw (::com::sun::star::uno::RuntimeException); protected: // VCLXGraphicControl overridables virtual void ImplSetNewImage(); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class SVTXNumericField // ---------------------------------------------------- class SVTXNumericField : public ::com::sun::star::awt::XNumericField, public SVTXFormattedField { public: SVTXNumericField(); ~SVTXNumericField(); // ::com::sun::star::uno::XInterface ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL acquire() throw() { SVTXFormattedField::acquire(); } void SAL_CALL release() throw() { SVTXFormattedField::release(); } // ::com::sun::star::lang::XTypeProvider ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XNumericField void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getValue( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getMin( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getMax( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getFirst( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getLast( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getSpinSize( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException); sal_Int16 SAL_CALL getDecimalDigits( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException); sal_Bool SAL_CALL isStrictFormat( ) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class VCLXCurrencyField // ---------------------------------------------------- class SVTXCurrencyField : public ::com::sun::star::awt::XCurrencyField, public SVTXFormattedField { public: SVTXCurrencyField(); ~SVTXCurrencyField(); // ::com::sun::star::uno::XInterface ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL acquire() throw() { SVTXFormattedField::acquire(); } void SAL_CALL release() throw() { SVTXFormattedField::release(); } // ::com::sun::star::lang::XTypeProvider ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XVclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XCurrencyField void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getValue( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getMin( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getMax( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getFirst( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getLast( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException); double SAL_CALL getSpinSize( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException); sal_Int16 SAL_CALL getDecimalDigits( ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException); sal_Bool SAL_CALL isStrictFormat( ) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class VCLXProgressBar // ---------------------------------------------------- class VCLXProgressBar : public ::com::sun::star::awt::XProgressBar, public VCLXWindow { private: sal_Int32 m_nValue; sal_Int32 m_nValueMin; sal_Int32 m_nValueMax; protected: void ImplUpdateValue(); public: VCLXProgressBar(); ~VCLXProgressBar(); // ::com::sun::star::uno::XInterface ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL acquire() throw() { VCLXWindow::acquire(); } void SAL_CALL release() throw() { VCLXWindow::release(); } // ::com::sun::star::lang::XTypeProvider ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XProgressBar void SAL_CALL setForegroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setBackgroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setValue( sal_Int32 nValue ) throw(::com::sun::star::uno::RuntimeException); void SAL_CALL setRange( sal_Int32 nMin, sal_Int32 nMax ) throw(::com::sun::star::uno::RuntimeException ); sal_Int32 SAL_CALL getValue() throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::VclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; // ---------------------------------------------------- // class SVTXDateField // ---------------------------------------------------- class SVTXDateField : public VCLXDateField { public: SVTXDateField(); ~SVTXDateField(); // ::com::sun::star::awt::VclWindowPeer void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException); static void ImplGetPropertyIds( std::list< sal_uInt16 > &aIds ); virtual void GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); } }; #endif // _SVT_UNOIFACE_HXX