windows-nt/Source/XPSP1/NT/inetsrv/iis/ui/itools/linkchk/maindlg.cpp
2020-09-26 16:20:57 +08:00

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