ScummVM API documentation
messages.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef TITANIC_MESSAGES_H
23 #define TITANIC_MESSAGES_H
24 
25 #include "common/keyboard.h"
26 #include "titanic/core/saveable_object.h"
27 #include "titanic/core/tree_item.h"
28 #include "titanic/support/strings.h"
29 
30 namespace Titanic {
31 
32 enum MessageFlag {
33  MSGFLAG_SCAN = 1,
34  MSGFLAG_BREAK_IF_HANDLED = 2,
35  MSGFLAG_CLASS_DEF = 4
36 };
37 
38 #define MESSAGE0(NAME) \
39  class NAME: public CMessage { \
40  public: NAME() : CMessage() {} \
41  CLASSDEF; \
42  static bool isSupportedBy(const CTreeItem *item) { \
43  return supports(item, _type); } \
44 }
45 #define MESSAGE1(NAME, F1, N1, V1) \
46  class NAME: public CMessage { \
47  public: F1 _##N1; \
48  NAME() : CMessage(), _##N1(V1) {} \
49  NAME(F1 N1) : CMessage(), _##N1(N1) {} \
50  CLASSDEF; \
51  static bool isSupportedBy(const CTreeItem *item) { \
52  return supports(item, _type); } \
53 }
54 #define MESSAGE2(NAME, F1, N1, V1, F2, N2, V2) \
55  class NAME: public CMessage { \
56  public: F1 _##N1; F2 _##N2; \
57  NAME() : CMessage(), _##N1(V1), _##N2(V2) {} \
58  NAME(F1 N1, F2 N2) : CMessage(), _##N1(N1), _##N2(N2) {} \
59  CLASSDEF; \
60  static bool isSupportedBy(const CTreeItem *item) { \
61  return supports(item, _type); } \
62 }
63 #define MESSAGE3(NAME, F1, N1, V1, F2, N2, V2, F3, N3, V3) \
64  class NAME: public CMessage { \
65  public: F1 _##N1; F2 _##N2; F3 _##N3; \
66  NAME() : CMessage(), _##N1(V1), _##N2(V2), _##N3(V3) {} \
67  NAME(F1 N1, F2 N2, F3 N3) : CMessage(), _##N1(N1), _##N2(N2), _##N3(N3) {} \
68  CLASSDEF; \
69  static bool isSupportedBy(const CTreeItem *item) { \
70  return supports(item, _type); } \
71 }
72 #define MESSAGE4(NAME, F1, N1, V1, F2, N2, V2, F3, N3, V3, F4, N4, V4) \
73  class NAME: public CMessage { \
74  public: F1 _##N1; F2 _##N2; F3 _##N3; F4 _##N4; \
75  NAME() : CMessage(), _##N1(V1), _##N2(V2), _##N3(V3), _##N4(V4) {} \
76  NAME(F1 N1, F2 N2, F3 N3, F4 N4) : CMessage(), _##N1(N1), _##N2(N2), _##N3(N3), _##N4(N4) {} \
77  CLASSDEF; \
78  static bool isSupportedBy(const CTreeItem *item) { \
79  return supports(item, _type); } \
80 }
81 
82 class CCarry;
83 class CCharacter;
84 class CGameObject;
85 class CRoomItem;
86 class CNodeItem;
87 class CViewItem;
88 class CMusicPlayer;
89 class CMovePlayerTo;
90 
91 class CMessage : public CSaveableObject {
92 private:
96  static const MSGMAP_ENTRY *findMapEntry(const CTreeItem *treeItem, const ClassDef *classDef);
97 public:
98  CLASSDEF;
99  CMessage();
100 
105  bool execute(CTreeItem *target, const ClassDef *classDef = nullptr,
106  int flags = MSGFLAG_SCAN | MSGFLAG_BREAK_IF_HANDLED);
107 
112  bool execute(const CString &target, const ClassDef *classDef = nullptr,
113  int flags = MSGFLAG_SCAN | MSGFLAG_BREAK_IF_HANDLED);
114 
118  virtual bool perform(CTreeItem *treeItem);
119 
123  static bool supports(const CTreeItem *treeItem, ClassDef *classDef);
124 
128  void save(SimpleFile *file, int indent) override;
129 
133  void load(SimpleFile *file) override;
134 
135  virtual bool isMouseMsg() const;
136  virtual bool isButtonDownMsg() const;
137  virtual bool isButtonUpMsg() const;
138  virtual bool isMouseMoveMsg() const;
139  virtual bool isDoubleClickMsg() const;
140  virtual bool isEnterRoomMsg() const;
141  virtual bool isPreEnterRoomMsg() const;
142  virtual bool isleaveRoomMsg() const;
143  virtual bool isEnterNodeMsg() const;
144  virtual bool isPreEnterNodeMsg() const;
145  virtual bool isLeaveNodeMsg() const;
146  virtual bool isEnterViewMsg() const;
147  virtual bool isPreEnterViewMsg() const;
148  virtual bool isLeaveViewMsg() const;
149 };
150 
151 enum EditControlAction {
152  EDIT_INIT = 0,
153  EDIT_CLEAR = 1,
154  EDIT_SET_TEXT = 2,
155  EDIT_GET_TEXT = 3,
156  EDIT_LENGTH = 4,
157  EDIT_MAX_LENGTH = 5,
158  EDIT_KEYPRESS = 6,
159  EDIT_SET_FONT = 7,
160  EDIT_SHOW_CURSOR = 8,
161  EDIT_HIDE_CURSOR = 9,
162  EDIT_BORDERS = 10,
163  EDIT_SET_COLOR = 11,
164  EDIT_SHOW = 12,
165  EDIT_HIDE = 13,
166  EDIT_RENDER = 14
167 };
168 
169 class CEditControlMsg : public CMessage {
170 public:
171  EditControlAction _mode;
172  int _param;
173  CString _text;
174  byte _textR;
175  byte _textG;
176  byte _textB;
177 public:
178  CLASSDEF;
179  CEditControlMsg() : _mode(EDIT_INIT), _param(0), _textR(0), _textG(0), _textB(0) {}
180 
181  static bool isSupportedBy(const CTreeItem *item) {
182  return CMessage::supports(item, _type);
183  }
184 };
185 
186 MESSAGE1(CTimeMsg, uint, _ticks, 0);
187 
188 class CTimerMsg : public CTimeMsg {
189 public:
190  uint _timerCtr;
191  int _actionVal;
192  CString _action;
193 public:
194  CLASSDEF;
195  CTimerMsg() : CTimeMsg(), _timerCtr(0), _actionVal(0) {}
196  CTimerMsg(uint ticks, uint timerCtr, int actionVal, const CString &action) :
197  CTimeMsg(ticks), _timerCtr(timerCtr), _actionVal(actionVal), _action(action) {}
198 
199  static bool isSupportedBy(const CTreeItem *item) {
200  return supports(item, _type);
201  }
202 };
203 
204 class CShowTextMsg : public CMessage {
205 public:
206  CString _message;
207 public:
208  CLASSDEF;
209  CShowTextMsg();
210  CShowTextMsg(const CString &msg);
211  CShowTextMsg(StringId stringId);
212 
213  static bool isSupportedBy(const CTreeItem *item) {
214  return supports(item, _type);
215  }
216 };
217 
218 enum MissiveOMatAction {
219  MESSAGE_NONE = 1, MESSAGE_SHOW = 2, NEXT_MESSAGE = 3, PRIOR_MESSAGE = 4,
220  MESSAGE_5 = 5, MESSAGE_DOWN = 6, MESSAGE_UP = 7, REDRAW_MESSAGE = 8,
221  MESSAGE_STARTUP = 9
222 };
223 
224 enum Movement {
225  MOVE_NONE = 0, MOVE_FORWARDS, MOVE_BACKWARDS, TURN_LEFT, TURN_RIGHT
226 };
227 
228 enum ChangeMusicAction {
229  MUSIC_NONE = 0, MUSIC_STOP = 1, MUSIC_START = 2
230 };
231 
232 class CMovementMsg : public CMessage {
233 public:
234  Movement _movement;
235  Point _posToUse;
236 public:
237  CLASSDEF;
238  CMovementMsg() : _movement(MOVE_NONE) {}
239  CMovementMsg(Movement move) : _movement(move) {}
240  CMovementMsg(Common::KeyCode key) :
241  _movement(getMovement(key)) {}
242 
243  static bool isSupportedBy(const CTreeItem *item) {
244  return supports(item, _type);
245  }
246 
250  static Movement getMovement(Common::KeyCode keycode);
251 };
252 
253 
254 MESSAGE1(CActMsg, CString, action, "");
255 MESSAGE1(CActivationmsg, CString, value, "");
256 MESSAGE1(CAddHeadPieceMsg, CString, value, "NULL");
257 MESSAGE1(CAnimateMaitreDMsg, int, value, 0);
258 MESSAGE1(CArboretumGateMsg, int, value, 0);
261 MESSAGE1(CBowlStateChangeMsg, int, state, 0);
262 MESSAGE2(CCarryObjectArrivedMsg, CString, strValue, "", int, numValue, 0);
263 MESSAGE2(CChangeMusicMsg, CString, filename, "", ChangeMusicAction, action, MUSIC_NONE);
264 MESSAGE1(CChangeSeasonMsg, CString, season, "Summer");
266 MESSAGE2(CCheckChevCode, int, classNum, 0, uint, chevCode, 0);
267 MESSAGE1(CChildDragEndMsg, int, value, 0);
273 MESSAGE1(CDeliverCCarryMsg, CString, value, "");
275 MESSAGE0(CDismissBotMsg);
276 MESSAGE0(CDoffNavHelmet);
277 MESSAGE0(CDonNavHelmet);
278 MESSAGE1(CDoorbotNeededInElevatorMsg, int, value, 0);
280 MESSAGE1(CDropObjectMsg, CCarry *, item, nullptr);
281 MESSAGE1(CDropZoneGotObjectMsg, CGameObject *, object, nullptr);
282 MESSAGE1(CDropZoneLostObjectMsg, CGameObject *, object, nullptr);
283 MESSAGE1(CEjectCylinderMsg, int, value, 0);
284 MESSAGE2(CPreEnterNodeMsg, CNodeItem *, oldNode, nullptr, CNodeItem *, newNode, nullptr);
285 MESSAGE2(CPreEnterRoomMsg, CRoomItem *, oldRoom, nullptr, CRoomItem *, newRoom, nullptr);
286 MESSAGE2(CPreEnterViewMsg, CViewItem *, oldView, nullptr, CViewItem *, newView, nullptr);
287 MESSAGE2(CEnterNodeMsg, CNodeItem *, oldNode, nullptr, CNodeItem *, newNode, nullptr);
288 MESSAGE2(CEnterRoomMsg, CRoomItem *, oldRoom, nullptr, CRoomItem *, newRoom, nullptr);
289 MESSAGE2(CEnterViewMsg, CViewItem *, oldView, nullptr, CViewItem *, newView, nullptr);
291 MESSAGE1(CFrameMsg, uint, ticks, 0);
292 MESSAGE2(CFreshenCookieMsg, int, value1, 0, int, value2, 1);
293 MESSAGE1(CGetChevClassBits, int, classBits, 0);
294 MESSAGE1(CGetChevClassNum, int, classNum, 0);
295 MESSAGE2(CGetChevCodeFromRoomNameMsg, CString, roomName, "", uint, chevCode, 0);
296 MESSAGE1(CGetChevFloorBits, int, floorBits, 0);
297 MESSAGE1(CGetChevFloorNum, int, floorNum, 0);
298 MESSAGE1(CGetChevLiftBits, int, liftBits, 0);
299 MESSAGE1(CGetChevLiftNum, int, liftNum, 0);
300 MESSAGE1(CGetChevRoomBits, int, roomNum, 0);
301 MESSAGE1(CGetChevRoomNum, int, roomNum, 0);
302 MESSAGE2(CHoseConnectedMsg, bool, connected, true, CGameObject *, object, nullptr);
304 MESSAGE1(CIsEarBowlPuzzleDone, int, value, 0);
305 MESSAGE3(CIsHookedOnMsg, Rect, rect, Rect(), bool, isHooked, false, CString, armName, "");
306 MESSAGE1(CIsParrotPresentMsg, bool, isPresent, false);
307 MESSAGE1(CKeyCharMsg, int, key, 32);
308 MESSAGE2(CLeaveNodeMsg, CNodeItem *, oldNode, nullptr, CNodeItem *, newNode, nullptr);
309 MESSAGE2(CLeaveRoomMsg, CRoomItem *, oldRoom, nullptr, CRoomItem *, newRoom, nullptr);
310 MESSAGE2(CLeaveViewMsg, CViewItem *, oldView, nullptr, CViewItem *, newView, nullptr);
312 MESSAGE4(CLightsMsg, bool, topRight, false, bool, topLeft, false, bool, bottomLeft, false, bool, bottomRight, false);
313 MESSAGE1(CLoadSuccessMsg, int, ticks, 0);
314 MESSAGE1(CLockPhonographMsg, int, value, 0);
317 MESSAGE1(CMissiveOMatActionMsg, MissiveOMatAction, action, MESSAGE_NONE);
319 MESSAGE2(CMovieEndMsg, int, startFrame, 0, int, endFrame, 0);
320 MESSAGE2(CMovieFrameMsg, int, frameNumber, 0, int, value2, 0);
324 MESSAGE2(CNPCPlayAnimationMsg, const char *const *, names, nullptr, int, maxDuration, 0);
325 MESSAGE1(CNPCPlayIdleAnimationMsg, const char *const *, names, 0);
326 MESSAGE3(CNPCPlayTalkingAnimationMsg, uint, speechDuration, 0, int, value2, 0, const char *const *, names, nullptr);
328 MESSAGE1(CNutPuzzleMsg, CString, action, "");
329 MESSAGE1(COnSummonBotMsg, int, value, 0);
331 MESSAGE1(CPanningAwayFromParrotMsg, CMovePlayerTo *, target, nullptr);
332 MESSAGE2(CParrotSpeakMsg, CString, target, "", CString, action, "");
333 MESSAGE2(CParrotTriesChickenMsg, bool, isHot, false, int, condiment, 0);
334 MESSAGE1(CPhonographPlayMsg, int, value, 0);
336 MESSAGE1(CPhonographRecordMsg, bool, canRecord, false);
337 MESSAGE3(CPhonographStopMsg, bool, leavingRoom, false, bool, cylinderPresent, false, bool, dontStop, false);
338 MESSAGE2(CPlayRangeMsg, int, value1, 0, int, value2, 0);
339 MESSAGE2(CPlayerTriesRestaurantTableMsg, int, tableId, 0, bool, result, false);
340 MESSAGE1(CPreSaveMsg, int, value, 0);
341 MESSAGE1(CProdMaitreDMsg, int, value, 0);
342 MESSAGE2(CPumpingMsg, int, value, 0, CGameObject *, object, nullptr);
343 MESSAGE1(CPutBotBackInHisBoxMsg, int, value, 0);
344 MESSAGE1(CPutParrotBackMsg, int, value, 0);
346 MESSAGE3(CQueryCylinderHolderMsg, bool, isOpen, false, bool, isPresent, false, CTreeItem *, target, (CTreeItem *)nullptr);
347 MESSAGE1(CQueryCylinderMsg, CString, name, "");
348 MESSAGE1(CQueryCylinderNameMsg, CString, name, "");
349 MESSAGE3(CQueryCylinderTypeMsg, int, value1, 0, int, value2, 0, int, value3, 0);
350 MESSAGE1(CQueryMusicControlSettingMsg, int, value, 0);
351 MESSAGE1(CQueryPhonographState, int, value, 0);
355 MESSAGE1(CRestaurantMusicChanged, CString, value, "");
356 MESSAGE2(CSendCCarryMsg, CString, strValue, "", int, numValue, 0);
357 MESSAGE1(CSenseWorkingMsg, CString, value, "Not Working");
358 MESSAGE2(CServiceElevatorFloorChangeMsg, int, startFloor, 0, int, endFloor, 0);
360 MESSAGE1(CServiceElevatorMsg, int, value, 4);
361 MESSAGE2(CSetChevButtonImageMsg, int, value1, 0, int, value2, 0);
362 MESSAGE1(CSetChevClassBits, int, classNum, 0);
363 MESSAGE1(CSetChevFloorBits, int, floorNum, 0);
364 MESSAGE1(CSetChevLiftBits, int, liftNum, 0);
365 MESSAGE2(CSetChevPanelBitMsg, int, value1, 0, int, value2, 0);
366 MESSAGE1(CSetChevPanelButtonsMsg, int, chevCode, 0);
367 MESSAGE1(CSetChevRoomBits, int, roomFlags, 0);
368 MESSAGE1(CSetFrameMsg, int, frameNumber, 0);
370 MESSAGE2(CSetVarMsg, CString, varName, "", int, value, 0);
371 MESSAGE2(CSetVolumeMsg, int, volume, 70, int, secondsTransition, 0);
372 MESSAGE2(CShipSettingMsg, int, value, 0, CString, name, "");
373 MESSAGE2(CSignalObject, CString, strValue, "", int, numValue, 0);
375 MESSAGE1(CStartMusicMsg, CMusicPlayer *, musicPlayer, (CMusicPlayer *)nullptr);
376 MESSAGE3(CStatusChangeMsg, int, oldStatus, 0, int, newStatus, 0, bool, success, false);
377 MESSAGE1(CStopMusicMsg, CMusicPlayer *, musicPlayer, (CMusicPlayer *)nullptr);
378 MESSAGE4(CSubAcceptCCarryMsg, CString, string1, "", int, value1, 0, int, value2, 0, CCarry *, item, nullptr);
381 MESSAGE0(CSUBTransition);
382 MESSAGE0(CSubTurnOffMsg);
383 MESSAGE0(CSubTurnOnMsg);
384 MESSAGE2(CSummonBotMsg, CString, npcName, "", int, value, 0);
385 MESSAGE1(CSummonBotQueryMsg, CString, npcName, "");
386 MESSAGE1(CTakeHeadPieceMsg, CString, value, "NULL");
387 MESSAGE2(CTextInputMsg, CString, input, "", CString, response, "");
388 MESSAGE1(CTimeDilationMsg, int, value, 0);
390 MESSAGE0(CTransitMsg);
391 MESSAGE1(CTranslateObjectMsg, Point, delta, Point());
392 MESSAGE3(CTransportMsg, CString, roomName, "", int, value1, 0, int, value2, 0);
393 MESSAGE1(CTriggerAutoMusicPlayerMsg, int, value, 0);
394 MESSAGE1(CTriggerNPCEvent, int, value, 0);
395 MESSAGE4(CTrueTalkGetAnimSetMsg, int, value1, 0, uint, index, 0, uint, startFrame, 0, uint, endFrame, 0);
396 MESSAGE2(CTrueTalkGetAssetDetailsMsg, CString, filename, "", int, numValue, 0);
397 MESSAGE2(CTrueTalkGetStateValueMsg, int, stateNum, 0, int, stateVal, -1000);
398 MESSAGE2(CTrueTalkNotifySpeechEndedMsg, int, endState, 0, int, dialogueId, 0);
399 MESSAGE3(CTrueTalkNotifySpeechStartedMsg, uint, speechDuration, 0, uint, dialogueId, 0, int, value, 0);
400 MESSAGE1(CTrueTalkQueueUpAnimSetMsg, int, value, 0);
402 MESSAGE3(CTrueTalkTriggerActionMsg, int, action, 0, int, param1, 0, int, param2, 0);
403 MESSAGE0(CTurnOff);
404 MESSAGE0(CTurnOn);
405 MESSAGE1(CUse, CGameObject *, item, nullptr);
406 MESSAGE1(CUseWithCharMsg, CCharacter *, character, nullptr);
407 MESSAGE1(CUseWithOtherMsg, CGameObject *, other, 0);
409 MESSAGE1(CVisibleMsg, bool, visible, true);
410 MESSAGE1(CCheckCodeWheelsMsg, bool, isCorrect, true);
411 
412 } // End of namespace Titanic
413 
414 #endif /* TITANIC_MESSAGE_H */
Definition: messages.h:349
Definition: messages.h:333
Definition: messages.h:404
Definition: messages.h:281
Definition: messages.h:336
Definition: messages.h:302
Definition: messages.h:331
Definition: messages.h:297
Definition: messages.h:279
Definition: move_player_to.h:29
Definition: messages.h:288
Definition: messages.h:328
Definition: messages.h:377
Definition: messages.h:365
Definition: messages.h:317
Definition: messages.h:323
Definition: messages.h:350
Definition: messages.h:388
Definition: messages.h:347
Definition: messages.h:380
static bool supports(const CTreeItem *treeItem, ClassDef *classDef)
Definition: messages.h:257
Definition: messages.h:298
Definition: messages.h:369
Definition: messages.h:274
Definition: messages.h:316
Definition: messages.h:299
Definition: messages.h:397
void save(SimpleFile *file, int indent) override
Definition: carry.h:31
Definition: messages.h:394
Definition: messages.h:294
Definition: messages.h:283
Definition: messages.h:371
Definition: messages.h:326
Definition: messages.h:261
Definition: messages.h:266
Definition: messages.h:385
Definition: messages.h:381
Definition: messages.h:289
Definition: messages.h:332
Definition: messages.h:309
Definition: messages.h:342
Definition: messages.h:340
Definition: messages.h:338
Definition: character.h:29
Definition: messages.h:390
Definition: messages.h:344
Definition: simple_file.h:49
Definition: saveable_object.h:35
Definition: messages.h:290
Definition: messages.h:280
Definition: messages.h:277
Definition: messages.h:363
Definition: messages.h:382
Definition: messages.h:256
Definition: messages.h:374
Definition: messages.h:387
Definition: room_item.h:33
Definition: messages.h:407
Definition: messages.h:321
Definition: messages.h:258
Definition: node_item.h:29
Definition: messages.h:367
Definition: messages.h:311
Definition: messages.h:357
Definition: messages.h:345
Definition: messages.h:188
Definition: messages.h:272
Definition: messages.h:330
Definition: messages.h:263
Definition: messages.h:346
Definition: messages.h:327
Definition: messages.h:361
Definition: messages.h:269
Definition: messages.h:383
Definition: messages.h:255
Definition: messages.h:354
Definition: messages.h:286
Definition: messages.h:401
Definition: messages.h:271
Definition: messages.h:343
Definition: messages.h:293
Definition: messages.h:392
Definition: messages.h:273
Definition: game_object.h:79
Definition: messages.h:319
Definition: messages.h:304
Definition: messages.h:408
Definition: messages.h:398
Definition: messages.h:370
Definition: messages.h:264
Definition: messages.h:282
bool execute(CTreeItem *target, const ClassDef *classDef=nullptr, int flags=MSGFLAG_SCAN|MSGFLAG_BREAK_IF_HANDLED)
Definition: messages.h:276
Definition: message_target.h:34
Definition: messages.h:386
Definition: tree_item.h:37
Definition: messages.h:356
Definition: messages.h:318
Definition: messages.h:285
Definition: messages.h:254
Definition: messages.h:396
Definition: messages.h:360
Definition: messages.h:395
Definition: messages.h:391
Definition: rect.h:35
Definition: messages.h:334
Definition: messages.h:314
Definition: messages.h:364
Definition: messages.h:376
Definition: messages.h:337
Definition: messages.h:287
Definition: messages.h:324
Definition: rect.h:45
Definition: messages.h:315
Definition: messages.h:378
Definition: arm.h:30
void load(SimpleFile *file) override
Definition: string.h:40
Definition: messages.h:308
Definition: messages.h:312
Definition: messages.h:204
Definition: messages.h:169
Definition: messages.h:284
Definition: messages.h:339
Definition: messages.h:265
Definition: messages.h:295
Definition: messages.h:402
Definition: messages.h:296
Definition: messages.h:373
Definition: messages.h:409
Out move(In first, In last, Out dst)
Definition: algorithm.h:109
Definition: messages.h:310
Definition: messages.h:351
Definition: messages.h:320
Definition: messages.h:400
Definition: messages.h:379
Definition: messages.h:329
Definition: messages.h:405
Definition: messages.h:306
Definition: messages.h:366
Definition: messages.h:307
Definition: messages.h:341
Definition: messages.h:303
Definition: messages.h:275
Definition: keyboard.h:294
Definition: messages.h:305
Definition: messages.h:267
Definition: messages.h:355
Definition: messages.h:301
Definition: messages.h:372
Definition: messages.h:368
Definition: messages.h:353
Definition: messages.h:384
Definition: saveable_object.h:58
Definition: messages.h:259
Definition: messages.h:393
Definition: messages.h:322
Definition: messages.h:389
Definition: messages.h:268
Definition: messages.h:410
Definition: messages.h:335
Definition: messages.h:291
Definition: messages.h:358
virtual bool perform(CTreeItem *treeItem)
Definition: messages.h:270
Definition: messages.h:352
Definition: messages.h:406
Definition: messages.h:313
Definition: messages.h:375
Definition: messages.h:403
Definition: messages.h:262
Definition: messages.h:91
Definition: messages.h:278
Definition: messages.h:186
Definition: messages.h:260
Definition: music_player.h:30
Definition: messages.h:362
Definition: messages.h:325
Definition: messages.h:232
Definition: messages.h:300
Definition: messages.h:348
Definition: view_item.h:32