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