[Libreoffice-commits] core.git: 5 commits - cui/source editeng/source forms/source include/editeng sc/source sd/source starmath/source svx/source sw/source

Noel Grandin noel at peralex.com
Wed Mar 25 00:48:55 PDT 2015


 cui/source/tabpages/border.cxx                       |   60 +++----
 editeng/source/editeng/editeng.cxx                   |   32 ++--
 editeng/source/editeng/editstt2.hxx                  |   58 +++----
 editeng/source/editeng/editview.cxx                  |    4 
 editeng/source/editeng/edtspell.cxx                  |    2 
 editeng/source/editeng/impedit.cxx                   |   12 -
 editeng/source/editeng/impedit.hxx                   |   30 +--
 editeng/source/editeng/impedit2.cxx                  |   12 -
 editeng/source/editeng/impedit3.cxx                  |   12 -
 editeng/source/editeng/impedit4.cxx                  |    2 
 editeng/source/items/frmitems.cxx                    |   12 -
 editeng/source/outliner/outleeng.cxx                 |    2 
 editeng/source/outliner/outlin2.cxx                  |    4 
 editeng/source/outliner/outliner.cxx                 |   12 -
 editeng/source/outliner/outlvw.cxx                   |   24 +--
 forms/source/richtext/richtextimplcontrol.cxx        |   18 +-
 forms/source/richtext/richtextmodel.cxx              |    4 
 include/editeng/boxitem.hxx                          |   51 +++---
 include/editeng/editeng.hxx                          |    7 
 include/editeng/editstat.hxx                         |  146 +++++++++++--------
 include/editeng/editview.hxx                         |    5 
 include/editeng/outliner.hxx                         |   21 +-
 sc/source/core/data/attarray.cxx                     |   16 +-
 sc/source/core/data/cellvalue.cxx                    |    4 
 sc/source/core/data/column2.cxx                      |   20 +-
 sc/source/core/data/document.cxx                     |   12 -
 sc/source/core/data/dpoutput.cxx                     |   14 -
 sc/source/core/data/stlpool.cxx                      |   10 -
 sc/source/core/data/stlsheet.cxx                     |    2 
 sc/source/core/tool/editutil.cxx                     |   10 -
 sc/source/filter/excel/xlroot.cxx                    |    6 
 sc/source/filter/oox/workbookhelper.cxx              |    2 
 sc/source/filter/xml/xmlimprt.cxx                    |    2 
 sc/source/ui/app/inputhdl.cxx                        |   34 ++--
 sc/source/ui/app/inputwin.cxx                        |   16 +-
 sc/source/ui/pagedlg/tphfedit.cxx                    |    2 
 sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx |   12 -
 sc/source/ui/sidebar/CellBorderStyleControl.cxx      |   48 +++---
 sc/source/ui/unoobj/cellsuno.cxx                     |   28 +--
 sc/source/ui/unoobj/styleuno.cxx                     |    2 
 sc/source/ui/view/formatsh.cxx                       |   12 -
 sc/source/ui/view/gridwin.cxx                        |    8 -
 sc/source/ui/view/output2.cxx                        |   22 +-
 sc/source/ui/view/printfun.cxx                       |    2 
 sc/source/ui/view/spelldialog.cxx                    |    2 
 sc/source/ui/view/tabvwsha.cxx                       |    8 -
 sc/source/ui/view/viewdata.cxx                       |   32 ++--
 sc/source/ui/view/viewfun4.cxx                       |    2 
 sc/source/ui/view/viewfunc.cxx                       |   12 -
 sd/source/core/drawdoc.cxx                           |   42 ++---
 sd/source/core/drawdoc4.cxx                          |    4 
 sd/source/filter/ppt/pptin.cxx                       |    6 
 sd/source/ui/annotations/annotationwindow.cxx        |    4 
 sd/source/ui/app/sdmod2.cxx                          |   10 -
 sd/source/ui/docshell/docshel4.cxx                   |    6 
 sd/source/ui/presenter/PresenterTextView.cxx         |    7 
 sd/source/ui/tools/PreviewRenderer.cxx               |    4 
 sd/source/ui/unoidl/UnoDocumentSettings.cxx          |   10 -
 sd/source/ui/view/DocumentRenderer.cxx               |    8 -
 sd/source/ui/view/Outliner.cxx                       |   16 +-
 sd/source/ui/view/drviewse.cxx                       |    6 
 sd/source/ui/view/outlnvs2.cxx                       |    8 -
 sd/source/ui/view/outlnvsh.cxx                       |   14 -
 sd/source/ui/view/outlview.cxx                       |    4 
 sd/source/ui/view/sdview.cxx                         |   18 +-
 starmath/source/document.cxx                         |    6 
 svx/source/sdr/primitive2d/sdrattributecreator.cxx   |    2 
 svx/source/svdraw/svdattr.cxx                        |    2 
 svx/source/svdraw/svdedxv.cxx                        |   26 +--
 svx/source/svdraw/svdoashp.cxx                       |    4 
 svx/source/svdraw/svdotext.cxx                       |   18 +-
 svx/source/svdraw/svdotextdecomposition.cxx          |   12 -
 svx/source/svdraw/svdotxed.cxx                       |   12 -
 svx/source/svdraw/svdoutl.cxx                        |    4 
 svx/source/table/cell.cxx                            |   28 +--
 svx/source/table/svdotable.cxx                       |   16 +-
 svx/source/table/tablecontroller.cxx                 |   58 +++----
 svx/source/tbxctrls/tbcontrl.cxx                     |   16 +-
 svx/source/unodraw/UnoGraphicExporter.cxx            |    4 
 sw/source/core/docnode/ndtbl1.cxx                    |   46 ++---
 sw/source/core/unocore/unotbl.cxx                    |   56 +++----
 sw/source/ui/dbui/dbinsdlg.cxx                       |    2 
 sw/source/uibase/app/docstyle.cxx                    |    2 
 sw/source/uibase/docvw/HeaderFooterWin.cxx           |    2 
 sw/source/uibase/docvw/SidebarWin.cxx                |   26 +--
 sw/source/uibase/shells/drwtxtex.cxx                 |    6 
 sw/source/uibase/shells/drwtxtsh.cxx                 |    8 -
 sw/source/uibase/shells/langhelper.cxx               |    8 -
 sw/source/uibase/shells/tabsh.cxx                    |    4 
 sw/source/uibase/uiview/viewdraw.cxx                 |   12 -
 sw/source/uibase/utlui/uitool.cxx                    |    4 
 91 files changed, 727 insertions(+), 694 deletions(-)

New commits:
commit 9110d8724d0af5e8a0a148096ce67c1d5a721f98
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Mar 25 09:47:29 2015 +0200

    convert EE_STAT constants to enum class
    
    Change-Id: I2967cdbfd0303844892150bbff7aa5ce1a57054f

diff --git a/editeng/source/editeng/editstt2.hxx b/editeng/source/editeng/editstt2.hxx
index 84993a1..44f1ed7 100644
--- a/editeng/source/editeng/editstt2.hxx
+++ b/editeng/source/editeng/editstt2.hxx
@@ -34,10 +34,10 @@ public:
     void    TurnOffFlags( EEControlBits nFlags )
                 { nControlBits &= ~nFlags; }
 
-    void    TurnOnStatusBits( sal_uLong nBits )
+    void    TurnOnStatusBits( EditStatusFlags nBits )
                 { nStatusBits |= nBits; }
 
-    void    TurnOffStatusBits( sal_uLong nBits )
+    void    TurnOffStatusBits( EditStatusFlags nBits )
                 { nStatusBits &= ~nBits; }
 
 
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 0344f54..7ac0acc 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -860,9 +860,9 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor, sal_uInt16
             }
 
             if ( nDiffX )
-                pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EE_STAT_HSCROLL;
+                pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EditStatusFlags::HSCROLL;
             if ( nDiffY )
-                pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EE_STAT_VSCROLL;
+                pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EditStatusFlags::VSCROLL;
             Scroll( -nDiffX, -nDiffY );
             pEditEngine->pImpEditEngine->DelayedCallStatusHdl();
         }
@@ -956,7 +956,7 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor, sal_uInt16
     }
     else
     {
-        pEditEngine->pImpEditEngine->GetStatus().GetStatusWord() = pEditEngine->pImpEditEngine->GetStatus().GetStatusWord() | EE_STAT_CURSOROUT;
+        pEditEngine->pImpEditEngine->GetStatus().GetStatusWord() = pEditEngine->pImpEditEngine->GetStatus().GetStatusWord() | EditStatusFlags::CURSOROUT;
         GetCursor()->Hide();
         GetCursor()->SetPos( Point( -1, -1 ) );
         GetCursor()->SetSize( Size( 0, 0 ) );
@@ -1123,7 +1123,7 @@ bool ImpEditView::MouseButtonUp( const MouseEvent& rMouseEvent )
     {
         if ( pEditEngine->GetInternalEditStatus().GetPrevParagraph() != pEditEngine->GetEditDoc().GetPos( GetEditSelection().Max().GetNode() ) )
         {
-            pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EE_STAT_CRSRLEFTPARA;
+            pEditEngine->GetInternalEditStatus().GetStatusWord() = pEditEngine->GetInternalEditStatus().GetStatusWord() | EditStatusFlags::CRSRLEFTPARA;
             pEditEngine->pImpEditEngine->CallStatusHdl();
         }
     }
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index 131b09c..fa62ca2 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -886,12 +886,12 @@ EditSelection ImpEditEngine::MoveCursor( const KeyEvent& rKeyEvent, EditView* pE
         CursorMoved( aOldPaM.GetNode() );
         if ( aStatus.NotifyCursorMovements() && ( aOldPaM.GetNode() != aPaM.GetNode() ) )
         {
-            aStatus.GetStatusWord() = aStatus.GetStatusWord() | EE_STAT_CRSRLEFTPARA;
+            aStatus.GetStatusWord() = aStatus.GetStatusWord() | EditStatusFlags::CRSRLEFTPARA;
             aStatus.GetPrevParagraph() = aEditDoc.GetPos( aOldPaM.GetNode() );
         }
     }
     else
-        aStatus.GetStatusWord() = aStatus.GetStatusWord() | EE_STAT_CRSRMOVEFAIL;
+        aStatus.GetStatusWord() = aStatus.GetStatusWord() | EditStatusFlags::CRSRMOVEFAIL;
 
     // May cause, an CreateAnchor or deselection all
     aSelEngine.SetCurView( pEditView );
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index c273180..caba43f 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -428,7 +428,7 @@ void ImpEditEngine::FormatDoc()
         sal_uInt32 nNewHeight = CalcTextHeight( &nNewHeightNTP );
         long nDiff = nNewHeight - nCurTextHeight;
         if ( nDiff )
-            aStatus.GetStatusWord() |= !IsVertical() ? EE_STAT_TEXTHEIGHTCHANGED : EE_STAT_TEXTWIDTHCHANGED;
+            aStatus.GetStatusWord() |= !IsVertical() ? EditStatusFlags::TEXTHEIGHTCHANGED : EditStatusFlags::TEXTWIDTHCHANGED;
         if ( nNewHeight < nCurTextHeight )
         {
             aInvalidRect.Bottom() = (long)std::max( nNewHeight, nCurTextHeight );
@@ -520,7 +520,7 @@ void ImpEditEngine::CheckAutoPageSize()
              || ( IsVertical() && ( aPaperSize.Height() != aPrevPaperSize.Height() ) ) )
         {
             // If ahead is centered / right or tabs ...
-            aStatus.GetStatusWord() |= !IsVertical() ? EE_STAT_TEXTWIDTHCHANGED : EE_STAT_TEXTHEIGHTCHANGED;
+            aStatus.GetStatusWord() |= !IsVertical() ? EditStatusFlags::TEXTWIDTHCHANGED : EditStatusFlags::TEXTHEIGHTCHANGED;
             for ( sal_Int32 nPara = 0; nPara < GetParaPortions().Count(); nPara++ )
             {
                 // Only paragraphs which are not aligned to the left need to be
@@ -4026,7 +4026,7 @@ IMPL_LINK_NOARG_INLINE_END(ImpEditEngine, StatusTimerHdl)
 
 void ImpEditEngine::CallStatusHdl()
 {
-    if ( aStatusHdlLink.IsSet() && aStatus.GetStatusWord() )
+    if ( aStatusHdlLink.IsSet() && bool(aStatus.GetStatusWord()) )
     {
         // The Status has to be reset before the Call,
         // since other Flags might be set in the handler...
diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx
index 5c1a506..6bcd3a9 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -2378,7 +2378,7 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* pThisNodeOnly, bool bSpellAtC
             // Invalidate?
             if ( nPaintFrom>=0 )
             {
-                aStatus.GetStatusWord() |= EE_STAT_WRONGWORDCHANGED;
+                aStatus.GetStatusWord() |= EditStatusFlags::WRONGWORDCHANGED;
                 CallStatusHdl();
 
                 if (!aEditViews.empty())
diff --git a/forms/source/richtext/richtextimplcontrol.cxx b/forms/source/richtext/richtextimplcontrol.cxx
index bb83854..1d1efb2 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -274,22 +274,22 @@ namespace frm
 
     void RichTextControlImpl::EditEngineStatusChanged( const EditStatus& _rStatus )
     {
-        sal_uLong nStatusWord( _rStatus.GetStatusWord() );
-        if  (   ( nStatusWord & EE_STAT_TEXTWIDTHCHANGED )
-            ||  ( nStatusWord & EE_STAT_TEXTHEIGHTCHANGED )
+        EditStatusFlags nStatusWord( _rStatus.GetStatusWord() );
+        if  (   ( nStatusWord & EditStatusFlags::TEXTWIDTHCHANGED )
+            ||  ( nStatusWord & EditStatusFlags::TEXTHEIGHTCHANGED )
             )
         {
-            if ( ( nStatusWord & EE_STAT_TEXTHEIGHTCHANGED ) && windowHasAutomaticLineBreak() )
+            if ( ( nStatusWord & EditStatusFlags::TEXTHEIGHTCHANGED ) && windowHasAutomaticLineBreak() )
                 m_pEngine->SetPaperSize( Size( m_pEngine->GetPaperSize().Width(), m_pEngine->GetTextHeight() ) );
 
             updateScrollbars();
         }
 
-        bool bHScroll = 0 != ( nStatusWord & EE_STAT_HSCROLL );
-        bool bVScroll = 0 != ( nStatusWord & EE_STAT_VSCROLL );
+        bool bHScroll = bool( nStatusWord & EditStatusFlags::HSCROLL );
+        bool bVScroll = bool( nStatusWord & EditStatusFlags::VSCROLL );
 
         // In case of *no* automatic line breaks, we also need to check for the *range* here.
-        // Normally, we would do this only after a EE_STAT_TEXTWIDTHCHANGED. However, due to a bug
+        // Normally, we would do this only after a EditStatusFlags::TEXTWIDTHCHANGED. However, due to a bug
         // in the EditEngine (I believe so) this is not fired when the engine does not have
         // the AutoPaperSize bits set.
         // So in order to be properly notified, we would need the AutoPaperSize. But, with
diff --git a/include/editeng/editstat.hxx b/include/editeng/editstat.hxx
index 59461a0..2c2f5f8 100644
--- a/include/editeng/editstat.hxx
+++ b/include/editeng/editstat.hxx
@@ -77,17 +77,25 @@ namespace o3tl
     template<> struct typed_flags<EVControlBits> : is_typed_flags<EVControlBits, 0xff> {};
 }
 
-#define EE_STAT_HSCROLL             0x00000001
-#define EE_STAT_VSCROLL             0x00000002
-#define EE_STAT_CURSOROUT           0x00000004
-#define EE_STAT_CRSRMOVEFAIL        0x00000008
-#define EE_STAT_CRSRLEFTPARA        0x00000010
-#define EE_STAT_TEXTWIDTHCHANGED    0x00000020
-#define EE_STAT_TEXTHEIGHTCHANGED   0x00000040
-#define EE_STAT_WRONGWORDCHANGED    0x00000080
+enum class EditStatusFlags
+{
+    NONE                = 0x0000,
+    HSCROLL             = 0x0001,
+    VSCROLL             = 0x0002,
+    CURSOROUT           = 0x0004,
+    CRSRMOVEFAIL        = 0x0008,
+    CRSRLEFTPARA        = 0x0010,
+    TEXTWIDTHCHANGED    = 0x0020,
+    TEXTHEIGHTCHANGED   = 0x0040,
+    WRONGWORDCHANGED    = 0x0080
+};
+namespace o3tl
+{
+    template<> struct typed_flags<EditStatusFlags> : is_typed_flags<EditStatusFlags, 0xff> {};
+}
 
 /*
-    EE_STAT_CRSRLEFTPARA at the time cursor movement and the enter.
+    EditStatusFlags::CRSRLEFTPARA at the time cursor movement and the enter.
 */
 
 inline void SetFlags( EEControlBits& rBits, EEControlBits nMask, bool bOn )
@@ -109,19 +117,19 @@ inline void SetFlags( EVControlBits& rBits, EVControlBits nMask, bool bOn )
 class EditStatus
 {
 protected:
-    sal_uLong     nStatusBits;
-    EEControlBits nControlBits;
-    sal_Int32     nPrevPara;                  // for EE_STAT_CRSRLEFTPARA
+    EditStatusFlags nStatusBits;
+    EEControlBits   nControlBits;
+    sal_Int32       nPrevPara;                  // for EditStatusFlags::CRSRLEFTPARA
 
 public:
-            EditStatus()                { nStatusBits = 0; nControlBits = EEControlBits::NONE; nPrevPara = -1; }
+            EditStatus()                { nStatusBits = EditStatusFlags::NONE; nControlBits = EEControlBits::NONE; nPrevPara = -1; }
 
-    void    Clear()                     { nStatusBits = 0; }
+    void    Clear()                     { nStatusBits = EditStatusFlags::NONE; }
     void    SetControlBits( EEControlBits nMask, bool bOn )
                 { SetFlags( nControlBits, nMask, bOn ); }
 
-    sal_uLong   GetStatusWord() const       { return nStatusBits; }
-    sal_uLong&  GetStatusWord()             { return nStatusBits; }
+    EditStatusFlags  GetStatusWord() const       { return nStatusBits; }
+    EditStatusFlags& GetStatusWord()             { return nStatusBits; }
 
     EEControlBits  GetControlWord() const      { return nControlBits; }
     EEControlBits& GetControlWord()            { return nControlBits; }
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 9881145..12fb75f 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5463,8 +5463,8 @@ struct SpellCheckStatus
 
 IMPL_LINK(SpellCheckStatus, EventHdl, EditStatus*, pStatus)
 {
-    sal_uLong nStatus = pStatus->GetStatusWord();
-    if (nStatus & EE_STAT_WRONGWORDCHANGED)
+    EditStatusFlags nStatus = pStatus->GetStatusWord();
+    if (nStatus & EditStatusFlags::WRONGWORDCHANGED)
         mbModified = true;
 
     return 0;
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 5d7a93b..3d2f772 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1108,13 +1108,13 @@ IMPL_LINK_NOARG_INLINE_END(ScViewData, EmptyEditHdl)
 
 IMPL_LINK( ScViewData, EditEngineHdl, EditStatus *, pStatus )
 {
-    sal_uLong nStatus = pStatus->GetStatusWord();
-    if (nStatus & (EE_STAT_HSCROLL | EE_STAT_TEXTHEIGHTCHANGED | EE_STAT_TEXTWIDTHCHANGED | EE_STAT_CURSOROUT))
+    EditStatusFlags nStatus = pStatus->GetStatusWord();
+    if (nStatus & (EditStatusFlags::HSCROLL | EditStatusFlags::TEXTHEIGHTCHANGED | EditStatusFlags::TEXTWIDTHCHANGED | EditStatusFlags::CURSOROUT))
     {
         EditGrowY();
         EditGrowX();
 
-        if (nStatus & EE_STAT_CURSOROUT)
+        if (nStatus & EditStatusFlags::CURSOROUT)
         {
             ScSplitPos eWhich = GetActivePart();
             if (pEditView[eWhich])
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index 7543c77..48ac39e 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -959,8 +959,8 @@ void SdDrawDocument::RemoveObject(SdrObject* pObj, SdPage* /*pPage*/)
 // Callback for ExecuteSpellPopup()
 IMPL_LINK(SdDrawDocument, OnlineSpellEventHdl, EditStatus*, pEditStat)
 {
-    sal_uLong nStat = pEditStat->GetStatusWord();
-    mbHasOnlineSpellErrors = (nStat & EE_STAT_WRONGWORDCHANGED) != 0;
+    EditStatusFlags nStat = pEditStat->GetStatusWord();
+    mbHasOnlineSpellErrors = bool(nStat & EditStatusFlags::WRONGWORDCHANGED);
 
     return 0;
 }
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 56d3ee6..597777d 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -1918,9 +1918,9 @@ void SdrTextObj::SetTextAnimationAllowed(bool bNew)
 /** called from the SdrObjEditView during text edit when the status of the edit outliner changes */
 void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
 {
-    const sal_uInt32 nStat = pEditStatus->GetStatusWord();
-    const bool bGrowX=(nStat & EE_STAT_TEXTWIDTHCHANGED) !=0;
-    const bool bGrowY=(nStat & EE_STAT_TEXTHEIGHTCHANGED) !=0;
+    const EditStatusFlags nStat = pEditStatus->GetStatusWord();
+    const bool bGrowX = bool(nStat & EditStatusFlags::TEXTWIDTHCHANGED);
+    const bool bGrowY = bool(nStat & EditStatusFlags::TEXTHEIGHTCHANGED);
     if(bTextFrame && (bGrowX || bGrowY))
     {
         if ((bGrowX && IsAutoGrowWidth()) || (bGrowY && IsAutoGrowHeight()))
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 15016d4..f2b4692 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -1338,7 +1338,7 @@ bool SdrTableObj::IsTextEditActive( const CellPos& rPos )
 
 void SdrTableObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
 {
-    if( (pEditStatus->GetStatusWord() & EE_STAT_TEXTHEIGHTCHANGED) && mpImpl && mpImpl->mpLayouter )
+    if( (pEditStatus->GetStatusWord() & EditStatusFlags::TEXTHEIGHTCHANGED) && mpImpl && mpImpl->mpLayouter )
     {
         Rectangle aRect0( maRect );
         maRect = maLogicRect;
commit c7c0723dd97e278edeb7686d350ffe6d8706ed66
Author: Noel Grandin <noel at peralex.com>
Date:   Tue Mar 24 16:23:31 2015 +0200

    convert EV_CNTRL constants to enum class
    
    Change-Id: I0ffc0e222c978ce7c734228f712e88422d3a615f

diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index e9ec245..fa77d3c 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -593,12 +593,12 @@ void EditView::registerLibreOfficeKitCallback(LibreOfficeKitCallback pCallback,
     pImpEditView->registerLibreOfficeKitCallback(pCallback, pLibreOfficeKitData);
 }
 
-void EditView::SetControlWord( sal_uInt32 nWord )
+void EditView::SetControlWord( EVControlBits nWord )
 {
     pImpEditView->nControl = nWord;
 }
 
-sal_uInt32 EditView::GetControlWord() const
+EVControlBits EditView::GetControlWord() const
 {
     return pImpEditView->nControl;
 }
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 7593b80..0344f54 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -90,7 +90,7 @@ ImpEditView::ImpEditView( EditView* pView, EditEngine* pEng, vcl::Window* pWindo
     eAnchorMode         = ANCHOR_TOP_LEFT;
     nInvMore            = 1;
     nTravelXPos         = TRAVEL_X_DONTKNOW;
-    nControl            = EV_CNTRL_AUTOSCROLL | EV_CNTRL_ENABLEPASTE;
+    nControl            = EVControlBits::AUTOSCROLL | EVControlBits::ENABLEPASTE;
     bActiveDragAndDropListener = false;
 
     aEditSelection.Min() = pEng->GetEditDoc().GetStartPaM();
@@ -1180,7 +1180,7 @@ void ImpEditView::SetInsertMode( bool bInsert )
 {
     if ( bInsert != IsInsertMode() )
     {
-        SetFlags( nControl, EV_CNTRL_OVERWRITE, !bInsert );
+        SetFlags( nControl, EVControlBits::OVERWRITE, !bInsert );
         ShowCursor( DoAutoScroll(), false );
     }
 }
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index febfd39..dd2f644 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -230,14 +230,14 @@ private:
 
 
     long                nInvMore;
-    sal_uLong               nControl;
+    EVControlBits       nControl;
     sal_uInt32          nTravelXPos;
     sal_uInt16          nExtraCursorFlags;
     sal_uInt16          nCursorBidiLevel;
     sal_uInt16          nScrollDiffX;
-    bool            bReadOnly;
-    bool            bClickedInSelection;
-    bool            bActiveDragAndDropListener;
+    bool                bReadOnly;
+    bool                bClickedInSelection;
+    bool                bActiveDragAndDropListener;
 
     Point               aAnchorPoint;
     Rectangle           aOutArea;
@@ -352,18 +352,18 @@ public:
     Pair            Scroll( long ndX, long ndY, sal_uInt8 nRangeCheck = RGCHK_NEG );
 
     void        SetInsertMode( bool bInsert );
-    bool        IsInsertMode() const            { return ( ( nControl & EV_CNTRL_OVERWRITE ) == 0 ); }
-
-    void        EnablePaste( bool bEnable )     { SetFlags( nControl, EV_CNTRL_ENABLEPASTE, bEnable ); }
-    bool        IsPasteEnabled() const          { return ( ( nControl & EV_CNTRL_ENABLEPASTE ) != 0 ); }
-
-    bool        DoSingleLinePaste() const       { return ( ( nControl & EV_CNTRL_SINGLELINEPASTE ) != 0 ); }
-    bool        DoAutoScroll() const            { return ( ( nControl & EV_CNTRL_AUTOSCROLL ) != 0 ); }
-    bool        DoBigScroll() const             { return ( ( nControl & EV_CNTRL_BIGSCROLL ) != 0 ); }
-    bool        DoAutoSize() const              { return ( ( nControl & EV_CNTRL_AUTOSIZE ) != 0 ); }
-    bool        DoAutoWidth() const             { return ( ( nControl & EV_CNTRL_AUTOSIZEX) != 0 ); }
-    bool        DoAutoHeight() const            { return ( ( nControl & EV_CNTRL_AUTOSIZEY) != 0 ); }
-    bool        DoInvalidateMore() const        { return ( ( nControl & EV_CNTRL_INVONEMORE ) != 0 ); }
+    bool        IsInsertMode() const            { return !( nControl & EVControlBits::OVERWRITE ); }
+
+    void        EnablePaste( bool bEnable )     { SetFlags( nControl, EVControlBits::ENABLEPASTE, bEnable ); }
+    bool        IsPasteEnabled() const          { return bool( nControl & EVControlBits::ENABLEPASTE ); }
+
+    bool        DoSingleLinePaste() const       { return bool( nControl & EVControlBits::SINGLELINEPASTE ); }
+    bool        DoAutoScroll() const            { return bool( nControl & EVControlBits::AUTOSCROLL ); }
+    bool        DoBigScroll() const             { return bool( nControl & EVControlBits::BIGSCROLL ); }
+    bool        DoAutoSize() const              { return bool( nControl & EVControlBits::AUTOSIZE ); }
+    bool        DoAutoWidth() const             { return bool( nControl & EVControlBits::AUTOSIZEX); }
+    bool        DoAutoHeight() const            { return bool( nControl & EVControlBits::AUTOSIZEY); }
+    bool        DoInvalidateMore() const        { return bool( nControl & EVControlBits::INVONEMORE ); }
 
     void            SetBackgroundColor( const Color& rColor );
     const Color&    GetBackgroundColor() const {
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx
index 183aa18..09d1341 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -1313,12 +1313,12 @@ void OutlinerView::Scroll( long nHorzScroll, long nVertScroll )
     pEditView->Scroll( nHorzScroll, nVertScroll );
 }
 
-void OutlinerView::SetControlWord( sal_uLong nWord )
+void OutlinerView::SetControlWord( EVControlBits nWord )
 {
     pEditView->SetControlWord( nWord );
 }
 
-sal_uLong OutlinerView::GetControlWord() const
+EVControlBits OutlinerView::GetControlWord() const
 {
     return pEditView->GetControlWord();
 }
diff --git a/forms/source/richtext/richtextimplcontrol.cxx b/forms/source/richtext/richtextimplcontrol.cxx
index 0b65da2..bb83854 100644
--- a/forms/source/richtext/richtextimplcontrol.cxx
+++ b/forms/source/richtext/richtextimplcontrol.cxx
@@ -72,8 +72,8 @@ namespace frm
         m_pEngine->registerEngineStatusListener( this );
 
         {
-            sal_uLong nViewControlWord = m_pView->GetControlWord();
-            nViewControlWord |= EV_CNTRL_AUTOSCROLL;
+            EVControlBits nViewControlWord = m_pView->GetControlWord();
+            nViewControlWord |= EVControlBits::AUTOSCROLL;
             m_pView->SetControlWord( nViewControlWord );
         }
 
diff --git a/include/editeng/editstat.hxx b/include/editeng/editstat.hxx
index ba973a7..59461a0 100644
--- a/include/editeng/editstat.hxx
+++ b/include/editeng/editstat.hxx
@@ -60,15 +60,22 @@ namespace o3tl
     template<> struct typed_flags<EEControlBits> : is_typed_flags<EEControlBits, 0x07ffffff> {};
 }
 
-#define EV_CNTRL_AUTOSCROLL         0x00000001  // Auto scrolling horizontally
-#define EV_CNTRL_BIGSCROLL          0x00000002  // Scroll further to the cursor
-#define EV_CNTRL_ENABLEPASTE        0x00000004  // Enable Paste
-#define EV_CNTRL_SINGLELINEPASTE    0x00000008  // View: Paste in input line ...
-#define EV_CNTRL_OVERWRITE          0x00000010  // Overwrite mode
-#define EV_CNTRL_INVONEMORE         0x00000020  // Invalidate one pixel more
-#define EV_CNTRL_AUTOSIZEX          0x00000040  // Automatically adapt to text width
-#define EV_CNTRL_AUTOSIZEY          0x00000080  // Automatically adapt to Text width
-#define EV_CNTRL_AUTOSIZE           (EV_CNTRL_AUTOSIZEX|EV_CNTRL_AUTOSIZEY)
+enum class EVControlBits
+{
+    AUTOSCROLL         = 0x0001,  // Auto scrolling horizontally
+    BIGSCROLL          = 0x0002,  // Scroll further to the cursor
+    ENABLEPASTE        = 0x0004,  // Enable Paste
+    SINGLELINEPASTE    = 0x0008,  // View: Paste in input line ...
+    OVERWRITE          = 0x0010,  // Overwrite mode
+    INVONEMORE         = 0x0020,  // Invalidate one pixel more
+    AUTOSIZEX          = 0x0040,  // Automatically adapt to text width
+    AUTOSIZEY          = 0x0080,  // Automatically adapt to Text width
+    AUTOSIZE           = (AUTOSIZEX|AUTOSIZEY)
+};
+namespace o3tl
+{
+    template<> struct typed_flags<EVControlBits> : is_typed_flags<EVControlBits, 0xff> {};
+}
 
 #define EE_STAT_HSCROLL             0x00000001
 #define EE_STAT_VSCROLL             0x00000002
@@ -91,7 +98,7 @@ inline void SetFlags( EEControlBits& rBits, EEControlBits nMask, bool bOn )
         rBits &= ~nMask;
 }
 
-inline void SetFlags( sal_uLong& rBits, const sal_uInt32 nMask, bool bOn )
+inline void SetFlags( EVControlBits& rBits, EVControlBits nMask, bool bOn )
 {
     if ( bOn )
         rBits |= nMask;
diff --git a/include/editeng/editview.hxx b/include/editeng/editview.hxx
index a1d05ef..3e2fb1a 100644
--- a/include/editeng/editview.hxx
+++ b/include/editeng/editview.hxx
@@ -27,6 +27,7 @@
 #include <tools/color.hxx>
 #include <tools/gen.hxx>
 #include <vcl/cursor.hxx>
+#include <editeng/editstat.hxx>
 #define LOK_USE_UNSTABLE_API
 #include <LibreOfficeKit/LibreOfficeKitTypes.h>
 
@@ -176,8 +177,8 @@ public:
     /// @see vcl::ITiledRenderable::registerCallback().
     void registerLibreOfficeKitCallback(LibreOfficeKitCallback pCallback, void* pLibreOfficeKitData);
 
-    void            SetControlWord( sal_uInt32 nWord );
-    sal_uInt32      GetControlWord() const;
+    void            SetControlWord( EVControlBits nWord );
+    EVControlBits   GetControlWord() const;
 
     EditTextObject* CreateTextObject();
     void            InsertText( const EditTextObject& rTextObject );
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index d80263f..b973e64 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -284,8 +284,8 @@ public:
     const SfxStyleSheet*  GetStyleSheet() const;
     SfxStyleSheet*  GetStyleSheet();
 
-    void        SetControlWord( sal_uLong nWord );
-    sal_uLong       GetControlWord() const;
+    void            SetControlWord( EVControlBits nWord );
+    EVControlBits   GetControlWord() const;
 
     void            SetAnchorMode( EVAnchorMode eMode );
     EVAnchorMode    GetAnchorMode() const;
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 728e14e..747ff2e 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1389,8 +1389,8 @@ void ScMultiTextWnd::InitEditEngine()
     pEditView->SetInsertMode(bIsInsertMode);
 
     // Text from Clipboard is taken over as ASCII in a single row
-    sal_uLong n = pEditView->GetControlWord();
-    pEditView->SetControlWord( n | EV_CNTRL_SINGLELINEPASTE );
+    EVControlBits n = pEditView->GetControlWord();
+    pEditView->SetControlWord( n | EVControlBits::SINGLELINEPASTE );
 
     pEditEngine->InsertView( pEditView, EE_APPEND );
 
@@ -1762,8 +1762,8 @@ void ScTextWnd::StartEditEngine()
         pEditView->SetInsertMode(bIsInsertMode);
 
         // The text from the Clipboard is taken over as ASCII in a single row
-        sal_uLong n = pEditView->GetControlWord();
-        pEditView->SetControlWord( n | EV_CNTRL_SINGLELINEPASTE );
+        EVControlBits n = pEditView->GetControlWord();
+        pEditView->SetControlWord( n | EVControlBits::SINGLELINEPASTE );
 
         pEditEngine->InsertView( pEditView, EE_APPEND );
 
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index 5675d68..5d7a93b 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -945,8 +945,8 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
     EEControlBits nEC = pNewEngine->GetControlWord();
     pNewEngine->SetControlWord(nEC & ~EEControlBits::DOIDLEFORMAT);
 
-    sal_uLong nVC = pEditView[eWhich]->GetControlWord();
-    pEditView[eWhich]->SetControlWord(nVC & ~EV_CNTRL_AUTOSCROLL);
+    EVControlBits nVC = pEditView[eWhich]->GetControlWord();
+    pEditView[eWhich]->SetControlWord(nVC & ~EVControlBits::AUTOSCROLL);
 
     bEditActive[eWhich] = true;
 
@@ -1315,8 +1315,8 @@ void ScViewData::EditGrowY( bool bInitial )
     if ( !pCurView || !bEditActive[eWhich])
         return;
 
-    sal_uLong nControl = pEditView[eWhich]->GetControlWord();
-    if ( nControl & EV_CNTRL_AUTOSCROLL )
+    EVControlBits nControl = pEditView[eWhich]->GetControlWord();
+    if ( nControl & EVControlBits::AUTOSCROLL )
     {
         //  if end of screen had already been reached and scrolling enabled,
         //  don't further try to grow the edit area
@@ -1377,8 +1377,8 @@ void ScViewData::EditGrowY( bool bInitial )
 
         if (nEditEndRow >= nBottom || bMaxReached)
         {
-            if ((nControl & EV_CNTRL_AUTOSCROLL) == 0)
-                pCurView->SetControlWord( nControl | EV_CNTRL_AUTOSCROLL );
+            if (!(nControl & EVControlBits::AUTOSCROLL))
+                pCurView->SetControlWord( nControl | EVControlBits::AUTOSCROLL );
         }
 
         aArea.Top() = nOldBottom;
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 26d15c9..469d1f8 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -1665,8 +1665,8 @@ void Outliner::Implementation::ProvideOutlinerView (
                 }
                 else
                     mpOutlineView->SetWindow(pWindow);
-                sal_uLong nStat = mpOutlineView->GetControlWord();
-                nStat &= ~EV_CNTRL_AUTOSCROLL;
+                EVControlBits nStat = mpOutlineView->GetControlWord();
+                nStat &= ~EVControlBits::AUTOSCROLL;
                 mpOutlineView->SetControlWord(nStat);
                 if (bInsert)
                     rOutliner.InsertView( mpOutlineView );
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index f04c617..0a61c42 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -219,11 +219,11 @@ void SdrObjEditView::ModelHasChanged()
                     }
                     for (sal_uIntPtr nOV=0; nOV<nOutlViewAnz; nOV++) {
                         OutlinerView* pOLV=pTextEditOutliner->GetView(nOV);
-                        sal_uIntPtr nStat0=pOLV->GetControlWord();
-                        sal_uIntPtr nStat=nStat0;
+                        EVControlBits nStat0=pOLV->GetControlWord();
+                        EVControlBits nStat=nStat0;
                         // AutoViewSize only if not ContourFrame.
-                        if (!bContourFrame) nStat|=EV_CNTRL_AUTOSIZE;
-                        else nStat&=~EV_CNTRL_AUTOSIZE;
+                        if (!bContourFrame) nStat|=EVControlBits::AUTOSIZE;
+                        else nStat&=~EVControlBits::AUTOSIZE;
                         if (nStat!=nStat0) pOLV->SetControlWord(nStat);
                     }
                     pTextEditOutliner->SetUpdateMode(true);
@@ -435,13 +435,13 @@ OutlinerView* SdrObjEditView::ImpMakeOutlinerView(vcl::Window* pWin, bool /*bNoP
     if (pOutlView==NULL) pOutlView = new OutlinerView(pTextEditOutliner,pWin);
     else pOutlView->SetWindow(pWin);
     // disallow scrolling
-    sal_uIntPtr nStat=pOutlView->GetControlWord();
-    nStat&=~EV_CNTRL_AUTOSCROLL;
+    EVControlBits nStat=pOutlView->GetControlWord();
+    nStat&=~EVControlBits::AUTOSCROLL;
     // AutoViewSize only if not ContourFrame.
-    if (!bContourFrame) nStat|=EV_CNTRL_AUTOSIZE;
+    if (!bContourFrame) nStat|=EVControlBits::AUTOSIZE;
     if (bTextFrame) {
         sal_uInt16 nPixSiz=maHdlList.GetHdlSize()*2+1;
-        nStat|=EV_CNTRL_INVONEMORE;
+        nStat|=EVControlBits::INVONEMORE;
         pOutlView->SetInvalidateMore(nPixSiz);
     }
     pOutlView->SetControlWord(nStat);
commit abf60c4a0fd111985891e2faa30a1e32799fdf9c
Author: Noel Grandin <noel at peralex.com>
Date:   Tue Mar 24 16:05:55 2015 +0200

    convert EE_CNTRL constants to enum class
    
    there were a couple of lines in SC and SW where the code was using a
    EV_CNTRL constant. I switched it to used the same-valued constant from
    EE_CNTRL
    
    Change-Id: I027183cc3b6e700bf365d48833e37eddc9b50f04

diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index c65c891..ad2b3d4 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1794,30 +1794,30 @@ bool EditEngine::IsFlatMode() const
     return !( pImpEditEngine->aStatus.UseCharAttribs() );
 }
 
-void EditEngine::SetControlWord( sal_uInt32 nWord )
+void EditEngine::SetControlWord( EEControlBits nWord )
 {
 
     if ( nWord != pImpEditEngine->aStatus.GetControlWord() )
     {
-        sal_uInt32 nPrev = pImpEditEngine->aStatus.GetControlWord();
+        EEControlBits nPrev = pImpEditEngine->aStatus.GetControlWord();
         pImpEditEngine->aStatus.GetControlWord() = nWord;
 
-        sal_uInt32 nChanges = nPrev ^ nWord;
+        EEControlBits nChanges = nPrev ^ nWord;
         if ( pImpEditEngine->IsFormatted() )
         {
             // possibly reformat:
-            if ( ( nChanges & EE_CNTRL_USECHARATTRIBS ) ||
-                 ( nChanges & EE_CNTRL_USEPARAATTRIBS ) ||
-                 ( nChanges & EE_CNTRL_ONECHARPERLINE ) ||
-                 ( nChanges & EE_CNTRL_STRETCHING ) ||
-                 ( nChanges & EE_CNTRL_OUTLINER ) ||
-                 ( nChanges & EE_CNTRL_NOCOLORS ) ||
-                 ( nChanges & EE_CNTRL_OUTLINER2 ) )
+            if ( ( nChanges & EEControlBits::USECHARATTRIBS ) ||
+                 ( nChanges & EEControlBits::USEPARAATTRIBS ) ||
+                 ( nChanges & EEControlBits::ONECHARPERLINE ) ||
+                 ( nChanges & EEControlBits::STRETCHING ) ||
+                 ( nChanges & EEControlBits::OUTLINER ) ||
+                 ( nChanges & EEControlBits::NOCOLORS ) ||
+                 ( nChanges & EEControlBits::OUTLINER2 ) )
             {
-                if ( ( nChanges & EE_CNTRL_USECHARATTRIBS ) ||
-                     ( nChanges & EE_CNTRL_USEPARAATTRIBS ) )
+                if ( ( nChanges & EEControlBits::USECHARATTRIBS ) ||
+                     ( nChanges & EEControlBits::USEPARAATTRIBS ) )
                 {
-                    bool bUseCharAttribs = ( nWord & EE_CNTRL_USECHARATTRIBS );
+                    bool bUseCharAttribs = bool( nWord & EEControlBits::USECHARATTRIBS );
                     pImpEditEngine->GetEditDoc().CreateDefFont( bUseCharAttribs );
                 }
 
@@ -1826,12 +1826,12 @@ void EditEngine::SetControlWord( sal_uInt32 nWord )
             }
         }
 
-        bool bSpellingChanged = nChanges & EE_CNTRL_ONLINESPELLING;
+        bool bSpellingChanged = bool(nChanges & EEControlBits::ONLINESPELLING);
 
         if ( bSpellingChanged )
         {
             pImpEditEngine->StopOnlineSpellTimer();
-            if (nWord & EE_CNTRL_ONLINESPELLING)
+            if (nWord & EEControlBits::ONLINESPELLING)
             {
                 // Create WrongList, start timer...
                 sal_Int32 nNodes = pImpEditEngine->GetEditDoc().Count();
@@ -1870,7 +1870,7 @@ void EditEngine::SetControlWord( sal_uInt32 nWord )
     }
 }
 
-sal_uInt32 EditEngine::GetControlWord() const
+EEControlBits EditEngine::GetControlWord() const
 {
     return pImpEditEngine->aStatus.GetControlWord();
 }
diff --git a/editeng/source/editeng/editstt2.hxx b/editeng/source/editeng/editstt2.hxx
index 2d8be58..84993a1 100644
--- a/editeng/source/editeng/editstt2.hxx
+++ b/editeng/source/editeng/editstt2.hxx
@@ -28,10 +28,10 @@ class InternalEditStatus : public EditStatus
 public:
             InternalEditStatus() { ; }
 
-    void    TurnOnFlags( sal_uLong nFlags )
+    void    TurnOnFlags( EEControlBits nFlags )
                 { nControlBits |= nFlags; }
 
-    void    TurnOffFlags( sal_uLong nFlags )
+    void    TurnOffFlags( EEControlBits nFlags )
                 { nControlBits &= ~nFlags; }
 
     void    TurnOnStatusBits( sal_uLong nBits )
@@ -42,80 +42,80 @@ public:
 
 
     bool    UseCharAttribs() const
-                { return ( ( nControlBits & EE_CNTRL_USECHARATTRIBS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::USECHARATTRIBS ); }
 
     bool    NotifyCursorMovements() const
-                { return ( ( nControlBits & EE_CNTRL_CRSRLEFTPARA ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::CRSRLEFTPARA ); }
 
     bool    UseIdleFormatter() const
-                { return ( ( nControlBits & EE_CNTRL_DOIDLEFORMAT) != 0 ); }
+                { return bool( nControlBits & EEControlBits::DOIDLEFORMAT); }
 
     bool    AllowPasteSpecial() const
-                { return ( ( nControlBits & EE_CNTRL_PASTESPECIAL ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::PASTESPECIAL ); }
 
     bool    DoAutoIndenting() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOINDENTING ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOINDENTING ); }
 
     bool    DoUndoAttribs() const
-                { return ( ( nControlBits & EE_CNTRL_UNDOATTRIBS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::UNDOATTRIBS ); }
 
     bool    OneCharPerLine() const
-                { return ( ( nControlBits & EE_CNTRL_ONECHARPERLINE ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::ONECHARPERLINE ); }
 
     bool    IsOutliner() const
-                { return ( ( nControlBits & EE_CNTRL_OUTLINER ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::OUTLINER ); }
 
     bool    IsOutliner2() const
-                { return ( ( nControlBits & EE_CNTRL_OUTLINER2 ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::OUTLINER2 ); }
 
     bool    IsAnyOutliner() const
                 { return IsOutliner() || IsOutliner2(); }
 
     bool    DoNotUseColors() const
-                { return ( ( nControlBits & EE_CNTRL_NOCOLORS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::NOCOLORS ); }
 
     bool    AllowBigObjects() const
-                { return ( ( nControlBits & EE_CNTRL_ALLOWBIGOBJS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::ALLOWBIGOBJS ); }
 
     bool    DoOnlineSpelling() const
-                { return ( ( nControlBits & EE_CNTRL_ONLINESPELLING ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::ONLINESPELLING ); }
 
     bool    DoStretch() const
-                { return ( ( nControlBits & EE_CNTRL_STRETCHING ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::STRETCHING ); }
 
     bool    AutoPageSize() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOPAGESIZE ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOPAGESIZE ); }
     bool    AutoPageWidth() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOPAGESIZEX ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOPAGESIZEX ); }
     bool    AutoPageHeight() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOPAGESIZEY ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOPAGESIZEY ); }
 
     bool    MarkFields() const
-                { return ( ( nControlBits & EE_CNTRL_MARKFIELDS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::MARKFIELDS ); }
 
     bool    DoRestoreFont() const
-                { return ( ( nControlBits & EE_CNTRL_RESTOREFONT ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::RESTOREFONT ); }
 
     bool    DoImportRTFStyleSheets() const
-                { return ( ( nControlBits & EE_CNTRL_RTFSTYLESHEETS ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::RTFSTYLESHEETS ); }
 
     bool    DoAutoCorrect() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOCORRECT ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOCORRECT ); }
 
     bool    DoAutoComplete() const
-                { return ( ( nControlBits & EE_CNTRL_AUTOCOMPLETE ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::AUTOCOMPLETE ); }
 
     bool    DoTabIndenting() const
-                { return ( ( nControlBits & EE_CNTRL_TABINDENTING ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::TABINDENTING ); }
 
     bool    DoFormat100() const
-                { return ( ( nControlBits & EE_CNTRL_FORMAT100 ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::FORMAT100 ); }
 
     bool    ULSpaceSummation() const
-                { return ( ( nControlBits & EE_CNTRL_ULSPACESUMMATION ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::ULSPACESUMMATION ); }
 
     bool    ULSpaceFirstParagraph() const
-                { return ( ( nControlBits & EE_CNTRL_ULSPACEFIRSTPARA ) != 0 ); }
+                { return bool( nControlBits & EEControlBits::ULSPACEFIRSTPARA ); }
 };
 
 #endif // INCLUDED_EDITENG_SOURCE_EDITENG_EDITSTT2_HXX
diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx
index c08330c..8993d34 100644
--- a/editeng/source/editeng/edtspell.cxx
+++ b/editeng/source/editeng/edtspell.cxx
@@ -702,7 +702,7 @@ OUString const* EdtAutoCorrDoc::GetPrevPara(bool const)
     const SfxBoolItem& rBulletState = static_cast<const SfxBoolItem&>(
             mpEditEngine->GetParaAttrib( nPos, EE_PARA_BULLETSTATE ));
     bool bBullet = rBulletState.GetValue() ? true : false;
-    if ( !bBullet && (mpEditEngine->GetControlWord() & EE_CNTRL_OUTLINER) )
+    if ( !bBullet && (mpEditEngine->GetControlWord() & EEControlBits::OUTLINER) )
     {
         // The Outliner has still a Bullet at Level 0.
         const SfxInt16Item& rLevel = static_cast<const SfxInt16Item&>(
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 72c35e3..febfd39 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -351,10 +351,10 @@ public:
     void            ShowCursor( bool bGotoCursor, bool bForceVisCursor, sal_uInt16 nShowCursorFlags = 0 );
     Pair            Scroll( long ndX, long ndY, sal_uInt8 nRangeCheck = RGCHK_NEG );
 
-    void            SetInsertMode( bool bInsert );
+    void        SetInsertMode( bool bInsert );
     bool        IsInsertMode() const            { return ( ( nControl & EV_CNTRL_OVERWRITE ) == 0 ); }
 
-    void            EnablePaste( bool bEnable )     { SetFlags( nControl, EV_CNTRL_ENABLEPASTE, bEnable ); }
+    void        EnablePaste( bool bEnable )     { SetFlags( nControl, EV_CNTRL_ENABLEPASTE, bEnable ); }
     bool        IsPasteEnabled() const          { return ( ( nControl & EV_CNTRL_ENABLEPASTE ) != 0 ); }
 
     bool        DoSingleLinePaste() const       { return ( ( nControl & EV_CNTRL_SINGLELINEPASTE ) != 0 ); }
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index fb3003e..131b09c 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -135,10 +135,10 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) :
     eDefaultHorizontalTextDirection = EE_HTEXTDIR_DEFAULT;
 
 
-    aStatus.GetControlWord() =  EE_CNTRL_USECHARATTRIBS | EE_CNTRL_DOIDLEFORMAT |
-                                EE_CNTRL_PASTESPECIAL | EE_CNTRL_UNDOATTRIBS |
-                                EE_CNTRL_ALLOWBIGOBJS | EE_CNTRL_RTFSTYLESHEETS |
-                                EE_CNTRL_FORMAT100;
+    aStatus.GetControlWord() =  EEControlBits::USECHARATTRIBS | EEControlBits::DOIDLEFORMAT |
+                                EEControlBits::PASTESPECIAL | EEControlBits::UNDOATTRIBS |
+                                EEControlBits::ALLOWBIGOBJS | EEControlBits::RTFSTYLESHEETS |
+                                EEControlBits::FORMAT100;
 
     aSelEngine.SetFunctionSet( &aSelFuncSet );
 
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index bf4f5af..c273180 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -2526,7 +2526,7 @@ void ImpEditEngine::SetVertical( bool bVertical )
     if ( IsVertical() != bVertical )
     {
         GetEditDoc().SetVertical( bVertical );
-        bool bUseCharAttribs = ( aStatus.GetControlWord() & EE_CNTRL_USECHARATTRIBS ) ? sal_True : sal_False;
+        bool bUseCharAttribs = ( aStatus.GetControlWord() & EEControlBits::USECHARATTRIBS ) ? sal_True : sal_False;
         GetEditDoc().CreateDefFont( bUseCharAttribs );
         if ( IsFormatted() )
         {
@@ -4178,9 +4178,9 @@ void ImpEditEngine::SetFlatMode( bool bFlat )
         return;
 
     if ( !bFlat )
-        aStatus.TurnOnFlags( EE_CNTRL_USECHARATTRIBS );
+        aStatus.TurnOnFlags( EEControlBits::USECHARATTRIBS );
     else
-        aStatus.TurnOffFlags( EE_CNTRL_USECHARATTRIBS );
+        aStatus.TurnOffFlags( EEControlBits::USECHARATTRIBS );
 
     aEditDoc.CreateDefFont( !bFlat );
 
diff --git a/editeng/source/outliner/outleeng.cxx b/editeng/source/outliner/outleeng.cxx
index 3b1c160..ad3c1a6 100644
--- a/editeng/source/outliner/outleeng.cxx
+++ b/editeng/source/outliner/outleeng.cxx
@@ -46,7 +46,7 @@ OutlinerEditEng::~OutlinerEditEng()
 
 void OutlinerEditEng::PaintingFirstLine( sal_Int32 nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev )
 {
-    if( GetControlWord() & EE_CNTRL_OUTLINER )
+    if( GetControlWord() & EEControlBits::OUTLINER )
     {
         PaintFirstLineInfo aInfo( nPara, rStartPos, nBaseLineY, rOrigin, nOrientation, pOutDev );
         pOwner->maPaintFirstLineHdl.Call( &aInfo );
diff --git a/editeng/source/outliner/outlin2.cxx b/editeng/source/outliner/outlin2.cxx
index 3fc587e..8dd6ef1 100644
--- a/editeng/source/outliner/outlin2.cxx
+++ b/editeng/source/outliner/outlin2.cxx
@@ -274,12 +274,12 @@ bool Outliner::IsInSelectionMode() const
     return pEditEngine->IsInSelectionMode();
 }
 
-void Outliner::SetControlWord( sal_uLong nWord )
+void Outliner::SetControlWord( EEControlBits nWord )
 {
     pEditEngine->SetControlWord( nWord );
 }
 
-sal_uLong Outliner::GetControlWord() const
+EEControlBits Outliner::GetControlWord() const
 {
     return pEditEngine->GetControlWord();
 }
diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx
index 83a0f7a..959bb65 100644
--- a/editeng/source/outliner/outliner.cxx
+++ b/editeng/source/outliner/outliner.cxx
@@ -198,8 +198,8 @@ void Outliner::Init( sal_uInt16 nMode )
 
     Clear();
 
-    sal_uLong nCtrl = pEditEngine->GetControlWord();
-    nCtrl &= ~(EE_CNTRL_OUTLINER|EE_CNTRL_OUTLINER2);
+    EEControlBits nCtrl = pEditEngine->GetControlWord();
+    nCtrl &= ~EEControlBits(EEControlBits::OUTLINER|EEControlBits::OUTLINER2);
 
     SetMaxDepth( 9 );
 
@@ -210,10 +210,10 @@ void Outliner::Init( sal_uInt16 nMode )
             break;
 
         case OUTLINERMODE_OUTLINEOBJECT:
-            nCtrl |= EE_CNTRL_OUTLINER2;
+            nCtrl |= EEControlBits::OUTLINER2;
             break;
         case OUTLINERMODE_OUTLINEVIEW:
-            nCtrl |= EE_CNTRL_OUTLINER;
+            nCtrl |= EEControlBits::OUTLINER;
             break;
 
         default: OSL_FAIL( "Outliner::Init - Invalid Mode!" );
@@ -905,7 +905,7 @@ vcl::Font Outliner::ImpCalcBulletFont( sal_Int32 nPara ) const
     aBulletFont.SetOrientation( bVertical ? 2700 : 0 );
 
     Color aColor( COL_AUTO );
-    if( !pEditEngine->IsFlatMode() && !( pEditEngine->GetControlWord() & EE_CNTRL_NOCOLORS ) )
+    if( !pEditEngine->IsFlatMode() && !( pEditEngine->GetControlWord() & EEControlBits::NOCOLORS ) )
     {
         aColor = pFmt->GetBulletColor();
     }
@@ -1572,7 +1572,7 @@ Rectangle Outliner::ImpCalcBulletArea( sal_Int32 nPara, bool bAdjust, bool bRetu
         Point aTopLeft;
         Size aBulletSize( ImplGetBulletSize( nPara ) );
 
-        bool bOutlineMode = ( pEditEngine->GetControlWord() & EE_CNTRL_OUTLINER ) != 0;
+        bool bOutlineMode = bool( pEditEngine->GetControlWord() & EEControlBits::OUTLINER );
 
         // the ODF attribute text:space-before which holds the spacing to add to the left of the label
         const short nSpaceBefore = pFmt->GetAbsLSpace() + pFmt->GetFirstLineOffset();
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx
index 43f51bd..183aa18 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -448,7 +448,7 @@ void OutlinerView::Indent( short nDiff )
     if( !nDiff || ( ( nDiff > 0 ) && ImpCalcSelectedPages( true ) && !pOwner->ImpCanIndentSelectedPages( this ) ) )
         return;
 
-    const bool bOutlinerView = pOwner->pEditEngine->GetControlWord() & EE_CNTRL_OUTLINER;
+    const bool bOutlinerView = bool(pOwner->pEditEngine->GetControlWord() & EEControlBits::OUTLINER);
     bool bUpdate = pOwner->pEditEngine->GetUpdateMode();
     pOwner->pEditEngine->SetUpdateMode( false );
 
diff --git a/forms/source/richtext/richtextmodel.cxx b/forms/source/richtext/richtextmodel.cxx
index 441ee19..3449c36 100644
--- a/forms/source/richtext/richtextmodel.cxx
+++ b/forms/source/richtext/richtextmodel.cxx
@@ -126,8 +126,8 @@ namespace frm
         {
             m_pEngine->SetModifyHdl( LINK( this, ORichTextModel, OnEngineContentModified ) );
 
-            sal_uLong nEngineControlWord = m_pEngine->GetControlWord();
-            nEngineControlWord = nEngineControlWord & ~EE_CNTRL_AUTOPAGESIZE;
+            EEControlBits nEngineControlWord = m_pEngine->GetControlWord();
+            nEngineControlWord = nEngineControlWord & ~EEControlBits::AUTOPAGESIZE;
             m_pEngine->SetControlWord( nEngineControlWord );
 
             VCLXDevice* pUnoRefDevice = new VCLXDevice;
diff --git a/include/editeng/editeng.hxx b/include/editeng/editeng.hxx
index b9bbc91..ba253f4 100644
--- a/include/editeng/editeng.hxx
+++ b/include/editeng/editeng.hxx
@@ -28,8 +28,9 @@
 
 #include <rsc/rscsfx.hxx>
 #include <editeng/editdata.hxx>
-#include <i18nlangtag/lang.h>
+#include <editeng/editstat.hxx>
 #include <editeng/editengdllapi.h>
+#include <i18nlangtag/lang.h>
 
 #include <tools/lineend.hxx>
 #include <tools/rtti.hxx>
@@ -370,8 +371,8 @@ public:
     bool            IsFlatMode() const;
     void            SetFlatMode( bool bFlat );
 
-    void            SetControlWord( sal_uInt32 nWord );
-    sal_uInt32      GetControlWord() const;
+    void            SetControlWord( EEControlBits nWord );
+    EEControlBits   GetControlWord() const;
 
     void            QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
     void            QuickMarkInvalid( const ESelection& rSel );
diff --git a/include/editeng/editstat.hxx b/include/editeng/editstat.hxx
index 243ff07..ba973a7 100644
--- a/include/editeng/editstat.hxx
+++ b/include/editeng/editstat.hxx
@@ -23,33 +23,42 @@
 #include <rtl/ustring.hxx>
 #include <tools/solar.h>
 #include <i18nlangtag/lang.h>
+#include <o3tl/typed_flags_set.hxx>
 
-#define EE_CNTRL_USECHARATTRIBS     0x00000001  // Use of hard character attributes
-#define EE_CNTRL_USEPARAATTRIBS     0x00000002  // Using paragraph attributes.
-#define EE_CNTRL_CRSRLEFTPARA       0x00000004  // Cursor is moved to another paragraph
-#define EE_CNTRL_DOIDLEFORMAT       0x00000008  // Formatting idle
-#define EE_CNTRL_PASTESPECIAL       0x00000010  // Allow PasteSpecial
-#define EE_CNTRL_AUTOINDENTING      0x00000020  // Automatic indenting
-#define EE_CNTRL_UNDOATTRIBS        0x00000040  // Undo for Attributes....
-#define EE_CNTRL_ONECHARPERLINE     0x00000080  // One character per line
-#define EE_CNTRL_NOCOLORS           0x00000100  // Engine: No Color
-#define EE_CNTRL_OUTLINER           0x00000200  // Special treatment Outliner/Outline mode
-#define EE_CNTRL_OUTLINER2          0x00000400  // Special treatment Outliner/Page
-#define EE_CNTRL_ALLOWBIGOBJS       0x00000800  // Portion info in text object
-#define EE_CNTRL_ONLINESPELLING     0x00001000  // During the edit Spelling
-#define EE_CNTRL_STRETCHING         0x00002000  // Stretch mode
-#define EE_CNTRL_MARKFIELDS         0x00004000  // Mark Fields with color
-#define EE_CNTRL_RESTOREFONT        0x00010000  // Restore Font in OutDev
-#define EE_CNTRL_RTFSTYLESHEETS     0x00020000  // Use Stylesheets when imported
-#define EE_CNTRL_AUTOCORRECT        0x00080000  // AutoCorrect
-#define EE_CNTRL_AUTOCOMPLETE       0x00100000  // AutoComplete
-#define EE_CNTRL_AUTOPAGESIZEX      0x00200000  // Adjust paper width to Text
-#define EE_CNTRL_AUTOPAGESIZEY      0x00400000  // Adjust paper height to Text
-#define EE_CNTRL_AUTOPAGESIZE       (EE_CNTRL_AUTOPAGESIZEX|EE_CNTRL_AUTOPAGESIZEY)
-#define EE_CNTRL_TABINDENTING       0x00800000  // Indent with tab
-#define EE_CNTRL_FORMAT100          0x01000000  // Always format to 100%
-#define EE_CNTRL_ULSPACESUMMATION   0x02000000  // MS Compat: sum SA and SB, not maximum value
-#define EE_CNTRL_ULSPACEFIRSTPARA   0x04000000  // MS Compat: evaluate also at the first paragraph
+enum class EEControlBits
+{
+    NONE               = 0x00000000,
+    USECHARATTRIBS     = 0x00000001,  // Use of hard character attributes
+    USEPARAATTRIBS     = 0x00000002,  // Using paragraph attributes.
+    CRSRLEFTPARA       = 0x00000004,  // Cursor is moved to another paragraph
+    DOIDLEFORMAT       = 0x00000008,  // Formatting idle
+    PASTESPECIAL       = 0x00000010,  // Allow PasteSpecial
+    AUTOINDENTING      = 0x00000020,  // Automatic indenting
+    UNDOATTRIBS        = 0x00000040,  // Undo for Attributes....
+    ONECHARPERLINE     = 0x00000080,  // One character per line
+    NOCOLORS           = 0x00000100,  // Engine: No Color
+    OUTLINER           = 0x00000200,  // Special treatment Outliner/Outline mode
+    OUTLINER2          = 0x00000400,  // Special treatment Outliner/Page
+    ALLOWBIGOBJS       = 0x00000800,  // Portion info in text object
+    ONLINESPELLING     = 0x00001000,  // During the edit Spelling
+    STRETCHING         = 0x00002000,  // Stretch mode
+    MARKFIELDS         = 0x00004000,  // Mark Fields with color
+    RESTOREFONT        = 0x00010000,  // Restore Font in OutDev
+    RTFSTYLESHEETS     = 0x00020000,  // Use Stylesheets when imported
+    AUTOCORRECT        = 0x00080000,  // AutoCorrect
+    AUTOCOMPLETE       = 0x00100000,  // AutoComplete
+    AUTOPAGESIZEX      = 0x00200000,  // Adjust paper width to Text
+    AUTOPAGESIZEY      = 0x00400000,  // Adjust paper height to Text
+    AUTOPAGESIZE       = (AUTOPAGESIZEX | AUTOPAGESIZEY),
+    TABINDENTING       = 0x00800000,  // Indent with tab
+    FORMAT100          = 0x01000000,  // Always format to 100%
+    ULSPACESUMMATION   = 0x02000000,  // MS Compat: sum SA and SB, not maximum value
+    ULSPACEFIRSTPARA   = 0x04000000,  // MS Compat: evaluate also at the first paragraph
+};
+namespace o3tl
+{
+    template<> struct typed_flags<EEControlBits> : is_typed_flags<EEControlBits, 0x07ffffff> {};
+}
 
 #define EV_CNTRL_AUTOSCROLL         0x00000001  // Auto scrolling horizontally
 #define EV_CNTRL_BIGSCROLL          0x00000002  // Scroll further to the cursor
@@ -74,6 +83,14 @@
     EE_STAT_CRSRLEFTPARA at the time cursor movement and the enter.
 */
 
+inline void SetFlags( EEControlBits& rBits, EEControlBits nMask, bool bOn )
+{
+    if ( bOn )
+        rBits |= nMask;
+    else
+        rBits &= ~nMask;
+}
+
 inline void SetFlags( sal_uLong& rBits, const sal_uInt32 nMask, bool bOn )
 {
     if ( bOn )
@@ -85,22 +102,22 @@ inline void SetFlags( sal_uLong& rBits, const sal_uInt32 nMask, bool bOn )
 class EditStatus
 {
 protected:
-    sal_uLong   nStatusBits;
-    sal_uLong   nControlBits;
-    sal_Int32   nPrevPara;                  // for EE_STAT_CRSRLEFTPARA
+    sal_uLong     nStatusBits;
+    EEControlBits nControlBits;
+    sal_Int32     nPrevPara;                  // for EE_STAT_CRSRLEFTPARA
 
 public:
-            EditStatus()                { nStatusBits = 0; nControlBits = 0; nPrevPara = -1; }
+            EditStatus()                { nStatusBits = 0; nControlBits = EEControlBits::NONE; nPrevPara = -1; }
 
     void    Clear()                     { nStatusBits = 0; }
-    void    SetControlBits( sal_uLong nMask, bool bOn )
+    void    SetControlBits( EEControlBits nMask, bool bOn )
                 { SetFlags( nControlBits, nMask, bOn ); }
 
     sal_uLong   GetStatusWord() const       { return nStatusBits; }
     sal_uLong&  GetStatusWord()             { return nStatusBits; }
 
-    sal_uLong   GetControlWord() const      { return nControlBits; }
-    sal_uLong&  GetControlWord()            { return nControlBits; }
+    EEControlBits  GetControlWord() const      { return nControlBits; }
+    EEControlBits& GetControlWord()            { return nControlBits; }
 
     sal_Int32   GetPrevParagraph() const    { return nPrevPara; }
     sal_Int32&  GetPrevParagraph()          { return nPrevPara; }
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index 24b7130..d80263f 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -20,6 +20,7 @@
 #define INCLUDED_EDITENG_OUTLINER_HXX
 
 #include <editeng/editdata.hxx>
+#include <editeng/editstat.hxx>
 #include <editeng/numitem.hxx>
 #include <i18nlangtag/lang.h>
 #include <rtl/ustring.hxx>
@@ -893,8 +894,8 @@ public:
     Link            GetWidthArrReqHdl() const{ return aWidthArrReqHdl; }
     void            SetWidthArrReqHdl(const Link& rLink){aWidthArrReqHdl=rLink; }
 
-    void            SetControlWord( sal_uLong nWord );
-    sal_uLong           GetControlWord() const;
+    void            SetControlWord( EEControlBits nWord );
+    EEControlBits   GetControlWord() const;
 
     Link            GetBeginMovingHdl() const { return aBeginMovingHdl; }
     void            SetBeginMovingHdl(const Link& rLink) {aBeginMovingHdl=rLink;}
diff --git a/sc/source/core/data/cellvalue.cxx b/sc/source/core/data/cellvalue.cxx
index 8732926..e03870c 100644
--- a/sc/source/core/data/cellvalue.cxx
+++ b/sc/source/core/data/cellvalue.cxx
@@ -349,8 +349,8 @@ void ScCellValue::assign( const ScCellValue& rOther, ScDocument& rDestDoc, int n
             ScFieldEditEngine& rEngine = rDestDoc.GetEditEngine();
             if (rOther.mpEditText->HasOnlineSpellErrors())
             {
-                sal_uLong nControl = rEngine.GetControlWord();
-                const sal_uLong nSpellControl = EE_CNTRL_ONLINESPELLING | EE_CNTRL_ALLOWBIGOBJS;
+                EEControlBits nControl = rEngine.GetControlWord();
+                const EEControlBits nSpellControl = EEControlBits::ONLINESPELLING | EEControlBits::ALLOWBIGOBJS;
                 bool bNewControl = ((nControl & nSpellControl) != nSpellControl);
                 if (bNewControl)
                     rEngine.SetControlWord(nControl | nSpellControl);
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 53d7ccf..9376685 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -353,11 +353,11 @@ long ScColumn::GetNeededSize(
 
         pEngine->SetUpdateMode( false );
         bool bTextWysiwyg = ( pDev->GetOutDevType() == OUTDEV_PRINTER );
-        sal_uLong nCtrl = pEngine->GetControlWord();
+        EEControlBits nCtrl = pEngine->GetControlWord();
         if ( bTextWysiwyg )
-            nCtrl |= EE_CNTRL_FORMAT100;
+            nCtrl |= EEControlBits::FORMAT100;
         else
-            nCtrl &= ~EE_CNTRL_FORMAT100;
+            nCtrl &= ~EEControlBits::FORMAT100;
         pEngine->SetControlWord( nCtrl );
         MapMode aOld = pDev->GetMapMode();
         pDev->SetMapMode( aHMMMode );
@@ -504,7 +504,7 @@ long ScColumn::GetNeededSize(
             if ( !bTextWysiwyg && ( rZoomY.GetNumerator() != 1 || rZoomY.GetDenominator() != 1 ) &&
                  ( pEngine->GetParagraphCount() > 1 || ( bBreak && pEngine->GetLineCount(0) > 1 ) ) )
             {
-                pEngine->SetControlWord( nCtrl | EE_CNTRL_FORMAT100 );
+                pEngine->SetControlWord( nCtrl | EEControlBits::FORMAT100 );
                 pEngine->QuickFormatDoc( true );
                 long nSecondValue = pDev->LogicToPixel(Size( 0, pEngine->GetTextHeight() ), aHMMMode).Height();
                 if ( nSecondValue > nValue )
@@ -1056,8 +1056,8 @@ public:
         if (!mpEngine)
         {
             mpEngine.reset(new ScFieldEditEngine(mpDoc, mpDoc->GetEditPool()));
-            //  EE_CNTRL_ONLINESPELLING if there are errors already
-            mpEngine->SetControlWord(mpEngine->GetControlWord() | EE_CNTRL_ONLINESPELLING);
+            //  EEControlBits::ONLINESPELLING if there are errors already
+            mpEngine->SetControlWord(mpEngine->GetControlWord() | EEControlBits::ONLINESPELLING);
             mpDoc->ApplyAsianEditSettings(*mpEngine);
         }
         mpEngine->SetText(*pObj);
@@ -1081,10 +1081,10 @@ public:
 
         if (bNeedObject)                                      // remains edit cell
         {
-            sal_uInt32 nCtrl = mpEngine->GetControlWord();
-            sal_uInt32 nWantBig = bSpellErrors ? EE_CNTRL_ALLOWBIGOBJS : 0;
-            if ( ( nCtrl & EE_CNTRL_ALLOWBIGOBJS ) != nWantBig )
-                mpEngine->SetControlWord( (nCtrl & ~EE_CNTRL_ALLOWBIGOBJS) | nWantBig );
+            EEControlBits nCtrl = mpEngine->GetControlWord();
+            EEControlBits nWantBig = bSpellErrors ? EEControlBits::ALLOWBIGOBJS : EEControlBits::NONE;
+            if ( ( nCtrl & EEControlBits::ALLOWBIGOBJS ) != nWantBig )
+                mpEngine->SetControlWord( (nCtrl & ~EEControlBits::ALLOWBIGOBJS) | nWantBig );
 
             // Overwrite the existing object.
             delete pObj;
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx
index d2478a8..dce8dd7 100644
--- a/sc/source/core/tool/editutil.cxx
+++ b/sc/source/core/tool/editutil.cxx
@@ -164,8 +164,8 @@ EditTextObject* ScEditUtil::Clone( const EditTextObject& rObj, ScDocument& rDest
     EditEngine& rEngine = rDestDoc.GetEditEngine();
     if (rObj.HasOnlineSpellErrors())
     {
-        sal_uLong nControl = rEngine.GetControlWord();
-        const sal_uLong nSpellControl = EE_CNTRL_ONLINESPELLING | EE_CNTRL_ALLOWBIGOBJS;
+        EEControlBits nControl = rEngine.GetControlWord();
+        const EEControlBits nSpellControl = EEControlBits::ONLINESPELLING | EEControlBits::ALLOWBIGOBJS;
         bool bNewControl = ( (nControl & nSpellControl) != nSpellControl );
         if (bNewControl)
             rEngine.SetControlWord(nControl | nSpellControl);
@@ -709,7 +709,7 @@ void ScTabEditEngine::Init( const ScPatternAttr& rPattern )
     rPattern.FillEditItemSet( pEditDefaults );
     SetDefaults( pEditDefaults );
     // wir haben keine StyleSheets fuer Text
-    SetControlWord( GetControlWord() & ~EE_CNTRL_RTFSTYLESHEETS );
+    SetControlWord( GetControlWord() & ~EEControlBits::RTFSTYLESHEETS );
 }
 
 //      Feldbefehle fuer Kopf- und Fusszeilen
@@ -850,7 +850,7 @@ ScFieldEditEngine::ScFieldEditEngine(
 {
     if ( pTextObjectPool )
         SetEditTextObjectPool( pTextObjectPool );
-    SetControlWord( (GetControlWord() | EE_CNTRL_MARKFIELDS) & ~EE_CNTRL_RTFSTYLESHEETS );
+    SetControlWord( EEControlBits(GetControlWord() | EEControlBits::MARKFIELDS) & ~EEControlBits::RTFSTYLESHEETS );
 }
 
 OUString ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
@@ -882,7 +882,7 @@ ScNoteEditEngine::ScNoteEditEngine( SfxItemPool* pEnginePoolP,
 {
     if ( pTextObjectPool )
         SetEditTextObjectPool( pTextObjectPool );
-    SetControlWord( (GetControlWord() | EE_CNTRL_MARKFIELDS) & ~EE_CNTRL_RTFSTYLESHEETS );
+    SetControlWord( EEControlBits(GetControlWord() | EEControlBits::MARKFIELDS) & ~EEControlBits::RTFSTYLESHEETS );
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx
index 7375719..c3ea29b 100644
--- a/sc/source/filter/excel/xlroot.cxx
+++ b/sc/source/filter/excel/xlroot.cxx
@@ -352,7 +352,7 @@ ScEditEngineDefaulter& XclRoot::GetEditEngine() const
         rEE.SetEditTextObjectPool( GetDoc().GetEditPool() );
         rEE.SetUpdateMode( false );
         rEE.EnableUndo( false );
-        rEE.SetControlWord( rEE.GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS );
+        rEE.SetControlWord( rEE.GetControlWord() & ~EEControlBits::ALLOWBIGOBJS );
     }
     return *mrData.mxEditEngine;
 }
@@ -366,7 +366,7 @@ ScHeaderEditEngine& XclRoot::GetHFEditEngine() const
         rEE.SetRefMapMode( MAP_TWIP );  // headers/footers use twips as default metric
         rEE.SetUpdateMode( false );
         rEE.EnableUndo( false );
-        rEE.SetControlWord( rEE.GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS );
+        rEE.SetControlWord( rEE.GetControlWord() & ~EEControlBits::ALLOWBIGOBJS );
 
         // set Calc header/footer defaults
         SfxItemSet* pEditSet = new SfxItemSet( rEE.GetEmptyItemSet() );
@@ -390,7 +390,7 @@ EditEngine& XclRoot::GetDrawEditEngine() const
         rEE.SetRefMapMode( MAP_100TH_MM );
         rEE.SetUpdateMode( false );
         rEE.EnableUndo( false );
-        rEE.SetControlWord( rEE.GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS );
+        rEE.SetControlWord( rEE.GetControlWord() & ~EEControlBits::ALLOWBIGOBJS );
     }
     return *mrData.mxDrawEditEng;
 }
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx
index 1b77eec..05a409c 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -577,7 +577,7 @@ void WorkbookGlobals::initialize( bool bWorkbookFile )
     mxEditEngine->SetEditTextObjectPool( rDoc.GetEditPool() );
     mxEditEngine->SetUpdateMode( false );
     mxEditEngine->EnableUndo( false );
-    mxEditEngine->SetControlWord( mxEditEngine->GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS );
+    mxEditEngine->SetControlWord( mxEditEngine->GetControlWord() & ~EEControlBits::ALLOWBIGOBJS );
 
     // set some document properties needed during import
     if( mrBaseFilter.isImportFilter() )
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index 25dd3db..921b105 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -3418,7 +3418,7 @@ ScEditEngineDefaulter* ScXMLImport::GetEditEngine()
         mpEditEngine->SetEditTextObjectPool(pDoc->GetEditPool());
         mpEditEngine->SetUpdateMode(false);
         mpEditEngine->EnableUndo(false);
-        mpEditEngine->SetControlWord(mpEditEngine->GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS);
+        mpEditEngine->SetControlWord(mpEditEngine->GetControlWord() & ~EEControlBits::ALLOWBIGOBJS);
     }
     return mpEditEngine.get();
 }
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 74c6222..d394c60 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -594,11 +594,11 @@ void ScInputHandler::UpdateRefDevice()
 
     bool bTextWysiwyg = SC_MOD()->GetInputOptions().GetTextWysiwyg();
     bool bInPlace = pActiveViewSh && pActiveViewSh->GetViewFrame()->GetFrame().IsInPlace();
-    sal_uLong nCtrl = pEngine->GetControlWord();
+    EEControlBits nCtrl = pEngine->GetControlWord();
     if ( bTextWysiwyg || bInPlace )
-        nCtrl |= EE_CNTRL_FORMAT100;    // EditEngine default: always format for 100%
+        nCtrl |= EEControlBits::FORMAT100;    // EditEngine default: always format for 100%
     else
-        nCtrl &= ~EE_CNTRL_FORMAT100;   // when formatting for screen, use the actual MapMode
+        nCtrl &= ~EEControlBits::FORMAT100;   // when formatting for screen, use the actual MapMode
     pEngine->SetControlWord( nCtrl );
     if ( bTextWysiwyg && pActiveViewSh )
         pEngine->SetRefDevice( pActiveViewSh->GetViewData().GetDocument()->GetPrinter() );
@@ -632,7 +632,7 @@ void ScInputHandler::ImplCreateEditEngine()
         pEngine->SetPaperSize( Size( 1000000, 1000000 ) );
         pEditDefaults = new SfxItemSet( pEngine->GetEmptyItemSet() );
 
-        pEngine->SetControlWord( pEngine->GetControlWord() | EE_CNTRL_AUTOCORRECT );
+        pEngine->SetControlWord( pEngine->GetControlWord() | EEControlBits::AUTOCORRECT );
         pEngine->SetModifyHdl( LINK( this, ScInputHandler, ModifyHdl ) );
     }
 
@@ -648,15 +648,15 @@ void ScInputHandler::ImplCreateEditEngine()
 
 void ScInputHandler::UpdateAutoCorrFlag()
 {
-    sal_uLong nCntrl = pEngine->GetControlWord();
-    sal_uLong nOld = nCntrl;
+    EEControlBits nCntrl = pEngine->GetControlWord();
+    EEControlBits nOld = nCntrl;
 
     // Don't use pLastPattern here (may be invalid because of AutoStyle)
     bool bDisable = bLastIsSymbol || bFormulaMode;
     if ( bDisable )
-        nCntrl &= ~EE_CNTRL_AUTOCORRECT;
+        nCntrl &= ~EEControlBits::AUTOCORRECT;
     else
-        nCntrl |= EE_CNTRL_AUTOCORRECT;
+        nCntrl |= EEControlBits::AUTOCORRECT;
 
     if ( nCntrl != nOld )
         pEngine->SetControlWord(nCntrl);
@@ -680,17 +680,17 @@ void ScInputHandler::UpdateSpellSettings( bool bFromStartTab )
 
         if ( bFromStartTab || eMode != SC_INPUT_NONE )
         {
-            sal_uLong nCntrl = pEngine->GetControlWord();
-            sal_uLong nOld = nCntrl;
+            EEControlBits nCntrl = pEngine->GetControlWord();
+            EEControlBits nOld = nCntrl;
             if( bOnlineSpell )
-                nCntrl |= EE_CNTRL_ONLINESPELLING;
+                nCntrl |= EEControlBits::ONLINESPELLING;
             else
-                nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+                nCntrl &= ~EEControlBits::ONLINESPELLING;
             // No AutoCorrect for Symbol Font (EditEngine does no evaluate Default)
             if ( pLastPattern && pLastPattern->IsSymbolFont() )
-                nCntrl &= ~EE_CNTRL_AUTOCORRECT;
+                nCntrl &= ~EEControlBits::AUTOCORRECT;
             else
-                nCntrl |= EE_CNTRL_AUTOCORRECT;
+                nCntrl |= EEControlBits::AUTOCORRECT;
             if ( nCntrl != nOld )
                 pEngine->SetControlWord(nCntrl);
 
@@ -3512,9 +3512,9 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState,
                     //  Online spelling is turned back on in StartTable, after setting
                     //  the right language from cell attributes.
 
-                    sal_uLong nCntrl = pEngine->GetControlWord();
-                    if ( nCntrl & EE_CNTRL_ONLINESPELLING )
-                        pEngine->SetControlWord( nCntrl & ~EE_CNTRL_ONLINESPELLING );
+                    EEControlBits nCntrl = pEngine->GetControlWord();
+                    if ( nCntrl & EEControlBits::ONLINESPELLING )
+                        pEngine->SetControlWord( nCntrl & ~EEControlBits::ONLINESPELLING );
 
                     bModified = false;
                     bSelIsRef = false;
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index fb5abdf..728e14e 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1691,12 +1691,12 @@ void ScTextWnd::UpdateAutoCorrFlag()
 {
     if ( pEditEngine )
     {
-        sal_uLong nControl = pEditEngine->GetControlWord();
-        sal_uLong nOld = nControl;
+        EEControlBits nControl = pEditEngine->GetControlWord();
+        EEControlBits nOld = nControl;
         if ( bFormulaMode )
-            nControl &= ~EE_CNTRL_AUTOCORRECT; // No AutoCorrect in Formulas
+            nControl &= ~EEControlBits::AUTOCORRECT; // No AutoCorrect in Formulas
         else
-            nControl |= EE_CNTRL_AUTOCORRECT; // Else do enable it
+            nControl |= EEControlBits::AUTOCORRECT; // Else do enable it
 
         if ( nControl != nOld )
             pEditEngine->SetControlWord( nControl );
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index c0f3166..8f0a1b4 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -94,7 +94,7 @@ ScEditWindow::ScEditWindow( vcl::Window* pParent, WinBits nBits, ScEditWindowLoc
 
         //  Feldbefehle:
     pEdEngine->SetData( aData );
-    pEdEngine->SetControlWord( pEdEngine->GetControlWord() | EE_CNTRL_MARKFIELDS );
+    pEdEngine->SetControlWord( pEdEngine->GetControlWord() | EEControlBits::MARKFIELDS );
     mbRTL = ScGlobal::IsSystemRTL();
     if (mbRTL)
         pEdEngine->SetDefaultHorizontalTextDirection(EE_HTEXTDIR_R2L);
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 3bbe8b8..9881145 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5369,7 +5369,7 @@ bool ScGridWindow::IsSpellErrorAtPos( const Point& rPos, SCCOL nCol1, SCROW nRow
     if (!aLogicEdit.IsInside(aLogicClick))
         return false;
 
-    pEngine->SetControlWord(pEngine->GetControlWord() | EE_CNTRL_ONLINESPELLING);
+    pEngine->SetControlWord(pEngine->GetControlWord() | EEControlBits::ONLINESPELLING);
     pEngine->SetAllMisspellRanges(*pRanges);
 
     EditView aTempView(pEngine.get(), this);
@@ -5536,7 +5536,7 @@ bool ScGridWindow::ContinueOnlineSpelling()
                 //  because MapMode must be set for some old documents
                 pEngine.reset(new ScTabEditEngine(pDoc));
                 pEngine->SetControlWord(
-                    pEngine->GetControlWord() | (EE_CNTRL_ONLINESPELLING | EE_CNTRL_ALLOWBIGOBJS));
+                    pEngine->GetControlWord() | (EEControlBits::ONLINESPELLING | EEControlBits::ALLOWBIGOBJS));
                 pEngine->SetStatusEventHdl(LINK(&aStatus, SpellCheckStatus, EventHdl));
                 //  Delimiters hier wie in inputhdl.cxx !!!
                 pEngine->SetWordDelimiters(
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 6a6c13d..9391e49 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -2095,13 +2095,13 @@ ScFieldEditEngine* ScOutputData::CreateOutputEditEngine()
     pEngine->SetUpdateMode( false );
     // a RefDevice always has to be set, otherwise EditEngine would create a VirtualDevice
     pEngine->SetRefDevice( pFmtDevice );
-    sal_uLong nCtrl = pEngine->GetControlWord();
+    EEControlBits nCtrl = pEngine->GetControlWord();
     if ( bShowSpellErrors )
-        nCtrl |= EE_CNTRL_ONLINESPELLING;
+        nCtrl |= EEControlBits::ONLINESPELLING;
     if ( eType == OUTTYPE_PRINTER )
-        nCtrl &= ~EE_CNTRL_MARKFIELDS;
+        nCtrl &= ~EEControlBits::MARKFIELDS;
     if ( eType == OUTTYPE_WINDOW && mpRefDevice == pFmtDevice )
-        nCtrl &= ~EE_CNTRL_FORMAT100;       // use the actual MapMode
+        nCtrl &= ~EEControlBits::FORMAT100;       // use the actual MapMode
     pEngine->SetControlWord( nCtrl );
     mpDoc->ApplyAsianEditSettings( *pEngine );
     pEngine->EnableAutoColor( mbUseStyleColor );
@@ -2405,11 +2405,11 @@ void ScOutputData::DrawEditParam::setPatternToEngine(bool bUseStyleColor)
     mpOldCondSet = mpCondSet;
     mpOldPreviewFontSet = mpPreviewFontSet;
 
-    sal_uLong nControl = mpEngine->GetControlWord();
+    EEControlBits nControl = mpEngine->GetControlWord();
     if (meOrient == SVX_ORIENTATION_STACKED)
-        nControl |= EE_CNTRL_ONECHARPERLINE;
+        nControl |= EEControlBits::ONECHARPERLINE;
     else
-        nControl &= ~EE_CNTRL_ONECHARPERLINE;
+        nControl &= ~EEControlBits::ONECHARPERLINE;
     mpEngine->SetControlWord( nControl );
 
     if ( !mbHyphenatorSet && static_cast<const SfxBoolItem&>(pSet->Get(EE_PARA_HYPHENATE)).GetValue() )
@@ -3764,7 +3764,7 @@ void ScOutputData::DrawEditStacked(DrawEditParam& rParam)
 
     if ( rParam.mbAsianVertical )
     {
-        // in asian mode, use EditEngine::SetVertical instead of EE_CNTRL_ONECHARPERLINE
+        // in asian mode, use EditEngine::SetVertical instead of EEControlBits::ONECHARPERLINE
         rParam.meOrient = SVX_ORIENTATION_STANDARD;
         DrawEditAsianVertical(rParam);
         return;
@@ -4764,11 +4764,11 @@ void ScOutputData::DrawRotated(bool bPixelToLogic)
                                 pOldPattern = pPattern;
                                 pOldCondSet = pCondSet;
 
-                                sal_uLong nControl = pEngine->GetControlWord();
+                                EEControlBits nControl = pEngine->GetControlWord();
                                 if (eOrient==SVX_ORIENTATION_STACKED)
-                                    nControl |= EE_CNTRL_ONECHARPERLINE;
+                                    nControl |= EEControlBits::ONECHARPERLINE;
                                 else
-                                    nControl &= ~EE_CNTRL_ONECHARPERLINE;
+                                    nControl &= ~EEControlBits::ONECHARPERLINE;
                                 pEngine->SetControlWord( nControl );
 
                                 if ( !bHyphenatorSet && static_cast<const SfxBoolItem&>(pSet->Get(EE_PARA_HYPHENATE)).GetValue() )
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index cf4d8e8..095ef36 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -1676,7 +1676,7 @@ void ScPrintFunc::MakeEditEngine()
         pEditEngine->SetRefDevice(pPrinter ? pPrinter : pDoc->GetRefDevice());
         pEditEngine->SetWordDelimiters(
                 ScEditUtil::ModifyDelimiters( pEditEngine->GetWordDelimiters() ) );
-        pEditEngine->SetControlWord( pEditEngine->GetControlWord() & ~EE_CNTRL_RTFSTYLESHEETS );
+        pEditEngine->SetControlWord( pEditEngine->GetControlWord() & ~EEControlBits::RTFSTYLESHEETS );
         pDoc->ApplyAsianEditSettings( *pEditEngine );
         pEditEngine->EnableAutoColor( bUseStyleColor );
 
diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx
index b3f75e4..359876b 100644
--- a/sc/source/ui/view/spelldialog.cxx
+++ b/sc/source/ui/view/spelldialog.cxx
@@ -251,7 +251,7 @@ void ScSpellDialogChildWindow::Init()
     mpViewData->SetSpellingView( pEditView );
     Rectangle aRect( Point( 0, 0 ), Point( 0, 0 ) );
     pEditView->SetOutputArea( aRect );
-    mxEngine->SetControlWord( EE_CNTRL_USECHARATTRIBS );
+    mxEngine->SetControlWord( EEControlBits::USECHARATTRIBS );
     mxEngine->EnableUndo( false );
     mxEngine->SetPaperSize( aRect.GetSize() );
     mxEngine->SetText( EMPTY_OUSTRING );
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index db824d5..5675d68 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -942,8 +942,8 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich,
 
     //  bei IdleFormat wird manchmal ein Cursor gemalt, wenn die View schon weg ist (23576)
 
-    sal_uLong nEC = pNewEngine->GetControlWord();
-    pNewEngine->SetControlWord(nEC & ~EE_CNTRL_DOIDLEFORMAT);
+    EEControlBits nEC = pNewEngine->GetControlWord();
+    pNewEngine->SetControlWord(nEC & ~EEControlBits::DOIDLEFORMAT);
 
     sal_uLong nVC = pEditView[eWhich]->GetControlWord();
     pEditView[eWhich]->SetControlWord(nVC & ~EV_CNTRL_AUTOSCROLL);
@@ -3013,13 +3013,13 @@ void ScViewData::UpdateOutlinerFlags( Outliner& rOutl ) const
     ScDocument* pLocalDoc = GetDocument();
     bool bOnlineSpell = pLocalDoc->GetDocOptions().IsAutoSpell();
 
-    sal_uLong nCntrl = rOutl.GetControlWord();
-    nCntrl |= EE_CNTRL_MARKFIELDS;
-    nCntrl |= EE_CNTRL_AUTOCORRECT;
+    EEControlBits nCntrl = rOutl.GetControlWord();
+    nCntrl |= EEControlBits::MARKFIELDS;
+    nCntrl |= EEControlBits::AUTOCORRECT;
     if( bOnlineSpell )
-        nCntrl |= EE_CNTRL_ONLINESPELLING;
+        nCntrl |= EEControlBits::ONLINESPELLING;
     else
-        nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        nCntrl &= ~EEControlBits::ONLINESPELLING;
     rOutl.SetControlWord(nCntrl);
 
     rOutl.SetCalcFieldValueHdl( LINK( SC_MOD(), ScModule, CalcFieldValueHdl ) );
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index f9d054c..0317fa4 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -518,7 +518,7 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam, bool bR
     rViewData.SetSpellingView( pEditView );
     Rectangle aRect( Point( 0, 0 ), Point( 0, 0 ) );
     pEditView->SetOutputArea( aRect );
-    pEngine->SetControlWord( EE_CNTRL_USECHARATTRIBS );
+    pEngine->SetControlWord( EEControlBits::USECHARATTRIBS );
     pEngine->EnableUndo( false );
     pEngine->SetPaperSize( aRect.GetSize() );
     pEngine->SetText( EMPTY_OUSTRING );
diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
index 51a29af..0cf966e 100644
--- a/sd/source/core/drawdoc.cxx
+++ b/sd/source/core/drawdoc.cxx
@@ -279,22 +279,22 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
         SetLinkManager( new sfx2::LinkManager(mpDocSh) );
     }
 
-    sal_uLong nCntrl = rOutliner.GetControlWord();
-    nCntrl |= EE_CNTRL_ALLOWBIGOBJS;
+    EEControlBits nCntrl = rOutliner.GetControlWord();
+    nCntrl |= EEControlBits::ALLOWBIGOBJS;
 
     if (mbOnlineSpell)
-        nCntrl |= EE_CNTRL_ONLINESPELLING;
+        nCntrl |= EEControlBits::ONLINESPELLING;
     else
-        nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        nCntrl &= ~EEControlBits::ONLINESPELLING;
 
-    nCntrl &= ~ EE_CNTRL_ULSPACESUMMATION;
+    nCntrl &= ~ EEControlBits::ULSPACESUMMATION;
     if ( meDocType != DOCUMENT_TYPE_IMPRESS )
         SetSummationOfParagraphs( false );
     else
     {
         SetSummationOfParagraphs( pOptions->IsSummationOfParagraphs() );
         if ( pOptions->IsSummationOfParagraphs() )
-            nCntrl |= EE_CNTRL_ULSPACESUMMATION;
+            nCntrl |= EEControlBits::ULSPACESUMMATION;
     }
     rOutliner.SetControlWord(nCntrl);
 
@@ -326,13 +326,13 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
 
     pHitTestOutliner->SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() );
 
-    sal_uLong nCntrl2 = pHitTestOutliner->GetControlWord();
-    nCntrl2 |= EE_CNTRL_ALLOWBIGOBJS;
-    nCntrl2 &= ~EE_CNTRL_ONLINESPELLING;
+    EEControlBits nCntrl2 = pHitTestOutliner->GetControlWord();
+    nCntrl2 |= EEControlBits::ALLOWBIGOBJS;
+    nCntrl2 &= ~EEControlBits::ONLINESPELLING;
 
-    nCntrl2 &= ~ EE_CNTRL_ULSPACESUMMATION;
+    nCntrl2 &= ~ EEControlBits::ULSPACESUMMATION;
     if ( pOptions->IsSummationOfParagraphs() )
-        nCntrl2 |= EE_CNTRL_ULSPACESUMMATION;
+        nCntrl2 |= EEControlBits::ULSPACESUMMATION;
 
     pHitTestOutliner->SetControlWord( nCntrl2 );
 
@@ -613,11 +613,11 @@ void SdDrawDocument::NewOrLoadCompleted(DocCreationMode eMode)
     // StyleRequestHandler are.
     ::Outliner& rDrawOutliner = GetDrawOutliner();
     rDrawOutliner.SetStyleSheetPool(static_cast<SfxStyleSheetPool*>(GetStyleSheetPool()));
-    sal_uLong nCntrl = rDrawOutliner.GetControlWord();
+    EEControlBits nCntrl = rDrawOutliner.GetControlWord();
     if (mbOnlineSpell)
-        nCntrl |= EE_CNTRL_ONLINESPELLING;
+        nCntrl |= EEControlBits::ONLINESPELLING;
     else
-        nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        nCntrl &= ~EEControlBits::ONLINESPELLING;
     rDrawOutliner.SetControlWord(nCntrl);
 
     // Initialize HitTestOutliner and DocumentOutliner, but don't initialize the
@@ -831,16 +831,16 @@ void SdDrawDocument::NewOrLoadCompleted( SdPage* pPage, SdStyleSheetPool* pSPool
 void SdDrawDocument::SetOnlineSpell(bool bIn)
 {
     mbOnlineSpell = bIn;
-    sal_uLong nCntrl = 0;
+    EEControlBits nCntrl;
 
     if(mpOutliner)
     {
         nCntrl = mpOutliner->GetControlWord();
 
         if(mbOnlineSpell)
-            nCntrl |= EE_CNTRL_ONLINESPELLING;
+            nCntrl |= EEControlBits::ONLINESPELLING;
         else
-            nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+            nCntrl &= ~EEControlBits::ONLINESPELLING;
 
         mpOutliner->SetControlWord(nCntrl);
     }
@@ -850,9 +850,9 @@ void SdDrawDocument::SetOnlineSpell(bool bIn)
         nCntrl = mpInternalOutliner->GetControlWord();
 
         if (mbOnlineSpell)
-            nCntrl |= EE_CNTRL_ONLINESPELLING;
+            nCntrl |= EEControlBits::ONLINESPELLING;
         else
-            nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+            nCntrl &= ~EEControlBits::ONLINESPELLING;
 
         mpInternalOutliner->SetControlWord(nCntrl);
     }
@@ -862,9 +862,9 @@ void SdDrawDocument::SetOnlineSpell(bool bIn)
     nCntrl = rOutliner.GetControlWord();
 
     if (mbOnlineSpell)
-        nCntrl |= EE_CNTRL_ONLINESPELLING;
+        nCntrl |= EEControlBits::ONLINESPELLING;
     else
-        nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        nCntrl &= ~EEControlBits::ONLINESPELLING;
 
     rOutliner.SetControlWord(nCntrl);
 
diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index 8205f8a..ce15ed3 100644
--- a/sd/source/filter/ppt/pptin.cxx
+++ b/sd/source/filter/ppt/pptin.cxx
@@ -238,9 +238,9 @@ bool ImplSdPPTImport::Import()
     pSdrModel->EnableUndo(false);
 
     SdrOutliner& rOutl = mpDoc->GetDrawOutliner();
-    sal_uInt32 nControlWord = rOutl.GetEditEngine().GetControlWord();
-    nControlWord |=  EE_CNTRL_ULSPACESUMMATION;
-    nControlWord &=~ EE_CNTRL_ULSPACEFIRSTPARA;
+    EEControlBits nControlWord = rOutl.GetEditEngine().GetControlWord();
+    nControlWord |=  EEControlBits::ULSPACESUMMATION;
+    nControlWord &= ~EEControlBits::ULSPACEFIRSTPARA;
     ((EditEngine&)rOutl.GetEditEngine()).SetControlWord( nControlWord );
 
     SdrLayerAdmin& rAdmin = mpDoc->GetLayerAdmin();
diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index eeae073..5cef329 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -338,8 +338,8 @@ void AnnotationWindow::InitControls()
     mpVScrollbar->SetScrollHdl(LINK(this, AnnotationWindow, ScrollHdl));
     mpVScrollbar->EnableDrag();
 
-    sal_uLong nCntrl = mpOutliner->GetControlWord();
-    nCntrl |= EE_CNTRL_PASTESPECIAL | EE_CNTRL_AUTOCORRECT  | EV_CNTRL_AUTOSCROLL | EE_CNTRL_NOCOLORS;
+    EEControlBits nCntrl = mpOutliner->GetControlWord();
+    nCntrl |= EEControlBits::PASTESPECIAL | EEControlBits::AUTOCORRECT | EEControlBits::USECHARATTRIBS | EEControlBits::NOCOLORS;
     mpOutliner->SetControlWord(nCntrl);
 
     Engine()->SetModifyHdl( Link() );
diff --git a/sd/source/ui/app/sdmod2.cxx b/sd/source/ui/app/sdmod2.cxx
index b6f924d..fc01b4a 100644
--- a/sd/source/ui/app/sdmod2.cxx
+++ b/sd/source/ui/app/sdmod2.cxx
@@ -672,23 +672,23 @@ void SdModule::ApplyItemSet( sal_uInt16 nSlot, const SfxItemSet& rSet )
         if ( bMiscOptions )
         {
             pDoc->SetSummationOfParagraphs( pMiscItem->GetOptionsMisc().IsSummationOfParagraphs() );
-            sal_uInt32 nSum = pMiscItem->GetOptionsMisc().IsSummationOfParagraphs() ? EE_CNTRL_ULSPACESUMMATION : 0;
-            sal_uInt32 nCntrl;
+            EEControlBits nSum = pMiscItem->GetOptionsMisc().IsSummationOfParagraphs() ? EEControlBits::ULSPACESUMMATION : EEControlBits::NONE;
+            EEControlBits nCntrl;
 
             SdDrawDocument* pDocument = pDocSh->GetDoc();
             SdrOutliner& rOutl = pDocument->GetDrawOutliner();
-            nCntrl = rOutl.GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+            nCntrl = rOutl.GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
             rOutl.SetControlWord( nCntrl | nSum );
             ::sd::Outliner* pOutl = pDocument->GetOutliner( false );
             if( pOutl )
             {
-                nCntrl = pOutl->GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+                nCntrl = pOutl->GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
                 pOutl->SetControlWord( nCntrl | nSum );
             }
             pOutl = pDocument->GetInternalOutliner( false );
             if( pOutl )
             {
-                nCntrl = pOutl->GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+                nCntrl = pOutl->GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
                 pOutl->SetControlWord( nCntrl | nSum );
             }
 
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx
index b6663db..3eb5584 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -387,9 +387,9 @@ bool DrawDocShell::ImportFrom(SfxMedium &rMedium,
         // in. We need to tell both the edit engine of the draw outliner,
         // and the document, to do "summation of paragraphs".
         SdrOutliner& rOutl = mpDoc->GetDrawOutliner();
-        sal_uInt32 nControlWord = rOutl.GetEditEngine().GetControlWord();
-        nControlWord |=  EE_CNTRL_ULSPACESUMMATION;
-        nControlWord &=~ EE_CNTRL_ULSPACEFIRSTPARA;
+        EEControlBits nControlWord = rOutl.GetEditEngine().GetControlWord();
+        nControlWord |=  EEControlBits::ULSPACESUMMATION;
+        nControlWord &=~ EEControlBits::ULSPACEFIRSTPARA;
         ((EditEngine&)rOutl.GetEditEngine()).SetControlWord( nControlWord );
 
         mpDoc->SetSummationOfParagraphs( true );
diff --git a/sd/source/ui/presenter/PresenterTextView.cxx b/sd/source/ui/presenter/PresenterTextView.cxx
index fbcd9cd..a9c746f 100644
--- a/sd/source/ui/presenter/PresenterTextView.cxx
+++ b/sd/source/ui/presenter/PresenterTextView.cxx
@@ -327,10 +327,9 @@ EditEngine* PresenterTextView::Implementation::CreateEditEngine (void)
             Application::GetDefaultDevice()->GetTextWidth(OUString("XXXX"))));
 
         pEditEngine->SetControlWord(
-                (pEditEngine->GetControlWord()
-                    | EE_CNTRL_AUTOINDENTING) &
-                (~EE_CNTRL_UNDOATTRIBS) &
-                (~EE_CNTRL_PASTESPECIAL));
+                EEControlBits(pEditEngine->GetControlWord() | EEControlBits::AUTOINDENTING) &
+                EEControlBits(~EEControlBits::UNDOATTRIBS) &
+                EEControlBits(~EEControlBits::PASTESPECIAL) );
 
         pEditEngine->SetWordDelimiters (" .=+-*/(){}[];\"");
         pEditEngine->SetRefMapMode (MAP_PIXEL);
diff --git a/sd/source/ui/tools/PreviewRenderer.cxx b/sd/source/ui/tools/PreviewRenderer.cxx
index b5f2b71..812469c 100644
--- a/sd/source/ui/tools/PreviewRenderer.cxx
+++ b/sd/source/ui/tools/PreviewRenderer.cxx
@@ -297,12 +297,12 @@ void PreviewRenderer::PaintPage (
 
     // Turn off online spelling and redlining.
     SdrOutliner* pOutliner = NULL;
-    sal_uLong nSavedControlWord (0);
+    EEControlBits nSavedControlWord;
     if (mpDocShellOfView!=NULL && mpDocShellOfView->GetDoc()!=NULL)
     {
         pOutliner = &mpDocShellOfView->GetDoc()->GetDrawOutliner();
         nSavedControlWord = pOutliner->GetControlWord();
-        pOutliner->SetControlWord((nSavedControlWord & ~EE_CNTRL_ONLINESPELLING));
+        pOutliner->SetControlWord((nSavedControlWord & ~EEControlBits::ONLINESPELLING));
     }
 
     // Use a special redirector to prevent PresObj shapes from being painted.
diff --git a/sd/source/ui/unoidl/UnoDocumentSettings.cxx b/sd/source/ui/unoidl/UnoDocumentSettings.cxx
index 6264d10..26f0f9f 100644
--- a/sd/source/ui/unoidl/UnoDocumentSettings.cxx
+++ b/sd/source/ui/unoidl/UnoDocumentSettings.cxx
@@ -786,24 +786,24 @@ throw (UnknownPropertyException, PropertyVetoException,
                     bChanged = true;
                     if ( pDoc->GetDocumentType() == DOCUMENT_TYPE_IMPRESS )
                     {
-                        sal_uInt32 nSum = bIsSummationOfParagraphs ? EE_CNTRL_ULSPACESUMMATION : 0;
-                        sal_uInt32 nCntrl;
+                        EEControlBits nSum = bIsSummationOfParagraphs ? EEControlBits::ULSPACESUMMATION : EEControlBits::NONE;
+                        EEControlBits nCntrl;
 
                         pDoc->SetSummationOfParagraphs( bIsSummationOfParagraphs );
                         SdDrawDocument* pDocument = pDocSh->GetDoc();
                         SdrOutliner& rOutl = pDocument->GetDrawOutliner();
-                        nCntrl = rOutl.GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+                        nCntrl = rOutl.GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
                         rOutl.SetControlWord( nCntrl | nSum );
                         ::sd::Outliner* pOutl = pDocument->GetOutliner( false );
                         if( pOutl )
                         {
-                            nCntrl = pOutl->GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+                            nCntrl = pOutl->GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
                             pOutl->SetControlWord( nCntrl | nSum );
                         }
                         pOutl = pDocument->GetInternalOutliner( false );
                         if( pOutl )
                         {
-                            nCntrl = pOutl->GetControlWord() &~ EE_CNTRL_ULSPACESUMMATION;
+                            nCntrl = pOutl->GetControlWord() &~ EEControlBits::ULSPACESUMMATION;
                             pOutl->SetControlWord( nCntrl | nSum );
                         }
                     }
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
index 57d7736..a421de2 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -1428,10 +1428,10 @@ private:
             mpPrinter->SetMapMode(aMap);
 
             ::Outliner& rOutliner = mrBase.GetDocument()->GetDrawOutliner();
-            const sal_uLong nSavedControlWord (rOutliner.GetControlWord());
-            sal_uLong nCntrl = nSavedControlWord;
-            nCntrl &= ~EE_CNTRL_MARKFIELDS;
-            nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+            const EEControlBits nSavedControlWord (rOutliner.GetControlWord());
+            EEControlBits nCntrl = nSavedControlWord;
+            nCntrl &= ~EEControlBits::MARKFIELDS;
+            nCntrl &= ~EEControlBits::ONLINESPELLING;
             rOutliner.SetControlWord( nCntrl );
 
             // When in outline view then apply all pending changes to the model.
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 1077a24..26d15c9 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -171,10 +171,10 @@ Outliner::Outliner( SdDrawDocument* pDoc, sal_uInt16 nMode )
     SetCalcFieldValueHdl(LINK(SD_MOD(), SdModule, CalcFieldValueHdl));
     SetForbiddenCharsTable( pDoc->GetForbiddenCharsTable() );
 
-    sal_uLong nCntrl = GetControlWord();
-    nCntrl |= EE_CNTRL_ALLOWBIGOBJS;
-    nCntrl |= EE_CNTRL_MARKFIELDS;
-    nCntrl |= EE_CNTRL_AUTOCORRECT;
+    EEControlBits nCntrl = GetControlWord();
+    nCntrl |= EEControlBits::ALLOWBIGOBJS;
+    nCntrl |= EEControlBits::MARKFIELDS;
+    nCntrl |= EEControlBits::AUTOCORRECT;
 
     bool bOnlineSpell = false;
 
@@ -203,9 +203,9 @@ Outliner::Outliner( SdDrawDocument* pDoc, sal_uInt16 nMode )
     }
 
     if (bOnlineSpell)
-        nCntrl |= EE_CNTRL_ONLINESPELLING;
+        nCntrl |= EEControlBits::ONLINESPELLING;
     else
-        nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        nCntrl &= ~EEControlBits::ONLINESPELLING;
 
     SetControlWord(nCntrl);
 
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index bded56c..96b7c65 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -1371,12 +1371,12 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
 
             if (pOL)
             {
-                sal_uLong nCntrl = pOL->GetControlWord();
+                EEControlBits nCntrl = pOL->GetControlWord();
 
                 if (bOnlineSpell)
-                    nCntrl |= EE_CNTRL_ONLINESPELLING;
+                    nCntrl |= EEControlBits::ONLINESPELLING;
                 else
-                    nCntrl &= ~EE_CNTRL_ONLINESPELLING;
+                    nCntrl &= ~EEControlBits::ONLINESPELLING;
 
                 pOL->SetControlWord(nCntrl);
             }
diff --git a/sd/source/ui/view/outlnvs2.cxx b/sd/source/ui/view/outlnvs2.cxx
index d75a96d..7806b65 100644
--- a/sd/source/ui/view/outlnvs2.cxx
+++ b/sd/source/ui/view/outlnvs2.cxx
@@ -251,17 +251,17 @@ void OutlineViewShell::FuTemporary(SfxRequest &rReq)
         case SID_COLORVIEW:
         {
             ::Outliner* pOutl = pOutlinerView->GetOutliner();
-            sal_uLong nCntrl = pOutl->GetControlWord();
+            EEControlBits nCntrl = pOutl->GetControlWord();
 
-            if ( !(nCntrl & EE_CNTRL_NOCOLORS) )
+            if ( !(nCntrl & EEControlBits::NOCOLORS) )
             {
                 // color view is enabled: disable
-                pOutl->SetControlWord(nCntrl | EE_CNTRL_NOCOLORS);
+                pOutl->SetControlWord(nCntrl | EEControlBits::NOCOLORS);
             }
             else
             {
                 // color view is disabled: enable
-                pOutl->SetControlWord(nCntrl & ~EE_CNTRL_NOCOLORS);
+                pOutl->SetControlWord(nCntrl & ~EEControlBits::NOCOLORS);
             }
 
             InvalidateWindows();
diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx
index bc7ec61..24df4ce 100644
--- a/sd/source/ui/view/outlnvsh.cxx
+++ b/sd/source/ui/view/outlnvsh.cxx
@@ -785,9 +785,9 @@ void OutlineViewShell::GetMenuState( SfxItemSet &rSet )
     else
     {
         // Enable color view?
-        sal_uLong nCntrl = rOutl.GetControlWord();
+        EEControlBits nCntrl = rOutl.GetControlWord();
         bool bNoColor = false;
-        if (nCntrl & EE_CNTRL_NOCOLORS)
+        if (nCntrl & EEControlBits::NOCOLORS)
             bNoColor = true;
 
         rSet.Put( SfxBoolItem( SID_COLORVIEW, bNoColor ) );
@@ -1231,12 +1231,12 @@ void OutlineViewShell::ReadFrameViewData(FrameView* pView)
 
     rOutl.SetFlatMode( pView->IsNoAttribs() );
 
-    sal_uLong nCntrl = rOutl.GetControlWord();
+    EEControlBits nCntrl = rOutl.GetControlWord();
 
     if ( pView->IsNoColors() )
-        rOutl.SetControlWord(nCntrl | EE_CNTRL_NOCOLORS);
+        rOutl.SetControlWord(nCntrl | EEControlBits::NOCOLORS);
     else
-        rOutl.SetControlWord(nCntrl & ~EE_CNTRL_NOCOLORS);
+        rOutl.SetControlWord(nCntrl & ~EEControlBits::NOCOLORS);
 
     sal_uInt16 nPage = mpFrameView->GetSelectedPage();
     pLastPage = GetDoc()->GetSdPage( nPage, PK_STANDARD );
@@ -1250,9 +1250,9 @@ void OutlineViewShell::WriteFrameViewData()
 {
     ::Outliner& rOutl = pOlView->GetOutliner();
 
-    sal_uLong nCntrl = rOutl.GetControlWord();
+    EEControlBits nCntrl = rOutl.GetControlWord();
     bool bNoColor = false;
-    if (nCntrl & EE_CNTRL_NOCOLORS)
+    if (nCntrl & EEControlBits::NOCOLORS)
         bNoColor = true;
     mpFrameView->SetNoColors(bNoColor);
     mpFrameView->SetNoAttribs( rOutl.IsFlatMode() );
diff --git a/sd/source/ui/view/outlview.cxx b/sd/source/ui/view/outlview.cxx
index c1bd6fc..feeea97 100644
--- a/sd/source/ui/view/outlview.cxx
+++ b/sd/source/ui/view/outlview.cxx
@@ -193,9 +193,9 @@ OutlineView::~OutlineView()
     {
         // uninitialize Outliner: enable color display
         ResetLinks();
-        sal_uLong nCntrl = mrOutliner.GetControlWord();
+        EEControlBits nCntrl = mrOutliner.GetControlWord();
         mrOutliner.SetUpdateMode(false); // otherwise there will be drawn on SetControlWord
-        mrOutliner.SetControlWord(nCntrl & ~EE_CNTRL_NOCOLORS);
+        mrOutliner.SetControlWord(nCntrl & ~EEControlBits::NOCOLORS);
         SvtAccessibilityOptions aOptions;
         mrOutliner.ForceAutoColor( aOptions.GetIsAutomaticFontColor() );
         mrOutliner.Clear();
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx
index 3eff256..96d63bc 100644
--- a/sd/source/ui/view/sdview.cxx
+++ b/sd/source/ui/view/sdview.cxx
@@ -629,14 +629,14 @@ bool View::SetStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr)
 /**
  * Start text input
  */
-static void SetSpellOptions( const SdDrawDocument& rDoc, sal_uLong& rCntrl )
+static void SetSpellOptions( const SdDrawDocument& rDoc, EEControlBits& rCntrl )
 {
     bool bOnlineSpell = rDoc.GetOnlineSpell();
 
     if( bOnlineSpell )
-        rCntrl |= EE_CNTRL_ONLINESPELLING;
+        rCntrl |= EEControlBits::ONLINESPELLING;
     else
-        rCntrl &= ~EE_CNTRL_ONLINESPELLING;
+        rCntrl &= ~EEControlBits::ONLINESPELLING;
 }
 
 void OutlinerMasterViewFilter::Start(SdrOutliner *pOutl)
@@ -677,14 +677,14 @@ bool View::SdrBeginTextEdit(
     {
         pOutl->SetStyleSheetPool(static_cast<SfxStyleSheetPool*>( mrDoc.GetStyleSheetPool() ));
         pOutl->SetCalcFieldValueHdl(LINK(SD_MOD(), SdModule, CalcFieldValueHdl));
-        sal_uLong nCntrl = pOutl->GetControlWord();
-        nCntrl |= EE_CNTRL_ALLOWBIGOBJS;
-        nCntrl |= EE_CNTRL_MARKFIELDS;
-        nCntrl |= EE_CNTRL_AUTOCORRECT;
+        EEControlBits nCntrl = pOutl->GetControlWord();
+        nCntrl |= EEControlBits::ALLOWBIGOBJS;
+        nCntrl |= EEControlBits::MARKFIELDS;
+        nCntrl |= EEControlBits::AUTOCORRECT;
 
-        nCntrl &= ~EE_CNTRL_ULSPACESUMMATION;
+        nCntrl &= ~EEControlBits::ULSPACESUMMATION;
         if ( mrDoc.IsSummationOfParagraphs() )
-            nCntrl |= EE_CNTRL_ULSPACESUMMATION;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list