diff options
Diffstat (limited to 'sc/source/ui/inc/inputhdl.hxx')
-rw-r--r-- | sc/source/ui/inc/inputhdl.hxx | 304 |
1 files changed, 0 insertions, 304 deletions
diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx deleted file mode 100644 index 01ae98cbd..000000000 --- a/sc/source/ui/inc/inputhdl.hxx +++ /dev/null @@ -1,304 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_INPUTHDL_HXX -#define SC_INPUTHDL_HXX - -#include "global.hxx" -#include "address.hxx" -#include <tools/fract.hxx> -#include <tools/gen.hxx> -#include <editeng/svxenum.hxx> - -class ScDocument; -class ScTabView; -class ScTabViewShell; -class ScInputWindow; -class ScPatternAttr; -class EditEngine; -class ScEditEngineDefaulter; -class EditView; -class EditTextObject; -class ScInputHdlState; -class TypedScStrCollection; -class ScRangeFindList; -class Timer; -class KeyEvent; -class CommandEvent; - -struct ESelection; - -//======================================================================== -// ScInputHandler -//======================================================================== - -class ScInputHandler -{ -private: - ScInputWindow* pInputWin; - - ScEditEngineDefaulter* pEngine; // editierte Daten in der Tabelle - EditView* pTableView; // aktive EditView dazu - EditView* pTopView; // EditView in der Eingabezeile - - TypedScStrCollection* pColumnData; - TypedScStrCollection* pFormulaData; - TypedScStrCollection* pFormulaDataPara; - Window* pTipVisibleParent; - sal_uLong nTipVisible; - Window* pTipVisibleSecParent; - sal_uLong nTipVisibleSec; - String aManualTip; - String aAutoSearch; - sal_uInt16 nAutoPos; - sal_Bool bUseTab; // Blaettern moeglich - - sal_Bool bTextValid; // Text noch nicht in Edit-Engine - String aCurrentText; - - String aFormText; // fuer Funktions-Autopilot - xub_StrLen nFormSelStart; // Selektion fuer Funktions-Autopilot - xub_StrLen nFormSelEnd; - - sal_uInt16 nAutoPar; // autom.parentheses than can be overwritten - - ScAddress aCursorPos; - ScInputMode eMode; - sal_Bool bModified; - sal_Bool bSelIsRef; - sal_Bool bFormulaMode; - sal_Bool bInRangeUpdate; - sal_Bool bParenthesisShown; - sal_Bool bCreatingFuncView; - sal_Bool bInEnterHandler; - sal_Bool bCommandErrorShown; - sal_Bool bInOwnChange; - - sal_Bool bProtected; - sal_Bool bCellHasPercentFormat; - sal_uLong nValidation; - SvxCellHorJustify eAttrAdjust; - - Fraction aScaleX; // fuer Ref-MapMode - Fraction aScaleY; - - ScTabViewShell* pRefViewSh; - ScTabViewShell* pActiveViewSh; - - const ScPatternAttr* pLastPattern; - SfxItemSet* pEditDefaults; - sal_Bool bLastIsSymbol; - - ScInputHdlState* pLastState; - Timer* pDelayTimer; - - ScRangeFindList* pRangeFindList; - - static sal_Bool bAutoComplete; // aus App-Optionen - static sal_Bool bOptLoaded; - -#ifdef _INPUTHDL_CXX -private: - void UpdateActiveView(); - void SyncViews( EditView* pSourceView = NULL ); - /** - * @param cTyped typed character. If 0, look at existing document content - * for text or number. - * @param bInputActivated true if the cell input mode is activated (via - * F2), false otherwise. - * @return true if the new edit mode has been started. - */ - bool StartTable( sal_Unicode cTyped, bool bFromCommand, bool bInputActivated ); - void RemoveSelection(); - void UpdateFormulaMode(); - void InvalidateAttribs(); - void ImplCreateEditEngine(); - DECL_LINK( DelayTimer, Timer* ); - void GetColData(); - void UseColData(); - void NextAutoEntry( sal_Bool bBack ); - void UpdateAdjust( sal_Unicode cTyped ); - void GetFormulaData(); - void UseFormulaData(); - void NextFormulaEntry( sal_Bool bBack ); - void PasteFunctionData(); - void PasteManualTip(); - EditView* GetFuncEditView(); - void RemoveAdjust(); - void RemoveRangeFinder(); - void DeleteRangeFinder(); - void UpdateParenthesis(); - void UpdateAutoCorrFlag(); - void ResetAutoPar(); - void AutoParAdded(); - sal_Bool CursorAtClosingPar(); - void SkipClosingPar(); - DECL_LINK( ModifyHdl, void* ); - DECL_LINK( ShowHideTipVisibleParentListener, VclWindowEvent* ); - DECL_LINK( ShowHideTipVisibleSecParentListener, VclWindowEvent* ); -#endif - -public: - ScInputHandler(); - virtual ~ScInputHandler(); - - void SetMode( ScInputMode eNewMode ); - sal_Bool IsInputMode() const { return (eMode != SC_INPUT_NONE); } - sal_Bool IsEditMode() const { return (eMode != SC_INPUT_NONE && - eMode != SC_INPUT_TYPE); } - sal_Bool IsTopMode() const { return (eMode == SC_INPUT_TOP); } - - const String& GetEditString(); - const String& GetFormString() const { return aFormText; } - - const ScAddress& GetCursorPos() const { return aCursorPos; } - - sal_Bool GetTextAndFields( ScEditEngineDefaulter& rDestEngine ); - - sal_Bool KeyInput( const KeyEvent& rKEvt, sal_Bool bStartEdit = false ); - void EnterHandler( sal_uInt8 nBlockMode = 0 ); - void CancelHandler(); - void SetReference( const ScRange& rRef, ScDocument* pDoc ); - void AddRefEntry(); - - sal_Bool InputCommand( const CommandEvent& rCEvt, sal_Bool bForce ); - - void InsertFunction( const String& rFuncName, sal_Bool bAddPar = sal_True ); - void ClearText(); - - void InputSelection( EditView* pView ); - void InputChanged( EditView* pView, sal_Bool bFromNotify = false ); - - void ViewShellGone(ScTabViewShell* pViewSh); - void SetRefViewShell(ScTabViewShell* pRefVsh) {pRefViewSh=pRefVsh;} - - void NotifyChange( const ScInputHdlState* pState, sal_Bool bForce = false, - ScTabViewShell* pSourceSh = NULL, - sal_Bool bStopEditing = sal_True); - void UpdateCellAdjust( SvxCellHorJustify eJust ); - - void ResetDelayTimer(); //BugId 54702 - - void HideTip(); - void HideTipBelow(); - void ShowTipCursor(); - void ShowTip( const String& rText ); // am Cursor - void ShowTipBelow( const String& rText ); - - void SetRefScale( const Fraction& rX, const Fraction& rY ); - void UpdateRefDevice(); - - EditView* GetActiveView(); - EditView* GetTableView() { return pTableView; } - EditView* GetTopView() { return pTopView; } - - sal_Bool DataChanging( sal_Unicode cTyped = 0, sal_Bool bFromCommand = false ); - void DataChanged( sal_Bool bFromTopNotify = false ); - - sal_Bool TakesReturn() const { return ( nTipVisible != 0 ); } - - void SetModified() { bModified = sal_True; } - - sal_Bool GetSelIsRef() const { return bSelIsRef; } - void SetSelIsRef(sal_Bool bSet) { bSelIsRef = bSet; } - - void ShowRefFrame(); - - ScRangeFindList* GetRangeFindList() { return pRangeFindList; } - - void UpdateRange( sal_uInt16 nIndex, const ScRange& rNew ); - - // Kommunikation mit Funktionsautopilot - void InputGetSelection ( xub_StrLen& rStart, xub_StrLen& rEnd ); - void InputSetSelection ( xub_StrLen nStart, xub_StrLen nEnd ); - void InputReplaceSelection ( const String& rStr ); - String InputGetFormulaStr (); - - sal_Bool IsFormulaMode() const { return bFormulaMode; } - ScInputWindow* GetInputWindow() { return pInputWin; } - void SetInputWindow( ScInputWindow* pNew ) { pInputWin = pNew; } - void StopInputWinEngine( sal_Bool bAll ); - - sal_Bool IsInEnterHandler() const { return bInEnterHandler; } - sal_Bool IsInOwnChange() const { return bInOwnChange; } - - sal_Bool IsModalMode( SfxObjectShell* pDocSh ); - - void ForgetLastPattern(); - - void UpdateSpellSettings( sal_Bool bFromStartTab = false ); - - void FormulaPreview(); - - Size GetTextSize(); // in 1/100mm - - // eigentlich private, fuer SID_INPUT_SUM public - void InitRangeFinder( const String& rFormula ); - - static void SetAutoComplete(sal_Bool bSet) { bAutoComplete = bSet; } -}; - -//======================================================================== -// ScInputHdlState -//======================================================================== -class ScInputHdlState -{ - friend class ScInputHandler; - -public: - ScInputHdlState( const ScAddress& rCurPos, - const ScAddress& rStartPos, - const ScAddress& rEndPos, - const String& rString, - const EditTextObject* pData ); - ScInputHdlState( const ScInputHdlState& rCpy ); - ~ScInputHdlState(); - - ScInputHdlState& operator= ( const ScInputHdlState& r ); - int operator==( const ScInputHdlState& r ) const; - int operator!=( const ScInputHdlState& r ) const - { return !operator==( r ); } - - const ScAddress& GetPos() const { return aCursorPos; } - const ScAddress& GetStartPos() const { return aStartPos; } - const ScAddress& GetEndPos() const { return aEndPos; } - const String& GetString() const { return aString; } - const EditTextObject* GetEditData() const { return pEditData; } - -private: - ScAddress aCursorPos; - ScAddress aStartPos; - ScAddress aEndPos; - String aString; - EditTextObject* pEditData; -}; - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |