]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/stattextg.h
Fix crash when auto-sizing a wxDataViewCtrl column.
[wxWidgets.git] / include / wx / generic / stattextg.h
index 02860ea951102e49533f5b79f0136cc06cb766b2..918a4f4eb340c6ed2be0731dafa2c478fe5ded9e 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxGenericStaticText header
 // Author:      Marcin Wojdyr
 // Created:     2008-06-26
-// Id:          $Id$
 // Copyright:   Marcin Wojdyr
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -22,7 +21,7 @@
 class WXDLLIMPEXP_CORE wxGenericStaticText : public wxStaticTextBase
 {
 public:
-    wxGenericStaticText() { }
+    wxGenericStaticText() { Init(); }
 
     wxGenericStaticText(wxWindow *parent,
                  wxWindowID id,
@@ -32,6 +31,8 @@ public:
                  long style = 0,
                  const wxString& name = wxStaticTextNameStr)
     {
+        Init();
+
         Create(parent, id, label, pos, size, style, name);
     }
 
@@ -43,24 +44,45 @@ public:
                 long style = 0,
                 const wxString& name = wxStaticTextNameStr);
 
+    virtual ~wxGenericStaticText();
 
-protected:
-    virtual wxSize DoGetBestClientSize() const;
 
+    // overridden base class virtual methods
     virtual void SetLabel(const wxString& label);
     virtual bool SetFont(const wxFont &font);
 
+protected:
+    virtual wxSize DoGetBestClientSize() const;
+
     virtual wxString DoGetLabel() const { return m_label; }
     virtual void DoSetLabel(const wxString& label);
 
     void DoSetSize(int x, int y, int width, int height, int sizeFlags);
 
+#if wxUSE_MARKUP
+    virtual bool DoSetLabelMarkup(const wxString& markup);
+#endif // wxUSE_MARKUP
+
 private:
+    void Init()
+    {
+#if wxUSE_MARKUP
+        m_markupText = NULL;
+#endif // wxUSE_MARKUP
+    }
+
     void OnPaint(wxPaintEvent& event);
 
+    void DoDrawLabel(wxDC& dc, const wxRect& rect);
+
+    // These fields are only used if m_markupText == NULL.
     wxString m_label;
     int m_mnemonic;
 
+#if wxUSE_MARKUP
+    class wxMarkupText *m_markupText;
+#endif // wxUSE_MARKUP
+
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericStaticText)
 };