LibreOffice Module sc (master)  1
inputhdl.hxx
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  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #pragma once
21 
22 #include <global.hxx>
23 #include <address.hxx>
24 #include <tools/solar.h>
25 #include <typedstrdata.hxx>
26 
27 #include <tools/fract.hxx>
28 #include <tools/gen.hxx>
29 #include <tools/link.hxx>
30 #include <vcl/vclptr.hxx>
31 #include <editeng/svxenum.hxx>
32 #include "viewdata.hxx"
33 
34 #include <set>
35 #include <memory>
36 #include <vector>
37 
38 class ScDocument;
39 class ScTabViewShell;
40 class ScInputWindow;
41 class ScPatternAttr;
43 class EditView;
44 class EditTextObject;
45 class ScInputHdlState;
46 class ScRangeFindList;
47 class Timer;
48 class KeyEvent;
49 class CommandEvent;
50 class VclWindowEvent;
51 namespace vcl { class Window; }
52 struct ReferenceMark;
53 struct ESelection;
54 
55 // ScInputHandler
56 
57 class ScInputHandler final
58 {
59 private:
61 
62  std::unique_ptr<ScEditEngineDefaulter> mpEditEngine;
63  EditView* pTableView; // associated active EditView
64  EditView* pTopView; // EditView in the input row
65 
66  std::unique_ptr<ScTypedCaseStrSet> pColumnData;
67  std::unique_ptr<ScTypedCaseStrSet> pFormulaData;
68  std::unique_ptr<ScTypedCaseStrSet> pFormulaDataPara;
69  ScTypedCaseStrSet::const_iterator miAutoPosColumn;
70  ScTypedCaseStrSet::const_iterator miAutoPosFormula;
71 
73  void* nTipVisible;
76  OUString aManualTip;
77  OUString aAutoSearch;
78 
79  OUString aCurrentText;
80 
81  OUString aFormText; // for autopilot function
82  sal_Int32 nFormSelStart; // Selection for autopilot function
83  sal_Int32 nFormSelEnd;
84 
85  sal_Unicode nCellPercentFormatDecSep; // 0:= no percent format, else which decimal separator
86 
87  sal_uInt16 nAutoPar; // autom.parentheses than can be overwritten
88 
91  bool bUseTab:1; // Scrolling possible
92  bool bTextValid:1; // Text is not in edit engine
93  bool bModified:1;
94  bool bSelIsRef:1;
95  bool bFormulaMode:1;
101  bool bInOwnChange:1;
102 
103  bool bProtected:1;
108 
109  Fraction aScaleX; // for ref MapMode
111 
114 
116  std::unique_ptr<SfxItemSet>
118 
119  std::unique_ptr<ScInputHdlState>
121  std::unique_ptr<Timer> pDelayTimer;
122 
123  std::unique_ptr<ScRangeFindList>
125 
126  static bool bAutoComplete; // from app options
127  static bool bOptLoaded;
128  ::std::set< sal_Unicode > maFormulaChar; //fdo 75264
129 
130 private:
131  void UpdateActiveView();
132  void SyncViews( const EditView* pSourceView = nullptr );
143  bool StartTable( sal_Unicode cTyped, bool bFromCommand, bool bInputActivated,
144  ScEditEngineDefaulter* pTopEngine );
145  void RemoveSelection();
146  void UpdateFormulaMode();
147  static void InvalidateAttribs();
148  void ImplCreateEditEngine();
149  DECL_LINK( DelayTimer, Timer*, void );
150  void GetColData();
151  void UseColData();
152  void NextAutoEntry( bool bBack );
153  void UpdateAdjust( sal_Unicode cTyped );
154  void GetFormulaData();
155  void UseFormulaData();
156  void NextFormulaEntry( bool bBack );
157  void PasteFunctionData();
158  void PasteManualTip();
160  void RemoveAdjust();
161  void RemoveRangeFinder();
162  void DeleteRangeFinder();
163  void UpdateParenthesis();
164  void UpdateAutoCorrFlag();
165  void ResetAutoPar();
166  void AutoParAdded();
167  bool CursorAtClosingPar();
168  void SkipClosingPar();
169  bool GetFuncName( OUString& aStart, OUString& aResult ); // fdo75264
170  void ShowArgumentsTip( OUString& rSelText );
171  DECL_LINK( ModifyHdl, LinkParamNone*, void );
172  DECL_LINK( ShowHideTipVisibleParentListener, VclWindowEvent&, void );
173  DECL_LINK( ShowHideTipVisibleSecParentListener, VclWindowEvent&, void );
174 
175 public:
176  ScInputHandler(const ScInputHandler&) = delete;
177  const ScInputHandler& operator=(const ScInputHandler&) = delete;
178 
179  ScInputHandler();
180  ~ScInputHandler();
181 
182  void SetMode( ScInputMode eNewMode, const OUString* pInitText = nullptr,
183  ScEditEngineDefaulter* pTopEngine = nullptr );
184  bool IsInputMode() const { return (eMode != SC_INPUT_NONE); }
185  bool IsEditMode() const { return (eMode != SC_INPUT_NONE &&
186  eMode != SC_INPUT_TYPE); }
187  bool IsTopMode() const { return (eMode == SC_INPUT_TOP); }
188 
189  const OUString& GetEditString();
190  const OUString& GetFormString() const { return aFormText; }
191 
192  const ScAddress& GetCursorPos() const { return aCursorPos; }
193 
194  bool GetTextAndFields( ScEditEngineDefaulter& rDestEngine );
195  void MergeLanguageAttributes( ScEditEngineDefaulter& rDestEngine ) const;
196 
197  bool KeyInput( const KeyEvent& rKEvt, bool bStartEdit );
198  void EnterHandler( ScEnterMode nBlockMode = ScEnterMode::NORMAL );
199  void CancelHandler();
200  void SetReference( const ScRange& rRef, const ScDocument& rDoc );
201  void AddRefEntry();
202 
203  void InputCommand( const CommandEvent& rCEvt );
204 
205  OUString GetSurroundingText();
207  bool DeleteSurroundingText(const Selection& rSelection);
208 
209  void InsertFunction( const OUString& rFuncName, bool bAddPar = true );
210  void ClearText();
211 
212  void InputSelection( const EditView* pView );
213  void InputChanged( const EditView* pView, bool bFromNotify );
214 
215  void ViewShellGone(const ScTabViewShell* pViewSh);
216  void SetRefViewShell(ScTabViewShell* pRefVsh) {pRefViewSh=pRefVsh;}
217 
218  void NotifyChange( const ScInputHdlState* pState, bool bForce = false,
219  ScTabViewShell* pSourceSh = nullptr,
220  bool bStopEditing = true);
221  void UpdateCellAdjust( SvxCellHorJustify eJust );
222 
223  void ResetDelayTimer(); //BugId 54702
224 
225  void HideTip();
226  void HideTipBelow();
227  void ShowTipCursor();
228  void ShowTip( const OUString& rText ); // at Cursor
229  void ShowTipBelow( const OUString& rText );
230  void ShowFuncList( const ::std::vector< OUString > & rFuncStrVec );
231 
232  void SetRefScale( const Fraction& rX, const Fraction& rY );
233  void UpdateRefDevice();
234 
237  EditView* GetTopView() { return pTopView; }
238 
239  bool DataChanging( sal_Unicode cTyped = 0, bool bFromCommand = false );
240  void DataChanged( bool bFromTopNotify = false, bool bSetModified = true );
241 
242  bool TakesReturn() const { return ( nTipVisible != nullptr ); }
243 
244  void SetModified() { bModified = true; }
245 
246  bool GetSelIsRef() const { return bSelIsRef; }
247  void SetSelIsRef(bool bSet) { bSelIsRef = bSet; }
248 
249  void ShowRefFrame();
250 
252 
253  void UpdateRange( sal_uInt16 nIndex, const ScRange& rNew );
254 
255  // Communication with the autopilot function
256  void InputGetSelection ( sal_Int32& rStart, sal_Int32& rEnd );
257  void InputSetSelection ( sal_Int32 nStart, sal_Int32 nEnd );
258  void InputReplaceSelection ( const OUString& rStr );
259  void InputTurnOffWinEngine();
260 
261  bool IsFormulaMode() const { return bFormulaMode; }
263  void SetInputWindow( ScInputWindow* pNew );
264  void StopInputWinEngine( bool bAll );
265 
266  bool IsInEnterHandler() const { return bInEnterHandler; }
267  bool IsInOwnChange() const { return bInOwnChange; }
268 
269  bool IsModalMode( const SfxObjectShell* pDocSh );
270 
271  void ForgetLastPattern();
272 
273  void UpdateSpellSettings( bool bFromStartTab = false );
274 
275  void FormulaPreview();
276 
277  Size GetTextSize(); // in 1/100mm
278 
279  // actually private, public for SID_INPUT_SUM
280  void InitRangeFinder(const OUString& rFormula);
281 
283  static void SendReferenceMarks( const SfxViewShell* pViewShell,
284  const std::vector<ReferenceMark>& rReferenceMarks );
285 
286  void SetDocumentDisposing( bool b );
287 
288  static void SetAutoComplete(bool bSet) { bAutoComplete = bSet; }
289 
290  static ReferenceMark GetReferenceMark( const ScViewData& rViewData, ScDocShell* pDocSh,
291  tools::Long nX1, tools::Long nX2, tools::Long nY1, tools::Long nY2,
292  tools::Long nTab, const Color& rColor );
293 
294  void LOKPasteFunctionData(const OUString& rFunctionName);
295 };
296 
297 // ScInputHdlState
298 
300 {
301  friend class ScInputHandler;
302 
303 public:
304  ScInputHdlState( const ScAddress& rCurPos,
305  const ScAddress& rStartPos,
306  const ScAddress& rEndPos,
307  const OUString& rString,
308  const EditTextObject* pData );
309  ScInputHdlState( const ScInputHdlState& rCpy );
311 
313  bool operator==( const ScInputHdlState& r ) const;
314 
315  const ScAddress& GetPos() const { return aCursorPos; }
316  const ScAddress& GetStartPos() const { return aStartPos; }
317  const ScAddress& GetEndPos() const { return aEndPos; }
318  const OUString& GetString() const { return aString; }
319  const EditTextObject* GetEditData() const { return pEditData.get(); }
320 
321 private:
325  OUString aString;
326  std::unique_ptr<EditTextObject> pEditData;
327 };
328 
329 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
EditView * pTableView
Definition: inputhdl.hxx:63
SvxCellHorJustify
sal_uInt16 nAutoPar
Definition: inputhdl.hxx:87
void UpdateRange(sal_uInt16 nIndex, const ScRange &rNew)
Definition: inputhdl.cxx:584
bool CursorAtClosingPar()
Definition: inputhdl.cxx:1882
static void SetAutoComplete(bool bSet)
Definition: inputhdl.hxx:288
void CancelHandler()
Definition: inputhdl.cxx:3293
const EditTextObject * GetEditData() const
Definition: inputhdl.hxx:319
void NextAutoEntry(bool bBack)
Definition: inputhdl.cxx:2016
Selection GetSurroundingTextSelection()
Definition: inputhdl.cxx:3862
ScTypedCaseStrSet::const_iterator miAutoPosColumn
Definition: inputhdl.hxx:69
void ShowTip(const OUString &rText)
Definition: inputhdl.cxx:1238
void UpdateCellAdjust(SvxCellHorJustify eJust)
Definition: inputhdl.cxx:4204
sal_Int32 nFormSelStart
Definition: inputhdl.hxx:82
void SetInputWindow(ScInputWindow *pNew)
Definition: inputhdl.cxx:2223
const OUString & GetEditString()
Definition: inputhdl.cxx:4288
void NextFormulaEntry(bool bBack)
Definition: inputhdl.cxx:1533
void SetModified()
Definition: inputhdl.hxx:244
VclPtr< vcl::Window > pTipVisibleParent
Definition: inputhdl.hxx:72
void PasteManualTip()
Definition: inputhdl.cxx:1813
bool IsFormulaMode() const
Definition: inputhdl.hxx:261
void ShowFuncList(const ::std::vector< OUString > &rFuncStrVec)
Definition: inputhdl.cxx:1346
bool DataChanging(sal_Unicode cTyped=0, bool bFromCommand=false)
Definition: inputhdl.cxx:2590
bool IsInputMode() const
Definition: inputhdl.hxx:184
void UpdateParenthesis()
Definition: inputhdl.cxx:2078
const ScAddress & GetPos() const
Definition: inputhdl.hxx:315
sal_uIntPtr sal_uLong
long Long
DECL_LINK(DelayTimer, Timer *, void)
void ClearText()
Definition: inputhdl.cxx:3544
void AutoParAdded()
Definition: inputhdl.cxx:1877
VclPtr< vcl::Window > pTipVisibleSecParent
Definition: inputhdl.hxx:74
sal_Int32 nFormSelEnd
Definition: inputhdl.hxx:83
std::unique_ptr< ScInputHdlState > pLastState
Definition: inputhdl.hxx:120
ScAddress aEndPos
Definition: inputhdl.hxx:324
std::unique_ptr< Timer > pDelayTimer
Definition: inputhdl.hxx:121
void ResetAutoPar()
Definition: inputhdl.cxx:1872
void RemoveSelection()
Definition: inputhdl.cxx:2766
void InputSelection(const EditView *pView)
Definition: inputhdl.cxx:4252
void UpdateActiveView()
Definition: inputhdl.cxx:2174
bool bFormulaMode
Definition: inputhdl.hxx:95
void LOKPasteFunctionData(const OUString &rFunctionName)
Definition: inputhdl.cxx:1679
void SetRefViewShell(ScTabViewShell *pRefVsh)
Definition: inputhdl.hxx:216
void ViewShellGone(const ScTabViewShell *pViewSh)
Definition: inputhdl.cxx:2140
bool bCreatingFuncView
Definition: inputhdl.hxx:98
void SetDocumentDisposing(bool b)
Definition: inputhdl.cxx:557
void ShowRefFrame()
Definition: inputhdl.cxx:2733
EditView * GetTableView()
Definition: inputhdl.hxx:236
OUString aCurrentText
Definition: inputhdl.hxx:79
EditView * GetActiveView()
Definition: inputhdl.cxx:2236
OUString aManualTip
Definition: inputhdl.hxx:76
bool operator==(const ScInputHdlState &r) const
Definition: inputhdl.cxx:4469
ScInputHdlState & operator=(const ScInputHdlState &r)
Definition: inputhdl.cxx:4478
sal_uInt16 sal_Unicode
void SkipClosingPar()
Definition: inputhdl.cxx:1898
OUString aAutoSearch
Definition: inputhdl.hxx:77
bool IsInEnterHandler() const
Definition: inputhdl.hxx:266
void DeleteRangeFinder()
Definition: inputhdl.cxx:636
void InputReplaceSelection(const OUString &rStr)
Definition: inputhdl.cxx:4399
void RemoveRangeFinder()
Definition: inputhdl.cxx:2318
const ScInputHandler & operator=(const ScInputHandler &)=delete
void MergeLanguageAttributes(ScEditEngineDefaulter &rDestEngine) const
Definition: inputhdl.cxx:2509
void ImplCreateEditEngine()
Definition: inputhdl.cxx:865
void AddRefEntry()
Definition: inputhdl.cxx:3359
::std::set< sal_Unicode > maFormulaChar
Definition: inputhdl.hxx:128
void ShowTipCursor()
Definition: inputhdl.cxx:1214
ScInputWindow * GetInputWindow()
Definition: inputhdl.hxx:262
ScAddress aCursorPos
Definition: inputhdl.hxx:89
void SyncViews(const EditView *pSourceView=nullptr)
Definition: inputhdl.cxx:2547
SvxCellHorJustify eAttrAdjust
Definition: inputhdl.hxx:107
void ShowArgumentsTip(OUString &rSelText)
Definition: inputhdl.cxx:1054
OUString aFormText
Definition: inputhdl.hxx:81
void InputSetSelection(sal_Int32 nStart, sal_Int32 nEnd)
Definition: inputhdl.cxx:4379
bool bParenthesisShown
Definition: inputhdl.hxx:97
void UpdateFormulaMode()
Definition: inputhdl.cxx:2687
void UpdateSpellSettings(bool bFromStartTab=false)
Definition: inputhdl.cxx:904
OUString GetSurroundingText()
Definition: inputhdl.cxx:3846
void UpdateLokReferenceMarks()
Definition: inputhdl.cxx:475
std::unique_ptr< EditTextObject > pEditData
Definition: inputhdl.hxx:326
bool IsModalMode(const SfxObjectShell *pDocSh)
Definition: inputhdl.cxx:3351
sal_Unicode nCellPercentFormatDecSep
Definition: inputhdl.hxx:85
void GetFormulaData()
Definition: inputhdl.cxx:960
const OUString & GetString() const
Definition: inputhdl.hxx:318
EditView * GetFuncEditView()
Definition: inputhdl.cxx:4353
bool IsInOwnChange() const
Definition: inputhdl.hxx:267
static bool bOptLoaded
Definition: inputhdl.hxx:127
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:63
void GetColData()
Definition: inputhdl.cxx:1925
void EnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL)
Definition: inputhdl.cxx:2925
ScTypedCaseStrSet::const_iterator miAutoPosFormula
Definition: inputhdl.hxx:70
ScInputMode eMode
Definition: inputhdl.hxx:90
std::unique_ptr< ScTypedCaseStrSet > pColumnData
Definition: inputhdl.hxx:66
std::unique_ptr< ScEditEngineDefaulter > mpEditEngine
Edited data in the sheet (when the user clicks into the sheet, and starts writing there)...
Definition: inputhdl.hxx:62
Fraction aScaleY
Definition: inputhdl.hxx:110
std::unique_ptr< ScTypedCaseStrSet > pFormulaDataPara
Definition: inputhdl.hxx:68
void InsertFunction(const OUString &rFuncName, bool bAddPar=true)
Definition: inputhdl.cxx:3497
const OUString & GetFormString() const
Definition: inputhdl.hxx:190
void UseFormulaData()
Definition: inputhdl.cxx:1464
void InputChanged(const EditView *pView, bool bFromNotify)
Definition: inputhdl.cxx:4262
bool GetTextAndFields(ScEditEngineDefaulter &rDestEngine)
Definition: inputhdl.cxx:4308
VclPtr< ScInputWindow > pInputWin
Definition: inputhdl.hxx:60
Size GetTextSize()
Definition: inputhdl.cxx:4299
const ScAddress & GetStartPos() const
Definition: inputhdl.hxx:316
void SetReference(const ScRange &rRef, const ScDocument &rDoc)
Definition: inputhdl.cxx:3392
void InitRangeFinder(const OUString &rFormula)
Definition: inputhdl.cxx:300
void * nTipVisible
Definition: inputhdl.hxx:73
sal_uLong nValidation
Definition: inputhdl.hxx:106
ScTabViewShell * pRefViewSh
Definition: inputhdl.hxx:112
void UpdateAutoCorrFlag()
Definition: inputhdl.cxx:888
bool DeleteSurroundingText(const Selection &rSelection)
Definition: inputhdl.cxx:3878
ScAddress aStartPos
Definition: inputhdl.hxx:323
bool GetFuncName(OUString &aStart, OUString &aResult)
Definition: inputhdl.cxx:1301
void * nTipVisibleSec
Definition: inputhdl.hxx:75
static ReferenceMark GetReferenceMark(const ScViewData &rViewData, ScDocShell *pDocSh, tools::Long nX1, tools::Long nX2, tools::Long nY1, tools::Long nY2, tools::Long nTab, const Color &rColor)
Definition: inputhdl.cxx:425
ScAddress aCursorPos
Definition: inputhdl.hxx:322
ScInputHdlState(const ScAddress &rCurPos, const ScAddress &rStartPos, const ScAddress &rEndPos, const OUString &rString, const EditTextObject *pData)
ScInputHdlState.
Definition: inputhdl.cxx:4447
bool bInRangeUpdate
Definition: inputhdl.hxx:96
Fraction aScaleX
Definition: inputhdl.hxx:109
bool bInEnterHandler
Definition: inputhdl.hxx:99
void InputGetSelection(sal_Int32 &rStart, sal_Int32 &rEnd)
Methods for FunctionAutoPilot: InputGetSelection, InputSetSelection, InputReplaceSelection, InputGetFormulaStr.
Definition: inputhdl.cxx:4347
const ScAddress & GetCursorPos() const
Definition: inputhdl.hxx:192
std::unique_ptr< ScRangeFindList > pRangeFindList
Definition: inputhdl.hxx:124
bool TakesReturn() const
Definition: inputhdl.hxx:242
bool KeyInput(const KeyEvent &rKEvt, bool bStartEdit)
Definition: inputhdl.cxx:3572
void StopInputWinEngine(bool bAll)
Definition: inputhdl.cxx:2228
void ResetDelayTimer()
Definition: inputhdl.cxx:4210
static void SendReferenceMarks(const SfxViewShell *pViewShell, const std::vector< ReferenceMark > &rReferenceMarks)
Definition: inputhdl.cxx:262
bool IsEditMode() const
Definition: inputhdl.hxx:185
void NotifyChange(const ScInputHdlState *pState, bool bForce=false, ScTabViewShell *pSourceSh=nullptr, bool bStopEditing=true)
Definition: inputhdl.cxx:4002
static bool bAutoComplete
Definition: inputhdl.hxx:126
std::unique_ptr< ScTypedCaseStrSet > pFormulaData
Definition: inputhdl.hxx:67
void DataChanged(bool bFromTopNotify=false, bool bSetModified=true)
Definition: inputhdl.cxx:2602
bool StartTable(sal_Unicode cTyped, bool bFromCommand, bool bInputActivated, ScEditEngineDefaulter *pTopEngine)
Definition: inputhdl.cxx:2333
const ScPatternAttr * pLastPattern
Definition: inputhdl.hxx:115
void HideTipBelow()
Definition: inputhdl.cxx:1032
void UpdateAdjust(sal_Unicode cTyped)
Definition: inputhdl.cxx:2251
void ShowTipBelow(const OUString &rText)
Definition: inputhdl.cxx:1269
EditView * pTopView
Definition: inputhdl.hxx:64
static void InvalidateAttribs()
Definition: inputhdl.cxx:2781
ScEnterMode
Definition: global.hxx:228
void InputTurnOffWinEngine()
Definition: inputhdl.cxx:4430
bool GetSelIsRef() const
Definition: inputhdl.hxx:246
bool bCommandErrorShown
Definition: inputhdl.hxx:100
void UpdateRefDevice()
Definition: inputhdl.cxx:836
void UseColData()
Definition: inputhdl.cxx:1946
void FormulaPreview()
Definition: inputhdl.cxx:1789
void SetMode(ScInputMode eNewMode, const OUString *pInitText=nullptr, ScEditEngineDefaulter *pTopEngine=nullptr)
Definition: inputhdl.cxx:2816
ScRangeFindList * GetRangeFindList()
Definition: inputhdl.hxx:251
void PasteFunctionData()
Definition: inputhdl.cxx:1650
std::unique_ptr< SfxItemSet > pEditDefaults
Definition: inputhdl.hxx:117
void RemoveAdjust()
Definition: inputhdl.cxx:2302
bool IsTopMode() const
Definition: inputhdl.hxx:187
void SetSelIsRef(bool bSet)
Definition: inputhdl.hxx:247
ScInputMode
Definition: global.hxx:368
EditView * GetTopView()
Definition: inputhdl.hxx:237
void InputCommand(const CommandEvent &rCEvt)
Definition: inputhdl.cxx:3894
void ForgetLastPattern()
Definition: inputhdl.cxx:2242
bool mbDocumentDisposing
Definition: inputhdl.hxx:105
ScTabViewShell * pActiveViewSh
Definition: inputhdl.hxx:113
OUString aString
Definition: inputhdl.hxx:325
const ScAddress & GetEndPos() const
Definition: inputhdl.hxx:317
void SetRefScale(const Fraction &rX, const Fraction &rY)
Definition: inputhdl.cxx:822
bool bLastIsSymbol
Definition: inputhdl.hxx:104