X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2708457acc2bb5b64f3878750628d7fcf895062c..b478e7a71c67064e6a87abf476574c1331c4c906:/contrib/src/fl/controlbar.cpp diff --git a/contrib/src/fl/controlbar.cpp b/contrib/src/fl/controlbar.cpp index 9c00fed379..6d6a930fdc 100644 --- a/contrib/src/fl/controlbar.cpp +++ b/contrib/src/fl/controlbar.cpp @@ -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 @@ -896,7 +897,9 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar ) pMiniFrm->Create( &GetParentFrame(), -1, pBar->mName, wxPoint( 50,50 ), wxSize ( 0, 0 ), - wxFRAME_FLOAT_ON_PARENT | wxFRAME_TOOL_WINDOW + wxFRAME_FLOAT_ON_PARENT | + wxFRAME_TOOL_WINDOW | + wxFRAME_NO_TASKBAR ); pMiniFrm->SetClient( pBar->mpBarWnd ); @@ -974,7 +977,7 @@ void wxFrameLayout::RemoveBar( cbBarInfo* pBarInfo ) return; } } - wxFAIL_MSG("bar info should be present in the list of all bars of all panes"); + wxFAIL_MSG(wxT("bar info should be present in the list of all bars of all panes")); } bool wxFrameLayout::LocateBar( cbBarInfo* pBarInfo, @@ -1153,6 +1156,9 @@ void wxFrameLayout::PositionPanes() void wxFrameLayout::OnSize( wxSizeEvent& event ) { + mpFrame->ProcessEvent( event ); + event.Skip( FALSE ); // stop its progpagation + if ( event.GetEventObject() == (wxObject*) mpFrame ) { GetUpdatesManager().OnStartChanges(); @@ -1478,7 +1484,7 @@ void wxFrameLayout::OnIdle( wxIdleEvent& event ) if ( !focus && mCheckFocusWhenIdle ) { - wxMessageBox( "Hi, no more focus in this app!" ); + wxMessageBox(wxT("Hi, no more focus in this app!")); mCheckFocusWhenIdle = FALSE; //ShowFloatedWindows( FALSE ); @@ -2122,9 +2128,9 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarInfo, wxObject ) cbBarInfo::cbBarInfo(void) : mpRow( NULL ), - mpNext( NULL ), - mpPrev( NULL ) + mpPrev( NULL ), + mFloatingOn( TRUE ) {} cbBarInfo::~cbBarInfo() @@ -3010,7 +3016,7 @@ int cbDockPane::GetRowIndex( cbRowInfo* pRow ) return i; } - wxFAIL_MSG("Row must be present to call cbDockPane::GetRowIndex()"); + wxFAIL_MSG(wxT("Row must be present to call cbDockPane::GetRowIndex()")); return 0; } @@ -3058,7 +3064,7 @@ bool cbDockPane::MatchesMask( int paneMask ) case FL_ALIGN_RIGHT : thisMask = FL_ALIGN_RIGHT_PANE; break; default: - wxFAIL_MSG("Bad FL alignment type detected in cbDockPane::MatchesMask()"); + wxFAIL_MSG(wxT("Bad FL alignment type detected in cbDockPane::MatchesMask()")); } return ( thisMask & paneMask ) != 0;