#include "wx/tooltip.h"
#endif // wxUSE_TOOLTIPS
-// TODO: WX_CONSTRUCTOR
+// TODO: wxCONSTRUCTOR
#if 0 // wxUSE_EXTENDED_RTTI
WX_DEFINE_FLAGS( wxRadioBoxStyle )
-WX_BEGIN_FLAGS( wxRadioBoxStyle )
+wxBEGIN_FLAGS( wxRadioBoxStyle )
// new style border flags, we put them first to
// use them for streaming out
- WX_FLAGS_MEMBER(wxBORDER_SIMPLE)
- WX_FLAGS_MEMBER(wxBORDER_SUNKEN)
- WX_FLAGS_MEMBER(wxBORDER_DOUBLE)
- WX_FLAGS_MEMBER(wxBORDER_RAISED)
- WX_FLAGS_MEMBER(wxBORDER_STATIC)
- WX_FLAGS_MEMBER(wxBORDER_NONE)
+ wxFLAGS_MEMBER(wxBORDER_SIMPLE)
+ wxFLAGS_MEMBER(wxBORDER_SUNKEN)
+ wxFLAGS_MEMBER(wxBORDER_DOUBLE)
+ wxFLAGS_MEMBER(wxBORDER_RAISED)
+ wxFLAGS_MEMBER(wxBORDER_STATIC)
+ wxFLAGS_MEMBER(wxBORDER_NONE)
// old style border flags
- WX_FLAGS_MEMBER(wxSIMPLE_BORDER)
- WX_FLAGS_MEMBER(wxSUNKEN_BORDER)
- WX_FLAGS_MEMBER(wxDOUBLE_BORDER)
- WX_FLAGS_MEMBER(wxRAISED_BORDER)
- WX_FLAGS_MEMBER(wxSTATIC_BORDER)
- WX_FLAGS_MEMBER(wxNO_BORDER)
+ wxFLAGS_MEMBER(wxSIMPLE_BORDER)
+ wxFLAGS_MEMBER(wxSUNKEN_BORDER)
+ wxFLAGS_MEMBER(wxDOUBLE_BORDER)
+ wxFLAGS_MEMBER(wxRAISED_BORDER)
+ wxFLAGS_MEMBER(wxSTATIC_BORDER)
+ wxFLAGS_MEMBER(wxBORDER)
// standard window styles
- WX_FLAGS_MEMBER(wxTAB_TRAVERSAL)
- WX_FLAGS_MEMBER(wxCLIP_CHILDREN)
- WX_FLAGS_MEMBER(wxTRANSPARENT_WINDOW)
- WX_FLAGS_MEMBER(wxWANTS_CHARS)
- WX_FLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE)
- WX_FLAGS_MEMBER(wxALWAYS_SHOW_SB )
- WX_FLAGS_MEMBER(wxVSCROLL)
- WX_FLAGS_MEMBER(wxHSCROLL)
-
- WX_FLAGS_MEMBER(wxRA_SPECIFY_COLS)
- WX_FLAGS_MEMBER(wxRA_HORIZONTAL)
- WX_FLAGS_MEMBER(wxRA_SPECIFY_ROWS)
- WX_FLAGS_MEMBER(wxRA_VERTICAL)
-
-WX_END_FLAGS( wxRadioBoxStyle )
+ wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
+ wxFLAGS_MEMBER(wxCLIP_CHILDREN)
+ wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ wxFLAGS_MEMBER(wxWANTS_CHARS)
+ wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
+ wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ wxFLAGS_MEMBER(wxVSCROLL)
+ wxFLAGS_MEMBER(wxHSCROLL)
+
+ wxFLAGS_MEMBER(wxRA_SPECIFY_COLS)
+ wxFLAGS_MEMBER(wxRA_HORIZONTAL)
+ wxFLAGS_MEMBER(wxRA_SPECIFY_ROWS)
+ wxFLAGS_MEMBER(wxRA_VERTICAL)
+
+wxEND_FLAGS( wxRadioBoxStyle )
IMPLEMENT_DYNAMIC_CLASS_XTI(wxRadioBox, wxControl,"wx/radiobox.h")
-WX_BEGIN_PROPERTIES_TABLE(wxRadioBox)
- WX_DELEGATE( OnSelect , wxEVT_COMMAND_RADIOBOX_SELECTED , wxCommandEvent )
- WX_PROPERTY_FLAGS( WindowStyle , wxRadioBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
-WX_END_PROPERTIES_TABLE()
+wxBEGIN_PROPERTIES_TABLE(wxRadioBox)
+ wxEVENT_PROPERTY( Select , wxEVT_COMMAND_RADIOBOX_SELECTED , wxCommandEvent )
+ wxPROPERTY_FLAGS( WindowStyle , wxRadioBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
+wxEND_PROPERTIES_TABLE()
#else
IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
}
break;
+ case WM_SETFOCUS:
+ case WM_KILLFOCUS:
+ {
+ wxRadioBox *radiobox = (wxRadioBox *)
+ ::GetWindowLong(hwnd, GWL_USERDATA);
+
+ wxCHECK_MSG( radiobox, 0, wxT("radio button without radio box?") );
+
+ // if we don't do this, no focus events are generated for the
+ // radiobox and, besides, we need to notify the parent about
+ // the focus change, otherwise the focus handling logic in
+ // wxControlContainer doesn't work
+ if ( message == WM_SETFOCUS )
+ radiobox->HandleSetFocus((WXHWND)wParam);
+ else
+ radiobox->HandleKillFocus((WXHWND)wParam);
+ }
+ break;
+
#ifdef __WIN32__
case WM_HELP:
{