MCPcopy Create free account
hub / github.com/CobaltFusion/DebugViewPP / ToggleCheckState

Method ToggleCheckState

Libraries/TabbingFramework/TabbedMDISave.cpp:1565–1604  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1563}
1564
1565void CSaveModifiedItemsDialog::ToggleCheckState(int item)
1566{
1567 LVITEM lvi = { 0 };
1568 lvi.iItem = item;
1569 lvi.iSubItem = 0;
1570 lvi.mask = (LVIF_INDENT | LVIF_STATE);
1571 lvi.stateMask = (LVIS_STATEIMAGEMASK | LVIS_SELECTED);
1572 m_list.GetItem(&lvi);
1573
1574 CheckState checkState = (CheckState)(lvi.state & LVIS_STATEIMAGEMASK);
1575
1576 CheckState newCheckState = eCheckState_Checked;
1577 switch(checkState)
1578 {
1579 case eCheckState_Unchecked:
1580 newCheckState = eCheckState_Checked;
1581 break;
1582 case eCheckState_Checked:
1583 newCheckState = eCheckState_Unchecked;
1584 break;
1585 case eCheckState_Indeterminate:
1586 newCheckState = eCheckState_Checked;
1587 break;
1588 }
1589
1590 if((lvi.state & LVIS_SELECTED) != LVIS_SELECTED)
1591 {
1592 // If the item isn't selected, toggle the checkmark on just the item
1593 this->SetTristateCheckState(item, newCheckState);
1594 }
1595 else
1596 {
1597 // Otherwise, set the checkmark appropriately on all selected items.
1598 int itemToCheck = -1;
1599 while((itemToCheck = m_list.GetNextItem(itemToCheck, LVNI_SELECTED)) != -1)
1600 {
1601 this->SetTristateCheckState(itemToCheck, newCheckState);
1602 }
1603 }
1604}
1605
1606void CSaveModifiedItemsDialog::SetTristateCheckState(int item, CheckState checkState)
1607{

Calls 1

SetTristateCheckStateMethod · 0.95

Tested by

no test coverage detected