1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/common/checklstcmn.cpp
3 // Purpose: wxCheckListBox common code
4 // Author: Vadim Zeitlin
7 // RCS-ID: $Id: checklst.cpp 45515 2007-04-17 01:19:43Z VZ $
8 // Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 // ============================================================================
14 // ============================================================================
16 // ----------------------------------------------------------------------------
18 // ----------------------------------------------------------------------------
20 // For compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
27 #if wxUSE_CHECKLISTBOX
29 #include "wx/checklst.h"
32 #include "wx/msw/wrapcctl.h"
33 #include "wx/object.h"
34 #include "wx/colour.h"
36 #include "wx/bitmap.h"
37 #include "wx/window.h"
38 #include "wx/listbox.h"
39 #include "wx/dcmemory.h"
40 #include "wx/settings.h"
44 // ----------------------------------------------------------------------------
46 // ----------------------------------------------------------------------------
48 wxDEFINE_FLAGS( wxCheckListBoxStyle
)
49 wxBEGIN_FLAGS( wxCheckListBoxStyle
)
50 // new style border flags, we put them first to
51 // use them for streaming out
52 wxFLAGS_MEMBER(wxBORDER_SIMPLE
)
53 wxFLAGS_MEMBER(wxBORDER_SUNKEN
)
54 wxFLAGS_MEMBER(wxBORDER_DOUBLE
)
55 wxFLAGS_MEMBER(wxBORDER_RAISED
)
56 wxFLAGS_MEMBER(wxBORDER_STATIC
)
57 wxFLAGS_MEMBER(wxBORDER_NONE
)
59 // old style border flags
60 wxFLAGS_MEMBER(wxSIMPLE_BORDER
)
61 wxFLAGS_MEMBER(wxSUNKEN_BORDER
)
62 wxFLAGS_MEMBER(wxDOUBLE_BORDER
)
63 wxFLAGS_MEMBER(wxRAISED_BORDER
)
64 wxFLAGS_MEMBER(wxSTATIC_BORDER
)
65 wxFLAGS_MEMBER(wxBORDER
)
67 // standard window styles
68 wxFLAGS_MEMBER(wxTAB_TRAVERSAL
)
69 wxFLAGS_MEMBER(wxCLIP_CHILDREN
)
70 wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW
)
71 wxFLAGS_MEMBER(wxWANTS_CHARS
)
72 wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE
)
73 wxFLAGS_MEMBER(wxALWAYS_SHOW_SB
)
74 wxFLAGS_MEMBER(wxVSCROLL
)
75 wxFLAGS_MEMBER(wxHSCROLL
)
77 wxFLAGS_MEMBER(wxLB_SINGLE
)
78 wxFLAGS_MEMBER(wxLB_MULTIPLE
)
79 wxFLAGS_MEMBER(wxLB_EXTENDED
)
80 wxFLAGS_MEMBER(wxLB_HSCROLL
)
81 wxFLAGS_MEMBER(wxLB_ALWAYS_SB
)
82 wxFLAGS_MEMBER(wxLB_NEEDED_SB
)
83 wxFLAGS_MEMBER(wxLB_SORT
)
84 wxFLAGS_MEMBER(wxLB_OWNERDRAW
)
86 wxEND_FLAGS( wxCheckListBoxStyle
)
88 wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckListBox
, wxListBox
, "wx/checklst.h")
90 wxBEGIN_PROPERTIES_TABLE(wxCheckListBox
)
91 wxEVENT_PROPERTY( Toggle
, wxEVT_COMMAND_CHECKLISTBOX_TOGGLED
, wxCommandEvent
)
92 wxPROPERTY_FLAGS( WindowStyle
, wxCheckListBoxStyle
, long, SetWindowStyleFlag
, \
93 GetWindowStyleFlag
, wxEMPTY_PARAMETER_VALUE
, wxLB_OWNERDRAW
/*flags*/, \
94 wxT("Helpstring"), wxT("group")) // style
95 wxEND_PROPERTIES_TABLE()
97 wxEMPTY_HANDLERS_TABLE(wxCheckListBox
)
99 wxCONSTRUCTOR_4( wxCheckListBox
, wxWindow
*, Parent
, wxWindowID
, Id
, \
100 wxPoint
, Position
, wxSize
, Size
)