in setupgui/windows/odbcdialogparams.cpp [656:820]
void FormMain_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
if (controlWithDefValue != 0 && id == controlWithDefValue
&& codeNotify==EN_CHANGE)
controlWithDefValue= 0;
switch (id)
{
case IDOK:
btnOk_Click(hwnd); break;
case IDCANCEL:
btnCancel_Click(hwnd); break;
case IDC_BUTTON_DETAILS:
btnDetails_Click(hwnd); break;
case IDC_BUTTON_HELP:
btnHelp_Click(hwnd); break;
case IDC_BUTTON_TEST:
btnTest_Click(hwnd); break;
case IDC_SSLKEYCHOOSER:
chooseFile(hwnd, IDC_EDIT_SSL_KEY); break;
case IDC_SSLCERTCHOOSER:
chooseFile(hwnd, IDC_EDIT_SSL_CERT); break;
case IDC_SSLCACHOOSER:
chooseFile(hwnd, IDC_EDIT_SSL_CA); break;
case IDC_SSLCAPATHCHOOSER:
choosePath(hwnd, IDC_EDIT_SSL_CAPATH); break;
case IDC_RSAKEYCHOOSER:
chooseFile(hwnd, IDC_EDIT_RSAKEY); break;
case IDC_SSLCRLCHOOSER:
chooseFile(hwnd, IDC_EDIT_SSL_CRL); break;
case IDC_SSLCRLPATHCHOOSER:
choosePath(hwnd, IDC_EDIT_SSL_CRLPATH); break;
case IDC_CHOOSER_PLUGIN_DIR:
choosePath(hwnd, IDC_EDIT_PLUGIN_DIR); break;
case IDC_CHOOSER_LOAD_DATA_LOCAL_DIR:
choosePath(hwnd, IDC_EDIT_LOAD_DATA_LOCAL_DIR); break;
case IDC_CHOOSER_OCI_CONFIG_FILE:
chooseFile(hwnd, IDC_EDIT_OCI_CONFIG_FILE); break;
case IDC_RADIO_tcp:
case IDC_RADIO_NAMED_PIPE:
SwitchTcpOrPipe(hwnd, !!Button_GetCheck(GetDlgItem(hwnd, IDC_RADIO_NAMED_PIPE)));
break;
case IDC_EDIT_AUTH_MODE:
{
HWND authTab = TabCtrl_1.hTabPages[AWS_AUTH_TAB - 1];
assert(authTab);
HWND host = GetDlgItem(authTab, IDC_EDIT_AUTH_HOST);
HWND port = GetDlgItem(authTab, IDC_EDIT_AUTH_PORT);
HWND expiration = GetDlgItem(authTab, IDC_EDIT_AUTH_EXPIRATION);
HWND secret_id = GetDlgItem(authTab, IDC_EDIT_AUTH_SECRET_ID);
assert(port);
assert(host);
assert(expiration);
assert(secret_id);
wchar_t authMode[20];
ComboBox_GetText(GetDlgItem(authTab, IDC_EDIT_AUTH_MODE), authMode, sizeof(authMode));
BOOL usingIAM = wcsicmp(authMode, L"IAM") == 0;
EnableWindow(port, usingIAM);
EnableWindow(host, usingIAM);
EnableWindow(expiration, usingIAM);
BOOL usingSecretsManager = wcsicmp(authMode, L"SECRETS MANAGER") == 0;
EnableWindow(secret_id, usingSecretsManager);
}
break;
case IDC_EDIT_FED_AUTH_MODE:
{
HWND fedAuthMode = TabCtrl_1.hTabPages[FED_AUTH_TAB - 1];
assert(fedAuthMode);
HWND endpoint = GetDlgItem(fedAuthMode, IDC_EDIT_IDP_ENDPOINT);
HWND user = GetDlgItem(fedAuthMode, IDC_EDIT_IDP_USERNAME);
HWND pass = GetDlgItem(fedAuthMode, IDC_EDIT_IDP_PASSWORD);
HWND roleArn = GetDlgItem(fedAuthMode, IDC_EDIT_IAM_ROLE_ARN);
HWND idpArn = GetDlgItem(fedAuthMode, IDC_EDIT_IAM_IDP_ARN);
HWND appId = GetDlgItem(fedAuthMode, IDC_EDIT_APP_ID);
assert(endpoint);
assert(user);
assert(pass);
assert(roleArn);
assert(idpArn);
assert(appId);
wchar_t fedMode[20];
ComboBox_GetText(GetDlgItem(fedAuthMode, IDC_EDIT_FED_AUTH_MODE), fedMode, sizeof(fedMode));
BOOL usingOkta = wcsicmp(fedMode, L"OKTA") == 0;
EnableWindow(appId, usingOkta);
}
break;
case IDC_CHECK_GATHER_PERF_METRICS:
{
HWND failoverTab = TabCtrl_1.hTabPages[FAILOVER_TAB-1];
assert(failoverTab);
HWND prefetch = GetDlgItem(failoverTab, IDC_CHECK_GATHER_PERF_METRICS_PER_INSTANCE);
assert(prefetch);
EnableWindow(prefetch, !!Button_GetCheck(GetDlgItem(failoverTab,
IDC_CHECK_GATHER_PERF_METRICS)));
setBoolFieldData(failoverTab, IDC_CHECK_GATHER_PERF_METRICS_PER_INSTANCE, Button_GetCheck(prefetch));
}
break;
case IDC_CHECK_ENABLE_FAILURE_DETECTION:
{
HWND monitoringTab = TabCtrl_1.hTabPages[MONITORING_TAB - 1];
assert(monitoringTab);
HWND detectionTime = GetDlgItem(monitoringTab, IDC_EDIT_FAILURE_DETECTION_TIME);
HWND detectionInterval= GetDlgItem(monitoringTab, IDC_EDIT_FAILURE_DETECTION_INTERVAL);
HWND detectionCount = GetDlgItem(monitoringTab, IDC_EDIT_FAILURE_DETECTION_COUNT);
HWND disposalTime = GetDlgItem(monitoringTab, IDC_EDIT_MONITOR_DISPOSAL_TIME);
HWND detectionTimeout = GetDlgItem(monitoringTab, IDC_EDIT_FAILURE_DETECTION_TIMEOUT);
assert(detectionTime);
assert(detectionInterval);
assert(detectionCount);
assert(disposalTime);
EnableWindow(detectionTime, !!Button_GetCheck(GetDlgItem(monitoringTab, IDC_CHECK_ENABLE_FAILURE_DETECTION)));
EnableWindow(detectionInterval, !!Button_GetCheck(GetDlgItem(monitoringTab, IDC_CHECK_ENABLE_FAILURE_DETECTION)));
EnableWindow(detectionCount, !!Button_GetCheck(GetDlgItem(monitoringTab, IDC_CHECK_ENABLE_FAILURE_DETECTION)));
EnableWindow(disposalTime, !!Button_GetCheck(GetDlgItem(monitoringTab, IDC_CHECK_ENABLE_FAILURE_DETECTION)));
EnableWindow(detectionTimeout, !!Button_GetCheck(GetDlgItem(monitoringTab, IDC_CHECK_ENABLE_FAILURE_DETECTION)));
}
break;
case IDC_CHECK_CURSOR_PREFETCH_ACTIVE:
{
HWND cursorTab= TabCtrl_1.hTabPages[CURSORS_TAB-1];
assert(cursorTab);
HWND prefetch= GetDlgItem(cursorTab, IDC_EDIT_PREFETCH);
assert(prefetch);
EnableWindow(prefetch, !!Button_GetCheck(GetDlgItem(cursorTab,
IDC_CHECK_CURSOR_PREFETCH_ACTIVE)));
if (Edit_GetTextLength(prefetch) == 0)
{
setUnsignedFieldData(cursorTab, default_cursor_prefetch,
IDC_EDIT_PREFETCH);
}
}
break;
case IDC_EDIT_DSN:
{
if (codeNotify==EN_CHANGE)
{
int len = Edit_GetTextLength(GetDlgItem(hwnd,IDC_EDIT_DSN));
Button_Enable(GetDlgItem(hwnd,IDOK), len > 0);
Button_Enable(GetDlgItem(hwnd,IDC_BUTTON_TEST), len > 0);
RedrawWindow(hwnd,NULL,NULL,RDW_INVALIDATE);
}
break;
}
case IDC_EDIT_dbname:
processDbCombobox(hwnd, hwndCtl, codeNotify);
break;
case IDC_EDIT_CHARSET:
processCharsetCombobox(hwnd, hwndCtl, codeNotify);
}
return;
}