GTK2 fixes (patch 966803)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-07-25 11:10:42 +00:00
parent d6108c664a
commit fdaebb0520
3 changed files with 21 additions and 9 deletions

View File

@@ -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 )

View File

@@ -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;

View File

@@ -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();
}
}