summaryrefslogtreecommitdiff
path: root/svx/inc/svx/svxacorr.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/inc/svx/svxacorr.hxx')
-rw-r--r--svx/inc/svx/svxacorr.hxx396
1 files changed, 0 insertions, 396 deletions
diff --git a/svx/inc/svx/svxacorr.hxx b/svx/inc/svx/svxacorr.hxx
deleted file mode 100644
index 5d61f303972d..000000000000
--- a/svx/inc/svx/svxacorr.hxx
+++ /dev/null
@@ -1,396 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: svxacorr.hxx,v $
- * $Revision: 1.3 $
- *
- * 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 _MySVXACORR_HXX
-#define _MySVXACORR_HXX
-
-#include <com/sun/star/embed/XStorage.hpp>
-#include <tools/rtti.hxx>
-#include <svl/svarray.hxx>
-#include <i18npool/lang.h>
-#include <tools/time.hxx>
-#include <tools/date.hxx>
-#include <tools/string.hxx>
-#include <svx/swafopt.hxx>
-#include "svx/svxdllapi.h"
-
-class CharClass;
-class SfxPoolItem;
-class SvxAutoCorrect;
-class SvStringsISortDtor;
-class SfxObjectShell;
-class SvxAutoCorrLanguageTable_Impl;
-class SvxAutoCorrLastFileAskTable_Impl;
-class SotStorageRef;
-class SotStorage;
-
-// Flags fuer die AutoKorrekt-Flags
-const long CptlSttSntnc = 0x00000001; // Gross-Buchstaben am SatzAnfang
-const long CptlSttWrd = 0x00000002; // keine 2 Gr.-Buchst. am WordAnfang
-const long ChgFractionSymbol= 0x00000004; // 1/2, 1/4, .. ersetzen
-const long ChgOrdinalNumber = 0x00000008; // Ordinal-Number 1st, 2nd,..
-const long ChgToEnEmDash = 0x00000010; // - -> Endash/Emdash
-const long ChgWeightUnderl = 0x00000020; // * -> Fett, _ -> unterstreichen
-const long SetINetAttr = 0x00000040; // INetAttribut setzen
-const long Autocorrect = 0x00000080; // Autokorrektur aufrufen
-const long ChgQuotes = 0x00000100; // doppelte Quotes ersetzen
-const long SaveWordCplSttLst= 0x00000200; // GrB. am SatzAnf. auto. aufnehmen
-const long SaveWordWrdSttLst= 0x00000400; // 2 GrB. am WortAnf. auto. aufnehmen
-const long IngnoreDoubleSpace= 0x00000800; // 2 Spaces ignorieren
-const long ChgSglQuotes = 0x00001000; // einfache Quotes ersetzen
-
-const long ChgWordLstLoad = 0x20000000; // Ersetzungsliste geladen
-const long CplSttLstLoad = 0x40000000; // Exceptionlist fuer CplStart geladen
-const long WrdSttLstLoad = 0x80000000; // Exceptionlist fuer WordStart geladen
-
-// TODO: handle unicodes > U+FFFF and check users of this class
-
-// nur eine Mappingklasse
-class SVX_DLLPUBLIC SvxAutoCorrDoc
-{
-public:
- SvxAutoCorrDoc() {}
- virtual ~SvxAutoCorrDoc();
-
- virtual BOOL Delete( xub_StrLen nStt, xub_StrLen nEnd ) = 0;
- virtual BOOL Insert( xub_StrLen nPos, const String& rTxt ) = 0;
- virtual BOOL Replace( xub_StrLen nPos, const String& rTxt ) = 0;
-
- virtual BOOL SetAttr( xub_StrLen nStt, xub_StrLen nEnd, USHORT nSlotId,
- SfxPoolItem& ) = 0;
-
- virtual BOOL SetINetAttr( xub_StrLen nStt, xub_StrLen nEnd, const String& rURL ) = 0;
-
- // returne den Text eines vorherigen Absatzes.
- // Dieser darf nicht leer sein!
- // Gibt es diesen nicht oder gibt es davor nur Leere, dann returne 0
- // Das Flag gibt an:
- // TRUE: den, vor der normalen Einfuegeposition (TRUE)
- // FALSE: den, in den das korrigierte Wort eingfuegt wurde.
- // (Muss nicht der gleiche Absatz sein!!!!)
- virtual const String* GetPrevPara( BOOL bAtNormalPos ) = 0;
-
- virtual BOOL ChgAutoCorrWord( xub_StrLen& rSttPos, xub_StrLen nEndPos,
- SvxAutoCorrect& rACorrect,
- const String** ppPara ) = 0;
- // wird nach dem austauschen der Zeichen von den Funktionen
- // - FnCptlSttWrd
- // - FnCptlSttSntnc
- // gerufen. Dann koennen die Worte ggfs. in die Ausnahmelisten
- // aufgenommen werden.
- virtual void SaveCpltSttWord( ULONG nFlag, xub_StrLen nPos,
- const String& rExceptWord,
- sal_Unicode cChar );
-
- // welche Sprache gilt an der Position?
- virtual LanguageType GetLanguage( xub_StrLen nPos, BOOL bPrevPara = FALSE ) const;
-};
-
-
-class SVX_DLLPUBLIC SvxAutocorrWord
-{
- String sShort, sLong;
- BOOL bIsTxtOnly; // ist reiner ASCII - Text
-public:
- SvxAutocorrWord( const String& rS, const String& rL, BOOL bFlag = TRUE )
- : sShort( rS ), sLong( rL ), bIsTxtOnly( bFlag )
- {}
-
- const String& GetShort() const { return sShort; }
- const String& GetLong() const { return sLong; }
- BOOL IsTextOnly() const { return bIsTxtOnly; }
-};
-
-typedef SvxAutocorrWord* SvxAutocorrWordPtr;
-SV_DECL_PTRARR_SORT_DEL_VISIBILITY( SvxAutocorrWordList, SvxAutocorrWordPtr, 10, 10 , SVX_DLLPUBLIC)
-
-class SVX_DLLPUBLIC SvxAutoCorrectLanguageLists
-{
- String sShareAutoCorrFile, sUserAutoCorrFile;
- // falls die AutoCorr Datei neuer ist
- Date aModifiedDate;
- Time aModifiedTime, aLastCheckTime;
-
- LanguageType eLanguage; //LANGUAGE_DONTKNOW fuer alle Sprachen verwenden
- SvStringsISortDtor* pCplStt_ExcptLst;
- SvStringsISortDtor* pWrdStt_ExcptLst;
- SvxAutocorrWordList* pAutocorr_List;
- SvxAutoCorrect& rAutoCorrect;
-
- long nFlags;
-
- BOOL IsFileChanged_Imp();
- void LoadXMLExceptList_Imp( SvStringsISortDtor*& rpLst,
- const sal_Char* pStrmName,
- SotStorageRef& rStg);
- void SaveExceptList_Imp( const SvStringsISortDtor& rLst,
- const sal_Char* pStrmName,
- SotStorageRef& rStg,
- BOOL bConvert = FALSE);
-
- BOOL MakeBlocklist_Imp( SotStorage& rStg );
- void RemoveStream_Imp( const String& rName );
- void MakeUserStorage_Impl();
-
-public:
- SvxAutoCorrectLanguageLists( SvxAutoCorrect& rParent,
- const String& rShareAutoCorrectFile,
- const String& rUserAutoCorrectFile,
- LanguageType eLang);
- ~SvxAutoCorrectLanguageLists();
-
- // Lade, Setze, Gebe - die Ersetzungsliste
- SvxAutocorrWordList* LoadAutocorrWordList();
- void SetAutocorrWordList( SvxAutocorrWordList* pList );
- const SvxAutocorrWordList* GetAutocorrWordList();
-
- // Lade, Setze, Gebe - die Ausnahmeliste fuer Grossbuchstabe am
- // Satzanfang
- SvStringsISortDtor* LoadCplSttExceptList();
- void SaveCplSttExceptList();
- void SetCplSttExceptList( SvStringsISortDtor* pList );
- SvStringsISortDtor* GetCplSttExceptList();
- BOOL AddToCplSttExceptList(const String& rNew);
-
- // Lade, Setze, Gebe die Ausnahmeliste fuer 2 Grossbuchstaben am
- // Wortanfang
- SvStringsISortDtor* LoadWrdSttExceptList();
- void SaveWrdSttExceptList();
- void SetWrdSttExceptList( SvStringsISortDtor* pList );
- SvStringsISortDtor* GetWrdSttExceptList();
- BOOL AddToWrdSttExceptList(const String& rNew);
-
- // Speichern von Wortersetzungen:
- // Diese speichern direkt im Storage. Die Wortliste wird
- // entsprechend aktualisiert!
- // - purer Text
- BOOL PutText( const String& rShort, const String& rLong );
- // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
- BOOL PutText( const String& rShort, SfxObjectShell& );
- // - loesche einen Eintrag
- BOOL DeleteText( const String& rShort );
-};
-
-
-class SVX_DLLPUBLIC SvxAutoCorrect
-{
- friend class SvxAutoCorrectLanguageLists;
-
- String sShareAutoCorrFile, sUserAutoCorrFile;
-
- SvxSwAutoFmtFlags aSwFlags; // StarWriter AutoFormat-Flags
-
- // alle Sprachen in einer Tabelle
- SvxAutoCorrLanguageTable_Impl* pLangTable;
- SvxAutoCorrLastFileAskTable_Impl* pLastFileTable;
- CharClass* pCharClass;
-
- LanguageType eCharClassLang;
-
- long nFlags;
- sal_Unicode cStartDQuote, cEndDQuote, cStartSQuote, cEndSQuote,
- c1Div2, c1Div4, c3Div4,
- cEmDash, cEnDash;
-
-
- // private methods
- SvxAutoCorrectLanguageLists& _GetLanguageList( LanguageType eLang );
-
- void _GetCharClass( LanguageType eLang );
-
-protected:
- // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
- // rShort ist der Stream-Name - gecryptet!
- virtual BOOL PutText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& rStg, const String& rFileName, const String& rShort, SfxObjectShell& ,
- String& );
-
- // geforderte Sprache in die Tabelle eintragen gfs. nur wenn das file existiert
- BOOL CreateLanguageFile(LanguageType eLang, BOOL bNewFile = TRUE);
- // - return den Ersetzungstext (nur fuer SWG-Format, alle anderen
- // koennen aus der Wortliste herausgeholt werden!)
- // rShort ist der Stream-Name - gecryptet!
-public:
- //The method below is changed from private to public by BerryJia for Bug95846 Time:2002-8-13 15:50
- sal_Unicode GetQuote( sal_Unicode cInsChar, BOOL bSttQuote,
- LanguageType eLang ) const;
- virtual BOOL GetLongText( const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& rStg, const String& rFileName, const String& rShort, String& rLong );
-
- TYPEINFO();
-
- SvxAutoCorrect( const String& rShareAutocorrFile,
- const String& rUserAutocorrFile );
- SvxAutoCorrect( const SvxAutoCorrect& );
- virtual ~SvxAutoCorrect();
-
- // fuehre eine AutoKorrektur aus.
- // returnt was ausgefuehrt wurde; entsprechend den obigen Flags
- ULONG AutoCorrect( SvxAutoCorrDoc& rDoc, const String& rTxt,
- xub_StrLen nPos, sal_Unicode cInsChar, BOOL bInsert );
-
- // return fuer die Autotext Expandierung das vorherige Wort, was dem
- // AutoCorrect - Algorythmus entspricht.
- BOOL GetPrevAutoCorrWord( SvxAutoCorrDoc& rDoc, const String& rTxt,
- xub_StrLen nPos, String& rWord ) const;
-
- // suche das oder die Worte in der ErsetzungsTabelle.
- // rText - ueberpruefe in diesem Text die Worte der Liste
- // rStt - die gefundene Startposition
- // nEnd - zu ueberpruefende Position - ab dieser Pos nach vorne
- // rLang - Input: in welcher Sprache wird gesucht
- // Output: in welcher "Sprach-Liste" wurde es gefunden
- const SvxAutocorrWord* SearchWordsInList( const String& rTxt,
- xub_StrLen& rStt, xub_StrLen nEndPos,
- SvxAutoCorrDoc& rDoc,
- LanguageType& rLang );
-
- // erfrage / setze die Zeichen fuer die Quote-Ersetzung
- sal_Unicode GetStartSingleQuote() const { return cStartSQuote; }
- sal_Unicode GetEndSingleQuote() const { return cEndSQuote; }
- sal_Unicode GetStartDoubleQuote() const { return cStartDQuote; }
- sal_Unicode GetEndDoubleQuote() const { return cEndDQuote; }
-
- void SetStartSingleQuote( const sal_Unicode cStart ) { cStartSQuote = cStart; }
- void SetEndSingleQuote( const sal_Unicode cEnd ) { cEndSQuote = cEnd; }
- void SetStartDoubleQuote( const sal_Unicode cStart ) { cStartDQuote = cStart; }
- void SetEndDoubleQuote( const sal_Unicode cEnd ) { cEndDQuote = cEnd; }
-
- String GetQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos,
- sal_Unicode cInsChar, BOOL bSttQuote );
- void InsertQuote( SvxAutoCorrDoc& rDoc, xub_StrLen nInsPos,
- sal_Unicode cInsChar, BOOL bSttQuote, BOOL bIns );
-
- // erfrage / setze den Namen der AutoKorrektur-Datei
- // defaultet auf "autocorr.dat"
- String GetAutoCorrFileName( LanguageType eLang = LANGUAGE_SYSTEM,
- BOOL bNewFile = FALSE,
- BOOL bTstUserExist = FALSE ) const;
- void SetUserAutoCorrFileName( const String& rNew );
- void SetShareAutoCorrFileName( const String& rNew );
-
- // erfrage / setze die aktuellen Einstellungen der AutoKorrektur
- long GetFlags() const { return nFlags; }
- inline SvxSwAutoFmtFlags& GetSwFlags() { return aSwFlags;}
- BOOL IsAutoCorrFlag( long nFlag ) const
- { return nFlags & nFlag ? TRUE : FALSE; }
- void SetAutoCorrFlag( long nFlag, BOOL bOn = TRUE );
-
- // Lade, Setze, Gebe - die Ersetzungsliste
- SvxAutocorrWordList* LoadAutocorrWordList(
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).LoadAutocorrWordList(); }
- const SvxAutocorrWordList* GetAutocorrWordList(
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).GetAutocorrWordList(); }
-
- // Speichern von Wortersetzungen:
- // Diese speichern direkt im Storage. Die Wortliste wird
- // entsprechend aktualisiert!
- // - purer Text
- BOOL PutText( const String& rShort, const String& rLong, LanguageType eLang = LANGUAGE_SYSTEM );
- // - Text mit Attributierung (kann nur der SWG - SWG-Format!)
- BOOL PutText( const String& rShort, SfxObjectShell& rShell,
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).PutText(rShort, rShell ); }
-
- // - loesche einen Eintrag
- BOOL DeleteText( const String& rShort, LanguageType eLang = LANGUAGE_SYSTEM);
-
- // Lade, Setze, Gebe - die Ausnahmeliste fuer Grossbuchstabe am
- // Satzanfang
- void SaveCplSttExceptList( LanguageType eLang = LANGUAGE_SYSTEM );
- SvStringsISortDtor* LoadCplSttExceptList(
- LanguageType eLang = LANGUAGE_SYSTEM)
- { return _GetLanguageList( eLang ).LoadCplSttExceptList(); }
- const SvStringsISortDtor* GetCplSttExceptList(
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).GetCplSttExceptList(); }
-
- // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort
- // in die Datei geschrieben!
- BOOL AddCplSttException( const String& rNew,
- LanguageType eLang = LANGUAGE_SYSTEM );
-
- // Lade, Setze, Gebe die Ausnahmeliste fuer 2 Grossbuchstaben am
- // Wortanfang
- void SaveWrdSttExceptList( LanguageType eLang = LANGUAGE_SYSTEM );
- SvStringsISortDtor* LoadWrdSttExceptList(
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).LoadWrdSttExceptList(); }
- const SvStringsISortDtor* GetWrdSttExceptList(
- LanguageType eLang = LANGUAGE_SYSTEM )
- { return _GetLanguageList( eLang ).GetWrdSttExceptList(); }
- // fuegt ein einzelnes Wort hinzu. Die Liste wird sofort
- // in die Datei geschrieben!
- BOOL AddWrtSttException( const String& rNew, LanguageType eLang = LANGUAGE_SYSTEM);
-
- //ueber die Sprachen nach dem Eintrag suchen
- BOOL FindInWrdSttExceptList( LanguageType eLang, const String& sWord );
- BOOL FindInCplSttExceptList( LanguageType eLang, const String& sWord,
- BOOL bAbbreviation = FALSE);
-
- // die einzelnen Methoden fuer die Autokorrektur
- BOOL FnCptlSttWrd( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM );
- BOOL FnChgFractionSymbol( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos );
- BOOL FnChgOrdinalNumber( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM );
- BOOL FnChgToEnEmDash( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM );
- BOOL FnSetINetAttr( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM );
- BOOL FnChgWeightUnderl( SvxAutoCorrDoc&, const String&,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM );
- BOOL FnCptlSttSntnc( SvxAutoCorrDoc&, const String&, BOOL bNormalPos,
- xub_StrLen nSttPos, xub_StrLen nEndPos,
- LanguageType eLang = LANGUAGE_SYSTEM);
-
- static long GetDefaultFlags();
-
-// returns TRUE for charcters where the function
-// 'SvxAutoCorrect::AutoCorrect' should be called.
-// (used to avoid occasional 'collisions' with (Thai) input-sequence-checking)
- static sal_Bool IsAutoCorrectChar( sal_Unicode cChar );
-
- CharClass& GetCharClass( LanguageType eLang )
- {
- if( !pCharClass || eLang != eCharClassLang )
- _GetCharClass( eLang );
- return *pCharClass;
- }
-};
-
-#endif
-