LibreOffice Module sc (master) 1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ScCsvRuler Class Reference

A ruler control for the CSV import dialog. More...

#include <csvruler.hxx>

Inheritance diagram for ScCsvRuler:
[legend]
Collaboration diagram for ScCsvRuler:
[legend]

Public Member Functions

 ScCsvRuler (const ScCsvLayoutData &rData, ScCsvTableBox *pTableBox)
 If currently mouse tracking. More...
 
virtual void SetDrawingArea (weld::DrawingArea *pDrawingArea) override
 
ScCsvTableBoxGetTableBox ()
 
virtual ~ScCsvRuler () override
 
void ApplyLayout (const ScCsvLayoutData &rOldData)
 Apply current layout data to the ruler. More...
 
const ScCsvSplitsGetSplits () const
 Returns the split array. More...
 
sal_uInt32 GetSplitCount () const
 Returns the number of splits. More...
 
sal_Int32 GetSplitPos (sal_uInt32 nIndex) const
 Returns the position of the specified split. More...
 
sal_Int32 GetNoScrollPos (sal_Int32 nPos) const
 Finds a position nearest to nPos which does not cause scrolling the visible area. More...
 
bool HasSplit (sal_Int32 nPos) const
 Returns true if at position nPos is a split. More...
 
void InsertSplit (sal_Int32 nPos)
 Inserts a split. More...
 
void RemoveSplit (sal_Int32 nPos)
 Removes a split. More...
 
void MoveSplit (sal_Int32 nPos, sal_Int32 nNewPos)
 Moves a split from nPos to nNewPos. More...
 
void RemoveAllSplits ()
 Removes all splits of the ruler. More...
 
void ImplRedraw (vcl::RenderContext &rRenderContext)
 Redraws the entire ruler. More...
 
- Public Member Functions inherited from ScCsvControl
 ScCsvControl (const ScCsvLayoutData &rData)
 Reference to the accessible implementation object. More...
 
virtual ~ScCsvControl () override
 
virtual void GetFocus () override
 
virtual void LoseFocus () override
 
void AccSendFocusEvent (bool bFocused)
 Sends a GetFocus or LoseFocus event to the accessibility object. More...
 
void AccSendCaretEvent ()
 Sends a caret changed event to the accessibility object. More...
 
void AccSendVisibleEvent ()
 Sends a visible area changed event to the accessibility object. More...
 
void AccSendSelectionEvent ()
 Sends a selection changed event to the accessibility object. More...
 
void AccSendTableUpdateEvent (sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows=true)
 Sends a table model changed event for changed cell contents to the accessibility object. More...
 
void AccSendInsertColumnEvent (sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
 Sends a table model changed event for an inserted column to the accessibility object. More...
 
void AccSendRemoveColumnEvent (sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
 Sends a table model changed event for a removed column to the accessibility object. More...
 
ScAccessibleCsvControlGetAccessible ()
 
void InvalidateGfx ()
 Sets the graphic invalid (next Redraw() will not use cached graphic). More...
 
void ValidateGfx ()
 Sets the graphic valid (next Redraw() will use cached graphic). More...
 
bool IsValidGfx () const
 Returns true, if cached graphic is valid. More...
 
void Repaint (bool bInvalidate=false)
 Repaints all controls. More...
 
void DisableRepaint ()
 Increases no-repaint counter (controls do not repaint until the last EnableRepaint()). More...
 
void EnableRepaint ()
 Decreases no-repaint counter and repaints if counter reaches 0. More...
 
bool IsNoRepaint () const
 Returns true, if controls will not repaint. More...
 
void SetCmdHdl (const Link< ScCsvControl &, void > &rHdl)
 Sets a new command handler. More...
 
const ScCsvCmdGetCmd () const
 Returns data of the last command. More...
 
void Execute (ScCsvCmdType eType, sal_Int32 nParam1=CSV_POS_INVALID, sal_Int32 nParam2=CSV_POS_INVALID)
 Executes a command by calling command handler. More...
 
const ScCsvLayoutDataGetLayoutData () const
 Returns a reference to the current layout data. More...
 
bool IsRTL () const
 Returns true, if the Right-to-Left layout mode is active. More...
 
sal_Int32 GetPosCount () const
 Returns the number of available positions. More...
 
sal_Int32 GetVisPosCount () const
 Returns the number of visible positions. More...
 
sal_Int32 GetFirstVisPos () const
 Returns the first visible position. More...
 
sal_Int32 GetLastVisPos () const
 Returns the last visible position. More...
 
sal_Int32 GetMaxPosOffset () const
 Returns highest possible position for first visible character. More...
 
bool IsValidSplitPos (sal_Int32 nPos) const
 Returns true, if it is allowed to set a split at nPos. More...
 
bool IsVisibleSplitPos (sal_Int32 nPos) const
 Returns true, if nPos is an allowed AND visible split position. More...
 
sal_Int32 GetHdrWidth () const
 Returns the width of the header column. More...
 
sal_Int32 GetCharWidth () const
 Returns the width of one character column. More...
 
sal_Int32 GetHdrX () const
 Returns the start position of the header column. More...
 
sal_Int32 GetFirstX () const
 Returns the X position of the first pixel of the data area. More...
 
sal_Int32 GetLastX () const
 Returns the X position of the last pixel of the data area. More...
 
sal_Int32 GetX (sal_Int32 nPos) const
 Returns output X coordinate of the specified position. More...
 
sal_Int32 GetPosFromX (sal_Int32 nX) const
 Returns position from output coordinate. More...
 
sal_Int32 GetLineCount () const
 Returns the number of data lines. More...
 
sal_Int32 GetVisLineCount () const
 Returns the number of visible lines (including partly visible bottom line). More...
 
sal_Int32 GetFirstVisLine () const
 Returns index of first visible line. More...
 
sal_Int32 GetLastVisLine () const
 Returns index of last visible line. More...
 
sal_Int32 GetMaxLineOffset () const
 Returns highest possible index for first line. More...
 
bool IsValidLine (sal_Int32 nLine) const
 Returns true, if nLine is a valid line index. More...
 
bool IsVisibleLine (sal_Int32 nLine) const
 Returns true, if nLine is a valid and visible line index. More...
 
sal_Int32 GetHdrHeight () const
 Returns the height of the header line. More...
 
sal_Int32 GetLineHeight () const
 Returns the height of one line. More...
 
sal_Int32 GetY (sal_Int32 nLine) const
 Returns output Y coordinate of the specified line. More...
 
sal_Int32 GetLineFromY (sal_Int32 nY) const
 Returns line index from output coordinate. More...
 
sal_Int32 GetRulerCursorPos () const
 Returns the ruler cursor position. More...
 
sal_Int32 GetGridCursorPos () const
 Returns the data grid cursor position (not column index!). More...
 
- Public Member Functions inherited from weld::CustomWidgetController
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible ()
 
virtual void Paint (vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)=0
 
virtual void Resize ()
 
virtual bool MouseButtonDown (const MouseEvent &)
 
virtual bool MouseMove (const MouseEvent &)
 
virtual bool MouseButtonUp (const MouseEvent &)
 
virtual void GetFocus ()
 
virtual void LoseFocus ()
 
virtual void StyleUpdated ()
 
virtual bool Command (const CommandEvent &)
 
virtual bool KeyInput (const KeyEvent &)
 
virtual tools::Rectangle GetFocusRect ()
 
virtual FactoryFunction GetUITestFactory () const
 
virtual OUString RequestHelp (tools::Rectangle &)
 
virtual OUString GetHelpText () const
 
Size const & GetOutputSizePixel () const
 
void SetOutputSizePixel (const Size &rSize)
 
virtual void SetDrawingArea (weld::DrawingArea *pDrawingArea)
 
weld::DrawingAreaGetDrawingArea () const
 
void Invalidate ()
 
void Invalidate (const tools::Rectangle &rRect)
 
virtual void Show ()
 
virtual void Hide ()
 
void SetCursor (void *pData)
 
void GrabFocus ()
 
bool HasFocus () const
 
bool HasChildFocus () const
 
bool IsVisible () const
 
bool IsReallyVisible () const
 
bool IsEnabled () const
 
void Enable () const
 
void Disable () const
 
bool IsActive () const
 
int GetTextHeight () const
 
int GetTextWidth (const OUString &rText) const
 
OUString GetAccessibleName () const
 
OUString GetAccessibleDescription () const
 
void CaptureMouse ()
 
bool IsMouseCaptured () const
 
Point GetPointerPosPixel () const
 
void EnableRTL (bool bEnable)
 
bool IsRTLEnabled () const
 
void ReleaseMouse ()
 
void SetPointer (PointerStyle ePointerStyle)
 
void SetHelpId (const OUString &rHelpId)
 
void SetAccessibleName (const OUString &rName)
 
void SetInputContext (const InputContext &rInputContext)
 
void SetCursorRect (const tools::Rectangle &rCursorRect, int nExtTextInputWidth)
 
virtual int GetSurroundingText (OUString &)
 
virtual bool DeleteSurroundingText (const Selection &)
 
css::uno::Reference< css::datatransfer::dnd::XDropTarget > GetDropTarget ()
 
css::uno::Reference< css::datatransfer::clipboard::XClipboard > GetClipboard () const
 
void SetDragDataTransferable (rtl::Reference< TransferDataContainer > &rTransferable, sal_uInt8 eDNDConstants)
 
virtual bool StartDrag ()
 
void set_size_request (int nWidth, int nHeight)
 
void queue_resize ()
 
 CustomWidgetController ()
 
virtual ~CustomWidgetController ()
 
 CustomWidgetController (CustomWidgetController const &)=default
 
 CustomWidgetController (CustomWidgetController &&)=default
 
CustomWidgetControlleroperator= (CustomWidgetController const &)=default
 
CustomWidgetControlleroperator= (CustomWidgetController &&)=default
 

Protected Member Functions

virtual void Resize () override
 
virtual void GetFocus () override
 
virtual void LoseFocus () override
 
virtual void StyleUpdated () override
 
virtual bool MouseButtonDown (const MouseEvent &rMEvt) override
 
virtual bool MouseMove (const MouseEvent &rMEvt) override
 
virtual bool MouseButtonUp (const MouseEvent &rMEvt) override
 
virtual bool KeyInput (const KeyEvent &rKEvt) override
 
virtual tools::Rectangle GetFocusRect () override
 
virtual void Paint (vcl::RenderContext &rRenderContext, const tools::Rectangle &) override
 
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible () override
 Creates a new accessible object. More...
 

Private Member Functions

void InitColors ()
 Reads colors from system settings. More...
 
void InitSizeData ()
 Initializes all data dependent from the control's size. More...
 
void MoveCursor (sal_Int32 nPos, bool bScroll=true)
 Moves cursor to a new position. More...
 
void MoveCursorRel (ScMoveMode eDir)
 Moves cursor to the given direction. More...
 
void MoveCursorToSplit (ScMoveMode eDir)
 Sets cursor to an existing split, according to eDir. More...
 
void ScrollVertRel (ScMoveMode eDir)
 Scrolls data grid vertically. More...
 
sal_Int32 FindEmptyPos (sal_Int32 nPos, ScMoveMode eDir) const
 Finds next position without a split. More...
 
void MoveCurrSplit (sal_Int32 nNewPos)
 Moves split and cursor to nNewPos and commits event. More...
 
void MoveCurrSplitRel (ScMoveMode eDir)
 Moves split and cursor to the given direction and commits event. More...
 
void StartMouseTracking (sal_Int32 nPos)
 Starts tracking at the specified position. More...
 
void MoveMouseTracking (sal_Int32 nPos)
 Moves tracking to a new position. More...
 
void EndMouseTracking ()
 Applies tracking action for the current tracking position. More...
 
sal_Int32 GetWidth () const
 Returns the width of the control. More...
 
sal_Int32 GetHeight () const
 Returns the height of the control. More...
 
void UpdateSplitSize ()
 Update the split size depending on the last width set by CSVCMD_SETCHARWIDTH. More...
 
void ImplDrawArea (sal_Int32 nPosX, sal_Int32 nWidth)
 Draws the background and active area to maBackgrDev (only the given X range). More...
 
void ImplDrawBackgrDev ()
 Draws the entire ruler background with scaling to maBackgrDev. More...
 
void ImplDrawSplit (sal_Int32 nPos)
 Draws a split to maRulerDev. More...
 
void ImplEraseSplit (sal_Int32 nPos)
 Erases a split from maRulerDev. More...
 
void ImplDrawRulerDev ()
 Draws the ruler background, all splits and the cursor to maRulerDev. More...
 
void ImplInvertCursor (sal_Int32 nPos)
 Inverts the cursor bar at the specified position in maRulerDev. More...
 
void ImplSetMousePointer (sal_Int32 nPos)
 Sets arrow or horizontal split pointer. More...
 

Private Attributes

ScCsvTableBoxmpTableBox
 
ScopedVclPtrInstance< VirtualDevicemaBackgrDev
 Grid Parent. More...
 
ScopedVclPtrInstance< VirtualDevicemaRulerDev
 Ruler background, scaling. More...
 
Color maBackColor
 Ruler with splits and cursor. More...
 
Color maActiveColor
 Background color. More...
 
Color maTextColor
 Color for active part of ruler. More...
 
Color maSplitColor
 Text and scale color. More...
 
ScCsvSplits maSplits
 Split area color. More...
 
ScCsvSplits maOldSplits
 Vector with split positions. More...
 
sal_Int32 mnPosCursorLast
 Old state for cancellation. More...
 
sal_Int32 mnPosMTStart
 Last valid position of cursor. More...
 
sal_Int32 mnPosMTCurr
 Start position of mouse tracking. More...
 
bool mbPosMTMoved
 Current position of mouse tracking. More...
 
Size maWinSize
 Tracking: Anytime moved to another position? More...
 
tools::Rectangle maActiveRect
 Size of the control. More...
 
sal_Int32 mnSplitSize
 The active area of the ruler. More...
 
bool mbTracking
 Size of a split circle. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ScCsvControl
static void ImplInvertRect (OutputDevice &rOutDev, const tools::Rectangle &rRect)
 Inverts a rectangle in the specified output device. More...
 
static ScMoveMode GetHorzDirection (sal_uInt16 nCode, bool bHomeEnd)
 Returns direction code for the keys LEFT, RIGHT, HOME, END. More...
 
static ScMoveMode GetVertDirection (sal_uInt16 nCode, bool bHomeEnd)
 Returns direction code for the keys UP, DOWN, HOME, END, PAGE UP, PAGE DOWN. More...
 
- Static Public Member Functions inherited from weld::CustomWidgetController
static bool IsUpdateMode ()
 
- Protected Attributes inherited from ScCsvControl
rtl::Reference< ScAccessibleCsvControlmxAccessible
 Content of virtual devices valid? More...
 

Detailed Description

A ruler control for the CSV import dialog.

Supports setting and moving splits (which divide lines of data into several columns).

Definition at line 32 of file csvruler.hxx.

Constructor & Destructor Documentation

◆ ScCsvRuler()

ScCsvRuler::ScCsvRuler ( const ScCsvLayoutData rData,
ScCsvTableBox pTableBox 
)
explicit

If currently mouse tracking.

Definition at line 93 of file csvruler.cxx.

◆ ~ScCsvRuler()

ScCsvRuler::~ScCsvRuler ( )
overridevirtual

Definition at line 125 of file csvruler.cxx.

References maSplits, and save_FixedWidthList().

Member Function Documentation

◆ ApplyLayout()

void ScCsvRuler::ApplyLayout ( const ScCsvLayoutData rOldData)

◆ CreateAccessible()

css::uno::Reference< css::accessibility::XAccessible > ScCsvRuler::CreateAccessible ( )
overrideprotectedvirtual

Creates a new accessible object.

Reimplemented from weld::CustomWidgetController.

Definition at line 658 of file csvruler.cxx.

References ScCsvControl::mxAccessible.

◆ EndMouseTracking()

void ScCsvRuler::EndMouseTracking ( )
private

Applies tracking action for the current tracking position.

Definition at line 512 of file csvruler.cxx.

References CSV_POS_INVALID, CSVCMD_REMOVESPLIT, ScCsvControl::Execute(), ScCsvSplits::HasSplit(), maOldSplits, mbPosMTMoved, mnPosMTCurr, and mnPosMTStart.

Referenced by MouseButtonUp().

◆ FindEmptyPos()

sal_Int32 ScCsvRuler::FindEmptyPos ( sal_Int32  nPos,
ScMoveMode  eDir 
) const
private

Finds next position without a split.

Definition at line 322 of file csvruler.cxx.

References CSV_POS_INVALID, FindEmptyPos(), ScCsvControl::GetPosCount(), HasSplit(), ScCsvControl::IsValidSplitPos(), MOVE_FIRST, MOVE_LAST, MOVE_NEXT, MOVE_PREV, and nPos.

Referenced by FindEmptyPos(), and MoveCurrSplitRel().

◆ GetFocus()

void ScCsvRuler::GetFocus ( )
overrideprotectedvirtual

◆ GetFocusRect()

tools::Rectangle ScCsvRuler::GetFocusRect ( )
overrideprotectedvirtual

◆ GetHeight()

sal_Int32 ScCsvRuler::GetHeight ( ) const
inlineprivate

Returns the height of the control.

Definition at line 153 of file csvruler.hxx.

References Size::Height(), and maWinSize.

Referenced by GetFocusRect(), ImplDrawArea(), ImplDrawSplit(), ImplEraseSplit(), ImplInvertCursor(), and InitSizeData().

◆ GetNoScrollPos()

sal_Int32 ScCsvRuler::GetNoScrollPos ( sal_Int32  nPos) const

Finds a position nearest to nPos which does not cause scrolling the visible area.

Definition at line 267 of file csvruler.cxx.

References CSV_POS_INVALID, CSV_SCROLL_DIST, ScCsvControl::GetFirstVisPos(), ScCsvControl::GetLastVisPos(), ScCsvControl::GetMaxPosOffset(), and nPos.

Referenced by GetFocus().

◆ GetSplitCount()

sal_uInt32 ScCsvRuler::GetSplitCount ( ) const
inline

Returns the number of splits.

Definition at line 90 of file csvruler.hxx.

References ScCsvSplits::Count(), and maSplits.

◆ GetSplitPos()

sal_Int32 ScCsvRuler::GetSplitPos ( sal_uInt32  nIndex) const
inline

Returns the position of the specified split.

Definition at line 93 of file csvruler.hxx.

References maSplits, and nIndex.

Referenced by ImplDrawRulerDev().

◆ GetSplits()

const ScCsvSplits & ScCsvRuler::GetSplits ( ) const
inline

Returns the split array.

Definition at line 88 of file csvruler.hxx.

References maSplits.

◆ GetTableBox()

ScCsvTableBox * ScCsvRuler::GetTableBox ( )
inline

Definition at line 61 of file csvruler.hxx.

References mpTableBox.

Referenced by ScAccessibleCsvRuler::getAccessibleRelationSet().

◆ GetWidth()

sal_Int32 ScCsvRuler::GetWidth ( ) const
inlineprivate

Returns the width of the control.

Definition at line 151 of file csvruler.hxx.

References maWinSize, and Size::Width().

Referenced by GetFocusRect(), ImplDrawBackgrDev(), and InitSizeData().

◆ HasSplit()

bool ScCsvRuler::HasSplit ( sal_Int32  nPos) const
inline

Returns true if at position nPos is a split.

Definition at line 99 of file csvruler.hxx.

References ScCsvSplits::HasSplit(), maSplits, and nPos.

Referenced by FindEmptyPos(), ScAccessibleCsvRuler::implHasSplit(), ImplInvertCursor(), ImplSetMousePointer(), MoveCurrSplitRel(), and StartMouseTracking().

◆ ImplDrawArea()

void ScCsvRuler::ImplDrawArea ( sal_Int32  nPosX,
sal_Int32  nWidth 
)
private

◆ ImplDrawBackgrDev()

void ScCsvRuler::ImplDrawBackgrDev ( )
private

Draws the entire ruler background with scaling to maBackgrDev.

Definition at line 570 of file csvruler.cxx.

References tools::Rectangle::Bottom(), ScCsvControl::GetPosFromX(), GetWidth(), ScCsvControl::GetX(), ImplDrawArea(), maActiveRect, maBackgrDev, maTextColor, nPos, and tools::Rectangle::Top().

Referenced by ImplRedraw().

◆ ImplDrawRulerDev()

void ScCsvRuler::ImplDrawRulerDev ( )
private

◆ ImplDrawSplit()

void ScCsvRuler::ImplDrawSplit ( sal_Int32  nPos)
private

◆ ImplEraseSplit()

void ScCsvRuler::ImplEraseSplit ( sal_Int32  nPos)
private

◆ ImplInvertCursor()

void ScCsvRuler::ImplInvertCursor ( sal_Int32  nPos)
private

Inverts the cursor bar at the specified position in maRulerDev.

Definition at line 641 of file csvruler.cxx.

References GetHeight(), ScCsvControl::GetX(), HasSplit(), ImplDrawSplit(), ScCsvControl::ImplInvertRect(), ScCsvControl::IsVisibleSplitPos(), maRulerDev, and nPos.

Referenced by ApplyLayout(), ImplDrawRulerDev(), and ImplEraseSplit().

◆ ImplRedraw()

void ScCsvRuler::ImplRedraw ( vcl::RenderContext rRenderContext)

◆ ImplSetMousePointer()

void ScCsvRuler::ImplSetMousePointer ( sal_Int32  nPos)
private

Sets arrow or horizontal split pointer.

Definition at line 651 of file csvruler.cxx.

References HasSplit(), nPos, and weld::CustomWidgetController::SetPointer().

Referenced by MouseButtonDown(), and MouseMove().

◆ InitColors()

void ScCsvRuler::InitColors ( )
private

◆ InitSizeData()

void ScCsvRuler::InitSizeData ( )
private

◆ InsertSplit()

void ScCsvRuler::InsertSplit ( sal_Int32  nPos)

Inserts a split.

Definition at line 286 of file csvruler.cxx.

References ImplDrawSplit(), ScCsvSplits::Insert(), maSplits, nPos, and ScCsvControl::Repaint().

◆ KeyInput()

bool ScCsvRuler::KeyInput ( const KeyEvent rKEvt)
overrideprotectedvirtual

◆ LoseFocus()

void ScCsvRuler::LoseFocus ( )
overrideprotectedvirtual

◆ MouseButtonDown()

bool ScCsvRuler::MouseButtonDown ( const MouseEvent rMEvt)
overrideprotectedvirtual

◆ MouseButtonUp()

bool ScCsvRuler::MouseButtonUp ( const MouseEvent rMEvt)
overrideprotectedvirtual

Reimplemented from weld::CustomWidgetController.

Definition at line 417 of file csvruler.cxx.

References EndMouseTracking(), and mbTracking.

◆ MouseMove()

bool ScCsvRuler::MouseMove ( const MouseEvent rMEvt)
overrideprotectedvirtual

◆ MoveCurrSplit()

void ScCsvRuler::MoveCurrSplit ( sal_Int32  nNewPos)
private

Moves split and cursor to nNewPos and commits event.

Definition at line 350 of file csvruler.cxx.

References CSVCMD_MOVESPLIT, ScCsvControl::DisableRepaint(), ScCsvControl::EnableRepaint(), ScCsvControl::Execute(), ScCsvControl::GetRulerCursorPos(), and MoveCursor().

Referenced by MoveCurrSplitRel().

◆ MoveCurrSplitRel()

void ScCsvRuler::MoveCurrSplitRel ( ScMoveMode  eDir)
private

Moves split and cursor to the given direction and commits event.

Definition at line 358 of file csvruler.cxx.

References CSV_POS_INVALID, FindEmptyPos(), ScCsvControl::GetRulerCursorPos(), HasSplit(), and MoveCurrSplit().

Referenced by KeyInput().

◆ MoveCursor()

void ScCsvRuler::MoveCursor ( sal_Int32  nPos,
bool  bScroll = true 
)
private

◆ MoveCursorRel()

void ScCsvRuler::MoveCursorRel ( ScMoveMode  eDir)
private

Moves cursor to the given direction.

Definition at line 198 of file csvruler.cxx.

References CSV_POS_INVALID, ScCsvControl::GetPosCount(), ScCsvControl::GetRulerCursorPos(), MOVE_FIRST, MOVE_LAST, MOVE_NEXT, MOVE_PREV, and MoveCursor().

Referenced by KeyInput().

◆ MoveCursorToSplit()

void ScCsvRuler::MoveCursorToSplit ( ScMoveMode  eDir)
private

◆ MoveMouseTracking()

void ScCsvRuler::MoveMouseTracking ( sal_Int32  nPos)
private

◆ MoveSplit()

void ScCsvRuler::MoveSplit ( sal_Int32  nPos,
sal_Int32  nNewPos 
)

Moves a split from nPos to nNewPos.

Definition at line 304 of file csvruler.cxx.

References ImplDrawSplit(), ImplEraseSplit(), ScCsvSplits::Insert(), maSplits, nPos, ScCsvSplits::Remove(), and ScCsvControl::Repaint().

◆ Paint()

void ScCsvRuler::Paint ( vcl::RenderContext rRenderContext,
const tools::Rectangle  
)
overrideprotectedvirtual

Implements weld::CustomWidgetController.

Definition at line 522 of file csvruler.cxx.

References ImplRedraw().

◆ RemoveAllSplits()

void ScCsvRuler::RemoveAllSplits ( )

Removes all splits of the ruler.

Definition at line 316 of file csvruler.cxx.

References ScCsvSplits::Clear(), maSplits, and ScCsvControl::Repaint().

◆ RemoveSplit()

void ScCsvRuler::RemoveSplit ( sal_Int32  nPos)

Removes a split.

Definition at line 295 of file csvruler.cxx.

References ImplEraseSplit(), maSplits, nPos, ScCsvSplits::Remove(), and ScCsvControl::Repaint().

◆ Resize()

void ScCsvRuler::Resize ( )
overrideprotectedvirtual

◆ ScrollVertRel()

void ScCsvRuler::ScrollVertRel ( ScMoveMode  eDir)
private

◆ SetDrawingArea()

void ScCsvRuler::SetDrawingArea ( weld::DrawingArea pDrawingArea)
overridevirtual

◆ StartMouseTracking()

void ScCsvRuler::StartMouseTracking ( sal_Int32  nPos)
private

Starts tracking at the specified position.

Definition at line 486 of file csvruler.cxx.

References CSVCMD_INSERTSPLIT, ScCsvControl::Execute(), HasSplit(), maOldSplits, maSplits, mbPosMTMoved, mbTracking, mnPosMTCurr, mnPosMTStart, and nPos.

Referenced by MouseButtonDown().

◆ StyleUpdated()

void ScCsvRuler::StyleUpdated ( )
overrideprotectedvirtual

◆ UpdateSplitSize()

void ScCsvRuler::UpdateSplitSize ( )
private

Update the split size depending on the last width set by CSVCMD_SETCHARWIDTH.

Definition at line 165 of file csvruler.cxx.

References ScCsvControl::GetCharWidth(), and mnSplitSize.

Referenced by InitSizeData(), and SetDrawingArea().

Member Data Documentation

◆ maActiveColor

Color ScCsvRuler::maActiveColor
private

Background color.

Definition at line 41 of file csvruler.hxx.

Referenced by ImplDrawArea(), and InitColors().

◆ maActiveRect

tools::Rectangle ScCsvRuler::maActiveRect
private

Size of the control.

Definition at line 54 of file csvruler.hxx.

Referenced by ImplDrawArea(), ImplDrawBackgrDev(), and InitSizeData().

◆ maBackColor

Color ScCsvRuler::maBackColor
private

Ruler with splits and cursor.

Definition at line 40 of file csvruler.hxx.

Referenced by ImplDrawArea(), and InitColors().

◆ maBackgrDev

ScopedVclPtrInstance<VirtualDevice> ScCsvRuler::maBackgrDev
private

Grid Parent.

Definition at line 37 of file csvruler.hxx.

Referenced by ImplDrawArea(), ImplDrawBackgrDev(), ImplDrawRulerDev(), ImplEraseSplit(), InitSizeData(), and SetDrawingArea().

◆ maOldSplits

ScCsvSplits ScCsvRuler::maOldSplits
private

Vector with split positions.

Definition at line 46 of file csvruler.hxx.

Referenced by EndMouseTracking(), MoveMouseTracking(), and StartMouseTracking().

◆ maRulerDev

ScopedVclPtrInstance<VirtualDevice> ScCsvRuler::maRulerDev
private

◆ maSplitColor

Color ScCsvRuler::maSplitColor
private

Text and scale color.

Definition at line 43 of file csvruler.hxx.

Referenced by ImplDrawSplit(), and InitColors().

◆ maSplits

ScCsvSplits ScCsvRuler::maSplits
private

◆ maTextColor

Color ScCsvRuler::maTextColor
private

Color for active part of ruler.

Definition at line 42 of file csvruler.hxx.

Referenced by ImplDrawArea(), ImplDrawBackgrDev(), ImplDrawSplit(), and InitColors().

◆ maWinSize

Size ScCsvRuler::maWinSize
private

Tracking: Anytime moved to another position?

Definition at line 53 of file csvruler.hxx.

Referenced by GetHeight(), GetWidth(), ImplDrawRulerDev(), ImplRedraw(), InitSizeData(), and MouseMove().

◆ mbPosMTMoved

bool ScCsvRuler::mbPosMTMoved
private

Current position of mouse tracking.

Definition at line 51 of file csvruler.hxx.

Referenced by EndMouseTracking(), MoveMouseTracking(), and StartMouseTracking().

◆ mbTracking

bool ScCsvRuler::mbTracking
private

Size of a split circle.

Definition at line 56 of file csvruler.hxx.

Referenced by MouseButtonUp(), MouseMove(), and StartMouseTracking().

◆ mnPosCursorLast

sal_Int32 ScCsvRuler::mnPosCursorLast
private

Old state for cancellation.

Definition at line 48 of file csvruler.hxx.

Referenced by GetFocus(), and LoseFocus().

◆ mnPosMTCurr

sal_Int32 ScCsvRuler::mnPosMTCurr
private

Start position of mouse tracking.

Definition at line 50 of file csvruler.hxx.

Referenced by EndMouseTracking(), MoveMouseTracking(), and StartMouseTracking().

◆ mnPosMTStart

sal_Int32 ScCsvRuler::mnPosMTStart
private

Last valid position of cursor.

Definition at line 49 of file csvruler.hxx.

Referenced by EndMouseTracking(), MoveMouseTracking(), and StartMouseTracking().

◆ mnSplitSize

sal_Int32 ScCsvRuler::mnSplitSize
private

The active area of the ruler.

Definition at line 55 of file csvruler.hxx.

Referenced by ImplDrawSplit(), ImplEraseSplit(), SetDrawingArea(), and UpdateSplitSize().

◆ mpTableBox

ScCsvTableBox* ScCsvRuler::mpTableBox
private

Definition at line 35 of file csvruler.hxx.

Referenced by GetTableBox().


The documentation for this class was generated from the following files: