From fdaebb052008174a0a8a7db1a304f7d3e935ec17 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 25 Jul 2004 11:10:42 +0000 Subject: [PATCH] GTK2 fixes (patch 966803) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/src/fl/controlbar.cpp | 11 ++++++++++- contrib/src/fl/panedrawpl.cpp | 4 ++-- contrib/src/fl/toolwnd.cpp | 15 +++++++++------ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/contrib/src/fl/controlbar.cpp b/contrib/src/fl/controlbar.cpp index ab23f7e10e..98474b8271 100644 --- a/contrib/src/fl/controlbar.cpp +++ b/contrib/src/fl/controlbar.cpp @@ -355,6 +355,8 @@ bool wxFrameLayout::CanReparent() { #ifdef __WXMSW__ return true; +#elif defined(__WXGTK20__) + return TRUE; #elif defined (__WXGTK__) //return true; return false; @@ -390,6 +392,10 @@ void wxFrameLayout::ReparentWindow( wxWindow* pChild, wxWindow* pNewParent ) #endif pChild->Reparent(pNewParent); + return; +#elif defined(__WXGTK20__) + pChild->Reparent(pNewParent); + return; #elif defined(__WXGTK__) || defined(__WXX11__) // FOR NOW:: floating with wxGtk still very buggy @@ -598,6 +604,7 @@ void wxFrameLayout::AddBar( wxWindow* pBarWnd, pInfo->mName = name; pInfo->mpBarWnd = pBarWnd; pInfo->mDimInfo = dimInfo; + pInfo->mDimInfo.mLRUPane = alignment; pInfo->mState = state; pInfo->mAlignment = alignment; pInfo->mRowNo = rowNo; @@ -945,6 +952,7 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar ) } pMiniFrm->Show( true ); + RepositionFloatedBar(pMiniFrm->GetBar()); // FIXME:: this is excessive pBar->mpBarWnd->Show(true); @@ -1814,7 +1822,8 @@ IMPLEMENT_DYNAMIC_CLASS( cbUpdateMgrData, wxObject ) cbUpdateMgrData::cbUpdateMgrData() : mPrevBounds( -1,-1,0,0 ), - mIsDirty( true ) // inidicate initial change + mIsDirty( true ), // inidicate initial change + mpCustomData(0) {} void cbUpdateMgrData::StoreItemState( const wxRect& boundsInParent ) diff --git a/contrib/src/fl/panedrawpl.cpp b/contrib/src/fl/panedrawpl.cpp index c89914048b..f07c30da89 100644 --- a/contrib/src/fl/panedrawpl.cpp +++ b/contrib/src/fl/panedrawpl.cpp @@ -326,14 +326,14 @@ void cbPaneDrawPlugin::OnMouseMove( cbMotionEvent& event ) if ( !mResizeCursorOn || prevWasRowHandle != mRowHandleHitted ) { + mpLayout->GetParentFrame().SetCursor( *pCurs ); + if ( !mResizeCursorOn ) { // caputre if not captured yet mpLayout->CaptureEventsForPane( event.mpPane ); mpLayout->CaptureEventsForPlugin( this ); } - - mpLayout->GetParentFrame().SetCursor( *pCurs ); } mResizeCursorOn = true; diff --git a/contrib/src/fl/toolwnd.cpp b/contrib/src/fl/toolwnd.cpp index 0657b18c0f..28fdb78803 100644 --- a/contrib/src/fl/toolwnd.cpp +++ b/contrib/src/fl/toolwnd.cpp @@ -360,12 +360,6 @@ void wxToolWindow::SetHintCursor( int type ) return; } - if ( !mMouseCaptured ) - { - mMouseCaptured = true; - CaptureMouse(); - } - // did the cursor actually changed? if ( type != mCursorType ) @@ -389,6 +383,15 @@ void wxToolWindow::SetHintCursor( int type ) default: break; } + + if (mMouseCaptured) + ReleaseMouse(); + } + + if ( !mMouseCaptured ) + { + mMouseCaptured = true; + CaptureMouse(); } } -- 2.45.2