diff options
author | Paul Gilbert | 2016-04-06 22:17:26 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-04-06 22:17:26 -0400 |
commit | 51df4d98d3a066e092f34cf7968c436a3e430df2 (patch) | |
tree | 9e35582d31b834dff272da7fd27de03633990017 /engines/titanic/core/view_item.h | |
parent | e728e901d02aca51858f91ac29b1a177e5e80a07 (diff) | |
download | scummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.tar.gz scummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.tar.bz2 scummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.zip |
TITANIC: In-progress converting message handling to be more like original
I currently was using multiple inheritance to define the message classes
that a class supports, but this caused problems when, for example, a
class tested to see if an object supported CMouseMsg. The class in
question supported several mouse messages, but a standard dynamic_cast
returned nullptr for the class, since it didn't directly support it
Diffstat (limited to 'engines/titanic/core/view_item.h')
-rw-r--r-- | engines/titanic/core/view_item.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/engines/titanic/core/view_item.h b/engines/titanic/core/view_item.h index fc4089f924..f439929f5e 100644 --- a/engines/titanic/core/view_item.h +++ b/engines/titanic/core/view_item.h @@ -29,11 +29,8 @@ namespace Titanic { -class CViewItem : public CNamedItem, - public CMouseButtonDownMsgTarget, - public CMouseButtonUpMsgTarget, - public CMouseMoveMsgTarget, - public CMouseDoubleClickMsgTarget { +class CViewItem : public CNamedItem { + DECLARE_MESSAGE_MAP private: CTreeItem *_buttonUpTargets[4]; private: @@ -55,10 +52,10 @@ protected: int _field50; int _field54; protected: - virtual bool handleMessage(CMouseButtonDownMsg &msg); - virtual bool handleMessage(CMouseButtonUpMsg &msg); - virtual bool handleMessage(CMouseMoveMsg &msg); - virtual bool handleMessage(CMouseDoubleClickMsg &msg); + virtual bool MouseButtonDownMsg(CMouseButtonDownMsg &msg); + virtual bool MouseButtonUpMsg(CMouseButtonUpMsg &msg); + virtual bool MouseMoveMsg(CMouseMoveMsg &msg); + virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg &msg); public: int _viewNumber; public: |