1
/////////////////////////////////////////////////////////////////////////////
2
// Name: msw/statline.cpp
3
// Purpose: MSW version of wxStaticLine class
4
// Author: Vadim Zeitlin
6
// Version: $Id: statline.cpp,v 1.29 2005/09/09 20:45:04 JS Exp $
7
// Copyright: (c) 1998 Vadim Zeitlin
8
// Licence: wxWindows licence
9
/////////////////////////////////////////////////////////////////////////////
11
// ============================================================================
13
// ============================================================================
15
// ----------------------------------------------------------------------------
17
// ----------------------------------------------------------------------------
19
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
20
#pragma implementation "statline.h"
23
// For compilers that support precompilation, includes "wx.h".
24
#include "wx/wxprec.h"
30
#include "wx/statline.h"
34
#include "wx/msw/private.h"
35
#include "wx/msw/missing.h"
37
// ============================================================================
39
// ============================================================================
41
#if wxUSE_EXTENDED_RTTI
42
WX_DEFINE_FLAGS( wxStaticLineStyle )
44
wxBEGIN_FLAGS( wxStaticLineStyle )
45
// new style border flags, we put them first to
46
// use them for streaming out
47
wxFLAGS_MEMBER(wxBORDER_SIMPLE)
48
wxFLAGS_MEMBER(wxBORDER_SUNKEN)
49
wxFLAGS_MEMBER(wxBORDER_DOUBLE)
50
wxFLAGS_MEMBER(wxBORDER_RAISED)
51
wxFLAGS_MEMBER(wxBORDER_STATIC)
52
wxFLAGS_MEMBER(wxBORDER_NONE)
54
// old style border flags
55
wxFLAGS_MEMBER(wxSIMPLE_BORDER)
56
wxFLAGS_MEMBER(wxSUNKEN_BORDER)
57
wxFLAGS_MEMBER(wxDOUBLE_BORDER)
58
wxFLAGS_MEMBER(wxRAISED_BORDER)
59
wxFLAGS_MEMBER(wxSTATIC_BORDER)
60
wxFLAGS_MEMBER(wxBORDER)
62
// standard window styles
63
wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
64
wxFLAGS_MEMBER(wxCLIP_CHILDREN)
65
wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
66
wxFLAGS_MEMBER(wxWANTS_CHARS)
67
wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
68
wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
69
wxFLAGS_MEMBER(wxVSCROLL)
70
wxFLAGS_MEMBER(wxHSCROLL)
72
wxFLAGS_MEMBER(wxLI_HORIZONTAL)
73
wxFLAGS_MEMBER(wxLI_VERTICAL)
75
wxEND_FLAGS( wxStaticLineStyle )
77
IMPLEMENT_DYNAMIC_CLASS_XTI(wxStaticLine, wxControl,"wx/statline.h")
79
wxBEGIN_PROPERTIES_TABLE(wxStaticLine)
80
wxPROPERTY_FLAGS( WindowStyle , wxStaticLineStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
81
wxEND_PROPERTIES_TABLE()
83
wxBEGIN_HANDLERS_TABLE(wxStaticLine)
84
wxEND_HANDLERS_TABLE()
86
wxCONSTRUCTOR_5( wxStaticLine, wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle)
89
IMPLEMENT_DYNAMIC_CLASS(wxStaticLine, wxControl)
94
style (wxLI_HORIZONTAL)
97
// ----------------------------------------------------------------------------
99
// ----------------------------------------------------------------------------
101
bool wxStaticLine::Create(wxWindow *parent,
104
const wxSize& sizeOrig,
106
const wxString &name)
108
wxSize size = AdjustSize(sizeOrig);
110
if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) )
113
return MSWCreateControl(_T("STATIC"), wxEmptyString, pos, size);
116
WXDWORD wxStaticLine::MSWGetStyle(long style, WXDWORD *exstyle) const
118
// we never have border
119
style &= ~wxBORDER_MASK;
120
style |= wxBORDER_NONE;
122
WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
124
// add our default styles
125
msStyle |= SS_SUNKEN | SS_NOTIFY | WS_CLIPSIBLINGS;
127
msStyle |= SS_GRAYRECT ;
133
#endif // wxUSE_STATLINE