merge the formfield patch from ooo-build
[ooovba.git] / sd / source / ui / inc / SdUnoSlideView.hxx
blob076e2c04a9d85e718748fff2ad6571b8c674c14a
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: SdUnoSlideView.hxx,v $
10 * $Revision: 1.11 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SD_UNO_SLIDE_VIEW_HXX
32 #define SD_UNO_SLIDE_VIEW_HXX
34 #include "DrawSubController.hxx"
35 #include <cppuhelper/basemutex.hxx>
36 #include <com/sun/star/drawing/XDrawPage.hpp>
38 namespace css = ::com::sun::star;
40 namespace sd { namespace slidesorter {
41 class SlideSorter;
42 } }
44 namespace sd { namespace slidesorter { namespace controller {
45 class PageSelector;
46 } } }
48 namespace sd {
50 class DrawController;
51 class SlideViewShell;
52 class View;
55 /** This class implements the SlideSorter specific part of the
56 controller.
58 class SdUnoSlideView
59 : private cppu::BaseMutex,
60 public DrawSubControllerInterfaceBase
62 public:
63 SdUnoSlideView (
64 DrawController& rController,
65 slidesorter::SlideSorter& rSlideSorter,
66 View& rView) throw();
67 virtual ~SdUnoSlideView (void) throw();
69 // XSelectionSupplier
71 virtual sal_Bool SAL_CALL select (const ::com::sun::star::uno::Any& aSelection)
72 throw(::com::sun::star::lang::IllegalArgumentException,
73 ::com::sun::star::uno::RuntimeException);
75 virtual ::com::sun::star::uno::Any SAL_CALL getSelection (void)
76 throw(::com::sun::star::uno::RuntimeException);
78 virtual void SAL_CALL addSelectionChangeListener (
79 const css::uno::Reference<css::view::XSelectionChangeListener>& rxListener)
80 throw(css::uno::RuntimeException);
82 virtual void SAL_CALL removeSelectionChangeListener (
83 const css::uno::Reference<css::view::XSelectionChangeListener>& rxListener)
84 throw(css::uno::RuntimeException);
87 // XDrawView
89 virtual void SAL_CALL setCurrentPage (
90 const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xPage)
91 throw(::com::sun::star::uno::RuntimeException);
93 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL
94 getCurrentPage (void)
95 throw(::com::sun::star::uno::RuntimeException);
98 // XFastPropertySet
100 virtual void SAL_CALL setFastPropertyValue (
101 sal_Int32 nHandle,
102 const css::uno::Any& rValue)
103 throw(css::beans::UnknownPropertyException,
104 css::beans::PropertyVetoException,
105 css::lang::IllegalArgumentException,
106 css::lang::WrappedTargetException,
107 css::uno::RuntimeException);
109 virtual css::uno::Any SAL_CALL getFastPropertyValue (
110 sal_Int32 nHandle)
111 throw(css::beans::UnknownPropertyException,
112 css::lang::WrappedTargetException,
113 css::uno::RuntimeException);
115 private:
116 DrawController& mrController;
117 slidesorter::SlideSorter& mrSlideSorter;
118 sd::View& mrView;
120 virtual void FillPropertyTable (
121 ::std::vector< ::com::sun::star::beans::Property>& rProperties);
122 virtual sal_Bool SAL_CALL convertFastPropertyValue(
123 ::com::sun::star::uno::Any & rConvertedValue,
124 ::com::sun::star::uno::Any & rOldValue,
125 sal_Int32 nHandle,
126 const ::com::sun::star::uno::Any& rValue )
127 throw (::com::sun::star::lang::IllegalArgumentException);
128 virtual void SAL_CALL setFastPropertyValue_NoBroadcast(
129 sal_Int32 nHandle,
130 const ::com::sun::star::uno::Any& rValue )
131 throw (::com::sun::star::uno::Exception);
132 virtual void SAL_CALL getFastPropertyValue(
133 ::com::sun::star::uno::Any& rValue,
134 sal_Int32 nHandle ) const;
138 } // end of namespace sd
140 #endif