2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 * INCLUDES _________________________________________________________________
18 #include <afsconfig.h>
19 #include <afs/param.h>
29 * DEFINITIONS _________________________________________________________________
32 static HWND hDlg = 0; // HWND for this page's dialog
36 * PROTOTYPES _________________________________________________________________
39 static void OnInitDialog(HWND hwndDlg);
40 static void CheckEnableButtons();
41 static BOOL SavePageInfo();
42 static void ShowPageInfo();
43 static void IsFirstServer(BOOL bIs = TRUE);
47 * EXPORTED FUNCTIONS _________________________________________________________________
52 * Dialog Procs _________________________________________________________________
55 BOOL CALLBACK InfoPageDlgProc(HWND hRHS, UINT msg, WPARAM wp, LPARAM lp)
57 if (WizStep_Common_DlgProc (hRHS, msg, wp, lp))
69 g_pWiz->SetState (sidSTEP_THREE);
74 g_pWiz->SetState (sidSTEP_ONE);
77 case IDC_FIRST_SERVER:
81 case IDC_JOIN_EXISTING_CELL:
88 if (HIWORD(wp) == EN_CHANGE)
100 * STATIC FUNCTIONS ________________________________________________________________________
105 * Event Handler Functions _________________________________________________________________
108 static void OnInitDialog(HWND hwndDlg)
112 g_pWiz->EnableButtons(BACK_BUTTON);
116 if (g_CfgData.bFirstServer)
119 g_pWiz->SetDefaultControl(IDC_CELL_NAME);
124 * Utility Functions _________________________________________________________________
127 static void CheckEnableButtons()
129 BOOL bDisable = FALSE;
131 TCHAR szCellName[cchRESOURCE];
132 TCHAR szPW[cchRESOURCE];
133 TCHAR szVerifyPW[cchRESOURCE];
135 bDisable = lstrlen(GetWndText(hDlg, IDC_CELL_NAME, szCellName)) == 0;
137 GetWndText(hDlg, IDC_SERVER_PW, szPW);
138 GetWndText(hDlg, IDC_VERIFY_PW, szVerifyPW);
140 if (IsButtonChecked(hDlg, IDC_FIRST_SERVER))
141 bDisable |= !lstrlen(szPW) || !lstrlen(szVerifyPW) || lstrcmp(szPW, szVerifyPW);
144 g_pWiz->EnableButtons(BACK_BUTTON);
146 g_pWiz->EnableButtons(BACK_BUTTON | NEXT_BUTTON);
149 static BOOL SavePageInfo()
151 TCHAR szText[cchRESOURCE];
153 GetWndText(hDlg, IDC_CELL_NAME, szText);
154 if (lstrlen(szText) > MAX_CELL_NAME_LEN) {
155 MsgBox(hDlg, IDS_CELL_NAME_LEN_ERROR, GetAppTitleID(), MB_ICONSTOP | MB_OK);
159 lstrcpy(g_CfgData.szCellName, szText);
160 lstrncpy(g_CfgData.szServerPW, GetWndText(hDlg, IDC_SERVER_PW, szText), MAX_SERVER_PW_LEN);
161 g_CfgData.bFirstServer = IsButtonChecked(hDlg, IDC_FIRST_SERVER);
166 static void ShowPageInfo()
168 SetWndText(hDlg, IDC_CELL_NAME, g_CfgData.szCellName);
169 SetWndText(hDlg, IDC_SERVER_PW, g_CfgData.szServerPW);
170 SetWndText(hDlg, IDC_VERIFY_PW, g_CfgData.szServerPW);
172 if (g_CfgData.bFirstServer)
173 SetCheck(hDlg, IDC_FIRST_SERVER);
175 SetCheck(hDlg, IDC_JOIN_EXISTING_CELL);
178 static void IsFirstServer(BOOL bIs)
187 SetEnable(hDlg, IDC_PRINCIPAL_LABEL, es);
188 SetEnable(hDlg, IDC_PRINCIPAL, es);
190 SetEnable(hDlg, IDC_SERVER_PW_FRAME, es);
191 SetEnable(hDlg, IDC_SERVER_PW_LABEL, es);
192 SetEnable(hDlg, IDC_SERVER_PW_PROMPT, es);
193 SetEnable(hDlg, IDC_SERVER_PW, es);
194 SetEnable(hDlg, IDC_VERIFY_PW_LABEL, es);
195 SetEnable(hDlg, IDC_VERIFY_PW, es);
197 CheckEnableButtons();