]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/txtstrm.cpp
Use theme functions for drawing owner-drawn menus.
[wxWidgets.git] / src / common / txtstrm.cpp
index e516fb413034221ee8f7fcb8dd5cc965f2688e39..9f9669faa184ec5e3b0ee34b33cec0bd67241ae5 100644 (file)
@@ -76,7 +76,7 @@ wxChar wxTextInputStream::NextChar()
             return wxEOT;
 
         if ( m_conv->ToWChar(wbuf, WXSIZEOF(wbuf), m_lastBytes, inlen + 1)
-                != wxCONV_FAILED )
+                == 1 )
             return wbuf[0];
     }
     // there should be no encoding which requires more than nine bytes for one character...
@@ -125,7 +125,7 @@ bool wxTextInputStream::EatEOL(const wxChar &c)
 
 wxUint32 wxTextInputStream::Read32(int base)
 {
-    wxASSERT_MSG( !base || (base > 1 && base <= 36), _T("invalid base") );
+    wxASSERT_MSG( !base || (base > 1 && base <= 36), wxT("invalid base") );
     if(!m_input) return 0;
 
     wxString word = ReadWord();
@@ -146,7 +146,7 @@ wxUint8 wxTextInputStream::Read8(int base)
 
 wxInt32 wxTextInputStream::Read32S(int base)
 {
-    wxASSERT_MSG( !base || (base > 1 && base <= 36), _T("invalid base") );
+    wxASSERT_MSG( !base || (base > 1 && base <= 36), wxT("invalid base") );
     if(!m_input) return 0;
 
     wxString word = ReadWord();
@@ -387,15 +387,15 @@ void wxTextOutputStream::WriteString(const wxString& string)
             switch ( m_mode )
             {
                 case wxEOL_DOS:
-                    out << _T("\r\n");
+                    out << wxT("\r\n");
                     continue;
 
                 case wxEOL_MAC:
-                    out << _T('\r');
+                    out << wxT('\r');
                     continue;
 
                 default:
-                    wxFAIL_MSG( _T("unknown EOL mode in wxTextOutputStream") );
+                    wxFAIL_MSG( wxT("unknown EOL mode in wxTextOutputStream") );
                     // fall through
 
                 case wxEOL_UNIX:
@@ -426,6 +426,19 @@ wxTextOutputStream& wxTextOutputStream::PutChar(wxChar c)
     return *this;
 }
 
+void wxTextOutputStream::Flush()
+{
+#if wxUSE_UNICODE
+    const size_t len = m_conv->FromWChar(NULL, 0, L"", 1);
+    if ( len > m_conv->GetMBNulLen() )
+    {
+        wxCharBuffer buf(len);
+        m_conv->FromWChar(buf.data(), len, L"", 1);
+        m_output.Write(buf, len - m_conv->GetMBNulLen());
+    }
+#endif // wxUSE_UNICODE
+}
+
 wxTextOutputStream& wxTextOutputStream::operator<<(const wxString& string)
 {
     WriteString( string );