]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/statbox.h
Support using GetTextExtent() with empty string to get descent in wxOSX.
[wxWidgets.git] / include / wx / statbox.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/statbox.h
3// Purpose: wxStaticBox base header
4// Author: Julian Smart
5// Modified by:
6// Created:
7// Copyright: (c) Julian Smart
8// RCS-ID: $Id$
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_STATBOX_H_BASE_
13#define _WX_STATBOX_H_BASE_
14
15#include "wx/defs.h"
16
17#if wxUSE_STATBOX
18
19#include "wx/control.h"
20#include "wx/containr.h"
21
22extern WXDLLIMPEXP_DATA_CORE(const char) wxStaticBoxNameStr[];
23
24// ----------------------------------------------------------------------------
25// wxStaticBox: a grouping box with a label
26// ----------------------------------------------------------------------------
27
28class WXDLLIMPEXP_CORE wxStaticBoxBase : public wxNavigationEnabled<wxControl>
29{
30public:
31 wxStaticBoxBase() { m_container.DisableSelfFocus(); }
32
33 // overridden base class virtuals
34 virtual bool HasTransparentBackground() { return true; }
35
36 // implementation only: this is used by wxStaticBoxSizer to account for the
37 // need for extra space taken by the static box
38 //
39 // the top border is the margin at the top (where the title is),
40 // borderOther is the margin on all other sides
41 virtual void GetBordersForSizer(int *borderTop, int *borderOther) const
42 {
43 const int BORDER = 5; // FIXME: hardcoded value
44
45 *borderTop = GetLabel().empty() ? BORDER : GetCharHeight();
46 *borderOther = BORDER;
47 }
48
49protected:
50 // choose the default border for this window
51 virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
52
53 wxDECLARE_NO_COPY_CLASS(wxStaticBoxBase);
54};
55
56#if defined(__WXUNIVERSAL__)
57 #include "wx/univ/statbox.h"
58#elif defined(__WXMSW__)
59 #include "wx/msw/statbox.h"
60#elif defined(__WXMOTIF__)
61 #include "wx/motif/statbox.h"
62#elif defined(__WXGTK20__)
63 #include "wx/gtk/statbox.h"
64#elif defined(__WXGTK__)
65 #include "wx/gtk1/statbox.h"
66#elif defined(__WXMAC__)
67 #include "wx/osx/statbox.h"
68#elif defined(__WXCOCOA__)
69 #include "wx/cocoa/statbox.h"
70#elif defined(__WXPM__)
71 #include "wx/os2/statbox.h"
72#endif
73
74#endif // wxUSE_STATBOX
75
76#endif
77 // _WX_STATBOX_H_BASE_