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:
@@ -904,6 +904,13 @@ public:
|
||||
bool mHasLeftHandle;
|
||||
bool mHasRightHandle;
|
||||
|
||||
// determines if this bar can float. The layout's setting as priority. For
|
||||
// example, if the layout's mFloatingOn is false, this setting is irrelevant
|
||||
// since nothing will float at all. If the layout's floating is on, use this
|
||||
// setting to prevent specific bars from floating. In other words, all bars
|
||||
// float by default and floating can be turned off on individual bars.
|
||||
bool mFloatingOn; // default: ON (which is also the layout's mFloatingOn default setting)
|
||||
|
||||
cbDimInfo mDimInfo; // preferred sizes for each, control bar state
|
||||
|
||||
int mState; // (see definition of controlbar states)
|
||||
|
@@ -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()
|
||||
|
Reference in New Issue
Block a user