/////////////////////////////////////////////////////////////////////////////
// Name:        wx/generic/stattextg.h
// Purpose:     wxGenericStaticText header
// Author:      Marcin Wojdyr
// Created:     2008-06-26
// Copyright:   Marcin Wojdyr
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////
 
#ifndef _WX_GENERIC_STATTEXTG_H_
#define _WX_GENERIC_STATTEXTG_H_
 
// prevent it from including the platform-specific wxStaticText declaration as
// this is not going to compile if it derives from wxGenericStaticText defined
// below (currently this is only the case in wxUniv but it could also happen
// with other ports)
#define wxNO_PORT_STATTEXT_INCLUDE
#include "wx/stattext.h"
#undef wxNO_PORT_STATTEXT_INCLUDE
 
class WXDLLIMPEXP_CORE wxGenericStaticText : public wxStaticTextBase
{
public:
    wxGenericStaticText() { Init(); }
 
    wxGenericStaticText(wxWindow *parent,
                 wxWindowID id,
                 const wxString& label,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxString& name = wxStaticTextNameStr)
    {
        Init();
 
        Create(parent, id, label, pos, size, style, name);
    }
 
    bool Create(wxWindow *parent,
                wxWindowID id,
                const wxString& label,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = 0,
                const wxString& name = wxStaticTextNameStr);
 
    virtual ~wxGenericStaticText();
 
 
    // overridden base class virtual methods
    virtual void SetLabel(const wxString& label) wxOVERRIDE;
    virtual bool SetFont(const wxFont &font) wxOVERRIDE;
 
protected:
    virtual wxSize DoGetBestClientSize() const wxOVERRIDE;
 
    virtual wxString DoGetLabel() const wxOVERRIDE { return m_label; }
    virtual void DoSetLabel(const wxString& label) wxOVERRIDE;
 
    void DoSetSize(int x, int y, int width, int height, int sizeFlags) wxOVERRIDE;
 
#if wxUSE_MARKUP
    virtual bool DoSetLabelMarkup(const wxString& markup) wxOVERRIDE;
#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
 
    wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericStaticText);
};
 
#endif // _WX_GENERIC_STATTEXTG_H_
 

V730 It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: m_mnemonic.