fixed: CalculationsProcedure - the 'main_window' must be set later (in the loop)
fixed: the program didn't save the current language into the configuration file added: buttons Sgn, Mod changed: now the 'error' button is active only when there's actually an error git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@18 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
4cc6d78c7e
commit
211f0dada4
11
CHANGELOG
11
CHANGELOG
|
@ -1,6 +1,15 @@
|
|||
Version 0.7.2 (2007.02.28):
|
||||
* added buttons Sgn and Mod
|
||||
* the button 'err' is active when there's actually an error now
|
||||
* added buttons: ASin, ACos, ATan, ACTan
|
||||
* fixed: the program didn't save the current language into the configuration file
|
||||
* fixed: the second thread didn't read the main window correctly and it caused
|
||||
small problems when an user was typing into the first edit control
|
||||
|
||||
Version 0.7.1 (2007.02.08):
|
||||
* added a button 'err' (error) on the first tab
|
||||
* the input edit can have 2048 characters now
|
||||
* added remembering the vertical size into the config file
|
||||
* fixed a problem with the 'tab' key
|
||||
* added a message 'Calculating...' when an user clicks on the 'err' button during calculating something
|
||||
* added a message 'Calculating...' when an user clicks on the 'err' button
|
||||
during calculating something
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CC = g++
|
||||
o = resource.o calculation.o functions.o iniparser.o languages.o mainwindow.o parsermanager.o programresources.o tabs.o variables.o winmain.o
|
||||
CFLAGS = -Wall -pedantic -s -O1 -mwindows -mthreads -I../../../ttmath
|
||||
CFLAGS = -Wall -pedantic -s -O3 -mwindows -mthreads -I../../../ttmath
|
||||
|
||||
|
||||
name = ttcalc.exe
|
||||
|
|
|
@ -46,12 +46,13 @@
|
|||
unsigned __stdcall CalculationsProcedure(void *)
|
||||
{
|
||||
ParserManager parser_manager;
|
||||
HWND main_window = GetPrgRes()->GetMainWindow();
|
||||
parser_manager.Init();
|
||||
|
||||
// the main loop of calculations
|
||||
while( GetPrgRes()->GetThreadController()->WaitForCalculatingAndBlockForStop() )
|
||||
{
|
||||
HWND main_window = GetPrgRes()->GetMainWindow();
|
||||
|
||||
// for the first we must copy all variables which we're using
|
||||
// (at this moment all calling from the main thread are stopped)
|
||||
parser_manager.MakeCopyOfVariables();
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
*/
|
||||
#define TTCALC_MAJOR_VER 0
|
||||
#define TTCALC_MINOR_VER 7
|
||||
#define TTCALC_REVISION_VER 1
|
||||
#define TTCALC_REVISION_VER 2
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -272,7 +272,7 @@ void Languages::InitGuiMessagesTab()
|
|||
"Author: Tomasz Sowa\r\n"
|
||||
"Contact: t.sowa@slimaczek.pl\r\n"
|
||||
"Licence: (New) BSD licence\r\n"
|
||||
"Project page: \r\n"
|
||||
"Project page: http://sourceforge.net/projects/ttcalc\r\n"
|
||||
"Mathemathical library: TTMath %d.%d.%d\r\n"
|
||||
"Programming language: C++\r\n"
|
||||
"Compiler: %s\r\n"
|
||||
|
@ -375,7 +375,7 @@ void Languages::InitGuiMessagesTab()
|
|||
"Autor: Tomasz Sowa\r\n"
|
||||
"Kontakt: t.sowa@slimaczek.pl\r\n"
|
||||
"Licencja: (New) BSD\r\n"
|
||||
"Strona projektu: \r\n"
|
||||
"Strona projektu: http://sourceforge.net/projects/ttcalc\r\n"
|
||||
"Biblioteka matematyczna: TTMath %d.%d.%d\r\n"
|
||||
"Jêzyk programowania: C++\r\n"
|
||||
"Kompilator: %s\r\n"
|
||||
|
|
|
@ -659,7 +659,19 @@ return true;
|
|||
|
||||
BOOL WmSetLastError(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TabWindowFunctions::last_code = (ttmath::ErrorCode)wParam;
|
||||
using TabWindowFunctions::last_code;
|
||||
|
||||
last_code = (ttmath::ErrorCode)wParam;
|
||||
|
||||
HWND button_err = GetDlgItem( GetPrgRes()->GetTabWindow(
|
||||
TabWindowFunctions::tab_standard),
|
||||
IDC_BUTTON_ERROR );
|
||||
|
||||
if( last_code == ttmath::err_ok || last_code == ttmath::err_nothing_has_read )
|
||||
EnableWindow(button_err, false);
|
||||
else
|
||||
EnableWindow(button_err, true);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -567,6 +567,7 @@ std::string ini_value[20];
|
|||
iparser.Associate( "global|disp.when.scientific", &ini_value[10] );
|
||||
iparser.Associate( "global|disp.rounding", &ini_value[11] );
|
||||
iparser.Associate( "global|size.y", &ini_value[12] );
|
||||
iparser.Associate( "global|language", &ini_value[13] );
|
||||
|
||||
iparser.Associate( "variables", &temp_variables );
|
||||
iparser.Associate( "functions", &temp_functions );
|
||||
|
@ -610,6 +611,13 @@ std::string ini_value[20];
|
|||
SetDisplayWhenScientific( atoi(ini_value[10].c_str()) );
|
||||
SetDisplayRounding( atoi(ini_value[11].c_str()) );
|
||||
|
||||
|
||||
if( ini_value[13] == "1" )
|
||||
languages.SetCurrentLanguage(Languages::pl);
|
||||
else
|
||||
languages.SetCurrentLanguage(Languages::en);
|
||||
|
||||
|
||||
if( err != IniParser::err_ok )
|
||||
bad_line = iparser.GetBadLine();
|
||||
|
||||
|
@ -638,19 +646,21 @@ std::ofstream file( configuration_file.c_str() );
|
|||
file << "precision = " << precision << std::endl;
|
||||
file << "disp.input = " << base_input << std::endl;
|
||||
file << "disp.output = " << base_output << std::endl;
|
||||
file << "language = " << static_cast<int>(languages.GetCurrentLanguage())
|
||||
<< std::endl;
|
||||
|
||||
file << "disp.alw.scientific = " << (int)display_always_scientific << std::endl;
|
||||
file << "disp.when.scientific = " << display_when_scientific << std::endl;
|
||||
file << "disp.rounding = " << display_rounding << std::endl;
|
||||
|
||||
file << "\n\n[variables]\n";
|
||||
file << "\n[variables]\n";
|
||||
|
||||
ttmath::Objects::CIterator iv = variables.Begin();
|
||||
|
||||
for( ; iv != variables.End() ; ++iv )
|
||||
file << iv->first.c_str() << " = " << iv->second.value.c_str() << std::endl;
|
||||
|
||||
file << "\n\n[functions]\n";
|
||||
file << "\n[functions]\n";
|
||||
|
||||
iv = functions.Begin();
|
||||
for( ; iv != functions.End() ; ++iv )
|
||||
|
|
|
@ -73,6 +73,13 @@
|
|||
// standard tab
|
||||
|
||||
#define IDC_BUTTON_ERROR 1070
|
||||
#define IDC_BUTTON_ASIN 1071
|
||||
#define IDC_BUTTON_ACOS 1072
|
||||
#define IDC_BUTTON_ATAN 1073
|
||||
#define IDC_BUTTON_ACTAN 1074
|
||||
#define IDC_BUTTON_SGN 1075
|
||||
#define IDC_BUTTON_MOD 1076
|
||||
|
||||
|
||||
// values from IDC_BUTTON_PRESS_0 to IDC_BUTTON_PRESS_9 should be with the step equal one
|
||||
#define IDC_BUTTON_PRESS_0 1100
|
||||
|
|
|
@ -78,46 +78,53 @@ BEGIN
|
|||
LTEXT "param:",1148,7,30,33,8
|
||||
END
|
||||
|
||||
110 DIALOG 0, 0, 287, 90
|
||||
STYLE DS_3DLOOK |DS_FIXEDSYS |DS_SETFONT |WS_CHILD |WS_TABSTOP
|
||||
110 DIALOGEX 0, 0, 264, 90
|
||||
STYLE DS_3DLOOK | DS_FIXEDSYS | WS_CHILD | WS_TABSTOP
|
||||
EXSTYLE WS_EX_CONTROLPARENT
|
||||
FONT 8, "Ms Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Clear",1110,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,3,3,26,14
|
||||
CONTROL "7",1107,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,3,20,26,14
|
||||
CONTROL "4",1104,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,3,37,26,14
|
||||
CONTROL "1",1101,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,3,54,26,14
|
||||
CONTROL "0",1100,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,3,71,56,14
|
||||
CONTROL "(",1111,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,33,3,26,14
|
||||
CONTROL "8",1108,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,33,20,26,14
|
||||
CONTROL "5",1105,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,33,37,26,14
|
||||
CONTROL "2",1102,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,33,54,26,14
|
||||
CONTROL ")",1112,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,62,3,26,14
|
||||
CONTROL "9",1109,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,62,20,26,14
|
||||
CONTROL "6",1106,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,62,37,26,14
|
||||
CONTROL "3",1103,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,62,54,26,14
|
||||
CONTROL ",",1117,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,62,71,26,14
|
||||
CONTROL "^",1128,"BUTTON",BS_PUSHBUTTON |BS_BOTTOM |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,91,3,26,14
|
||||
CONTROL "/",1113,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,91,20,26,14
|
||||
CONTROL "*",1114,"BUTTON",BS_PUSHBUTTON |BS_BOTTOM |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,91,37,26,14
|
||||
CONTROL "-",1115,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,91,54,26,14
|
||||
CONTROL "+",1116,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,91,71,26,14
|
||||
CONTROL "sin",1120,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,131,3,26,14
|
||||
CONTROL "cos",1121,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,131,20,26,14
|
||||
CONTROL "tan",1122,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,131,37,26,14
|
||||
CONTROL "ctg",1123,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,131,54,26,14
|
||||
CONTROL "int",1129,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,131,71,26,14
|
||||
CONTROL "ln",1124,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,160,3,26,14
|
||||
CONTROL "log",1125,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,160,20,26,14
|
||||
CONTROL "exp",1131,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,160,37,26,14
|
||||
CONTROL "abs",1126,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,160,54,26,14
|
||||
CONTROL "round",1130,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,160,71,26,14
|
||||
CONTROL "!",1127,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,189,3,26,14
|
||||
CONTROL "e",1118,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,229,3,26,14
|
||||
CONTROL "pi",1119,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,229,20,26,14
|
||||
CONTROL "err",1070,"BUTTON",BS_PUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,229,71,26,14
|
||||
PUSHBUTTON "Clear",1110,3,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "(",1111,33,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON ")",1112,62,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "^",1128,91,3,26,14,BS_CENTER | BS_BOTTOM
|
||||
PUSHBUTTON "7",1107,3,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "8",1108,33,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "9",1109,62,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "/",1113,91,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "4",1104,3,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "5",1105,33,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "6",1106,62,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "*",1114,91,37,26,14,BS_CENTER | BS_BOTTOM
|
||||
PUSHBUTTON "1",1101,3,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "2",1102,33,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "3",1103,62,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "-",1115,91,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "0",1100,3,71,56,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON ",",1117,62,71,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "+",1116,91,71,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "sin",1120,131,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "asin",1071,160,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "ln",1124,189,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "cos",1121,131,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "acos",1072,160,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "log",1125,189,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "tan",1122,131,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "atan",1073,160,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "exp",1131,189,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "ctan",1123,131,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "actan",1074,160,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "abs",1126,189,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "int",1129,131,71,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "round",1130,160,71,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "!",1127,189,71,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "sgn",1075,229,3,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "mod",1076,229,20,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "e",1118,229,37,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "pi",1119,229,54,26,14,BS_CENTER | BS_VCENTER
|
||||
PUSHBUTTON "err",1070,229,71,26,14,BS_CENTER | BS_VCENTER
|
||||
END
|
||||
|
||||
|
||||
111 DIALOG 0, 0, 287, 90
|
||||
STYLE DS_3DLOOK |DS_FIXEDSYS |DS_SETFONT |WS_CHILD
|
||||
EXSTYLE WS_EX_CONTROLPARENT
|
||||
|
|
45
src/tabs.cpp
45
src/tabs.cpp
|
@ -242,6 +242,45 @@ return true;
|
|||
}
|
||||
|
||||
|
||||
BOOL WmTabCommand_Press_asin(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("asin()",-1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL WmTabCommand_Press_acos(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("acos()",-1);
|
||||
|
||||
return true;
|
||||
}
|
||||
BOOL WmTabCommand_Press_atan(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("atan()",-1);
|
||||
|
||||
return true;
|
||||
}
|
||||
BOOL WmTabCommand_Press_actan(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("actan()",-1);
|
||||
|
||||
return true;
|
||||
}
|
||||
BOOL WmTabCommand_Press_sgn(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("sgn()",-1);
|
||||
|
||||
return true;
|
||||
}
|
||||
BOOL WmTabCommand_Press_mod(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("mod(;)",-2);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
BOOL WmTabCommand_Press_power(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
InsertText("^",0);
|
||||
|
@ -631,6 +670,12 @@ void CreateTabCommandMessagesTable(Messages & cmessages)
|
|||
cmessages.Associate(IDC_BUTTON_CLEAR, WmTabCommand_Press_clear);
|
||||
cmessages.Associate(IDC_BUTTON_ERROR, WmTabCommand_Press_error);
|
||||
|
||||
cmessages.Associate(IDC_BUTTON_ASIN, WmTabCommand_Press_asin);
|
||||
cmessages.Associate(IDC_BUTTON_ACOS, WmTabCommand_Press_acos);
|
||||
cmessages.Associate(IDC_BUTTON_ATAN, WmTabCommand_Press_atan);
|
||||
cmessages.Associate(IDC_BUTTON_ACTAN, WmTabCommand_Press_actan);
|
||||
cmessages.Associate(IDC_BUTTON_SGN, WmTabCommand_Press_sgn);
|
||||
cmessages.Associate(IDC_BUTTON_MOD, WmTabCommand_Press_mod);
|
||||
|
||||
|
||||
cmessages.Associate(IDC_BUTTON_POWER, WmTabCommand_Press_power);
|
||||
|
|
|
@ -45,6 +45,9 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
#include <ttmath/ttmath.h>
|
||||
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
|
|
Loading…
Reference in New Issue