diff options
author | Noel Grandin <noel@peralex.com> | 2015-03-08 15:28:27 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2015-03-11 10:16:55 +0200 |
commit | 3146851b6984dff768a88770785c5573ec7f6bbb (patch) | |
tree | f9d86a684576db57e6d2baae29687f01e8f644bd /sfx2/source | |
parent | fc4b79f76cf030015c5fdc9609afc0482223d198 (diff) |
convert CHILD_ constants to enum class
Change-Id: I1aca134fcc0384df4797cacafa9fbc1ed88d6617
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/appl/workwin.cxx | 40 | ||||
-rw-r--r-- | sfx2/source/dialog/splitwin.cxx | 12 | ||||
-rw-r--r-- | sfx2/source/inc/workwin.hxx | 38 |
3 files changed, 49 insertions, 41 deletions
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx index 5af1678b5924..d27f2243d0a2 100644 --- a/sfx2/source/appl/workwin.cxx +++ b/sfx2/source/appl/workwin.cxx @@ -832,10 +832,10 @@ SvBorder SfxWorkWindow::Arrange_Impl() continue; // First, we assume that there is room for the window. - pCli->nVisible |= CHILD_FITS_IN; + pCli->nVisible |= SfxChildVisibility::FITS_IN; // Skip invisiable windows - if (pCli->nVisible != CHILD_VISIBLE) + if (pCli->nVisible != SfxChildVisibility::VISIBLE) continue; if ( pCli->bResize ) @@ -918,7 +918,7 @@ SvBorder SfxWorkWindow::Arrange_Impl() pCli->aSize = aSize; if( bAllowHiding && !RequestTopToolSpacePixel_Impl( aBorder ) ) { - pCli->nVisible ^= CHILD_FITS_IN; + pCli->nVisible ^= SfxChildVisibility::FITS_IN; aBorder = aTemp; } } @@ -1065,7 +1065,7 @@ void SfxWorkWindow::ShowChildren_Impl() bVisible = !bInvisible || ( nFlags & SfxChildWindowFlags::NEVERHIDE ); } - if ( CHILD_VISIBLE == (pCli->nVisible & CHILD_VISIBLE) && bVisible ) + if ( SfxChildVisibility::VISIBLE == (pCli->nVisible & SfxChildVisibility::VISIBLE) && bVisible ) { sal_uInt16 nFlags = pCli->bSetFocus ? 0 : SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE; switch ( pCli->pWin->GetType() ) @@ -1455,7 +1455,7 @@ void SfxWorkWindow::UpdateChildWindows_Impl() if ( !bAllChildrenVisible ) { if ( pCW->pCli ) - pCW->pCli->nVisible &= ~CHILD_ACTIVE; + pCW->pCli->nVisible &= ~SfxChildVisibility::ACTIVE; } } else if ( pChildWin ) @@ -1471,7 +1471,7 @@ void SfxWorkWindow::UpdateChildWindows_Impl() { // The window is a direct Child if ( bAllChildrenVisible && ( (IsDockingAllowed() && bInternalDockingAllowed) || pCW->pCli->eAlign == SFX_ALIGN_NOALIGNMENT ) ) - pCW->pCli->nVisible |= CHILD_NOT_HIDDEN; + pCW->pCli->nVisible |= SfxChildVisibility::NOT_HIDDEN; } else { @@ -1493,8 +1493,8 @@ void SfxWorkWindow::UpdateChildWindows_Impl() { if ( pCW->pCli ) { - if ( pCW->pCli->nVisible & CHILD_NOT_HIDDEN ) - pCW->pCli->nVisible ^= CHILD_NOT_HIDDEN; + if ( pCW->pCli->nVisible & SfxChildVisibility::NOT_HIDDEN ) + pCW->pCli->nVisible ^= SfxChildVisibility::NOT_HIDDEN; } else static_cast<SfxDockingWindow*>(pChildWin->GetWindow())->Disappear_Impl(); @@ -1533,7 +1533,7 @@ void SfxWorkWindow::CreateChildWin_Impl( SfxChildWin_Impl *pCW, bool bSetFocus ) if ( aChildren[TbxMatch(nPos)] )// && { // ChildWindow replaces ObjectBar - aChildren[TbxMatch(nPos)]->nVisible ^= CHILD_NOT_HIDDEN; + aChildren[TbxMatch(nPos)]->nVisible ^= SfxChildVisibility::NOT_HIDDEN; } } @@ -1547,9 +1547,9 @@ void SfxWorkWindow::CreateChildWin_Impl( SfxChildWin_Impl *pCW, bool bSetFocus ) // The window is not docked or docked outside of one split windows // and must therefore be registered explicitly as a Child pCW->pCli = RegisterChild_Impl(*(pChildWin->GetWindow()), pChildWin->GetAlignment(), pChildWin->CanGetFocus()); - pCW->pCli->nVisible = CHILD_VISIBLE; + pCW->pCli->nVisible = SfxChildVisibility::VISIBLE; if ( pChildWin->GetAlignment() != SFX_ALIGN_NOALIGNMENT && bIsFullScreen ) - pCW->pCli->nVisible ^= CHILD_ACTIVE; + pCW->pCli->nVisible ^= SfxChildVisibility::ACTIVE; pCW->pCli->bSetFocus = bSetFocus; } else @@ -1667,13 +1667,13 @@ void SfxWorkWindow::HidePopups_Impl(bool bHide, bool bParent, sal_uInt16 nId ) SfxChild_Impl *pChild = FindChild_Impl(*pWin); if (bHide) { - pChild->nVisible &= ~CHILD_ACTIVE; + pChild->nVisible &= ~SfxChildVisibility::ACTIVE; pCW->Hide(); } else { - pChild->nVisible |= CHILD_ACTIVE; - if ( CHILD_VISIBLE == (pChild->nVisible & CHILD_VISIBLE) ) + pChild->nVisible |= SfxChildVisibility::ACTIVE; + if ( SfxChildVisibility::VISIBLE == (pChild->nVisible & SfxChildVisibility::VISIBLE) ) pCW->Show( SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE ); } } @@ -1724,7 +1724,7 @@ void SfxWorkWindow::ConfigChild_Impl(SfxChildIdentifier eChild, { // DockingWindow was dragged out of a SplitWindow pCW->pCli = RegisterChild_Impl(*pDockWin, pDockWin->GetAlignment(), pCW->pWin->CanGetFocus()); - pCW->pCli->nVisible = CHILD_VISIBLE; + pCW->pCli->nVisible = SfxChildVisibility::VISIBLE; } pWin = pDockWin; @@ -1789,7 +1789,7 @@ void SfxWorkWindow::ConfigChild_Impl(SfxChildIdentifier eChild, sal_uInt16 i=aSortedList[m]; SfxChild_Impl* pCli = aChildren[i]; - if ( pCli && pCli->nVisible == CHILD_VISIBLE && pCli->pWin ) + if ( pCli && pCli->nVisible == SfxChildVisibility::VISIBLE && pCli->pWin ) { switch ( pCli->eAlign ) { @@ -2266,7 +2266,7 @@ void SfxWorkWindow::ShowChildWindow_Impl(sal_uInt16 nId, bool bVisible, bool bSe if ( pCW->pCli ) { pCW->pCli->bSetFocus = bSetFocus; - pCW->pCli->nVisible = CHILD_VISIBLE; + pCW->pCli->nVisible = SfxChildVisibility::VISIBLE; pChildWin->Show( bSetFocus && pChildWin->WantsFocus() ? 0 : SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE ); } else @@ -2277,7 +2277,7 @@ void SfxWorkWindow::ShowChildWindow_Impl(sal_uInt16 nId, bool bVisible, bool bSe { if ( pCW->pCli ) { - pCW->pCli->nVisible = CHILD_VISIBLE ^ CHILD_NOT_HIDDEN; + pCW->pCli->nVisible = SfxChildVisibility::VISIBLE ^ SfxChildVisibility::NOT_HIDDEN; pCW->pWin->Hide(); } else @@ -2515,7 +2515,7 @@ void SfxWorkWindow::MakeChildrenVisible_Impl( bool bVis ) { SfxChild_Impl* pCli = aChildren[aSortedList[n]]; if ( (pCli->eAlign == SFX_ALIGN_NOALIGNMENT) || (IsDockingAllowed() && bInternalDockingAllowed) ) - pCli->nVisible |= CHILD_ACTIVE; + pCli->nVisible |= SfxChildVisibility::ACTIVE; } } else @@ -2525,7 +2525,7 @@ void SfxWorkWindow::MakeChildrenVisible_Impl( bool bVis ) for ( sal_uInt16 n=0; n<aSortedList.size(); ++n ) { SfxChild_Impl* pCli = aChildren[aSortedList[n]]; - pCli->nVisible &= ~CHILD_ACTIVE; + pCli->nVisible &= ~SfxChildVisibility::ACTIVE; } } } diff --git a/sfx2/source/dialog/splitwin.cxx b/sfx2/source/dialog/splitwin.cxx index c58505a244b6..ca6f7be22812 100644 --- a/sfx2/source/dialog/splitwin.cxx +++ b/sfx2/source/dialog/splitwin.cxx @@ -731,7 +731,7 @@ void SfxSplitWindow::InsertWindow_Impl( SfxDock_Impl* pDock, SetPinned_Impl( false ); pEmptyWin->Actualize(); OSL_TRACE( "SfxSplitWindow::InsertWindow_Impl - registering empty Splitwindow" ); - pWorkWin->RegisterChild_Impl( *GetSplitWindow(), eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *GetSplitWindow(), eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; pWorkWin->ArrangeChildren_Impl(); if ( bFadeIn ) FadeIn(); @@ -751,7 +751,7 @@ void SfxSplitWindow::InsertWindow_Impl( SfxDock_Impl* pDock, OSL_TRACE( "SfxSplitWindow::InsertWindow_Impl - registering real Splitwindow" ); } #endif - pWorkWin->RegisterChild_Impl( *GetSplitWindow(), eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *GetSplitWindow(), eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; pWorkWin->ArrangeChildren_Impl(); if ( bFadeIn ) FadeIn(); @@ -1105,7 +1105,7 @@ void SfxSplitWindow::SetPinned_Impl( bool bOn ) Hide(); pEmptyWin->Actualize(); OSL_TRACE( "SfxSplitWindow::SetPinned_Impl - registering empty Splitwindow" ); - pWorkWin->RegisterChild_Impl( *pEmptyWin, eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *pEmptyWin, eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; } Point aPos( GetPosPixel() ); @@ -1130,7 +1130,7 @@ void SfxSplitWindow::SetPinned_Impl( bool bOn ) pWorkWin->ReleaseChild_Impl( *pEmptyWin ); pEmptyWin->Hide(); OSL_TRACE( "SfxSplitWindow::SetPinned_Impl - registering real Splitwindow" ); - pWorkWin->RegisterChild_Impl( *this, eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *this, eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; } } @@ -1164,7 +1164,7 @@ void SfxSplitWindow::SetFadeIn_Impl( bool bOn ) pWorkWin->ReleaseChild_Impl( *pEmptyWin ); pEmptyWin->Hide(); OSL_TRACE( "SfxSplitWindow::SetFadeIn_Impl - registering real Splitwindow" ); - pWorkWin->RegisterChild_Impl( *this, eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *this, eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; pWorkWin->ArrangeChildren_Impl(); pWorkWin->ShowChildren_Impl(); } @@ -1181,7 +1181,7 @@ void SfxSplitWindow::SetFadeIn_Impl( bool bOn ) Hide(); pEmptyWin->Actualize(); OSL_TRACE( "SfxSplitWindow::SetFadeIn_Impl - registering empty Splitwindow" ); - pWorkWin->RegisterChild_Impl( *pEmptyWin, eAlign, true )->nVisible = CHILD_VISIBLE; + pWorkWin->RegisterChild_Impl( *pEmptyWin, eAlign, true )->nVisible = SfxChildVisibility::VISIBLE; pWorkWin->ArrangeChildren_Impl(); pWorkWin->ShowChildren_Impl(); pWorkWin->ArrangeAutoHideWindows( this ); diff --git a/sfx2/source/inc/workwin.hxx b/sfx2/source/inc/workwin.hxx index 762a2ff002e4..1d5281746f2c 100644 --- a/sfx2/source/inc/workwin.hxx +++ b/sfx2/source/inc/workwin.hxx @@ -31,6 +31,7 @@ #include <rtl/ustring.hxx> #include <osl/mutex.hxx> +#include <o3tl/typed_flags_set.hxx> #include <sfx2/sfx.hrc> #include <sfx2/childwin.hxx> @@ -49,7 +50,7 @@ struct SfxObjectBar_Impl sal_uInt16 nMode; // special visibility flags sal_uInt16 nPos; sal_uInt16 nIndex; - bool bDestroy; + bool bDestroy; SfxInterface* pIFace; SfxObjectBar_Impl() : @@ -67,7 +68,7 @@ struct SfxObjectBar_Impl struct SfxStatBar_Impl { - sal_uInt16 nId; + sal_uInt16 nId; bool bOn; bool bTemp; @@ -79,19 +80,26 @@ struct SfxStatBar_Impl }; +enum class SfxChildVisibility +{ + NOT_VISIBLE = 0, + ACTIVE = 1, // not disabled through HidePopups + NOT_HIDDEN = 2, // not disabled through HideChildWindow + FITS_IN = 4, // not too large for output size of the parent + VISIBLE = 7, // NOT_HIDDEN | ACTIVE | FITS_IN) +}; +namespace o3tl +{ + template<> struct typed_flags<SfxChildVisibility> : is_typed_flags<SfxChildVisibility, 0x07> {}; +} -#define CHILD_NOT_VISIBLE 0 -#define CHILD_ACTIVE 1 // not disabled through HidePopups -#define CHILD_NOT_HIDDEN 2 // not disabled through HideChildWindow -#define CHILD_FITS_IN 4 // not too large for output size of the parent -#define CHILD_VISIBLE (CHILD_NOT_HIDDEN | CHILD_ACTIVE | CHILD_FITS_IN) struct SfxChild_Impl { - vcl::Window* pWin; + vcl::Window* pWin; Size aSize; SfxChildAlignment eAlign; - sal_uInt16 nVisible; + SfxChildVisibility nVisible; bool bResize; bool bCanGetFocus; bool bSetFocus; @@ -101,20 +109,20 @@ struct SfxChild_Impl pWin(&rChild), aSize(rSize), eAlign(eAlignment), bResize(false), bCanGetFocus( false ), bSetFocus( false ) { - nVisible = bIsVisible ? CHILD_VISIBLE : CHILD_NOT_VISIBLE; + nVisible = bIsVisible ? SfxChildVisibility::VISIBLE : SfxChildVisibility::NOT_VISIBLE; } }; struct SfxChildWin_Impl { - sal_uInt16 nSaveId; // the ChildWindow-Id - sal_uInt16 nInterfaceId; // the current context - sal_uInt16 nId; // current Id + sal_uInt16 nSaveId; // the ChildWindow-Id + sal_uInt16 nInterfaceId; // the current context + sal_uInt16 nId; // current Id SfxChildWindow* pWin; bool bCreate; SfxChildWinInfo aInfo; - SfxChild_Impl* pCli; // != 0 at direct Children - sal_uInt16 nVisibility; + SfxChild_Impl* pCli; // != 0 at direct Children + sal_uInt16 nVisibility; bool bEnable; bool bDisabled; |