#pragma interface "textctrl.h"
#endif
-#include "wx/ioswrap.h"
-#include "wx/control.h"
-
-// TODO Some platforms/compilers don't like inheritance from streambuf.
-#if (defined(__BORLANDC__) && !defined(__WIN32__)) || defined(__MWERKS__)
- #define NO_TEXT_WINDOW_STREAM
-#endif
-
WXDLLEXPORT_DATA(extern const char*) wxTextCtrlNameStr;
WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
// Single-line text item
-class WXDLLEXPORT wxTextCtrl: public wxControl
-#ifndef NO_TEXT_WINDOW_STREAM
- , public streambuf
-#endif
+class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
{
DECLARE_DYNAMIC_CLASS(wxTextCtrl)
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr)
-#ifndef NO_TEXT_WINDOW_STREAM
- : streambuf()
-#endif
{
Create(parent, id, value, pos, size, style, validator, name);
}
virtual void Copy();
virtual void Cut();
virtual void Paste();
+ virtual bool CanCopy() const;
+ virtual bool CanCut() const;
+ virtual bool CanPaste() const;
+
+ // Undo/redo
+ virtual void Undo();
+ virtual void Redo();
+
+ virtual bool CanUndo() const;
+ virtual bool CanRedo() const;
virtual void SetInsertionPoint(long pos);
virtual void SetInsertionPointEnd();
virtual void Remove(long from, long to);
virtual void SetSelection(long from, long to);
virtual void SetEditable(bool editable);
-
- // streambuf implementation
-#ifndef NO_TEXT_WINDOW_STREAM
- int overflow(int i);
- int sync();
- int underflow();
-#endif
-
- wxTextCtrl& operator<<(const wxString& s);
- wxTextCtrl& operator<<(int i);
- wxTextCtrl& operator<<(long i);
- wxTextCtrl& operator<<(float f);
- wxTextCtrl& operator<<(double d);
- wxTextCtrl& operator<<(const char c);
+ // If the return values from and to are the same, there is no
+ // selection.
+ virtual void GetSelection(long* from, long* to) const;
+ virtual bool IsEditable() const ;
virtual bool LoadFile(const wxString& file);
virtual bool SaveFile(const wxString& file);
virtual bool IsModified() const;
virtual long XYToPosition(long x, long y) const;
- virtual void PositionToXY(long pos, long *x, long *y) const;
+ virtual bool PositionToXY(long pos, long *x, long *y) const;
virtual void ShowPosition(long pos);
virtual void Clear();
void OnChar(wxKeyEvent& event);
// void OnEraseBackground(wxEraseEvent& event);
+ void OnCut(wxCommandEvent& event);
+ void OnCopy(wxCommandEvent& event);
+ void OnPaste(wxCommandEvent& event);
+ void OnUndo(wxCommandEvent& event);
+ void OnRedo(wxCommandEvent& event);
+
+ void OnUpdateCut(wxUpdateUIEvent& event);
+ void OnUpdateCopy(wxUpdateUIEvent& event);
+ void OnUpdatePaste(wxUpdateUIEvent& event);
+ void OnUpdateUndo(wxUpdateUIEvent& event);
+ void OnUpdateRedo(wxUpdateUIEvent& event);
+
virtual void Command(wxCommandEvent& event);
// implementation from here to the end