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 _________________________________________________________________
36 * PROTOTYPES _________________________________________________________________
39 static void OnInitDialog(HWND hwndDlg);
40 static void ConfigMsg(UINT nMsgID);
41 static void EnableSCM(ENABLE_STATE enable);
42 static void SavePageInfo();
43 static void ShowPageInfo();
47 * EXPORTED FUNCTIONS _________________________________________________________________
52 * Dialog Proc _________________________________________________________________
55 BOOL CALLBACK DBServerPageDlgProc(HWND hwndDlg, UINT msg, WPARAM wp, LPARAM lp)
57 if (WizStep_Common_DlgProc (hwndDlg, msg, wp, lp))
62 OnInitDialog(hwndDlg);
69 g_pWiz->SetState(sidSTEP_SEVEN);
74 g_pWiz->SetState(sidSTEP_FIVE);
77 case IDC_DONT_CONFIG_DB_SERVER:
78 g_CfgData.configDB = CS_DONT_CONFIGURE;
79 EnableSCM(ES_DISABLE);
82 case IDC_CONFIG_DB_SERVER:
83 g_CfgData.configDB = CS_CONFIGURE;
96 * STATIC FUNCTIONS _________________________________________________________________
101 * Event Handler Functions _________________________________________________________________
104 static void OnInitDialog(HWND hwndDlg)
108 g_pWiz->EnableButtons(BACK_BUTTON | NEXT_BUTTON);
109 g_pWiz->SetButtonText(IDNEXT, IDS_NEXT);
110 g_pWiz->SetDefaultControl(IDNEXT);
112 if (g_CfgData.bFirstServer) {
113 ConfigMsg(IDS_MUST_CONFIG_DB);
114 g_CfgData.configDB = CS_CONFIGURE;
120 switch (g_CfgData.configDB) {
121 case CS_ALREADY_CONFIGURED:
122 ConfigMsg(IDS_ALREADY_A_DB_SERVER);
125 case CS_DONT_CONFIGURE:
126 SetCheck(hDlg, IDC_DONT_CONFIG_DB_SERVER);
127 EnableSCM(ES_DISABLE);
132 SetCheck(hDlg, IDC_CONFIG_DB_SERVER);
133 EnableSCM(ES_ENABLE);
140 * Utility Functions _________________________________________________________________
144 static void ConfigMsg(UINT nMsgID)
146 TCHAR szMsg[cchRESOURCE];
148 GetString(szMsg, nMsgID);
150 // Hide the controls that are at the same position as the message
151 ShowWnd(hDlg, IDC_DB_SERVER_QUESTION, FALSE);
152 ShowWnd(hDlg, IDC_CONFIG_DB_SERVER, FALSE);
153 ShowWnd(hDlg, IDC_SCM_PROMPT, FALSE);
154 ShowWnd(hDlg, IDC_SYS_CONTROL_MACHINE_LABEL, FALSE);
155 ShowWnd(hDlg, IDC_SYS_CONTROL_MACHINE, FALSE);
157 ShowWnd(hDlg, IDC_DONT_CONFIG_DB_SERVER, FALSE);
159 SetWndText(hDlg, IDC_MSG, szMsg);
160 ShowWnd(hDlg, IDC_MSG);
163 static void EnableSCM(ENABLE_STATE enable)
165 SetEnable(hDlg, IDC_SCM_PROMPT, enable);
166 SetEnable(hDlg, IDC_SYS_CONTROL_MACHINE_LABEL, enable);
167 SetEnable(hDlg, IDC_SYS_CONTROL_MACHINE, enable);
170 static void ShowPageInfo()
172 SetWndText(hDlg, IDC_SYS_CONTROL_MACHINE, g_CfgData.szSysControlMachine);
175 static void SavePageInfo()
177 GetWndText(hDlg, IDC_SYS_CONTROL_MACHINE, g_CfgData.szSysControlMachine);