aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/messages
diff options
context:
space:
mode:
authorPaul Gilbert2016-03-19 18:31:56 -0400
committerPaul Gilbert2016-03-19 18:31:56 -0400
commit46d5af527d5731eee812a18a57c4105bc01447c6 (patch)
tree0d8518df7d9f2f4e450e0ca479ca1707ef44a50b /engines/titanic/messages
parent4704d72d6af60db97959c3d170a2ea524a0f0f1f (diff)
downloadscummvm-rg350-46d5af527d5731eee812a18a57c4105bc01447c6.tar.gz
scummvm-rg350-46d5af527d5731eee812a18a57c4105bc01447c6.tar.bz2
scummvm-rg350-46d5af527d5731eee812a18a57c4105bc01447c6.zip
TITANIC: Finished CViewItem::mouseChange
Diffstat (limited to 'engines/titanic/messages')
-rw-r--r--engines/titanic/messages/messages.h30
-rw-r--r--engines/titanic/messages/mouse_messages.h32
2 files changed, 62 insertions, 0 deletions
diff --git a/engines/titanic/messages/messages.h b/engines/titanic/messages/messages.h
index 54581a7b07..317cde52c6 100644
--- a/engines/titanic/messages/messages.h
+++ b/engines/titanic/messages/messages.h
@@ -94,6 +94,10 @@ public:
CEditControlMsg() : _field4(0), _field8(0), _field18(0),
_field1C(0), _field20(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CEditControlMsg *>(item) != nullptr;
+ }
+
virtual bool perform(CTreeItem *treeItem) const {
CEditControlMsg *dest = dynamic_cast<CEditControlMsg *>(treeItem);
return dest != nullptr && dest->handleMessage(*this);
@@ -114,6 +118,10 @@ public:
CLightsMsg() : CMessage(), _field4(0), _field8(0),
_fieldC(0), _field10(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CLightsMsg *>(item) != nullptr;
+ }
+
virtual bool perform(CTreeItem *treeItem) const {
CLightsMsg *dest = dynamic_cast<CLightsMsg *>(treeItem);
return dest != nullptr && dest->handleMessage(*this);
@@ -136,6 +144,10 @@ public:
CIsHookedOnMsg() : CMessage(), _field4(0), _field8(0),
_field18(0), _field1C(0), _field20(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CIsHookedOnMsg *>(item) != nullptr;
+ }
+
virtual bool perform(CTreeItem *treeItem) const {
CIsHookedOnMsg *dest = dynamic_cast<CIsHookedOnMsg *>(treeItem);
return dest != nullptr && dest->handleMessage(*this);
@@ -153,6 +165,10 @@ public:
CLASSDEF
CSubAcceptCCarryMsg() : _value1(0), _value2(0), _value3(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CSubAcceptCCarryMsg *>(item) != nullptr;
+ }
+
virtual bool perform(CTreeItem *treeItem) const {
CSubAcceptCCarryMsg *dest = dynamic_cast<CSubAcceptCCarryMsg *>(treeItem);
return dest != nullptr && dest->handleMessage(*this);
@@ -170,6 +186,10 @@ public:
CLASSDEF
CTransportMsg() : _value1(0), _value2(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CTransportMsg *>(item) != nullptr;
+ }
+
virtual bool perform(CTreeItem *treeItem) const {
CTransportMsg *dest = dynamic_cast<CTransportMsg *>(treeItem);
return dest != nullptr && dest->handleMessage(*this);
@@ -180,6 +200,8 @@ public:
class NAME: public CMessage { \
public: NAME() : CMessage() {} \
CLASSDEF \
+ static bool isSupportedBy(const CTreeItem *item) { \
+ return dynamic_cast<const NAME *>(item) != nullptr; } \
virtual bool handleMessage(const NAME &msg) { return false; } \
virtual bool perform(CTreeItem *treeItem) const { \
NAME *dest = dynamic_cast<NAME *>(treeItem); \
@@ -191,6 +213,8 @@ public:
NAME() : CMessage(), _##N1(V1) {} \
NAME(F1 N1) : CMessage(), _##N1(N1) {} \
CLASSDEF \
+ static bool isSupportedBy(const CTreeItem *item) { \
+ return dynamic_cast<const NAME *>(item) != nullptr; } \
virtual bool handleMessage(const NAME &msg) { return false; } \
virtual bool perform(CTreeItem *treeItem) { \
NAME *dest = dynamic_cast<NAME *>(treeItem); \
@@ -202,6 +226,8 @@ public:
NAME() : CMessage(), _##N1(V1), _##N2(V2) {} \
NAME(F1 N1, F2 N2) : CMessage(), _##N1(N1), _##N2(N2) {} \
CLASSDEF \
+ static bool isSupportedBy(const CTreeItem *item) { \
+ return dynamic_cast<const NAME *>(item) != nullptr; } \
virtual bool handleMessage(const NAME &msg) { return false; } \
virtual bool perform(CTreeItem *treeItem) { \
NAME *dest = dynamic_cast<NAME *>(treeItem); \
@@ -213,6 +239,8 @@ public:
NAME() : CMessage(), _##N1(V1), _##N2(V2), _##N3(V3) {} \
NAME(F1 N1, F2 N2, F3 N3) : CMessage(), _##N1(N1), _##N2(N2), _##N3(N3) {} \
CLASSDEF \
+ static bool isSupportedBy(const CTreeItem *item) { \
+ return dynamic_cast<const NAME *>(item) != nullptr; } \
virtual bool handleMessage(const NAME &msg) { return false; } \
virtual bool perform(CTreeItem *treeItem) { \
NAME *dest = dynamic_cast<NAME *>(treeItem); \
@@ -224,6 +252,8 @@ public:
NAME() : CMessage(), _##N1(V1), _##N2(V2), _##N3(V3), _##N4(V4) {} \
NAME(F1 N1, F2 N2, F3 N3, F4 N4) : CMessage(), _##N1(N1), _##N2(N2), _##N3(N3), _##N4(N4) {} \
CLASSDEF \
+ static bool isSupportedBy(const CTreeItem *item) { \
+ return dynamic_cast<const NAME *>(item) != nullptr; } \
virtual bool handleMessage(const NAME &msg) { return false; } \
virtual bool perform(CTreeItem *treeItem) { \
NAME *dest = dynamic_cast<NAME *>(treeItem); \
diff --git a/engines/titanic/messages/mouse_messages.h b/engines/titanic/messages/mouse_messages.h
index fff392e465..84d7b8f61c 100644
--- a/engines/titanic/messages/mouse_messages.h
+++ b/engines/titanic/messages/mouse_messages.h
@@ -36,6 +36,9 @@ public:
Common::Point _mousePos;
public:
CLASSDEF
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseMsg *>(item) != nullptr;
+ }
CMouseMsg() : _buttons(0) {}
CMouseMsg(const Common::Point &pt, int buttons) :
_mousePos(pt), _buttons(buttons) {}
@@ -48,6 +51,9 @@ public:
CMouseMoveMsg() : CMouseMsg() {}
CMouseMoveMsg(const Common::Point &pt, int buttons) : CMouseMsg(pt, buttons) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseMoveMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseMoveMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseMoveMsg *dest = dynamic_cast<CMouseMoveMsg *>(treeItem);
@@ -62,6 +68,10 @@ public:
CLASSDEF
CMouseButtonMsg() : CMouseMsg(), _field10(0) {}
CMouseButtonMsg(const Common::Point &pt, int buttons) : CMouseMsg(pt, buttons) {}
+
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseButtonMsg *>(item) != nullptr;
+ }
};
MSGTARGET(CMouseButtonDownMsg);
@@ -71,6 +81,9 @@ public:
CMouseButtonDownMsg() : CMouseButtonMsg() {}
CMouseButtonDownMsg(const Common::Point &pt, int buttons) : CMouseButtonMsg(pt, buttons) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseButtonDownMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseButtonDownMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseButtonDownMsg *dest = dynamic_cast<CMouseButtonDownMsg *>(treeItem);
@@ -85,6 +98,9 @@ public:
CMouseButtonUpMsg() : CMouseButtonMsg() {}
CMouseButtonUpMsg(const Common::Point &pt, int buttons) : CMouseButtonMsg(pt, buttons) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseButtonUpMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseButtonUpMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseButtonUpMsg *dest = dynamic_cast<CMouseButtonUpMsg *>(treeItem);
@@ -99,6 +115,9 @@ public:
CMouseButtonDoubleClickMsg() : CMouseButtonMsg() {}
CMouseButtonDoubleClickMsg(const Common::Point &pt, int buttons) : CMouseButtonMsg(pt, buttons) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseButtonDoubleClickMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseButtonDoubleClickMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseButtonDoubleClickMsg *dest = dynamic_cast<CMouseButtonDoubleClickMsg *>(treeItem);
@@ -111,6 +130,10 @@ public:
CLASSDEF
CMouseDragMsg() : CMouseMsg() {}
CMouseDragMsg(const Common::Point &pt) : CMouseMsg(pt, 0) {}
+
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseDragMsg *>(item) != nullptr;
+ }
};
class CMouseDragMoveMsg : public CMouseDragMsg {
@@ -119,6 +142,9 @@ public:
CMouseDragMoveMsg() : CMouseDragMsg() {}
CMouseDragMoveMsg(const Common::Point &pt) : CMouseDragMsg(pt) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseDragMoveMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseDragMoveMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseDragMoveMsg *dest = dynamic_cast<CMouseDragMoveMsg *>(treeItem);
@@ -137,6 +163,9 @@ public:
CMouseDragStartMsg(const Common::Point &pt) : CMouseDragMsg(pt),
_dragItem(nullptr), _field14(0) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseDragStartMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseDragStartMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseDragStartMsg *dest = dynamic_cast<CMouseDragStartMsg *>(treeItem);
@@ -154,6 +183,9 @@ public:
CMouseDragEndMsg(const Common::Point &pt, CTreeItem *dragItem = nullptr) :
CMouseDragMsg(pt), _dragItem(dragItem) {}
+ static bool isSupportedBy(const CTreeItem *item) {
+ return dynamic_cast<const CMouseDragEndMsg *>(item) != nullptr;
+ }
virtual bool handleMessage(const CMouseDragEndMsg &msg) { return false; }
virtual bool perform(CTreeItem *treeItem) {
CMouseDragEndMsg *dest = dynamic_cast<CMouseDragEndMsg *>(treeItem);