[gnome-shell] [lg] split inspector event handlers out into separate functions
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] [lg] split inspector event handlers out into separate functions
- Date: Mon, 23 Aug 2010 17:05:37 +0000 (UTC)
commit 1a50b94b198edeaf358d26c118af60426782c84d
Author: Dan Winship <danw gnome org>
Date: Wed Jul 21 11:08:15 2010 -0400
[lg] split inspector event handlers out into separate functions
https://bugzilla.gnome.org/show_bug.cgi?id=624940
js/ui/lookingGlass.js | 75 ++++++++++++++++++++++++++----------------------
1 files changed, 41 insertions(+), 34 deletions(-)
---
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
index ea046ab..b2c8c66 100644
--- a/js/ui/lookingGlass.js
+++ b/js/ui/lookingGlass.js
@@ -371,48 +371,55 @@ Inspector.prototype = {
vertical: false,
y: primary.y + Math.floor(primary.height / 2),
reactive: true });
+ this._eventHandler = eventHandler;
eventHandler.connect('notify::allocation', Lang.bind(this, function () {
eventHandler.x = primary.x + Math.floor((primary.width - eventHandler.width) / 2);
}));
Main.uiGroup.add_actor(eventHandler);
- let displayText = new St.Label();
- eventHandler.add(displayText, { expand: true });
-
- let borderPaintTarget = null;
- let borderPaintId = null;
- eventHandler.connect('destroy', Lang.bind(this, function() {
- if (borderPaintTarget != null)
- borderPaintTarget.disconnect(borderPaintId);
- }));
+ this._displayText = new St.Label();
+ eventHandler.add(this._displayText, { expand: true });
- eventHandler.connect('button-press-event', Lang.bind(this, function (actor, event) {
- Clutter.ungrab_pointer(eventHandler);
+ this._borderPaintTarget = null;
+ this._borderPaintId = null;
+ eventHandler.connect('destroy', Lang.bind(this, this._onDestroy));
- let [stageX, stageY] = event.get_coords();
- let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
- stageX,
- stageY);
- this.emit('target', target, stageX, stageY);
- eventHandler.destroy();
- this.emit('closed');
- return true;
- }));
+ eventHandler.connect('button-press-event', Lang.bind(this, this._onButtonPressEvent));
- eventHandler.connect('motion-event', Lang.bind(this, function (actor, event) {
- let [stageX, stageY] = event.get_coords();
- let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
- stageX,
- stageY);
- let position = '[inspect x: ' + stageX + ' y: ' + stageY + ']';
- displayText.text = '';
- displayText.text = position + ' ' + target;
- if (borderPaintTarget != null)
- borderPaintTarget.disconnect(borderPaintId);
- borderPaintTarget = target;
- borderPaintId = Shell.add_hook_paint_red_border(target);
- return true;
- }));
+ eventHandler.connect('motion-event', Lang.bind(this, this._onMotionEvent));
Clutter.grab_pointer(eventHandler);
+ },
+
+ _onDestroy: function() {
+ if (this._borderPaintTarget != null)
+ this._borderPaintTarget.disconnect(this._borderPaintId);
+ },
+
+ _onButtonPressEvent: function (actor, event) {
+ Clutter.ungrab_pointer(this._eventHandler);
+
+ let [stageX, stageY] = event.get_coords();
+ let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
+ stageX,
+ stageY);
+ this.emit('target', target, stageX, stageY);
+ this._eventHandler.destroy();
+ this.emit('closed');
+ return true;
+ },
+
+ _onMotionEvent: function (actor, event) {
+ let [stageX, stageY] = event.get_coords();
+ let target = global.stage.get_actor_at_pos(Clutter.PickMode.ALL,
+ stageX,
+ stageY);
+ let position = '[inspect x: ' + stageX + ' y: ' + stageY + ']';
+ this._displayText.text = '';
+ this._displayText.text = position + ' ' + target;
+ if (this._borderPaintTarget != null)
+ this._borderPaintTarget.disconnect(this._borderPaintId);
+ this._borderPaintTarget = target;
+ this._borderPaintId = Shell.add_hook_paint_red_border(target);
+ return true;
}
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]