Back to index

lightning-sunbird  0.9+nobinonly
TabTests.cpp
Go to the documentation of this file.
00001 // TabTests.cpp : implementation file
00002 //
00003 
00004 #include "stdafx.h"
00005 #include "cbrowse.h"
00006 #include "TabTests.h"
00007 #include "CBrowseDlg.h"
00008 
00009 #ifdef _DEBUG
00010 #define new DEBUG_NEW
00011 #undef THIS_FILE
00012 static char THIS_FILE[] = __FILE__;
00013 #endif
00014 
00016 // CTabTests property page
00017 
00018 IMPLEMENT_DYNCREATE(CTabTests, CPropertyPage)
00019 
00020 CTabTests::CTabTests() : CPropertyPage(CTabTests::IDD, CTabTests::IDD)
00021 {
00022        //{{AFX_DATA_INIT(CTabTests)
00023        m_szTestDescription = _T("");
00024        //}}AFX_DATA_INIT
00025 }
00026 
00027 
00028 CTabTests::~CTabTests()
00029 {
00030 }
00031 
00032 
00033 void CTabTests::DoDataExchange(CDataExchange* pDX)
00034 {
00035        CPropertyPage::DoDataExchange(pDX);
00036        //{{AFX_DATA_MAP(CTabTests)
00037        DDX_Control(pDX, IDC_RUNTEST, m_btnRunTest);
00038        DDX_Control(pDX, IDC_TESTLIST, m_tcTests);
00039        DDX_Text(pDX, IDC_TESTDESCRIPTION, m_szTestDescription);
00040        //}}AFX_DATA_MAP
00041 }
00042 
00043 
00044 BEGIN_MESSAGE_MAP(CTabTests, CPropertyPage)
00045        //{{AFX_MSG_MAP(CTabTests)
00046        ON_BN_CLICKED(IDC_RUNTEST, OnRunTest)
00047        ON_NOTIFY(TVN_SELCHANGED, IDC_TESTLIST, OnSelchangedTestlist)
00048        ON_NOTIFY(NM_DBLCLK, IDC_TESTLIST, OnDblclkTestlist)
00049        //}}AFX_MSG_MAP
00050 END_MESSAGE_MAP()
00051 
00053 // CTabTests message handlers
00054 
00055 void CTabTests::OnRunTest() 
00056 {
00057        m_pBrowseDlg->OnRunTest();  
00058 }
00059 
00060 
00061 void CTabTests::OnSelchangedTestlist(NMHDR* pNMHDR, LRESULT* pResult) 
00062 {
00063        NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
00064 
00065        BOOL bItemSelected = FALSE;
00066        m_szTestDescription.Empty();
00067 
00068        HTREEITEM hItem = m_tcTests.GetNextItem(NULL, TVGN_FIRSTVISIBLE);
00069        while (hItem)
00070        {
00071               UINT nState;
00072 
00073               nState = m_tcTests.GetItemState(hItem, TVIS_SELECTED);
00074               if (nState & TVIS_SELECTED)
00075               {
00076                      bItemSelected = TRUE;
00077                      if (m_tcTests.ItemHasChildren(hItem))
00078                      {
00079                             TestSet *pTestSet = (TestSet *) m_tcTests.GetItemData(hItem);
00080                             m_szTestDescription = pTestSet->szDesc;
00081                      }
00082                      else
00083                      {
00084                             Test *pTest = (Test *) m_tcTests.GetItemData(hItem);
00085                             m_szTestDescription = pTest->szDesc;
00086                      }
00087               }
00088 
00089               hItem = m_tcTests.GetNextItem(hItem, TVGN_NEXTVISIBLE);
00090        }
00091 
00092        UpdateData(FALSE);
00093        m_btnRunTest.EnableWindow(bItemSelected);
00094 
00095        *pResult = 0;
00096 }
00097 
00098 
00099 void CTabTests::OnDblclkTestlist(NMHDR* pNMHDR, LRESULT* pResult) 
00100 {
00101        OnRunTest();
00102        *pResult = 0;
00103 }
00104 
00105 
00106 BOOL CTabTests::OnInitDialog() 
00107 {
00108        CPropertyPage::OnInitDialog();
00109        
00110        m_pBrowseDlg->PopulateTests();
00111        
00112        return TRUE;  // return TRUE unless you set the focus to a control
00113                      // EXCEPTION: OCX Property Pages should return FALSE
00114 }