///////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1996-1998 Microsoft Corporation // // Module Name: // FSAdv.cpp // // Abstract: // Implementation of the CFileShareAdvancedDlg classes. // // Author: // David Potter (davidp) June 28, 1996 // // Revision History: // // Notes: // ///////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "CluAdmX.h" #include "FSAdv.h" #include "HelpData.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CFileShareAdvancedDlg dialog ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Message Maps BEGIN_MESSAGE_MAP(CFileShareAdvancedDlg, CBaseDialog) //{{AFX_MSG_MAP(CFileShareAdvancedDlg) ON_BN_CLICKED(IDC_FILESHR_ADV_NORMAL_SHARE, OnChangedChoice) ON_BN_CLICKED(IDC_FILESHR_ADV_DFS_ROOT, OnChangedChoice) ON_BN_CLICKED(IDC_FILESHR_ADV_SHARE_SUBDIRS, OnChangedChoice) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// //++ // // CFileShareAdvancedDlg::CFileShareAdvancedDlg // // Routine Description: // Constructor. // // Arguments: // bShareSubDirs [IN] Default value for the Share subdirectories radio button. // bHideSubDirShare [IN] Default value for the Hide subdirectory shares checkbox. // bIsDfsRoot [IN] Default value for the DFS Root radio button // // Return Value: // None. // //-- ///////////////////////////////////////////////////////////////////////////// CFileShareAdvancedDlg::CFileShareAdvancedDlg( BOOL bShareSubDirs, BOOL bHideSubDirShares, BOOL bIsDfsRoot, CWnd * pParent /*=NULL*/ ) : CBaseDialog(IDD, g_aHelpIDs_IDD_FILESHR_ADVANCED, pParent) { //{{AFX_DATA_INIT(CFileShareAdvancedDlg) m_bShareSubDirs = bShareSubDirs; m_bHideSubDirShares = bHideSubDirShares; m_bIsDfsRoot = bIsDfsRoot; //}}AFX_DATA_INIT // Can't both share subdirs and be a DFS root. ASSERT(!(bShareSubDirs && bIsDfsRoot)); if (m_bIsDfsRoot) { m_nChoice = 1; m_bHideSubDirShares = FALSE; } // if: DFS root else if (m_bShareSubDirs) m_nChoice = 2; else { m_nChoice = 0; m_bHideSubDirShares = FALSE; } // else: normal share } //*** CFileShareAdvancedDlg::CFileShareAdvancedDlg() ///////////////////////////////////////////////////////////////////////////// //++ // // CFileShareAdvancedDlg::DoDataExchange // // Routine Description: // Do data exchange between the dialog and the class. // // Arguments: // pDX [IN OUT] Data exchange object // // Return Value: // None. // //-- ///////////////////////////////////////////////////////////////////////////// void CFileShareAdvancedDlg::DoDataExchange(CDataExchange * pDX) { CBaseDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CFileShareAdvancedDlg) DDX_Control(pDX, IDC_FILESHR_ADV_HIDE_SUBDIR_SHARES, m_chkHideSubDirShares); DDX_Control(pDX, IDC_FILESHR_ADV_SHARE_SUBDIRS, m_rbShareSubDirs); DDX_Radio(pDX, IDC_FILESHR_ADV_NORMAL_SHARE, m_nChoice); DDX_Check(pDX, IDC_FILESHR_ADV_HIDE_SUBDIR_SHARES, m_bHideSubDirShares); //}}AFX_DATA_MAP if (pDX->m_bSaveAndValidate) { if (m_nChoice == 1) { m_bIsDfsRoot = TRUE; m_bShareSubDirs = FALSE; m_bHideSubDirShares = FALSE; } // if: DFS root radio button selected else if (m_nChoice == 2) { m_bIsDfsRoot = FALSE; m_bShareSubDirs = TRUE; } // else if: share subdirs radio button selected else { m_bIsDfsRoot = FALSE; m_bShareSubDirs = FALSE; m_bHideSubDirShares = FALSE; } // else: normal radio button selected } // if: saving data from dialog else { if (m_nChoice == 2) m_chkHideSubDirShares.EnableWindow (TRUE); else m_chkHideSubDirShares.EnableWindow (FALSE); } // else: setting data to dialog } //*** CFileShareAdvancedDlg::DoDataExchange() ///////////////////////////////////////////////////////////////////////////// //++ // // CFileShareAdvancedDlg::OnChangedChoice // // Routine Description: // Handler for the BN_CLICKED message on the DFS root or Share // subdirectories radio button. // // Arguments: // None. // // Return Value: // None. // //-- ///////////////////////////////////////////////////////////////////////////// void CFileShareAdvancedDlg::OnChangedChoice(void) { if (m_rbShareSubDirs.GetCheck() == BST_CHECKED) m_chkHideSubDirShares.EnableWindow (TRUE); else m_chkHideSubDirShares.EnableWindow (FALSE); } //*** CFileShareAdvancedDlg::OnChangedChoice()