| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef SD_UNO_DRAW_VIEW_HXX |
| #define SD_UNO_DRAW_VIEW_HXX |
| |
| #include "DrawSubController.hxx" |
| #include "DrawController.hxx" |
| #include "DrawViewShell.hxx" |
| #include <cppuhelper/basemutex.hxx> |
| |
| class SdXImpressDocument; |
| class SdPage; |
| |
| namespace css = ::com::sun::star; |
| |
| namespace com { namespace sun { namespace star { namespace drawing { |
| class XLayer; |
| } } } } |
| |
| namespace sd { |
| |
| class DrawController; |
| class DrawViewShell; |
| |
| /** This class implements the DrawViewShell specific part of the controller. |
| */ |
| class SdUnoDrawView |
| : private cppu::BaseMutex, |
| public DrawSubControllerInterfaceBase |
| { |
| public: |
| SdUnoDrawView ( |
| DrawController& rController, |
| DrawViewShell& rViewShell, |
| View& rView) throw(); |
| virtual ~SdUnoDrawView (void) throw(); |
| |
| // XSelectionSupplier |
| |
| virtual sal_Bool SAL_CALL select ( |
| const css::uno::Any& aSelection) |
| throw(css::lang::IllegalArgumentException, |
| css::uno::RuntimeException); |
| |
| virtual css::uno::Any SAL_CALL getSelection (void) |
| throw(css::uno::RuntimeException); |
| |
| virtual void SAL_CALL addSelectionChangeListener ( |
| const css::uno::Reference<css::view::XSelectionChangeListener>& rxListener) |
| throw(css::uno::RuntimeException); |
| |
| virtual void SAL_CALL removeSelectionChangeListener ( |
| const css::uno::Reference<css::view::XSelectionChangeListener>& rxListener) |
| throw(css::uno::RuntimeException); |
| |
| |
| // XDrawView |
| |
| virtual void SAL_CALL setCurrentPage ( |
| const css::uno::Reference<css::drawing::XDrawPage >& xPage) |
| throw(css::uno::RuntimeException); |
| |
| virtual css::uno::Reference<css::drawing::XDrawPage> SAL_CALL getCurrentPage (void) |
| throw(css::uno::RuntimeException); |
| |
| |
| // XFastPropertySet |
| |
| virtual void SAL_CALL setFastPropertyValue ( |
| sal_Int32 nHandle, |
| const css::uno::Any& rValue) |
| throw(css::beans::UnknownPropertyException, |
| css::beans::PropertyVetoException, |
| css::lang::IllegalArgumentException, |
| css::lang::WrappedTargetException, |
| css::uno::RuntimeException); |
| |
| virtual css::uno::Any SAL_CALL getFastPropertyValue ( |
| sal_Int32 nHandle) |
| throw(css::beans::UnknownPropertyException, |
| css::lang::WrappedTargetException, |
| css::uno::RuntimeException); |
| |
| // XServiceInfo |
| virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); |
| virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); |
| virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); |
| |
| protected: |
| sal_Bool getMasterPageMode(void) const throw(); |
| void setMasterPageMode(sal_Bool MasterPageMode_) throw(); |
| sal_Bool getLayerMode(void) const throw(); |
| void setLayerMode(sal_Bool LayerMode_) throw(); |
| public: |
| /** Return a reference to the active layer object. |
| @return |
| The returned value may be empty when the internal state of this |
| view is not valid (like during destruction.) |
| */ |
| ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer> getActiveLayer (void) throw (); |
| protected: |
| /** Make the specified object the active layer. |
| @param rxLayer |
| The new layer object. |
| */ |
| void setActiveLayer (const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XLayer>& rxLayer) throw (); |
| |
| void SetZoom( sal_Int16 nZoom ); |
| sal_Int16 GetZoom(void) const; |
| |
| void SetViewOffset(const com::sun::star::awt::Point& rWinPos ); |
| com::sun::star::awt::Point GetViewOffset() const; |
| |
| void SetZoomType( sal_Int16 nType ); |
| |
| ::com::sun::star::uno::Any getDrawViewMode() const; |
| |
| private: |
| DrawController& mrController; |
| DrawViewShell& mrDrawViewShell; |
| sd::View& mrView; |
| |
| SdXImpressDocument* GetModel (void) const throw(); |
| }; |
| |
| } // end of namespace sd |
| |
| #endif |