1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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>
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
,
62 ScTabViewShell
* pViewShell
;
63 sal_uInt16 nPane
; // ScSplitPos oder SC_VIEWPANE_ACTIVE
66 ::com::sun::star::awt::Rectangle
GetVisArea() const;
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
;
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
;
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
;
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
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
;
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
;
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
;
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
;
130 // ScViewPaneObj for direct use (including OWeakObject)
132 class ScViewPaneObj
: public ScViewPaneBase
, public cppu::OWeakObject
135 ScViewPaneObj(ScTabViewShell
* pViewSh
, sal_uInt16 nP
);
136 virtual ~ScViewPaneObj();
138 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
139 const ::com::sun::star::uno::Type
& rType
)
140 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
141 virtual void SAL_CALL
acquire() throw() SAL_OVERRIDE
;
142 virtual void SAL_CALL
release() throw() SAL_OVERRIDE
;
145 // OWeakObject is base of SfxBaseController -> use ScViewPaneBase
147 class ScTabViewObj
: public ScViewPaneBase
,
148 public SfxBaseController
,
149 public com::sun::star::sheet::XSpreadsheetView
,
150 public com::sun::star::sheet::XEnhancedMouseClickBroadcaster
,
151 public com::sun::star::sheet::XActivationBroadcaster
,
152 public com::sun::star::container::XEnumerationAccess
,
153 public com::sun::star::container::XIndexAccess
,
154 public com::sun::star::view::XSelectionSupplier
,
155 public com::sun::star::beans::XPropertySet
,
156 public com::sun::star::sheet::XViewSplitable
,
157 public com::sun::star::sheet::XViewFreezable
,
158 public com::sun::star::sheet::XRangeSelection
,
159 public com::sun::star::lang::XUnoTunnel
,
160 public com::sun::star::datatransfer::XTransferableSupplier
,
161 public com::sun::star::sheet::XSelectedSheetsSupplier
164 typedef ::com::sun::star::uno::Reference
<
165 ::com::sun::star::sheet::XRangeSelectionListener
> XRangeSelectionListenerUnoRef
;
166 typedef boost::ptr_vector
<XRangeSelectionListenerUnoRef
> XRangeSelectionListenerVector
;
168 typedef ::com::sun::star::uno::Reference
<
169 ::com::sun::star::sheet::XRangeSelectionChangeListener
> XRangeSelectionChangeListenerUnoRef
;
170 typedef boost::ptr_vector
<XRangeSelectionChangeListenerUnoRef
> XRangeSelectionChangeListenerVector
;
172 typedef ::com::sun::star::uno::Reference
<
173 ::com::sun::star::view::XSelectionChangeListener
> XSelectionChangeListenerUnoRef
;
174 typedef boost::ptr_vector
<XSelectionChangeListenerUnoRef
> XSelectionChangeListenerVector
;
176 typedef ::com::sun::star::uno::Reference
<
177 ::com::sun::star::beans::XPropertyChangeListener
> XViewPropertyChangeListenerUnoRef
;
178 typedef boost::ptr_vector
<XViewPropertyChangeListenerUnoRef
> XViewPropertyChangeListenerVector
;
180 typedef ::com::sun::star::uno::Reference
<
181 ::com::sun::star::awt::XEnhancedMouseClickHandler
> XMouseClickHandlerUnoRef
;
182 typedef boost::ptr_vector
<XMouseClickHandlerUnoRef
> XMouseClickHandlerVector
;
184 typedef ::com::sun::star::uno::Reference
<
185 ::com::sun::star::sheet::XActivationEventListener
> XActivationEventListenerUnoRef
;
186 typedef boost::ptr_vector
<XActivationEventListenerUnoRef
> XActivationEventListenerVector
;
188 SfxItemPropertySet aPropSet
;
189 XSelectionChangeListenerVector aSelectionChgListeners
;
190 XRangeSelectionListenerVector aRangeSelListeners
;
191 XRangeSelectionChangeListenerVector aRangeChgListeners
;
192 XViewPropertyChangeListenerVector aPropertyChgListeners
;
193 XMouseClickHandlerVector aMouseClickHandlers
;
194 XActivationEventListenerVector aActivationListeners
;
196 bool bDrawSelModeSet
;
197 bool bFilteredRangeSelection
;
199 ScViewPaneObj
* GetObjectByIndex_Impl(sal_uInt16 nIndex
) const;
200 sal_Int16
GetZoom(void) const;
201 void SetZoom(sal_Int16 Zoom
);
202 sal_Int16
GetZoomType(void) const;
203 void SetZoomType(sal_Int16 ZoomType
);
205 com::sun::star::uno::Reference
< com::sun::star::uno::XInterface
> GetClickedObject(const Point
& rPoint
) const;
206 void StartMouseListening();
207 void EndMouseListening();
208 void StartActivationListening();
209 void EndActivationListening();
210 bool mbLeftMousePressed
;
211 bool mbPendingSelectionChanged
;
212 ScTabViewObj(); // disabled
214 ScTabViewObj(ScTabViewShell
* pViewSh
);
215 virtual ~ScTabViewObj();
217 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
218 const ::com::sun::star::uno::Type
& rType
)
219 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
220 virtual void SAL_CALL
acquire() throw() SAL_OVERRIDE
;
221 virtual void SAL_CALL
release() throw() SAL_OVERRIDE
;
223 void SelectionChanged();
224 void VisAreaChanged();
225 // bSameTabButMoved = true if the same sheet as before is activated, used after moving/copying/inserting/deleting a sheet
226 void SheetChanged( bool bSameTabButMoved
= false );
227 bool IsMouseListening() const;
228 bool MousePressed( const ::com::sun::star::awt::MouseEvent
& e
) throw (::com::sun::star::uno::RuntimeException
);
229 bool MouseReleased( const ::com::sun::star::awt::MouseEvent
& e
) throw (::com::sun::star::uno::RuntimeException
);
231 void RangeSelDone( const OUString
& rText
);
232 void RangeSelAborted( const OUString
& rText
);
233 void RangeSelChanged( const OUString
& rText
);
235 // XSelectionSupplier
236 virtual sal_Bool SAL_CALL
select( const ::com::sun::star::uno::Any
& aSelection
)
237 throw(::com::sun::star::lang::IllegalArgumentException
,
238 ::com::sun::star::uno::RuntimeException
,
239 std::exception
) SAL_OVERRIDE
;
240 virtual ::com::sun::star::uno::Any SAL_CALL
getSelection()
241 throw(::com::sun::star::uno::RuntimeException
,
242 std::exception
) SAL_OVERRIDE
;
243 virtual void SAL_CALL
addSelectionChangeListener( const ::com::sun::star::uno::Reference
<
244 ::com::sun::star::view::XSelectionChangeListener
>& xListener
)
245 throw (::com::sun::star::uno::RuntimeException
,
246 std::exception
) SAL_OVERRIDE
;
247 virtual void SAL_CALL
removeSelectionChangeListener( const ::com::sun::star::uno::Reference
<
248 ::com::sun::star::view::XSelectionChangeListener
>& xListener
)
249 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
254 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
255 SAL_CALL
getPropertySetInfo()
256 throw(::com::sun::star::uno::RuntimeException
,
257 std::exception
) SAL_OVERRIDE
;
258 virtual void SAL_CALL
setPropertyValue( const OUString
& aPropertyName
,
259 const ::com::sun::star::uno::Any
& aValue
)
260 throw(::com::sun::star::beans::UnknownPropertyException
,
261 ::com::sun::star::beans::PropertyVetoException
,
262 ::com::sun::star::lang::IllegalArgumentException
,
263 ::com::sun::star::lang::WrappedTargetException
,
264 ::com::sun::star::uno::RuntimeException
,
265 std::exception
) SAL_OVERRIDE
;
266 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
267 const OUString
& PropertyName
)
268 throw(::com::sun::star::beans::UnknownPropertyException
,
269 ::com::sun::star::lang::WrappedTargetException
,
270 ::com::sun::star::uno::RuntimeException
,
271 std::exception
) SAL_OVERRIDE
;
272 virtual void SAL_CALL
addPropertyChangeListener( const OUString
& aPropertyName
,
273 const ::com::sun::star::uno::Reference
<
274 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
275 throw (::com::sun::star::beans::UnknownPropertyException
,
276 ::com::sun::star::lang::WrappedTargetException
,
277 ::com::sun::star::uno::RuntimeException
,
278 std::exception
) SAL_OVERRIDE
;
279 virtual void SAL_CALL
removePropertyChangeListener( const OUString
& aPropertyName
,
280 const ::com::sun::star::uno::Reference
<
281 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
282 throw(::com::sun::star::beans::UnknownPropertyException
,
283 ::com::sun::star::lang::WrappedTargetException
,
284 ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
285 virtual void SAL_CALL
addVetoableChangeListener( const OUString
& PropertyName
,
286 const ::com::sun::star::uno::Reference
<
287 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
288 throw(::com::sun::star::beans::UnknownPropertyException
,
289 ::com::sun::star::lang::WrappedTargetException
,
290 ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
291 virtual void SAL_CALL
removeVetoableChangeListener( const OUString
& PropertyName
,
292 const ::com::sun::star::uno::Reference
<
293 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
294 throw(::com::sun::star::beans::UnknownPropertyException
,
295 ::com::sun::star::lang::WrappedTargetException
,
296 ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
298 // XEnumerationAccess
299 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
300 createEnumeration() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
303 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
304 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
305 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
306 ::com::sun::star::lang::WrappedTargetException
,
307 ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
310 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
311 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
312 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
315 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSpreadsheet
> SAL_CALL
316 getActiveSheet() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
317 virtual void SAL_CALL
setActiveSheet( const ::com::sun::star::uno::Reference
<
318 ::com::sun::star::sheet::XSpreadsheet
>& xActiveSheet
)
319 throw(::com::sun::star::uno::RuntimeException
,
320 std::exception
) SAL_OVERRIDE
;
322 //XEnhancedMouseClickBroadcaster
324 virtual void SAL_CALL
addEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference
<
325 ::com::sun::star::awt::XEnhancedMouseClickHandler
>& aListener
)
326 throw (::com::sun::star::uno::RuntimeException
,
327 std::exception
) SAL_OVERRIDE
;
328 virtual void SAL_CALL
removeEnhancedMouseClickHandler( const ::com::sun::star::uno::Reference
<
329 ::com::sun::star::awt::XEnhancedMouseClickHandler
>& aListener
)
330 throw (::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
332 //XActivationBroadcaster
334 virtual void SAL_CALL
addActivationEventListener( const ::com::sun::star::uno::Reference
<
335 ::com::sun::star::sheet::XActivationEventListener
>& aListener
)
336 throw (::com::sun::star::uno::RuntimeException
,
337 std::exception
) SAL_OVERRIDE
;
338 virtual void SAL_CALL
removeActivationEventListener( const ::com::sun::star::uno::Reference
<
339 ::com::sun::star::sheet::XActivationEventListener
>& aListener
)
340 throw (::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
343 virtual sal_Bool SAL_CALL
getIsWindowSplit() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
344 virtual sal_Int32 SAL_CALL
getSplitHorizontal() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
345 virtual sal_Int32 SAL_CALL
getSplitVertical() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
346 virtual sal_Int32 SAL_CALL
getSplitColumn()
347 throw(::com::sun::star::uno::RuntimeException
,
348 std::exception
) SAL_OVERRIDE
;
349 virtual sal_Int32 SAL_CALL
getSplitRow()
350 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
351 virtual void SAL_CALL
splitAtPosition( sal_Int32 nPixelX
, sal_Int32 nPixelY
)
352 throw(::com::sun::star::uno::RuntimeException
,
353 std::exception
) SAL_OVERRIDE
;
356 virtual sal_Bool SAL_CALL
hasFrozenPanes() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
357 virtual void SAL_CALL
freezeAtPosition( sal_Int32 nColumns
, sal_Int32 nRows
)
358 throw(::com::sun::star::uno::RuntimeException
,
359 std::exception
) SAL_OVERRIDE
;
362 virtual void SAL_CALL
startRangeSelection( const ::com::sun::star::uno::Sequence
<
363 ::com::sun::star::beans::PropertyValue
>& aArguments
)
364 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
365 virtual void SAL_CALL
abortRangeSelection() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
366 virtual void SAL_CALL
addRangeSelectionListener( const ::com::sun::star::uno::Reference
<
367 ::com::sun::star::sheet::XRangeSelectionListener
>& aListener
)
368 throw (::com::sun::star::uno::RuntimeException
,
369 std::exception
) SAL_OVERRIDE
;
370 virtual void SAL_CALL
removeRangeSelectionListener( const ::com::sun::star::uno::Reference
<
371 ::com::sun::star::sheet::XRangeSelectionListener
>& aListener
)
372 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
373 virtual void SAL_CALL
addRangeSelectionChangeListener( const ::com::sun::star::uno::Reference
<
374 ::com::sun::star::sheet::XRangeSelectionChangeListener
>& aListener
)
375 throw (::com::sun::star::uno::RuntimeException
,
376 std::exception
) SAL_OVERRIDE
;
377 virtual void SAL_CALL
removeRangeSelectionChangeListener( const ::com::sun::star::uno::Reference
<
378 ::com::sun::star::sheet::XRangeSelectionChangeListener
>& aListener
)
379 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
382 virtual OUString SAL_CALL
getImplementationName()
383 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
384 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
385 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
386 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
387 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
390 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
<
391 sal_Int8
>& aIdentifier
)
392 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
394 static const com::sun::star::uno::Sequence
<sal_Int8
>& getUnoTunnelId();
395 static ScTabViewObj
* getImplementation( const com::sun::star::uno::Reference
<
396 com::sun::star::uno::XInterface
> xObj
);
399 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
400 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
401 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
402 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
404 // XTransferableSupplier
405 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::datatransfer::XTransferable
> SAL_CALL
getTransferable()
406 throw (::com::sun::star::uno::RuntimeException
,
407 std::exception
) SAL_OVERRIDE
;
408 virtual void SAL_CALL
insertTransferable( const ::com::sun::star::uno::Reference
< ::com::sun::star::datatransfer::XTransferable
>& xTrans
)
409 throw(::com::sun::star::datatransfer::UnsupportedFlavorException
,
410 ::com::sun::star::uno::RuntimeException
,
411 std::exception
) SAL_OVERRIDE
;
413 // XSelectedSheetsSupplier
414 virtual ::com::sun::star::uno::Sequence
<sal_Int32
> SAL_CALL
getSelectedSheets()
415 throw(::com::sun::star::uno::RuntimeException
,
416 std::exception
) SAL_OVERRIDE
;
419 class ScPreviewObj
: public SfxBaseController
,
421 public com::sun::star::sheet::XSelectedSheetsSupplier
423 ScPreviewShell
* mpViewShell
;
425 ScPreviewObj(ScPreviewShell
* pViewSh
);
426 virtual ~ScPreviewObj();
428 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
429 const ::com::sun::star::uno::Type
& rType
)
430 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
432 virtual void SAL_CALL
acquire() throw() SAL_OVERRIDE
;
433 virtual void SAL_CALL
release() throw() SAL_OVERRIDE
;
435 virtual void Notify(SfxBroadcaster
&, const SfxHint
& rHint
) SAL_OVERRIDE
;
437 // XSelectedSheetsSupplier
438 virtual ::com::sun::star::uno::Sequence
<sal_Int32
> SAL_CALL
getSelectedSheets()
439 throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
444 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */