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 SC_VBA_WINDOW_HXX 28 #define SC_VBA_WINDOW_HXX 29 30 #include <ooo/vba/excel/XWindow.hpp> 31 #include <com/sun/star/uno/XComponentContext.hpp> 32 #include <com/sun/star/sheet/XViewPane.hpp> 33 #include <com/sun/star/sheet/XViewFreezable.hpp> 34 #include <com/sun/star/sheet/XViewSplitable.hpp> 35 #include <com/sun/star/frame/XModel.hpp> 36 #include <ooo/vba/excel/XPane.hpp> 37 #include <com/sun/star/awt/XDevice.hpp> 38 39 #include <vbahelper/vbahelperinterface.hxx> 40 #include <vbahelper/vbawindowbase.hxx> 41 #include "vbaworkbook.hxx" 42 43 typedef cppu::ImplInheritanceHelper1< VbaWindowBase, ov::excel::XWindow > WindowImpl_BASE; 44 45 class ScVbaWindow : public WindowImpl_BASE 46 { 47 private: 48 css::uno::Reference< ov::excel::XPane > m_xPane; 49 50 void init(); 51 css::uno::Reference< css::beans::XPropertySet > getControllerProps() throw (css::uno::RuntimeException); 52 css::uno::Reference< css::beans::XPropertySet > getFrameProps() throw (css::uno::RuntimeException); 53 css::uno::Reference< css::awt::XDevice > getDevice() throw (css::uno::RuntimeException); 54 55 protected: 56 void SplitAtDefinedPosition(sal_Bool _bUnFreezePane); 57 58 public: 59 void Scroll( const css::uno::Any& Down, const css::uno::Any& Up, const css::uno::Any& ToRight, const css::uno::Any& ToLeft, bool bLargeScroll = false ) throw (css::uno::RuntimeException); 60 61 public: 62 ScVbaWindow( 63 const css::uno::Reference< ov::XHelperInterface >& xParent, 64 const css::uno::Reference< css::uno::XComponentContext >& xContext, 65 const css::uno::Reference< css::frame::XModel >& xModel, 66 const css::uno::Reference< css::frame::XController >& xController ) 67 throw (css::uno::RuntimeException); 68 ScVbaWindow( 69 const css::uno::Sequence< css::uno::Any >& aArgs, 70 const css::uno::Reference< css::uno::XComponentContext >& xContext ) 71 throw (css::uno::RuntimeException); 72 73 // XWindow 74 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL ActiveCell( ) throw (css::script::BasicErrorException, css::uno::RuntimeException); 75 virtual css::uno::Reference< ov::excel::XPane > SAL_CALL ActivePane() throw (css::script::BasicErrorException, css::uno::RuntimeException); 76 virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL ActiveSheet( ) throw (css::script::BasicErrorException, css::uno::RuntimeException); 77 virtual void SAL_CALL setCaption( const css::uno::Any& _caption ) throw (css::uno::RuntimeException); 78 virtual css::uno::Any SAL_CALL getCaption() throw (css::uno::RuntimeException); 79 virtual ::sal_Bool SAL_CALL getDisplayGridlines() throw (css::uno::RuntimeException); 80 virtual void SAL_CALL setDisplayGridlines( ::sal_Bool _displaygridlines ) throw (css::uno::RuntimeException); 81 virtual ::sal_Bool SAL_CALL getDisplayHeadings() throw (css::uno::RuntimeException); 82 virtual void SAL_CALL setDisplayHeadings( ::sal_Bool _bDisplayHeadings ) throw (css::uno::RuntimeException); 83 virtual ::sal_Bool SAL_CALL getDisplayHorizontalScrollBar() throw (css::uno::RuntimeException); 84 virtual void SAL_CALL setDisplayHorizontalScrollBar( ::sal_Bool _bDisplayHorizontalScrollBar ) throw (css::uno::RuntimeException); 85 virtual ::sal_Bool SAL_CALL getDisplayOutline() throw (css::uno::RuntimeException); 86 virtual void SAL_CALL setDisplayOutline( ::sal_Bool _bDisplayOutline ) throw (css::uno::RuntimeException); 87 virtual ::sal_Bool SAL_CALL getDisplayVerticalScrollBar() throw (css::uno::RuntimeException); 88 virtual void SAL_CALL setDisplayVerticalScrollBar( ::sal_Bool _bDisplayVerticalScrollBar ) throw (css::uno::RuntimeException); 89 virtual ::sal_Bool SAL_CALL getDisplayWorkbookTabs() throw (css::uno::RuntimeException); 90 virtual void SAL_CALL setDisplayWorkbookTabs( ::sal_Bool _bDisplayWorkbookTabs ) throw (css::uno::RuntimeException); 91 virtual ::sal_Bool SAL_CALL getFreezePanes() throw (css::uno::RuntimeException); 92 virtual void SAL_CALL setFreezePanes( ::sal_Bool _bFreezePanes ) throw (css::uno::RuntimeException); 93 virtual ::sal_Bool SAL_CALL getSplit() throw (css::uno::RuntimeException); 94 virtual void SAL_CALL setSplit( ::sal_Bool _bSplit ) throw (css::uno::RuntimeException); 95 virtual sal_Int32 SAL_CALL getSplitColumn() throw (css::uno::RuntimeException) ; 96 virtual void SAL_CALL setSplitColumn( sal_Int32 _splitcolumn ) throw (css::uno::RuntimeException) ; 97 virtual double SAL_CALL getSplitHorizontal() throw (css::uno::RuntimeException) ; 98 virtual void SAL_CALL setSplitHorizontal( double _splithorizontal ) throw (css::uno::RuntimeException) ; 99 virtual sal_Int32 SAL_CALL getSplitRow() throw (css::uno::RuntimeException) ; 100 virtual void SAL_CALL setSplitRow( sal_Int32 _splitrow ) throw (css::uno::RuntimeException) ; 101 virtual double SAL_CALL getSplitVertical() throw (css::uno::RuntimeException) ; 102 virtual void SAL_CALL setSplitVertical( double _splitvertical ) throw (css::uno::RuntimeException) ; 103 virtual css::uno::Any SAL_CALL getScrollRow() throw (css::uno::RuntimeException) ; 104 virtual void SAL_CALL setScrollRow( const css::uno::Any& _scrollrow ) throw (css::uno::RuntimeException) ; 105 virtual css::uno::Any SAL_CALL getScrollColumn() throw (css::uno::RuntimeException) ; 106 virtual void SAL_CALL setScrollColumn( const css::uno::Any& _scrollcolumn ) throw (css::uno::RuntimeException) ; 107 virtual css::uno::Any SAL_CALL getView() throw (css::uno::RuntimeException); 108 virtual void SAL_CALL setView( const css::uno::Any& _view ) throw (css::uno::RuntimeException); 109 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getVisibleRange() throw (css::uno::RuntimeException); 110 virtual css::uno::Any SAL_CALL getWindowState() throw (css::uno::RuntimeException); 111 virtual void SAL_CALL setWindowState( const css::uno::Any& _windowstate ) throw (css::uno::RuntimeException); 112 virtual css::uno::Any SAL_CALL getZoom() throw (css::uno::RuntimeException); 113 virtual void SAL_CALL setZoom( const css::uno::Any& _zoom ) throw (css::uno::RuntimeException); 114 115 // Methods 116 virtual void SAL_CALL SmallScroll( const css::uno::Any& Down, const css::uno::Any& Up, const css::uno::Any& ToRight, const css::uno::Any& ToLeft ) throw (css::uno::RuntimeException); 117 virtual void SAL_CALL LargeScroll( const css::uno::Any& Down, const css::uno::Any& Up, const css::uno::Any& ToRight, const css::uno::Any& ToLeft ) throw (css::uno::RuntimeException); 118 virtual css::uno::Any SAL_CALL SelectedSheets( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException); 119 virtual void SAL_CALL ScrollWorkbookTabs( const css::uno::Any& Sheets, const css::uno::Any& Position ) throw (css::uno::RuntimeException); 120 virtual void SAL_CALL Activate( ) throw (css::uno::RuntimeException); 121 virtual void SAL_CALL Close( const css::uno::Any& SaveChanges, const css::uno::Any& FileName, const css::uno::Any& RouteWorkBook ) throw (css::uno::RuntimeException); 122 virtual css::uno::Any SAL_CALL Selection( ) throw (css::script::BasicErrorException, css::uno::RuntimeException); 123 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL RangeSelection() throw (css::script::BasicErrorException, css::uno::RuntimeException); 124 virtual sal_Int32 SAL_CALL PointsToScreenPixelsX(sal_Int32 _points) throw (css::script::BasicErrorException, css::uno::RuntimeException); 125 virtual sal_Int32 SAL_CALL PointsToScreenPixelsY(sal_Int32 _points) throw (css::script::BasicErrorException, css::uno::RuntimeException); 126 virtual void SAL_CALL PrintOut( const css::uno::Any& From, const css::uno::Any&To, const css::uno::Any& Copies, const css::uno::Any& Preview, const css::uno::Any& ActivePrinter, const css::uno::Any& PrintToFile, const css::uno::Any& Collate, const css::uno::Any& PrToFileName ) throw (css::script::BasicErrorException, css::uno::RuntimeException); 127 virtual void SAL_CALL PrintPreview( const css::uno::Any& EnableChanges ) throw (css::script::BasicErrorException, css::uno::RuntimeException); 128 // XHelperInterface 129 virtual rtl::OUString& getServiceImplName(); 130 virtual css::uno::Sequence<rtl::OUString> getServiceNames(); 131 }; 132 133 #endif //SC_VBA_WINDOW_HXX 134