#pragma implementation "listbox.h"
#endif
+#include "wx/app.h"
#include "wx/listbox.h"
#include "wx/settings.h"
#include "wx/dynarray.h"
#include "wx/log.h"
#include "wx/utils.h"
-#include "extldef.h"
+#ifdef __DARWIN__
+ #include "ldef/extldef.h"
+#else
+ #include "extldef.h"
+#endif
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
- m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , true , kwxMacListWithVerticalScrollbar , 0 , 0,
+ m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , kwxMacListWithVerticalScrollbar , 0 , 0,
kControlListBoxProc , (long) this ) ;
long result ;
}
#endif // wxUSE_OWNER_DRAWN/!wxUSE_OWNER_DRAWN
m_stringArray.Remove( N ) ;
- m_dataArray.Remove( N ) ;
+ m_dataArray.RemoveAt( N ) ;
m_noItems --;
MacDelete( N ) ;
if( wxApp::s_macDefaultEncodingIsPC )
{
m_stringArray.Add( wxMacMakeMacStringFromPC( item ) ) ;
+ m_dataArray.Add( NULL );
}
- else
+ else {
m_stringArray.Add( item ) ;
+ m_dataArray.Add( NULL );
+ }
m_noItems ++;
+ DoSetItemClientData( index , NULL ) ;
MacAppend( item ) ;
return index ;
{
wxString search = s.Left( s.Length() - 1 ) ;
int len = search.Length() ;
- Str255 s1 , s2 ;
- strcpy( (char*) s2 , search.c_str() ) ;
- c2pstr( (char*) s2 ) ;
+ Str255 s1 , s2 ;
+
+#if TARGET_CARBON
+ c2pstrcpy( (StringPtr) s2 , search.c_str() ) ;
+#else
+ strcpy( (char *) s2 , search.c_str() ) ;
+ c2pstr( (char *) s2 ) ;
+#endif
+
for ( int i = 0 ; i < m_noItems ; ++ i )
{
- strcpy( (char*) s1 , m_stringArray[i].Left( len ).c_str() ) ;
- c2pstr( (char*) s1 ) ;
+#if TARGET_CARBON
+ c2pstrcpy( (StringPtr) s1 , m_stringArray[i].Left( len ).c_str() ) ;
+#else
+ strcpy( (char *) s1 , m_stringArray[i].Left( len ).c_str() ) ;
+ c2pstr( (char *) s1 ) ;
+#endif
if ( EqualString( s1 , s2 , false , false ) )
return i ;
}
+ if ( s.Left(1) = "*" && s.Length() > 1 )
+ {
+ s.MakeLower() ;
+ for ( int i = 0 ; i < m_noItems ; ++i )
+ {
+ if ( GetString(i).Lower().Matches(s) )
+ return i ;
+ }
+ }
+
}
else
{
Str255 s1 , s2 ;
- strcpy( (char*) s2 , s.c_str() ) ;
- c2pstr( (char*) s2 ) ;
+
+#if TARGET_CARBON
+ c2pstrcpy( (StringPtr) s2 , s.c_str() ) ;
+#else
+ strcpy( (char *) s2 , s.c_str() ) ;
+ c2pstr( (char *) s2 ) ;
+#endif
+
for ( int i = 0 ; i < m_noItems ; ++ i )
{
- strcpy( (char*) s1 , m_stringArray[i].c_str() ) ;
- c2pstr( (char*) s1 ) ;
+#if TARGET_CARBON
+ c2pstrcpy( (StringPtr) s1 , m_stringArray[i].c_str() ) ;
+#else
+ strcpy( (char *) s1 , m_stringArray[i].c_str() ) ;
+ c2pstr( (char *) s1 ) ;
+#endif
if ( EqualString( s1 , s2 , false , false ) )
return i ;
}
{
ListHandle list ;
long result ;
- Cell cell = { 0 , 0 } ;
UMAGetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , sizeof( ListHandle ) , (char*) &list , &result ) ;
LDelRow( 1 , N , list ) ;
}