|
|
|
@ -5,7 +5,7 @@
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2006-2009, Tomasz Sowa |
|
|
|
|
* Copyright (c) 2006-2011, Tomasz Sowa |
|
|
|
|
* All rights reserved. |
|
|
|
|
*
|
|
|
|
|
* Redistribution and use in source and binary forms, with or without |
|
|
|
@ -349,6 +349,24 @@ BOOL WmTabCommand_IDCANCEL(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// pos is the 'grouping' position (0 means none)
|
|
|
|
|
void SetDisablingGroupingDigits(HWND hWnd, int pos = -1) |
|
|
|
|
{ |
|
|
|
|
if( pos < 0 ) |
|
|
|
|
pos = SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_GETCURSEL, 0, 0); |
|
|
|
|
|
|
|
|
|
if( pos <= 0 ) |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS), false); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetLanguageTabStandard(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
SetDlgItemText( hWnd,IDC_BUTTON_CLEAR, GetPrgRes()->GetLanguages()->GuiMessage(Languages::button_clear) ); |
|
|
|
@ -412,19 +430,18 @@ void SetLanguageTabPrecision(HWND hWnd)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetLanguageTabDisplay(HWND hWnd) |
|
|
|
|
void SetLanguageTabDisplayComboRounding(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
char buffer[50]; |
|
|
|
|
int i; |
|
|
|
|
const int max_r = 9; |
|
|
|
|
|
|
|
|
|
Languages * pl = GetPrgRes()->GetLanguages(); |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_ROUNDING, CB_RESETCONTENT, 0, 0); |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_ROUNDING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::combo_rounding_none) ); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_ROUNDING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::combo_rounding_integer) ); |
|
|
|
|
|
|
|
|
|
const int max_r = 9; |
|
|
|
|
for(i=1 ; i<=max_r ; ++i) |
|
|
|
|
{ |
|
|
|
|
sprintf(buffer,"%s %d %s", |
|
|
|
@ -436,11 +453,57 @@ int i;
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int r = GetPrgRes()->GetDisplayRounding(); |
|
|
|
|
|
|
|
|
|
if( r > max_r ) |
|
|
|
|
r = max_r; |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_ROUNDING, CB_SETCURSEL, r+1, 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetLanguageTabDisplayComboGrouping(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
char buffer[50]; |
|
|
|
|
int i; |
|
|
|
|
const int max_r = 9; |
|
|
|
|
|
|
|
|
|
Languages * pl = GetPrgRes()->GetLanguages(); |
|
|
|
|
|
|
|
|
|
// grouping
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_RESETCONTENT, 0, 0); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::display_grouping_none)); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::display_grouping_space)); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" `"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" '"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" ."); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" ,"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_SETCURSEL, GetPrgRes()->GetGrouping(), 0); |
|
|
|
|
|
|
|
|
|
// grouping digits
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS, CB_RESETCONTENT, 0, 0); |
|
|
|
|
|
|
|
|
|
for(i=1 ; i<=max_r ; ++i) |
|
|
|
|
{ |
|
|
|
|
sprintf(buffer,"%d %s", i, pl->GuiMessage(Languages::display_grouping_digits) ); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS, CB_ADDSTRING, 0, (LPARAM)buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int r = GetPrgRes()->GetGroupingDigits(); |
|
|
|
|
|
|
|
|
|
if( r > max_r ) |
|
|
|
|
r = max_r; |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS, CB_SETCURSEL, r-1, 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetLanguageTabDisplay(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
Languages * pl = GetPrgRes()->GetLanguages(); |
|
|
|
|
|
|
|
|
|
SetLanguageTabDisplayComboRounding(hWnd); |
|
|
|
|
SetLanguageTabDisplayComboGrouping(hWnd); |
|
|
|
|
SetDisablingGroupingDigits(hWnd, GetPrgRes()->GetGrouping()); |
|
|
|
|
|
|
|
|
|
SetDlgItemText(hWnd, IDC_LABEL_DISPLAY_INPUT, pl->GuiMessage(Languages::display_input)); |
|
|
|
|
SetDlgItemText(hWnd, IDC_LABEL_DISPLAY_OUTPUT, pl->GuiMessage(Languages::display_output)); |
|
|
|
@ -453,19 +516,10 @@ int i;
|
|
|
|
|
SetDlgItemText(hWnd, IDC_RADIO_DISPLAY_ALWAYS_SCIENTIFIC, pl->GuiMessage(Languages::display_always_scientific)); |
|
|
|
|
SetDlgItemText(hWnd, IDC_RADIO_DISPLAY_NOT_ALWAYS_SCIENTIFIC, pl->GuiMessage(Languages::display_not_always_scientific)); |
|
|
|
|
|
|
|
|
|
SetDlgItemText(hWnd, IDC_LABEL_GROUP_SCIENTIFIC, pl->GuiMessage(Languages::display_group_scientific)); |
|
|
|
|
SetDlgItemText(hWnd, IDC_LABEL_DISPLAY_SCIENTIFIC, pl->GuiMessage(Languages::display_as_scientific)); |
|
|
|
|
SetDlgItemText(hWnd, IDC_CHECK_REMOVE_ZEROES, pl->GuiMessage(Languages::check_remove_zeroes)); |
|
|
|
|
SetDlgItemText(hWnd, IDC_LABEL_DISPLAY_DEG_RAD_GRAD, pl->GuiMessage(Languages::display_deg_rad_grad)); |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_RESETCONTENT, 0, 0); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::display_grouping_none)); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::display_grouping_space)); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" `"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" '"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" ."); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_ADDSTRING, 0, (LPARAM)" ,"); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_SETCURSEL, GetPrgRes()->GetGrouping(), 0); |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_INPUT_DECIMAL_POINT, CB_RESETCONTENT, 0, 0); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_INPUT_DECIMAL_POINT, CB_ADDSTRING, 0, (LPARAM)pl->GuiMessage(Languages::display_input_decimal_point_item1)); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_COMBO_INPUT_DECIMAL_POINT, CB_ADDSTRING, 0, (LPARAM)" ."); |
|
|
|
@ -866,6 +920,23 @@ return true;
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetDisablingDisplayWhenScientific(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
if( IsDlgButtonChecked(hWnd, IDC_RADIO_DISPLAY_ALWAYS_SCIENTIFIC) == BST_CHECKED ) |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC), false); |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_EDIT_DISPLAY_WHEN_SCIENTIFIC), false); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC), true); |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_EDIT_DISPLAY_WHEN_SCIENTIFIC), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL WmTabCommand_DisplayGrouping(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
|
|
|
|
{ |
|
|
|
|
if( HIWORD(wParam) != CBN_SELCHANGE ) |
|
|
|
@ -873,8 +944,11 @@ BOOL WmTabCommand_DisplayGrouping(HWND hWnd, UINT message, WPARAM wParam, LPARAM
|
|
|
|
|
|
|
|
|
|
GetPrgRes()->GetThreadController()->StopCalculating(); |
|
|
|
|
GetPrgRes()->SetGrouping( (int)SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING, CB_GETCURSEL, 0, 0) ); |
|
|
|
|
GetPrgRes()->SetGroupingDigits( (int)SendDlgItemMessage(hWnd, IDC_COMBO_DISPLAY_GROUPING_DIGITS, CB_GETCURSEL, 0, 0) + 1 ); |
|
|
|
|
GetPrgRes()->GetThreadController()->StartCalculating(); |
|
|
|
|
|
|
|
|
|
SetDisablingGroupingDigits(hWnd, GetPrgRes()->GetGrouping()); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -906,19 +980,6 @@ return true;
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetDisablingDisplayWhenScientific(HWND hWnd) |
|
|
|
|
{ |
|
|
|
|
if( IsDlgButtonChecked(hWnd, IDC_RADIO_DISPLAY_ALWAYS_SCIENTIFIC) == BST_CHECKED ) |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC), false); |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_EDIT_DISPLAY_WHEN_SCIENTIFIC), false); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC), true); |
|
|
|
|
EnableWindow(GetDlgItem(hWnd, IDC_EDIT_DISPLAY_WHEN_SCIENTIFIC), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL WmTabCommand_SetDisplayAlwaysScientific(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
|
|
|
@ -1333,6 +1394,7 @@ void CreateTabCommandMessagesTable(Messages<BOOL> & cmessages)
|
|
|
|
|
cmessages.Associate(IDC_COMBO_OUTPUT_DECIMAL_POINT, WmTabCommand_DisplayDecimalPointChanged); |
|
|
|
|
cmessages.Associate(IDC_COMBO_DEG_RAD_GRAD, WmTabCommand_DisplayDegRadGradChanged); |
|
|
|
|
cmessages.Associate(IDC_COMBO_DISPLAY_GROUPING, WmTabCommand_DisplayGrouping); |
|
|
|
|
cmessages.Associate(IDC_COMBO_DISPLAY_GROUPING_DIGITS, WmTabCommand_DisplayGrouping); |
|
|
|
|
cmessages.Associate(IDC_COMBO_INPUT_DECIMAL_POINT, WmTabCommand_DisplayInputDecimalPoint); |
|
|
|
|
cmessages.Associate(IDC_COMBO_PARAM_SEPARATE, WmTabCommand_DisplayParamSep); |
|
|
|
|
} |
|
|
|
@ -1579,6 +1641,7 @@ char buffer[20];
|
|
|
|
|
CheckDlgButton(hWnd, IDC_RADIO_DISPLAY_NOT_ALWAYS_SCIENTIFIC, BST_CHECKED); |
|
|
|
|
|
|
|
|
|
SetDisablingDisplayWhenScientific(hWnd); |
|
|
|
|
SetDisablingGroupingDigits(hWnd); |
|
|
|
|
|
|
|
|
|
SendDlgItemMessage(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC, UDM_SETBASE, 10,0); |
|
|
|
|
SendDlgItemMessage(hWnd, IDC_UPDOWN_DISPLAY_WHEN_SCIENTIFIC, UDM_SETRANGE, 0, MAKELONG(99,1)); |
|
|
|
|