]> git.saurik.com Git - wxWidgets.git/blame - include/wx/statline.h
Prevent seg fault for older GTK+
[wxWidgets.git] / include / wx / statline.h
CommitLineData
1e6feb95
VZ
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/statline.h
3// Purpose: wxStaticLine class interface
4// Author: Vadim Zeitlin
5// Created: 28.06.99
6// Version: $Id$
7// Copyright: (c) 1999 Vadim Zeitlin
65571936 8// Licence: wxWindows licence
1e6feb95
VZ
9/////////////////////////////////////////////////////////////////////////////
10
b0351fc9
RR
11#ifndef _WX_STATLINE_H_BASE_
12#define _WX_STATLINE_H_BASE_
13
c50f1fb9
VZ
14// ----------------------------------------------------------------------------
15// headers
16// ----------------------------------------------------------------------------
17
18// this defines wxUSE_STATLINE
19#include "wx/defs.h"
20
21#if wxUSE_STATLINE
22
23// the base class declaration
24#include "wx/control.h"
25
26// ----------------------------------------------------------------------------
27// global variables
28// ----------------------------------------------------------------------------
29
30// the default name for objects of class wxStaticLine
73b30256 31extern WXDLLEXPORT_DATA(const wxChar) wxStaticLineNameStr[];
c50f1fb9
VZ
32
33// ----------------------------------------------------------------------------
34// wxStaticLine - a line in a dialog
35// ----------------------------------------------------------------------------
36
37class WXDLLEXPORT wxStaticLineBase : public wxControl
38{
39public:
40 // constructor
41 wxStaticLineBase() { }
42
43 // is the line vertical?
44 bool IsVertical() const { return (GetWindowStyle() & wxLI_VERTICAL) != 0; }
45
46 // get the default size for the "lesser" dimension of the static line
47 static int GetDefaultSize() { return 2; }
48
1e6feb95 49 // overriden base class virtuals
bd507486 50 virtual bool AcceptsFocus() const { return false; }
1e6feb95 51
c50f1fb9
VZ
52protected:
53 // set the right size for the right dimension
1e6feb95 54 wxSize AdjustSize(const wxSize& size) const
c50f1fb9
VZ
55 {
56 wxSize sizeReal(size);
57 if ( IsVertical() )
58 {
d775fa82 59 if ( size.x == wxDefaultCoord )
c50f1fb9
VZ
60 sizeReal.x = GetDefaultSize();
61 }
62 else
63 {
d775fa82 64 if ( size.y == wxDefaultCoord )
c50f1fb9
VZ
65 sizeReal.y = GetDefaultSize();
66 }
67
68 return sizeReal;
69 }
1e6feb95
VZ
70
71 virtual wxSize DoGetBestSize() const
72 {
73 return AdjustSize(wxDefaultSize);
74 }
fc7a2a60
VZ
75
76 DECLARE_NO_COPY_CLASS(wxStaticLineBase)
c50f1fb9
VZ
77};
78
79// ----------------------------------------------------------------------------
80// now include the actual class declaration
81// ----------------------------------------------------------------------------
82
1e6feb95
VZ
83#if defined(__WXUNIVERSAL__)
84 #include "wx/univ/statline.h"
85#elif defined(__WXMSW__)
c50f1fb9 86 #include "wx/msw/statline.h"
1be7a35c 87#elif defined(__WXGTK20__)
c50f1fb9 88 #include "wx/gtk/statline.h"
1be7a35c
MR
89#elif defined(__WXGTK__)
90 #include "wx/gtk1/statline.h"
1777b9bb
DW
91#elif defined(__WXPM__)
92 #include "wx/os2/statline.h"
51abe921
SC
93#elif defined(__WXMAC__)
94 #include "wx/mac/statline.h"
e64df9bc
DE
95#elif defined(__WXCOCOA__)
96 #include "wx/cocoa/statline.h"
c50f1fb9
VZ
97#else // use generic implementation for all other platforms
98 #include "wx/generic/statline.h"
b0351fc9
RR
99#endif
100
c50f1fb9
VZ
101#endif // wxUSE_STATLINE
102
73b30256 103#endif // _WX_STATLINE_H_BASE_