From 2dc08be1e159bacdec3c7d8d4c4e8885156dc749 Mon Sep 17 00:00:00 2001 From: jberg Date: Tue, 10 Sep 2019 08:09:16 -0700 Subject: [PATCH] Trigger hookables (#917) --- modern/src/maki-interpreter/objects.test.js | 116 ------------------- modern/src/runtime/AnimatedLayer.ts | 25 ++-- modern/src/runtime/Browser.ts | 10 +- modern/src/runtime/Button.ts | 14 +-- modern/src/runtime/CfgGroup.ts | 5 +- modern/src/runtime/CheckBox.ts | 5 +- modern/src/runtime/Component.ts | 10 +- modern/src/runtime/ConfigAttribute.ts | 5 +- modern/src/runtime/Container.ts | 20 ++-- modern/src/runtime/DropDownList.ts | 5 +- modern/src/runtime/Edit.ts | 20 ++-- modern/src/runtime/Group.ts | 5 +- modern/src/runtime/GuiList.ts | 53 +++++---- modern/src/runtime/GuiObject.ts | 106 +++++++---------- modern/src/runtime/GuiTree.ts | 50 ++++---- modern/src/runtime/Layer.ts | 10 +- modern/src/runtime/Layout.ts | 45 +++----- modern/src/runtime/MakiObject.ts | 4 +- modern/src/runtime/MenuButton.ts | 15 +-- modern/src/runtime/QueryList.ts | 6 +- modern/src/runtime/Slider.ts | 14 +-- modern/src/runtime/System.ts | 121 +++++++++----------- modern/src/runtime/Text.ts | 5 +- modern/src/runtime/ToggleButton.ts | 4 +- modern/src/runtime/TreeItem.ts | 60 ++++------ modern/src/runtime/Vis.ts | 5 +- modern/src/runtime/Wac.ts | 15 +-- 27 files changed, 273 insertions(+), 480 deletions(-) diff --git a/modern/src/maki-interpreter/objects.test.js b/modern/src/maki-interpreter/objects.test.js index 912adcda..e38c2b8b 100644 --- a/modern/src/maki-interpreter/objects.test.js +++ b/modern/src/maki-interpreter/objects.test.js @@ -91,39 +91,16 @@ describe("Maki classes", () => { test("Track unimplemented methods", () => { expect(unimplementedRuntimeMethods).toMatchInlineSnapshot(` Set { - "Object.onnotify", "System.gettoken", "System.getparam", "System.getskinname", "System.getplayitemstring", "System.geteq", - "System.oneqchanged", "System.geteqband", "System.geteqpreamp", "System.getstatus", "System.getplayitemlength", "System.seekto", - "System.onscriptloaded", - "System.onscriptunloading", - "System.onquit", - "System.onsetxuiparam", - "System.onkeydown", - "System.onaccelerator", - "System.oncreatelayout", - "System.onshowlayout", - "System.onhidelayout", - "System.onstop", - "System.onplay", - "System.onpause", - "System.onresume", - "System.ontitlechange", - "System.ontitle2change", - "System.oninfochange", - "System.onstatusmsg", - "System.oneqbandchanged", - "System.oneqpreampchanged", - "System.onvolumechanged", - "System.onseek", "System.newdynamiccontainer", "System.newgroup", "System.newgroupaslayout", @@ -218,7 +195,6 @@ Set { "System.getplaylistindex", "System.isdesktopalphaavailable", "System.istransparencyavailable", - "System.onshownotification", "System.getsonginfotext", "System.getvisband", "Wac.getguid", @@ -227,9 +203,6 @@ Set { "Wac.show", "Wac.hide", "Wac.isvisible", - "Wac.onnotify", - "Wac.onshow", - "Wac.onhide", "Wac.setstatusbar", "Wac.getstatusbar", "Map.loadmap", @@ -258,23 +231,10 @@ Set { "Timer.getskipped", "Group.getnumobjects", "Group.enumobject", - "Group.oncreateobject", "Group.islayout", - "GuiObject.onsetvisible", "GuiObject.getalpha", - "GuiObject.onleftbuttonup", - "GuiObject.onleftbuttondown", - "GuiObject.onrightbuttonup", - "GuiObject.onrightbuttondown", - "GuiObject.onrightbuttondblclk", - "GuiObject.onleftbuttondblclk", - "GuiObject.onmousemove", - "GuiObject.onenterarea", - "GuiObject.onleavearea", "GuiObject.setenabled", "GuiObject.getenabled", - "GuiObject.onenable", - "GuiObject.onresize", "GuiObject.ismouseover", "GuiObject.settargetx", "GuiObject.settargety", @@ -283,10 +243,8 @@ Set { "GuiObject.settargeta", "GuiObject.settargetspeed", "GuiObject.gototarget", - "GuiObject.ontargetreached", "GuiObject.canceltarget", "GuiObject.reversetarget", - "GuiObject.onstartup", "GuiObject.isgoingtotarget", "GuiObject.bringtofront", "GuiObject.bringtoback", @@ -317,42 +275,23 @@ Set { "GuiObject.getautowidth", "GuiObject.getautoheight", "GuiObject.setfocus", - "GuiObject.onchar", - "GuiObject.onaccelerator", "GuiObject.ismouseoverrect", "GuiObject.getinterface", - "GuiObject.onkeydown", - "GuiObject.onkeyup", - "GuiObject.ongetfocus", - "GuiObject.onkillfocus", "GuiObject.sendaction", "GuiObject.onaction", - "Button.onactivate", "Button.setactivated", "Button.getactivated", - "Button.onleftclick", - "Button.onrightclick", "Button.setactivatednocallback", - "AnimatedLayer.onplay", - "AnimatedLayer.onpause", - "AnimatedLayer.onresume", - "AnimatedLayer.onstop", - "AnimatedLayer.onframe", "AnimatedLayer.ispaused", "AnimatedLayer.isstopped", "AnimatedLayer.getdirection", "AnimatedLayer.setrealtime", - "ToggleButton.ontoggle", "ToggleButton.getcurcfgval", "PopupMenu.checkcommand", "PopupMenu.addsubmenu", "PopupMenu.popatxy", "PopupMenu.getnumcommands", "PopupMenu.disablecommand", - "Container.onswitchtolayout", - "Container.onbeforeswitchtolayout", - "Container.onhidelayout", - "Container.onshowlayout", "Container.getnumlayouts", "Container.enumlayout", "Container.switchtolayout", @@ -361,17 +300,11 @@ Set { "Container.isdynamic", "Container.setname", "Container.getcurlayout", - "Layout.ondock", - "Layout.onundock", - "Layout.onscale", "Layout.getscale", "Layout.setscale", "Layout.setdesktopalpha", "Layout.getdesktopalpha", "Layout.center", - "Layout.onmove", - "Layout.onendmove", - "Layout.onuserresize", "Layout.snapadjust", "Layout.getsnapadjusttop", "Layout.getsnapadjustright", @@ -382,9 +315,6 @@ Set { "Layout.redock", "Layout.istransparencysafe", "Layout.islayoutanimationsafe", - "Layout.onmouseenterlayout", - "Layout.onmouseleavelayout", - "Layout.onsnapadjustchanged", "List.additem", "List.removeitem", "List.enumitem", @@ -393,8 +323,6 @@ Set { "List.removeall", "Layer.setregion", "Layer.setregionfrommap", - "Layer.onbeginresize", - "Layer.onendresize", "Layer.fx_oninit", "Layer.fx_onframe", "Layer.fx_ongetpixelr", @@ -429,9 +357,6 @@ Set { "Text.settext", "Text.gettext", "Text.gettextwidth", - "Text.ontextchanged", - "Component.ongetwac", - "Component.ongiveupwac", "Component.getguid", "Component.getwac", "Component.setregionfrommap", @@ -444,10 +369,6 @@ Set { "ComponentBucket.getscroll", "ComponentBucket.getnumchildren", "ComponentBucket.enumchildren", - "Edit.onenter", - "Edit.onabort", - "Edit.onidleeditupdate", - "Edit.oneditupdate", "Edit.settext", "Edit.setautoenter", "Edit.getautoenter", @@ -457,14 +378,10 @@ Set { "Edit.setidleenabled", "Edit.getidleenabled", "Slider.getposition", - "Slider.onsetposition", - "Slider.onpostedposition", - "Slider.onsetfinalposition", "Slider.setposition", "Slider.lock", "Slider.unlock", "Vis.setmode", - "Vis.onframe", "Vis.setrealtime", "Vis.getrealtime", "Vis.getmode", @@ -476,8 +393,6 @@ Set { "Browser.refresh", "Browser.home", "Browser.settargetname", - "Browser.onbeforenavigate", - "Browser.ondocumentcomplete", "GroupList.instantiate", "GroupList.getnumitems", "GroupList.enumitem", @@ -489,16 +404,13 @@ Set { "CfgGroup.cfggetfloat", "CfgGroup.cfgsetfloat", "CfgGroup.cfgsetstring", - "CfgGroup.oncfgchanged", "CfgGroup.cfggetguid", "CfgGroup.cfggetname", - "QueryList.onresetquery", "MouseRedir.setredirection", "MouseRedir.getredirection", "MouseRedir.setregionfrommap", "MouseRedir.setregion", "DropDownList.getitemselected", - "DropDownList.onselect", "DropDownList.setlistheight", "DropDownList.openlist", "DropDownList.closelist", @@ -520,7 +432,6 @@ Set { "GuiList.getnumitems", "GuiList.getwantautodeselect", "GuiList.setwantautodeselect", - "GuiList.onsetvisible", "GuiList.setautosort", "GuiList.next", "GuiList.selectcurrent", @@ -588,24 +499,14 @@ Set { "GuiList.getpreventmultipleselection", "GuiList.setpreventmultipleselection", "GuiList.moveitem", - "GuiList.onselectall", - "GuiList.ondelete", - "GuiList.ondoubleclick", - "GuiList.onleftclick", - "GuiList.onsecondleftclick", "GuiList.onrightclick", "GuiList.oncolumndblclick", "GuiList.oncolumnlabelclick", - "GuiList.onitemselection", "GuiTree.onwantautocontextmenu", "GuiTree.onmousewheelup", "GuiTree.onmousewheeldown", "GuiTree.oncontextmenu", "GuiTree.onchar", - "GuiTree.onitemrecvdrop", - "GuiTree.onlabelchange", - "GuiTree.onitemselected", - "GuiTree.onitemdeselected", "GuiTree.getnumrootitems", "GuiTree.enumrootitem", "GuiTree.jumptonext", @@ -672,24 +573,8 @@ Set { "TreeItem.collapse", "TreeItem.expand", "TreeItem.gettree", - "TreeItem.ontreeadd", - "TreeItem.ontreeremove", - "TreeItem.onselect", - "TreeItem.ondeselect", - "TreeItem.onleftdoubleclick", - "TreeItem.onrightdoubleclick", - "TreeItem.onchar", - "TreeItem.onexpand", - "TreeItem.oncollapse", - "TreeItem.onbeginlabeledit", - "TreeItem.onendlabeledit", - "TreeItem.oncontextmenu", - "MenuButton.onopenmenu", - "MenuButton.onclosemenu", - "MenuButton.onselectitem", "MenuButton.openmenu", "MenuButton.closemenu", - "CheckBox.ontoggle", "CheckBox.setchecked", "CheckBox.ischecked", "CheckBox.settext", @@ -702,7 +587,6 @@ Set { "ConfigItem.getguid", "ConfigAttribute.setdata", "ConfigAttribute.getdata", - "ConfigAttribute.ondatachanged", "ConfigAttribute.getparentitem", "ConfigAttribute.getattributename", } diff --git a/modern/src/runtime/AnimatedLayer.ts b/modern/src/runtime/AnimatedLayer.ts index a86551ae..599fc19d 100644 --- a/modern/src/runtime/AnimatedLayer.ts +++ b/modern/src/runtime/AnimatedLayer.ts @@ -157,29 +157,24 @@ class AnimatedLayer extends Layer { return this.getendframe() - this.getstartframe(); } - onplay() { - unimplementedWarning("onplay"); - return; + onplay(): void { + this.js_trigger("onPlay"); } - onpause() { - unimplementedWarning("onpause"); - return; + onpause(): void { + this.js_trigger("onPause"); } - onresume() { - unimplementedWarning("onresume"); - return; + onresume(): void { + this.js_trigger("onResume"); } - onstop() { - unimplementedWarning("onstop"); - return; + onstop(): void { + this.js_trigger("onStop"); } - onframe(framenum: number) { - unimplementedWarning("onframe"); - return; + onframe(framenum: number): void { + this.js_trigger("onFrame", framenum); } setstartframe(framenum: number): void { diff --git a/modern/src/runtime/Browser.ts b/modern/src/runtime/Browser.ts index d4b3c762..5bd811f3 100644 --- a/modern/src/runtime/Browser.ts +++ b/modern/src/runtime/Browser.ts @@ -47,14 +47,12 @@ class Browser extends GuiObject { return; } - onbeforenavigate(url: string, flags: number, targetframename: string) { - unimplementedWarning("onbeforenavigate"); - return; + onbeforenavigate(url: string, flags: number, targetframename: string): void { + this.js_trigger("onBeforeNavigate", url, flags, targetframename); } - ondocumentcomplete(url: string) { - unimplementedWarning("ondocumentcomplete"); - return; + ondocumentcomplete(url: string): void { + this.js_trigger("onDocumentComplete", url); } } diff --git a/modern/src/runtime/Button.ts b/modern/src/runtime/Button.ts index a0828d6d..37b07965 100644 --- a/modern/src/runtime/Button.ts +++ b/modern/src/runtime/Button.ts @@ -20,8 +20,8 @@ class Button extends GuiObject { this.js_trigger("onRightClick"); } - onactivate(activated: number) { - unimplementedWarning("onactivate"); + onactivate(activated: number): void { + this.js_trigger("onActivate", activated); } setactivated(onoff: boolean) { @@ -33,14 +33,12 @@ class Button extends GuiObject { return false; } - onleftclick() { - unimplementedWarning("onleftclick"); - return; + onleftclick(): void { + this.js_trigger("onLeftClick"); } - onrightclick() { - unimplementedWarning("onrightclick"); - return; + onrightclick(): void { + this.js_trigger("onRightClick"); } setactivatednocallback(onoff: boolean) { diff --git a/modern/src/runtime/CfgGroup.ts b/modern/src/runtime/CfgGroup.ts index cbfbad37..24aef38d 100644 --- a/modern/src/runtime/CfgGroup.ts +++ b/modern/src/runtime/CfgGroup.ts @@ -42,9 +42,8 @@ class CfgGroup extends Group { return; } - oncfgchanged() { - unimplementedWarning("oncfgchanged"); - return; + oncfgchanged(): void { + this.js_trigger("onCfgChanged"); } cfggetguid() { diff --git a/modern/src/runtime/CheckBox.ts b/modern/src/runtime/CheckBox.ts index 5a4e1c6a..49ca0e7a 100644 --- a/modern/src/runtime/CheckBox.ts +++ b/modern/src/runtime/CheckBox.ts @@ -12,9 +12,8 @@ class CheckBox extends GuiObject { return "CheckBox"; } - ontoggle(newstate: number) { - unimplementedWarning("ontoggle"); - return; + ontoggle(newstate: number): void { + this.js_trigger("onToggle", newstate); } setchecked(checked: number) { diff --git a/modern/src/runtime/Component.ts b/modern/src/runtime/Component.ts index 15d2e2bb..ad69101a 100644 --- a/modern/src/runtime/Component.ts +++ b/modern/src/runtime/Component.ts @@ -12,14 +12,12 @@ class Component extends GuiObject { return "Component"; } - ongetwac(wacobj) { - unimplementedWarning("ongetwac"); - return; + ongetwac(wacobj): void { + this.js_trigger("onGetWac", wacobj); } - ongiveupwac(wacobj) { - unimplementedWarning("ongiveupwac"); - return; + ongiveupwac(wacobj): void { + this.js_trigger("onGiveUpWac", wacobj); } getguid() { diff --git a/modern/src/runtime/ConfigAttribute.ts b/modern/src/runtime/ConfigAttribute.ts index 7f2b7b2a..c500919e 100644 --- a/modern/src/runtime/ConfigAttribute.ts +++ b/modern/src/runtime/ConfigAttribute.ts @@ -22,9 +22,8 @@ class ConfigAttribute extends MakiObject { return; } - ondatachanged() { - unimplementedWarning("ondatachanged"); - return; + ondatachanged(): void { + this.js_trigger("onDataChanged"); } getparentitem() { diff --git a/modern/src/runtime/Container.ts b/modern/src/runtime/Container.ts index 7af0969d..ce7cd013 100644 --- a/modern/src/runtime/Container.ts +++ b/modern/src/runtime/Container.ts @@ -38,24 +38,20 @@ class Container extends MakiObject { return findDescendantByTypeAndId(this, "layout", id); } - onswitchtolayout(newlayout) { - unimplementedWarning("onswitchtolayout"); - return; + onswitchtolayout(newlayout): void { + this.js_trigger("onSwitchToLayout", newlayout); } - onbeforeswitchtolayout(oldlayout, newlayout) { - unimplementedWarning("onbeforeswitchtolayout"); - return; + onbeforeswitchtolayout(oldlayout, newlayout): void { + this.js_trigger("onBeforeSwitchToLayout", oldlayout, newlayout); } - onhidelayout(_layout) { - unimplementedWarning("onhidelayout"); - return; + onhidelayout(_layout): void { + this.js_trigger("onHideLayout", _layout); } - onshowlayout(_layout) { - unimplementedWarning("onshowlayout"); - return; + onshowlayout(_layout): void { + this.js_trigger("onShowLayout", _layout); } getnumlayouts() { diff --git a/modern/src/runtime/DropDownList.ts b/modern/src/runtime/DropDownList.ts index 6d3ae592..f89aad64 100644 --- a/modern/src/runtime/DropDownList.ts +++ b/modern/src/runtime/DropDownList.ts @@ -17,9 +17,8 @@ class DropDownList extends GuiObject { return; } - onselect(id: number, hover: number) { - unimplementedWarning("onselect"); - return; + onselect(id: number, hover: number): void { + this.js_trigger("onSelect", id, hover); } setlistheight(h: number) { diff --git a/modern/src/runtime/Edit.ts b/modern/src/runtime/Edit.ts index 73a974ff..f146c909 100644 --- a/modern/src/runtime/Edit.ts +++ b/modern/src/runtime/Edit.ts @@ -12,24 +12,20 @@ class Edit extends GuiObject { return "Edit"; } - onenter() { - unimplementedWarning("onenter"); - return; + onenter(): void { + this.js_trigger("onEnter"); } - onabort() { - unimplementedWarning("onabort"); - return; + onabort(): void { + this.js_trigger("onAbort"); } - onidleeditupdate() { - unimplementedWarning("onidleeditupdate"); - return; + onidleeditupdate(): void { + this.js_trigger("onIdleEditUpdate"); } - oneditupdate() { - unimplementedWarning("oneditupdate"); - return; + oneditupdate(): void { + this.js_trigger("onEditUpdate"); } settext(txt: string) { diff --git a/modern/src/runtime/Group.ts b/modern/src/runtime/Group.ts index 5572fb80..a71d8e5c 100644 --- a/modern/src/runtime/Group.ts +++ b/modern/src/runtime/Group.ts @@ -27,9 +27,8 @@ class Group extends GuiObject { return; } - oncreateobject(newobj) { - unimplementedWarning("oncreateobject"); - return; + oncreateobject(newobj): void { + this.js_trigger("onCreateObject", newobj); } getmouseposx(): number { diff --git a/modern/src/runtime/GuiList.ts b/modern/src/runtime/GuiList.ts index 0a9bfdcc..01f9176a 100644 --- a/modern/src/runtime/GuiList.ts +++ b/modern/src/runtime/GuiList.ts @@ -27,9 +27,8 @@ class GuiList extends GuiObject { return; } - onsetvisible(show: number) { - unimplementedWarning("onsetvisible"); - return; + onsetvisible(show: number): void { + this.js_trigger("onSetVisible", show); } setautosort(dosort: number) { @@ -367,49 +366,49 @@ class GuiList extends GuiObject { return; } - onselectall() { - unimplementedWarning("onselectall"); - return; + onselectall(): void { + this.js_trigger("onSelectAll"); } - ondelete() { - unimplementedWarning("ondelete"); - return; + ondelete(): void { + this.js_trigger("onDelete"); } - ondoubleclick(itemnum: number) { - unimplementedWarning("ondoubleclick"); - return; + ondoubleclick(itemnum: number): void { + this.js_trigger("onDoubleClick", itemnum); } - onleftclick(itemnum: number) { - unimplementedWarning("onleftclick"); - return; + onleftclick(itemnum: number): void { + this.js_trigger("onLeftClick", itemnum); } - onsecondleftclick(itemnum: number) { - unimplementedWarning("onsecondleftclick"); - return; + onsecondleftclick(itemnum: number): void { + this.js_trigger("onSecondLeftClick", itemnum); } - onrightclick(itemnum: number) { + onrightclick(itemnum: number): number { unimplementedWarning("onrightclick"); - return; + this.js_trigger("onRightClick", itemnum); + // TODO: not sure what we shuld return + return 0; } - oncolumndblclick(col: number, x: number, y: number) { + oncolumndblclick(col: number, x: number, y: number): number { unimplementedWarning("oncolumndblclick"); - return; + this.js_trigger("onColumnDblClick", col, x, y); + // TODO: not sure what we shuld return + return 0; } - oncolumnlabelclick(col: number, x: number, y: number) { + oncolumnlabelclick(col: number, x: number, y: number): number { unimplementedWarning("oncolumnlabelclick"); - return; + this.js_trigger("onColumnLabelClick", col, x, y); + // TODO: not sure what we shuld return + return 0; } - onitemselection(itemnum: number, selected: number) { - unimplementedWarning("onitemselection"); - return; + onitemselection(itemnum: number, selected: number): void { + this.js_trigger("onItemSelection", itemnum, selected); } } diff --git a/modern/src/runtime/GuiObject.ts b/modern/src/runtime/GuiObject.ts index 39f5449b..3a2a79a7 100644 --- a/modern/src/runtime/GuiObject.ts +++ b/modern/src/runtime/GuiObject.ts @@ -148,9 +148,8 @@ class GuiObject extends MakiObject { return this.visible ? 1 : 0; } - onsetvisible(onoff: boolean) { - unimplementedWarning("onsetvisible"); - return; + onsetvisible(onoff: boolean): void { + this.js_trigger("onSetVisible", onoff); } getalpha() { @@ -158,49 +157,40 @@ class GuiObject extends MakiObject { return; } - onleftbuttonup(x: number, y: number) { - unimplementedWarning("onleftbuttonup"); - return; + onleftbuttonup(x: number, y: number): void { + this.js_trigger("onLeftButtonUp", x, y); } - onleftbuttondown(x: number, y: number) { - unimplementedWarning("onleftbuttondown"); - return; + onleftbuttondown(x: number, y: number): void { + this.js_trigger("onLeftButtonDown", x, y); } - onrightbuttonup(x: number, y: number) { - unimplementedWarning("onrightbuttonup"); - return; + onrightbuttonup(x: number, y: number): void { + this.js_trigger("onRightButtonUp", x, y); } - onrightbuttondown(x: number, y: number) { - unimplementedWarning("onrightbuttondown"); - return; + onrightbuttondown(x: number, y: number): void { + this.js_trigger("onRightButtonDown", x, y); } - onrightbuttondblclk(x: number, y: number) { - unimplementedWarning("onrightbuttondblclk"); - return; + onrightbuttondblclk(x: number, y: number): void { + this.js_trigger("onRightButtonDblClk", x, y); } - onleftbuttondblclk(x: number, y: number) { - unimplementedWarning("onleftbuttondblclk"); - return; + onleftbuttondblclk(x: number, y: number): void { + this.js_trigger("onLeftButtonDblClk", x, y); } - onmousemove(x: number, y: number) { - unimplementedWarning("onmousemove"); - return; + onmousemove(x: number, y: number): void { + this.js_trigger("onMouseMove", x, y); } - onenterarea() { - unimplementedWarning("onenterarea"); - return; + onenterarea(): void { + this.js_trigger("onEnterArea"); } - onleavearea() { - unimplementedWarning("onleavearea"); - return; + onleavearea(): void { + this.js_trigger("onLeaveArea"); } setenabled(onoff: boolean) { @@ -213,14 +203,12 @@ class GuiObject extends MakiObject { return; } - onenable(onoff: boolean) { - unimplementedWarning("onenable"); - return; + onenable(onoff: boolean): void { + this.js_trigger("onEnable", onoff); } - onresize(x: number, y: number, w: number, h: number) { - unimplementedWarning("onresize"); - return; + onresize(x: number, y: number, w: number, h: number): void { + this.js_trigger("onResize", x, y, w, h); } ismouseover(x: number, y: number) { @@ -265,9 +253,8 @@ class GuiObject extends MakiObject { return; } - ontargetreached() { - unimplementedWarning("ontargetreached"); - return; + ontargetreached(): void { + this.js_trigger("onTargetReached"); } canceltarget() { @@ -280,9 +267,8 @@ class GuiObject extends MakiObject { return; } - onstartup() { - unimplementedWarning("onstartup"); - return; + onstartup(): void { + this.js_trigger("onStartup"); } isgoingtotarget() { @@ -435,14 +421,12 @@ class GuiObject extends MakiObject { return; } - onchar(c: string) { - unimplementedWarning("onchar"); - return; + onchar(c: string): void { + this.js_trigger("onChar", c); } - onaccelerator(accel: string) { - unimplementedWarning("onaccelerator"); - return; + onaccelerator(accel: string): void { + this.js_trigger("onAccelerator", accel); } ismouseoverrect() { @@ -455,24 +439,20 @@ class GuiObject extends MakiObject { return; } - onkeydown(vk_code: number) { - unimplementedWarning("onkeydown"); - return; + onkeydown(vk_code: number): void { + this.js_trigger("onKeyDown", vk_code); } - onkeyup(vk_code: number) { - unimplementedWarning("onkeyup"); - return; + onkeyup(vk_code: number): void { + this.js_trigger("onKeyUp", vk_code); } - ongetfocus() { - unimplementedWarning("ongetfocus"); - return; + ongetfocus(): void { + this.js_trigger("onGetFocus"); } - onkillfocus() { - unimplementedWarning("onkillfocus"); - return; + onkillfocus(): void { + this.js_trigger("onKillFocus"); } /* eslint-disable-next-line max-params */ @@ -497,9 +477,11 @@ class GuiObject extends MakiObject { p1: number, p2: number, source - ) { + ): number { unimplementedWarning("onaction"); - return; + this.js_trigger("onAction", action, param, x, y, p1, p2, source); + // TODO: not sure what we shuld return + return 0; } } diff --git a/modern/src/runtime/GuiTree.ts b/modern/src/runtime/GuiTree.ts index 8a969006..e396edd1 100644 --- a/modern/src/runtime/GuiTree.ts +++ b/modern/src/runtime/GuiTree.ts @@ -12,49 +12,55 @@ class GuiTree extends GuiObject { return "GuiTree"; } - onwantautocontextmenu() { + onwantautocontextmenu(): number { unimplementedWarning("onwantautocontextmenu"); - return; + this.js_trigger("onWantAutoContextMenu"); + // TODO: not sure what we shuld return + return 0; } - onmousewheelup(clicked: number, lines: number) { + onmousewheelup(clicked: number, lines: number): number { unimplementedWarning("onmousewheelup"); - return; + this.js_trigger("onMouseWheelUp", clicked, lines); + // TODO: not sure what we shuld return + return 0; } - onmousewheeldown(clicked: number, lines: number) { + onmousewheeldown(clicked: number, lines: number): number { unimplementedWarning("onmousewheeldown"); - return; + this.js_trigger("onMouseWheelDown", clicked, lines); + // TODO: not sure what we shuld return + return 0; } - oncontextmenu(x: number, y: number) { + oncontextmenu(x: number, y: number): number { unimplementedWarning("oncontextmenu"); - return; + this.js_trigger("onContextMenu", x, y); + // TODO: not sure what we shuld return + return 0; } - onchar(c: number) { + onchar(c: number): number { unimplementedWarning("onchar"); - return; + this.js_trigger("onChar", c); + // TODO: not sure what we shuld return + return 0; } - onitemrecvdrop(item) { - unimplementedWarning("onitemrecvdrop"); - return; + onitemrecvdrop(item): void { + this.js_trigger("onItemRecvDrop", item); } - onlabelchange(item) { - unimplementedWarning("onlabelchange"); - return; + onlabelchange(item): void { + this.js_trigger("onLabelChange", item); } - onitemselected(item) { - unimplementedWarning("onitemselected"); - return; + onitemselected(item): void { + this.js_trigger("onItemSelected", item); } - onitemdeselected(item) { - unimplementedWarning("onitemdeselected"); - return; + onitemdeselected(item): void { + this.js_trigger("onItemDeselected", item); } getnumrootitems() { diff --git a/modern/src/runtime/Layer.ts b/modern/src/runtime/Layer.ts index 27bbd79e..89a29279 100644 --- a/modern/src/runtime/Layer.ts +++ b/modern/src/runtime/Layer.ts @@ -20,14 +20,12 @@ class Layer extends GuiObject { unimplementedWarning("setregion"); } - onbeginresize(x: number, y: number, w: number, h: number) { - unimplementedWarning("onbeginresize"); - return; + onbeginresize(x: number, y: number, w: number, h: number): void { + this.js_trigger("onBeginResize", x, y, w, h); } - onendresize(x: number, y: number, w: number, h: number) { - unimplementedWarning("onendresize"); - return; + onendresize(x: number, y: number, w: number, h: number): void { + this.js_trigger("onEndResize", x, y, w, h); } fx_oninit() { diff --git a/modern/src/runtime/Layout.ts b/modern/src/runtime/Layout.ts index f5ef71a3..acb67787 100644 --- a/modern/src/runtime/Layout.ts +++ b/modern/src/runtime/Layout.ts @@ -16,19 +16,16 @@ class Layout extends Group { return findParentNodeOfType(this, new Set(["container"])); } - ondock() { - unimplementedWarning("ondock"); - return; + ondock(): void { + this.js_trigger("onDock"); } - onundock() { - unimplementedWarning("onundock"); - return; + onundock(): void { + this.js_trigger("onUnDock"); } - onscale(newscalevalue: number) { - unimplementedWarning("onscale"); - return; + onscale(newscalevalue: number): void { + this.js_trigger("onScale", newscalevalue); } getscale() { @@ -56,19 +53,16 @@ class Layout extends Group { return; } - onmove() { - unimplementedWarning("onmove"); - return; + onmove(): void { + this.js_trigger("onMove"); } - onendmove() { - unimplementedWarning("onendmove"); - return; + onendmove(): void { + this.js_trigger("onEndMove"); } - onuserresize(x: number, y: number, w: number, h: number) { - unimplementedWarning("onuserresize"); - return; + onuserresize(x: number, y: number, w: number, h: number): void { + this.js_trigger("onUserResize", x, y, w, h); } snapadjust(left: number, top: number, right: number, bottom: number) { @@ -121,19 +115,16 @@ class Layout extends Group { return; } - onmouseenterlayout() { - unimplementedWarning("onmouseenterlayout"); - return; + onmouseenterlayout(): void { + this.js_trigger("onMousEenterLayout"); } - onmouseleavelayout() { - unimplementedWarning("onmouseleavelayout"); - return; + onmouseleavelayout(): void { + this.js_trigger("onMouseLeaveLayout"); } - onsnapadjustchanged() { - unimplementedWarning("onsnapadjustchanged"); - return; + onsnapadjustchanged(): void { + this.js_trigger("onSnapAdjustChanged"); } } diff --git a/modern/src/runtime/MakiObject.ts b/modern/src/runtime/MakiObject.ts index 94169a0f..f54389ee 100644 --- a/modern/src/runtime/MakiObject.ts +++ b/modern/src/runtime/MakiObject.ts @@ -103,8 +103,8 @@ class MakiObject { throw new Error("getId not implemented"); } - onnotify(command: string, param: string, a: number, b: number) { - Utils.unimplementedWarning("onnotify"); + onnotify(command: string, param: string, a: number, b: number): number { + this.js_trigger("onNotify", command, param, a, b); return 0; } } diff --git a/modern/src/runtime/MenuButton.ts b/modern/src/runtime/MenuButton.ts index a9bc3c37..6177cfde 100644 --- a/modern/src/runtime/MenuButton.ts +++ b/modern/src/runtime/MenuButton.ts @@ -12,19 +12,16 @@ class MenuButton extends GuiObject { return "MenuButton"; } - onopenmenu() { - unimplementedWarning("onopenmenu"); - return; + onopenmenu(): void { + this.js_trigger("onOpenMenu"); } - onclosemenu() { - unimplementedWarning("onclosemenu"); - return; + onclosemenu(): void { + this.js_trigger("onCloseMenu"); } - onselectitem(item: string) { - unimplementedWarning("onselectitem"); - return; + onselectitem(item: string): void { + this.js_trigger("onSelectItem", item); } openmenu() { diff --git a/modern/src/runtime/QueryList.ts b/modern/src/runtime/QueryList.ts index e10ee797..50dcfdaa 100644 --- a/modern/src/runtime/QueryList.ts +++ b/modern/src/runtime/QueryList.ts @@ -1,5 +1,4 @@ import GuiObject from "./GuiObject"; -import { unimplementedWarning } from "../utils"; class QueryList extends GuiObject { /** @@ -12,9 +11,8 @@ class QueryList extends GuiObject { return "QueryList"; } - onresetquery() { - unimplementedWarning("onresetquery"); - return; + onresetquery(): void { + this.js_trigger("onResetQuery"); } } diff --git a/modern/src/runtime/Slider.ts b/modern/src/runtime/Slider.ts index 0f8fc608..a2d21b4e 100644 --- a/modern/src/runtime/Slider.ts +++ b/modern/src/runtime/Slider.ts @@ -17,18 +17,16 @@ class Slider extends GuiObject { return 0; } - onsetposition(newpos: number) { - unimplementedWarning("onsetposition"); + onsetposition(newpos: number): void { + this.js_trigger("onSetPosition", newpos); } - onpostedposition(newpos: number) { - unimplementedWarning("onpostedposition"); - return; + onpostedposition(newpos: number): void { + this.js_trigger("onPostedPosition", newpos); } - onsetfinalposition(pos: number) { - unimplementedWarning("onsetfinalposition"); - return; + onsetfinalposition(pos: number): void { + this.js_trigger("onSetFinalPosition", pos); } setposition(pos: number) { diff --git a/modern/src/runtime/System.ts b/modern/src/runtime/System.ts index 1ea889c8..6f2a6633 100644 --- a/modern/src/runtime/System.ts +++ b/modern/src/runtime/System.ts @@ -77,8 +77,8 @@ class System extends MakiObject { return 0; } - oneqchanged(newstatus: number) { - unimplementedWarning("newstatus"); + oneqchanged(newstatus: number): void { + this.js_trigger("onEqChanged", newstatus); } geteqband(band: number) { @@ -169,109 +169,88 @@ class System extends MakiObject { ); } - onscriptloaded() { - unimplementedWarning("onscriptloaded"); - return; + onscriptloaded(): void { + this.js_trigger("onScriptLoaded"); } - onscriptunloading() { - unimplementedWarning("onscriptunloading"); - return; + onscriptunloading(): void { + this.js_trigger("onScriptUnloading"); } - onquit() { - unimplementedWarning("onquit"); - return; + onquit(): void { + this.js_trigger("onQuit"); } - onsetxuiparam(param: string, value: string) { - unimplementedWarning("onsetxuiparam"); - return; + onsetxuiparam(param: string, value: string): void { + this.js_trigger("onSetXuiParam", param, value); } - onkeydown(key: string) { - unimplementedWarning("onkeydown"); - return; + onkeydown(key: string): void { + this.js_trigger("onKeyDown", key); } - onaccelerator(action: string, section: string, key: string) { - unimplementedWarning("onaccelerator"); - return; + onaccelerator(action: string, section: string, key: string): void { + this.js_trigger("onAccelerator", action, section, key); } - oncreatelayout(_layout) { - unimplementedWarning("oncreatelayout"); - return; + oncreatelayout(_layout): void { + this.js_trigger("onCreateLayout", _layout); } - onshowlayout(_layout) { - unimplementedWarning("onshowlayout"); - return; + onshowlayout(_layout): void { + this.js_trigger("onShowLayout", _layout); } - onhidelayout(_layout) { - unimplementedWarning("onhidelayout"); - return; + onhidelayout(_layout): void { + this.js_trigger("onHideLayout", _layout); } - onstop() { - unimplementedWarning("onstop"); - return; + onstop(): void { + this.js_trigger("onStop"); } - onplay() { - unimplementedWarning("onplay"); - return; + onplay(): void { + this.js_trigger("onPlay"); } - onpause() { - unimplementedWarning("onpause"); - return; + onpause(): void { + this.js_trigger("onPause"); } - onresume() { - unimplementedWarning("onresume"); - return; + onresume(): void { + this.js_trigger("onResume"); } - ontitlechange(newtitle: string) { - unimplementedWarning("ontitlechange"); - return; + ontitlechange(newtitle: string): void { + this.js_trigger("onTitleChange", newtitle); } - ontitle2change(newtitle2: string) { - unimplementedWarning("ontitle2change"); - return; + ontitle2change(newtitle2: string): void { + this.js_trigger("onTitle2Change", newtitle2); } - oninfochange(info: string) { - unimplementedWarning("oninfochange"); - return; + oninfochange(info: string): void { + this.js_trigger("onInfoChange", info); } - onstatusmsg(msg: string) { - unimplementedWarning("onstatusmsg"); - return; + onstatusmsg(msg: string): void { + this.js_trigger("onStatusMsg", msg); } - oneqbandchanged(band: number, newvalue: number) { - unimplementedWarning("oneqbandchanged"); - return; + oneqbandchanged(band: number, newvalue: number): void { + this.js_trigger("onEqBandChanged", band, newvalue); } - oneqpreampchanged(newvalue: number) { - unimplementedWarning("oneqpreampchanged"); - return; + oneqpreampchanged(newvalue: number): void { + this.js_trigger("onEqPreampChanged", newvalue); } - onvolumechanged(newvol: number) { - unimplementedWarning("onvolumechanged"); - return; + onvolumechanged(newvol: number): void { + this.js_trigger("onVolumeChanged", newvol); } - onseek(newpos: number) { - unimplementedWarning("onseek"); - return; + onseek(newpos: number): void { + this.js_trigger("onSeek", newpos); } newdynamiccontainer(container_id: string) { @@ -744,9 +723,11 @@ class System extends MakiObject { return; } - ongetcancelcomponent(guid: string, goingvisible: boolean) { + ongetcancelcomponent(guid: string, goingvisible: boolean): boolean { unimplementedWarning("ongetcancelcomponent"); - return; + this.js_trigger("onGetCancelComponent", guid, goingvisible); + // TODO: not sure what we shuld return + return true; } iskeydown(vk_code: number) { @@ -882,9 +863,9 @@ class System extends MakiObject { return; } - onshownotification() { - unimplementedWarning("onshownotification"); - return; + onshownotification(): number { + this.js_trigger("onShowNotification"); + return 1; // return 1 if you implement it } getsonginfotext() { diff --git a/modern/src/runtime/Text.ts b/modern/src/runtime/Text.ts index 200f058b..a98d612e 100644 --- a/modern/src/runtime/Text.ts +++ b/modern/src/runtime/Text.ts @@ -31,9 +31,8 @@ class Text extends GuiObject { return; } - ontextchanged(newtxt: string) { - unimplementedWarning("ontextchanged"); - return; + ontextchanged(newtxt: string): void { + this.js_trigger("onTextChanged", newtxt); } } diff --git a/modern/src/runtime/ToggleButton.ts b/modern/src/runtime/ToggleButton.ts index 846a5166..c63e7885 100644 --- a/modern/src/runtime/ToggleButton.ts +++ b/modern/src/runtime/ToggleButton.ts @@ -12,8 +12,8 @@ class ToggleButton extends Button { return "ToggleButton"; } - ontoggle(onnoff: boolean) { - unimplementedWarning("ontoggle"); + ontoggle(onnoff: boolean): void { + this.js_trigger("onToggle", onnoff); } getcurcfgval() { diff --git a/modern/src/runtime/TreeItem.ts b/modern/src/runtime/TreeItem.ts index c9d1c804..e83bbfbb 100644 --- a/modern/src/runtime/TreeItem.ts +++ b/modern/src/runtime/TreeItem.ts @@ -127,64 +127,52 @@ class TreeItem extends MakiObject { return; } - ontreeadd() { - unimplementedWarning("ontreeadd"); - return; + ontreeadd(): void { + this.js_trigger("onTreeAdd"); } - ontreeremove() { - unimplementedWarning("ontreeremove"); - return; + ontreeremove(): void { + this.js_trigger("onTreeRemove"); } - onselect() { - unimplementedWarning("onselect"); - return; + onselect(): void { + this.js_trigger("onSelect"); } - ondeselect() { - unimplementedWarning("ondeselect"); - return; + ondeselect(): void { + this.js_trigger("onDeselect"); } - onleftdoubleclick() { - unimplementedWarning("onleftdoubleclick"); - return; + onleftdoubleclick(): void { + this.js_trigger("onLeftDoubleClick"); } - onrightdoubleclick() { - unimplementedWarning("onrightdoubleclick"); - return; + onrightdoubleclick(): void { + this.js_trigger("onRightDoubleClick"); } - onchar(key: number) { - unimplementedWarning("onchar"); - return; + onchar(key: number): void { + this.js_trigger("onChar", key); } - onexpand() { - unimplementedWarning("onexpand"); - return; + onexpand(): void { + this.js_trigger("onExpand"); } - oncollapse() { - unimplementedWarning("oncollapse"); - return; + oncollapse(): void { + this.js_trigger("onCollapse"); } - onbeginlabeledit() { - unimplementedWarning("onbeginlabeledit"); - return; + onbeginlabeledit(): void { + this.js_trigger("onBeginLabelEdit"); } - onendlabeledit(newlabel: string) { - unimplementedWarning("onendlabeledit"); - return; + onendlabeledit(newlabel: string): void { + this.js_trigger("onEndLabelEdit", newlabel); } - oncontextmenu(x: number, y: number) { - unimplementedWarning("oncontextmenu"); - return; + oncontextmenu(x: number, y: number): void { + this.js_trigger("onContextMenu", x, y); } } diff --git a/modern/src/runtime/Vis.ts b/modern/src/runtime/Vis.ts index 59a66185..81cdc1dc 100644 --- a/modern/src/runtime/Vis.ts +++ b/modern/src/runtime/Vis.ts @@ -16,9 +16,8 @@ class Vis extends GuiObject { unimplementedWarning("setmode"); } - onframe() { - unimplementedWarning("onframe"); - return; + onframe(): void { + this.js_trigger("onFrame"); } setrealtime(onoff: boolean) { diff --git a/modern/src/runtime/Wac.ts b/modern/src/runtime/Wac.ts index d9b7e3f3..0675c8cc 100644 --- a/modern/src/runtime/Wac.ts +++ b/modern/src/runtime/Wac.ts @@ -42,19 +42,16 @@ class Wac extends MakiObject { return; } - onnotify(notifstr: string, a: number, b: number) { - unimplementedWarning("onnotify"); - return; + onnotify(notifstr: string, a: number, b: number): void { + this.js_trigger("onNotify", notifstr, a, b); } - onshow() { - unimplementedWarning("onshow"); - return; + onshow(): void { + this.js_trigger("onShow"); } - onhide() { - unimplementedWarning("onhide"); - return; + onhide(): void { + this.js_trigger("onHide"); } setstatusbar(onoff: boolean) {