ultimatepp/upptst/GuiMtTest/main.cpp
cxl 58f4364bed upptst, sync
git-svn-id: svn://ultimatepp.org/upp/trunk@1283 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-06-05 13:02:26 +00:00

141 lines
1.8 KiB
C++

<<<<<<< .mine
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct App : TopWindow {
Thread work;
void Work();
ArrayCtrl list;
typedef App CLASSNAME;
App();
~App();
};
void Ask(bool *result)
{
*result = PromptYesNo("Do you want to quit?");
}
void App::Work()
{
int q = 0;
while(!Thread::IsShutdownThreads()) {
if(list.GetCount() > 500) {
#if 0
bool result;
Call(callback1(Ask, &result));
if(result) {
GuiLock __;
Break();
}
#else
if(PromptYesNo("Do you want to quit?")) {
GuiLock __;
Break();
}
#endif
q = 0;
}
{
GuiLock __;
list.Add((int)Random());
GuiSleep(10);
}
Sleep(1);
}
}
App::App()
{
list.AddColumn("Test");
Add(list.SizePos());
work.Run(THISBACK(Work));
}
App::~App()
{
Thread::ShutdownThreads();
work.Wait();
}
GUI_APP_MAIN
{
App app;
app.Run();
}
=======
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct App : TopWindow {
Thread work;
void Work();
ArrayCtrl list;
typedef App CLASSNAME;
App();
~App();
};
void Ask(bool *result)
{
*result = PromptYesNo("Do you want to quit?");
}
void App::Work()
{
int q = 0;
while(!Thread::IsShutdownThreads()) {
if(++q > 200) {
#if 0
bool result;
Call(callback1(Ask, &result));
if(result) {
Ctrl::Lock __(*this);
Break();
}
#else
if(PromptYesNo("Do you want to quit?")) {
Ctrl::Lock __(*this);
Break();
}
#endif
q = 0;
}
for(int i = 0; i < 101; i++) {
Ctrl::Lock __(list);
list.Set(i, 0, (int)Random());
}
Sleep(10);
}
}
App::App()
{
list.AddColumn("Test");
Add(list.SizePos());
work.Run(THISBACK(Work));
}
App::~App()
{
Thread::ShutdownThreads();
work.Wait();
}
GUI_APP_MAIN
{
App app;
app.Run();
}
>>>>>>> .r1219