summaryrefslogtreecommitdiff
path: root/sc/source/ui/miscdlgs
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2022-02-14 15:24:34 +0100
committerLuboš Luňák <l.lunak@collabora.com>2022-03-23 09:09:00 +0100
commit0a02265f2283061149a846a119d8307128c57f4a (patch)
tree7008fe73cd969232927004b1d359bcf8196a6785 /sc/source/ui/miscdlgs
parentf840f2210c933a728e21f677a90e700bed74715e (diff)
remove hardcoded MAXCOL/MAXROW from datatableview.cxx (tdf#135332)
Also remove the pointless separate Init() functions. Change-Id: I6235047ea472899c0885d86a84a603d7641c3191 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129913 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'sc/source/ui/miscdlgs')
-rw-r--r--sc/source/ui/miscdlgs/dataproviderdlg.cxx3
-rw-r--r--sc/source/ui/miscdlgs/datatableview.cxx44
2 files changed, 15 insertions, 32 deletions
diff --git a/sc/source/ui/miscdlgs/dataproviderdlg.cxx b/sc/source/ui/miscdlgs/dataproviderdlg.cxx
index 8cb2d9d33a0c..a9477bba4db7 100644
--- a/sc/source/ui/miscdlgs/dataproviderdlg.cxx
+++ b/sc/source/ui/miscdlgs/dataproviderdlg.cxx
@@ -748,7 +748,7 @@ ScDataProviderDlg::ScDataProviderDlg(weld::Window* pParent, std::shared_ptr<ScDo
, mxDoc(std::move(pDoc))
, mxBox(m_xBuilder->weld_container("data_table"))
, m_xTableParent(mxBox->CreateChildFrame())
- , mxTable(VclPtr<ScDataTableView>::Create(m_xTableParent))
+ , mxTable(VclPtr<ScDataTableView>::Create(m_xTableParent, mxDoc))
, mxDBRanges(m_xBuilder->weld_combo_box("select_db_range"))
, mxOKBtn(m_xBuilder->weld_button("okay"))
, mxCancelBtn(m_xBuilder->weld_button("cancel"))
@@ -768,7 +768,6 @@ ScDataProviderDlg::ScDataProviderDlg(weld::Window* pParent, std::shared_ptr<ScDo
mxBox->set_size_request(aPrefSize.Width(), aPrefSize.Height());
mxTable->Show();
- mxTable->Init(mxDoc);
ScDBCollection* pDBCollection = pDocument->GetDBCollection();
auto& rNamedDBs = pDBCollection->getNamedDBs();
for (auto& rNamedDB : rNamedDBs)
diff --git a/sc/source/ui/miscdlgs/datatableview.cxx b/sc/source/ui/miscdlgs/datatableview.cxx
index da0dd2dd2e5b..d74df0e81fe4 100644
--- a/sc/source/ui/miscdlgs/datatableview.cxx
+++ b/sc/source/ui/miscdlgs/datatableview.cxx
@@ -38,18 +38,13 @@ constexpr sal_uInt16 nRowHeaderWidth = 100;
constexpr sal_uInt16 nColHeaderHeight = 20;
constexpr sal_uInt16 nScrollBarSize = 10;
-ScDataTableColView::ScDataTableColView(vcl::Window* pParent, SelectionEngine* pSelectionEngine):
- ScHeaderControl(pParent, pSelectionEngine, 1024, false, nullptr),
- mpDoc(nullptr),
+ScDataTableColView::ScDataTableColView(vcl::Window* pParent, ScDocument* pDoc, SelectionEngine* pSelectionEngine):
+ ScHeaderControl(pParent, pSelectionEngine, pDoc->MaxCol()+1, false, nullptr),
+ mpDoc(pDoc),
mnCol(0)
{
}
-void ScDataTableColView::Init(ScDocument* pDoc)
-{
- mpDoc = pDoc;
-}
-
void ScDataTableColView::SetPos(SCCOLROW nCol)
{
mnCol = nCol;
@@ -89,18 +84,13 @@ void ScDataTableColView::HideEntries(SCCOLROW nPos, SCCOLROW nEndPos)
}
-ScDataTableRowView::ScDataTableRowView(vcl::Window* pParent, SelectionEngine* pSelectionEngine):
- ScHeaderControl(pParent, pSelectionEngine, 1048576, true, nullptr),
- mpDoc(nullptr),
+ScDataTableRowView::ScDataTableRowView(vcl::Window* pParent, ScDocument* pDoc, SelectionEngine* pSelectionEngine):
+ ScHeaderControl(pParent, pSelectionEngine, pDoc->MaxRow()+1, true, nullptr),
+ mpDoc(pDoc),
mnRow(0)
{
}
-void ScDataTableRowView::Init(ScDocument* pDoc)
-{
- mpDoc = pDoc;
-}
-
void ScDataTableRowView::SetPos(SCCOLROW nRow)
{
mnRow = nRow;
@@ -139,12 +129,13 @@ void ScDataTableRowView::HideEntries(SCCOLROW nPos, SCCOLROW nEndPos)
}
}
-ScDataTableView::ScDataTableView(const css::uno::Reference<css::awt::XWindow> &rParent) :
+ScDataTableView::ScDataTableView(const css::uno::Reference<css::awt::XWindow> &rParent, std::shared_ptr<ScDocument> pDoc) :
Control(VCLUnoHelper::GetWindow(rParent)),
+ mpDoc(std::move(pDoc)),
mpSelectionEngine(new SelectionEngine(this)),
mpTopLeft(VclPtr<ScrollBarBox>::Create(this, WB_SIZEABLE)),
- mpColView(VclPtr<ScDataTableColView>::Create(this, mpSelectionEngine.get())),
- mpRowView(VclPtr<ScDataTableRowView>::Create(this, mpSelectionEngine.get())),
+ mpColView(VclPtr<ScDataTableColView>::Create(this, mpDoc.get(), mpSelectionEngine.get())),
+ mpRowView(VclPtr<ScDataTableRowView>::Create(this, mpDoc.get(), mpSelectionEngine.get())),
mpVScroll(VclPtr<ScrollBar>::Create(this, WinBits(WB_VSCROLL | WB_DRAG))),
mpHScroll(VclPtr<ScrollBar>::Create(this, WinBits(WB_HSCROLL | WB_DRAG))),
mnFirstVisibleRow(0),
@@ -169,13 +160,6 @@ ScDataTableView::ScDataTableView(const css::uno::Reference<css::awt::XWindow> &r
mpHScroll->Show();
}
-void ScDataTableView::Init(std::shared_ptr<ScDocument> pDoc)
-{
- mpDoc = std::move(pDoc);
- mpColView->Init(mpDoc.get());
- mpRowView->Init(mpDoc.get());
-}
-
ScDataTableView::~ScDataTableView()
{
disposeOnce();
@@ -218,7 +202,7 @@ SCCOL findColFromPos(sal_uInt16 nPixelPos, const ScDocument* pDoc, SCCOL nStartC
}
SAL_WARN("sc", "Could not find the corresponding column");
- return MAXCOL;
+ return pDoc->MaxCol();
}
SCROW findRowFromPos(sal_uInt16 nPixelPos, const ScDocument* pDoc, SCROW nStartRow = 0)
@@ -238,7 +222,7 @@ SCROW findRowFromPos(sal_uInt16 nPixelPos, const ScDocument* pDoc, SCROW nStartR
}
SAL_WARN("sc", "Could not find the corresponding row");
- return MAXROW;
+ return pDoc->MaxRow();
}
}
@@ -321,13 +305,13 @@ IMPL_LINK(ScDataTableView, ScrollHdl, ScrollBar*, pScrollBar, void)
if (pScrollBar == mpVScroll.get())
{
mnFirstVisibleRow = pScrollBar->GetThumbPos();
- pScrollBar->SetRangeMax(std::min( MAXROW,static_cast<SCROW>(mnFirstVisibleRow + 100 )));
+ pScrollBar->SetRangeMax(std::min(mpDoc->MaxRow(), static_cast<SCROW>(mnFirstVisibleRow + 100)));
mpRowView->SetPos(mnFirstVisibleRow);
}
else
{
mnFirstVisibleCol = pScrollBar->GetThumbPos();
- pScrollBar->SetRangeMax(std::min( MAXCOL,static_cast<SCCOL>(mnFirstVisibleCol + 50 )));
+ pScrollBar->SetRangeMax(std::min(mpDoc->MaxCol(), static_cast<SCCOL>(mnFirstVisibleCol + 50)));
mpColView->SetPos(mnFirstVisibleCol);
}
Invalidate();