added radio menu items ot XRC

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2002-03-24 00:23:50 +00:00
parent 536b70ac68
commit 65812490f7
2 changed files with 26 additions and 8 deletions

View File

@@ -65,17 +65,25 @@ wxObject *wxMenuXmlHandler::DoCreateResource()
else if (m_class == wxT("break")) else if (m_class == wxT("break"))
p_menu->Break(); p_menu->Break();
else /*wxMenuItem*/ else /*wxMenuItem*/
{ {
int id = GetID(); int id = GetID();
bool checkable = GetBool(wxT("checkable"));
wxString label = GetText(wxT("label")); wxString label = GetText(wxT("label"));
wxString accel = GetText(wxT("accel"), FALSE); wxString accel = GetText(wxT("accel"), FALSE);
wxString fullLabel = label; wxString fullLabel = label;
if (!accel.IsEmpty()) if (!accel.IsEmpty())
fullLabel << wxT("\t") << accel; fullLabel << wxT("\t") << accel;
wxItemKind kind = wxITEM_NORMAL;
if (GetBool(wxT("radio")))
kind = wxITEM_RADIO;
if (GetBool(wxT("checkable")))
{
wxASSERT_MSG( kind == wxITEM_NORMAL, _T("can't have both checkable and radion button at once") );
kind = wxITEM_CHECK;
}
wxMenuItem *mitem = new wxMenuItem(p_menu, id, fullLabel, wxMenuItem *mitem = new wxMenuItem(p_menu, id, fullLabel,
GetText(wxT("help")), checkable); GetText(wxT("help")), kind);
#if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__) #if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__)
if (HasParam(wxT("bitmap"))) if (HasParam(wxT("bitmap")))
@@ -83,7 +91,8 @@ wxObject *wxMenuXmlHandler::DoCreateResource()
#endif #endif
p_menu->Append(mitem); p_menu->Append(mitem);
mitem->Enable(GetBool(wxT("enabled"), TRUE)); mitem->Enable(GetBool(wxT("enabled"), TRUE));
if (checkable) mitem->Check(GetBool(wxT("checked"))); if (kind == wxITEM_CHECK)
mitem->Check(GetBool(wxT("checked")));
} }
return NULL; return NULL;
} }

View File

@@ -65,17 +65,25 @@ wxObject *wxMenuXmlHandler::DoCreateResource()
else if (m_class == wxT("break")) else if (m_class == wxT("break"))
p_menu->Break(); p_menu->Break();
else /*wxMenuItem*/ else /*wxMenuItem*/
{ {
int id = GetID(); int id = GetID();
bool checkable = GetBool(wxT("checkable"));
wxString label = GetText(wxT("label")); wxString label = GetText(wxT("label"));
wxString accel = GetText(wxT("accel"), FALSE); wxString accel = GetText(wxT("accel"), FALSE);
wxString fullLabel = label; wxString fullLabel = label;
if (!accel.IsEmpty()) if (!accel.IsEmpty())
fullLabel << wxT("\t") << accel; fullLabel << wxT("\t") << accel;
wxItemKind kind = wxITEM_NORMAL;
if (GetBool(wxT("radio")))
kind = wxITEM_RADIO;
if (GetBool(wxT("checkable")))
{
wxASSERT_MSG( kind == wxITEM_NORMAL, _T("can't have both checkable and radion button at once") );
kind = wxITEM_CHECK;
}
wxMenuItem *mitem = new wxMenuItem(p_menu, id, fullLabel, wxMenuItem *mitem = new wxMenuItem(p_menu, id, fullLabel,
GetText(wxT("help")), checkable); GetText(wxT("help")), kind);
#if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__) #if wxCHECK_VERSION(2,3,0) || defined(__WXMSW__)
if (HasParam(wxT("bitmap"))) if (HasParam(wxT("bitmap")))
@@ -83,7 +91,8 @@ wxObject *wxMenuXmlHandler::DoCreateResource()
#endif #endif
p_menu->Append(mitem); p_menu->Append(mitem);
mitem->Enable(GetBool(wxT("enabled"), TRUE)); mitem->Enable(GetBool(wxT("enabled"), TRUE));
if (checkable) mitem->Check(GetBool(wxT("checked"))); if (kind == wxITEM_CHECK)
mitem->Check(GetBool(wxT("checked")));
} }
return NULL; return NULL;
} }