Mercurial > dwindows
comparison dwtestoo.cpp @ 2866:6ea67d0809eb
Convert DW::App class into a singleton so subsequent DW::App::Init() calls
will return a handle to our instance once it is already initialized.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 17 Dec 2022 11:51:22 +0000 |
parents | fd32dce7fecd |
children | ada74f4d3f39 |
comparison
equal
deleted
inserted
replaced
2865:fd32dce7fecd | 2866:6ea67d0809eb |
---|---|
1 #include <dw.hpp> | 1 #include <dw.hpp> |
2 | |
3 DW::App *app; | |
4 | 2 |
5 class MyWindow : public DW::Window | 3 class MyWindow : public DW::Window |
6 { | 4 { |
7 public: | 5 public: |
8 MyWindow() { | 6 MyWindow() { |
9 SetText("Basic application"); | 7 SetText("Basic application"); |
10 SetSize(200, 200); | 8 SetSize(200, 200); |
11 } | 9 } |
12 protected: | 10 protected: |
13 virtual int OnDelete() { app->MainQuit(); return FALSE; } | 11 virtual int OnDelete() { DW::App *app = DW::App::Init(); app->MainQuit(); return FALSE; } |
14 virtual int OnConfigure(int width, int height) { return FALSE; } | 12 virtual int OnConfigure(int width, int height) { return FALSE; } |
15 }; | 13 }; |
16 | 14 |
17 int dwmain(int argc, char* argv[]) | 15 int dwmain(int argc, char* argv[]) |
18 { | 16 { |
19 app = new DW::App(argc, argv, "org.dbsoft.dwindows.dwtestoo"); | 17 DW::App *app = DW::App::Init(argc, argv, "org.dbsoft.dwindows.dwtestoo"); |
20 MyWindow *window = new MyWindow(); | 18 MyWindow *window = new MyWindow(); |
21 | 19 |
22 window->Show(); | 20 window->Show(); |
23 | 21 |
24 app->Main(); | 22 app->Main(); |