]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/textctrl.h
use std::[w]string for wxString implementation unless wxUSE_STD_STRING==0 but even...
[wxWidgets.git] / include / wx / textctrl.h
index f0e93fc0dba916ab096f8be59a211284672446b3..952862d44ed4a4942b27979d9ff7f0ec9b08dd15 100644 (file)
 #include "wx/dynarray.h"        // wxArrayInt
 #include "wx/gdicmn.h"          // wxPoint
 
-// Open Watcom 1.3 does allow only ios::rdbuf() while
-// we want something with streambuf parameter
-// Also, can't use streambuf if making or using a DLL :-(
-
+// some compilers don't have standard compliant rdbuf() (and MSVC has it only
+// in its new iostream library, not in the old one used with iostream.h)
 #if defined(__WATCOMC__) || \
     defined(__MWERKS__) || \
-    (defined(__WINDOWS__) && (defined(WXUSINGDLL) || defined(WXMAKINGDLL)))
+    ((defined(__VISUALC5__) || defined(__VISUALC6__)) && wxUSE_IOSTREAMH)
     #define wxHAS_TEXT_WINDOW_STREAM 0
 #elif wxUSE_STD_IOSTREAM
     #include "wx/ioswrap.h"
@@ -55,7 +53,7 @@ typedef long wxTextCoord;
 // constants
 // ----------------------------------------------------------------------------
 
-extern WXDLLEXPORT_DATA(const char) wxTextCtrlNameStr[];
+extern WXDLLIMPEXP_DATA_CORE(const char) wxTextCtrlNameStr[];
 
 // this is intentionally not enum to avoid warning fixes with
 // typecasting from enum type to wxTextCoord
@@ -254,7 +252,7 @@ enum wxTextAttrAlignment
 // wxTextAttr: a structure containing the visual attributes of a text
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxTextAttr
+class WXDLLIMPEXP_CORE wxTextAttr
 {
 public:
     // ctors
@@ -280,9 +278,6 @@ public:
     // Partial equality test taking flags into account
     bool EqPartial(const wxTextAttr& attr, int flags) const;
 
-    // Create font from font attributes.
-    wxFont CreateFont() const;
-
     // Get attributes from font.
     bool GetFontAttributes(const wxFont& font, int flags = wxTEXT_ATTR_FONT);
 
@@ -339,7 +334,7 @@ public:
     const wxString& GetFontFaceName() const { return m_fontFaceName; }
     wxFontEncoding GetFontEncoding() const { return m_fontEncoding; }
 
-    wxFont GetFont() const { return CreateFont(); }
+    wxFont GetFont() const;
 
     const wxString& GetCharacterStyleName() const { return m_characterStyleName; }
     const wxString& GetParagraphStyleName() const { return m_paragraphStyleName; }
@@ -596,7 +591,7 @@ private:
 // wxTextCtrl: a single or multiple line text zone where user can edit text
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxTextCtrlBase : public wxControl,
+class WXDLLIMPEXP_CORE wxTextCtrlBase : public wxControl,
 #if wxHAS_TEXT_WINDOW_STREAM
                                    public wxSTD streambuf,
 #endif
@@ -620,9 +615,10 @@ public:
     wxTextCtrl& operator<<(const wxString& s);
     wxTextCtrl& operator<<(int i);
     wxTextCtrl& operator<<(long i);
-    wxTextCtrl& operator<<(float f);
+    wxTextCtrl& operator<<(float f) { return *this << double(f); }
     wxTextCtrl& operator<<(double d);
-    wxTextCtrl& operator<<(const wxChar c);
+    wxTextCtrl& operator<<(char c) { return *this << wxString(c); }
+    wxTextCtrl& operator<<(wchar_t c) { return *this << wxString(c); }
 
     // insert the character which would have resulted from this key event,
     // return true if anything has been inserted
@@ -697,6 +693,8 @@ protected:
     #include "wx/cocoa/textctrl.h"
 #elif defined(__WXPM__)
     #include "wx/os2/textctrl.h"
+#elif defined(__WXPALMOS__)
+    #include "wx/palmos/textctrl.h"
 #endif
 
 // ----------------------------------------------------------------------------
@@ -708,7 +706,7 @@ extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_ENTER;
 extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_URL;
 extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_MAXLEN;
 
-class WXDLLEXPORT wxTextUrlEvent : public wxCommandEvent
+class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent
 {
 public:
     wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse,
@@ -766,7 +764,7 @@ typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&);
 // C++ stream to the wxTextCtrl given to its ctor during its lifetime.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxStreamToTextRedirector
+class WXDLLIMPEXP_CORE wxStreamToTextRedirector
 {
 private:
     void Init(wxTextCtrl *text)