Applied [ 639060 ] Individual bar floating in contrib/fl

In the current contrib/fl implementation, all control bars
in the frame layout either float or they don't. I added
code to allow the bar floating to be determined on a bar-
by-bar basis. That is, this patch enables some control
bars to float while keeping others locked.

Kevin Yochum


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2002-12-09 09:21:23 +00:00
parent 5c6bd4a957
commit fc7c8ae9c3
2 changed files with 13 additions and 5 deletions

View File

@@ -674,7 +674,7 @@ BarArrayT& wxFrameLayout::GetBars()
void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow )
{
if ( newState == wxCBAR_FLOATING && !mFloatingOn )
if ( newState == wxCBAR_FLOATING && !(mFloatingOn && pBar->mFloatingOn))
return;
@@ -824,7 +824,7 @@ void wxFrameLayout::ApplyBarProperties( cbBarInfo* pBar )
void wxFrameLayout::RepositionFloatedBar( cbBarInfo* pBar )
{
if ( !mFloatingOn ) return;
if ( !(mFloatingOn && pBar->mFloatingOn)) return;
wxNode* pNode = mFloatedFrames.First();
@@ -871,7 +871,8 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar )
}
else
{
if ( !mFloatingOn ) return;
if ( !(mFloatingOn && pBar->mFloatingOn) )
return;
// float it
@@ -2124,9 +2125,9 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarInfo, wxObject )
cbBarInfo::cbBarInfo(void)
: mpRow( NULL ),
mpNext( NULL ),
mpPrev( NULL )
mpPrev( NULL ),
mFloatingOn( TRUE )
{}
cbBarInfo::~cbBarInfo()