]> git.saurik.com Git - wxWidgets.git/commitdiff
Renamed wxStream::StreamSize() to wxStream::GetSize()
authorRobert Roebling <robert@roebling.de>
Sat, 24 Jul 1999 10:50:13 +0000 (10:50 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 24 Jul 1999 10:50:13 +0000 (10:50 +0000)
  Add wxStream bool operator !().
  Made wxTextStream safe for conversion from/to Mac/DOS/Unix
  Added wxFrame::Iconize()
  Applied patch for stippled brushes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 files changed:
include/wx/gtk/frame.h
include/wx/gtk1/frame.h
include/wx/mstream.h
include/wx/stream.h
include/wx/txtstrm.h
include/wx/wfstream.h
src/common/imagjpeg.cpp
src/common/mstream.cpp
src/common/txtstrm.cpp
src/common/wfstream.cpp
src/gtk/dcclient.cpp
src/gtk/frame.cpp
src/gtk1/dcclient.cpp
src/gtk1/frame.cpp

index b69144382b3b106930b538ce9786cd40cee38bbe..4470508567d0aca5a91e70393225daad578226a1 100644 (file)
@@ -91,11 +91,11 @@ public:
     virtual void MakeModal(bool modal = TRUE);
 
     virtual void SetIcon( const wxIcon &icon );
     virtual void MakeModal(bool modal = TRUE);
 
     virtual void SetIcon( const wxIcon &icon );
-    virtual void Iconize( bool WXUNUSED(iconize)) { }
-    virtual bool IsIconized() const { return FALSE; }
     bool Iconized() const { return IsIconized(); }
     bool Iconized() const { return IsIconized(); }
-    virtual void Maximize(bool WXUNUSED(maximize)) {}
-    virtual void Restore() {}
+    virtual void Maximize( bool maximize );
+    virtual void Restore();
+    virtual void Iconize( bool iconize );
+    virtual bool IsIconized() const;
 
     virtual void Command( int id );
     
 
     virtual void Command( int id );
     
index b69144382b3b106930b538ce9786cd40cee38bbe..4470508567d0aca5a91e70393225daad578226a1 100644 (file)
@@ -91,11 +91,11 @@ public:
     virtual void MakeModal(bool modal = TRUE);
 
     virtual void SetIcon( const wxIcon &icon );
     virtual void MakeModal(bool modal = TRUE);
 
     virtual void SetIcon( const wxIcon &icon );
-    virtual void Iconize( bool WXUNUSED(iconize)) { }
-    virtual bool IsIconized() const { return FALSE; }
     bool Iconized() const { return IsIconized(); }
     bool Iconized() const { return IsIconized(); }
-    virtual void Maximize(bool WXUNUSED(maximize)) {}
-    virtual void Restore() {}
+    virtual void Maximize( bool maximize );
+    virtual void Restore();
+    virtual void Iconize( bool iconize );
+    virtual bool IsIconized() const;
 
     virtual void Command( int id );
     
 
     virtual void Command( int id );
     
index c16cfea2ed3334736a93913d2c073f65570a860e..61a9df7effeced38d3729effeab34704d89e61fb 100644 (file)
@@ -22,7 +22,7 @@ class wxMemoryInputStream: public wxInputStream {
  public:
   wxMemoryInputStream(const char *data, size_t length);
   virtual ~wxMemoryInputStream();
  public:
   wxMemoryInputStream(const char *data, size_t length);
   virtual ~wxMemoryInputStream();
-  virtual size_t StreamSize() const { return m_length; }
+  virtual size_t GetSize() const { return m_length; }
 
   char Peek();
 
 
   char Peek();
 
@@ -41,7 +41,7 @@ class wxMemoryOutputStream:  public wxOutputStream {
  public:
   wxMemoryOutputStream(char *data = NULL, size_t length = 0);
   virtual ~wxMemoryOutputStream();
  public:
   wxMemoryOutputStream(char *data = NULL, size_t length = 0);
   virtual ~wxMemoryOutputStream();
-  virtual size_t StreamSize() const { return m_o_streambuf->GetLastAccess(); }
+  virtual size_t GetSize() const { return m_o_streambuf->GetLastAccess(); }
 
   wxStreamBuffer *OutputStreamBuffer() const { return m_o_streambuf; }
 
 
   wxStreamBuffer *OutputStreamBuffer() const { return m_o_streambuf; }
 
index 7e0045323c31fefdc93e81175751456ec8b0581a..a7b6783663d140951a12c6a19ccecab9c4c35743 100644 (file)
@@ -55,8 +55,9 @@ class WXDLLEXPORT wxStreamBase {
   wxStreamBase();
   virtual ~wxStreamBase();
 
   wxStreamBase();
   virtual ~wxStreamBase();
 
+  bool operator!() const { return (LastError() != wxSTR_NOERROR); }
   wxStreamError LastError() const { return m_lasterror; }
   wxStreamError LastError() const { return m_lasterror; }
-  virtual size_t StreamSize() const { return ~((size_t)0); }
+  virtual size_t GetSize() const { return ~((size_t)0); }
 
  protected:
 
 
  protected:
 
@@ -147,7 +148,7 @@ class WXDLLEXPORT wxFilterInputStream: public wxInputStream {
   char Peek() { return m_parent_i_stream->Peek(); }
 
   wxStreamError LastError() const { return m_parent_i_stream->LastError(); }
   char Peek() { return m_parent_i_stream->Peek(); }
 
   wxStreamError LastError() const { return m_parent_i_stream->LastError(); }
-  size_t StreamSize() const { return m_parent_i_stream->StreamSize(); }
+  size_t GetSize() const { return m_parent_i_stream->GetSize(); }
 
  protected:
   wxInputStream *m_parent_i_stream;
 
  protected:
   wxInputStream *m_parent_i_stream;
@@ -160,7 +161,7 @@ class WXDLLEXPORT wxFilterOutputStream: public wxOutputStream {
   ~wxFilterOutputStream();
 
   wxStreamError LastError() const { return m_parent_o_stream->LastError(); }
   ~wxFilterOutputStream();
 
   wxStreamError LastError() const { return m_parent_o_stream->LastError(); }
-  size_t StreamSize() const { return m_parent_o_stream->StreamSize(); }
+  size_t GetSize() const { return m_parent_o_stream->GetSize(); }
 
  protected:
   wxOutputStream *m_parent_o_stream;
 
  protected:
   wxOutputStream *m_parent_o_stream;
index 2fc0ac7aa7d404628ccca16daf897e3ed6db4edd..5586707252757cb9db3710b522ad2c9004b55f1e 100644 (file)
@@ -43,6 +43,9 @@ public:
 
  protected:
   wxInputStream *m_input;
 
  protected:
   wxInputStream *m_input;
+  
+  wxChar NextNonWhiteSpace();
+  void SkipIfEndOfLine( wxChar c );
 };
 
 class WXDLLEXPORT wxTextOutputStream {
 };
 
 class WXDLLEXPORT wxTextOutputStream {
@@ -55,7 +58,7 @@ class WXDLLEXPORT wxTextOutputStream {
   void Write8(wxUint8 i);
   void WriteDouble(double d);
   void WriteString(const wxString& string);
   void Write8(wxUint8 i);
   void WriteDouble(double d);
   void WriteString(const wxString& string);
-
+  
   wxTextOutputStream& operator<<(const wxChar *string);
   wxTextOutputStream& operator<<(const wxString& string);
   wxTextOutputStream& operator<<(wxChar c);
   wxTextOutputStream& operator<<(const wxChar *string);
   wxTextOutputStream& operator<<(const wxString& string);
   wxTextOutputStream& operator<<(wxChar c);
index 65313efd053e5b1ccef81a86c981d1b0ddc514e7..efd9317e1f871dda65786ee7de6e57d96571e095 100644 (file)
@@ -33,7 +33,7 @@ class wxFileInputStream: public wxInputStream {
   ~wxFileInputStream();
 
   char Peek();
   ~wxFileInputStream();
 
   char Peek();
-  size_t StreamSize() const;
+  size_t GetSize() const;
 
   bool Ok() const { return m_file->IsOpened(); }
 
 
   bool Ok() const { return m_file->IsOpened(); }
 
@@ -61,7 +61,7 @@ class wxFileOutputStream: public wxOutputStream {
 //     { return wxOutputStream::Write(buffer, size); }
 
   void Sync();
 //     { return wxOutputStream::Write(buffer, size); }
 
   void Sync();
-  size_t StreamSize() const;
+  size_t GetSize() const;
 
   bool Ok() const { return m_file->IsOpened(); }
 
 
   bool Ok() const { return m_file->IsOpened(); }
 
index 9a82b1029aa11b98f8e430eba87dd2aadab01b3f..04de921c97cba301be8d44df4583eacb8b007ff6 100644 (file)
@@ -106,10 +106,10 @@ void jpeg_wxio_src( j_decompress_ptr cinfo, wxInputStream& infile )
         src = (my_src_ptr) cinfo->src;
     }
     src = (my_src_ptr) cinfo->src;
         src = (my_src_ptr) cinfo->src;
     }
     src = (my_src_ptr) cinfo->src;
-    src->pub.bytes_in_buffer = infile.StreamSize(); /* forces fill_input_buffer on first read */
-    src->buffer = (JOCTET *) malloc (infile.StreamSize());
+    src->pub.bytes_in_buffer = infile.GetSize(); /* forces fill_input_buffer on first read */
+    src->buffer = (JOCTET *) malloc (infile.GetSize());
     src->pub.next_input_byte = src->buffer; /* until buffer loaded */
     src->pub.next_input_byte = src->buffer; /* until buffer loaded */
-    infile.Read(src->buffer, infile.StreamSize());
+    infile.Read(src->buffer, infile.GetSize());
     
     src->pub.init_source = my_init_source;
     src->pub.fill_input_buffer = my_fill_input_buffer;
     
     src->pub.init_source = my_init_source;
     src->pub.fill_input_buffer = my_fill_input_buffer;
index 04501d5e5d3f1417fae91fba6a9524561c2dfef8..8e81abd394773fa7df8e8db6c2f01e2bb9153b37 100644 (file)
@@ -104,8 +104,8 @@ size_t wxMemoryOutputStream::CopyTo(char *buffer, size_t len) const
   if (!buffer)
     return 0;
 
   if (!buffer)
     return 0;
 
-  if (len > StreamSize())
-    len = StreamSize();
+  if (len > GetSize())
+    len = GetSize();
 
   memcpy(buffer, m_o_streambuf->GetBufferStart(), len);
   return len;
 
   memcpy(buffer, m_o_streambuf->GetBufferStart(), len);
   return len;
index 0522238cd782747a199dfc728846bb78ef228816..e4d260bcf19c43cf444c16dae43f45bdd6ee4661 100644 (file)
 #include "wx/txtstrm.h"
 #include <ctype.h>
 
 #include "wx/txtstrm.h"
 #include <ctype.h>
 
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// Unix: "\n"
+// Dos:  "\r\n"
+// Mac:  "\r"
+
+// ----------------------------------------------------------------------------
+// wxTextInputStream
+// ----------------------------------------------------------------------------
+
 wxTextInputStream::wxTextInputStream(wxInputStream& s)
   : m_input(&s)
 {
 wxTextInputStream::wxTextInputStream(wxInputStream& s)
   : m_input(&s)
 {
@@ -34,154 +47,234 @@ wxTextInputStream::~wxTextInputStream()
 {
 }
 
 {
 }
 
-wxUint32 wxTextInputStream::Read32()
+wxChar wxTextInputStream::NextNonWhiteSpace()
 {
 {
-  /* I only implemented a simple integer parser */
-  int c; 
-  int sign;
-  wxInt32 i;
+    wxChar c = (wxChar) 0;
+    for (;;)
+    {
+        c = m_input->GetC();
+       if (!m_input) return (wxChar) 0;
+       
+       if (c != _T('\n') && 
+           c != _T('\r') &&
+           c != _T('\t') &&
+           c != _T(' '))
+       {
+           return c;
+       }
+    }
+    
+    // this shouldn't happen
+    return (wxChar) 0;
+}
 
 
-  while (isspace( c = m_input->GetC() ) )
-     /* Do nothing */ ;
+void wxTextInputStream::SkipIfEndOfLine( wxChar c )
+{
+    if (c == _T('\n'))
+    { 
+        // eat on UNIX
+       return;
+    }
+    
+    if (c == _T('\r'))
+    {
+        // eat on both Mac and DOS
+       
+        wxChar c2 = m_input->GetC();
+        if (!m_input) return;
+       
+        if (c2 == _T('\n'))
+        {  
+           // eat on DOS
+           return;
+       }
+        else
+       {
+           // Don't eat on Mac
+            m_input->Ungetch( c2 );
+       }
+    }
+    else
+    {
+        // no line terminator
+        m_input->Ungetch( c );
+    }
+}
 
 
-  i = 0;
-  if (! (c == '-' || isdigit(c)) ) {
-    m_input->Ungetch(c);
-    return 0;
-  }
+wxUint32 wxTextInputStream::Read32()
+{
+    /* I only implemented a simple integer parser */
+    int sign;
+    wxInt32 i;
+    
+    int c = NextNonWhiteSpace();
+    if (!m_input) return 0;
+
+    i = 0;
+    if (! (c == _T('-') || c == _T('+') || isdigit(c)) ) 
+    {
+        m_input->Ungetch(c);
+        return 0;
+    }
 
 
-  if (c == '-') {
-    sign = -1;
-    c = m_input->GetC();
-  } else if (c == '+') {
-    sign = 1;
-    c = m_input->GetC();
-  } else {
-    sign = 1;
-  }
+    if (c == _T('-')) 
+    {
+        sign = -1;
+        c = m_input->GetC();
+    } else 
+    if (c == _T('+')) 
+    {
+        sign = 1;
+        c = m_input->GetC();
+    } else 
+    {
+        sign = 1;
+    }
 
 
-  while (isdigit(c)) {
-    i = i*10 + (c - (int)'0');
-    c = m_input->GetC();
-  }
+    while (isdigit(c)) 
+    {
+        i = i*10 + (c - (int)_T('0'));
+        c = m_input->GetC();
+    }
 
 
-  if (c != '\n' && c != '\r')
-    m_input->Ungetch(c);
+    SkipIfEndOfLine( c );
 
 
-  i *= sign;
+    i *= sign;
 
 
-  return (wxUint32)i;
+    return (wxUint32)i;
 }
 
 wxUint16 wxTextInputStream::Read16()
 {
 }
 
 wxUint16 wxTextInputStream::Read16()
 {
-  return (wxUint16)Read32();
+    return (wxUint16)Read32();
 }
 
 wxUint8 wxTextInputStream::Read8()
 {
 }
 
 wxUint8 wxTextInputStream::Read8()
 {
-  return (wxUint8)Read32();
+    return (wxUint8)Read32();
 }
 
 double wxTextInputStream::ReadDouble()
 {
 }
 
 double wxTextInputStream::ReadDouble()
 {
-  /* I only implemented a simple float parser */
-  double f;
-  int c, sign;
-
-  while (isspace( c = m_input->GetC() ) || c == '\n' || c == '\r')
-     /* Do nothing */ ;
-
-  f = 0.0;
-  if (! (c == '-' || isdigit(c)) ) {
-    m_input->Ungetch(c);
-    return 0.0;
-  }
-
-  if (c == '-') {
-    sign = -1;
-    c = m_input->GetC();
-  } else if (c == '+') {
-    sign = 1;
-    c = m_input->GetC();
-  } else {
-    sign = 1;
-  }
-
-  while (isdigit(c)) {
-    f = f*10 + (c - '0');
-    c = m_input->GetC();
-  }
-
-  if (c == '.') {
-    double f_multiplicator = (double) 0.1;
-
-    c = m_input->GetC();
-
-    while (isdigit(c)) {
-      f += (c-'0')*f_multiplicator;
-      f_multiplicator /= 10;
-      c = m_input->GetC();
+    /* I only implemented a simple float parser */
+    double f;
+    int sign;
+
+    int c = NextNonWhiteSpace();
+    if (!m_input) return 0.0;
+
+    f = 0.0;
+    if (! (c == _T('.') || c == _T('-') || c == _T('+') || isdigit(c)) ) 
+    {
+        m_input->Ungetch(c);
+        return 0.0;
+    }
+
+    if (c == _T('-')) 
+    {
+        sign = -1;
+        c = m_input->GetC();
+    } else 
+    if (c == _T('+')) 
+    {
+        sign = 1;
+        c = m_input->GetC();
+    } 
+    else 
+    {
+        sign = 1;
+    }
+
+    while (isdigit(c)) 
+    {
+        f = f*10 + (c - _T('0'));
+        c = m_input->GetC();
     }
 
     }
 
-    if (c == 'e') {
-      double f_multiplicator = 0.0;
-      int i, e;
+    if (c == _T('.')) 
+    {
+        double f_multiplicator = (double) 0.1;
 
 
-      c = m_input->GetC();
+        c = m_input->GetC();
 
 
-      switch(c) {
-      case '-':
-        f_multiplicator = 0.1;
-        break;
-      case '+':
-        f_multiplicator = 10.0;
-        break;
-      }
+        while (isdigit(c)) 
+       {
+            f += (c-_T('0'))*f_multiplicator;
+            f_multiplicator /= 10;
+            c = m_input->GetC();
+        }
 
 
-      e = Read8();
+        if (c == _T('e')) 
+       {
+            double f_multiplicator = 0.0;
+            int i, e;
 
 
-      for (i=0;i<e;i++)
-        f *= f_multiplicator;
-    } else if (c != '\n' && c != '\r')
-      m_input->Ungetch(c);
-  }
+            c = m_input->GetC();
 
 
-  f *= sign;
+            switch (c) 
+           {
+                case _T('-'): f_multiplicator = 0.1;  break;
+               case _T('+'): f_multiplicator = 10.0; break;
+           }
 
 
-  return f;
+            e = Read8();  // why only max 256 ?
+
+            for (i=0;i<e;i++)
+                f *= f_multiplicator;
+        } 
+       else
+           SkipIfEndOfLine( c );
+    }
+    else
+    {
+        m_input->Ungetch(c);
+    }
+
+    f *= sign;
+
+    return f;
 }
 
 wxString wxTextInputStream::ReadString()
 {
 }
 
 wxString wxTextInputStream::ReadString()
 {
-  char c, last_endl = 0;
-  bool end_line = FALSE;
-  wxString line;
-
-  while (!end_line) {
-    c = m_input->GetC();
-    if (m_input->LastError() != wxStream_NOERROR)
-      break;
-
-    switch (c) {
-    case '\n':
-      end_line = TRUE;
-      break;
-    case '\r':
-      last_endl = '\r';
-      break;
-    default:
-      if (last_endl == '\r') {
-        end_line = TRUE;
-        m_input->Ungetch(c);
-        break;
-      }
-      line += c;
-      break;
-    } 
-  }
-  return line;
+    wxChar c;
+    wxString line;
+
+    for (;;) 
+    {
+        c = m_input->GetC();
+        if (!m_input) break;
+       
+        if (c == _T('\n'))
+        {
+           // eat on UNIX
+           break;
+       }
+       
+        if (c == _T('\r'))
+        {
+            // eat on both Mac and DOS
+           
+            wxChar c2 = m_input->GetC();
+           if (!m_input) break;
+           
+           if (c2 == _T('\n'))
+            {  
+               // eat on DOS
+               break;
+           }
+            else
+           {
+               // Don't eat on Mac
+                m_input->Ungetch( c2 );
+               break;
+           }
+        }
+       
+        line += c;
+    }
+    
+    return line;
 }
   
 wxTextInputStream& wxTextInputStream::operator>>(wxString& line)
 }
   
 wxTextInputStream& wxTextInputStream::operator>>(wxString& line)
@@ -192,47 +285,67 @@ wxTextInputStream& wxTextInputStream::operator>>(wxString& line)
 
 wxTextInputStream& wxTextInputStream::operator>>(wxChar& c)
 {
 
 wxTextInputStream& wxTextInputStream::operator>>(wxChar& c)
 {
-  // TODO
-/*
-  m_input->Read(&c, sizeof(wxChar));
-*/
-  return *this;
+    wxChar c1 = m_input->GetC();
+    if (!m_input)
+    {
+        c = (wxChar) 0;
+        return *this;
+    }
+    
+    if (c1 == _T('\r'))
+    {
+        c = _T('\n');
+        wxChar c2 = m_input->GetC();
+       if (!m_input) return *this;
+           
+       if (c2 != _T('\n'))
+       {
+           // we are on a Mac
+            m_input->Ungetch( c2 );
+       }
+    }
+    else
+    {
+        c = c1;
+    }
+    
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxInt16& i)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxInt16& i)
 {
-  i = (wxInt16)Read16();
-  return *this;
+    i = (wxInt16)Read16();
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxInt32& i)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxInt32& i)
 {
-  i = (wxInt32)Read32();
-  return *this;
+    i = (wxInt32)Read32();
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxUint16& i)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxUint16& i)
 {
-  i = Read16();
-  return *this;
+    i = Read16();
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxUint32& i)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(wxUint32& i)
 {
-  i = Read32();
-  return *this;
+    i = Read32();
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(double& i)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(double& i)
 {
-  i = ReadDouble();
-  return *this;
+    i = ReadDouble();
+    return *this;
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(float& f)
 {
 }
 
 wxTextInputStream& wxTextInputStream::operator>>(float& f)
 {
-  f = (float)ReadDouble();
-  return *this;
+    f = (float)ReadDouble();
+    return *this;
 }
 
 wxTextOutputStream::wxTextOutputStream(wxOutputStream& s)
 }
 
 wxTextOutputStream::wxTextOutputStream(wxOutputStream& s)
@@ -246,100 +359,117 @@ wxTextOutputStream::~wxTextOutputStream()
 
 void wxTextOutputStream::Write32(wxUint32 i)
 {
 
 void wxTextOutputStream::Write32(wxUint32 i)
 {
-  wxString str;
-
-  str.Printf(_T("%u"), i);
-  WriteString(str);
+    wxString str;
+    str.Printf(_T("%u"), i);
+    
+    WriteString(str);
 }
 
 void wxTextOutputStream::Write16(wxUint16 i)
 {
 }
 
 void wxTextOutputStream::Write16(wxUint16 i)
 {
-  wxString str;
-
-  str.Printf(_T("%u"), i);
-  WriteString(str);
+    wxString str;
+    str.Printf(_T("%u"), i);
+    
+    WriteString(str);
 }
 
 void wxTextOutputStream::Write8(wxUint8 i)
 {
 }
 
 void wxTextOutputStream::Write8(wxUint8 i)
 {
-  wxString str;
-
-  str.Printf(_T("%u"), i);
-  WriteString(str);
+    wxString str;
+    str.Printf(_T("%u"), i);
+    
+    WriteString(str);
 }
 
 void wxTextOutputStream::WriteDouble(double d)
 {
 }
 
 void wxTextOutputStream::WriteDouble(double d)
 {
-  wxString str;
+    wxString str;
 
 
-  str.Printf(_T("%f"), d);
-  WriteString(str);
+    str.Printf(_T("%f"), d);
+    WriteString(str);
 }
 
 void wxTextOutputStream::WriteString(const wxString& string)
 {
 }
 
 void wxTextOutputStream::WriteString(const wxString& string)
 {
-#if wxUSE_UNICODE
-  const wxWX2MBbuf buf = string.mb_str();
-  m_output->Write(buf, string.Len());
+    for (size_t i = 0; i < string.Len(); i++)
+    {
+        wxChar c = string[i];
+        if (c == _T('\n'))
+        {
+#if   defined(__WINDOWS__)
+            c = _T('\r');
+            m_output->Write( (const void*)(&c), sizeof(wxChar) );
+            c = _T('\n');
+            m_output->Write( (const void*)(&c), sizeof(wxChar) );
+#elif defined(__UNIX__)
+            c = _T('\n');
+            m_output->Write( (const void*)(&c), sizeof(wxChar) );
+#elif defined(__WXMAC__)
+            c = _T('\r');
+            m_output->Write( (const void*)(&c), sizeof(wxChar) );
 #else
 #else
-  m_output->Write(string, string.Len());
+            #error  "wxTextOutputStream: unsupported platform."
 #endif
 #endif
+        }
+        else
+        {
+            m_output->Write( (const void*)(&c), sizeof(wxChar) );
+        }
+   }
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(const wxChar *string)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(const wxChar *string)
 {
-  WriteString(wxString(string));
-  return *this;
+    WriteString( wxString(string) );
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(const wxString& string)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(const wxString& string)
 {
-  WriteString(string);
-  return *this;
+    WriteString( string );
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxChar c)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxChar c)
 {
-  wxString tmp_str;
-  tmp_str.Printf(_T("%c"), c);
-  WriteString(tmp_str);
-  return *this;
+    WriteString( wxString(c) );
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxInt16 c)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxInt16 c)
 {
-  Write16((wxUint16)c);
-  return *this;
+    Write16( (wxUint16)c );
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxInt32 c)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxInt32 c)
 {
-  Write32((wxUint32)c);
-  return *this;
+    Write32( (wxUint32)c );
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxUint16 c)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxUint16 c)
 {
-  Write16(c);
-  return *this;
+    Write16(c);
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxUint32 c)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(wxUint32 c)
 {
-  Write32(c);
-  return *this;
+    Write32(c);
+    return *this;
 }
 
 wxTextOutputStream &wxTextOutputStream::operator<<(double f)
 {
 }
 
 wxTextOutputStream &wxTextOutputStream::operator<<(double f)
 {
-  WriteDouble(f);
-  return *this;
+    WriteDouble(f);
+    return *this;
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(float f)
 {
 }
 
 wxTextOutputStream& wxTextOutputStream::operator<<(float f)
 {
-  WriteDouble((double)f);
-  return *this;
+    WriteDouble((double)f);
+    return *this;
 }
 
 #endif
 }
 
 #endif
index 50c662d35ceeb33dd33ac5ac4b31e4f244042f2a..3bf2a080ba94475c276ecf48a4cc75f26b218427 100644 (file)
@@ -67,7 +67,7 @@ char wxFileInputStream::Peek()
   return 0;
 }
 
   return 0;
 }
 
-size_t wxFileInputStream::StreamSize() const
+size_t wxFileInputStream::GetSize() const
 {
   return m_file->Length();
 }
 {
   return m_file->Length();
 }
@@ -161,7 +161,7 @@ void wxFileOutputStream::Sync()
   m_file->Flush();
 }
 
   m_file->Flush();
 }
 
-size_t wxFileOutputStream::StreamSize() const
+size_t wxFileOutputStream::GetSize() const
 {
   return m_file->Length();
 }
 {
   return m_file->Length();
 }
index a28165297c8a5a0d060cf2f0f2c41e6d75a8db7b..0df1276c4b5837d1d56e9dc23e0bc7277d0ae136 100644 (file)
@@ -1010,7 +1010,7 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
     if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
     {
         if (m_brush.GetStipple()->GetPixmap())
     if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
     {
         if (m_brush.GetStipple()->GetPixmap())
-            gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+            gdk_gc_set_tile( m_brushGC, m_brush.GetStipple()->GetPixmap() );
         else
             gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
     }
         else
             gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
     }
@@ -1055,9 +1055,12 @@ void wxWindowDC::SetBackground( const wxBrush &brush )
  
     gdk_gc_set_fill( m_bgGC, fillStyle );
   
  
     gdk_gc_set_fill( m_bgGC, fillStyle );
   
-    if (m_backgroundBrush.GetStyle() == wxSTIPPLE)
+    if ((m_backgroundBrush.GetStyle() == wxSTIPPLE) && (m_backgroundBrush.GetStipple()->Ok()))
     {
     {
-        gdk_gc_set_stipple( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
+        if (m_brush.GetStipple()->GetPixmap())
+            gdk_gc_set_tile( m_bgGC, m_brush.GetStipple()->GetPixmap() );
+        else
+            gdk_gc_set_stipple( m_bgGC, m_brush.GetStipple()->GetBitmap() );
     }
   
     if (IS_HATCH(m_backgroundBrush.GetStyle()))
     }
   
     if (IS_HATCH(m_backgroundBrush.GetStyle()))
index 61259fad4b0f23497b45048703f53d0dbd49effd..c0ebd7fe34b48b409a81619ed16aa16ea9880a0a 100644 (file)
@@ -29,6 +29,7 @@
 #include "gtk/gtk.h"
 #include "wx/gtk/win_gtk.h"
 #include "gdk/gdkkeysyms.h"
 #include "gtk/gtk.h"
 #include "wx/gtk/win_gtk.h"
 #include "gdk/gdkkeysyms.h"
+#include "gdk/gdkx.h"
 
 //-----------------------------------------------------------------------------
 // constants
 
 //-----------------------------------------------------------------------------
 // constants
@@ -1043,3 +1044,25 @@ void wxFrame::SetIcon( const wxIcon &icon )
     gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
 
     gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
 
+void wxFrame::Maximize(bool WXUNUSED(maximize)) 
+{
+}
+
+void wxFrame::Restore() 
+{
+}
+
+void wxFrame::Iconize( bool iconize ) 
+{ 
+   if (iconize)
+   {
+        XIconifyWindow( GDK_WINDOW_XDISPLAY( m_widget->window ),
+                       GDK_WINDOW_XWINDOW( m_widget->window ),
+                       DefaultScreen( GDK_DISPLAY() ) );
+   }
+}
+
+bool wxFrame::IsIconized() const 
+{ 
+    return FALSE; 
+}
index a28165297c8a5a0d060cf2f0f2c41e6d75a8db7b..0df1276c4b5837d1d56e9dc23e0bc7277d0ae136 100644 (file)
@@ -1010,7 +1010,7 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
     if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
     {
         if (m_brush.GetStipple()->GetPixmap())
     if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
     {
         if (m_brush.GetStipple()->GetPixmap())
-            gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+            gdk_gc_set_tile( m_brushGC, m_brush.GetStipple()->GetPixmap() );
         else
             gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
     }
         else
             gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
     }
@@ -1055,9 +1055,12 @@ void wxWindowDC::SetBackground( const wxBrush &brush )
  
     gdk_gc_set_fill( m_bgGC, fillStyle );
   
  
     gdk_gc_set_fill( m_bgGC, fillStyle );
   
-    if (m_backgroundBrush.GetStyle() == wxSTIPPLE)
+    if ((m_backgroundBrush.GetStyle() == wxSTIPPLE) && (m_backgroundBrush.GetStipple()->Ok()))
     {
     {
-        gdk_gc_set_stipple( m_bgGC, m_backgroundBrush.GetStipple()->GetPixmap() );
+        if (m_brush.GetStipple()->GetPixmap())
+            gdk_gc_set_tile( m_bgGC, m_brush.GetStipple()->GetPixmap() );
+        else
+            gdk_gc_set_stipple( m_bgGC, m_brush.GetStipple()->GetBitmap() );
     }
   
     if (IS_HATCH(m_backgroundBrush.GetStyle()))
     }
   
     if (IS_HATCH(m_backgroundBrush.GetStyle()))
index 61259fad4b0f23497b45048703f53d0dbd49effd..c0ebd7fe34b48b409a81619ed16aa16ea9880a0a 100644 (file)
@@ -29,6 +29,7 @@
 #include "gtk/gtk.h"
 #include "wx/gtk/win_gtk.h"
 #include "gdk/gdkkeysyms.h"
 #include "gtk/gtk.h"
 #include "wx/gtk/win_gtk.h"
 #include "gdk/gdkkeysyms.h"
+#include "gdk/gdkx.h"
 
 //-----------------------------------------------------------------------------
 // constants
 
 //-----------------------------------------------------------------------------
 // constants
@@ -1043,3 +1044,25 @@ void wxFrame::SetIcon( const wxIcon &icon )
     gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
 
     gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
 
+void wxFrame::Maximize(bool WXUNUSED(maximize)) 
+{
+}
+
+void wxFrame::Restore() 
+{
+}
+
+void wxFrame::Iconize( bool iconize ) 
+{ 
+   if (iconize)
+   {
+        XIconifyWindow( GDK_WINDOW_XDISPLAY( m_widget->window ),
+                       GDK_WINDOW_XWINDOW( m_widget->window ),
+                       DefaultScreen( GDK_DISPLAY() ) );
+   }
+}
+
+bool wxFrame::IsIconized() const 
+{ 
+    return FALSE; 
+}