summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-01-12 08:29:31 +0100
committerMathias Bauer <mba@openoffice.org>2010-01-12 08:29:31 +0100
commitc1b2cc6e5fe4b8b5e3433c9ebf9fc81e2a785e7c (patch)
tree9cbe25656f422593c0a6b55eab5a4467cf01add7 /editeng
parent0621be8155b0e698cdbb3c257301486d2bdb6d4f (diff)
#i107450#: code from svx/source/options moved to other libs
Diffstat (limited to 'editeng')
-rw-r--r--editeng/inc/editeng/optitems.hxx114
-rw-r--r--editeng/source/items/makefile.mk3
-rw-r--r--editeng/source/items/optitems.cxx206
3 files changed, 322 insertions, 1 deletions
diff --git a/editeng/inc/editeng/optitems.hxx b/editeng/inc/editeng/optitems.hxx
new file mode 100644
index 000000000000..1dd586da29c7
--- /dev/null
+++ b/editeng/inc/editeng/optitems.hxx
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * 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: optitems.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * 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 _EDITENG_OPTITEMS_HXX
+#define _EDITENG_OPTITEMS_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svl/poolitem.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <editeng/editengdllapi.h>
+
+// forward ---------------------------------------------------------------
+namespace com { namespace sun { namespace star {
+namespace linguistic2{
+ class XSpellChecker1;
+}}}}
+
+
+// class SfxSpellCheckItem -----------------------------------------------
+
+class EDITENG_DLLPUBLIC SfxSpellCheckItem: public SfxPoolItem
+{
+public:
+ TYPEINFO();
+
+ SfxSpellCheckItem( ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > &xChecker,
+ sal_uInt16 nWhich );
+ SfxSpellCheckItem( const SfxSpellCheckItem& rItem );
+
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 >
+ GetXSpellChecker() const { return xSpellCheck; }
+
+private:
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic2::XSpellChecker1 > xSpellCheck;
+};
+
+
+// class SfxHyphenRegionItem ---------------------------------------------
+
+class EDITENG_DLLPUBLIC SfxHyphenRegionItem: public SfxPoolItem
+{
+ sal_uInt8 nMinLead;
+ sal_uInt8 nMinTrail;
+
+public:
+ TYPEINFO();
+
+ SfxHyphenRegionItem( const sal_uInt16 nId );
+ SfxHyphenRegionItem( const SfxHyphenRegionItem& rItem );
+
+ virtual int operator==( const SfxPoolItem& ) const;
+ virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ String &rText, const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual SfxPoolItem* Create( SvStream& rStrm, sal_uInt16 nVer ) const;
+ virtual SvStream& Store( SvStream& rStrm, sal_uInt16 ) const;
+
+ inline sal_uInt8 &GetMinLead() { return nMinLead; }
+ inline sal_uInt8 GetMinLead() const { return nMinLead; }
+
+ inline sal_uInt8 &GetMinTrail() { return nMinTrail; }
+ inline sal_uInt8 GetMinTrail() const { return nMinTrail; }
+
+ inline SfxHyphenRegionItem& operator=( const SfxHyphenRegionItem& rNew )
+ {
+ nMinLead = rNew.GetMinLead();
+ nMinTrail = rNew.GetMinTrail();
+ return *this;
+ }
+};
+
+#endif
+
diff --git a/editeng/source/items/makefile.mk b/editeng/source/items/makefile.mk
index 3b7412f213ae..512db7cc34bd 100644
--- a/editeng/source/items/makefile.mk
+++ b/editeng/source/items/makefile.mk
@@ -52,7 +52,8 @@ SRC1FILES = \
svxitems.src
SLOFILES= \
- $(SLO)$/svdfield.obj \
+ $(SLO)$/optitems.obj \
+ $(SLO)$/svdfield.obj \
$(SLO)$/writingmodeitem.obj \
$(SLO)$/frmitems.obj \
$(SLO)$/paraitem.obj \
diff --git a/editeng/source/items/optitems.cxx b/editeng/source/items/optitems.cxx
new file mode 100644
index 000000000000..9ddbdbe8ea43
--- /dev/null
+++ b/editeng/source/items/optitems.cxx
@@ -0,0 +1,206 @@
+/*************************************************************************
+ *
+ * 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: optitems.cxx,v $
+ * $Revision: 1.10 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_editeng.hxx"
+#include <tools/shl.hxx>
+#include <tools/resid.hxx>
+#include <tools/stream.hxx>
+#include <com/sun/star/linguistic2/XSpellChecker1.hpp>
+
+#include <editeng/optitems.hxx>
+#include <editeng/eerdll.hxx>
+#include <editeng/editrids.hrc>
+#include <editeng/eerdll.hxx>
+#include <editeng/editrids.hrc>
+
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::linguistic2;
+
+// STATIC DATA -----------------------------------------------------------
+
+TYPEINIT1(SfxSpellCheckItem, SfxPoolItem);
+TYPEINIT1(SfxHyphenRegionItem, SfxPoolItem);
+
+// class SfxSpellCheckItem -----------------------------------------------
+
+SfxSpellCheckItem::SfxSpellCheckItem
+(
+ Reference< XSpellChecker1 > &xChecker,
+ sal_uInt16 _nWhich
+) :
+
+ SfxPoolItem( _nWhich )
+{
+ xSpellCheck = xChecker;
+}
+
+// -----------------------------------------------------------------------
+
+SfxSpellCheckItem::SfxSpellCheckItem( const SfxSpellCheckItem& rItem ) :
+
+ SfxPoolItem( rItem ),
+ xSpellCheck( rItem.GetXSpellChecker() )
+{
+}
+
+//------------------------------------------------------------------------
+
+SfxItemPresentation SfxSpellCheckItem::GetPresentation
+(
+ SfxItemPresentation ePres,
+ SfxMapUnit ,
+ SfxMapUnit ,
+ String& rText,
+ const IntlWrapper*
+) const
+{
+ switch ( ePres )
+ {
+ case SFX_ITEM_PRESENTATION_NONE:
+ rText.Erase();
+ return SFX_ITEM_PRESENTATION_NONE;
+
+ case SFX_ITEM_PRESENTATION_NAMELESS:
+ case SFX_ITEM_PRESENTATION_COMPLETE:
+ {
+ return ePres;
+ }
+ default:
+ return SFX_ITEM_PRESENTATION_NONE;
+ }
+}
+
+// -----------------------------------------------------------------------
+
+SfxPoolItem* SfxSpellCheckItem::Clone( SfxItemPool* ) const
+{
+ return new SfxSpellCheckItem( *this );
+}
+
+// -----------------------------------------------------------------------
+
+int SfxSpellCheckItem::operator==( const SfxPoolItem& rItem ) const
+{
+ DBG_ASSERT( SfxPoolItem::operator==(rItem), "unequal types" );
+ return ( xSpellCheck == ( (const SfxSpellCheckItem& )rItem ).GetXSpellChecker() );
+}
+
+// class SfxHyphenRegionItem -----------------------------------------------
+
+SfxHyphenRegionItem::SfxHyphenRegionItem( const sal_uInt16 nId ) :
+
+ SfxPoolItem( nId )
+{
+ nMinLead = nMinTrail = 0;
+}
+
+// -----------------------------------------------------------------------
+
+SfxHyphenRegionItem::SfxHyphenRegionItem( const SfxHyphenRegionItem& rItem ) :
+
+ SfxPoolItem ( rItem ),
+
+ nMinLead ( rItem.GetMinLead() ),
+ nMinTrail ( rItem.GetMinTrail() )
+{
+}
+
+// -----------------------------------------------------------------------
+
+int SfxHyphenRegionItem::operator==( const SfxPoolItem& rAttr ) const
+{
+ DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
+
+ return ( ( ( (SfxHyphenRegionItem&)rAttr ).nMinLead == nMinLead ) &&
+ ( ( (SfxHyphenRegionItem&)rAttr ).nMinTrail == nMinTrail ) );
+}
+
+// -----------------------------------------------------------------------
+
+SfxPoolItem* SfxHyphenRegionItem::Clone( SfxItemPool* ) const
+{
+ return new SfxHyphenRegionItem( *this );
+}
+
+//------------------------------------------------------------------------
+
+SfxItemPresentation SfxHyphenRegionItem::GetPresentation
+(
+ SfxItemPresentation ePres,
+ SfxMapUnit ,
+ SfxMapUnit ,
+ String& rText,
+ const IntlWrapper*
+) const
+{
+ switch ( ePres )
+ {
+ case SFX_ITEM_PRESENTATION_NONE:
+ rText.Erase();
+ return SFX_ITEM_PRESENTATION_NONE;
+
+ case SFX_ITEM_PRESENTATION_NAMELESS:
+ case SFX_ITEM_PRESENTATION_COMPLETE:
+ {
+ rText += String::CreateFromInt32( nMinLead );
+ rText += String( EditResId( RID_SVXITEMS_HYPHEN_MINLEAD ) );
+ rText += ',';
+ rText += String::CreateFromInt32( nMinTrail );
+ rText += String( EditResId( RID_SVXITEMS_HYPHEN_MINTRAIL ) );
+ return ePres;
+ }
+ default:
+ return SFX_ITEM_PRESENTATION_NONE;
+ }
+}
+
+// -----------------------------------------------------------------------
+
+SfxPoolItem* SfxHyphenRegionItem::Create(SvStream& rStrm, sal_uInt16 ) const
+{
+ sal_uInt8 _nMinLead, _nMinTrail;
+ rStrm >> _nMinLead >> _nMinTrail;
+ SfxHyphenRegionItem* pAttr = new SfxHyphenRegionItem( Which() );
+ pAttr->GetMinLead() = _nMinLead;
+ pAttr->GetMinTrail() = _nMinTrail;
+ return pAttr;
+}
+
+// -----------------------------------------------------------------------
+
+SvStream& SfxHyphenRegionItem::Store( SvStream& rStrm, sal_uInt16 ) const
+{
+ rStrm << (sal_uInt8) GetMinLead()
+ << (sal_uInt8) GetMinTrail();
+ return rStrm;
+}
+
+