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 _________________________________________________________________
15 #include <afs/param.h>
24 * DEFINITIONS _________________________________________________________________
31 * PROTOTYPES _________________________________________________________________
34 static void OnInitDialog(HWND hwndDlg);
35 static void ConfigMsg(UINT nMsgID);
36 static void EnableSCM(ENABLE_STATE enable);
37 static void SavePageInfo();
38 static void ShowPageInfo();
42 * EXPORTED FUNCTIONS _________________________________________________________________
47 * Dialog Proc _________________________________________________________________
50 BOOL CALLBACK DBServerPageDlgProc(HWND hwndDlg, UINT msg, WPARAM wp, LPARAM lp)
52 if (WizStep_Common_DlgProc (hwndDlg, msg, wp, lp))
57 OnInitDialog(hwndDlg);
64 g_pWiz->SetState(sidSTEP_SEVEN);
69 g_pWiz->SetState(sidSTEP_FIVE);
72 case IDC_DONT_CONFIG_DB_SERVER:
73 g_CfgData.configDB = CS_DONT_CONFIGURE;
74 EnableSCM(ES_DISABLE);
77 case IDC_CONFIG_DB_SERVER:
78 g_CfgData.configDB = CS_CONFIGURE;
91 * STATIC FUNCTIONS _________________________________________________________________
96 * Event Handler Functions _________________________________________________________________
99 static void OnInitDialog(HWND hwndDlg)
103 g_pWiz->EnableButtons(BACK_BUTTON | NEXT_BUTTON);
104 g_pWiz->SetButtonText(IDNEXT, IDS_NEXT);
105 g_pWiz->SetDefaultControl(IDNEXT);
107 if (g_CfgData.bFirstServer) {
108 ConfigMsg(IDS_MUST_CONFIG_DB);
109 g_CfgData.configDB = CS_CONFIGURE;
115 switch (g_CfgData.configDB) {
116 case CS_ALREADY_CONFIGURED:
117 ConfigMsg(IDS_ALREADY_A_DB_SERVER);
120 case CS_DONT_CONFIGURE:
121 SetCheck(hDlg, IDC_DONT_CONFIG_DB_SERVER);
122 EnableSCM(ES_DISABLE);
127 SetCheck(hDlg, IDC_CONFIG_DB_SERVER);
128 EnableSCM(ES_ENABLE);
135 * Utility Functions _________________________________________________________________
139 static void ConfigMsg(UINT nMsgID)
141 TCHAR szMsg[cchRESOURCE];
143 GetString(szMsg, nMsgID);
145 // Hide the controls that are at the same position as the message
146 ShowWnd(hDlg, IDC_DB_SERVER_QUESTION, FALSE);
147 ShowWnd(hDlg, IDC_CONFIG_DB_SERVER, FALSE);
148 ShowWnd(hDlg, IDC_SCM_PROMPT, FALSE);
149 ShowWnd(hDlg, IDC_SYS_CONTROL_MACHINE_LABEL, FALSE);
150 ShowWnd(hDlg, IDC_SYS_CONTROL_MACHINE, FALSE);
152 ShowWnd(hDlg, IDC_DONT_CONFIG_DB_SERVER, FALSE);
154 SetWndText(hDlg, IDC_MSG, szMsg);
155 ShowWnd(hDlg, IDC_MSG);
158 static void EnableSCM(ENABLE_STATE enable)
160 SetEnable(hDlg, IDC_SCM_PROMPT, enable);
161 SetEnable(hDlg, IDC_SYS_CONTROL_MACHINE_LABEL, enable);
162 SetEnable(hDlg, IDC_SYS_CONTROL_MACHINE, enable);
165 static void ShowPageInfo()
167 SetWndText(hDlg, IDC_SYS_CONTROL_MACHINE, g_CfgData.szSysControlMachine);
170 static void SavePageInfo()
172 GetWndText(hDlg, IDC_SYS_CONTROL_MACHINE, g_CfgData.szSysControlMachine);