--- ResultDialog.cpp 2006/08/30 08:19:13 5 +++ ResultDialog.cpp 2006/08/31 15:58:20 14 @@ -6,6 +6,10 @@ #include "ResultDialog.h" #include ".\resultdialog.h" +#include "CommonStorage.h" +#include "Containers.h" +#include "ResultDetailsDialog.h" + // ResultDialog dialog @@ -26,6 +30,8 @@ BEGIN_MESSAGE_MAP(ResultDialog, CDialog) + ON_WM_SETFOCUS() + ON_BN_CLICKED(IDC_DETAILS, OnBnClickedDetails) END_MESSAGE_MAP() @@ -44,3 +50,66 @@ //CDialog::OnCancel(); } + +void ResultDialog::OnSetFocus(CWnd* pOldWnd) +{ + CDialog::OnSetFocus(pOldWnd); + LoadResults(); + +} + +void ResultDialog::LoadResults(void) +{ + CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST); + EquipmentVector result = CommonStorage::Instance()->getSearchResult(); + + CString count; + count.Format("Found %d items", result.size()); + GetDlgItem(IDC_COUNTER)->SetWindowText(count); + list->DeleteAllItems(); + + for (int i=0; iInsertItem(i, result[i].barcode); + list->SetItemText(nItem,1,result[i].name); + list->SetItemText(nItem,2,result[i].status); + } + + if (result.size() >0) { + list->SetColumnWidth(0,LVSCW_AUTOSIZE); + list->SetColumnWidth(1,80); + list->SetColumnWidth(2,80); + } + +} + +BOOL ResultDialog::OnInitDialog() +{ + CDialog::OnInitDialog(); + + CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST); + list->SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT ); + list->InsertColumn(0,"Barcode"); + list->InsertColumn(1,"Equipment"); + list->InsertColumn(2,"Status"); + + list->SetColumnWidth(0,LVSCW_AUTOSIZE_USEHEADER); + list->SetColumnWidth(1,LVSCW_AUTOSIZE_USEHEADER); + list->SetColumnWidth(2,LVSCW_AUTOSIZE_USEHEADER); + + return TRUE; +} + +void ResultDialog::OnBnClickedDetails() +{ + CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST); + int sel = list->GetSelectionMark(); + if (sel == -1) { + MessageBox("You must select an item"); + return; + } + + ResultDetailsDialog resdialog; + resdialog.m_resultIndex = sel; + + resdialog.DoModal(); +}