1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 #ifndef UNOMODEL_HXX 28 #define UNOMODEL_HXX 29 30 #include <com/sun/star/beans/XPropertySet.hpp> 31 #include <com/sun/star/beans/XMultiPropertySet.hpp> 32 #include <com/sun/star/beans/XPropertyState.hpp> 33 #include <com/sun/star/lang/XServiceInfo.hpp> 34 #include <com/sun/star/view/XRenderable.hpp> 35 36 #include <sfx2/sfxbasemodel.hxx> 37 #include <comphelper/propertysethelper.hxx> 38 #include <vcl/print.hxx> 39 40 class SmFormat; 41 42 //////////////////////////////////////////////////////////// 43 44 #define PRTUIOPT_TITLE_ROW "TitleRow" 45 #define PRTUIOPT_FORMULA_TEXT "FormulaText" 46 #define PRTUIOPT_BORDER "Border" 47 #define PRTUIOPT_PRINT_FORMAT "PrintFormat" 48 #define PRTUIOPT_PRINT_SCALE "PrintScale" 49 50 class SmPrintUIOptions : public vcl::PrinterOptionsHelper 51 { 52 public: 53 SmPrintUIOptions(); 54 }; 55 56 57 //////////////////////////////////////////////////////////// 58 59 #define A2OU(pText) rtl::OUString::createFromAscii(pText) 60 61 //----------------------------------------------------------------------------- 62 class SmModel : public SfxBaseModel, 63 public comphelper::PropertySetHelper, 64 public com::sun::star::lang::XServiceInfo, 65 public com::sun::star::view::XRenderable 66 { 67 SmPrintUIOptions* m_pPrintUIOptions; 68 protected: 69 virtual void _setPropertyValues( const comphelper::PropertyMapEntry** ppEntries, const ::com::sun::star::uno::Any* pValues ) 70 throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException ); 71 virtual void _getPropertyValues( const comphelper::PropertyMapEntry** ppEntries, ::com::sun::star::uno::Any* pValue ) 72 throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException ); 73 public: 74 SmModel( SfxObjectShell *pObjSh = 0 ); 75 virtual ~SmModel() throw (); 76 77 //XInterface 78 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException); 79 virtual void SAL_CALL acquire( ) throw(); 80 virtual void SAL_CALL release( ) throw(); 81 82 //XTypeProvider 83 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); 84 85 static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId(); 86 87 //XUnoTunnel 88 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); 89 90 //XRenderable 91 virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& rSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rxOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 92 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& rSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rxOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 93 virtual void SAL_CALL render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& rSelection, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rxOptions ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 94 95 //XServiceInfo 96 virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException ); 97 virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException ); 98 virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); 99 100 virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xParent ) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException ); 101 102 static ::com::sun::star::uno::Sequence< rtl::OUString > getSupportedServiceNames_Static(); 103 static ::rtl::OUString getImplementationName_Static(); 104 }; 105 106 //////////////////////////////////////////////////////////// 107 108 #endif 109 110