summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-05-12 15:30:22 +0200
committerNoel Grandin <noel@peralex.com>2015-05-13 09:25:50 +0200
commitfacc91ab4a3f25b3290408c7083ed4c09dd8d759 (patch)
tree65062b866ac520a9f4078886ac04a20e0e492733 /vcl
parent96096e27457454219c6621b060e89319ceaca23c (diff)
convert FLOATWIN_POPUPMODE constants to scoped enum
Change-Id: I744d430ef6a506977eb10b892582c8969ec27524
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/salmenu.hxx2
-rw-r--r--vcl/source/app/salvtables.cxx2
-rw-r--r--vcl/source/control/ilstbox.cxx4
-rw-r--r--vcl/source/window/dockmgr.cxx16
-rw-r--r--vcl/source/window/floatwin.cxx123
-rw-r--r--vcl/source/window/menu.cxx32
-rw-r--r--vcl/source/window/menubarwindow.cxx2
-rw-r--r--vcl/source/window/menufloatingwindow.cxx10
-rw-r--r--vcl/source/window/winproc.cxx18
-rw-r--r--vcl/unx/generic/window/salframe.cxx6
-rw-r--r--vcl/unx/gtk/window/gtksalframe.cxx2
11 files changed, 109 insertions, 108 deletions
diff --git a/vcl/inc/salmenu.hxx b/vcl/inc/salmenu.hxx
index ee9bdb76a6f5..aaea364f30b2 100644
--- a/vcl/inc/salmenu.hxx
+++ b/vcl/inc/salmenu.hxx
@@ -77,7 +77,7 @@ public:
virtual void SetItemImage( unsigned nPos, SalMenuItem* pSalMenuItem, const Image& rImage ) = 0;
virtual void SetAccelerator( unsigned nPos, SalMenuItem* pSalMenuItem, const vcl::KeyCode& rKeyCode, const OUString& rKeyName ) = 0;
virtual void GetSystemMenuData( SystemMenuData* pData ) = 0;
- virtual bool ShowNativePopupMenu(FloatingWindow * pWin, const Rectangle& rRect, sal_uLong nFlags);
+ virtual bool ShowNativePopupMenu(FloatingWindow * pWin, const Rectangle& rRect, FloatWinPopupFlags nFlags);
virtual bool AddMenuBarButton( const SalMenuButtonItem& ); // return false if not implemented or failure
virtual void RemoveMenuBarButton( sal_uInt16 nId );
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index e05b73480148..c51f4f60d954 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -130,7 +130,7 @@ SalMenu::~SalMenu()
{
}
-bool SalMenu::ShowNativePopupMenu(FloatingWindow *, const Rectangle&, sal_uLong )
+bool SalMenu::ShowNativePopupMenu(FloatingWindow *, const Rectangle&, FloatWinPopupFlags )
{
return false;
}
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index f1b9c23e4476..bd1935cf0577 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -2973,7 +2973,7 @@ void ImplListBoxFloatingWindow::setPosSizePixel( long nX, long nY, long nWidth,
aPos.Y() = nY;
sal_uInt16 nIndex;
- SetPosPixel( ImplCalcPos( this, Rectangle( aPos, GetParent()->GetSizePixel() ), FLOATWIN_POPUPMODE_DOWN, nIndex ) );
+ SetPosPixel( ImplCalcPos( this, Rectangle( aPos, GetParent()->GetSizePixel() ), FloatWinPopupFlags::Down, nIndex ) );
}
// if( !IsReallyVisible() )
@@ -3105,7 +3105,7 @@ void ImplListBoxFloatingWindow::StartFloat( bool bStartTracking )
pGrandparentOutDev->ReMirror( aRect );
// mouse-button right: close the List-Box-Float-win and don't stop the handling fdo#84795
- StartPopupMode( aRect, FLOATWIN_POPUPMODE_DOWN | FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE );
+ StartPopupMode( aRect, FloatWinPopupFlags::Down | FloatWinPopupFlags::AllMouseButtonClose );
if( nPos != LISTBOX_ENTRY_NOTFOUND )
mpImplLB->ShowProminentEntry( nPos );
diff --git a/vcl/source/window/dockmgr.cxx b/vcl/source/window/dockmgr.cxx
index 684f444fe40d..2d8d937a9669 100644
--- a/vcl/source/window/dockmgr.cxx
+++ b/vcl/source/window/dockmgr.cxx
@@ -368,7 +368,7 @@ void DockingManager::SetFloatingMode( const vcl::Window *pWindow, bool bFloating
pWrapper->SetFloatingMode( bFloating );
}
-void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const vcl::Window *pWindow, sal_uLong nFlags )
+void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const vcl::Window *pWindow, FloatWinPopupFlags nFlags )
{
ImplDockingWindowWrapper* pWrapper = GetDockingWindowWrapper( pWindow );
if( pWrapper )
@@ -377,10 +377,10 @@ void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const vcl::Window
void DockingManager::StartPopupMode( ToolBox *pParentToolBox, const vcl::Window *pWindow )
{
- StartPopupMode( pParentToolBox, pWindow, FLOATWIN_POPUPMODE_ALLOWTEAROFF |
- FLOATWIN_POPUPMODE_NOFOCUSCLOSE |
- FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE |
- FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE );
+ StartPopupMode( pParentToolBox, pWindow, FloatWinPopupFlags::AllowTearOff |
+ FloatWinPopupFlags::NoFocusClose |
+ FloatWinPopupFlags::AllMouseButtonClose |
+ FloatWinPopupFlags::NoMouseUpClose );
}
bool DockingManager::IsInPopupMode( const vcl::Window *pWindow )
@@ -1098,7 +1098,7 @@ void ImplDockingWindowWrapper::ShowTitleButton( sal_uInt16 nButton, bool bVisibl
}
}
-void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, sal_uLong nFlags )
+void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, FloatWinPopupFlags nFlags )
{
// do nothing if window is floating
if( IsFloatingMode() )
@@ -1113,7 +1113,7 @@ void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, sal_uLon
mpOldBorderWin = NULL; // no border window found
// the new parent for popup mode
- VclPtrInstance<ImplPopupFloatWin> pWin( mpParent, this, (nFlags & FLOATWIN_POPUPMODE_ALLOWTEAROFF) != 0 );
+ VclPtrInstance<ImplPopupFloatWin> pWin( mpParent, this, bool(nFlags & FloatWinPopupFlags::AllowTearOff) );
pWin->SetPopupModeEndHdl( LINK( this, ImplDockingWindowWrapper, PopupModeEnd ) );
pWin->SetText( GetWindow()->GetText() );
@@ -1146,7 +1146,7 @@ void ImplDockingWindowWrapper::StartPopupMode( ToolBox *pParentToolBox, sal_uLon
// if the subtoolbar was opened via keyboard make sure that key events
// will go into subtoolbar
if( pParentToolBox->IsKeyEvent() )
- nFlags |= FLOATWIN_POPUPMODE_GRABFOCUS;
+ nFlags |= FloatWinPopupFlags::GrabFocus;
mpFloatWin->StartPopupMode( pParentToolBox, nFlags );
GetWindow()->Show();
diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx
index 0e2f5cc459e3..f66f92e8cc58 100644
--- a/vcl/source/window/floatwin.cxx
+++ b/vcl/source/window/floatwin.cxx
@@ -123,7 +123,7 @@ void FloatingWindow::ImplInit( vcl::Window* pParent, WinBits nStyle )
mnPostId = 0;
mnTitle = (nStyle & (WB_MOVEABLE | WB_POPUP)) ? FLOATWIN_TITLE_NORMAL : FLOATWIN_TITLE_NONE;
mnOldTitle = mnTitle;
- mnPopupModeFlags = 0;
+ mnPopupModeFlags = FloatWinPopupFlags::NONE;
mbInPopupMode = false;
mbPopupMode = false;
mbPopupModeCanceled = false;
@@ -159,7 +159,7 @@ FloatingWindow::FloatingWindow(vcl::Window* pParent, const OString& rID, const O
, mpFirstPopupModeWin(0)
, mpImplData(0)
, mnPostId(0)
- , mnPopupModeFlags(0)
+ , mnPopupModeFlags(FloatWinPopupFlags::NONE)
, mnTitle(0)
, mnOldTitle(0)
, mbInPopupMode(false)
@@ -218,13 +218,13 @@ void FloatingWindow::dispose()
SystemWindow::dispose();
}
-Point FloatingWindow::CalcFloatingPosition( vcl::Window* pWindow, const Rectangle& rRect, sal_uLong nFlags, sal_uInt16& rArrangeIndex )
+Point FloatingWindow::CalcFloatingPosition( vcl::Window* pWindow, const Rectangle& rRect, FloatWinPopupFlags nFlags, sal_uInt16& rArrangeIndex )
{
return ImplCalcPos( pWindow, rRect, nFlags, rArrangeIndex );
}
Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
- const Rectangle& rRect, sal_uLong nFlags,
+ const Rectangle& rRect, FloatWinPopupFlags nFlags,
sal_uInt16& rArrangeIndex )
{
// get window position
@@ -254,43 +254,43 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
aScreenRect = Application::GetScreenPosSizePixel(
Application::GetBestScreen( bRTL ? devRectRTL : devRect ) );
- sal_uInt16 nArrangeAry[5];
- sal_uInt16 nArrangeIndex;
- Point e1,e2; // the common edge between the item rect and the floating window
+ FloatWinPopupFlags nArrangeAry[5];
+ sal_uInt16 nArrangeIndex;
+ Point e1,e2; // the common edge between the item rect and the floating window
- if ( nFlags & FLOATWIN_POPUPMODE_LEFT )
+ if ( nFlags & FloatWinPopupFlags::Left )
{
- nArrangeAry[0] = FLOATWIN_POPUPMODE_LEFT;
- nArrangeAry[1] = FLOATWIN_POPUPMODE_RIGHT;
- nArrangeAry[2] = FLOATWIN_POPUPMODE_UP;
- nArrangeAry[3] = FLOATWIN_POPUPMODE_DOWN;
- nArrangeAry[4] = FLOATWIN_POPUPMODE_LEFT;
+ nArrangeAry[0] = FloatWinPopupFlags::Left;
+ nArrangeAry[1] = FloatWinPopupFlags::Right;
+ nArrangeAry[2] = FloatWinPopupFlags::Up;
+ nArrangeAry[3] = FloatWinPopupFlags::Down;
+ nArrangeAry[4] = FloatWinPopupFlags::Left;
}
- else if ( nFlags & FLOATWIN_POPUPMODE_RIGHT )
+ else if ( nFlags & FloatWinPopupFlags::Right )
{
- nArrangeAry[0] = FLOATWIN_POPUPMODE_RIGHT;
- nArrangeAry[1] = FLOATWIN_POPUPMODE_LEFT;
- nArrangeAry[2] = FLOATWIN_POPUPMODE_UP;
- nArrangeAry[3] = FLOATWIN_POPUPMODE_DOWN;
- nArrangeAry[4] = FLOATWIN_POPUPMODE_RIGHT;
+ nArrangeAry[0] = FloatWinPopupFlags::Right;
+ nArrangeAry[1] = FloatWinPopupFlags::Left;
+ nArrangeAry[2] = FloatWinPopupFlags::Up;
+ nArrangeAry[3] = FloatWinPopupFlags::Down;
+ nArrangeAry[4] = FloatWinPopupFlags::Right;
}
- else if ( nFlags & FLOATWIN_POPUPMODE_UP )
+ else if ( nFlags & FloatWinPopupFlags::Up )
{
- nArrangeAry[0] = FLOATWIN_POPUPMODE_UP;
- nArrangeAry[1] = FLOATWIN_POPUPMODE_DOWN;
- nArrangeAry[2] = FLOATWIN_POPUPMODE_RIGHT;
- nArrangeAry[3] = FLOATWIN_POPUPMODE_LEFT;
- nArrangeAry[4] = FLOATWIN_POPUPMODE_UP;
+ nArrangeAry[0] = FloatWinPopupFlags::Up;
+ nArrangeAry[1] = FloatWinPopupFlags::Down;
+ nArrangeAry[2] = FloatWinPopupFlags::Right;
+ nArrangeAry[3] = FloatWinPopupFlags::Left;
+ nArrangeAry[4] = FloatWinPopupFlags::Up;
}
else
{
- nArrangeAry[0] = FLOATWIN_POPUPMODE_DOWN;
- nArrangeAry[1] = FLOATWIN_POPUPMODE_UP;
- nArrangeAry[2] = FLOATWIN_POPUPMODE_RIGHT;
- nArrangeAry[3] = FLOATWIN_POPUPMODE_LEFT;
- nArrangeAry[4] = FLOATWIN_POPUPMODE_DOWN;
+ nArrangeAry[0] = FloatWinPopupFlags::Down;
+ nArrangeAry[1] = FloatWinPopupFlags::Up;
+ nArrangeAry[2] = FloatWinPopupFlags::Right;
+ nArrangeAry[3] = FloatWinPopupFlags::Left;
+ nArrangeAry[4] = FloatWinPopupFlags::Down;
}
- if ( nFlags & FLOATWIN_POPUPMODE_NOAUTOARRANGE )
+ if ( nFlags & FloatWinPopupFlags::NoAutoArrange )
nArrangeIndex = 4;
else
nArrangeIndex = 0;
@@ -301,7 +301,7 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
switch ( nArrangeAry[nArrangeIndex] )
{
- case FLOATWIN_POPUPMODE_LEFT:
+ case FloatWinPopupFlags::Left:
aPos.X() = devRect.Left()-aSize.Width()+1;
aPos.Y() = devRect.Top();
aPos.Y() -= pWindow->mpWindowImpl->mnTopBorder;
@@ -326,7 +326,7 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
e2.Y()--;
}
break;
- case FLOATWIN_POPUPMODE_RIGHT:
+ case FloatWinPopupFlags::Right:
aPos = devRect.TopRight();
aPos.Y() -= pWindow->mpWindowImpl->mnTopBorder;
if( bRTL ) // --- RTL --- we're comparing screen coordinates here
@@ -350,7 +350,7 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
e2.Y()--;
}
break;
- case FLOATWIN_POPUPMODE_UP:
+ case FloatWinPopupFlags::Up:
aPos.X() = devRect.Left();
aPos.Y() = devRect.Top()-aSize.Height()+1;
if ( aPos.Y() < aScreenRect.Top() )
@@ -366,7 +366,7 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
e2.X()--;
}
break;
- case FLOATWIN_POPUPMODE_DOWN:
+ case FloatWinPopupFlags::Down:
aPos = devRect.BottomLeft();
if ( aPos.Y()+aSize.Height() > aScreenRect.Bottom() )
bBreak = false;
@@ -381,13 +381,14 @@ Point FloatingWindow::ImplCalcPos( vcl::Window* pWindow,
e2.X()--;
}
break;
+ default: break;
}
// adjust if necessary
- if ( bBreak && !(nFlags & FLOATWIN_POPUPMODE_NOAUTOARRANGE) )
+ if ( bBreak && !(nFlags & FloatWinPopupFlags::NoAutoArrange) )
{
- if ( (nArrangeAry[nArrangeIndex] == FLOATWIN_POPUPMODE_LEFT) ||
- (nArrangeAry[nArrangeIndex] == FLOATWIN_POPUPMODE_RIGHT) )
+ if ( (nArrangeAry[nArrangeIndex] == FloatWinPopupFlags::Left) ||
+ (nArrangeAry[nArrangeIndex] == FloatWinPopupFlags::Right) )
{
if ( aPos.Y()+aSize.Height() > aScreenRect.Bottom() )
{
@@ -496,7 +497,7 @@ FloatingWindow* FloatingWindow::ImplFindLastLevelFloat()
do
{
- if ( pWin->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NEWLEVEL )
+ if ( pWin->GetPopupModeFlags() & FloatWinPopupFlags::NewLevel )
pLastFoundWin = pWin;
pWin = pWin->mpNextFloat;
@@ -526,7 +527,7 @@ IMPL_LINK_NOARG(FloatingWindow, ImplEndPopupModeHdl)
{
VclPtr<FloatingWindow> pThis(this);
mnPostId = 0;
- mnPopupModeFlags = 0;
+ mnPopupModeFlags = FloatWinPopupFlags::NONE;
mbPopupMode = false;
PopupModeEnd();
return 0;
@@ -618,7 +619,7 @@ void FloatingWindow::SetTitleType( sal_uInt16 nTitle )
}
}
-void FloatingWindow::StartPopupMode( const Rectangle& rRect, sal_uLong nFlags )
+void FloatingWindow::StartPopupMode( const Rectangle& rRect, FloatWinPopupFlags nFlags )
{
// avoid flickering
if ( IsVisible() )
@@ -631,19 +632,19 @@ void FloatingWindow::StartPopupMode( const Rectangle& rRect, sal_uLong nFlags )
mnOldTitle = mnTitle;
if ( ( mpWindowImpl->mnStyle & WB_POPUP ) && !GetText().isEmpty() )
SetTitleType( FLOATWIN_TITLE_POPUP );
- else if ( nFlags & FLOATWIN_POPUPMODE_ALLOWTEAROFF )
+ else if ( nFlags & FloatWinPopupFlags::AllowTearOff )
SetTitleType( FLOATWIN_TITLE_TEAROFF );
else
SetTitleType( FLOATWIN_TITLE_NONE );
// avoid close on focus change for decorated floating windows only
if( mpWindowImpl->mbFrame && (GetStyle() & WB_MOVEABLE) )
- nFlags |= FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE;
+ nFlags |= FloatWinPopupFlags::NoAppFocusClose;
// #102010# For debugging Accessibility
static const char* pEnv = getenv("SAL_FLOATWIN_NOAPPFOCUSCLOSE" );
if( pEnv && *pEnv )
- nFlags |= FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE;
+ nFlags |= FloatWinPopupFlags::NoAppFocusClose;
// compute window position according to flags and arrangement
sal_uInt16 nArrangeIndex;
@@ -691,7 +692,7 @@ void FloatingWindow::StartPopupMode( const Rectangle& rRect, sal_uLong nFlags )
ImplSVData* pSVData = ImplGetSVData();
mpNextFloat = pSVData->maWinData.mpFirstFloat;
pSVData->maWinData.mpFirstFloat = this;
- if( nFlags & FLOATWIN_POPUPMODE_GRABFOCUS )
+ if( nFlags & FloatWinPopupFlags::GrabFocus )
{
// force key input even without focus (useful for menus)
mbGrabFocus = true;
@@ -699,7 +700,7 @@ void FloatingWindow::StartPopupMode( const Rectangle& rRect, sal_uLong nFlags )
Show( true, SHOW_NOACTIVATE );
}
-void FloatingWindow::StartPopupMode( ToolBox* pBox, sal_uLong nFlags )
+void FloatingWindow::StartPopupMode( ToolBox* pBox, FloatWinPopupFlags nFlags )
{
// get selected button
sal_uInt16 nItemId = pBox->GetDownItemId();
@@ -717,27 +718,27 @@ void FloatingWindow::StartPopupMode( ToolBox* pBox, sal_uLong nFlags )
aRect.SetPos( aPos );
nFlags |=
- FLOATWIN_POPUPMODE_NOFOCUSCLOSE |
-// FLOATWIN_POPUPMODE_NOMOUSECLOSE |
- FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE |
-// FLOATWIN_POPUPMODE_NOMOUSERECTCLOSE | // #105968# floating toolboxes should close when clicked in (parent's) float rect
- FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE;
-// | FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE;
+ FloatWinPopupFlags::NoFocusClose |
+// FloatWinPopupFlags::NoMouseClose |
+ FloatWinPopupFlags::AllMouseButtonClose |
+// FloatWinPopupFlags::NoMouseRectClose | // #105968# floating toolboxes should close when clicked in (parent's) float rect
+ FloatWinPopupFlags::NoMouseUpClose;
+// | FloatWinPopupFlags::NoAppFocusClose;
/*
- * FLOATWIN_POPUPMODE_NOKEYCLOSE |
+ * FloatWinPopupFlags::NoKeyClose |
* don't set since it disables closing floaters with escape
*/
// set Flags for positioning
- if ( !(nFlags & (FLOATWIN_POPUPMODE_DOWN | FLOATWIN_POPUPMODE_UP |
- FLOATWIN_POPUPMODE_LEFT | FLOATWIN_POPUPMODE_RIGHT |
- FLOATWIN_POPUPMODE_NOAUTOARRANGE)) )
+ if ( !(nFlags & (FloatWinPopupFlags::Down | FloatWinPopupFlags::Up |
+ FloatWinPopupFlags::Left | FloatWinPopupFlags::Right |
+ FloatWinPopupFlags::NoAutoArrange)) )
{
if ( pBox->IsHorizontal() )
- nFlags |= FLOATWIN_POPUPMODE_DOWN;
+ nFlags |= FloatWinPopupFlags::Down;
else
- nFlags |= FLOATWIN_POPUPMODE_RIGHT;
+ nFlags |= FloatWinPopupFlags::Right;
}
// start FloatingMode
@@ -761,11 +762,11 @@ void FloatingWindow::ImplEndPopupMode( sal_uInt16 nFlags, sal_uLong nFocusId )
pSVData->maWinData.mpFirstFloat = mpNextFloat;
mpNextFloat = NULL;
- sal_uLong nPopupModeFlags = mnPopupModeFlags;
+ FloatWinPopupFlags nPopupModeFlags = mnPopupModeFlags;
// hide window again if it was not deleted
if ( !(nFlags & FLOATWIN_POPUPMODEEND_TEAROFF) ||
- !(nPopupModeFlags & FLOATWIN_POPUPMODE_ALLOWTEAROFF) )
+ !(nPopupModeFlags & FloatWinPopupFlags::AllowTearOff) )
{
Show( false, SHOW_NOFOCUSCHANGE );
@@ -804,7 +805,7 @@ void FloatingWindow::ImplEndPopupMode( sal_uInt16 nFlags, sal_uLong nFocusId )
// close all other windows depending on parameter
if ( nFlags & FLOATWIN_POPUPMODEEND_CLOSEALL )
{
- if ( !(nPopupModeFlags & FLOATWIN_POPUPMODE_NEWLEVEL) )
+ if ( !(nPopupModeFlags & FloatWinPopupFlags::NewLevel) )
{
if ( pSVData->maWinData.mpFirstFloat )
{
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 2e6d8c6a3dcb..762eaa264064 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -2811,28 +2811,28 @@ sal_uInt16 PopupMenu::Execute( vcl::Window* pExecWindow, const Rectangle& rRect,
{
ENSURE_OR_RETURN( pExecWindow, "PopupMenu::Execute: need a non-NULL window!", 0 );
- sal_uLong nPopupModeFlags = 0;
+ FloatWinPopupFlags nPopupModeFlags = FloatWinPopupFlags::NONE;
if ( nFlags & POPUPMENU_EXECUTE_DOWN )
- nPopupModeFlags = FLOATWIN_POPUPMODE_DOWN;
+ nPopupModeFlags = FloatWinPopupFlags::Down;
else if ( nFlags & POPUPMENU_EXECUTE_UP )
- nPopupModeFlags = FLOATWIN_POPUPMODE_UP;
+ nPopupModeFlags = FloatWinPopupFlags::Up;
else if ( nFlags & POPUPMENU_EXECUTE_LEFT )
- nPopupModeFlags = FLOATWIN_POPUPMODE_LEFT;
+ nPopupModeFlags = FloatWinPopupFlags::Left;
else if ( nFlags & POPUPMENU_EXECUTE_RIGHT )
- nPopupModeFlags = FLOATWIN_POPUPMODE_RIGHT;
+ nPopupModeFlags = FloatWinPopupFlags::Right;
else
- nPopupModeFlags = FLOATWIN_POPUPMODE_DOWN;
+ nPopupModeFlags = FloatWinPopupFlags::Down;
if (nFlags & POPUPMENU_NOMOUSEUPCLOSE ) // allow popup menus to stay open on mouse button up
- nPopupModeFlags |= FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE; // useful if the menu was opened on mousebutton down (eg toolbox configuration)
+ nPopupModeFlags |= FloatWinPopupFlags::NoMouseUpClose; // useful if the menu was opened on mousebutton down (eg toolbox configuration)
if (nFlags & POPUPMENU_NOHORZ_PLACEMENT)
- nPopupModeFlags |= FLOATWIN_POPUPMODE_NOHORZPLACEMENT;
+ nPopupModeFlags |= FloatWinPopupFlags::NoHorzPlacement;
return ImplExecute( pExecWindow, rRect, nPopupModeFlags, 0, false );
}
-sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_uLong nPopupModeFlags, Menu* pSFrom, bool bPreSelectFirst )
+sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, FloatWinPopupFlags nPopupModeFlags, Menu* pSFrom, bool bPreSelectFirst )
{
if ( !pSFrom && ( PopupMenu::IsInExecute() || !GetItemCount() ) )
return 0;
@@ -2866,11 +2866,11 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_
WinBits nStyle = WB_BORDER;
if (bRealExecute)
- nPopupModeFlags |= FLOATWIN_POPUPMODE_NEWLEVEL;
- nPopupModeFlags |= FLOATWIN_POPUPMODE_NOKEYCLOSE | FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE;
+ nPopupModeFlags |= FloatWinPopupFlags::NewLevel;
+ nPopupModeFlags |= FloatWinPopupFlags::NoKeyClose | FloatWinPopupFlags::AllMouseButtonClose;
// could be useful during debugging.
- // nPopupModeFlags |= FLOATWIN_POPUPMODE_NOFOCUSCLOSE;
+ // nPopupModeFlags |= FloatWinPopupFlags::NoFocusClose;
ImplDelData aDelData;
pW->ImplAddDel( &aDelData );
@@ -2952,7 +2952,7 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_
//mode is to place it somewhere it will fit. e.g. above, left, right. For
//some cases, e.g. menubars, it's desirable to limit the options to
//above/below and force the menu to scroll if it won't fit
- if (nPopupModeFlags & FLOATWIN_POPUPMODE_NOHORZPLACEMENT)
+ if (nPopupModeFlags & FloatWinPopupFlags::NoHorzPlacement)
{
vcl::Window* pRef = pWin;
if ( pRef->GetParent() )
@@ -2984,13 +2984,13 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_
// #102158# menus must never grab the focus, otherwise
// they will be closed immediately
// from now on focus grabbing is only prohibited automatically if
- // FLOATWIN_POPUPMODE_GRABFOCUS was set (which is done below), because some
+ // FloatWinPopupFlags::GrabFocus was set (which is done below), because some
// floaters (like floating toolboxes) may grab the focus
// pWin->GrabFocus();
if ( GetItemCount() )
{
SalMenu* pMenu = ImplGetSalMenu();
- if( pMenu && bRealExecute && pMenu->ShowNativePopupMenu( pWin, aRect, nPopupModeFlags | FLOATWIN_POPUPMODE_GRABFOCUS ) )
+ if( pMenu && bRealExecute && pMenu->ShowNativePopupMenu( pWin, aRect, nPopupModeFlags | FloatWinPopupFlags::GrabFocus ) )
{
pWin->StopExecute(0);
pWin->doShutdown();
@@ -3000,7 +3000,7 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const Rectangle& rRect, sal_
}
else
{
- pWin->StartPopupMode( aRect, nPopupModeFlags | FLOATWIN_POPUPMODE_GRABFOCUS );
+ pWin->StartPopupMode( aRect, nPopupModeFlags | FloatWinPopupFlags::GrabFocus );
}
if( pSFrom )
{
diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx
index 6a8de205b0de..942f184e8c3d 100644
--- a/vcl/source/window/menubarwindow.cxx
+++ b/vcl/source/window/menubarwindow.cxx
@@ -336,7 +336,7 @@ void MenuBarWindow::ImplCreatePopup( bool bPreSelectFirst )
// #99071# do not grab the focus, otherwise it will be restored to the menubar
// when the frame is reactivated later
//GrabFocus();
- pActivePopup->ImplExecute( this, Rectangle( aItemTopLeft, aItemBottomRight ), FLOATWIN_POPUPMODE_DOWN | FLOATWIN_POPUPMODE_NOHORZPLACEMENT, pMenu, bPreSelectFirst );
+ pActivePopup->ImplExecute( this, Rectangle( aItemTopLeft, aItemBottomRight ), FloatWinPopupFlags::Down | FloatWinPopupFlags::NoHorzPlacement, pMenu, bPreSelectFirst );
// does not have a window, if aborted before or if there are no entries
if ( pActivePopup->ImplGetFloatingWindow() )
pActivePopup->ImplGetFloatingWindow()->AddPopupModeWindow( this );
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index f9340105152e..4345e16c2caf 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -282,8 +282,8 @@ IMPL_LINK_TYPED( MenuFloatingWindow, HighlightChanged, Timer*, pTimer, void )
{
if ( pActivePopup && ( pActivePopup != pItemData->pSubMenu ) )
{
- sal_uLong nOldFlags = GetPopupModeFlags();
- SetPopupModeFlags( GetPopupModeFlags() | FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
+ FloatWinPopupFlags nOldFlags = GetPopupModeFlags();
+ SetPopupModeFlags( GetPopupModeFlags() | FloatWinPopupFlags::NoAppFocusClose );
KillActivePopup();
SetPopupModeFlags( nOldFlags );
}
@@ -321,9 +321,9 @@ IMPL_LINK_TYPED( MenuFloatingWindow, HighlightChanged, Timer*, pTimer, void )
// were for long in Activate Rescheduled and which should not be
// displayed now.
Menu* pTest = pActivePopup;
- sal_uLong nOldFlags = GetPopupModeFlags();
- SetPopupModeFlags( GetPopupModeFlags() | FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE );
- sal_uInt16 nRet = pActivePopup->ImplExecute( this, Rectangle( aItemTopLeft, aItemBottomRight ), FLOATWIN_POPUPMODE_RIGHT, pMenu, pTimer == nullptr );
+ FloatWinPopupFlags nOldFlags = GetPopupModeFlags();
+ SetPopupModeFlags( GetPopupModeFlags() | FloatWinPopupFlags::NoAppFocusClose );
+ sal_uInt16 nRet = pActivePopup->ImplExecute( this, Rectangle( aItemTopLeft, aItemBottomRight ), FloatWinPopupFlags::Right, pMenu, pTimer == nullptr );
SetPopupModeFlags( nOldFlags );
// nRet != 0, wenn es waerend Activate() abgeschossen wurde...
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 0874091f37f2..2f5d8b54d332 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -76,7 +76,7 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, const Point& rMousePo
HitTest nHitTest = HITTEST_OUTSIDE;
FloatingWindow* pFloat = pSVData->maWinData.mpFirstFloat->ImplFloatHitTest( pChild, rMousePos, nHitTest );
FloatingWindow* pLastLevelFloat;
- sal_uLong nPopupFlags;
+ FloatWinPopupFlags nPopupFlags;
if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE )
{
if ( bMouseLeave )
@@ -105,7 +105,7 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, const Point& rMousePo
}
else if ( nHitTest == HITTEST_RECT )
{
- if ( !(pFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOMOUSERECTCLOSE) )
+ if ( !(pFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoMouseRectClose) )
pFloat->ImplSetMouseDown();
return true;
}
@@ -125,7 +125,7 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, const Point& rMousePo
{
pLastLevelFloat = pSVData->maWinData.mpFirstFloat->ImplFindLastLevelFloat();
nPopupFlags = pLastLevelFloat->GetPopupModeFlags();
- if ( !(nPopupFlags & FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE) )
+ if ( !(nPopupFlags & FloatWinPopupFlags::NoMouseUpClose) )
{
pLastLevelFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
return true;
@@ -139,9 +139,9 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, const Point& rMousePo
{
pLastLevelFloat = pSVData->maWinData.mpFirstFloat->ImplFindLastLevelFloat();
nPopupFlags = pLastLevelFloat->GetPopupModeFlags();
- if ( nPopupFlags & FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE )
+ if ( nPopupFlags & FloatWinPopupFlags::AllMouseButtonClose )
{
- if ( (nPopupFlags & FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE) &&
+ if ( (nPopupFlags & FloatWinPopupFlags::NoMouseUpClose) &&
(nSVEvent == MouseNotifyEvent::MOUSEBUTTONUP) )
return true;
pLastLevelFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
@@ -953,7 +953,7 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent,
if ( pSVData->maWinData.mpFirstFloat )
{
FloatingWindow* pLastLevelFloat = pSVData->maWinData.mpFirstFloat->ImplFindLastLevelFloat();
- if ( !(pLastLevelFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOKEYCLOSE) )
+ if ( !(pLastLevelFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoKeyClose) )
{
sal_uInt16 nEscCode = aKeyCode.GetCode();
@@ -976,7 +976,7 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent,
if ( pSVData->maWinData.mpFirstFloat )
{
FloatingWindow* pLastLevelFloat = pSVData->maWinData.mpFirstFloat->ImplFindLastLevelFloat();
- if ( !(pLastLevelFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOKEYCLOSE) )
+ if ( !(pLastLevelFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoKeyClose) )
{
sal_uInt16 nCode = aKeyCode.GetCode();
@@ -1651,7 +1651,7 @@ static void KillOwnPopups( vcl::Window* pWindow )
vcl::Window *pChild = pSVData->maWinData.mpFirstFloat;
if ( pChild && pParent->ImplIsWindowOrChild( pChild, true ) )
{
- if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) )
+ if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoAppFocusClose) )
pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
}
}
@@ -1916,7 +1916,7 @@ static void ImplHandleLoseFocus( vcl::Window* pWindow )
// is set, such that we do not show windows during the switch
if ( pSVData->maWinData.mpFirstFloat )
{
- if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) )
+ if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoAppFocusClose) )
pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
}
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index e16074b15b04..06d47483a9f2 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -2988,7 +2988,7 @@ long X11SalFrame::HandleMouseEvent( XEvent *pEvent )
if ( pSVData->maWinData.mpFirstFloat )
{
static const char* pEnv = getenv( "SAL_FLOATWIN_NOAPPFOCUSCLOSE" );
- if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) && !(pEnv && *pEnv) )
+ if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoAppFocusClose) && !(pEnv && *pEnv) )
pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
}
}
@@ -3498,9 +3498,9 @@ long X11SalFrame::HandleFocusEvent( XFocusChangeEvent *pEvent )
if ((mpParent != NULL && nStyle_ == 0)
&& pSVData->maWinData.mpFirstFloat )
{
- sal_uLong nMode = pSVData->maWinData.mpFirstFloat->GetPopupModeFlags();
+ FloatWinPopupFlags nMode = pSVData->maWinData.mpFirstFloat->GetPopupModeFlags();
pSVData->maWinData.mpFirstFloat->SetPopupModeFlags(
- nMode & ~(FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE));
+ nMode & ~(FloatWinPopupFlags::NoAppFocusClose));
}
return nRet;
}
diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index 357393328638..e349aa1a2e4b 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -3292,7 +3292,7 @@ gboolean GtkSalFrame::signalButton( GtkWidget*, GdkEventButton* pEvent, gpointer
if ( pSVData->maWinData.mpFirstFloat )
{
static const char* pEnv = getenv( "SAL_FLOATWIN_NOAPPFOCUSCLOSE" );
- if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FLOATWIN_POPUPMODE_NOAPPFOCUSCLOSE) && !(pEnv && *pEnv) )
+ if ( !(pSVData->maWinData.mpFirstFloat->GetPopupModeFlags() & FloatWinPopupFlags::NoAppFocusClose) && !(pEnv && *pEnv) )
pSVData->maWinData.mpFirstFloat->EndPopupMode( FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
}
}