--- ResultDialog.cpp 2006/08/30 08:19:13 5 +++ ResultDialog.cpp 2006/09/03 15:31:13 32 @@ -1,11 +1,16 @@ -// ResultDialog.cpp : implementation file -// +/* + * Developed by Torben H. Nielsen + */ #include "stdafx.h" #include "h6-udlånssystem.h" #include "ResultDialog.h" #include ".\resultdialog.h" +#include "CommonStorage.h" +#include "Containers.h" +#include "ResultDetailsDialog.h" + // ResultDialog dialog @@ -26,6 +31,8 @@ BEGIN_MESSAGE_MAP(ResultDialog, CDialog) + ON_WM_SETFOCUS() + ON_BN_CLICKED(IDC_DETAILS, OnBnClickedDetails) END_MESSAGE_MAP() @@ -44,3 +51,66 @@ //CDialog::OnCancel(); } + +void ResultDialog::OnSetFocus(CWnd* pOldWnd) +{ + CDialog::OnSetFocus(pOldWnd); + LoadResults(); + +} + +void ResultDialog::LoadResults(void) +{ + CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST); + vector 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,100); + list->SetColumnWidth(2,100); + } + +} + +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"); + } else { + ResultDetailsDialog resdialog; + resdialog.m_resultIndex = sel; + + resdialog.DoModal(); + } +}