Bitmap and menu updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-04-15 03:31:42 +00:00
parent 4ca24f185f
commit 598d8cacef
10 changed files with 131 additions and 130 deletions

View File

@@ -236,9 +236,10 @@ wxString wxMenuItemBase::GetLabelFromText(
return label;
}
// radio group stuff
//
// Radio group stuff
// -----------------
//
void wxMenuItem::SetAsRadioGroupStart()
{
m_bIsRadioGroupStart = TRUE;
@@ -248,23 +249,23 @@ void wxMenuItem::SetRadioGroupStart(
int nStart
)
{
wxASSERT_MSG( !m_bIsRadioGroupStart,
_T("should only be called for the next radio items") );
wxASSERT_MSG( !m_bIsRadioGroupStart
,_T("should only be called for the next radio items")
);
m_vRadioGroup.m_nStart = nStart;
} // end of wxMenuItem::SetRadioGroupStart
} // wxMenuItem::SetRadioGroupStart
void wxMenuItem::SetRadioGroupEnd(
int nEnd
)
{
wxASSERT_MSG( m_bIsRadioGroupStart,
_T("should only be called for the first radio item") );
wxASSERT_MSG( m_bIsRadioGroupStart
,_T("should only be called for the first radio item")
);
m_vRadioGroup.m_nEnd = nEnd;
} // end of wxMenuItem::SetRadioGroupEnd
// change item state
// -----------------
@@ -306,7 +307,8 @@ void wxMenuItem::Check(
return;
HMENU hMenu = GetHmenuOf(m_parentMenu);
if ( GetKind() == wxITEM_RADIO )
if (GetKind() == wxITEM_RADIO)
{
//
// It doesn't make sense to uncheck a radio item - what would this do?
@@ -319,23 +321,26 @@ void wxMenuItem::Check(
//
const wxMenuItemList& rItems = m_parentMenu->GetMenuItems();
int nPos = rItems.IndexOf(this);
int nStart;
int nEnd;
wxCHECK_RET( nPos != wxNOT_FOUND,
_T("menuitem not found in the menu items list?") );
wxCHECK_RET( nPos != wxNOT_FOUND
,_T("menuitem not found in the menu items list?")
);
//
// Get the radio group range
//
int nStart;
int nEnd;
if (m_bIsRadioGroupStart)
{
// we already have all information we need
//
// We already have all information we need
//
nStart = nPos;
nEnd = m_vRadioGroup.m_nEnd;
nEnd = m_vRadioGroup.m_nEnd;
}
else // Next radio group item
else // next radio group item
{
//
// Get the radio group end from the start item
@@ -351,26 +356,22 @@ void wxMenuItem::Check(
for (int n = nStart; n <= nEnd && pNode; n++)
{
if (n == nPos)
{
::WinSendMsg( hMenu
,MM_SETITEMATTR
,MPFROM2SHORT(n, TRUE)
,MPFROM2SHORT(MIA_CHECKED, MIA_CHECKED)
);
}
if (n != nPos)
{
pNode->GetData()->m_isChecked = FALSE;
}
if (n == nPos)
{
bOk = (bool)::WinSendMsg( hMenu
,MM_SETITEMATTR
,MPFROM2SHORT(n, TRUE)
,MPFROM2SHORT(MIA_CHECKED, MIA_CHECKED)
);
}
else
{
bOk = (bool)::WinSendMsg( hMenu
,MM_SETITEMATTR
,MPFROM2SHORT(n, TRUE)
,MPFROM2SHORT(MIA_CHECKED, FALSE)
);
::WinSendMsg( hMenu
,MM_SETITEMATTR
,MPFROM2SHORT(n, TRUE)
,MPFROM2SHORT(MIA_CHECKED, FALSE)
);
}
pNode = pNode->GetNext();
}