22#include <document.hxx>
34constexpr double nPPTX = 0.06666;
35constexpr double nPPTY = 0.06666;
42 ScHeaderControl(pParent, pSelectionEngine, pDoc->MaxCol()+1, false, nullptr),
65 return "Col: " + OUString::number(
nPos + 1);
88 ScHeaderControl(pParent, pSelectionEngine, pDoc->MaxRow()+1, true, nullptr),
111 return OUString::number(
nPos + 1);
134 mpDoc(
std::move(pDoc)),
141 mnFirstVisibleRow(0),
191 sal_uInt32 nPixelLength = 0;
194 sal_uInt16 nColWidth = pDoc->
GetColWidth(nCol, 0,
true);
198 if (nPixelLength >= nPixelPos)
204 SAL_WARN(
"sc",
"Could not find the corresponding column");
211 sal_uInt32 nPixelLength = 0;
212 for (
SCROW nRow = nStartRow; nRow <= pDoc->
MaxRow(); ++nRow)
218 if (nPixelLength >= nPixelPos)
224 SAL_WARN(
"sc",
"Could not find the corresponding row");
243 mpColView->SetMark(
true, nStartCol, nEndCol);
244 mpRowView->SetMark(
true, nStartRow, nEndRow);
275 aOutput.
DrawGrid(rRenderContext,
true,
false);
282 return Size(450, 400);
290 rStartCol =
static_cast<SCCOL>(aStart);
291 rEndCol =
static_cast<SCCOL>(aEnd);
299 rStartCol =
static_cast<SCROW>(aStart);
300 rEndCol =
static_cast<SCROW>(aEnd);
305 if (pScrollBar == mpVScroll.get())
307 mnFirstVisibleRow = pScrollBar->GetThumbPos();
308 pScrollBar->SetRangeMax(std::min(mpDoc->MaxRow(),
static_cast<SCROW>(mnFirstVisibleRow + 100)));
309 mpRowView->SetPos(mnFirstVisibleRow);
313 mnFirstVisibleCol = pScrollBar->GetThumbPos();
314 pScrollBar->SetRangeMax(std::min(mpDoc->MaxCol(),
static_cast<SCCOL>(mnFirstVisibleCol + 50)));
315 mpColView->SetPos(mnFirstVisibleCol);
SharedBitmapDescriptor mpTopLeft
void PutInOrder(T &nStart, T &nEnd)
virtual void dispose() override
const Point & GetPosPixel() const
void SetPos(SCCOLROW nRow)
virtual OUString GetEntryText(SCCOLROW nPos) const override
virtual SCCOLROW GetPos() const override
ScDataTableColView(vcl::Window *pParent, ScDocument *pDoc, SelectionEngine *pSelectionEngine)
virtual void HideEntries(SCCOLROW nPos, SCCOLROW nEndPos) override
virtual sal_uInt16 GetEntrySize(SCCOLROW nPos) const override
virtual bool IsLayoutRTL() const override
virtual void SetEntrySize(SCCOLROW nPos, sal_uInt16 nWidth) override
void SetPos(SCCOLROW nRow)
virtual void SetEntrySize(SCCOLROW nPos, sal_uInt16 nWidth) override
virtual SCCOLROW GetPos() const override
virtual sal_uInt16 GetEntrySize(SCCOLROW nPos) const override
virtual void HideEntries(SCCOLROW nPos, SCCOLROW nEndPos) override
ScDataTableRowView(vcl::Window *pParent, ScDocument *pDoc, SelectionEngine *pSelectionEngine)
virtual OUString GetEntryText(SCCOLROW nPos) const override
virtual bool IsLayoutRTL() const override
VclPtr< ScrollBar > mpVScroll
void getRowRange(SCROW &rStartRow, SCROW &rEndRow) const
virtual void dispose() override
VclPtr< ScDataTableRowView > mpRowView
~ScDataTableView() override
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
void getColRange(SCCOL &rStartCol, SCCOL &rEndCol) const
std::shared_ptr< ScDocument > mpDoc
virtual Size GetOptimalSize() const override
VclPtr< ScrollBarBox > mpTopLeft
virtual void MouseButtonUp(const MouseEvent &rMEvt) override
std::unique_ptr< MouseEvent > mpMouseEvent
VclPtr< ScDataTableColView > mpColView
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
ScDataTableView(const css::uno::Reference< css::awt::XWindow > &rParent, std::shared_ptr< ScDocument > pDoc)
VclPtr< ScrollBar > mpHScroll
virtual void Resize() override
SC_DLLPUBLIC sal_uInt16 GetRowHeight(SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
SC_DLLPUBLIC sal_uInt16 GetColWidth(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC SCROW MaxRow() const
SC_DLLPUBLIC void ShowRow(SCROW nRow, SCTAB nTab, bool bShow)
SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, bool bShow)
SC_DLLPUBLIC void SetColWidthOnly(SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
SC_DLLPUBLIC void SetRowHeight(SCROW nRow, SCTAB nTab, sal_uInt16 nNewHeight)
SC_DLLPUBLIC ScColumnsRange GetColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const
void DrawStrings(bool bPixelToLogic=false)
void SetSolidBackground(bool bSet)
void SetGridColor(const Color &rColor)
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage, bool bMergeCover=false)
void DrawDocumentBackground()
static tools::Long ToPixel(sal_uInt16 nTwips, double nFactor)
constexpr tools::Long Height() const
constexpr tools::Long Width() const
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
virtual Size GetSizePixel() const
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
constexpr sal_uInt16 nRowHeaderWidth
IMPL_LINK(ScDataTableView, ScrollHdl, ScrollBar *, pScrollBar, void)
constexpr sal_uInt16 nColHeaderHeight
constexpr sal_uInt16 nScrollBarSize
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
WinBits const WB_SIZEABLE