240 lines
6.4 KiB
C++
240 lines
6.4 KiB
C++
|
//Copyright (c) 1998 - 1999 Microsoft Corporation
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* anasidlg.cpp
|
||
|
*
|
||
|
* implementation of CAdvancedNASIDlg dialog class
|
||
|
*
|
||
|
* copyright notice: Copyright 1995, Citrix Systems Inc.
|
||
|
*
|
||
|
* $Author: butchd $ Butch Davis
|
||
|
*
|
||
|
* $Log: N:\NT\PRIVATE\UTILS\CITRIX\WINUTILS\WINCFG\VCS\ANASIDLG.CPP $
|
||
|
*
|
||
|
* Rev 1.2 29 Nov 1995 13:59:40 butchd
|
||
|
* update
|
||
|
*
|
||
|
* Rev 1.1 16 Nov 1995 17:11:30 butchd
|
||
|
* update
|
||
|
*
|
||
|
* Rev 1.0 09 Jul 1995 15:11:08 butchd
|
||
|
* Initial revision.
|
||
|
*
|
||
|
*******************************************************************************/
|
||
|
|
||
|
/*
|
||
|
* include files
|
||
|
*/
|
||
|
#include "stdafx.h"
|
||
|
#include "wincfg.h"
|
||
|
#include "anasidlg.h"
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#undef THIS_FILE
|
||
|
static char BASED_CODE THIS_FILE[] = __FILE__;
|
||
|
#endif
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// CAdvancedNASIDlg class construction / destruction, implementation
|
||
|
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* CAdvancedNASIDlg - CAdvancedNASIDlg constructor
|
||
|
*
|
||
|
* ENTRY:
|
||
|
* EXIT:
|
||
|
* (Refer to MFC CDialog::CDialog documentation)
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
CAdvancedNASIDlg::CAdvancedNASIDlg()
|
||
|
: CBaseDialog(CAdvancedNASIDlg::IDD)
|
||
|
{
|
||
|
//{{AFX_DATA_INIT(CAdvancedNASIDlg)
|
||
|
// NOTE: the ClassWizard will add member initialization here
|
||
|
//}}AFX_DATA_INIT
|
||
|
|
||
|
} // end CAdvancedNASIDlg::CAdvancedNASIDlg
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// CAdvancedNASIDlg operations
|
||
|
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* SetFields - CAdvancedNASIDlg member function: private operation
|
||
|
*
|
||
|
* Set the dialog fields.
|
||
|
*
|
||
|
* ENTRY:
|
||
|
* EXIT:
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
void
|
||
|
CAdvancedNASIDlg::SetFields()
|
||
|
{
|
||
|
/*
|
||
|
* Set the session type radio button.
|
||
|
*/
|
||
|
CheckRadioButton( IDC_NASI_ADVANCED_PRIVATESESSION,
|
||
|
IDC_NASI_ADVANCED_GLOBALSESSION,
|
||
|
IDC_NASI_ADVANCED_PRIVATESESSION +
|
||
|
(m_NASIConfig.GlobalSession ? 1 : 0) );
|
||
|
|
||
|
/*
|
||
|
* Set the File Server and Session Name fields.
|
||
|
*/
|
||
|
SetDlgItemText( IDC_NASI_ADVANCED_FILESERVER,
|
||
|
m_NASIConfig.FileServer );
|
||
|
SetDlgItemText( IDC_NASI_ADVANCED_SESSIONNAME,
|
||
|
m_NASIConfig.SessionName );
|
||
|
|
||
|
|
||
|
} // end CAdvancedNASIDlg::SetFields
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* GetFields - CAdvancedNASIDlg member function: private operation
|
||
|
*
|
||
|
* Fetch and validate the dialog fields.
|
||
|
*
|
||
|
* ENTRY:
|
||
|
* EXIT:
|
||
|
* (BOOL)
|
||
|
* Returns TRUE if all fields were valid; FALSE otherwise. If FALSE,
|
||
|
* will have output an error message and set the focus back to the
|
||
|
* field in error for the user to correct.
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
BOOL
|
||
|
CAdvancedNASIDlg::GetFields()
|
||
|
{
|
||
|
m_NASIConfig.GlobalSession =
|
||
|
(BOOLEAN)( IDC_NASI_ADVANCED_PRIVATESESSION -
|
||
|
GetCheckedRadioButton( IDC_NASI_ADVANCED_PRIVATESESSION,
|
||
|
IDC_NASI_ADVANCED_GLOBALSESSION ) );
|
||
|
|
||
|
GetDlgItemText( IDC_NASI_ADVANCED_FILESERVER,
|
||
|
m_NASIConfig.FileServer, lengthof(m_NASIConfig.FileServer) );
|
||
|
|
||
|
GetDlgItemText( IDC_NASI_ADVANCED_SESSIONNAME,
|
||
|
m_NASIConfig.SessionName, lengthof(m_NASIConfig.SessionName) );
|
||
|
|
||
|
/*
|
||
|
* If no Session Name has been entered, output error message and
|
||
|
* reset focus to field for correction.
|
||
|
*/
|
||
|
if ( !*m_NASIConfig.SessionName ) {
|
||
|
|
||
|
ERROR_MESSAGE((IDP_INVALID_NASI_SESSIONNAME_EMPTY))
|
||
|
|
||
|
GotoDlgCtrl(GetDlgItem(IDC_NASI_ADVANCED_SESSIONNAME));
|
||
|
return(FALSE);
|
||
|
}
|
||
|
|
||
|
return(TRUE);
|
||
|
|
||
|
} // end CAdvancedNASIDlg::GetFields
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// CAdvancedNASIDlg message map
|
||
|
|
||
|
BEGIN_MESSAGE_MAP(CAdvancedNASIDlg, CBaseDialog)
|
||
|
//{{AFX_MSG_MAP(CAdvancedNASIDlg)
|
||
|
//}}AFX_MSG_MAP
|
||
|
END_MESSAGE_MAP()
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// CAdvancedNASIDlg commands
|
||
|
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* OnInitDialog - CAdvancedNASIDlg member function: command (override)
|
||
|
*
|
||
|
* Performs the dialog intialization.
|
||
|
*
|
||
|
* ENTRY:
|
||
|
* EXIT:
|
||
|
* (Refer to CDialog::OnInitDialog documentation)
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
BOOL
|
||
|
CAdvancedNASIDlg::OnInitDialog()
|
||
|
{
|
||
|
int i;
|
||
|
|
||
|
/*
|
||
|
* Call the parent classes' OnInitDialog to perform default dialog
|
||
|
* initialization.
|
||
|
*/
|
||
|
CBaseDialog::OnInitDialog();
|
||
|
|
||
|
/*
|
||
|
* Initalize all dialog fields.
|
||
|
*/
|
||
|
SetFields();
|
||
|
|
||
|
if ( m_bReadOnly ) {
|
||
|
|
||
|
/*
|
||
|
* Document is 'read-only': disable all dialog controls and labels
|
||
|
* except for CANCEL & HELP buttons.
|
||
|
*/
|
||
|
for ( i=IDL_NASI_ADVANCED_SESSIONTYPE;
|
||
|
i <=IDC_NASI_ADVANCED_SESSIONNAME; i++ )
|
||
|
GetDlgItem(i)->EnableWindow(FALSE);
|
||
|
GetDlgItem(IDOK)->EnableWindow(FALSE);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Limit edit text.
|
||
|
*/
|
||
|
((CEdit *)GetDlgItem(IDC_NASI_ADVANCED_FILESERVER))->
|
||
|
LimitText(NASIFILESERVER_LENGTH);
|
||
|
((CEdit *)GetDlgItem(IDC_NASI_ADVANCED_SESSIONNAME))->
|
||
|
LimitText(NASISESSIONNAME_LENGTH);
|
||
|
|
||
|
return(TRUE);
|
||
|
|
||
|
} // end CAdvancedNASIDlg::OnInitDialog
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
*
|
||
|
* OnOK - CAdvancedNASIDlg member function: command (override)
|
||
|
*
|
||
|
* Read all control contents back into the Async config structure
|
||
|
* before closing the dialog.
|
||
|
*
|
||
|
* ENTRY:
|
||
|
* EXIT:
|
||
|
* (Refer to CDialog::OnOk documentation)
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
void
|
||
|
CAdvancedNASIDlg::OnOK()
|
||
|
{
|
||
|
/*
|
||
|
* Fetch the field contents. Return (don't close dialog) if a problem
|
||
|
* was found.
|
||
|
*/
|
||
|
if ( !GetFields() )
|
||
|
return;
|
||
|
|
||
|
/*
|
||
|
* Call the parent classes' OnOk to complete dialog closing
|
||
|
* and destruction.
|
||
|
*/
|
||
|
CBaseDialog::OnOK();
|
||
|
|
||
|
} // end CAdvancedNASIDlg::OnOK
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
|