/***** Implementation for class wxToolWindow *****/
-IMPLEMENT_DYNAMIC_CLASS( wxToolWindow, wxWindow )
+IMPLEMENT_DYNAMIC_CLASS( wxToolWindow, wxFrame)
-BEGIN_EVENT_TABLE( wxToolWindow, wxWindow )
+BEGIN_EVENT_TABLE( wxToolWindow, wxFrame )
EVT_PAINT ( wxToolWindow::OnPaint )
EVT_MOTION ( wxToolWindow::OnMotion )
int w,h;
GetSize( &w, &h );
- dc.SetBrush( *wxLIGHT_GREY_BRUSH );
- dc.SetPen( *wxTRANSPARENT_PEN );
+ wxBrush backGround( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE), wxSOLID );
+ //dc.SetBrush( *wxLIGHT_GREY_BRUSH );
+ dc.SetBrush( backGround );
+ dc.SetPen( *wxTRANSPARENT_PEN );
- int y = mWndVertGap + mTitleHeight + mClntVertGap + 1;
- dc.DrawRectangle( 0,0, w, y );
- dc.DrawRectangle( 0,y-1, mWndHorizGap + mClntHorizGap + 1, h - y );
- dc.DrawRectangle( w - ( mWndHorizGap + mClntHorizGap ), y-1,
- mWndHorizGap + mClntHorizGap, h - y );
- dc.DrawRectangle( 0, h - mWndVertGap - mClntVertGap, w, mWndVertGap + mClntVertGap );
+ int y = mWndVertGap + mTitleHeight + mClntVertGap;
+ dc.DrawRectangle( 0,0, w, y ); // Top grey part.
+ dc.DrawRectangle( 0,y-1, mWndHorizGap + mClntHorizGap, h - y ); // Left grey part.
+ dc.DrawRectangle( w - ( mWndHorizGap + mClntHorizGap ), y-1,
+ mWndHorizGap + mClntHorizGap, h - y ); // Right grey part.
+ dc.DrawRectangle( 0, h - mWndVertGap - mClntVertGap, w, mWndVertGap + mClntVertGap ); // Bottom grey part.
// draw shades
dc.SetPen( *wxLIGHT_GREY_PEN );
void wxToolWindow::SetHintCursor( int type )
{
- if ( mResizeStarted ) return;
+ if ( mResizeStarted )
+ return;
if ( type == HITS_WND_NOTHING || type == HITS_WND_CLIENT )
{
// the cursor is out of window - reset to arrow
- if ( mMouseCaptured && !mResizeStarted )
+ if ( mMouseCaptured )
{
ReleaseMouse();
mMouseCaptured = FALSE;
}
- if ( mCursorType == HITS_WND_NOTHING && !mResizeStarted )
-
- SetCursor( wxCURSOR_ARROW );
+ SetCursor( wxCURSOR_ARROW );
mCursorType = type;
}
else
{
- wxFAIL( _T("what did the cursor hit?") );
+ wxFAIL_MSG( _T("what did the cursor hit?") );
}
rect.x = left;
{
DrawHintRect( mPrevHintRect );
DrawHintRect( finalRect );
+
+ ::wxLogTrace("%d,%d / %d,%d\n", finalRect.x, finalRect.y, finalRect.width, finalRect.height);
}
mPrevHintRect = finalRect;
int x = mWndHorizGap + mClntHorizGap;
int y = mWndVertGap + mTitleHeight + mClntVertGap;
-#if 1
- mpClientWnd->SetSize( x -1, y -1,
- w - 2*(mWndHorizGap + mClntHorizGap),
- h - y - mClntVertGap - mWndVertGap,
- 0
- );
-#endif
- }
+ mpClientWnd->SetSize( x-1, y-1,
+ w - 2*(mWndHorizGap + mClntHorizGap),
+ h - y - mClntVertGap - mWndVertGap,
+ 0
+ );
+ }
LayoutMiniButtons();
}
void cbCloseBox::Draw( wxDC& dc )
{
-#ifdef __WXGTK__
+#if defined(__WXGTK__) || defined(__WXX11__)
cbMiniButton::Draw( dc );