]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/textctrl.h
Add wxRTTI for the wxFileSystemWatcherEvent class
[wxWidgets.git] / interface / wx / textctrl.h
index b3bb03dc467041d8dd8ff5b4c39e7a969a57fd7f..98dd83dd97d3597feafaff69db58a5f10f522c07 100644 (file)
@@ -52,6 +52,8 @@
 #define wxTE_RICH2          0x8000
 
 
+#define wxTEXT_TYPE_ANY     0
+
 
 /**
    wxTextCoord is a line or row number
@@ -85,19 +87,23 @@ enum wxTextAttrFlags
     wxTEXT_ATTR_BACKGROUND_COLOUR    = 0x00000002,
 
     wxTEXT_ATTR_FONT_FACE            = 0x00000004,
-    wxTEXT_ATTR_FONT_SIZE            = 0x00000008,
+    wxTEXT_ATTR_FONT_POINT_SIZE      = 0x00000008,
+    wxTEXT_ATTR_FONT_PIXEL_SIZE      = 0x10000000,
     wxTEXT_ATTR_FONT_WEIGHT          = 0x00000010,
     wxTEXT_ATTR_FONT_ITALIC          = 0x00000020,
     wxTEXT_ATTR_FONT_UNDERLINE       = 0x00000040,
+    wxTEXT_ATTR_FONT_STRIKETHROUGH   = 0x08000000,
     wxTEXT_ATTR_FONT_ENCODING        = 0x02000000,
     wxTEXT_ATTR_FONT_FAMILY          = 0x04000000,
 
+    wxTEXT_ATTR_FONT_SIZE = \
+        ( wxTEXT_ATTR_FONT_POINT_SIZE | wxTEXT_ATTR_FONT_PIXEL_SIZE ),
     /**
         Defined as the combination of all @c wxTEXT_ATTR_FONT_* values above.
     */
     wxTEXT_ATTR_FONT = \
         ( wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | \
-            wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_ENCODING | wxTEXT_ATTR_FONT_FAMILY ),
+            wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_STRIKETHROUGH | wxTEXT_ATTR_FONT_ENCODING | wxTEXT_ATTR_FONT_FAMILY ),
 
     wxTEXT_ATTR_ALIGNMENT            = 0x00000080,
     wxTEXT_ATTR_LEFT_INDENT          = 0x00000100,
@@ -173,7 +179,9 @@ enum wxTextAttrBulletStyle
 
     wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT      = 0x00000000,
     wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT     = 0x00001000,
-    wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE    = 0x00002000
+    wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE    = 0x00002000,
+
+    wxTEXT_ATTR_BULLET_STYLE_CONTINUATION    = 0x00004000
 };
 
 /**
@@ -288,6 +296,14 @@ public:
                             const wxTextAttr& overlay);
 
 
+    /**
+        Partial equality test.  If @a weakTest is @true, attributes of this object do not
+        have to be present if those attributes of @a attr are present. If @a weakTest is
+        @false, the function will fail if an attribute is present in @a attr but not
+        in this object.
+    */
+    bool EqPartial(const wxTextAttr& attr, bool weakTest = true) const;
+
     /**
         @name GetXXX functions
      */
@@ -565,10 +581,20 @@ public:
     bool HasFontItalic() const;
 
     /**
-        Returns @true if the attribute object specifies a font point size.
+        Returns @true if the attribute object specifies a font point or pixel size.
     */
     bool HasFontSize() const;
 
+    /**
+        Returns @true if the attribute object specifies a font point size.
+    */
+    bool HasFontPointSize() const;
+
+    /**
+        Returns @true if the attribute object specifies a font pixel size.
+    */
+    bool HasFontPixelSize() const;
+
     /**
         Returns @true if the attribute object specifies either underlining or no
         underlining.
@@ -736,7 +762,7 @@ public:
         Sets the attributes for the given font.
         Note that wxTextAttr does not store an actual wxFont object.
     */
-    void SetFont(const wxFont& font, int flags = wxTEXT_ATTR_FONT);
+    void SetFont(const wxFont& font, int flags = wxTEXT_ATTR_FONT & ~wxTEXT_ATTR_FONT_PIXEL_SIZE);
 
     /**
         Sets the font encoding.
@@ -758,6 +784,16 @@ public:
     */
     void SetFontSize(int pointSize);
 
+    /**
+        Sets the font size in points.
+    */
+    void SetFontPointSize(int pointSize);
+
+    /**
+        Sets the font size in pixels.
+    */
+    void SetFontPixelSize(int pixelSize);
+
     /**
         Sets the font style (normal, italic or slanted).
     */
@@ -902,7 +938,7 @@ public:
 
     @beginStyleTable
     @style{wxTE_PROCESS_ENTER}
-           The control will generate the event @c wxEVT_COMMAND_TEXT_ENTER
+           The control will generate the event @c wxEVT_TEXT_ENTER
            (otherwise pressing Enter key is either processed internally by the
            control or used for navigation between dialog controls).
     @style{wxTE_PROCESS_TAB}
@@ -1097,14 +1133,14 @@ public:
 
     @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_TEXT(id, func)}
-        Respond to a @c wxEVT_COMMAND_TEXT_UPDATED event, generated when the text
+        Respond to a @c wxEVT_TEXT event, generated when the text
         changes. Notice that this event will be sent when the text controls
         contents changes -- whether this is due to user input or comes from the
         program itself (for example, if wxTextCtrl::SetValue() is called); see
         wxTextCtrl::ChangeValue() for a function which does not send this event.
         This event is however not sent during the control creation.
     @event{EVT_TEXT_ENTER(id, func)}
-        Respond to a @c wxEVT_COMMAND_TEXT_ENTER event, generated when enter is
+        Respond to a @c wxEVT_TEXT_ENTER event, generated when enter is
         pressed in a text control which must have wxTE_PROCESS_ENTER style for
         this event to be generated.
     @event{EVT_TEXT_URL(id, func)}
@@ -1117,7 +1153,7 @@ public:
 
     @library{wxcore}
     @category{ctrl}
-    @appearance{textctrl.png}
+    @appearance{textctrl}
 
     @see wxTextCtrl::Create, wxValidator
 */
@@ -1187,11 +1223,6 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxTextCtrlNameStr);
 
-    /**
-        Copies the selected text to the clipboard and removes the selection.
-    */
-    virtual void Cut();
-
     /**
         Resets the internal modified flag as if the current changes had been
         saved.
@@ -1526,6 +1557,33 @@ public:
 
 
 
+wxEventType wxEVT_TEXT;
+wxEventType wxEVT_TEXT_ENTER;
+wxEventType wxEVT_TEXT_URL;
+wxEventType wxEVT_TEXT_MAXLEN;
+
+
+class wxTextUrlEvent : public wxCommandEvent
+{
+public:
+    wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse,
+                   long start, long end);
+
+    wxTextUrlEvent(const wxTextUrlEvent& event);
+
+    // get the mouse event which happened over the URL
+    const wxMouseEvent& GetMouseEvent() const;
+
+    // get the start of the URL
+    long GetURLStart() const;
+
+    // get the end of the URL
+    long GetURLEnd() const;
+
+    virtual wxEvent *Clone() const;
+};
+
+
 /**
     @class wxStreamToTextRedirector