1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 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/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 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 . 18 */ 19 #ifndef INCLUDED_SC_SOURCE_UI_VBA_VBAAXIS_HXX 20 #define INCLUDED_SC_SOURCE_UI_VBA_VBAAXIS_HXX 21 #include <com/sun/star/beans/XPropertySet.hpp> 22 #include <ooo/vba/excel/XAxis.hpp> 23 #include <ooo/vba/excel/XChart.hpp> 24 #include <vbahelper/vbahelperinterface.hxx> 25 #include <memory> 26 typedef InheritedHelperInterfaceWeakImpl< ov::excel::XAxis > ScVbaAxis_BASE; 27 class ScVbaChart; 28 class ScVbaAxis : public ScVbaAxis_BASE 29 { 30 css::uno::Reference< ov::excel::XChart > moChartParent; 31 css::uno::Reference< css::beans::XPropertySet > mxPropertySet; 32 sal_Int32 mnType; 33 sal_Int32 const mnGroup; 34 bool bCrossesAreCustomized; 35 /// @throws css::uno::RuntimeException 36 ScVbaChart* getChartPtr(); 37 /// @throws css::script::BasicErrorException 38 bool isValueAxis(); 39 std::unique_ptr<ov::ShapeHelper> oShapeHelper; 40 41 public: 42 ScVbaAxis( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext > & xContext, const css::uno::Reference< css::beans::XPropertySet >& _xPropertySet, sal_Int32 _nType, sal_Int32 _nGroup ); 43 // Methods 44 virtual void SAL_CALL Delete( ) override; 45 virtual css::uno::Reference< ::ooo::vba::excel::XAxisTitle > SAL_CALL getAxisTitle( ) override; 46 virtual void SAL_CALL setDisplayUnit( ::sal_Int32 DisplayUnit ) override; 47 virtual ::sal_Int32 SAL_CALL getDisplayUnit( ) override; 48 virtual void SAL_CALL setCrosses( ::sal_Int32 Crosses ) override; 49 virtual ::sal_Int32 SAL_CALL getCrosses( ) override; 50 virtual void SAL_CALL setCrossesAt( double CrossesAt ) override; 51 virtual double SAL_CALL getCrossesAt( ) override; 52 virtual void SAL_CALL setType( ::sal_Int32 Type ) override; 53 virtual ::sal_Int32 SAL_CALL getType( ) override; 54 virtual void SAL_CALL setHasTitle( sal_Bool HasTitle ) override; 55 virtual sal_Bool SAL_CALL getHasTitle( ) override; 56 virtual void SAL_CALL setMinorUnit( double MinorUnit ) override; 57 virtual double SAL_CALL getMinorUnit( ) override; 58 virtual void SAL_CALL setMinorUnitIsAuto( sal_Bool MinorUnitIsAuto ) override; 59 virtual sal_Bool SAL_CALL getMinorUnitIsAuto( ) override; 60 virtual void SAL_CALL setReversePlotOrder( sal_Bool ReversePlotOrder ) override; 61 virtual sal_Bool SAL_CALL getReversePlotOrder( ) override; 62 virtual void SAL_CALL setMajorUnit( double MajorUnit ) override; 63 virtual double SAL_CALL getMajorUnit( ) override; 64 virtual void SAL_CALL setMajorUnitIsAuto( sal_Bool MajorUnitIsAuto ) override; 65 virtual sal_Bool SAL_CALL getMajorUnitIsAuto( ) override; 66 virtual void SAL_CALL setMaximumScale( double MaximumScale ) override; 67 virtual double SAL_CALL getMaximumScale( ) override; 68 virtual void SAL_CALL setMaximumScaleIsAuto( sal_Bool MaximumScaleIsAuto ) override; 69 virtual sal_Bool SAL_CALL getMaximumScaleIsAuto( ) override; 70 virtual void SAL_CALL setMinimumScale( double MinimumScale ) override; 71 virtual double SAL_CALL getMinimumScale( ) override; 72 virtual void SAL_CALL setMinimumScaleIsAuto( sal_Bool MinimumScaleIsAuto ) override; 73 virtual sal_Bool SAL_CALL getMinimumScaleIsAuto( ) override; 74 virtual ::sal_Int32 SAL_CALL getAxisGroup( ) override; 75 virtual void SAL_CALL setScaleType( ::sal_Int32 ScaleType ) override; 76 virtual ::sal_Int32 SAL_CALL getScaleType( ) override; 77 virtual double SAL_CALL getHeight( ) override; 78 virtual void SAL_CALL setHeight( double height ) override; 79 virtual double SAL_CALL getWidth( ) override; 80 virtual void SAL_CALL setWidth( double width ) override; 81 virtual double SAL_CALL getTop( ) override; 82 virtual void SAL_CALL setTop( double top ) override; 83 virtual double SAL_CALL getLeft( ) override; 84 virtual void SAL_CALL setLeft( double left ) override; 85 86 // XHelperInterface 87 virtual OUString getServiceImplName() override; 88 virtual css::uno::Sequence<OUString> getServiceNames() override; 89 }; 90 91 #endif // INCLUDED_SC_SOURCE_UI_VBA_VBAAXIS_HXX 92 93 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 94