cursor cleanup

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2003-01-13 19:19:35 +00:00
parent c6a071d2d2
commit 6b57b49ae3
6 changed files with 26 additions and 58 deletions

View File

@ -59,10 +59,6 @@ wxWindowList wxModelessWindows;
static Point gs_lastWhere;
static long gs_lastWhen = 0;
// cursor stuff
extern int wxBusyCursorCount;
// ============================================================================
// wxTopLevelWindowMac implementation
// ============================================================================
@ -535,7 +531,7 @@ void wxTopLevelWindowMac::MacFireMouseEvent( WXEVENTREF evr )
if ( ev->what == mouseUp )
{
wxTheApp->s_captureWindow = NULL ;
if ( wxBusyCursorCount == 0 )
if ( !wxIsBusy() )
{
m_cursor.MacInstall() ;
}

View File

@ -317,49 +317,38 @@ bool wxGetResource(const wxString& section, const wxString& entry, int *value, c
}
#endif // wxUSE_RESOURCES
int wxBusyCursorCount = 0;
extern CursHandle gMacCurrentCursor ;
CursHandle gMacStoredActiveCursor = NULL ;
int gs_wxBusyCursorCount = 0;
extern wxCursor gMacCurrentCursor ;
wxCursor gMacStoredActiveCursor ;
// Set the cursor to the busy cursor for all windows
void wxBeginBusyCursor(wxCursor *cursor)
{
wxBusyCursorCount ++;
if (wxBusyCursorCount == 1)
if (gs_wxBusyCursorCount++ == 0)
{
gMacStoredActiveCursor = gMacCurrentCursor ;
::SetCursor( *::GetCursor( watchCursor ) ) ;
}
else
{
// TODO
cursor->MacInstall() ;
}
//else: nothing to do, already set
}
// Restore cursor to normal
void wxEndBusyCursor()
{
if (wxBusyCursorCount == 0)
return;
wxCHECK_RET( gs_wxBusyCursorCount > 0,
wxT("no matching wxBeginBusyCursor() for wxEndBusyCursor()") );
wxBusyCursorCount --;
if (wxBusyCursorCount == 0)
if (--gs_wxBusyCursorCount == 0)
{
if ( gMacStoredActiveCursor )
::SetCursor( *gMacStoredActiveCursor ) ;
else
{
Cursor MacArrow ;
::SetCursor( GetQDGlobalsArrow( &MacArrow ) ) ;
}
gMacStoredActiveCursor = NULL ;
gMacStoredActiveCursor.MacInstall() ;
gMacStoredActiveCursor = wxNullCursor ;
}
}
// TRUE if we're between the above two calls
bool wxIsBusy()
{
return (wxBusyCursorCount > 0);
return (gs_wxBusyCursorCount > 0);
}
wxString wxMacFindFolder( short vol,

View File

@ -1478,7 +1478,6 @@ bool wxWindowMac::MacGetWindowFromPoint( const wxPoint &screenpoint , wxWindowMa
return FALSE ;
}
extern int wxBusyCursorCount ;
static wxWindow *gs_lastWhich = NULL;
bool wxWindowMac::MacSetupCursor( const wxPoint& pt)

View File

@ -59,10 +59,6 @@ wxWindowList wxModelessWindows;
static Point gs_lastWhere;
static long gs_lastWhen = 0;
// cursor stuff
extern int wxBusyCursorCount;
// ============================================================================
// wxTopLevelWindowMac implementation
// ============================================================================
@ -535,7 +531,7 @@ void wxTopLevelWindowMac::MacFireMouseEvent( WXEVENTREF evr )
if ( ev->what == mouseUp )
{
wxTheApp->s_captureWindow = NULL ;
if ( wxBusyCursorCount == 0 )
if ( !wxIsBusy() )
{
m_cursor.MacInstall() ;
}

View File

@ -317,49 +317,38 @@ bool wxGetResource(const wxString& section, const wxString& entry, int *value, c
}
#endif // wxUSE_RESOURCES
int wxBusyCursorCount = 0;
extern CursHandle gMacCurrentCursor ;
CursHandle gMacStoredActiveCursor = NULL ;
int gs_wxBusyCursorCount = 0;
extern wxCursor gMacCurrentCursor ;
wxCursor gMacStoredActiveCursor ;
// Set the cursor to the busy cursor for all windows
void wxBeginBusyCursor(wxCursor *cursor)
{
wxBusyCursorCount ++;
if (wxBusyCursorCount == 1)
if (gs_wxBusyCursorCount++ == 0)
{
gMacStoredActiveCursor = gMacCurrentCursor ;
::SetCursor( *::GetCursor( watchCursor ) ) ;
}
else
{
// TODO
cursor->MacInstall() ;
}
//else: nothing to do, already set
}
// Restore cursor to normal
void wxEndBusyCursor()
{
if (wxBusyCursorCount == 0)
return;
wxCHECK_RET( gs_wxBusyCursorCount > 0,
wxT("no matching wxBeginBusyCursor() for wxEndBusyCursor()") );
wxBusyCursorCount --;
if (wxBusyCursorCount == 0)
if (--gs_wxBusyCursorCount == 0)
{
if ( gMacStoredActiveCursor )
::SetCursor( *gMacStoredActiveCursor ) ;
else
{
Cursor MacArrow ;
::SetCursor( GetQDGlobalsArrow( &MacArrow ) ) ;
}
gMacStoredActiveCursor = NULL ;
gMacStoredActiveCursor.MacInstall() ;
gMacStoredActiveCursor = wxNullCursor ;
}
}
// TRUE if we're between the above two calls
bool wxIsBusy()
{
return (wxBusyCursorCount > 0);
return (gs_wxBusyCursorCount > 0);
}
wxString wxMacFindFolder( short vol,

View File

@ -1478,7 +1478,6 @@ bool wxWindowMac::MacGetWindowFromPoint( const wxPoint &screenpoint , wxWindowMa
return FALSE ;
}
extern int wxBusyCursorCount ;
static wxWindow *gs_lastWhich = NULL;
bool wxWindowMac::MacSetupCursor( const wxPoint& pt)