20 #ifndef INCLUDED_SC_INC_CONVUNO_HXX
21 #define INCLUDED_SC_INC_CONVUNO_HXX
25 #include <com/sun/star/table/CellAddress.hpp>
26 #include <com/sun/star/table/CellRangeAddress.hpp>
40 const css::table::CellAddress& rApiAddress );
43 css::table::CellAddress& rApiAddress,
48 const css::table::CellRangeAddress& rApiRange );
51 css::table::CellRangeAddress& rApiRange,
56 const css::table::CellRangeAddress& rApiARange1,
57 const css::table::CellRangeAddress& rApiARange2 );
60 const css::table::CellRangeAddress& rApiOuter,
61 const css::table::CellRangeAddress& rApiInner );
66 const css::table::CellAddress& rApiAddress )
68 rScAddress.
Set( static_cast<SCCOL>(rApiAddress.Column), static_cast<SCROW>(rApiAddress.Row), static_cast<SCTAB>(rApiAddress.Sheet) );
72 css::table::CellAddress& rApiAddress,
75 rApiAddress.Column = rScAddress.
Col();
76 rApiAddress.Row = rScAddress.
Row();
77 rApiAddress.Sheet = rScAddress.
Tab();
82 const css::table::CellRangeAddress& rApiRange )
84 rScRange.
aStart.
Set( static_cast<SCCOL>(rApiRange.StartColumn), static_cast<SCROW>(rApiRange.StartRow), static_cast<SCTAB>(rApiRange.Sheet) );
85 rScRange.
aEnd.
Set( static_cast<SCCOL>(rApiRange.EndColumn), static_cast<SCROW>(rApiRange.EndRow), static_cast<SCTAB>(rApiRange.Sheet) );
89 css::table::CellRangeAddress& rApiRange,
92 rApiRange.StartColumn = rScRange.
aStart.
Col();
93 rApiRange.StartRow = rScRange.
aStart.
Row();
95 rApiRange.EndColumn = rScRange.
aEnd.
Col();
96 rApiRange.EndRow = rScRange.
aEnd.
Row();
100 const css::table::CellRangeAddress& rApiRange1,
101 const css::table::CellRangeAddress& rApiRange2 )
103 return (rApiRange1.Sheet == rApiRange2.Sheet) &&
104 (::std::max( rApiRange1.StartColumn, rApiRange2.StartColumn ) <= ::std::min( rApiRange1.EndColumn, rApiRange2.EndColumn )) &&
105 (::std::max( rApiRange1.StartRow, rApiRange2.StartRow ) <= ::std::min( rApiRange1.EndRow, rApiRange2.EndRow ));
109 const css::table::CellRangeAddress& rApiOuter,
110 const css::table::CellRangeAddress& rApiInner )
112 return (rApiOuter.Sheet == rApiInner.Sheet) &&
113 (rApiOuter.StartColumn <= rApiInner.StartColumn) && (rApiInner.EndColumn <= rApiOuter.EndColumn) &&
114 (rApiOuter.StartRow <= rApiInner.StartRow) && (rApiInner.EndRow <= rApiOuter.EndRow);
static void FillLocale(css::lang::Locale &rLocale, LanguageType eLang)
static void FillApiAddress(css::table::CellAddress &rApiAddress, const ScAddress &rScAddress)
static bool Contains(const css::table::CellRangeAddress &rApiOuter, const css::table::CellRangeAddress &rApiInner)
Returns true, if the passed range rApiInner is completely inside the passed range rApiOuter...
static LanguageType GetLanguage(const css::lang::Locale &rLocale)
static bool Intersects(const css::table::CellRangeAddress &rApiARange1, const css::table::CellRangeAddress &rApiARange2)
Returns true, if the passed ranges have at least one common cell.
void Set(SCCOL nCol, SCROW nRow, SCTAB nTab)
static void FillScAddress(ScAddress &rScAddress, const css::table::CellAddress &rApiAddress)
static void FillApiRange(css::table::CellRangeAddress &rApiRange, const ScRange &rScRange)
static void FillScRange(ScRange &rScRange, const css::table::CellRangeAddress &rApiRange)