From 3a1bf865b6c1b6b7c096eaf6dab91a465319488a Mon Sep 17 00:00:00 2001 From: Ian C Date: Mon, 4 Apr 2005 00:52:23 +0000 Subject: Added DataX --- src/test/dialog.h | 3 +++ src/test/dialog.rc | 9 +++++++ src/test/w32dtst.cpp | 68 +++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 66 insertions(+), 14 deletions(-) (limited to 'src/test') diff --git a/src/test/dialog.h b/src/test/dialog.h index 7123816..6789be0 100644 --- a/src/test/dialog.h +++ b/src/test/dialog.h @@ -19,3 +19,6 @@ #define IDMENUTEST 19 #define IDMENUTESTITEM1 20 #define IDMENUTESTITEM2 21 +#define IDPOPUP 22 +#define IDPOPUP1 23 +#define IDPOPUP2 24 diff --git a/src/test/dialog.rc b/src/test/dialog.rc index ed3508e..0f36ecc 100644 --- a/src/test/dialog.rc +++ b/src/test/dialog.rc @@ -40,3 +40,12 @@ IDMENU MENU } } } + +IDPOPUP MENU +{ + POPUP "File" + { + MENUITEM "Opt 1", IDPOPUP1 + MENUITEM "Opt 2", IDPOPUP2 + } +} diff --git a/src/test/w32dtst.cpp b/src/test/w32dtst.cpp index 75b5b44..838c9f5 100644 --- a/src/test/w32dtst.cpp +++ b/src/test/w32dtst.cpp @@ -24,19 +24,24 @@ #include "dialog.h" +#define DATAX_TEST + class Test : public W32DLib::Dialog { public: - Test() : m_static(this,IDSTATIC1) - , m_text(this,IDTEXT) - , m_check(this,IDCHECK) - , m_button(this,IDBUTTON) - , m_quit(this,IDQUIT) - , m_load(this,IDLOADTXT) - , m_loadbut(this,IDLOADBUT) - , m_save(this,IDSAVETXT) - , m_savebut(this,IDSAVEBUT) - , m_combo(this,IDCOMBO) + Test() : m_check_data(W32DLib::DataX::eBool) + , m_combo_data(W32DLib::DataX::eInt) + , m_text_data(W32DLib::DataX::eString) + , m_static(this,IDSTATIC1) + , m_text(this,IDTEXT,&m_text_data) + , m_check(this,IDCHECK,&m_check_data) + , m_button(this,IDBUTTON) + , m_quit(this,IDQUIT) + , m_load(this,IDLOADTXT) + , m_loadbut(this,IDLOADBUT) + , m_save(this,IDSAVETXT) + , m_savebut(this,IDSAVEBUT) + , m_combo(this,IDCOMBO,&m_combo_data) { m_button.OnPress (this,static_cast(&Test::OnButton)); @@ -76,8 +81,9 @@ public: virtual void OnInit() { std::cout << "OnInit()" << std::endl; - m_text.SetText("Hello"); - m_check.SetState(W32DLib::AutoCheck::eChecked); + std::cout << "Can be used from a thread:" + << (HasMutex() ? "Yes":"No") << std::endl; + m_quit.Enable(true); m_combo.Reset(); @@ -88,10 +94,23 @@ public: std::cout << "count=" << m_combo.Count() << std::endl; std::cout << "HWND=" << m_combo.GetHWND() << std::endl; +#ifdef DATAX_TEST + m_text_data.Set("Hello"); + m_check_data.Set(true); + m_combo_data.Set(2); + SetData(); +#else + m_text.SetText("Hello"); + m_check.SetState(W32DLib::AutoCheck::eChecked); m_combo.SelectedIndex(2); +#endif } private: + W32DLib::DataX m_check_data; + W32DLib::DataX m_combo_data; + W32DLib::DataX m_text_data; + W32DLib::StaticText m_static; W32DLib::Text m_text; W32DLib::AutoCheck m_check; @@ -118,11 +137,18 @@ private: BOOL OnButton(UINT msg, WPARAM wp, LPARAM lp) { +#ifdef DATAX_TEST + GetData(); + bool check=m_check_data.Bool(); + std::string txt=m_text_data.Str(); +#else + bool check=m_check.GetState(); std::string txt=m_text.GetText(); +#endif std::cout << "Called OnButton()" << std::endl; std::cout << "text=" << txt << std::endl; - std::cout << "check=" << m_check.GetState() << std::endl; + std::cout << "check=" << check << std::endl; m_static.SetText(txt); SetText(txt+" [Title]"); m_combo.AddString(m_combo.GetText()); @@ -132,7 +158,12 @@ private: BOOL OnCheck(UINT msg, WPARAM wp, LPARAM lp) { +#ifdef DATAX_TEST + GetData(); + bool checked=m_check_data.Bool(); +#else bool checked=m_check.GetState(); +#endif std::cout << "Called OnCheck() - state " << checked << std::endl; @@ -182,7 +213,12 @@ private: BOOL OnComboDbl(UINT msg, WPARAM wp, LPARAM lp) { +#ifdef DATAX_TEST + GetData(); + int sel=m_combo_data.Int(); +#else int sel=m_combo.SelectedIndex(); +#endif std::string str=m_combo.GetString(sel); std::cout << "Called OnComboDbl()" << std::endl; @@ -201,7 +237,7 @@ private: BOOL OnText(UINT msg, WPARAM wp, LPARAM lp) { std::cout << "Called OnText()" << std::endl; - std::cout << ":GetText=" << m_text.GetText() << std::endl; + std::cout << "OnText::GetText=" << m_text.GetText() << std::endl; return TRUE; } @@ -233,6 +269,10 @@ int WINAPI WinMain (HINSTANCE hInstance, Test t; INT_PTR i; +#ifdef DATAX_TEST + std::cout << "DATAX_TEST enabled" << std::endl; +#endif + i=t.ShowModal(hInstance,NULL); if (i==IDOK) -- cgit v1.2.3