void CSitesWnd::OnSitesTemprorary() { POSITION pos = GetFirstSelectedItemPosition (); while (pos) { int iItem = GetNextSelectedItem (pos); fsSiteInfo *pSite = (fsSiteInfo*) GetItemData (iItem); pSite->bTemp = !m_bSelectedIsTemp; UpdateSite (pSite); } }
void CSitesWnd::OnSitesProperties() { POSITION pos = GetFirstSelectedItemPosition (); if (pos == NULL) return; int iItem = GetNextSelectedItem (pos); fsSiteInfo *pSite = (fsSiteInfo*) GetItemData (iItem); CSitesSheet sheet (LS (L_SITEPROP), this); _DlgMgr.OnDoModal (&sheet); sheet.Init (pSite, _SitesMgr.FindSite (pSite->strName, pSite->dwValidFor)); UINT nRet = sheet.DoModal (); _DlgMgr.OnEndDialog (&sheet); SetFocus (); if (nRet == IDOK) UpdateSite (pSite); }
void CSitesWnd::onEvents (fsSitesMgrEvent ev, fsSiteInfo *site) { switch (ev) { case SM_SITEADDED: AddSiteToList (site); break; case SM_SITEDELETED: { LVFINDINFO fi; fi.flags = LVFI_PARAM; fi.lParam = (LPARAM)site; int iItem = FindItem (&fi); if (iItem != -1) DeleteItem (iItem); } break; case SM_SITEUPDATED: UpdateSite (site); break; } }
void CSitesWnd::AddSiteToList(fsSiteInfo *pSite) { int iItem = AddItem ("", GetSysColor (COLOR_WINDOW), GetSysColor (COLOR_WINDOWTEXT)); SetItemData (iItem, (DWORD)pSite); UpdateSite (pSite); }