LibreOffice Module reportdesign (master) 1
RptPage.hxx
Go to the documentation of this file.
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_REPORTDESIGN_INC_RPTPAGE_HXX
20#define INCLUDED_REPORTDESIGN_INC_RPTPAGE_HXX
21
22#include "dllapi.h"
23#include <svx/svdpage.hxx>
24#include <com/sun/star/report/XReportComponent.hpp>
25#include <com/sun/star/report/XSection.hpp>
26
27namespace rptui
28{
29
30// OReportPage
31
32
33class OReportModel;
34
36{
38 OReportPage(const OReportPage&) = delete;
39
41 css::uno::Reference< css::report::XSection > m_xSection;
43 std::vector<SdrObject*> m_aTemporaryObjectList;
44
45 // method to remove temporary objects, created by 'special mode'
46 // (BegDragObj)
47 void removeTempObject(SdrObject const *_pToRemoveObj);
48
49 virtual ~OReportPage() override;
50
51 virtual css::uno::Reference< css::uno::XInterface > createUnoPage() override;
52public:
53
55 ,css::uno::Reference< css::report::XSection > _xSection );
56
57 virtual rtl::Reference<SdrPage> CloneSdrPage(SdrModel& rTargetModel) const override;
58
59 virtual void NbcInsertObject(SdrObject* pObj, size_t nPos=SAL_MAX_SIZE) override;
60 virtual rtl::Reference<SdrObject> RemoveObject(size_t nObjNum) override;
61
65 size_t getIndexOf(const css::uno::Reference< css::report::XReportComponent >& _xObject);
66
70 void removeSdrObject(const css::uno::Reference< css::report::XReportComponent >& _xObject);
71
72 void setSpecialMode() {m_bSpecialInsertMode = true;}
73 bool getSpecialMode() const {return m_bSpecialInsertMode;}
74 // all temporary objects will remove and destroy
75 void resetSpecialMode();
76
80 void insertObject(const css::uno::Reference< css::report::XReportComponent >& _xObject);
81
82 const css::uno::Reference< css::report::XSection >& getSection() const { return m_xSection;}
83};
84}
85#endif // INCLUDED_REPORTDESIGN_INC_RPTPAGE_HXX
86
87/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
css::uno::Reference< css::report::XSection > m_xSection
Definition: RptPage.hxx:41
OReportPage & operator=(const OReportPage &)=delete
OReportPage(OReportModel &rModel, css::uno::Reference< css::report::XSection > _xSection)
bool m_bSpecialInsertMode
Definition: RptPage.hxx:42
OReportModel & rModel
Definition: RptPage.hxx:40
const css::uno::Reference< css::report::XSection > & getSection() const
Definition: RptPage.hxx:82
bool getSpecialMode() const
Definition: RptPage.hxx:73
OReportPage(const OReportPage &)=delete
std::vector< SdrObject * > m_aTemporaryObjectList
Definition: RptPage.hxx:43
void setSpecialMode()
Definition: RptPage.hxx:72
#define REPORTDESIGN_DLLPUBLIC
Definition: dllapi.h:28