]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/cocoa/string.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / cocoa / string.h
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/cocoa/string.h
3// Purpose: String conversion methods
4// Author: David Elliott
5// Modified by:
6// Created: 2003/04/13
7// Copyright: (c) 2003 David Elliott
8// Licence: wxWindows licence
9///////////////////////////////////////////////////////////////////////////////
10
11#ifndef __WX_COCOA_STRING_H__
12#define __WX_COCOA_STRING_H__
13
14#import <Foundation/NSString.h>
15#include "wx/string.h"
16
17// FIXME: In unicode mode we are doing the conversion twice. wxString
18// converts to UTF-8 and NSString converts from UTF-8.
19// One possible optimization is to convert to the wxString internal
20// representation which is an unsigned short (unichar) but unfortunately
21// there is little documentation on which encoding it uses by default.
22
23// Return an autoreleased NSString
24inline NSString* wxNSStringWithWxString(const wxString &wxstring)
25{
26#if wxUSE_UNICODE
27 return [NSString stringWithUTF8String: wxstring.utf8_str()];
28#else
29 return [NSString stringWithCString: wxstring.c_str() length:wxstring.Len()];
30#endif // wxUSE_UNICODE
31}
32
33// Intialize an NSString which has already been allocated
34inline NSString* wxInitNSStringWithWxString(NSString *nsstring, const wxString &wxstring)
35{
36#if wxUSE_UNICODE
37 return [nsstring initWithUTF8String: wxstring.utf8_str()];
38#else
39 return [nsstring initWithCString: wxstring.c_str() length:wxstring.Len()];
40#endif // wxUSE_UNICODE
41}
42
43inline wxString wxStringWithNSString(NSString *nsstring)
44{
45#if wxUSE_UNICODE
46 return wxString::FromUTF8Unchecked([nsstring UTF8String]);
47#else
48 return wxString([nsstring lossyCString]);
49#endif // wxUSE_UNICODE
50}
51
52#endif // __WX_COCOA_STRING_H__