/[H6]/ResultDialog.cpp
ViewVC logotype

Annotation of /ResultDialog.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 58 - (hide annotations) (download)
Tue Sep 26 14:16:56 2006 UTC (17 years, 6 months ago) by torben
File size: 3050 byte(s)
Make sure the listbox isn't empty
1 torben 31 /*
2     * Developed by Torben H. Nielsen
3     */
4 torben 5
5     #include "stdafx.h"
6     #include "h6-udlånssystem.h"
7     #include "ResultDialog.h"
8     #include ".\resultdialog.h"
9    
10 torben 14 #include "CommonStorage.h"
11     #include "Containers.h"
12     #include "ResultDetailsDialog.h"
13 torben 5
14 torben 14
15 torben 5 // ResultDialog dialog
16    
17     IMPLEMENT_DYNAMIC(ResultDialog, CDialog)
18     ResultDialog::ResultDialog(CWnd* pParent /*=NULL*/)
19     : CDialog(ResultDialog::IDD, pParent)
20     {
21     }
22    
23     ResultDialog::~ResultDialog()
24     {
25     }
26    
27     void ResultDialog::DoDataExchange(CDataExchange* pDX)
28     {
29     CDialog::DoDataExchange(pDX);
30     }
31    
32    
33     BEGIN_MESSAGE_MAP(ResultDialog, CDialog)
34 torben 14 ON_WM_SETFOCUS()
35     ON_BN_CLICKED(IDC_DETAILS, OnBnClickedDetails)
36 torben 51 ON_NOTIFY(NM_DBLCLK, IDC_LIST, OnNMDblclkList)
37 torben 5 END_MESSAGE_MAP()
38    
39    
40     // ResultDialog message handlers
41    
42     void ResultDialog::OnOK()
43     {
44     // TODO: Add your specialized code here and/or call the base class
45    
46     //CDialog::OnOK();
47     }
48    
49     void ResultDialog::OnCancel()
50     {
51     // TODO: Add your specialized code here and/or call the base class
52    
53     //CDialog::OnCancel();
54     }
55 torben 14
56     void ResultDialog::OnSetFocus(CWnd* pOldWnd)
57     {
58     CDialog::OnSetFocus(pOldWnd);
59     LoadResults();
60    
61     }
62    
63     void ResultDialog::LoadResults(void)
64     {
65     CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST);
66 torben 32 vector<Equipment> result = CommonStorage::Instance()->getSearchResult();
67 torben 14
68     CString count;
69     count.Format("Found %d items", result.size());
70     GetDlgItem(IDC_COUNTER)->SetWindowText(count);
71     list->DeleteAllItems();
72    
73     for (int i=0; i<result.size(); i++) {
74     int nItem = list->InsertItem(i, result[i].barcode);
75     list->SetItemText(nItem,1,result[i].name);
76     list->SetItemText(nItem,2,result[i].status);
77     }
78    
79     if (result.size() >0) {
80     list->SetColumnWidth(0,LVSCW_AUTOSIZE);
81 torben 20 list->SetColumnWidth(1,100);
82     list->SetColumnWidth(2,100);
83 torben 14 }
84    
85     }
86    
87     BOOL ResultDialog::OnInitDialog()
88     {
89     CDialog::OnInitDialog();
90    
91     CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST);
92     list->SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
93     list->InsertColumn(0,"Barcode");
94     list->InsertColumn(1,"Equipment");
95     list->InsertColumn(2,"Status");
96    
97     list->SetColumnWidth(0,LVSCW_AUTOSIZE_USEHEADER);
98     list->SetColumnWidth(1,LVSCW_AUTOSIZE_USEHEADER);
99     list->SetColumnWidth(2,LVSCW_AUTOSIZE_USEHEADER);
100    
101     return TRUE;
102     }
103    
104     void ResultDialog::OnBnClickedDetails()
105     {
106     CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST);
107 torben 58 if (list->GetItemCount() > 0) {
108 torben 30
109 torben 58 int sel = list->GetSelectionMark();
110     CString barcode = list->GetItemText(sel,0);
111 torben 30
112 torben 58 if (sel == -1) {
113     MessageBox("You must select an item");
114     } else {
115     ResultDetailsDialog resdialog;
116     resdialog.m_barcode = barcode;
117    
118     resdialog.DoModal();
119     }
120 torben 14 }
121     }
122 torben 51
123     void ResultDialog::OnNMDblclkList(NMHDR *pNMHDR, LRESULT *pResult)
124     {
125     CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST);
126 torben 58 if (list->GetItemCount() > 0) {
127     int sel = list->GetSelectionMark();
128     CString barcode = list->GetItemText(sel,0);
129 torben 51
130 torben 58 ResultDetailsDialog resdialog;
131     resdialog.m_barcode = barcode;
132 torben 51
133 torben 58 resdialog.DoModal();
134     }
135 torben 51
136     *pResult = 0;
137     }

  ViewVC Help
Powered by ViewVC 1.1.20