]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/stubs/textctrl.h
Improved wxFileDialog behaviour wrt to remembering filenames
[wxWidgets.git] / include / wx / stubs / textctrl.h
index a4efeba67c681d549c69218dfc425b697fe5e372..09c11e063e5cd3c58a90c39678b7dfdccef175f6 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "wx/control.h"
 
-#if USE_IOSTREAMH
+#if wxUSE_IOSTREAMH
 #include <iostream.h>
 #else
 #include <iostream>
@@ -30,9 +30,7 @@ WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
 // Single-line text item
 class WXDLLEXPORT wxTextCtrl: public wxControl
 
-// 16-bit Borland 4.0 doesn't seem to allow multiple inheritance with wxWindow and streambuf:
-// it complains about deriving a huge class from the huge class streambuf. !!
-// Also, can't use streambuf if making or using a DLL :-(
+// TODO Some platforms/compilers don't like inheritance from streambuf.
 
 #if (defined(__BORLANDC__) && !defined(__WIN32__)) || defined(__MWERKS__)
 #define NO_TEXT_WINDOW_STREAM
@@ -87,6 +85,17 @@ public:
   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 long GetInsertionPoint() const ;
@@ -95,7 +104,12 @@ public:
   virtual void Remove(long from, long to);
   virtual void SetSelection(long from, long to);
   virtual void SetEditable(bool editable);
-  
+
+  // 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 ;
+
   // streambuf implementation
 #ifndef NO_TEXT_WINDOW_STREAM
   int overflow(int i);
@@ -113,6 +127,7 @@ public:
   virtual bool LoadFile(const wxString& file);
   virtual bool SaveFile(const wxString& file);
   virtual void WriteText(const wxString& text);
+  virtual void AppendText(const wxString& text);
   virtual void DiscardEdits();
   virtual bool IsModified() const;
   
@@ -124,15 +139,26 @@ public:
   // callbacks
   // ---------
   void OnDropFiles(wxDropFilesEvent& event);
-  void OnChar(wxKeyEvent& event); // Process 'enter' if required
-  void OnEraseBackground(wxEraseEvent& event);
-  
+//  void OnChar(wxKeyEvent& event); // Process 'enter' if required
+//  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);
+
   // Implementation
   // --------------
   virtual void Command(wxCommandEvent& event);
 
 protected:
-  wxString  fileName;
+  wxString  m_fileName;
   
   DECLARE_EVENT_TABLE()
 };