diff --git a/docs/gtk/changes.txt b/docs/gtk/changes.txt index 8a357d4579..9be9c8177b 100644 --- a/docs/gtk/changes.txt +++ b/docs/gtk/changes.txt @@ -1,6 +1,10 @@ -20th June 2000: wxWindows 2.2 released +4th July 2000: wxWindows 2.2 released -Minor bug-fixes. +Added code for writing BMP images. + +Added code for writing TIFF images. + +Bug-fixes. 4th June 2000: wxWindows pre-2.2 release diff --git a/docs/gtk/install.txt b/docs/gtk/install.txt index 684f0f6615..9c9a1f9cbb 100644 --- a/docs/gtk/install.txt +++ b/docs/gtk/install.txt @@ -1,7 +1,7 @@ !!! When sending bug reports tell us what version of wxWindows you are using (including the beta) and what compiler on what system. One - example: wxGTK 2.1 beta 6, egcs 1.1.1, Redhat 5.0 !!! + example: wxGTK 2.2.0, egcs 1.1.1, Redhat 6.2 !!! * The most simple case ----------------------- diff --git a/docs/gtk/todo.txt b/docs/gtk/todo.txt index f05ee1ebef..64fdea667b 100644 --- a/docs/gtk/todo.txt +++ b/docs/gtk/todo.txt @@ -1,9 +1,7 @@ -------------------- High priority --------------------- -Improve, update translations. Install *.mo files somewehere. - -Fix wxMenu::Replace() bug reported weeks ago. +Improve, update translations. Install *.mo files somewhere. -------------------- Medium priority --------------------- @@ -25,9 +23,6 @@ Add wxNoteBook::SetTabPosition() More testing of Unicode support. -> Postponed. -OwnerDraw for wxListCtrl and others - -> Hardly necessary. - Implement wxPalette -> Postponed. diff --git a/samples/typetest/typetest.cpp b/samples/typetest/typetest.cpp index fd0c99b1e9..26cf4051df 100644 --- a/samples/typetest/typetest.cpp +++ b/samples/typetest/typetest.cpp @@ -46,6 +46,7 @@ #include "wx/wfstream.h" #include "wx/datstrm.h" #include "wx/txtstrm.h" +#include "wx/mstream.h" // Create a new application object IMPLEMENT_APP (MyApp) @@ -64,6 +65,7 @@ BEGIN_EVENT_TABLE(MyApp, wxApp) EVT_MENU(TYPES_STREAM2, MyApp::DoStreamDemo2) EVT_MENU(TYPES_STREAM3, MyApp::DoStreamDemo3) EVT_MENU(TYPES_STREAM4, MyApp::DoStreamDemo4) + EVT_MENU(TYPES_STREAM5, MyApp::DoStreamDemo5) EVT_MENU(TYPES_MIME, MyApp::DoMIMEDemo) END_EVENT_TABLE() @@ -95,6 +97,7 @@ bool MyApp::OnInit() test_menu->Append(TYPES_STREAM2, "&Stream seek test"); test_menu->Append(TYPES_STREAM3, "&Stream error test"); test_menu->Append(TYPES_STREAM4, "&Stream buffer test"); + test_menu->Append(TYPES_STREAM5, "&Stream peek test"); test_menu->AppendSeparator(); test_menu->Append(TYPES_MIME, "&MIME database test"); @@ -157,7 +160,7 @@ void MyApp::DoStreamDemo(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( tmp ); text_output << str << "\n"; std_file_output << str.c_str() << "\n"; - + textCtrl.WriteText( "\nReading from ifstream:\n" ); ifstream std_file_input( "test_std.dat" ); @@ -178,10 +181,11 @@ void MyApp::DoStreamDemo(wxCommandEvent& WXUNUSED(event)) tmp.Printf( _T("Float: %f\n"), f ); textCtrl.WriteText( tmp ); - // This doesn't compile (at least with VC++ 4) + // Why doesn't this work? #if 0 - std_file_input >> str; - tmp.Printf( _T("String: %s\n"), str.c_str() ); + char std_buf[200]; + std_file_input >> std_buf; + tmp.Printf( _T("String: %s\n"), std_buf ); textCtrl.WriteText( tmp ); #endif @@ -214,6 +218,7 @@ void MyApp::DoStreamDemo(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( tmp ); + textCtrl << "\nTest for wxDataStream:\n\n"; textCtrl.WriteText( "Writing to wxDataOutputStream:\n" ); @@ -286,7 +291,7 @@ void MyApp::DoStreamDemo2(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 10; ch2++) { file_input.Read( &ch, 1 ); - textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( (char)(ch + '0') ); } textCtrl.WriteText( "\n\n\n" ); @@ -306,7 +311,7 @@ void MyApp::DoStreamDemo2(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 10; ch2++) { file_input2.Read( &ch, 1 ); - textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( (char)(ch + '0') ); } textCtrl.WriteText( "\n\n\n" ); @@ -325,7 +330,7 @@ void MyApp::DoStreamDemo2(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 10; ch2++) { buf_input3.Read( &ch, 1 ); - textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( (char)(ch + '0') ); } for (int j = 0; j < 2000; j++) buf_input3.Read( &ch, 1 ); @@ -360,17 +365,17 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 11; ch2++) { file_input.Read( &ch, 1 ); - textCtrl.WriteText( "Value read: " ); - textCtrl.WriteText( (char)(ch + '0') ); - textCtrl.WriteText( "; stream.LastError() returns: " ); - switch (file_input.LastError()) - { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; - } + textCtrl.WriteText( "Value read: " ); + textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( "; stream.LastError() returns: " ); + switch (file_input.LastError()) + { + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; + } } textCtrl.WriteText( "\n" ); @@ -378,11 +383,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) file_input.SeekI( 0 ); switch (file_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } textCtrl.WriteText( "\n" ); @@ -392,11 +397,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( "; stream.LastError() returns: " ); switch (file_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } textCtrl.WriteText( "\n\n" ); @@ -409,17 +414,17 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 11; ch2++) { ffile_input.Read( &ch, 1 ); - textCtrl.WriteText( "Value read: " ); - textCtrl.WriteText( (char)(ch + '0') ); - textCtrl.WriteText( "; stream.LastError() returns: " ); - switch (ffile_input.LastError()) - { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; - } + textCtrl.WriteText( "Value read: " ); + textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( "; stream.LastError() returns: " ); + switch (ffile_input.LastError()) + { + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; + } } textCtrl.WriteText( "\n" ); @@ -427,11 +432,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) ffile_input.SeekI( 0 ); switch (ffile_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } textCtrl.WriteText( "\n" ); @@ -441,11 +446,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( "; stream.LastError() returns: " ); switch (ffile_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } textCtrl.WriteText( "\n\n" ); @@ -458,17 +463,17 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) for (ch2 = 0; ch2 < 11; ch2++) { buf_input.Read( &ch, 1 ); - textCtrl.WriteText( "Value read: " ); - textCtrl.WriteText( (char)(ch + '0') ); - textCtrl.WriteText( "; stream.LastError() returns: " ); - switch (buf_input.LastError()) - { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; - } + textCtrl.WriteText( "Value read: " ); + textCtrl.WriteText( (char)(ch + '0') ); + textCtrl.WriteText( "; stream.LastError() returns: " ); + switch (buf_input.LastError()) + { + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; + } } textCtrl.WriteText( "\n" ); @@ -476,11 +481,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) buf_input.SeekI( 0 ); switch (buf_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } textCtrl.WriteText( "\n" ); @@ -490,11 +495,11 @@ void MyApp::DoStreamDemo3(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( "; stream.LastError() returns: " ); switch (buf_input.LastError()) { - case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } } @@ -526,10 +531,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -546,10 +551,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -568,10 +573,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -587,10 +592,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -606,10 +611,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -625,10 +630,10 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) switch (buf_input.LastError()) { case wxSTREAM_NOERROR: textCtrl.WriteText( "wxSTREAM_NOERROR\n" ); break; - case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; - case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; - case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; - default: textCtrl.WriteText( "Huh?\n" ); break; + case wxSTREAM_EOF: textCtrl.WriteText( "wxSTREAM_EOF\n" ); break; + case wxSTREAM_READ_ERROR: textCtrl.WriteText( "wxSTREAM_READ_ERROR\n" ); break; + case wxSTREAM_WRITE_ERROR: textCtrl.WriteText( "wxSTREAM_WRITE_ERROR\n" ); break; + default: textCtrl.WriteText( "Huh?\n" ); break; } msg.Printf( "wxBufferedInputStream.LastRead() returns: %d\n", (int)buf_input.LastRead() ); textCtrl.WriteText( msg ); @@ -637,6 +642,81 @@ void MyApp::DoStreamDemo4(wxCommandEvent& WXUNUSED(event)) textCtrl.WriteText( "\n\n" ); } +void MyApp::DoStreamDemo5(wxCommandEvent& WXUNUSED(event)) +{ + wxTextCtrl& textCtrl = * GetTextCtrl(); + + textCtrl.Clear(); + textCtrl << "\nTesting wxFileInputStream's Peek():\n\n"; + + char ch; + wxString str; + + textCtrl.WriteText( "Writing number 0 to 9 to wxFileOutputStream:\n\n" ); + + wxFileOutputStream file_output( wxString("test_wx.dat") ); + for (ch = 0; ch < 10; ch++) + file_output.Write( &ch, 1 ); + + file_output.Sync(); + + wxFileInputStream file_input( wxString("test_wx.dat") ); + + ch = file_input.Peek(); + str.Printf( "First char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = file_input.GetC(); + str.Printf( "First char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = file_input.Peek(); + str.Printf( "Second char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = file_input.GetC(); + str.Printf( "Second char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = file_input.Peek(); + str.Printf( "Third char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = file_input.GetC(); + str.Printf( "Third char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + + textCtrl << "\n\n\nTesting wxMemoryInputStream's Peek():\n\n"; + + char buf[] = { 0,1,2,3,4,5,6,7,8,9,10 }; + wxMemoryInputStream input( buf, 10 ); + + ch = input.Peek(); + str.Printf( "First char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = input.GetC(); + str.Printf( "First char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = input.Peek(); + str.Printf( "Second char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = input.GetC(); + str.Printf( "Second char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = input.Peek(); + str.Printf( "Third char peeked: %d\n", (int) ch ); + textCtrl.WriteText( str ); + + ch = input.GetC(); + str.Printf( "Third char read: %d\n", (int) ch ); + textCtrl.WriteText( str ); +} + #if wxUSE_UNICODE void MyApp::DoUnicodeDemo(wxCommandEvent& WXUNUSED(event)) { diff --git a/samples/typetest/typetest.h b/samples/typetest/typetest.h index 481b26ff34..90c4e153bb 100644 --- a/samples/typetest/typetest.h +++ b/samples/typetest/typetest.h @@ -33,6 +33,7 @@ public: void DoStreamDemo2(wxCommandEvent& event); void DoStreamDemo3(wxCommandEvent& event); void DoStreamDemo4(wxCommandEvent& event); + void DoStreamDemo5(wxCommandEvent& event); #if wxUSE_UNICODE void DoUnicodeDemo(wxCommandEvent& event); #endif @@ -80,6 +81,7 @@ enum TYPES_STREAM2, TYPES_STREAM3, TYPES_STREAM4, + TYPES_STREAM5, TYPES_MIME }; diff --git a/src/common/imagtiff.cpp b/src/common/imagtiff.cpp index dc85f890b8..ec1a1bc534 100644 --- a/src/common/imagtiff.cpp +++ b/src/common/imagtiff.cpp @@ -132,7 +132,7 @@ TIFFwxOpen(wxInputStream &stream, const char* name, const char* mode) { TIFF* tif = TIFFClientOpen(name, mode, (thandle_t) &stream, - _tiffReadProc, _tiffWriteProc, + _tiffReadProc, _tiffNullProc, _tiffSeekIProc, _tiffCloseProc, _tiffSizeProc, _tiffMapProc, _tiffUnmapProc); @@ -144,7 +144,7 @@ TIFFwxOpen(wxOutputStream &stream, const char* name, const char* mode) { TIFF* tif = TIFFClientOpen(name, mode, (thandle_t) &stream, - _tiffReadProc, _tiffWriteProc, + _tiffNullProc, _tiffWriteProc, _tiffSeekOProc, _tiffCloseProc, _tiffSizeProc, _tiffMapProc, _tiffUnmapProc); diff --git a/src/common/txtstrm.cpp b/src/common/txtstrm.cpp index aaa228b9da..ddada3ddce 100644 --- a/src/common/txtstrm.cpp +++ b/src/common/txtstrm.cpp @@ -65,18 +65,18 @@ wxChar wxTextInputStream::NextNonSeparators() inline bool wxTextInputStream::EatEOL(const wxChar &c) { - if (c == wxT('\n')) return TRUE; // eat on UNIX + if (c == wxT('\n')) return TRUE; // eat on UNIX - if (c == wxT('\r')) // eat on both Mac and DOS + if (c == wxT('\r')) // eat on both Mac and DOS { - if (!m_input) return TRUE; - wxChar c2 = m_input.GetC(); + if (!m_input) return TRUE; + wxChar c2 = m_input.GetC(); - if (c2 != wxT('\n')) m_input.Ungetch( c2 ); // Don't eat on Mac - return TRUE; + if (c2 != wxT('\n')) m_input.Ungetch( c2 ); // Don't eat on Mac + return TRUE; } - return FALSE; + return FALSE; } void wxTextInputStream::SkipIfEndOfLine( wxChar c ) @@ -237,6 +237,7 @@ wxString wxTextInputStream::ReadLine() while ( !m_input.Eof() ) { c = m_input.GetC(); + if ( !m_input ) break; @@ -260,8 +261,15 @@ wxString wxTextInputStream::ReadWord() if ( !c ) return word; + word += c; + while ( !m_input.Eof() ) { + c = m_input.GetC(); + + if (!m_input) + break; + if (m_separators.Contains(c)) break; @@ -269,10 +277,6 @@ wxString wxTextInputStream::ReadWord() break; word += c; - - c = m_input.GetC(); - if (!m_input) - break; } return word; diff --git a/wxGTK.spec b/wxGTK.spec index 353445ddc5..21b0418a77 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -10,9 +10,8 @@ Release: %{rel} Copyright: wxWindows Licence Group: X11/Libraries Source: wxGTK-%{ver}.tgz -URL: http://wesley.informatik.uni-freiburg.de/~wxxt -Packager: Robert Roebling -BuildRoot: /tmp/wxgtk_root +URL: http://wxwindows.org +Packager: Robert Roebling # all packages providing an implementation of wxWindows library (regardless of # the toolkit used) should provide the (virtual) wxwin package, this makes it @@ -53,11 +52,7 @@ fi $MAKE %install -rm -rf $RPM_BUILD_ROOT -make prefix=$RPM_BUILD_ROOT%{pref} install - -%clean -rm -rf $RPM_BUILD_ROOT +make install %post /sbin/ldconfig @@ -71,7 +66,7 @@ rm -rf $RPM_BUILD_ROOT %dir %{pref}/share/wx %{pref}/share/wx/* %attr(755, -, -) %{pref}/lib/libwx_gtk.* -%attr(755, -, -) %{pref}/lib/libwx_gtk-2.1.* +%attr(755, -, -) %{pref}/lib/libwx_gtk-2.2.* %files devel %defattr (644, root, root, 755)