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

Function OnNavigate

Libraries/PropertyGrid/PropertyGrid.h:976–1030  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

974 }
975
976 LRESULT OnNavigate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
977 {
978 if( (m_di.dwExtStyle & PGS_EX_NOSHEETNAVIGATION) != 0 ) return 0;
979 if( !_IsValidSelection() ) return 0;
980 int iNextCol = m_iSelectedCol;
981 // Navigate in the grid control
982 switch( wParam ) {
983 case VK_TAB:
984 SendMessage(WM_USER_PROP_NAVIGATE, VK_RIGHT);
985 break;
986 case VK_LEFT:
987 if( _IsAppendActionItem(m_iSelectedRow ) ) break;
988 iNextCol = GetColumnLeftOf(m_iSelectedCol);
989 if( m_iSelectedRow >= 0 && iNextCol != m_iSelectedCol ) {
990 // Can we navigate?
991 // Repaint old item
992 _InvalidateItem(m_iSelectedRow, m_iSelectedCol);
993 // Navigate
994 m_iSelectedCol = iNextCol;
995 // Let owner know
996 IProperty* prop = GetProperty(m_iSelectedRow, m_iSelectedCol);
997 ATLASSERT(prop);
998 NMPROPERTYITEM nmh = { m_hWnd, GetDlgCtrlID(), PIN_SELCHANGED, prop };
999 ::SendMessage(GetParent(), WM_NOTIFY, nmh.hdr.idFrom, (LPARAM) &nmh);
1000 // Repaint new item
1001 _InvalidateItem(m_iSelectedRow, m_iSelectedCol);
1002 }
1003 break;
1004 case VK_RIGHT:
1005 if( _IsAppendActionItem(m_iSelectedRow ) ) break;
1006 iNextCol = GetColumnRightOf(m_iSelectedCol);
1007 if( m_iSelectedRow >= 0 && iNextCol != m_iSelectedCol ) {
1008 // Can we navigate?
1009 // Repaint old item
1010 _InvalidateItem(m_iSelectedRow, m_iSelectedCol);
1011 // Navigate
1012 m_iSelectedCol = iNextCol;
1013 // Let owner know
1014 IProperty* prop = GetProperty(m_iSelectedRow, m_iSelectedCol);
1015 ATLASSERT(prop);
1016 NMPROPERTYITEM nmh = { m_hWnd, GetDlgCtrlID(), PIN_SELCHANGED, prop };
1017 ::SendMessage(GetParent(), WM_NOTIFY, nmh.hdr.idFrom, (LPARAM) &nmh);
1018 // Repaint new item
1019 _InvalidateItem(m_iSelectedRow, m_iSelectedCol);
1020 }
1021 break;
1022 case VK_UP:
1023 if( m_iSelectedRow > 0 ) SelectItem(m_iSelectedRow - 1, m_iSelectedCol);
1024 break;
1025 case VK_DOWN:
1026 if( m_iSelectedRow < GetItemCount() - 1 ) SelectItem(m_iSelectedRow + 1, m_iSelectedCol);
1027 break;
1028 }
1029 return 0;
1030 }
1031
1032 LRESULT OnUpdateProperty(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
1033 {

Callers

nothing calls this directly

Calls 8

_IsValidSelectionFunction · 0.85
_IsAppendActionItemFunction · 0.85
GetColumnLeftOfFunction · 0.85
GetColumnRightOfFunction · 0.85
SelectItemFunction · 0.85
_InvalidateItemFunction · 0.70
GetPropertyFunction · 0.70
GetItemCountFunction · 0.70

Tested by

no test coverage detected