summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2004-09-17 13:16:39 +0000
committerRüdiger Timm <rt@openoffice.org>2004-09-17 13:16:39 +0000
commit75703f46a46192debf675238d41a806e7818869a (patch)
tree655dbadccb75dde79b34dae58f8d535fc7de5c9f /svx/source
parent63c7fabe07856f58cd81712f6b2decd347b57426 (diff)
INTEGRATION: CWS os19 (1.1.2); FILE ADDED
2004/09/06 09:35:50 os 1.1.2.9: #i33637# ignore(all) should undo manual modifications 2004/05/04 08:01:59 os 1.1.2.8: #i18881# SpellDialog moved to cui library 2003/11/21 12:35:03 os 1.1.2.7: #18881# Change after random edit completed 2003/11/15 14:27:28 os 1.1.2.6: #18881# Undo implemented 2003/10/31 10:23:15 os 1.1.2.5: #i18881# new Alternatives on language selection added; Lose/GetFocus notification 2003/10/23 05:51:29 os 1.1.2.4: #i18881# use of MultiLineEdit 2003/10/17 07:55:47 os 1.1.2.3: #i18881# use const Link& in SetModifyHdl 2003/10/08 14:50:38 os 1.1.2.2: #i18881# naming improved 2003/09/23 06:49:52 os 1.1.2.1: #i18881# new spelling dialog
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/inc/SpellDialog.hxx294
1 files changed, 294 insertions, 0 deletions
diff --git a/svx/source/inc/SpellDialog.hxx b/svx/source/inc/SpellDialog.hxx
new file mode 100644
index 000000000000..6a01aecff331
--- /dev/null
+++ b/svx/source/inc/SpellDialog.hxx
@@ -0,0 +1,294 @@
+/*************************************************************************
+ *
+ * $RCSfile: SpellDialog.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: rt $ $Date: 2004-09-17 14:16:39 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SVX_SPELLDDIALOG_HXX
+#define _SVX_SPELLDDIALOG_HXX
+
+// include ---------------------------------------------------------------
+
+#ifndef _BASEDLGS_HXX //autogen
+#include <sfx2/basedlgs.hxx>
+#endif
+#ifndef _FIXED_HXX //autogen
+#include <vcl/fixed.hxx>
+#endif
+
+#ifndef _EDIT_HXX //autogen
+#include <vcl/edit.hxx>
+#endif
+
+#ifndef _LSTBOX_HXX //autogen
+#include <vcl/lstbox.hxx>
+#endif
+
+#ifndef _STDCTRL_HXX //autogen
+#include <svtools/stdctrl.hxx>
+#endif
+
+#ifndef _BUTTON_HXX //autogen
+#include <vcl/button.hxx>
+#endif
+
+#ifndef _MENUBTN_HXX //autogen
+#include <vcl/menubtn.hxx>
+#endif
+
+#ifndef _GROUP_HXX //autogen
+#include <vcl/group.hxx>
+#endif
+
+#ifndef _SV_DECOVIEW_HXX //autogen
+#include <vcl/decoview.hxx>
+#endif
+
+#ifndef _COM_SUN_STAR_UNO_REFERENCE_HXX_
+#include <com/sun/star/uno/Reference.hxx>
+#endif
+
+
+#ifndef _SVX_BOX_HXX //autogen
+#include "svxbox.hxx"
+#endif
+#ifndef _SVX_LANGBOX_HXX
+#include <langbox.hxx>
+#endif
+#include <memory>
+#ifndef _SVEDIT_HXX
+#include <svtools/svmedit.hxx>
+#endif
+#ifndef _SFXLSTNER_HXX //autogen
+#include <svtools/lstner.hxx>
+#endif
+
+#ifndef _XTEXTEDT_HXX //autogen
+#include <svtools/xtextedt.hxx>
+#endif
+#ifndef SVX_SPELL_PORTIONS_HXX
+#include <SpellPortions.hxx>
+#endif
+
+class ScrollBar;
+class TextEngine;
+class ExtTextView;
+namespace svx{ class SpellUndoAction_Impl;}
+
+// forward ---------------------------------------------------------------
+
+struct SpellDialog_Impl;
+
+namespace com{namespace sun{namespace star{
+namespace linguistic2{
+ class XSpellChecker1;
+}}}}
+namespace svx{
+class SpellDialog;
+// ------------------------------------------------------------------
+class SentenceEditWindow_Impl : public MultiLineEdit/*, public SfxListener*/
+{
+private:
+ USHORT m_nErrorStart;
+ USHORT m_nErrorEnd;
+ bool m_bIsUndoEditMode;
+
+ Link m_aModifyLink;
+
+ void CallModifyLink() {m_aModifyLink.Call(this);}
+
+ SpellDialog* GetSpellDialog() const {return (SpellDialog*)GetParent();}
+protected:
+ virtual long PreNotify( NotifyEvent& rNEvt );
+
+public:
+ SentenceEditWindow_Impl( SpellDialog* pParent, const ResId& rResId );
+ ~SentenceEditWindow_Impl();
+
+ void SetModifyHdl(const Link& rLink) { m_aModifyLink = rLink;}
+
+ void SetAttrib( const TextAttrib& rAttr, ULONG nPara, USHORT nStart, USHORT nEnd );
+ void SetText( const String& rStr );
+
+ bool MarkNextError();
+ void ChangeMarkedWord(const String& rNewWord, LanguageType eLanguage);
+ void MoveErrorMarkTo(USHORT nErrorStart, USHORT nErrorEnd);
+ String GetErrorText() const;
+ void RestoreCurrentError();
+
+ com::sun::star::uno::Reference<com::sun::star::linguistic2::XSpellAlternatives> GetAlternatives();
+ void SetAlternatives(
+ com::sun::star::uno::Reference<com::sun::star::linguistic2::XSpellAlternatives> );
+
+ void ResetModified() { GetTextEngine()->SetModified(FALSE); m_bIsUndoEditMode = false;}
+ BOOL IsModified() const { return GetTextEngine()->IsModified(); }
+
+ bool IsUndoEditMode() const { return m_bIsUndoEditMode;}
+ void SetUndoEditMode(bool bSet);
+
+ svx::SpellPortions CreateSpellPortions() const;
+
+ void ResetUndo();
+ void Undo();
+ void AddUndoAction( SfxUndoAction *pAction, BOOL bTryMerg=FALSE );
+ USHORT GetUndoActionCount();
+ void UndoActionStart( USHORT nId );
+ void UndoActionEnd( USHORT nId );
+
+ void MoveErrorEnd(long nOffset);
+};
+
+
+// class SvxSpellDialog ---------------------------------------------
+class SpellDialogChildWindow;
+class SpellDialog : public SfxModelessDialog
+{
+ friend class SentenceEditWindow_Impl;
+private:
+ FixedText aNotInDictFT;
+ SentenceEditWindow_Impl aSentenceED;
+
+ FixedText aSuggestionFT;
+ ListBox aSuggestionLB;
+
+ FixedText aLanguageFT;
+ SvxLanguageBox aLanguageLB;
+
+ PushButton aIgnorePB;
+ PushButton aIgnoreAllPB;
+ MenuButton aAddToDictMB;
+
+ PushButton aChangePB;
+ PushButton aChangeAllPB;
+ PushButton aAutoCorrPB;
+
+ PushButton aOptionsPB;
+ HelpButton aHelpPB;
+ PushButton aUndoPB;
+ PushButton aClosePB;
+
+ GroupBox aBackgroundGB;
+
+ String aTitel;
+ String aResumeST;
+ String aIgnoreOnceST;
+ String aNoSuggestionsST;
+
+ Size aOldWordEDSize;
+ Link aDialogUndoLink;
+
+ sal_Bool bModified;
+
+ svx::SpellDialogChildWindow& rParent;
+ svx::SpellPortions m_aSavedSentence;
+
+ SpellDialog_Impl* pImpl;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > xSpell;
+ String aOldWord;
+ LanguageType nOldLang;
+
+ DECL_LINK( ChangeHdl, Button * );
+ DECL_LINK( ChangeAllHdl, Button * );
+ DECL_LINK( IgnoreAllHdl, Button * );
+ DECL_LINK( IgnoreHdl, Button * );
+ DECL_LINK( ExtClickHdl, Button * );
+ DECL_LINK( CancelHdl, Button * );
+ DECL_LINK( ModifyHdl, SentenceEditWindow_Impl *);
+ DECL_LINK( UndoHdl, Button * );
+ DECL_LINK( AddToDictionaryHdl, MenuButton* );
+ DECL_LINK( LanguageSelectHdl, SvxLanguageBox* );
+ DECL_LINK( DialogUndoHdl, SpellUndoAction_Impl* );
+
+ DECL_STATIC_LINK( SpellDialog, InitHdl, SpellDialog * );
+
+ void StartSpellOptDlg_Impl();
+ void InitUserDicts();
+ void UpdateBoxes_Impl();
+ void Init_Impl();
+ void SpellContinue_Impl(bool UseSavedSentence = false);
+
+ void SetSelectedLang_Impl( LanguageType nLang );
+ LanguageType GetSelectedLang_Impl() const;
+
+ /** Retrieves the next sentence.
+ */
+ bool GetNextSentence_Impl(bool bUseSavedSentence);
+ /** Corrects all errors that have been selected to be changed always
+ */
+ bool ApplyChangeAllList_Impl(SpellPortions& rSentence, bool& bHasReplaced);
+
+protected:
+ virtual void Paint( const Rectangle& rRect );
+ virtual long Notify( NotifyEvent& rNEvt );
+
+public:
+ SpellDialog(
+ svx::SpellDialogChildWindow* pChildWindow,
+ Window * pParent,
+ SfxBindings* pBindings);
+ ~SpellDialog();
+
+ void SetLanguage( sal_uInt16 nLang );
+ virtual sal_Bool Close();
+
+ void Invalidate();
+};
+} //namespace svx
+
+#endif
+