mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-03-12 00:45:14 +00:00
Update gtk.js
This commit is contained in:
parent
76d016b539
commit
4c804833cb
50
lib/gtk.js
50
lib/gtk.js
|
@ -16,11 +16,57 @@ var GTKWidgets = {};
|
||||||
var GTKWidget = function() {
|
var GTKWidget = function() {
|
||||||
this.widgetType = "GTKWidget";
|
this.widgetType = "GTKWidget";
|
||||||
this.widgetID = GTKCreateWidget(this);
|
this.widgetID = GTKCreateWidget(this);
|
||||||
this.onEventTriggered = function() {};
|
|
||||||
|
this.eventListener = GTKEventListener(this);
|
||||||
|
this.addEventListener = function(ev, fn) {
|
||||||
|
if (typeof(fn) == "function") {
|
||||||
|
this['on' + ev] = fn;
|
||||||
|
} else {
|
||||||
|
throw new TypeError("EventListener must be a function");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
GTKWidgets[this.widgetID] = this;
|
GTKWidgets[this.widgetID] = this;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// definedEvents
|
||||||
|
var definedEvents = {
|
||||||
|
"Window" [
|
||||||
|
"onload"
|
||||||
|
],
|
||||||
|
"Table": [
|
||||||
|
"onload"
|
||||||
|
],
|
||||||
|
"Button": [
|
||||||
|
"onload",
|
||||||
|
"onclick"
|
||||||
|
],
|
||||||
|
"Entry": [
|
||||||
|
"onload",
|
||||||
|
"onkeyup"
|
||||||
|
]
|
||||||
|
"RadioBox": [
|
||||||
|
"onload",
|
||||||
|
"onclick"
|
||||||
|
],
|
||||||
|
"TextBox" [
|
||||||
|
"onload"
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
// GTKEventListener
|
||||||
|
var GTKEventListener = function(widget) {
|
||||||
|
if (widget.widgetType in definedEvents) {
|
||||||
|
var widgetEvents = definedEvents[widget.widgetType];
|
||||||
|
for (var i = 0; i < widgetEvents.length; i++) {
|
||||||
|
var eventName = widgetEvents[i];
|
||||||
|
if (eventName in widget && typeof(widget[eventName]) == "function") {
|
||||||
|
widget[eventName]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// GTKCreateElement
|
// GTKCreateElement
|
||||||
var GTKCreateWidget = function(widget) {
|
var GTKCreateWidget = function(widget) {
|
||||||
var widgetID, commands = [];
|
var widgetID, commands = [];
|
||||||
|
@ -269,7 +315,7 @@ var GTKWait = function(callback) {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (even in GTKWidgets) {
|
if (even in GTKWidgets) {
|
||||||
GTKWidgets[even].onEventTriggered();
|
GTKWidgets[even].eventListener();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof(callback) == "function") {
|
if (typeof(callback) == "function") {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user