summaryrefslogtreecommitdiff
path: root/cui/source/inc/hyphen.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/inc/hyphen.hxx')
-rw-r--r--cui/source/inc/hyphen.hxx119
1 files changed, 119 insertions, 0 deletions
diff --git a/cui/source/inc/hyphen.hxx b/cui/source/inc/hyphen.hxx
new file mode 100644
index 000000000000..42ec38e31331
--- /dev/null
+++ b/cui/source/inc/hyphen.hxx
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * 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 _SVX_HYPHEN_HXX
+#define _SVX_HYPHEN_HXX
+
+// include ---------------------------------------------------------------
+
+#include <vcl/edit.hxx>
+#include <vcl/button.hxx>
+#include <vcl/fixed.hxx>
+#include <sfx2/basedlgs.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+// forward ---------------------------------------------------------------
+
+namespace com{namespace sun{namespace star{
+namespace linguistic2{
+ class XHyphenator;
+ class XPossibleHyphens;
+}}}}
+
+class SvxSpellWrapper;
+
+// class SvxHyphenEdit ---------------------------------------------------
+
+class SvxHyphenEdit : public Edit
+{
+public:
+ SvxHyphenEdit( Window* pParent, const ResId& rResId );
+
+protected:
+ virtual void KeyInput( const KeyEvent &rKEvt );
+};
+
+// class SvxHyphenWordDialog ---------------------------------------------
+
+class SvxHyphenWordDialog : public SfxModalDialog
+{
+public:
+ SvxHyphenWordDialog( const String &rWord, LanguageType nLang,
+ Window* pParent,
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator > &xHyphen,
+ SvxSpellWrapper* pWrapper );
+
+ void SelLeft();
+ void SelRight();
+
+private:
+ FixedText aWordFT;
+ SvxHyphenEdit aWordEdit;
+ ImageButton aLeftBtn;
+ ImageButton aRightBtn;
+ OKButton aOkBtn;
+ CancelButton aCancelBtn;
+ PushButton aContBtn;
+ PushButton aDelBtn;
+ HelpButton aHelpBtn;
+ String aLabel;
+ SvxSpellWrapper* pHyphWrapper;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XHyphenator > xHyphenator;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XPossibleHyphens > xPossHyph;
+ String aActWord; // actual (to be displayed) word
+ LanguageType nActLanguage; // and language
+ sal_uInt16 nMaxHyphenationPos; // right most valid hyphenation pos
+ sal_uInt16 nHyphPos;
+ sal_uInt16 nOldPos;
+ sal_Bool bBusy;
+
+ void EnableLRBtn_Impl();
+ void SetLabel_Impl( LanguageType nLang );
+ String EraseUnusableHyphens_Impl(
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XPossibleHyphens > &rxPossHyph,
+ sal_uInt16 nMaxHyphenationPos );
+
+ void InitControls_Impl();
+ void ContinueHyph_Impl( sal_uInt16 nInsPos = 0 );
+ sal_uInt16 GetHyphIndex_Impl();
+
+ DECL_LINK( CutHdl_Impl, Button* );
+ DECL_LINK( DeleteHdl_Impl, Button* );
+ DECL_LINK( ContinueHdl_Impl, Button* );
+ DECL_LINK( CancelHdl_Impl, Button* );
+ DECL_LINK( Left_Impl, Button* );
+ DECL_LINK( Right_Impl, Button* );
+ DECL_LINK( GetFocusHdl_Impl, Edit* );
+ DECL_LINK( LangError_Impl, void* );
+};
+
+
+#endif
+