LibreOffice Module sc (master) 1
cellmergeoption.cxx
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
10#include <cellmergeoption.hxx>
11#include <address.hxx>
12
14 mnStartCol(rRange.aStart.Col()),
15 mnStartRow(rRange.aStart.Row()),
16 mnEndCol(rRange.aEnd.Col()),
17 mnEndRow(rRange.aEnd.Row()),
18 mbCenter(false)
19{
20 SCTAB nTab1 = rRange.aStart.Tab();
21 SCTAB nTab2 = rRange.aEnd.Tab();
22 for (SCTAB i = nTab1; i <= nTab2; ++i)
23 maTabs.insert(i);
24}
25
26ScCellMergeOption::ScCellMergeOption(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bCenter) :
27 mnStartCol(nStartCol),
28 mnStartRow(nStartRow),
29 mnEndCol(nEndCol),
30 mnEndRow(nEndRow),
31 mbCenter(bCenter)
32{
33}
34
36{
37 return ScRange(mnStartCol, mnStartRow, nTab, mnEndCol, mnEndRow, nTab);
38}
39
41{
42 SCTAB nTab = 0;
43 if (!maTabs.empty())
44 nTab = *maTabs.begin();
45
46 return getSingleRange(nTab);
47}
48
49/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SCTAB Tab() const
Definition: address.hxx:283
ScAddress aEnd
Definition: address.hxx:498
ScAddress aStart
Definition: address.hxx:497
int i
ScRange getSingleRange(SCTAB nTab) const
::std::set< SCTAB > maTabs
ScRange getFirstSingleRange() const
ScCellMergeOption(const ScRange &rRange)
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17