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 
26 ScCellMergeOption::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: */
ScAddress aStart
Definition: address.hxx:500
ScAddress aEnd
Definition: address.hxx:501
ScRange getFirstSingleRange() const
::std::set< SCTAB > maTabs
SCTAB Tab() const
Definition: address.hxx:271
int i
ScRange getSingleRange(SCTAB nTab) const
sal_Int16 SCCOL
Definition: types.hxx:22
sal_Int32 SCROW
Definition: types.hxx:18
ScCellMergeOption(const ScRange &rRange)
sal_Int16 SCTAB
Definition: types.hxx:23