\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,
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;
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;
- (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
wxAutoNSAutoreleasePool pool;
NSEvent *event = [GetNSApplication()
nextEventMatchingMask:NSAnyEventMask
- untilDate:nil /* ==[NSDate distantPast] */
+ untilDate:[NSDate distantPast]
inMode:NSDefaultRunLoopMode
dequeue: YES];
if(!event)
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()