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 _CHART2_TOOLS_TITLEHELPER_HXX 28 #define _CHART2_TOOLS_TITLEHELPER_HXX 29 30 #include "ReferenceSizeProvider.hxx" 31 #include "charttoolsdllapi.hxx" 32 #include <com/sun/star/chart2/XTitled.hpp> 33 #include <com/sun/star/frame/XModel.hpp> 34 #include <com/sun/star/uno/XComponentContext.hpp> 35 #include <com/sun/star/chart2/XDiagram.hpp> 36 37 //............................................................................. 38 namespace chart 39 { 40 //............................................................................. 41 42 class OOO_DLLPUBLIC_CHARTTOOLS TitleHelper 43 { 44 public: 45 enum eTitleType 46 { 47 TITLE_BEGIN = 0, 48 MAIN_TITLE = 0, 49 SUB_TITLE, 50 X_AXIS_TITLE, 51 Y_AXIS_TITLE, 52 Z_AXIS_TITLE, 53 SECONDARY_X_AXIS_TITLE, 54 SECONDARY_Y_AXIS_TITLE, 55 NORMAL_TITLE_END, 56 57 //it is intended that this both types are after NORMAL_TITLE_END 58 TITLE_AT_STANDARD_X_AXIS_POSITION, //equals the Y_AXIS_TITLE for barchart 59 TITLE_AT_STANDARD_Y_AXIS_POSITION //equals the X_AXIS_TITLE for barchart 60 }; 61 62 static ::com::sun::star::uno::Reference< 63 ::com::sun::star::chart2::XTitle > 64 getTitle( eTitleType nTitleIndex 65 , const ::com::sun::star::uno::Reference< 66 ::com::sun::star::frame::XModel >& xModel ); 67 68 static ::com::sun::star::uno::Reference< 69 ::com::sun::star::chart2::XTitle > 70 createTitle( eTitleType nTitleIndex 71 , const rtl::OUString& rTitleText 72 , const ::com::sun::star::uno::Reference< 73 ::com::sun::star::frame::XModel >& xModel 74 , const ::com::sun::star::uno::Reference< 75 ::com::sun::star::uno::XComponentContext > & xContext 76 , ReferenceSizeProvider * pRefSizeProvider = 0 ); 77 78 static void removeTitle( eTitleType nTitleIndex 79 , const ::com::sun::star::uno::Reference< 80 ::com::sun::star::frame::XModel >& xModel ); 81 82 static rtl::OUString getCompleteString( const ::com::sun::star::uno::Reference< 83 ::com::sun::star::chart2::XTitle >& xTitle ); 84 static void setCompleteString( const rtl::OUString& rNewText 85 , const ::com::sun::star::uno::Reference< 86 ::com::sun::star::chart2::XTitle >& xTitle 87 , const ::com::sun::star::uno::Reference< 88 ::com::sun::star::uno::XComponentContext > & xContext 89 , float * pDefaultCharHeight = 0 ); 90 91 static bool getTitleType( eTitleType& rType 92 , const ::com::sun::star::uno::Reference< 93 ::com::sun::star::chart2::XTitle >& xTitle 94 , const ::com::sun::star::uno::Reference< 95 ::com::sun::star::frame::XModel >& xModel ); 96 }; 97 98 //............................................................................. 99 } //namespace chart 100 //............................................................................. 101 #endif 102