Bump for 3.6-28
[LibreOffice.git] / chart2 / source / controller / inc / RangeSelectionHelper.hxx
blob244b562327ee8d06e7d918d1885e7738abd9bbd5
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
28 #ifndef CHART2_RANGESELECTIONHELPER_HXX
29 #define CHART2_RANGESELECTIONHELPER_HXX
31 #include <com/sun/star/chart2/XChartDocument.hpp>
32 #include <com/sun/star/beans/PropertyValue.hpp>
34 namespace com { namespace sun { namespace star {
35 namespace sheet{
36 class XRangeSelection;
37 class XRangeSelectionListener;
38 class XCellRangesAccess;
40 }}}
42 namespace chart
45 class RangeSelectionListenerParent;
47 class RangeSelectionHelper
49 public:
50 explicit RangeSelectionHelper(
51 const ::com::sun::star::uno::Reference<
52 ::com::sun::star::chart2::XChartDocument > & xChartDocument );
53 ~RangeSelectionHelper();
55 bool hasRangeSelection();
56 ::com::sun::star::uno::Reference<
57 ::com::sun::star::sheet::XRangeSelection > getRangeSelection();
58 void raiseRangeSelectionDocument();
59 bool chooseRange(
60 const ::rtl::OUString & aCurrentRange,
61 const ::rtl::OUString & aUIString,
62 RangeSelectionListenerParent & rListenerParent );
63 void stopRangeListening( bool bRemoveListener = true );
64 bool verifyCellRange( const ::rtl::OUString & rRangeStr );
65 bool verifyArguments( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rArguments );
67 private:
68 ::com::sun::star::uno::Reference<
69 ::com::sun::star::sheet::XRangeSelection >
70 m_xRangeSelection;
72 ::com::sun::star::uno::Reference<
73 ::com::sun::star::chart2::XChartDocument >
74 m_xChartDocument;
76 ::com::sun::star::uno::Reference<
77 ::com::sun::star::sheet::XCellRangesAccess >
78 m_xCellRangesAccess;
80 ::com::sun::star::uno::Reference<
81 ::com::sun::star::sheet::XRangeSelectionListener >
82 m_xRangeSelectionListener;
85 } // namespace chart
87 // CHART2_RANGESELECTIONHELPER_HXX
88 #endif
90 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */