My Project
 
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1#pragma once
2
3#include "group.h"
4#include "signal.h"
5#include "keys.h"
6#include "ninepatch.h"
7#include "toucharea.h"
8#include "shadowbox.h"
9#include "typedefine.h"
10#include "component.h"
11#include "itemsprite.h"
12#include "journal.h"
13
14class Window:public Group, public Signal<Keys::Key>::Listener{
15public:
16 int width;
17 int height;
18
19 TouchArea* blocker;
21 NinePatch* chrome;
22
23public:
24 static const int TITLE_COLOR = 0xFFFF44;
25
26 Window();
27 Window(int width, int height);
28 Window(int width, int height, NinePatch* chrome);
29
30 virtual void onBackPressed()
31 {
32 hide();
33
34 delete this;
35 }
36 void hide()
37 {
38 parent->erase(this);
39 //destroy();
40 // ATTENTION: call hide, and then delete
41 }
42
43 virtual void resize(int w, int h);
44 virtual void destroy();
45
46 virtual void onSignal(Keys::Key* key);
47};
48
49class WndInfoCell :public Window{
50private:
51 static const float GAP;
52
53 static const int WIDTH = 120;
54
55 static const String TXT_NOTHING;
56
57public:
58 WndInfoCell(int cell);
59};
60
61class BitmapText;
62class Image;
63class ScrollPane;
64
65class WndJournal :public Window{
66private:
67 class ListItem :public Component{
68 private:
69 BitmapText* feature;
70 BitmapText* depth;
71
72 Image* icon;
73
74 public:
75 ListItem(Journal::Feature f, int d);
76
77 protected:
78 virtual void createChildren();
79 virtual void layout();
80 };
81private:
82 static const int WIDTH = 112;
83 static const int HEIGHT_P = 160;
84 static const int HEIGHT_L = 144;
85
86 static const int ITEM_HEIGHT = 18;
87
88 static const String TXT_TITLE;
89
90 BitmapText* txtTitle;
91 ScrollPane* list;
92
93public:
94 WndJournal();
95};
96
97class Heap;
98
99class WndInfoItem :public Window{
100private:
101 static const String TXT_CHEST;
102 static const String TXT_LOCKED_CHEST;
103 static const String TXT_CRYSTAL_CHEST;
104 static const String TXT_TOMB;
105 static const String TXT_SKELETON;
106 static const String TXT_WONT_KNOW;
107 static const String TXT_NEED_KEY;
108 static const String TXT_INSIDE;
109 static const String TXT_OWNER;
110 static const String TXT_REMAINS;
111
112 static const float GAP;
113
114 static const int WIDTH = 120;
115
116 void fillFields(int image, ItemSprite::Glowing* glowing, int titleColor, const String& title, const String& info);
117public:
118 WndInfoItem(Heap* heap);
119 WndInfoItem(Item* item);
120};
121
122class WndBag;
123
124class WndTradeItem :public Window{
125private:
126 static const float GAP;
127 static const int WIDTH = 120;
128 static const int BTN_HEIGHT = 16;
129
130 static const String TXT_SALE;
131 static const String TXT_BUY;
132 static const String TXT_SELL;
133 static const String TXT_SELL_1;
134 static const String TXT_SELL_ALL;
135 static const String TXT_CANCEL;
136
137 static const String TXT_SOLD;
138 static const String TXT_BOUGHT;
139
140 WndBag* owner;
141
142 float createDescription(Item* item, boolean forSale);
143
144 int price(Item* item);
145public:
146 WndTradeItem(Item* item, WndBag* owner);
147 WndTradeItem(Heap* heap, bool canBuy);
148
149 virtual void hide();
150 void sell(Item* item);
151 void sellOne(Item* item);
152 void buy(Heap* heap);
153};
Definition heap.h:11
Definition item.h:15
Definition itemsprite.h:10
Definition journal.h:8
Definition scrollpane.h:9
Definition shadowbox.h:7
ShadowBox * shadow
Definition window.h:20
void hide()
Definition window.h:36
virtual void onSignal(Keys::Key *key)
Definition window.cpp:124
static const int TITLE_COLOR
Definition window.h:24
NinePatch * chrome
Definition window.h:21
Window()
Definition window.cpp:47
virtual void resize(int w, int h)
Definition window.cpp:100
virtual void destroy()
Definition window.cpp:116
TouchArea * blocker
Definition window.h:19
int height
Definition window.h:17
virtual void onBackPressed()
Definition window.h:30
int width
Definition window.h:16
Definition wndbag.h:8
WndInfoCell(int cell)
Definition window.cpp:144
WndInfoItem(Heap *heap)
Definition window.cpp:316
WndJournal()
Definition window.cpp:197
void buy(Heap *heap)
Definition window.cpp:471
void sell(Item *item)
Definition window.cpp:427
void sellOne(Item *item)
Definition window.cpp:443
virtual void hide()
Definition window.cpp:630
WndTradeItem(Item *item, WndBag *owner)
Definition window.cpp:565
std::string String
Definition typedefine.h:8