LibreOffice Module sc (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ScInputHandler Class Referencefinal

#include <inputhdl.hxx>

Collaboration diagram for ScInputHandler:
[legend]

Public Member Functions

 ScInputHandler (const ScInputHandler &)=delete
 
const ScInputHandleroperator= (const ScInputHandler &)=delete
 
 ScInputHandler ()
 
 ~ScInputHandler ()
 
void SetMode (ScInputMode eNewMode, const OUString *pInitText=nullptr, ScEditEngineDefaulter *pTopEngine=nullptr)
 
bool IsInputMode () const
 
bool IsEditMode () const
 
bool IsTopMode () const
 
const OUString & GetEditString ()
 
const OUString & GetFormString () const
 
const ScAddressGetCursorPos () const
 
bool GetTextAndFields (ScEditEngineDefaulter &rDestEngine)
 
void MergeLanguageAttributes (ScEditEngineDefaulter &rDestEngine) const
 
bool KeyInput (const KeyEvent &rKEvt, bool bStartEdit)
 
void EnterHandler (ScEnterMode nBlockMode=ScEnterMode::NORMAL, bool bBeforeSavingInLOK=false)
 
void CancelHandler ()
 
void SetReference (const ScRange &rRef, const ScDocument &rDoc)
 
void AddRefEntry ()
 
void InputCommand (const CommandEvent &rCEvt)
 
OUString GetSurroundingText ()
 
Selection GetSurroundingTextSelection ()
 
bool DeleteSurroundingText (const Selection &rSelection)
 
void InsertFunction (const OUString &rFuncName, bool bAddPar=true)
 
void ClearText ()
 
void InputSelection (const EditView *pView)
 
void InputChanged (const EditView *pView, bool bFromNotify)
 
void ViewShellGone (const ScTabViewShell *pViewSh)
 
void SetRefViewShell (ScTabViewShell *pRefVsh)
 
void NotifyChange (const ScInputHdlState *pState, bool bForce=false, ScTabViewShell *pSourceSh=nullptr, bool bStopEditing=true)
 
void UpdateCellAdjust (SvxCellHorJustify eJust)
 
void ResetDelayTimer ()
 
void HideTip ()
 
void HideTipBelow ()
 
void ShowTipCursor ()
 
void ShowTip (const OUString &rText)
 
void ShowTipBelow (const OUString &rText)
 
void ShowFuncList (const ::std::vector< OUString > &rFuncStrVec)
 
void SetRefScale (const Fraction &rX, const Fraction &rY)
 
void UpdateRefDevice ()
 
EditViewGetActiveView ()
 
EditViewGetTableView ()
 
EditViewGetTopView ()
 
bool DataChanging (sal_Unicode cTyped=0, bool bFromCommand=false)
 
void DataChanged (bool bFromTopNotify=false, bool bSetModified=true)
 
bool TakesReturn () const
 
void SetModified ()
 
bool GetSelIsRef () const
 
void SetSelIsRef (bool bSet)
 
void ShowRefFrame ()
 
ScRangeFindListGetRangeFindList ()
 
void UpdateRange (sal_uInt16 nIndex, const ScRange &rNew)
 
void InputGetSelection (sal_Int32 &rStart, sal_Int32 &rEnd)
 Methods for FunctionAutoPilot: InputGetSelection, InputSetSelection, InputReplaceSelection, InputGetFormulaStr. More...
 
void InputSetSelection (sal_Int32 nStart, sal_Int32 nEnd)
 
void InputReplaceSelection (std::u16string_view aStr)
 
void InputTurnOffWinEngine ()
 
bool IsFormulaMode () const
 
ScInputWindowGetInputWindow ()
 
void SetInputWindow (ScInputWindow *pNew)
 
void StopInputWinEngine (bool bAll)
 
bool IsInEnterHandler () const
 
bool IsInOwnChange () const
 
bool HasPartialComplete () const
 Returns true if there is a partial autocomplete suggestion. More...
 
bool IsModalMode (const SfxObjectShell *pDocSh)
 
void ForgetLastPattern ()
 
void UpdateSpellSettings (bool bFromStartTab=false)
 
void FormulaPreview ()
 
Size GetTextSize ()
 
void InitRangeFinder (const OUString &rFormula)
 
void UpdateLokReferenceMarks ()
 
void SetDocumentDisposing (bool b)
 
void LOKPasteFunctionData (const OUString &rFunctionName)
 

Static Public Member Functions

static void SendReferenceMarks (const SfxViewShell *pViewShell, const std::vector< ReferenceMark > &rReferenceMarks)
 
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)
 
static void LOKSendFormulabarUpdate (EditView *pEditView, const SfxViewShell *pActiveViewSh, const OUString &rText, const ESelection &rSelection)
 

Private Member Functions

void UpdateActiveView ()
 
void SyncViews (const EditView *pSourceView=nullptr)
 
bool StartTable (sal_Unicode cTyped, bool bFromCommand, bool bInputActivated, ScEditEngineDefaulter *pTopEngine)
 
void RemoveSelection ()
 
bool StartsLikeFormula (std::u16string_view rStr) const
 
void UpdateFormulaMode ()
 
void ImplCreateEditEngine ()
 
 DECL_LINK (DelayTimer, Timer *, void)
 
void GetColData ()
 
void UseColData ()
 
void NextAutoEntry (bool bBack)
 
void UpdateAdjust (sal_Unicode cTyped)
 
void GetFormulaData ()
 
void UseFormulaData ()
 
void NextFormulaEntry (bool bBack)
 
void PasteFunctionData ()
 
void PasteManualTip ()
 
EditViewGetFuncEditView ()
 
void RemoveAdjust ()
 
void RemoveRangeFinder ()
 
void DeleteRangeFinder ()
 
void UpdateParenthesis ()
 
void UpdateAutoCorrFlag ()
 
void ResetAutoPar ()
 
void AutoParAdded ()
 
bool CursorAtClosingPar ()
 
void SkipClosingPar ()
 
bool GetFuncName (OUString &aStart, OUString &aResult)
 
void ShowArgumentsTip (OUString &rSelText)
 
 DECL_LINK (ModifyHdl, LinkParamNone *, void)
 
 DECL_LINK (ShowHideTipVisibleParentListener, VclWindowEvent &, void)
 
 DECL_LINK (ShowHideTipVisibleSecParentListener, VclWindowEvent &, void)
 

Static Private Member Functions

static void InvalidateAttribs ()
 

Private Attributes

VclPtr< ScInputWindowpInputWin
 
std::unique_ptr< ScEditEngineDefaultermpEditEngine
 Edited data in the sheet (when the user clicks into the sheet, and starts writing there). More...
 
EditViewpTableView
 
EditViewpTopView
 
std::unique_ptr< ScTypedCaseStrSetpColumnData
 
std::unique_ptr< ScTypedCaseStrSetpFormulaData
 
std::unique_ptr< ScTypedCaseStrSetpFormulaDataPara
 
ScTypedCaseStrSet::const_iterator miAutoPosColumn
 
ScTypedCaseStrSet::const_iterator miAutoPosFormula
 
std::set< sal_UnicodemaFormulaChar
 
VclPtr< vcl::WindowpTipVisibleParent
 
void * nTipVisible
 
VclPtr< vcl::WindowpTipVisibleSecParent
 
void * nTipVisibleSec
 
OUString aManualTip
 
OUString aAutoSearch
 
OUString aCurrentText
 
OUString aFormText
 
sal_Int32 nFormSelStart
 
sal_Int32 nFormSelEnd
 
sal_Unicode nCellPercentFormatDecSep
 
sal_uInt16 nAutoPar
 
ScAddress aCursorPos
 
ScInputMode eMode
 
bool bUseTab:1
 
bool bTextValid:1
 
bool bModified:1
 
bool bSelIsRef:1
 
bool bFormulaMode:1
 
bool bInRangeUpdate:1
 
bool bParenthesisShown:1
 
bool bCreatingFuncView:1
 
bool bInEnterHandler:1
 
bool bCommandErrorShown:1
 
bool bInOwnChange:1
 
bool bProtected:1
 
bool bLastIsSymbol:1
 
bool mbDocumentDisposing:1
 
bool mbPartialPrefix:1
 To indicate if there is a partial prefix completion. More...
 
bool mbEditingExistingContent:1
 
sal_uLong nValidation
 
SvxCellHorJustify eAttrAdjust
 
Fraction aScaleX
 
Fraction aScaleY
 
ScTabViewShellpRefViewSh
 
ScTabViewShellpActiveViewSh
 
const ScPatternAttrpLastPattern
 
std::unique_ptr< SfxItemSetpEditDefaults
 
std::unique_ptr< ScInputHdlStatepLastState
 
std::unique_ptr< TimerpDelayTimer
 
std::unique_ptr< ScRangeFindListpRangeFindList
 

Detailed Description

Definition at line 57 of file inputhdl.hxx.

Constructor & Destructor Documentation

◆ ScInputHandler() [1/2]

ScInputHandler::ScInputHandler ( const ScInputHandler )
delete

◆ ScInputHandler() [2/2]

ScInputHandler::ScInputHandler ( )

Definition at line 822 of file inputhdl.cxx.

References eMode, LINK, pActiveViewSh, pDelayTimer, and Standard.

◆ ~ScInputHandler()

ScInputHandler::~ScInputHandler ( )

Definition at line 869 of file inputhdl.cxx.

References EnterHandler(), mbDocumentDisposing, pInputWin, and SC_MOD.

Member Function Documentation

◆ AddRefEntry()

void ScInputHandler::AddRefEntry ( )

◆ AutoParAdded()

void ScInputHandler::AutoParAdded ( )
private

Definition at line 1987 of file inputhdl.cxx.

References nAutoPar.

Referenced by InsertFunction(), and PasteFunctionData().

◆ CancelHandler()

void ScInputHandler::CancelHandler ( )

◆ ClearText()

void ScInputHandler::ClearText ( )

◆ CursorAtClosingPar()

bool ScInputHandler::CursorAtClosingPar ( )
private

◆ DataChanged()

void ScInputHandler::DataChanged ( bool  bFromTopNotify = false,
bool  bSetModified = true 
)

◆ DataChanging()

bool ScInputHandler::DataChanging ( sal_Unicode  cTyped = 0,
bool  bFromCommand = false 
)

◆ DECL_LINK() [1/4]

ScInputHandler::DECL_LINK ( DelayTimer  ,
Timer ,
void   
)
private

◆ DECL_LINK() [2/4]

ScInputHandler::DECL_LINK ( ModifyHdl  ,
LinkParamNone ,
void   
)
private

◆ DECL_LINK() [3/4]

ScInputHandler::DECL_LINK ( ShowHideTipVisibleParentListener  ,
VclWindowEvent ,
void   
)
private

◆ DECL_LINK() [4/4]

ScInputHandler::DECL_LINK ( ShowHideTipVisibleSecParentListener  ,
VclWindowEvent ,
void   
)
private

◆ DeleteRangeFinder()

void ScInputHandler::DeleteRangeFinder ( )
private

◆ DeleteSurroundingText()

bool ScInputHandler::DeleteSurroundingText ( const Selection rSelection)

◆ EnterHandler()

void ScInputHandler::EnterHandler ( ScEnterMode  nBlockMode = ScEnterMode::NORMAL,
bool  bBeforeSavingInLOK = false 
)

Definition at line 3069 of file inputhdl.cxx.

References aAutoSearch, ScTabView::ActiveGrabFocus(), aCursorPos, ScViewFunc::AdjustBlockHeight(), aFormText, ScViewFunc::ApplySelectionPattern(), bFormulaMode, bInEnterHandler, bInOwnChange, BLOCK, bModified, bProtected, bSelIsRef, ScAddress::Col(), EditView::CompleteAutoCorrect(), SfxViewShell::Current(), ScDBFunc::DataPilotInput(), DeleteRangeFinder(), EE_CHAR_END(), EE_CHAR_ESCAPEMENT(), EE_CHAR_KERNING(), EE_CHAR_PAIRKERNING(), EE_CHAR_START(), EE_CHAR_XMLATTRIBS(), EE_FEATURE_FIELD(), EE_FEATURE_NOTCONV(), eMode, SfxBindings::Execute(), SvxAutoCorrCfg::Get(), SvxAutoCorrCfg::GetAutoCorrect(), SfxViewFrame::GetBindings(), ScViewData::GetDocument(), LocaleDataWrapper::getDoubleQuotationMarkEnd(), LocaleDataWrapper::getDoubleQuotationMarkStart(), ScDocument::GetDPAtCursor(), GetEditText(), SvxAutoCorrect::GetEndDoubleQuote(), SvxAutoCorrect::GetEndSingleQuote(), ScDocument::GetFormatTable(), SfxViewShell::GetFrameWeld(), ScTabView::GetFrameWin(), SfxItemSet::GetItemState(), ScGlobal::getLocaleData(), ScPatternAttr::GetNumberFormat(), ScDocument::GetPattern(), ScDocument::GetPool(), LocaleDataWrapper::getQuotationMarkEnd(), LocaleDataWrapper::getQuotationMarkStart(), SvxAutoCorrect::GetStartDoubleQuote(), SvxAutoCorrect::GetStartSingleQuote(), ScDocument::GetValidationEntry(), ScViewData::GetView(), ScTabView::GetViewData(), SfxViewShell::GetViewFrame(), HideTip(), HideTipBelow(), ImplCreateEditEngine(), comphelper::LibreOfficeKit::isActive(), SvNumberFormatter::IsNumberFormat(), lcl_IsNumber(), lcl_RemoveTabs(), lcl_SelectionToEnd(), MATRIX, mbDocumentDisposing, mbEditingExistingContent, mbPartialPrefix, miAutoPosColumn, mpEditEngine, nFormSelEnd, nFormSelStart, nId, nValidation, pActiveViewSh, pColumnData, pData, pEditDefaults, pInputWin, pLastPattern, pLastState, pObject, pRefViewSh, pTableView, pTopView, RemoveAdjust(), ResetAutoPar(), ScAddress::Row(), SC_INPUT_NONE, SC_MOD, SC_VALID_CUSTOM, ScInputStatusItem::SetMisspellRanges(), ScTabView::SetTabNo(), SfxGetpApp(), ShowRefFrame(), StopInputWinEngine(), ScTabView::StopMarking(), ScAddress::Tab(), and UpdateAutoCorrFlag().

Referenced by ScModule::ActivateInputWindow(), ScTabView::ActivateView(), ScGridWindow::Command(), IMPL_LINK(), ScModule::InputEnterHandler(), KeyInput(), NotifyChange(), ScTabViewShell::PrepareClose(), ViewShellGone(), and ~ScInputHandler().

◆ ForgetLastPattern()

void ScInputHandler::ForgetLastPattern ( )

◆ FormulaPreview()

void ScInputHandler::FormulaPreview ( )

◆ GetActiveView()

EditView * ScInputHandler::GetActiveView ( )

◆ GetColData()

void ScInputHandler::GetColData ( )
private

◆ GetCursorPos()

const ScAddress & ScInputHandler::GetCursorPos ( ) const
inline

Definition at line 194 of file inputhdl.hxx.

References aCursorPos.

Referenced by ScDocShell::DoRecalc(), and ScDocFunc::NotifyInputHandler().

◆ GetEditString()

const OUString & ScInputHandler::GetEditString ( )

◆ GetFormString()

const OUString & ScInputHandler::GetFormString ( ) const
inline

Definition at line 192 of file inputhdl.hxx.

References aFormText.

Referenced by ScFormulaDlg::ScFormulaDlg(), and ScInputWindow::ScInputWindow().

◆ GetFormulaData()

void ScInputHandler::GetFormulaData ( )
private

◆ GetFuncEditView()

EditView * ScInputHandler::GetFuncEditView ( )
private

◆ GetFuncName()

bool ScInputHandler::GetFuncName ( OUString &  aStart,
OUString &  aResult 
)
private

Definition at line 1382 of file inputhdl.cxx.

References ScGlobal::getCharClass(), i, maFormulaChar, nPos, p, and CharClass::uppercase().

Referenced by UseFormulaData().

◆ GetInputWindow()

ScInputWindow * ScInputHandler::GetInputWindow ( )
inline

◆ GetRangeFindList()

ScRangeFindList * ScInputHandler::GetRangeFindList ( )
inline

◆ GetReferenceMark()

ReferenceMark ScInputHandler::GetReferenceMark ( const ScViewData rViewData,
ScDocShell pDocSh,
tools::Long  nX1,
tools::Long  nX2,
tools::Long  nY1,
tools::Long  nY2,
tools::Long  nTab,
const Color rColor 
)
static

◆ GetSelIsRef()

bool ScInputHandler::GetSelIsRef ( ) const
inline

Definition at line 248 of file inputhdl.hxx.

References bSelIsRef.

Referenced by ScTabViewShell::IsRefInputMode().

◆ GetSurroundingText()

OUString ScInputHandler::GetSurroundingText ( )

◆ GetSurroundingTextSelection()

Selection ScInputHandler::GetSurroundingTextSelection ( )

◆ GetTableView()

EditView * ScInputHandler::GetTableView ( )
inline

◆ GetTextAndFields()

bool ScInputHandler::GetTextAndFields ( ScEditEngineDefaulter rDestEngine)

◆ GetTextSize()

Size ScInputHandler::GetTextSize ( )

Definition at line 4494 of file inputhdl.cxx.

References mpEditEngine.

Referenced by ScViewFunc::ModifyCellSize().

◆ GetTopView()

EditView * ScInputHandler::GetTopView ( )
inline

◆ HasPartialComplete()

bool ScInputHandler::HasPartialComplete ( ) const
inline

Returns true if there is a partial autocomplete suggestion.

Definition at line 272 of file inputhdl.hxx.

References mbPartialPrefix.

Referenced by ScTabViewShell::TabKeyInput().

◆ HideTip()

void ScInputHandler::HideTip ( )

◆ HideTipBelow()

void ScInputHandler::HideTipBelow ( )

◆ ImplCreateEditEngine()

void ScInputHandler::ImplCreateEditEngine ( )
private

◆ InitRangeFinder()

void ScInputHandler::InitRangeFinder ( const OUString &  rFormula)

◆ InputChanged()

void ScInputHandler::InputChanged ( const EditView pView,
bool  bFromNotify 
)

◆ InputCommand()

void ScInputHandler::InputCommand ( const CommandEvent rCEvt)

◆ InputGetSelection()

void ScInputHandler::InputGetSelection ( sal_Int32 &  rStart,
sal_Int32 &  rEnd 
)

Methods for FunctionAutoPilot: InputGetSelection, InputSetSelection, InputReplaceSelection, InputGetFormulaStr.

Definition at line 4542 of file inputhdl.cxx.

References nFormSelEnd, and nFormSelStart.

Referenced by ScModule::InputGetSelection(), and ScFormulaDlg::ScFormulaDlg().

◆ InputReplaceSelection()

void ScInputHandler::InputReplaceSelection ( std::u16string_view  aStr)

◆ InputSelection()

void ScInputHandler::InputSelection ( const EditView pView)

◆ InputSetSelection()

void ScInputHandler::InputSetSelection ( sal_Int32  nStart,
sal_Int32  nEnd 
)

◆ InputTurnOffWinEngine()

void ScInputHandler::InputTurnOffWinEngine ( )

Definition at line 4625 of file inputhdl.cxx.

References bInOwnChange, eMode, SC_INPUT_NONE, and StopInputWinEngine().

Referenced by ScModule::InputTurnOffWinEngine().

◆ InsertFunction()

void ScInputHandler::InsertFunction ( const OUString &  rFuncName,
bool  bAddPar = true 
)

◆ InvalidateAttribs()

void ScInputHandler::InvalidateAttribs ( )
staticprivate

◆ IsEditMode()

bool ScInputHandler::IsEditMode ( ) const
inline

◆ IsFormulaMode()

bool ScInputHandler::IsFormulaMode ( ) const
inline

◆ IsInEnterHandler()

bool ScInputHandler::IsInEnterHandler ( ) const
inline

Definition at line 268 of file inputhdl.hxx.

References bInEnterHandler.

Referenced by ScCellShell::Execute().

◆ IsInOwnChange()

bool ScInputHandler::IsInOwnChange ( ) const
inline

Definition at line 269 of file inputhdl.hxx.

References bInOwnChange.

Referenced by IMPL_LINK_NOARG().

◆ IsInputMode()

bool ScInputHandler::IsInputMode ( ) const
inline

◆ IsModalMode()

bool ScInputHandler::IsModalMode ( const SfxObjectShell pDocSh)

◆ IsTopMode()

bool ScInputHandler::IsTopMode ( ) const
inline

◆ KeyInput()

bool ScInputHandler::KeyInput ( const KeyEvent rKEvt,
bool  bStartEdit 
)

in DataChanged?

Definition at line 3738 of file inputhdl.cxx.

References aCursorPos, aManualTip, bFormulaMode, BLOCK, bProtected, bSelIsRef, bUseTab, CancelHandler(), SfxViewFrame::Current(), CursorAtClosingPar(), DataChanged(), DataChanging(), EditView::DeleteSelected(), EditEngine::DoesKeyChangeText(), EditEngine::DoesKeyMoveCursor(), eMode, EnterHandler(), ScTabView::FindNextUnprot(), SfxViewFrame::GetBindings(), KeyEvent::GetCharCode(), vcl::KeyCode::GetCode(), EditView::GetControlWord(), ScViewData::GetDocShell(), EditView::GetEditEngine(), ScTabView::GetFrameWin(), vcl::KeyCode::GetFunction(), KeyEvent::GetKeyCode(), vcl::KeyCode::GetModifier(), ScTabView::GetViewData(), HideTip(), HideTipBelow(), SfxBindings::Invalidate(), InvalidateAttribs(), comphelper::LibreOfficeKit::isActive(), vcl::KeyCode::IsMod1(), vcl::KeyCode::IsMod2(), SfxObjectShell::IsModified(), vcl::KeyCode::IsShift(), KEY_BACKSPACE, KEY_DELETE, KEY_ESCAPE, KEY_F2, KEY_INSERT, KEY_RETURN, KEY_RIGHT, KEY_TAB, MATRIX, mbPartialPrefix, miAutoPosColumn, miAutoPosFormula, ScTabView::MoveCursorEnter(), mpEditEngine, nAutoPar, nCellPercentFormatDecSep, NextAutoEntry(), NextFormulaEntry(), NORMAL, nTipVisible, nTipVisibleSec, pActiveViewSh, PasteFunctionData(), PasteManualTip(), pColumnData, pFormulaData, pInputWin, ScDocShell::PostEditView(), EditView::PostKeyEvent(), pTableView, pTopView, RemoveSelection(), ResetAutoPar(), SC_INPUT_NONE, SC_INPUT_TABLE, SC_INPUT_TOP, SC_INPUT_TYPE, SC_MOD, EditView::SetControlWord(), ScDocShell::SetModified(), EditView::SetSelection(), EditEngine::SetText(), ShowTipCursor(), SkipClosingPar(), SyncViews(), UpdateActiveView(), UseColData(), and UseFormulaData().

Referenced by ScModule::InputKeyEvent().

◆ LOKPasteFunctionData()

void ScInputHandler::LOKPasteFunctionData ( const OUString &  rFunctionName)

◆ LOKSendFormulabarUpdate()

void ScInputHandler::LOKSendFormulabarUpdate ( EditView pEditView,
const SfxViewShell pActiveViewSh,
const OUString &  rText,
const ESelection rSelection 
)
static

◆ MergeLanguageAttributes()

void ScInputHandler::MergeLanguageAttributes ( ScEditEngineDefaulter rDestEngine) const

◆ NextAutoEntry()

void ScInputHandler::NextAutoEntry ( bool  bBack)
private

◆ NextFormulaEntry()

void ScInputHandler::NextFormulaEntry ( bool  bBack)
private

◆ NotifyChange()

void ScInputHandler::NotifyChange ( const ScInputHdlState pState,
bool  bForce = false,
ScTabViewShell pSourceSh = nullptr,
bool  bStopEditing = true 
)

Before EditEngine gets eventually created (so it gets the right pools)

To begin with remember as a string

Find by Timer?

Definition at line 4172 of file inputhdl.cxx.

References aCurrentText, aCursorPos, aName, applyStartToEndFlags(), bCommandErrorShown, bFormulaMode, bInEnterHandler, bInOwnChange, bModified, bProtected, bSelIsRef, bTextValid, COL_ABS, formula::FormulaGrammar::CONV_XL_R1C1, ScPosWnd::createLocalRangeName(), SfxViewShell::Current(), ScAddress::Details::eConv, EE_PARA_NOT_FOUND, EnterHandler(), ScRange::Format(), ScAddress::Format(), ScViewData::GetDocShell(), ScDocShell::GetDocument(), ScViewData::GetDocument(), ScInputHdlState::GetEditData(), GetEditText(), ScInputHdlState::GetEndPos(), ScTabViewShell::GetFormEditData(), ScEditUtil::GetMultilineString(), ScDocument::GetName(), ScInputHdlState::GetPos(), EditView::GetSelection(), ScInputHdlState::GetStartPos(), ScInputHdlState::GetString(), ScTabView::GetViewData(), SfxShell::GetViewShell(), HideTip(), HideTipBelow(), ImplCreateEditEngine(), comphelper::LibreOfficeKit::isActive(), ScModule::IsFormulaMode(), ScModule::IsRefDialogOpen(), lcl_RemoveTabs(), SfxViewShell::libreOfficeKitViewCallback(), LOKSendFormulabarUpdate(), mpEditEngine, ESelection::nEndPara, ESelection::nStartPara, pActiveViewSh, pData, pDelayTimer, pInputWin, pLastState, pTableView, pTopView, ROW_ABS, SC_MOD, SfxGetpApp(), ScAddress::Tab(), UpdateActiveView(), VALID, and ZERO.

Referenced by ScPreviewShell::Activate(), CancelHandler(), ScTabViewShell::Deactivate(), ScRefHandler::EnterRefMode(), ForgetLastPattern(), ScFormulaDlg::notifyChange(), ScFormulaDlg::ScFormulaDlg(), and ScTabViewShell::UpdateInputHandler().

◆ operator=()

const ScInputHandler & ScInputHandler::operator= ( const ScInputHandler )
delete

◆ PasteFunctionData()

void ScInputHandler::PasteFunctionData ( )
private

◆ PasteManualTip()

void ScInputHandler::PasteManualTip ( )
private

◆ RemoveAdjust()

void ScInputHandler::RemoveAdjust ( )
private

Definition at line 2421 of file inputhdl.cxx.

References mpEditEngine.

Referenced by EnterHandler().

◆ RemoveRangeFinder()

void ScInputHandler::RemoveRangeFinder ( )
private

◆ RemoveSelection()

void ScInputHandler::RemoveSelection ( )
private

◆ ResetAutoPar()

void ScInputHandler::ResetAutoPar ( )
private

Definition at line 1982 of file inputhdl.cxx.

References nAutoPar.

Referenced by CancelHandler(), EnterHandler(), InputSelection(), and KeyInput().

◆ ResetDelayTimer()

void ScInputHandler::ResetDelayTimer ( )

Definition at line 4395 of file inputhdl.cxx.

References pDelayTimer, and pInputWin.

Referenced by ScTabViewShell::Activate(), and ScFormulaReferenceHelper::dispose().

◆ SendReferenceMarks()

void ScInputHandler::SendReferenceMarks ( const SfxViewShell pViewShell,
const std::vector< ReferenceMark > &  rReferenceMarks 
)
static

◆ SetDocumentDisposing()

void ScInputHandler::SetDocumentDisposing ( bool  b)

Definition at line 617 of file inputhdl.cxx.

References mbDocumentDisposing.

◆ SetInputWindow()

void ScInputHandler::SetInputWindow ( ScInputWindow pNew)

◆ SetMode()

void ScInputHandler::SetMode ( ScInputMode  eNewMode,
const OUString *  pInitText = nullptr,
ScEditEngineDefaulter pTopEngine = nullptr 
)

◆ SetModified()

void ScInputHandler::SetModified ( )
inline

◆ SetReference()

void ScInputHandler::SetReference ( const ScRange rRef,
const ScDocument rDoc 
)

◆ SetRefScale()

void ScInputHandler::SetRefScale ( const Fraction rX,
const Fraction rY 
)

Definition at line 883 of file inputhdl.cxx.

References aScaleX, aScaleY, and mpEditEngine.

Referenced by ScTabViewShell::Activate(), and ScTabView::ZoomChanged().

◆ SetRefViewShell()

void ScInputHandler::SetRefViewShell ( ScTabViewShell pRefVsh)
inline

Definition at line 218 of file inputhdl.hxx.

References pRefViewSh.

Referenced by ScFormulaDlg::fill().

◆ SetSelIsRef()

void ScInputHandler::SetSelIsRef ( bool  bSet)
inline

Definition at line 249 of file inputhdl.hxx.

References bSelIsRef.

Referenced by ScEditShell::Execute().

◆ ShowArgumentsTip()

void ScInputHandler::ShowArgumentsTip ( OUString &  rSelText)
private

◆ ShowFuncList()

void ScInputHandler::ShowFuncList ( const ::std::vector< OUString > &  rFuncStrVec)

◆ ShowRefFrame()

void ScInputHandler::ShowRefFrame ( )

◆ ShowTip()

void ScInputHandler::ShowTip ( const OUString &  rText)

◆ ShowTipBelow()

void ScInputHandler::ShowTipBelow ( const OUString &  rText)

◆ ShowTipCursor()

void ScInputHandler::ShowTipCursor ( )

◆ SkipClosingPar()

void ScInputHandler::SkipClosingPar ( )
private

◆ StartsLikeFormula()

bool ScInputHandler::StartsLikeFormula ( std::u16string_view  rStr) const
private

Definition at line 2822 of file inputhdl.cxx.

References mbEditingExistingContent.

Referenced by StartTable(), and UpdateFormulaMode().

◆ StartTable()

bool ScInputHandler::StartTable ( sal_Unicode  cTyped,
bool  bFromCommand,
bool  bInputActivated,
ScEditEngineDefaulter pTopEngine 
)
private
Parameters
cTypedtyped character. If 0, look at existing document content for text or number.
bInputActivatedtrue if the cell input mode is activated (via F2), false otherwise.
pTopEnginetop window input line EditEngine. If not nullptr then some default attributes are merged to it from the table EditEngine.
Returns
true if the new edit mode has been started.

The SetDefaults is now (since MUST/src602 EditEngine changes) implemented as a SetParaAttribs. Any problems?

Definition at line 2452 of file inputhdl.cxx.

References aCurrentText, aCursorPos, aStr, ATTR_BACKGROUND(), ATTR_HOR_JUSTIFY(), ATTR_LINEBREAK(), ATTR_VALIDDATA(), ATTR_VALUE_FORMAT(), bCommandErrorShown, bCreatingFuncView, bLastIsSymbol, bModified, bProtected, bTextValid, ScAddress::Col(), svtools::DOCCOLOR, eAttrAdjust, eMode, ScTabView::ErrorMessage(), ScPatternAttr::FillEditItemSet(), ScTabView::GetActiveWin(), GetColData(), ScModule::GetColorConfig(), svtools::ColorConfig::GetColorValue(), ScViewData::GetDocShell(), ScDocShell::GetDocument(), GetEditText(), SvNumberFormatter::GetFormatDecimalSep(), ScDocument::GetFormatTable(), StyleSettings::GetHighContrastMode(), ScPatternAttr::GetItem(), SfxItemSet::GetItemIfSet(), ScPatternAttr::GetItemSet(), ScViewData::GetMarkData(), ScEditableTester::GetMessageId(), ScDocument::GetPattern(), Application::GetSettings(), AllSettings::GetStyleSettings(), SvNumberFormatter::GetType(), ScTabView::GetViewData(), vcl::Window::GrabFocus(), ImplCreateEditEngine(), InitRangeFinder(), ScEditableTester::IsEditable(), ScMarkData::IsMarked(), ScMarkData::IsMultiMarked(), SfxObjectShell::IsReadOnly(), ScPatternAttr::IsSymbolFont(), Color::IsTransparent(), mbEditingExistingContent, MergeLanguageAttributes(), mpEditEngine, nCellPercentFormatDecSep, svtools::ColorConfigValue::nColor, nValidation, pActiveViewSh, pEditDefaults, pInputWin, pLastPattern, ScAddress::Row(), SC_INPUT_NONE, SC_MOD, StartsLikeFormula(), StopInputWinEngine(), SyncViews(), ScAddress::Tab(), ScEditableTester::TestSelectedBlock(), ScEditableTester::TestSelection(), UpdateActiveView(), UpdateAdjust(), UpdateFormulaMode(), UpdateSpellSettings(), and ScDocument::ValidCol().

Referenced by DataChanging(), and SetMode().

◆ StopInputWinEngine()

void ScInputHandler::StopInputWinEngine ( bool  bAll)

◆ SyncViews()

void ScInputHandler::SyncViews ( const EditView pSourceView = nullptr)
private

◆ TakesReturn()

bool ScInputHandler::TakesReturn ( ) const
inline

Definition at line 244 of file inputhdl.hxx.

References nTipVisible.

Referenced by ScTabViewShell::TabKeyInput().

◆ UpdateActiveView()

void ScInputHandler::UpdateActiveView ( )
private

◆ UpdateAdjust()

void ScInputHandler::UpdateAdjust ( sal_Unicode  cTyped)
private

◆ UpdateAutoCorrFlag()

void ScInputHandler::UpdateAutoCorrFlag ( )
private

Definition at line 949 of file inputhdl.cxx.

References bFormulaMode, bLastIsSymbol, and mpEditEngine.

Referenced by CancelHandler(), EnterHandler(), UpdateFormulaMode(), and ViewShellGone().

◆ UpdateCellAdjust()

void ScInputHandler::UpdateCellAdjust ( SvxCellHorJustify  eJust)

Definition at line 4389 of file inputhdl.cxx.

References eAttrAdjust, and UpdateAdjust().

◆ UpdateFormulaMode()

void ScInputHandler::UpdateFormulaMode ( )
private

◆ UpdateLokReferenceMarks()

void ScInputHandler::UpdateLokReferenceMarks ( )

◆ UpdateParenthesis()

void ScInputHandler::UpdateParenthesis ( )
private

◆ UpdateRange()

void ScInputHandler::UpdateRange ( sal_uInt16  nIndex,
const ScRange rNew 
)

◆ UpdateRefDevice()

void ScInputHandler::UpdateRefDevice ( )

◆ UpdateSpellSettings()

void ScInputHandler::UpdateSpellSettings ( bool  bFromStartTab = false)

◆ UseColData()

void ScInputHandler::UseColData ( )
private

◆ UseFormulaData()

void ScInputHandler::UseFormulaData ( )
private

◆ ViewShellGone()

void ScInputHandler::ViewShellGone ( const ScTabViewShell pViewSh)

Member Data Documentation

◆ aAutoSearch

OUString ScInputHandler::aAutoSearch
private

◆ aCurrentText

OUString ScInputHandler::aCurrentText
private

Definition at line 80 of file inputhdl.hxx.

Referenced by GetEditString(), InputChanged(), NotifyChange(), and StartTable().

◆ aCursorPos

ScAddress ScInputHandler::aCursorPos
private

◆ aFormText

OUString ScInputHandler::aFormText
private

Definition at line 82 of file inputhdl.hxx.

Referenced by CancelHandler(), EnterHandler(), GetFormString(), and InputReplaceSelection().

◆ aManualTip

OUString ScInputHandler::aManualTip
private

Definition at line 77 of file inputhdl.hxx.

Referenced by FormulaPreview(), HideTip(), HideTipBelow(), KeyInput(), and PasteManualTip().

◆ aScaleX

Fraction ScInputHandler::aScaleX
private

Definition at line 114 of file inputhdl.hxx.

Referenced by SetRefScale(), and UpdateRefDevice().

◆ aScaleY

Fraction ScInputHandler::aScaleY
private

Definition at line 115 of file inputhdl.hxx.

Referenced by SetRefScale(), and UpdateRefDevice().

◆ bCommandErrorShown

bool ScInputHandler::bCommandErrorShown
private

Definition at line 101 of file inputhdl.hxx.

Referenced by NotifyChange(), and StartTable().

◆ bCreatingFuncView

bool ScInputHandler::bCreatingFuncView
private

Definition at line 99 of file inputhdl.hxx.

Referenced by GetFuncEditView(), and StartTable().

◆ bFormulaMode

bool ScInputHandler::bFormulaMode
private

◆ bInEnterHandler

bool ScInputHandler::bInEnterHandler
private

Definition at line 100 of file inputhdl.hxx.

Referenced by EnterHandler(), IsInEnterHandler(), and NotifyChange().

◆ bInOwnChange

bool ScInputHandler::bInOwnChange
private

◆ bInRangeUpdate

bool ScInputHandler::bInRangeUpdate
private

Definition at line 97 of file inputhdl.hxx.

Referenced by DataChanged(), and UpdateRange().

◆ bLastIsSymbol

bool ScInputHandler::bLastIsSymbol
private

Definition at line 105 of file inputhdl.hxx.

Referenced by StartTable(), and UpdateAutoCorrFlag().

◆ bModified

bool ScInputHandler::bModified
private

◆ bParenthesisShown

bool ScInputHandler::bParenthesisShown
private

Definition at line 98 of file inputhdl.hxx.

Referenced by UpdateParenthesis().

◆ bProtected

bool ScInputHandler::bProtected
private

◆ bSelIsRef

bool ScInputHandler::bSelIsRef
private

◆ bTextValid

bool ScInputHandler::bTextValid
private

Definition at line 93 of file inputhdl.hxx.

Referenced by DataChanged(), GetEditString(), InputChanged(), NotifyChange(), and StartTable().

◆ bUseTab

bool ScInputHandler::bUseTab
private

Definition at line 92 of file inputhdl.hxx.

Referenced by KeyInput(), and UseColData().

◆ eAttrAdjust

SvxCellHorJustify ScInputHandler::eAttrAdjust
private

Definition at line 112 of file inputhdl.hxx.

Referenced by StartTable(), UpdateAdjust(), and UpdateCellAdjust().

◆ eMode

ScInputMode ScInputHandler::eMode
private

◆ maFormulaChar

std::set<sal_Unicode> ScInputHandler::maFormulaChar
private

Definition at line 71 of file inputhdl.hxx.

Referenced by GetFormulaData(), and GetFuncName().

◆ mbDocumentDisposing

bool ScInputHandler::mbDocumentDisposing
private

Definition at line 106 of file inputhdl.hxx.

Referenced by EnterHandler(), SetDocumentDisposing(), and ~ScInputHandler().

◆ mbEditingExistingContent

bool ScInputHandler::mbEditingExistingContent
private

Definition at line 109 of file inputhdl.hxx.

Referenced by CancelHandler(), EnterHandler(), StartsLikeFormula(), and StartTable().

◆ mbPartialPrefix

bool ScInputHandler::mbPartialPrefix
private

To indicate if there is a partial prefix completion.

Definition at line 108 of file inputhdl.hxx.

Referenced by CancelHandler(), EnterHandler(), HasPartialComplete(), KeyInput(), NextAutoEntry(), and UseColData().

◆ miAutoPosColumn

ScTypedCaseStrSet::const_iterator ScInputHandler::miAutoPosColumn
private

◆ miAutoPosFormula

ScTypedCaseStrSet::const_iterator ScInputHandler::miAutoPosFormula
private

◆ mpEditEngine

std::unique_ptr<ScEditEngineDefaulter> ScInputHandler::mpEditEngine
private

◆ nAutoPar

sal_uInt16 ScInputHandler::nAutoPar
private

Definition at line 88 of file inputhdl.hxx.

Referenced by AutoParAdded(), KeyInput(), ResetAutoPar(), and SkipClosingPar().

◆ nCellPercentFormatDecSep

sal_Unicode ScInputHandler::nCellPercentFormatDecSep
private

Definition at line 86 of file inputhdl.hxx.

Referenced by KeyInput(), and StartTable().

◆ nFormSelEnd

sal_Int32 ScInputHandler::nFormSelEnd
private

◆ nFormSelStart

sal_Int32 ScInputHandler::nFormSelStart
private

◆ nTipVisible

void* ScInputHandler::nTipVisible
private

Definition at line 74 of file inputhdl.hxx.

Referenced by HideTip(), KeyInput(), ShowTip(), and TakesReturn().

◆ nTipVisibleSec

void* ScInputHandler::nTipVisibleSec
private

Definition at line 76 of file inputhdl.hxx.

Referenced by HideTipBelow(), KeyInput(), and ShowTipBelow().

◆ nValidation

sal_uLong ScInputHandler::nValidation
private

Definition at line 111 of file inputhdl.hxx.

Referenced by EnterHandler(), and StartTable().

◆ pActiveViewSh

ScTabViewShell* ScInputHandler::pActiveViewSh
private

◆ pColumnData

std::unique_ptr<ScTypedCaseStrSet> ScInputHandler::pColumnData
private

◆ pDelayTimer

std::unique_ptr<Timer> ScInputHandler::pDelayTimer
private

Definition at line 126 of file inputhdl.hxx.

Referenced by NotifyChange(), ResetDelayTimer(), and ScInputHandler().

◆ pEditDefaults

std::unique_ptr<SfxItemSet> ScInputHandler::pEditDefaults
private

Definition at line 122 of file inputhdl.hxx.

Referenced by EnterHandler(), ImplCreateEditEngine(), StartTable(), and UpdateAdjust().

◆ pFormulaData

std::unique_ptr<ScTypedCaseStrSet> ScInputHandler::pFormulaData
private

◆ pFormulaDataPara

std::unique_ptr<ScTypedCaseStrSet> ScInputHandler::pFormulaDataPara
private

Definition at line 68 of file inputhdl.hxx.

Referenced by GetFormulaData(), ShowArgumentsTip(), and ShowTipCursor().

◆ pInputWin

VclPtr<ScInputWindow> ScInputHandler::pInputWin
private

◆ pLastPattern

const ScPatternAttr* ScInputHandler::pLastPattern
private

◆ pLastState

std::unique_ptr<ScInputHdlState> ScInputHandler::pLastState
private

◆ pRangeFindList

std::unique_ptr<ScRangeFindList> ScInputHandler::pRangeFindList
private

◆ pRefViewSh

ScTabViewShell* ScInputHandler::pRefViewSh
private

◆ pTableView

EditView* ScInputHandler::pTableView
private

◆ pTipVisibleParent

VclPtr<vcl::Window> ScInputHandler::pTipVisibleParent
private

Definition at line 73 of file inputhdl.hxx.

Referenced by HideTip(), and ShowTip().

◆ pTipVisibleSecParent

VclPtr<vcl::Window> ScInputHandler::pTipVisibleSecParent
private

Definition at line 75 of file inputhdl.hxx.

Referenced by HideTipBelow(), and ShowTipBelow().

◆ pTopView

EditView* ScInputHandler::pTopView
private

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