- }
- else if ( inSelector == kNavCBStart )
- {
- if ( data->menuitems )
- NavCustomControl(ioParams->context, kNavCtlSelectCustomType, &(*data->menuitems)[data->currentfilter]);
- }
- else if ( inSelector == kNavCBPopupMenuSelect )
- {
- NavMenuItemSpec * menu = (NavMenuItemSpec *) ioParams->eventData.eventDataParms.param ;
- if ( menu->menuCreator == 'WXNG' )
- {
- data->currentfilter = menu->menuType ;
- if ( data->saveMode )
- {
- int i = menu->menuType ;
- wxString extension = data->extensions[i].AfterLast('.') ;
- extension.MakeLower() ;
- Str255 filename ;
- // get the current filename
- NavCustomControl(ioParams->context, kNavCtlGetEditFileName, &filename);
- CopyPascalStringToC( filename , (char*) filename ) ;
- wxString sfilename( filename ) ;
- int pos = sfilename.Find('.',TRUE) ;
- if ( pos != wxNOT_FOUND )
- {
- sfilename = sfilename.Left(pos+1)+extension ;
- CopyCStringToPascal( sfilename.c_str() , filename ) ;
- NavCustomControl(ioParams->context, kNavCtlSetEditFileName, &filename);
- }
- }
- }
- }
+ }
+ else if ( inSelector == kNavCBStart )
+ {
+#if TARGET_CARBON
+ // there is no way to set this in the new API
+ #else
+ if ( data->menuitems )
+ NavCustomControl(ioParams->context, kNavCtlSelectCustomType, &(*data->menuitems)[data->currentfilter]);
+#endif
+ }
+ else if ( inSelector == kNavCBPopupMenuSelect )
+ {
+ NavMenuItemSpec * menu = (NavMenuItemSpec *) ioParams->eventData.eventDataParms.param ;
+#if TARGET_CARBON
+#else
+ if ( menu->menuCreator == 'WXNG' )
+#endif
+ {
+ data->currentfilter = menu->menuType ;
+ if ( data->saveMode )
+ {
+ int i = menu->menuType ;
+ wxString extension = data->extensions[i].AfterLast('.') ;
+ extension.MakeLower() ;
+ wxString sfilename ;
+
+#if TARGET_CARBON
+ wxMacCFStringHolder cfString( NavDialogGetSaveFileName( ioParams->context ) , false );
+ sfilename = cfString.AsString() ;
+#else
+ Str255 filename ;
+ // get the current filename
+ NavCustomControl(ioParams->context, kNavCtlGetEditFileName, &filename);
+ sfilename = wxMacMakeStringFromPascal( filename ) ;
+#endif
+
+ int pos = sfilename.Find('.',TRUE) ;
+ if ( pos != wxNOT_FOUND )
+ {
+ sfilename = sfilename.Left(pos+1)+extension ;
+#if TARGET_CARBON
+ cfString = sfilename ;
+ NavDialogSetSaveFileName( ioParams->context , cfString ) ;
+#else
+ wxMacStringToPascal( sfilename , filename ) ;
+ NavCustomControl(ioParams->context, kNavCtlSetEditFileName, &filename);
+#endif
+ }
+ }
+ }
+ }