288 lines
4.4 KiB
C++
288 lines
4.4 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
|
||
|
Module Name :
|
||
|
|
||
|
maindlg.cpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
CMainDialog dialog class implementation. This is link checker
|
||
|
the main dialog.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Michael Cheuk (mcheuk)
|
||
|
|
||
|
Project:
|
||
|
|
||
|
Link Checker
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
#include "linkchk.h"
|
||
|
#include "maindlg.h"
|
||
|
|
||
|
#include "browser.h"
|
||
|
|
||
|
#include "progdlg.h"
|
||
|
#include "athendlg.h"
|
||
|
#include "propsdlg.h"
|
||
|
|
||
|
#include "lcmgr.h"
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#define new DEBUG_NEW
|
||
|
#undef THIS_FILE
|
||
|
static char THIS_FILE[] = __FILE__;
|
||
|
#endif
|
||
|
|
||
|
CMainDialog::CMainDialog(
|
||
|
CWnd* pParent /*=NULL*/
|
||
|
):
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Constructor.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
pParent - pointer to parent CWnd
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
--*/
|
||
|
CAppDialog(CMainDialog::IDD, pParent)
|
||
|
{
|
||
|
//{{AFX_DATA_INIT(CMainDialog)
|
||
|
m_fLogToFile = TRUE;
|
||
|
m_strLogFilename = _T("c:\\LinkError.log");
|
||
|
m_fCheckLocalLinks = TRUE;
|
||
|
m_fCheckRemoteLinks = TRUE;
|
||
|
m_fLogToEventMgr = FALSE;
|
||
|
//}}AFX_DATA_INIT
|
||
|
|
||
|
} // CMainDialog::CMainDialog
|
||
|
|
||
|
|
||
|
void
|
||
|
CMainDialog::DoDataExchange(
|
||
|
CDataExchange* pDX
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Called by MFC to change/retrieve dialog data
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
pDX -
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
CAppDialog::DoDataExchange(pDX);
|
||
|
//{{AFX_DATA_MAP(CMainDialog)
|
||
|
DDX_Check(pDX, IDC_LOG_TO_FILE, m_fLogToFile);
|
||
|
DDX_Text(pDX, IDC_LOG_FILENAME, m_strLogFilename);
|
||
|
DDX_Check(pDX, IDC_CHECK_LOCAL_LINK, m_fCheckLocalLinks);
|
||
|
DDX_Check(pDX, IDC_CHECK_REMOTE_LINK, m_fCheckRemoteLinks);
|
||
|
DDX_Check(pDX, IDC_LOG_TO_EVENT_MANAGER, m_fLogToEventMgr);
|
||
|
//}}AFX_DATA_MAP
|
||
|
|
||
|
} // CMainDialog::DoDataExchange
|
||
|
|
||
|
BEGIN_MESSAGE_MAP(CMainDialog, CAppDialog)
|
||
|
//{{AFX_MSG_MAP(CMainDialog)
|
||
|
ON_BN_CLICKED(IDC_MAIN_RUN, OnMainRun)
|
||
|
ON_BN_CLICKED(IDC_MAIN_CLOSE, CAppDialog::OnOK)
|
||
|
ON_WM_CREATE()
|
||
|
ON_BN_CLICKED(IDC_ATHENICATION, OnAthenication)
|
||
|
ON_BN_CLICKED(IDC_PROPERTIES, OnProperties)
|
||
|
//}}AFX_MSG_MAP
|
||
|
END_MESSAGE_MAP()
|
||
|
|
||
|
|
||
|
void
|
||
|
CMainDialog::OnMainRun(
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
OK button click handler. This functions brings up the progress
|
||
|
dialog.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
// Retrieve the data from dialog
|
||
|
UpdateData();
|
||
|
|
||
|
// Make sure we have at least one type
|
||
|
// of link checking checked
|
||
|
if(!m_fCheckLocalLinks && !m_fCheckRemoteLinks)
|
||
|
{
|
||
|
AfxMessageBox(IDS_LINKS_NOT_CHECKED);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Set the user options in global CUserOptions
|
||
|
GetLinkCheckerMgr().GetUserOptions().SetOptions(
|
||
|
m_fCheckLocalLinks,
|
||
|
m_fCheckRemoteLinks,
|
||
|
m_fLogToFile,
|
||
|
m_strLogFilename,
|
||
|
m_fLogToEventMgr);
|
||
|
|
||
|
// Show the progress dialog
|
||
|
CProgressDialog dlg;
|
||
|
dlg.DoModal();
|
||
|
|
||
|
CAppDialog::OnOK();
|
||
|
|
||
|
} // CMainDialog::OnMainRun
|
||
|
|
||
|
int
|
||
|
CMainDialog::OnCreate(
|
||
|
LPCREATESTRUCT lpCreateStruct
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
WM_CREATE message handler. Load the wininet.dll at this
|
||
|
point.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
int - -1 if wininet.dll fail. 0 otherwise.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
if (CAppDialog::OnCreate(lpCreateStruct) == -1)
|
||
|
return -1;
|
||
|
|
||
|
// Load the wininet.dll
|
||
|
if (!GetLinkCheckerMgr().LoadWininet())
|
||
|
{
|
||
|
AfxMessageBox(IDS_WININET_LOAD_FAIL);
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
|
||
|
} // CMainDialog::OnCreate
|
||
|
|
||
|
void
|
||
|
CMainDialog::OnAthenication(
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Athenication button click handler. This functions brings up the
|
||
|
athenication dialog.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
CAthenicationDialog dlg;
|
||
|
dlg.DoModal();
|
||
|
|
||
|
} // CMainDialog::OnAthenication
|
||
|
|
||
|
|
||
|
void
|
||
|
CMainDialog::OnProperties(
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Browser Properties button click handler. This functions brings up the browser
|
||
|
properties dialog.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
CPropertiesDialog dlg;
|
||
|
dlg.DoModal();
|
||
|
|
||
|
} // CMainDialog::OnProperties
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
CMainDialog::OnInitDialog(
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
WM_INITDIALOG message handler
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
N/A
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
BOOL - TRUE if sucess. FALSE otherwise.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
CAppDialog::OnInitDialog();
|
||
|
|
||
|
// Add the available browser to CUserOptions
|
||
|
for(int i=0; i<iNumBrowsersAvailable_c; i++)
|
||
|
{
|
||
|
GetLinkCheckerMgr().GetUserOptions().AddAvailableBrowser(BrowsersAvailable_c[i]);
|
||
|
}
|
||
|
|
||
|
// Add the available language to CUserOptions
|
||
|
for(i=0; i<iNumLanguagesAvailable_c; i++)
|
||
|
{
|
||
|
GetLinkCheckerMgr().GetUserOptions().AddAvailableLanguage(LanguagesAvailable_c[i]);
|
||
|
}
|
||
|
|
||
|
return TRUE; // return TRUE unless you set the focus to a control
|
||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
||
|
|
||
|
} //CMainDialog::OnInitDialog
|