1. Yet another unit test for new stirng stuff

2. Fix unicode and 10.2 in src/cocoa/app.mm
3. Fix error in doc about wxEvtHandler::Connect


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ryan Norton 2004-10-07 16:50:24 +00:00
parent d2b1753d16
commit 422d306cb3
3 changed files with 40 additions and 5 deletions

View File

@ -105,7 +105,7 @@ is an alternative to the use of static event tables. See the 'event' or the old
\begin{verbatim}
frame->Connect( wxID_EXIT,
wxEVT_COMMAND_MENU_SELECTED,
(wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) MyFrame::OnQuit );
(wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) &MyFrame::OnQuit );
\end{verbatim}
\perlnote{In wxPerl this function takes 4 arguments: \texttt{id,

View File

@ -70,12 +70,20 @@ WX_IMPLEMENT_POSER(wxPoserNSApplication);
plan on stopping the event loop, it is wise to send an event through
the queue to ensure this method will return.
See wxEventLoop::Exit() for more information.
Ê ÊRN: We used to use nil as the untilDate in previous versions since nil
Ê Êis a shorter and more concise way of specifying an infinite amount of
ÊÊ Êtime than [NSDate distantPast]. ÊHowever, Apple neglects to mention in
Ê Êtheir documentation that nil is not handled correctly in OSX 10.2
Ê Ê(and possibly lower) and when the call is reached the system comes to
Ê Êa screeching halt, therefore we need to specify [NSDate distantPast]
Ê Êexplicitly so that wxCocoa will work correctly in OSX 10.2.
*/
- (NSEvent *)nextEventMatchingMask:(unsigned int)mask untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)flag
{
// Get the same events except don't block
NSEvent *event = [super nextEventMatchingMask:mask untilDate:nil/* equivalent to [NSDate distantPast] */ inMode:mode dequeue:flag];
NSEvent *event = [super nextEventMatchingMask:mask untilDate:[NSDate distantPast] inMode:mode dequeue:flag];
// If we got one, simply return it
if(event)
return event;
@ -91,7 +99,7 @@ WX_IMPLEMENT_POSER(wxPoserNSApplication);
while(wxTheApp->ProcessIdle())
{
// Get the same events except don't block
NSEvent *event = [super nextEventMatchingMask:mask untilDate:nil/* equivalent to [NSDate distantPast] */ inMode:mode dequeue:flag];
NSEvent *event = [super nextEventMatchingMask:mask untilDate:[NSDate distantPast] inMode:mode dequeue:flag];
// If we got one, simply return it
if(event)
return event;
@ -150,7 +158,7 @@ WX_IMPLEMENT_POSER(wxPoserNSApplication);
- (void)controlTintChanged:(NSNotification *)notification
{
wxLogDebug("TODO: send EVT_SYS_COLOUR_CHANGED as appropriate");
wxLogDebug(wxT("TODO: send EVT_SYS_COLOUR_CHANGED as appropriate"));
}
@end // implementation wxNSApplicationDelegate : NSObject
@ -322,7 +330,7 @@ bool wxApp::Yield(bool onlyIfNeeded)
wxAutoNSAutoreleasePool pool;
NSEvent *event = [GetNSApplication()
nextEventMatchingMask:NSAnyEventMask
untilDate:nil /* ==[NSDate distantPast] */
untilDate:[NSDate distantPast]
inMode:NSDefaultRunLoopMode
dequeue: YES];
if(!event)

View File

@ -286,6 +286,33 @@ void StdStringTestCase::StdFindLast()
CPPUNIT_ASSERT( s1.find_last_of(_T("ijklm")) == 16u );
CPPUNIT_ASSERT( s1.find_last_of(_T("ijklma"), 33, 4) == 16u );
CPPUNIT_ASSERT( s1.find_last_of(_T("a"), 17) == 17u );
// 0 1 2 3
// 012345 67890123456789 01234567890123456
// wxString s1 = _T("aaaaaa\0bcdefghlkjiaa\0aaaabcdbcdbcdbcd");
// wxString s2 = _T("aaaaaa\0");
s1.insert(6,1,'\0');
s1.insert(20,1,'\0');
s2.insert(6,1,'\0');
CPPUNIT_ASSERT( s2.find_last_not_of(_T('a')) == 6u );
CPPUNIT_ASSERT( s1.find_last_not_of(_T('d')) == 35u );
CPPUNIT_ASSERT( s1.find_last_not_of(_T('d'), 27) == 26u );
CPPUNIT_ASSERT( s1.find_last_not_of(_T("bcd")) == 24u );
CPPUNIT_ASSERT( s1.find_last_not_of(_T("abc"), 26) == 20u );
CPPUNIT_ASSERT( s1.find_last_not_of(_T("abcdefghijklmnopqrstuv"), 26, 3) == 20u );
CPPUNIT_ASSERT( s2.find_last_of(_T('c')) == wxString::npos );
CPPUNIT_ASSERT( s1.find_last_of(_T('a')) == 24u );
CPPUNIT_ASSERT( s1.find_last_of(_T('b'), 26) == 25u );
CPPUNIT_ASSERT( s1.find_last_of(_T("ijklm")) == 17u );
CPPUNIT_ASSERT( s1.find_last_of(_T("ijklma"), 35, 4) == 17u );
CPPUNIT_ASSERT( s1.find_last_of(_T("a"), 18) == 18u );
}
void StdStringTestCase::StdInsert()