1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef _EDITSTAT_HXX 29 #define _EDITSTAT_HXX 30 31 #include <tools/string.hxx> 32 #include <i18npool/lang.h> 33 34 #define EE_CNTRL_USECHARATTRIBS 0x00000001 // Verwendung harter ZeichenAttr. 35 #define EE_CNTRL_USEPARAATTRIBS 0x00000002 // Verwendung von AbsatzAttr. 36 #define EE_CNTRL_CRSRLEFTPARA 0x00000004 // Cursor ist in einen anderen Absatz gewandert 37 #define EE_CNTRL_DOIDLEFORMAT 0x00000008 // Idle-Formatierung 38 #define EE_CNTRL_PASTESPECIAL 0x00000010 // Allow PasteSpecial 39 #define EE_CNTRL_AUTOINDENTING 0x00000020 // Automatisches einruecken 40 #define EE_CNTRL_UNDOATTRIBS 0x00000040 // Undo fuer Attribute.... 41 #define EE_CNTRL_ONECHARPERLINE 0x00000080 // Ein Zeichen pro Zeile 42 #define EE_CNTRL_NOCOLORS 0x00000100 // Engine: Keine Farben 43 #define EE_CNTRL_OUTLINER 0x00000200 // Sonderbehandlung Outliner/Gliederungsmodus 44 #define EE_CNTRL_OUTLINER2 0x00000400 // Sonderbehandlung Outliner/Seite 45 #define EE_CNTRL_ALLOWBIGOBJS 0x00000800 // PortionInfo in Textobjekten 46 #define EE_CNTRL_ONLINESPELLING 0x00001000 // Waehrend des editieren Spelling 47 #define EE_CNTRL_STRETCHING 0x00002000 // Stretch-Modus 48 #define EE_CNTRL_MARKFIELDS 0x00004000 // Felder farblich hinterlegen 49 #define EE_CNTRL_URLSFXEXECUTE 0x00008000 // !!!OLD!!!: SFX-URL-Execute. 50 #define EE_CNTRL_RESTOREFONT 0x00010000 // Font im OutDev restaurieren 51 #define EE_CNTRL_RTFSTYLESHEETS 0x00020000 // Stylesheets bei Import verwenden 52 //#define EE_CNTRL_NOREDLINES 0x00040000 // Keine RedLines bei OnlineSpellError /* removed #i91949 */ 53 #define EE_CNTRL_AUTOCORRECT 0x00080000 // AutoKorrektur 54 #define EE_CNTRL_AUTOCOMPLETE 0x00100000 // AutoComplete 55 #define EE_CNTRL_AUTOPAGESIZEX 0x00200000 // Papierbreite an Text anpassen 56 #define EE_CNTRL_AUTOPAGESIZEY 0x00400000 // Papierhoehe an Text anpassen 57 #define EE_CNTRL_AUTOPAGESIZE (EE_CNTRL_AUTOPAGESIZEX|EE_CNTRL_AUTOPAGESIZEY) 58 #define EE_CNTRL_TABINDENTING 0x00800000 // Einruecken mit Tab 59 #define EE_CNTRL_FORMAT100 0x01000000 // Immer nach 100% formatieren 60 #define EE_CNTRL_ULSPACESUMMATION 0x02000000 // MS Compat: SA und SB aufsummieren, nicht maximalwert 61 #define EE_CNTRL_ULSPACEFIRSTPARA 0x04000000 // MS Compat: SB auch beim ersten Absatz auswerten 62 63 #define EV_CNTRL_AUTOSCROLL 0x00000001 // Autom. Scrollen horiz. 64 #define EV_CNTRL_BIGSCROLL 0x00000002 // Weiter Scrollen, als nur zum Cursor 65 #define EV_CNTRL_ENABLEPASTE 0x00000004 // Paste erlauben 66 #define EV_CNTRL_SINGLELINEPASTE 0x00000008 // View: Paste in Eingabezeile... 67 #define EV_CNTRL_OVERWRITE 0x00000010 // Ueberschreibmodus 68 #define EV_CNTRL_INVONEMORE 0x00000020 // Ein Pixel mehr invalidieren 69 #define EV_CNTRL_AUTOSIZEX 0x00000040 // Automatisch an Textbreite anpassen 70 #define EV_CNTRL_AUTOSIZEY 0x00000080 // Automatisch an Texthoehe anpassen 71 #define EV_CNTRL_AUTOSIZE (EV_CNTRL_AUTOSIZEX|EV_CNTRL_AUTOSIZEY) 72 73 #define EE_STAT_HSCROLL 0x00000001 74 #define EE_STAT_VSCROLL 0x00000002 75 #define EE_STAT_CURSOROUT 0x00000004 76 #define EE_STAT_CRSRMOVEFAIL 0x00000008 77 #define EE_STAT_CRSRLEFTPARA 0x00000010 78 #define EE_STAT_TEXTWIDTHCHANGED 0x00000020 79 #define EE_STAT_TEXTHEIGHTCHANGED 0x00000040 80 #define EE_STAT_WRONGWORDCHANGED 0x00000080 81 // #define EE_STAT_MODIFIED 0x00000100 82 83 // Nur fuer Update: 84 #define EE_CNTRL_AUTOCENTER EE_CNTRL_AUTOPAGESIZE 85 #define EE_STAT_GROWY EE_STAT_TEXTHEIGHTCHANGED 86 87 /* 88 EE_STAT_CRSRLEFTPARA zur Zeit bei Cursorbewegungen und Return. 89 */ 90 91 inline void SetFlags( sal_uLong& rBits, const sal_uInt32 nMask, sal_Bool bOn ) 92 { 93 if ( bOn ) 94 rBits |= nMask; 95 else 96 rBits &= ~nMask; 97 } 98 99 class EditStatus 100 { 101 protected: 102 sal_uLong nStatusBits; 103 sal_uLong nControlBits; 104 sal_uInt16 nPrevPara; // fuer EE_STAT_CRSRLEFTPARA 105 106 public: 107 EditStatus() { nStatusBits = 0; nControlBits = 0; nPrevPara = 0xFFFF; } 108 109 void Clear() { nStatusBits = 0; } 110 void SetControlBits( sal_uLong nMask, sal_Bool bOn ) 111 { SetFlags( nControlBits, nMask, bOn ); } 112 113 sal_uLong GetStatusWord() const { return nStatusBits; } 114 sal_uLong& GetStatusWord() { return nStatusBits; } 115 116 sal_uLong GetControlWord() const { return nControlBits; } 117 sal_uLong& GetControlWord() { return nControlBits; } 118 119 sal_uInt16 GetPrevParagraph() const { return nPrevPara; } 120 sal_uInt16& GetPrevParagraph() { return nPrevPara; } 121 }; 122 123 #define SPELLCMD_IGNOREWORD 0x0001 124 #define SPELLCMD_STARTSPELLDLG 0x0002 125 #define SPELLCMD_ADDTODICTIONARY 0x0003 126 #define SPELLCMD_WORDLANGUAGE 0x0004 127 #define SPELLCMD_PARALANGUAGE 0x0005 128 129 struct SpellCallbackInfo 130 { 131 sal_uInt16 nCommand; 132 String aWord; 133 LanguageType eLanguage; 134 135 SpellCallbackInfo( sal_uInt16 nCMD, const String& rWord ) 136 : aWord( rWord ) 137 { 138 nCommand = nCMD; 139 eLanguage = LANGUAGE_DONTKNOW; 140 } 141 142 SpellCallbackInfo( sal_uInt16 nCMD, LanguageType eLang ) 143 { 144 nCommand = nCMD; 145 eLanguage = eLang; 146 } 147 }; 148 149 #endif // _EDITSTAT_HXX 150 151