]> git.saurik.com Git - wxWidgets.git/blame - include/wx/osx/core/cfstring.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / osx / core / cfstring.h
CommitLineData
5c6eb3a8 1/////////////////////////////////////////////////////////////////////////////
233f5738 2// Name: wx/osx/core/cfstring.h
5c6eb3a8
SC
3// Purpose: wxCFStringRef and other string functions
4// Author: Stefan Csomor
5// Modified by:
6// Created: 2004-10-29 (from code in wx/mac/carbon/private.h)
5c6eb3a8
SC
7// Copyright: (c) Stefan Csomor
8// Licence: wxWindows licence
9// Usage: Darwin (base library)
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef __WX_CFSTRINGHOLDER_H__
13#define __WX_CFSTRINGHOLDER_H__
14
15#include <CoreFoundation/CFString.h>
16
17#include "wx/dlimpexp.h"
18#include "wx/fontenc.h"
ef0e9220 19#include "wx/osx/core/cfref.h"
5c6eb3a8 20
456057f8 21#ifdef WORDS_BIGENDIAN
f5f17248
SC
22 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32BE
23#else
24 #define kCFStringEncodingUTF32Native kCFStringEncodingUTF32LE
25#endif
26
5c6eb3a8
SC
27class WXDLLIMPEXP_FWD_BASE wxString;
28
29WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxString *data ) ;
30WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( wxString *data ) ;
31
32WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data ) ;
33WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( char * data ) ;
34
35WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ;
36WXDLLIMPEXP_BASE wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
37WXDLLIMPEXP_BASE void wxMacWakeUp() ;
38
39class WXDLLIMPEXP_BASE wxCFStringRef : public wxCFRef< CFStringRef >
40{
41public:
42 wxCFStringRef()
43 {
44 }
45
46 wxCFStringRef(const wxString &str,
47 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) ;
48
eefe52da
SC
49#if wxOSX_USE_COCOA_OR_IPHONE
50 wxCFStringRef(NSString* ref)
03647350 51 : wxCFRef< CFStringRef >((CFStringRef) ref)
eefe52da
SC
52 {
53 }
54#endif
55
5c6eb3a8 56 wxCFStringRef(CFStringRef ref)
03647350 57 : wxCFRef< CFStringRef >(ref)
5c6eb3a8
SC
58 {
59 }
60
61 wxCFStringRef(const wxCFStringRef& otherRef )
03647350 62 : wxCFRef< CFStringRef >(otherRef)
5c6eb3a8
SC
63 {
64 }
65
66 ~wxCFStringRef()
67 {
68 }
69
f66ecdc4 70 wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) const;
03647350 71
f66ecdc4 72 static wxString AsString( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
40aa05e0 73 static wxString AsStringWithNormalizationFormC( CFStringRef ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
f66ecdc4
SC
74#if wxOSX_USE_COCOA_OR_IPHONE
75 static wxString AsString( NSString* ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
4ccde09b 76 static wxString AsStringWithNormalizationFormC( NSString* ref, wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
f66ecdc4 77#endif
5c6eb3a8 78
eefe52da
SC
79#if wxOSX_USE_COCOA_OR_IPHONE
80 NSString* AsNSString() const { return (NSString*)(CFStringRef) *this; }
81#endif
5c6eb3a8
SC
82private:
83} ;
84
85// corresponding class for holding UniChars (native unicode characters)
86
87class WXDLLIMPEXP_BASE wxMacUniCharBuffer
88{
89public :
90 wxMacUniCharBuffer( const wxString &str ) ;
91
92 ~wxMacUniCharBuffer() ;
93
94 UniCharPtr GetBuffer() ;
95
96 UniCharCount GetChars() ;
97
98private :
99 UniCharPtr m_ubuf ;
100 UniCharCount m_chars ;
101};
102#endif //__WXCFSTRINGHOLDER_H__