Added wxFFileStream base on wxFFile (as opposed to wxFile)

Implemented the "endl" thing for text streams,
  Corrected cursor display for text ctrls,
  Corrected the strange spin button behaviour when dynamically
    changing its range
  Corrcected bug in wxListBox when programmatically unselecting
   an item in multi-select mode (bug reports are getting esoteric)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-08-22 16:12:48 +00:00
parent e2acb9ae1c
commit 65045edde4
17 changed files with 332 additions and 25 deletions

View File

@@ -127,6 +127,7 @@ public:
bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle();
void CalculateScrollbar();
void OnInternalIdle();
void SetModified() { m_modified = TRUE; }

View File

@@ -127,6 +127,7 @@ public:
bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle();
void CalculateScrollbar();
void OnInternalIdle();
void SetModified() { m_modified = TRUE; }

View File

@@ -20,6 +20,14 @@
#if wxUSE_STREAMS
class WXDLLEXPORT wxTextInputStream;
class WXDLLEXPORT wxTextOutputStream;
typedef wxTextInputStream& (*__wxTextInputManip)(wxTextInputStream&);
typedef wxTextOutputStream& (*__wxTextOutputManip)(wxTextOutputStream&);
WXDLLEXPORT wxTextOutputStream &endl( wxTextOutputStream &stream );
class WXDLLEXPORT wxTextInputStream {
public:
wxTextInputStream(wxInputStream& s);
@@ -40,7 +48,9 @@ public:
wxTextInputStream& operator>>(wxUint32& i);
wxTextInputStream& operator>>(double& i);
wxTextInputStream& operator>>(float& f);
wxTextInputStream& operator>>( __wxTextInputManip func) { return func(*this); }
protected:
wxInputStream *m_input;
@@ -69,12 +79,12 @@ class WXDLLEXPORT wxTextOutputStream {
wxTextOutputStream& operator<<(double f);
wxTextOutputStream& operator<<(float f);
wxTextOutputStream& operator<<( __wxTextOutputManip func) { return func(*this); }
protected:
wxOutputStream *m_output;
};
wxTextOutputStream &endl( wxTextOutputStream &stream );
#endif
// wxUSE_STREAMS

View File

@@ -24,6 +24,11 @@
#include "wx/string.h"
#include "wx/stream.h"
#include "wx/file.h"
#include "wx/ffile.h"
// ----------------------------------------------------------------------------
// wxFileStream using wxFile
// ----------------------------------------------------------------------------
class wxFileInputStream: public wxInputStream {
public:
@@ -81,6 +86,65 @@ class wxFileStream: public wxFileInputStream, public wxFileOutputStream {
wxFileStream(const wxString& fileName);
};
// ----------------------------------------------------------------------------
// wxFFileStream using wxFFile
// ----------------------------------------------------------------------------
class wxFFileInputStream: public wxInputStream {
public:
wxFFileInputStream(const wxString& ifileName);
wxFFileInputStream(wxFFile& file);
wxFFileInputStream(FILE *file);
~wxFFileInputStream();
size_t GetSize() const;
bool Ok() const { return m_file->IsOpened(); }
protected:
wxFFileInputStream();
size_t OnSysRead(void *buffer, size_t size);
off_t OnSysSeek(off_t pos, wxSeekMode mode);
off_t OnSysTell() const;
protected:
wxFFile *m_file;
bool m_file_destroy;
};
class wxFFileOutputStream: public wxOutputStream {
public:
wxFFileOutputStream(const wxString& fileName);
wxFFileOutputStream(wxFFile& file);
wxFFileOutputStream(FILE *file);
virtual ~wxFFileOutputStream();
// To solve an ambiguity on GCC
// inline wxOutputStream& Write(const void *buffer, size_t size)
// { return wxOutputStream::Write(buffer, size); }
void Sync();
size_t GetSize() const;
bool Ok() const { return m_file->IsOpened(); }
protected:
wxFFileOutputStream();
size_t OnSysWrite(const void *buffer, size_t size);
off_t OnSysSeek(off_t pos, wxSeekMode mode);
off_t OnSysTell() const;
protected:
wxFFile *m_file;
bool m_file_destroy;
};
class wxFFileStream: public wxFFileInputStream, public wxFFileOutputStream {
public:
wxFFileStream(const wxString& fileName);
};
#endif
// wxUSE_STREAMS && wxUSE_FILE