added: Pad window - a multiline edit window
files: pad.h pad.cpp git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@208 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
Version 0.9.0 prerelease (2009.09.15):
|
||||
* added: Pad window - a multiline edit window
|
||||
|
||||
|
||||
Version 0.8.7 prerelease (2009.09.16):
|
||||
* added: new language: Swedish
|
||||
translation made by: Lars 'B<EFBFBD>fvert' G<EFBFBD>fvert <lars.gafvert at gmail dot com>
|
||||
translation made by: Lars 'Bafvert' Gafvert <lars.gafvert at gmail dot com>
|
||||
* changed: version of the TTMath library: 0.9.0 prerelease now
|
||||
|
||||
Changes from TTMath 0.9.0 prerelease relating to TTCalc:
|
||||
|
@@ -1,17 +1,17 @@
|
||||
o = resource.o calculation.o convert.o functions.o iniparser.o languages.o mainwindow.o parsermanager.o programresources.o tabs.o variables.o winmain.o
|
||||
o = resource.o calculation.o convert.o functions.o iniparser.o languages.o mainwindow.o pad.o parsermanager.o programresources.o tabs.o variables.o winmain.o
|
||||
|
||||
calculation.o: calculation.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h
|
||||
convert.o: convert.cpp convert.h compileconfig.h bigtypes.h
|
||||
functions.o: functions.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
|
||||
iniparser.o: iniparser.cpp compileconfig.h iniparser.h
|
||||
languages.o: languages.cpp compileconfig.h languages.h bigtypes.h
|
||||
mainwindow.o: mainwindow.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h
|
||||
mainwindow.o: mainwindow.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h
|
||||
pad.o: pad.cpp programresources.h compileconfig.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h
|
||||
parsermanager.o: parsermanager.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h
|
||||
programresources.o: programresources.cpp compileconfig.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
|
||||
tabs.o: tabs.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
|
||||
variables.o: variables.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
|
||||
winmain.o: winmain.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h
|
||||
|
||||
winmain.o: winmain.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h
|
||||
|
||||
.SUFFIXES: .cpp .o
|
||||
|
||||
|
@@ -61,11 +61,17 @@
|
||||
|
||||
|
||||
/*!
|
||||
this disables a Visual C++ warning about converting int to bool
|
||||
"warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)"
|
||||
this disables a Visual C++ warning
|
||||
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
|
||||
//"warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)"
|
||||
#pragma warning (disable : 4800)
|
||||
|
||||
// warning C4996: 'sprintf': This function or variable may be unsafe.
|
||||
#pragma warning (disable : 4996)
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE
|
||||
|
@@ -443,6 +443,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "No&rmal view");
|
||||
InsertGuiPair(menu_view_compact_view, "C&ompact view");
|
||||
InsertGuiPair(menu_view_always_on_top, "&Always on top");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&English");
|
||||
InsertGuiPair(menu_view_lang_polish, "&Polish");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&Spanish");
|
||||
@@ -460,6 +461,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "I could not initialize the module for calculations");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "I could not create the second thread for calculating");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "I could not create the main window of the application");
|
||||
InsertGuiPair(cant_init_common_controls,"I could not initialize the common controls (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -577,6 +579,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "Widok no&rmalny");
|
||||
InsertGuiPair(menu_view_compact_view, "Widok &kompaktowy");
|
||||
InsertGuiPair(menu_view_always_on_top, "Zawsze na &wierzchu");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&Angielski");
|
||||
InsertGuiPair(menu_view_lang_polish, "&Polski");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&Hiszpa<70>ski");
|
||||
@@ -594,6 +597,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "Nie uda<64>o si<73> zainicjalizowa<77> modu<64>u obs<62>ugi oblicze<7A>");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "Nie uda<64>o si<73> utworzy<7A> drugiego w<>tku do oblicze<7A>");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "Nie uda<64>o si<73> utworzy<7A> g<><67>wnego okna aplikacji");
|
||||
InsertGuiPair(cant_init_common_controls,"Nie uda<64>o si<73> zainicjalizowa<77> obs<62>ugi Common Controls (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -715,6 +719,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "Vista No&rmal");
|
||||
InsertGuiPair(menu_view_compact_view, "Vista C&ompacta");
|
||||
InsertGuiPair(menu_view_always_on_top, "&Siempre arriba");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&Ingles");
|
||||
InsertGuiPair(menu_view_lang_polish, "&Polaco");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&Espa<70>ol");
|
||||
@@ -732,6 +737,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "No se puede inicializar el modulo de calculo");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "No se puede crear la segunda hebra para calcular");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "No se puede crear la ventana principal par ala aplicacion");
|
||||
InsertGuiPair(cant_init_common_controls,"No se pueden inicializar los controles comunes (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -849,6 +855,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "No&rmal visning");
|
||||
InsertGuiPair(menu_view_compact_view, "K&ompakt visning");
|
||||
InsertGuiPair(menu_view_always_on_top, "&Altid <20>verst");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&Engelsk");
|
||||
InsertGuiPair(menu_view_lang_polish, "&Polsk");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&Spansk");
|
||||
@@ -866,6 +873,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "Moduelt for uregninger kunne ikke s<>ttes i gang");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "Den anden tr<74>d for udregning kunne ikke laves");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "Applikationens hovedvindue kunne ikke laves");
|
||||
InsertGuiPair(cant_init_common_controls,"De f<>lles kontrol indstillinger kunne ikke s<>ttes i gang (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -982,6 +990,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "&<26><>ͨ<EFBFBD><CDA8>ͼ");
|
||||
InsertGuiPair(menu_view_compact_view, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ");
|
||||
InsertGuiPair(menu_view_always_on_top, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&Ӣ<><D3A2>");
|
||||
InsertGuiPair(menu_view_lang_polish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
@@ -999,6 +1008,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "<EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "<EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "<EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(cant_init_common_controls,"<EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD>ʼ<EFBFBD><EFBFBD>ͨ<EFBFBD>ÿؼ<EFBFBD>(InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -1113,6 +1123,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>");
|
||||
InsertGuiPair(menu_view_compact_view, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>");
|
||||
InsertGuiPair(menu_view_always_on_top, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(menu_view_lang_polish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
@@ -1130,6 +1141,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
InsertGuiPair(cant_init_common_controls,"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
@@ -1247,6 +1259,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(menu_view_normal_view, "No&rmal visning");
|
||||
InsertGuiPair(menu_view_compact_view, "K&ompakt visning");
|
||||
InsertGuiPair(menu_view_always_on_top, "&Alltid <20>verst");
|
||||
InsertGuiPair(menu_view_pad, "&Pad");
|
||||
InsertGuiPair(menu_view_lang_english, "&Engelska");
|
||||
InsertGuiPair(menu_view_lang_polish, "&Polska");
|
||||
InsertGuiPair(menu_view_lang_spanish, "&Spanska");
|
||||
@@ -1264,6 +1277,7 @@ void Languages::InitGuiMessagesTab()
|
||||
InsertGuiPair(cant_init_calculations, "Ber<EFBFBD>kningen kunde inte initieras!");
|
||||
InsertGuiPair(message_box_error_caption,"TTCalc");
|
||||
InsertGuiPair(cant_create_thread, "Den andra tr<74>den f<>r utr<74>kning kunde inte skapas");
|
||||
InsertGuiPair(cant_create_pad, "I could not create the pad window");
|
||||
InsertGuiPair(cant_create_main_window, "Applikationens huvudf<64>nster kunde inte skapas");
|
||||
InsertGuiPair(cant_init_common_controls,"Inst<EFBFBD>llningarna kunde inte initieras (InitCommonControlsEx)");
|
||||
InsertGuiPair(about_text,
|
||||
|
@@ -115,6 +115,7 @@ public:
|
||||
menu_view_normal_view,
|
||||
menu_view_compact_view,
|
||||
menu_view_always_on_top,
|
||||
menu_view_pad,
|
||||
menu_view_lang_english,
|
||||
menu_view_lang_polish,
|
||||
menu_view_lang_spanish,
|
||||
@@ -132,6 +133,7 @@ public:
|
||||
cant_init_calculations,
|
||||
message_box_error_caption,
|
||||
cant_create_thread,
|
||||
cant_create_pad,
|
||||
cant_create_main_window,
|
||||
cant_init_common_controls,
|
||||
cant_find_help,
|
||||
|
@@ -402,6 +402,7 @@ HMENU menu = GetMenu(hWnd);
|
||||
SetMenuLanguageItem(menu, IDM_NORMAL_VIEW, Languages::menu_view_normal_view);
|
||||
SetMenuLanguageItem(menu, IDM_COMPACT_VIEW, Languages::menu_view_compact_view);
|
||||
SetMenuLanguageItem(menu, IDM_ALWAYS_ON_TOP, Languages::menu_view_always_on_top);
|
||||
SetMenuLanguageItem(menu, IDM_PAD, Languages::menu_view_pad);
|
||||
SetMenuLanguageItem(menu, IDM_LANGUAGE_ENGLISH, Languages::menu_view_lang_english);
|
||||
SetMenuLanguageItem(menu, IDM_LANGUAGE_POLISH, Languages::menu_view_lang_polish);
|
||||
SetMenuLanguageItem(menu, IDM_LANGUAGE_SPANISH, Languages::menu_view_lang_spanish);
|
||||
@@ -764,6 +765,15 @@ void WmInitMenuPopUpView(HMENU menu)
|
||||
}
|
||||
|
||||
|
||||
if( GetPrgRes()->IsPadVisible() )
|
||||
{
|
||||
CheckMenuItem(menu,IDM_PAD,MF_BYCOMMAND|MF_CHECKED);
|
||||
}
|
||||
else
|
||||
{
|
||||
CheckMenuItem(menu,IDM_PAD,MF_BYCOMMAND|MF_UNCHECKED);
|
||||
}
|
||||
|
||||
|
||||
// languages
|
||||
|
||||
@@ -891,6 +901,14 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
BOOL WmCommand_Pad(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
GetPrgRes()->TurnPad();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
BOOL WmCommand_HelpAbout(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
DialogBox(GetPrgRes()->GetInstance(),MAKEINTRESOURCE(IDD_ABOUT_DIALOG),hWnd,AboutProc);
|
||||
@@ -1155,11 +1173,12 @@ return true;
|
||||
}
|
||||
|
||||
|
||||
void CreateCommandMessagesTable(Messages & cmessages)
|
||||
void CreateCommandMessagesTable(Messages<BOOL> & cmessages)
|
||||
{
|
||||
cmessages.Associate(IDM_ALWAYS_ON_TOP, WmCommand_AlwaysOnTop);
|
||||
cmessages.Associate(IDM_NORMAL_VIEW, WmCommand_NormalView);
|
||||
cmessages.Associate(IDM_COMPACT_VIEW, WmCommand_CompactView);
|
||||
cmessages.Associate(IDM_PAD, WmCommand_Pad);
|
||||
cmessages.Associate(IDM_HELP_ABOUT, WmCommand_HelpAbout);
|
||||
cmessages.Associate(IDM_NEW_WINDOW, WmCommand_NewWindow);
|
||||
cmessages.Associate(IDM_CLOSE_PROGRAM, WmCommand_CloseProgram);
|
||||
@@ -1182,7 +1201,7 @@ void CreateCommandMessagesTable(Messages & cmessages)
|
||||
|
||||
BOOL WmCommand(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static Messages command_messages;
|
||||
static Messages<BOOL> command_messages;
|
||||
|
||||
if( command_messages.Empty() )
|
||||
// initiation
|
||||
@@ -1196,7 +1215,7 @@ static Messages command_messages;
|
||||
|
||||
|
||||
|
||||
void CreateMainMessagesTable(Messages & messages)
|
||||
void CreateMainMessagesTable(Messages<BOOL> & messages)
|
||||
{
|
||||
messages.Associate(WM_INITDIALOG, WmInitDialog);
|
||||
messages.Associate(WM_MOVE, WmMove);
|
||||
|
@@ -42,10 +42,12 @@
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
||||
template<typename ProcReturnType>
|
||||
class Messages
|
||||
{
|
||||
public:
|
||||
typedef BOOL (*MessageFunction)(HWND, UINT, WPARAM, LPARAM);
|
||||
typedef ProcReturnType (*MessageFunction)(HWND, UINT, WPARAM, LPARAM);
|
||||
typedef std::map<UINT, MessageFunction> MessageTable;
|
||||
|
||||
|
||||
@@ -61,19 +63,28 @@ public:
|
||||
}
|
||||
|
||||
|
||||
bool Call(UINT key, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
ProcReturnType Call(UINT key, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, bool * method_exists = 0)
|
||||
{
|
||||
MessageTable::iterator i = message_table.find(key);
|
||||
typename MessageTable::iterator i = message_table.find(key);
|
||||
|
||||
if( i == message_table.end() )
|
||||
{
|
||||
if( method_exists )
|
||||
*method_exists = false;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if( method_exists )
|
||||
*method_exists = true;
|
||||
|
||||
return i->second(hWnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
|
||||
bool IsMessage(UINT key)
|
||||
{
|
||||
MessageTable::iterator i = message_table.find(key);
|
||||
typename MessageTable::iterator i = message_table.find(key);
|
||||
|
||||
if( i == message_table.end() )
|
||||
return false;
|
||||
|
@@ -376,6 +376,16 @@ HWND ProgramResources::GetMainWindow()
|
||||
return main_window;
|
||||
}
|
||||
|
||||
void ProgramResources::SetPadWindow(HWND h)
|
||||
{
|
||||
pad_window = h;
|
||||
}
|
||||
|
||||
HWND ProgramResources::GetPadWindow()
|
||||
{
|
||||
return pad_window;
|
||||
}
|
||||
|
||||
void ProgramResources::SetTabWindow(unsigned int id, HWND h)
|
||||
{
|
||||
if( id >= sizeof(tab_window) / sizeof(HWND) )
|
||||
@@ -430,6 +440,26 @@ int ProgramResources::GetPrecision()
|
||||
|
||||
|
||||
|
||||
void ProgramResources::TurnPad()
|
||||
{
|
||||
show_pad = !show_pad;
|
||||
|
||||
if( show_pad )
|
||||
{
|
||||
ShowWindow(pad_window, SW_SHOW);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowWindow(pad_window, SW_HIDE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool ProgramResources::IsPadVisible()
|
||||
{
|
||||
return show_pad;
|
||||
}
|
||||
|
||||
ProgramResources::ProgramResources()
|
||||
{
|
||||
// if you want to change the input buffer you have also to change
|
||||
@@ -481,6 +511,8 @@ ProgramResources::ProgramResources()
|
||||
|
||||
variables_id = 0;
|
||||
functions_id = 0;
|
||||
|
||||
show_pad = false;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -43,12 +43,13 @@
|
||||
\brief various kinds of objects using by the application
|
||||
*/
|
||||
|
||||
#include <ttmath/ttmathobjects.h>
|
||||
#include "compileconfig.h"
|
||||
#include "iniparser.h"
|
||||
#include "languages.h"
|
||||
#include "threadcontroller.h"
|
||||
#include "convert.h"
|
||||
|
||||
#include <ttmath/ttmathobjects.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <cstdlib>
|
||||
@@ -198,6 +199,9 @@ public:
|
||||
HWND GetMainWindow();
|
||||
|
||||
|
||||
void SetPadWindow(HWND h);
|
||||
HWND GetPadWindow();
|
||||
|
||||
/*!
|
||||
handles to the dialogs which are placed on the tab control
|
||||
*/
|
||||
@@ -339,6 +343,19 @@ public:
|
||||
void SetDegRadGrad(int angle);
|
||||
int GetDegRadGrad();
|
||||
|
||||
|
||||
/*!
|
||||
is the pad window is visible then the method hides it (and vice versa)
|
||||
*/
|
||||
void TurnPad();
|
||||
|
||||
|
||||
/*!
|
||||
returning true if the pad window is visible
|
||||
*/
|
||||
bool IsPadVisible();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
bool IsWhiteCharacter(int c);
|
||||
@@ -363,6 +380,7 @@ private:
|
||||
|
||||
HINSTANCE hInstance;
|
||||
HWND main_window;
|
||||
HWND pad_window;
|
||||
HWND tab_window[6];
|
||||
|
||||
int precision;
|
||||
@@ -393,7 +411,7 @@ private:
|
||||
int angle_deg_rad_grad;
|
||||
|
||||
int bad_line;
|
||||
|
||||
bool show_pad;
|
||||
|
||||
};
|
||||
|
||||
|
@@ -187,11 +187,12 @@
|
||||
#define IDM_VIEW_INDEX 0
|
||||
#define IDM_EDIT_INDEX 1
|
||||
#define IDM_HELP_INDEX 2
|
||||
#define IDM_LANGUAGE_INDEX 6
|
||||
#define IDM_LANGUAGE_INDEX 8
|
||||
#define IDM_NEW_WINDOW 40001
|
||||
#define IDM_NORMAL_VIEW 40002
|
||||
#define IDM_COMPACT_VIEW 40003
|
||||
#define IDM_ALWAYS_ON_TOP 40004
|
||||
#define IDM_PAD 40005
|
||||
#define IDM_LANGUAGE_ENGLISH 40010
|
||||
#define IDM_LANGUAGE_POLISH 40011
|
||||
#define IDM_LANGUAGE_SPANISH 40012
|
||||
|
@@ -23,6 +23,8 @@ BEGIN
|
||||
MENUITEM "No&rmal", 40002
|
||||
MENUITEM "&Compact", 40003
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Pad", 40005
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Always on top", 40004
|
||||
POPUP "&Language"
|
||||
BEGIN
|
||||
|
@@ -43,6 +43,7 @@
|
||||
\brief it tells us whether there was a stop signal or not
|
||||
*/
|
||||
|
||||
#include "compileconfig.h"
|
||||
#include <ttmath/ttmathtypes.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
@@ -919,7 +919,7 @@ return true;
|
||||
|
||||
|
||||
|
||||
void CreateTabCommandMessagesTable(Messages & cmessages)
|
||||
void CreateTabCommandMessagesTable(Messages<BOOL> & cmessages)
|
||||
{
|
||||
cmessages.Associate(IDC_BUTTON_PRESS_0, WmTabCommand_Press_0_9);
|
||||
cmessages.Associate(IDC_BUTTON_PRESS_1, WmTabCommand_Press_0_9);
|
||||
@@ -1006,7 +1006,7 @@ void CreateTabCommandMessagesTable(Messages & cmessages)
|
||||
*/
|
||||
BOOL WmTabCommand(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static Messages command_messages;
|
||||
static Messages<BOOL> command_messages;
|
||||
|
||||
if( command_messages.Empty() )
|
||||
// initiation
|
||||
@@ -1388,7 +1388,7 @@ return false;
|
||||
|
||||
|
||||
|
||||
void CreateTabMessagesTable(Messages & messages)
|
||||
void CreateTabMessagesTable(Messages<BOOL> & messages)
|
||||
{
|
||||
messages.Associate(WM_INITDIALOG, WmTabInitDialog);
|
||||
messages.Associate(WM_COMMAND, WmTabCommand);
|
||||
@@ -1412,7 +1412,7 @@ void CreateTabMessagesTable(Messages & messages)
|
||||
|
||||
BOOL CALLBACK TabWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static Messages messages;
|
||||
static Messages<BOOL> messages;
|
||||
|
||||
if( messages.Empty() )
|
||||
// initiation
|
||||
|
@@ -82,6 +82,9 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
|
||||
if( !GetPrgRes()->GetMainWindow() )
|
||||
return ShowError( Languages::cant_create_main_window );
|
||||
|
||||
if( !CreatePadWindow() )
|
||||
return ShowError( Languages::cant_create_pad );
|
||||
|
||||
// there's the main loop of messages here
|
||||
MainMessagesLoop();
|
||||
|
||||
@@ -185,7 +188,7 @@ MSG msg;
|
||||
*/
|
||||
BOOL CALLBACK MainWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static Messages messages;
|
||||
static Messages<BOOL> messages;
|
||||
|
||||
if( messages.Empty() )
|
||||
// initiation
|
||||
|
@@ -47,6 +47,7 @@
|
||||
#include "resource.h"
|
||||
#include "messages.h"
|
||||
#include "tabs.h"
|
||||
#include "pad.h"
|
||||
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
@@ -66,7 +67,7 @@ namespace MainWindowFunctions
|
||||
bool SetNextFocus(WPARAM wParam);
|
||||
bool CopyResult();
|
||||
bool Paste();
|
||||
void CreateMainMessagesTable(Messages & messages);
|
||||
void CreateMainMessagesTable(Messages<BOOL> & messages);
|
||||
BOOL CALLBACK AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user