]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/univ/stattext.cpp
fix memory leak in wxScreenDC, fixes #13249
[wxWidgets.git] / src / univ / stattext.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/univ/stattext.cpp
3// Purpose: wxStaticText
4// Author: Vadim Zeitlin
5// Modified by:
6// Created: 14.08.00
7// RCS-ID: $Id$
8// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16// ----------------------------------------------------------------------------
17// headers
18// ----------------------------------------------------------------------------
19
20#include "wx/wxprec.h"
21
22#ifdef __BORLANDC__
23 #pragma hdrstop
24#endif
25
26#if wxUSE_STATTEXT
27
28#include "wx/stattext.h"
29
30#ifndef WX_PRECOMP
31 #include "wx/dcclient.h"
32 #include "wx/validate.h"
33#endif
34
35#include "wx/univ/renderer.h"
36#include "wx/univ/theme.h"
37
38// ============================================================================
39// implementation
40// ============================================================================
41
42// ----------------------------------------------------------------------------
43// creation
44// ----------------------------------------------------------------------------
45
46bool wxStaticText::Create(wxWindow *parent,
47 wxWindowID id,
48 const wxString &label,
49 const wxPoint &pos,
50 const wxSize &size,
51 long style,
52 const wxString &name)
53{
54 if ( !wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name) )
55 return false;
56
57 SetLabel(label);
58 SetInitialSize(size);
59
60 return true;
61}
62
63// ----------------------------------------------------------------------------
64// drawing
65// ----------------------------------------------------------------------------
66
67void wxStaticText::DoDraw(wxControlRenderer *renderer)
68{
69 renderer->DrawLabel();
70}
71
72void wxStaticText::SetLabel(const wxString& str)
73{
74 // save original label
75 m_labelOrig = str;
76
77 // draw as real label the abbreviated version of it
78 DoSetLabel(GetEllipsizedLabel());
79}
80
81void wxStaticText::DoSetLabel(const wxString& str)
82{
83 UnivDoSetLabel(str);
84}
85
86wxString wxStaticText::DoGetLabel() const
87{
88 return wxControl::GetLabel();
89}
90
91/*
92 FIXME: UpdateLabel() should be called on size events to allow correct
93 dynamic ellipsizing of the label
94*/
95
96#endif // wxUSE_STATTEXT