summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2009-10-29 03:37:12 +0000
committercorvid <corvid@lavabit.com>2009-10-29 03:37:12 +0000
commit80c557e230bda1f68a8c3adcfd51981c814c1b12 (patch)
tree133dddb5f9dce28edc5e80285d0dc70ca5a7a505
parent29de414515b2e79ca975d21a99235ebbb4f0801b (diff)
rm event emitter/receiver from Widget
If we want it back someday, we know where to find it. Given the coarse-grained nature of Textblock, I imagine that whatever Dillo might use in a javascript future would be somewhat different anyway.
-rw-r--r--dw/widget.cc109
-rw-r--r--dw/widget.hh43
2 files changed, 4 insertions, 148 deletions
diff --git a/dw/widget.cc b/dw/widget.cc
index 531a25f3..670e2c43 100644
--- a/dw/widget.cc
+++ b/dw/widget.cc
@@ -30,101 +30,6 @@ using namespace lout::object;
namespace dw {
namespace core {
-bool Widget::EventReceiver::buttonPress (Widget *widget, EventButton *event)
-{
- return false;
-}
-
-bool Widget::EventReceiver::buttonRelease (Widget *widget, EventButton *event)
-{
- return false;
-}
-
-bool Widget::EventReceiver::motionNotify (Widget *widget, EventMotion *event)
-{
- return false;
-}
-
-void Widget::EventReceiver::enterNotify (Widget *widget, EventCrossing *event)
-{
-}
-
-void Widget::EventReceiver::leaveNotify (Widget *widget, EventCrossing *event)
-{
-}
-
-
-bool Widget::EventEmitter::emitToReceiver (lout::signal::Receiver *receiver,
- int signalNo, int argc,
- lout::object::Object **argv)
-{
- EventReceiver *eventReceiver = (EventReceiver*)receiver;
-
- switch (signalNo) {
- case BUTTON_PRESS:
- return eventReceiver->buttonPress ((Widget*)argv[0],
- (EventButton*)argv[1]);
-
- case BUTTON_RELEASE:
- return eventReceiver->buttonRelease ((Widget*)argv[0],
- (EventButton*)argv[1]);
-
- case MOTION_NOTIFY:
- return eventReceiver->motionNotify ((Widget*)argv[0],
- (EventMotion*)argv[1]);
-
- case ENTER_NOTIFY:
- eventReceiver->enterNotify ((Widget*)argv[0],
- (EventCrossing*)argv[1]);
- break;
-
- case LEAVE_NOTIFY:
- eventReceiver->leaveNotify ((Widget*)argv[1],
- (EventCrossing*)argv[0]);
- break;
-
- default:
- misc::assertNotReached ();
- }
-
- /* Compiler happiness. */
- return false;
-}
-
-bool Widget::EventEmitter::emitButtonPress (Widget *widget, EventButton *event)
-{
- Object *argv[2] = { widget, event };
- return emitBool (BUTTON_PRESS, 2, argv);
-}
-
-bool Widget::EventEmitter::emitButtonRelease (Widget *widget,
- EventButton *event)
-{
- Object *argv[2] = { widget, event };
- return emitBool (BUTTON_RELEASE, 2, argv);
-}
-
-bool Widget::EventEmitter::emitMotionNotify (Widget *widget,
- EventMotion *event)
-{
- Object *argv[2] = { widget, event };
- return emitBool (MOTION_NOTIFY, 2, argv);
-}
-
-void Widget::EventEmitter::emitEnterNotify (Widget *widget,
- EventCrossing *event)
-{
- Object *argv[2] = { widget, event };
- emitVoid (ENTER_NOTIFY, 2, argv);
-}
-
-void Widget::EventEmitter::emitLeaveNotify (Widget *widget,
- EventCrossing *event)
-{
- Object *argv[2] = { widget, event };
- emitVoid (LEAVE_NOTIFY, 2, argv);
-}
-
// ----------------------------------------------------------------------
int Widget::CLASS_ID = -1;
@@ -353,35 +258,27 @@ void Widget::sizeAllocate (Allocation *allocation)
bool Widget::buttonPress (EventButton *event)
{
- bool b1 = buttonPressImpl (event);
- bool b2 = eventEmitter.emitButtonPress (this, event);
- return b1 || b2;
+ return buttonPressImpl (event);
}
bool Widget::buttonRelease (EventButton *event)
{
- bool b1 = buttonReleaseImpl (event);
- bool b2 = eventEmitter.emitButtonRelease (this, event);
- return b1 || b2;
+ return buttonReleaseImpl (event);
}
bool Widget::motionNotify (EventMotion *event)
{
- bool b1 = motionNotifyImpl (event);
- bool b2 = eventEmitter.emitMotionNotify (this, event);
- return b1 || b2;
+ return motionNotifyImpl (event);
}
void Widget::enterNotify (EventCrossing *event)
{
enterNotifyImpl (event);
- eventEmitter.emitEnterNotify (this, event);
}
void Widget::leaveNotify (EventCrossing *event)
{
leaveNotifyImpl (event);
- eventEmitter.emitLeaveNotify (this, event);
}
/**
diff --git a/dw/widget.hh b/dw/widget.hh
index b21415bb..79a34cd8 100644
--- a/dw/widget.hh
+++ b/dw/widget.hh
@@ -24,44 +24,6 @@ class Widget: public lout::identity::IdentifiableObject
{
friend class Layout;
-public:
- class EventReceiver: public lout::signal::Receiver
- {
- public:
- virtual bool buttonPress (Widget *widget, EventButton *event);
- virtual bool buttonRelease (Widget *widget, EventButton *event);
- virtual bool motionNotify (Widget *widget, EventMotion *event);
- virtual void enterNotify (Widget *widget, EventCrossing *event);
- virtual void leaveNotify (Widget *widget, EventCrossing *event);
- };
-
-private:
- class EventEmitter: public lout::signal::Emitter
- {
- private:
- enum { BUTTON_PRESS, BUTTON_RELEASE, MOTION_NOTIFY, ENTER_NOTIFY,
- LEAVE_NOTIFY };
-
- protected:
- bool emitToReceiver (lout::signal::Receiver *receiver, int signalNo,
- int argc, lout::object::Object **argv);
-
- public:
- inline void connectEvent (EventReceiver *receiver)
- { connect (receiver); }
-
- bool emitButtonPress (Widget *widget, EventButton *event);
- bool emitButtonRelease (Widget *widget, EventButton *event);
- bool emitMotionNotify (Widget *widget, EventMotion *event);
- void emitEnterNotify (Widget *widget, EventCrossing *event);
- void emitLeaveNotify (Widget *widget, EventCrossing *event);
- };
-
- EventEmitter eventEmitter;
-
- style::Style *style;
-
-
protected:
enum Flags {
/**
@@ -112,6 +74,7 @@ private:
* \brief The parent widget, NULL for top-level widgets.
*/
Widget *parent;
+ style::Style *style;
Flags flags;
@@ -273,10 +236,6 @@ public:
inline bool needsAllocate () { return flags & NEEDS_ALLOCATE; }
inline bool extremesChanged () { return flags & EXTREMES_CHANGED; }
inline bool wasAllocated () { return flags & WAS_ALLOCATED; }
-
- inline void connectEvent (EventReceiver *receiver)
- { eventEmitter.connectEvent (receiver); }
-
inline bool usesHints () { return flags & USES_HINTS; }
inline bool hasContents () { return flags & HAS_CONTENTS; }