Linux x86 build fix
[LibreOffice.git] / sc / inc / viewuno.hxx
blobf4d3afede272049c44bbb65be74a9d1de36bd59f
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SC_INC_VIEWUNO_HXX
21 #define INCLUDED_SC_INC_VIEWUNO_HXX
23 #include <sfx2/sfxbasecontroller.hxx>
24 #include <svl/itemprop.hxx>
25 #include <com/sun/star/view/XFormLayerAccess.hpp>
26 #include <com/sun/star/view/XSelectionChangeListener.hpp>
27 #include <com/sun/star/view/XSelectionSupplier.hpp>
28 #include <com/sun/star/sheet/XCellRangeReferrer.hpp>
29 #include <com/sun/star/sheet/XViewSplitable.hpp>
30 #include <com/sun/star/sheet/XViewFreezable.hpp>
31 #include <com/sun/star/sheet/XSelectedSheetsSupplier.hpp>
32 #include <com/sun/star/sheet/XSpreadsheetView.hpp>
33 #include <com/sun/star/sheet/XEnhancedMouseClickBroadcaster.hpp>
34 #include <com/sun/star/sheet/XActivationBroadcaster.hpp>
35 #include <com/sun/star/sheet/XViewPane.hpp>
36 #include <com/sun/star/sheet/XRangeSelection.hpp>
37 #include <com/sun/star/lang/XServiceInfo.hpp>
38 #include <com/sun/star/container/XEnumerationAccess.hpp>
39 #include <com/sun/star/beans/XPropertySet.hpp>
40 #include <com/sun/star/lang/XUnoTunnel.hpp>
41 #include <com/sun/star/datatransfer/XTransferableSupplier.hpp>
43 #include "address.hxx"
44 #include <boost/ptr_container/ptr_vector.hpp>
46 class ScTabViewShell;
47 class ScPreviewShell;
49 #define SC_VIEWPANE_ACTIVE 0xFFFF
51 // ScViewPaneBase not derived from OWeakObject
52 // to avoid duplicate OWeakObject in ScTabViewObj
54 class ScViewPaneBase : public com::sun::star::sheet::XViewPane,
55 public com::sun::star::sheet::XCellRangeReferrer,
56 public com::sun::star::view::XFormLayerAccess,
57 public com::sun::star::lang::XServiceInfo,
58 public com::sun::star::lang::XTypeProvider,
59 public SfxListener
61 private:
62 ScTabViewShell* pViewShell;
63 sal_uInt16 nPane; // ScSplitPos oder SC_VIEWPANE_ACTIVE
65 protected:
66 ::com::sun::star::awt::Rectangle GetVisArea() const;
68 public:
69 ScViewPaneBase(ScTabViewShell* pViewSh, sal_uInt16 nP);
70 virtual ~ScViewPaneBase();
72 ScTabViewShell* GetViewShell() const { return pViewShell; }
74 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
75 const ::com::sun::star::uno::Type & rType )
76 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
78 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
80 // XViewPane
81 virtual sal_Int32 SAL_CALL getFirstVisibleColumn() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
82 virtual void SAL_CALL setFirstVisibleColumn( sal_Int32 nFirstVisibleColumn )
83 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
84 virtual sal_Int32 SAL_CALL getFirstVisibleRow() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
85 virtual void SAL_CALL setFirstVisibleRow( sal_Int32 nFirstVisibleRow )
86 throw(::com::sun::star::uno::RuntimeException,
87 std::exception) SAL_OVERRIDE;
88 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getVisibleRange()
89 throw(::com::sun::star::uno::RuntimeException,
90 std::exception) SAL_OVERRIDE;
92 // XCellRangeReferrer
93 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
94 getReferredCells() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
96 // XFormLayerAccess
97 virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > SAL_CALL
98 getFormController( const ::com::sun::star::uno::Reference<
99 ::com::sun::star::form::XForm >& Form )
100 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
101 virtual sal_Bool SAL_CALL
102 isFormDesignMode( )
103 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
104 virtual void SAL_CALL setFormDesignMode( sal_Bool DesignMode )
105 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
107 // XControlAccess
108 virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > SAL_CALL
109 getControl( const ::com::sun::star::uno::Reference<
110 ::com::sun::star::awt::XControlModel >& xModel )
111 throw(::com::sun::star::container::NoSuchElementException,
112 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
114 // XServiceInfo
115 virtual OUString SAL_CALL getImplementationName()
116 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
117 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
118 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
119 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
120 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
122 // XTypeProvider
123 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
124 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
125 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
126 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
129 // ScViewPaneObj for direct use (including OWeakObject)
131 class ScViewPaneObj : public ScViewPaneBase, public cppu::OWeakObject
133 public:
134 ScViewPaneObj(ScTabViewShell* pViewSh, sal_uInt16 nP);
135 virtual ~ScViewPaneObj();
137 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
138 const ::com::sun::star::uno::Type & rType )
139 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
140 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
141 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
144 // OWeakObject is base of SfxBaseController -> use ScViewPaneBase
146 class ScTabViewObj : public ScViewPaneBase,
147 public SfxBaseController,
148 public com::sun::star::sheet::XSpreadsheetView,
149 public com::sun::star::sheet::XEnhancedMouseClickBroadcaster,
150 public com::sun::star::sheet::XActivationBroadcaster,
151 public com::sun::star::container::XEnumerationAccess,
152 public com::sun::star::container::XIndexAccess,
153 public com::sun::star::view::XSelectionSupplier,
154 public com::sun::star::beans::XPropertySet,
155 public com::sun::star::sheet::XViewSplitable,
156 public com::sun::star::sheet::XViewFreezable,
157 public com::sun::star::sheet::XRangeSelection,
158 public com::sun::star::lang::XUnoTunnel,
159 public com::sun::star::datatransfer::XTransferableSupplier,
160 public com::sun::star::sheet::XSelectedSheetsSupplier
162 private:
163 typedef ::com::sun::star::uno::Reference<
164 ::com::sun::star::sheet::XRangeSelectionListener > XRangeSelectionListenerUnoRef;
165 typedef boost::ptr_vector<XRangeSelectionListenerUnoRef> XRangeSelectionListenerVector;
167 typedef ::com::sun::star::uno::Reference<
168 ::com::sun::star::sheet::XRangeSelectionChangeListener > XRangeSelectionChangeListenerUnoRef;
169 typedef boost::ptr_vector<XRangeSelectionChangeListenerUnoRef> XRangeSelectionChangeListenerVector;
171 typedef ::com::sun::star::uno::Reference<
172 ::com::sun::star::view::XSelectionChangeListener > XSelectionChangeListenerUnoRef;
173 typedef boost::ptr_vector<XSelectionChangeListenerUnoRef> XSelectionChangeListenerVector;
175 typedef ::com::sun::star::uno::Reference<
176 ::com::sun::star::beans::XPropertyChangeListener > XViewPropertyChangeListenerUnoRef;
177 typedef boost::ptr_vector<XViewPropertyChangeListenerUnoRef> XViewPropertyChangeListenerVector;
179 typedef ::com::sun::star::uno::Reference<
180 ::com::sun::star::awt::XEnhancedMouseClickHandler > XMouseClickHandlerUnoRef;
181 typedef boost::ptr_vector<XMouseClickHandlerUnoRef> XMouseClickHandlerVector;
183 typedef ::com::sun::star::uno::Reference<
184 ::com::sun::star::sheet::XActivationEventListener > XActivationEventListenerUnoRef;
185 typedef boost::ptr_vector<XActivationEventListenerUnoRef> XActivationEventListenerVector;
187 SfxItemPropertySet aPropSet;
188 XSelectionChangeListenerVector aSelectionChgListeners;
189 XRangeSelectionListenerVector aRangeSelListeners;
190 XRangeSelectionChangeListenerVector aRangeChgListeners;
191 XViewPropertyChangeListenerVector aPropertyChgListeners;
192 XMouseClickHandlerVector aMouseClickHandlers;
193 XActivationEventListenerVector aActivationListeners;
194 SCTAB nPreviousTab;
195 bool bDrawSelModeSet;
196 bool bFilteredRangeSelection;
198 ScViewPaneObj* GetObjectByIndex_Impl(sal_uInt16 nIndex) const;
199 sal_Int16 GetZoom() const;
200 void SetZoom(sal_Int16 Zoom);
201 sal_Int16 GetZoomType() const;
202 void SetZoomType(sal_Int16 ZoomType);
204 com::sun::star::uno::Reference< com::sun::star::uno::XInterface > GetClickedObject(const Point& rPoint) const;
205 void EndMouseListening();
206 void EndActivationListening();
207 bool mbLeftMousePressed;
208 bool mbPendingSelectionChanged;
209 ScTabViewObj(); // disabled
210 public:
211 ScTabViewObj(ScTabViewShell* pViewSh);
212 virtual ~ScTabViewObj();
214 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
215 const ::com::sun::star::uno::Type & rType )
216 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
217 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
218 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
220 void SelectionChanged();
221 void VisAreaChanged();
222 // bSameTabButMoved = true if the same sheet as before is activated, used after moving/copying/inserting/deleting a sheet
223 void SheetChanged( bool bSameTabButMoved = false );
224 bool IsMouseListening() const;
225 bool MousePressed( const ::com::sun::star::awt::MouseEvent& e ) throw (::com::sun::star::uno::RuntimeException);
226 bool MouseReleased( const ::com::sun::star::awt::MouseEvent& e ) throw (::com::sun::star::uno::RuntimeException);
228 void RangeSelDone( const OUString& rText );
229 void RangeSelAborted( const OUString& rText );
230 void RangeSelChanged( const OUString& rText );
232 // XSelectionSupplier
233 virtual sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& aSelection )
234 throw(::com::sun::star::lang::IllegalArgumentException,
235 ::com::sun::star::uno::RuntimeException,
236 std::exception) SAL_OVERRIDE;
237 virtual ::com::sun::star::uno::Any SAL_CALL getSelection()
238 throw(::com::sun::star::uno::RuntimeException,
239 std::exception) SAL_OVERRIDE;
240 virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference<
241 ::com::sun::star::view::XSelectionChangeListener >& xListener )
242 throw (::com::sun::star::uno::RuntimeException,
243 std::exception) SAL_OVERRIDE;
244 virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference<
245 ::com::sun::star::view::XSelectionChangeListener >& xListener )
246 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
248 //! XPrintable?
250 // XPropertySet
251 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
252 SAL_CALL getPropertySetInfo()
253 throw(::com::sun::star::uno::RuntimeException,
254 std::exception) SAL_OVERRIDE;
255 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
256 const ::com::sun::star::uno::Any& aValue )
257 throw(::com::sun::star::beans::UnknownPropertyException,
258 ::com::sun::star::beans::PropertyVetoException,
259 ::com::sun::star::lang::IllegalArgumentException,
260 ::com::sun::star::lang::WrappedTargetException,
261 ::com::sun::star::uno::RuntimeException,
262 std::exception) SAL_OVERRIDE;
263 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
264 const OUString& PropertyName )
265 throw(::com::sun::star::beans::UnknownPropertyException,
266 ::com::sun::star::lang::WrappedTargetException,
267 ::com::sun::star::uno::RuntimeException,
268 std::exception) SAL_OVERRIDE;
269 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
270 const ::com::sun::star::uno::Reference<
271 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
272 throw (::com::sun::star::beans::UnknownPropertyException,
273 ::com::sun::star::lang::WrappedTargetException,
274 ::com::sun::star::uno::RuntimeException,
275 std::exception) SAL_OVERRIDE;
276 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
277 const ::com::sun::star::uno::Reference<
278 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
279 throw(::com::sun::star::beans::UnknownPropertyException,
280 ::com::sun::star::lang::WrappedTargetException,
281 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
282 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
283 const ::com::sun::star::uno::Reference<
284 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
285 throw(::com::sun::star::beans::UnknownPropertyException,
286 ::com::sun::star::lang::WrappedTargetException,
287 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
288 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
289 const ::com::sun::star::uno::Reference<
290 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
291 throw(::com::sun::star::beans::UnknownPropertyException,
292 ::com::sun::star::lang::WrappedTargetException,
293 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
295 // XEnumerationAccess
296 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
297 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
299 // XIndexAccess
300 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
301 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
302 throw(::com::sun::star::lang::IndexOutOfBoundsException,
303 ::com::sun::star::lang::WrappedTargetException,
304 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
306 // XElementAccess
307 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
308 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
309 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
311 // XSpreadsheetView
312 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL
313 getActiveSheet() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
314 virtual void SAL_CALL setActiveSheet( const ::com::sun::star::uno::Reference<
315 ::com::sun::star::sheet::XSpreadsheet >& xActiveSheet )
316 throw(::com::sun::star::uno::RuntimeException,
317 std::exception) SAL_OVERRIDE;
319 //XEnhancedMouseClickBroadcaster
321 virtual void SAL_CALL addEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference<
322 ::com::sun::star::awt::XEnhancedMouseClickHandler >& aListener )
323 throw (::com::sun::star::uno::RuntimeException,
324 std::exception) SAL_OVERRIDE;
325 virtual void SAL_CALL removeEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference<
326 ::com::sun::star::awt::XEnhancedMouseClickHandler >& aListener )
327 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
329 //XActivationBroadcaster
331 virtual void SAL_CALL addActivationEventListener( const ::com::sun::star::uno::Reference<
332 ::com::sun::star::sheet::XActivationEventListener >& aListener )
333 throw (::com::sun::star::uno::RuntimeException,
334 std::exception) SAL_OVERRIDE;
335 virtual void SAL_CALL removeActivationEventListener( const ::com::sun::star::uno::Reference<
336 ::com::sun::star::sheet::XActivationEventListener >& aListener )
337 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
339 // XViewSplitable
340 virtual sal_Bool SAL_CALL getIsWindowSplit() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
341 virtual sal_Int32 SAL_CALL getSplitHorizontal() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
342 virtual sal_Int32 SAL_CALL getSplitVertical() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
343 virtual sal_Int32 SAL_CALL getSplitColumn()
344 throw(::com::sun::star::uno::RuntimeException,
345 std::exception) SAL_OVERRIDE;
346 virtual sal_Int32 SAL_CALL getSplitRow()
347 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
348 virtual void SAL_CALL splitAtPosition( sal_Int32 nPixelX, sal_Int32 nPixelY )
349 throw(::com::sun::star::uno::RuntimeException,
350 std::exception) SAL_OVERRIDE;
352 // XViewFreezable
353 virtual sal_Bool SAL_CALL hasFrozenPanes() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
354 virtual void SAL_CALL freezeAtPosition( sal_Int32 nColumns, sal_Int32 nRows )
355 throw(::com::sun::star::uno::RuntimeException,
356 std::exception) SAL_OVERRIDE;
358 // XRangeSelection
359 virtual void SAL_CALL startRangeSelection( const ::com::sun::star::uno::Sequence<
360 ::com::sun::star::beans::PropertyValue >& aArguments )
361 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
362 virtual void SAL_CALL abortRangeSelection() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
363 virtual void SAL_CALL addRangeSelectionListener( const ::com::sun::star::uno::Reference<
364 ::com::sun::star::sheet::XRangeSelectionListener >& aListener )
365 throw (::com::sun::star::uno::RuntimeException,
366 std::exception) SAL_OVERRIDE;
367 virtual void SAL_CALL removeRangeSelectionListener( const ::com::sun::star::uno::Reference<
368 ::com::sun::star::sheet::XRangeSelectionListener >& aListener )
369 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
370 virtual void SAL_CALL addRangeSelectionChangeListener( const ::com::sun::star::uno::Reference<
371 ::com::sun::star::sheet::XRangeSelectionChangeListener >& aListener )
372 throw (::com::sun::star::uno::RuntimeException,
373 std::exception) SAL_OVERRIDE;
374 virtual void SAL_CALL removeRangeSelectionChangeListener( const ::com::sun::star::uno::Reference<
375 ::com::sun::star::sheet::XRangeSelectionChangeListener >& aListener )
376 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
378 // XServiceInfo
379 virtual OUString SAL_CALL getImplementationName()
380 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
381 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
382 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
383 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
384 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
386 // XUnoTunnel
387 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
388 sal_Int8 >& aIdentifier )
389 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
391 static const css::uno::Sequence<sal_Int8>& getUnoTunnelId();
392 static ScTabViewObj* getImplementation(const css::uno::Reference<css::uno::XInterface>& rObj);
394 // XTypeProvider
395 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
396 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
397 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
398 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
400 // XTransferableSupplier
401 virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > SAL_CALL getTransferable()
402 throw (::com::sun::star::uno::RuntimeException,
403 std::exception) SAL_OVERRIDE;
404 virtual void SAL_CALL insertTransferable( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& xTrans )
405 throw(::com::sun::star::datatransfer::UnsupportedFlavorException,
406 ::com::sun::star::uno::RuntimeException,
407 std::exception) SAL_OVERRIDE;
409 // XSelectedSheetsSupplier
410 virtual ::com::sun::star::uno::Sequence<sal_Int32> SAL_CALL getSelectedSheets()
411 throw(::com::sun::star::uno::RuntimeException,
412 std::exception) SAL_OVERRIDE;
415 class ScPreviewObj : public SfxBaseController,
416 public SfxListener,
417 public com::sun::star::sheet::XSelectedSheetsSupplier
419 ScPreviewShell* mpViewShell;
420 public:
421 ScPreviewObj(ScPreviewShell* pViewSh);
422 virtual ~ScPreviewObj();
424 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
425 const ::com::sun::star::uno::Type & rType)
426 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
428 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
429 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
431 virtual void Notify(SfxBroadcaster&, const SfxHint& rHint) SAL_OVERRIDE;
433 // XSelectedSheetsSupplier
434 virtual ::com::sun::star::uno::Sequence<sal_Int32> SAL_CALL getSelectedSheets()
435 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
438 #endif
440 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */