9dcb57236544ad2fda90bc6afd4f787cf2567d7c
[picodrive.git] / platform / uiq3 / App.h
1 /*******************************************************************\r
2  *\r
3  *      File:           App.h\r
4  *\r
5  *      Author:         Peter van Sebille (peter@yipton.net)\r
6  *\r
7  *  Modified/adapted for picodriveN by notaz, 2006\r
8  *\r
9  *  (c) Copyright 2006, notaz\r
10  *      (c) Copyright 2001, Peter van Sebille\r
11  *      All Rights Reserved\r
12  *\r
13  *******************************************************************/\r
14 \r
15 #ifndef __APP_H\r
16 #define __APP_H\r
17 \r
18 #include <coecntrl.h>\r
19 #include <coeccntx.h>\r
20 #include <coemain.h>\r
21 \r
22 #include <qikappui.h>\r
23 #include <QikApplication.h>\r
24 #include <QikViewBase.h>\r
25 //#include <eikapp.h>\r
26 #include <QikDocument.h>\r
27 \r
28 #include "Engine.h"\r
29 #include "picodrive.hrh"\r
30 \r
31 const TUid KUidPicolApp      = { 0xA00010F3 };\r
32 const TUid KUidPicolMainView = { 0x00000001 };\r
33 //const TUid KUidPicolFOView = { 0x1000C194 };\r
34 //const TUid KUidPicolFCView = { 0x1000C195 };\r
35 const TUid KUidPicolStore    = { 0x00000011 }; // store stream UID\r
36 \r
37 //enum\r
38 //{\r
39 //  EScreenModeFlipOpen = 0,\r
40 //  EScreenModeFlipClosed\r
41 //};\r
42 \r
43 \r
44 \r
45 class CPicolAppView : public CQikViewBase\r
46 {\r
47 public:\r
48         static CPicolAppView* NewLC(CQikAppUi& aAppUi, TPicoConfig& aCurrentConfig);\r
49         ~CPicolAppView();\r
50 \r
51         // from CQikViewBase\r
52         TVwsViewId ViewId()const;\r
53         void HandleCommandL(CQikCommand& aCommand);\r
54         void UpdateCommandList();\r
55 \r
56 protected: \r
57         // from CQikViewBase\r
58         void ViewConstructL();\r
59         \r
60 private:\r
61         CPicolAppView(CQikAppUi& aAppUi, TPicoConfig& aCurrentConfig);\r
62         void ConstructL();\r
63 \r
64 protected:              // new stuf\r
65         void DisplayAboutDialogL();\r
66         void DisplayOpenROMDialogL();\r
67         void DisplayConfigDialogL();\r
68         void DisplayDebugDialogL();\r
69 \r
70 /*      void StopGame();\r
71         void RunGameL();*/\r
72 \r
73 private:\r
74         TPicoConfig&            iCurrentConfig;\r
75         TBool                           iROMLoaded;\r
76         TBool                           iTitleAdded;\r
77 };\r
78 \r
79 \r
80 \r
81 class CPicolAppUi : public CQikAppUi\r
82 {\r
83 public:\r
84 //      CPicolAppUi();\r
85         void ConstructL();\r
86 \r
87         CPicolAppView*          iAppView;\r
88 };\r
89 \r
90 \r
91 class CPicolDocument : public CQikDocument\r
92 {\r
93 public:\r
94         CPicolDocument(CQikApplication& aApp);\r
95         void StoreL(CStreamStore& aStore, CStreamDictionary& aStreamDic) const;\r
96         void RestoreL(const CStreamStore& aStore, const CStreamDictionary& aStreamDic);\r
97 \r
98         TPicoConfig                     iCurrentConfig;\r
99 \r
100 private: // from CQikDocument\r
101         CQikAppUi* CreateAppUiL();\r
102 };\r
103 \r
104 \r
105 class CPicolApplication : public CQikApplication\r
106 {\r
107 private: // from CApaApplication\r
108         CApaDocument* CreateDocumentL();\r
109         TUid AppDllUid() const;\r
110 };\r
111 \r
112 #endif\r