/////////////////////////////////////////////////////////////////////////////
-// Name: No names yet.
-// Purpose: Contrib. demo
+// Name: toolwnd.cpp
+// Purpose: wxToolWindow implementation.
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 06/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
/***** 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 )
mTitleFont( 8, wxSWISS, wxNORMAL, wxNORMAL ),
#else
// just to simulate MS-Dev style
- mTitleFont( 8, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "MS Sans Serif" ),
+ mTitleFont( 8, wxSWISS, wxNORMAL, wxNORMAL, FALSE, wxT("MS Sans Serif") ),
#endif
mTitleHeight ( 16 ),
//LayoutMiniButtons();
}
-void wxToolWindow::OnPaint( wxPaintEvent& event )
+void wxToolWindow::OnPaint( wxPaintEvent& WXUNUSED(event) )
{
wxPaintDC pdc( this );
wxWindowDC dc( this );
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(wxT("wxToolWindow"),wxT("%d,%d / %d,%d\n"), finalRect.x, finalRect.y, finalRect.width, finalRect.height);
}
mPrevHintRect = finalRect;
}
}
-void wxToolWindow::OnSize( wxSizeEvent& event )
+void wxToolWindow::OnSize( wxSizeEvent& WXUNUSED(event) )
{
if ( mpClientWnd )
{
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();
}
return given;
}
-void wxToolWindow::OnEraseBackground( wxEraseEvent& event )
+void wxToolWindow::OnEraseBackground( wxEraseEvent& WXUNUSED(event) )
{
// nothing
}
}
}
-void cbMiniButton::OnLeftUp( const wxPoint& pos )
+void cbMiniButton::OnLeftUp( const wxPoint& WXUNUSED(pos) )
{
if ( !mVisible || !mDragStarted ) return;
void cbCloseBox::Draw( wxDC& dc )
{
-#ifdef __WXGTK__
+#if defined(__WXGTK__) || defined(__WXX11__)
cbMiniButton::Draw( dc );
return TRUE;
}
-void cbFloatedBarWindow::OnDblClick( wxMouseEvent& event )
+void cbFloatedBarWindow::OnDblClick( wxMouseEvent& WXUNUSED(event) )
{
mpLayout->SetBarState( mpBar, wxCBAR_DOCKED_HORIZONTALLY, TRUE );