Binding events to classes
Hiya guys, sorry if this is a stupid question but I've yet to figure it out and thought perhaps someone might be able to assist.
I'm using Turbine's Class.lua to create window classes and I'd like to add functions to the Constructor so that when a window is instantiated, it already has functions bound to events. Here's a short example (edited down to weed out some unimportant bits): Code:
local myWindowClass=class(Turbine.UI.Lotro.Window()); I have a feeling this has something to do with a lack of knowledge of scoping, but I'm a bit stymied. Specifically, how do I address the instance of "myLabel" from within the function? I was assuming that self.myButton:MouseUp() was passing in self as the first argument automatically, as I'd read. Could someone please point me in the right direction? The "real" purpose is to create windows that are constructed along with their own resizing handler functions. Thanks in advance! |
OK. I actually missed the biggest problem for several minutes. You put parentheses after the base class name when using the class statement but that winds up calling the base class constructor and passing the result of that call, an instance of the class, instead of the class itself.
Code:
myWindowClass=class(Turbine.UI.Lotro.Window()); Code:
myWindowClass=class(Turbine.UI.Lotro.Window); Code:
Turbine.UI.Lotro.Window:Constructor(self); Code:
Turbine.UI.Lotro.Window.Constructor(self); If you haven't already checked it out, the thread, https://www.lotro.com/forums/showthr...gins-for-Noobs has two posts, "Function calling" and "Event Handling" which cover handling events as well as firing and handling custom events. |
Thank you so much Garan! I got a bit farther and also realized I had another issue in my actual code, which this helped me to solve.
I was doing this: Code:
self.myCheckbox:CheckedChanged = function(sender,args) Code:
self.myCheckbox.CheckedChanged = function(sender,args) I've been relying on your Plugins for noobs post heavily, thanks. It's what's gotten me as far as I have. I'm an old hand programmer but Lua is entirely new to me, so I think a lot of the problems I have had and will have with syntax are just a matter of experience. Thank you again for the help! |
You're welcome. Lua is a fun language but it's syntactic flexibility (often several ways to write the same expressions) can take a bit of getting used to. I depended heavily on the Lua 5.1 Reference Manual from lua.org when learning and I still have to go back there sometimes when proper syntax eludes me:
http://www.lua.org/manual/5.1/ |
Thanks! I have the PRM in both ebook form and using the online version. Can't do without them!
|
All times are GMT -5. The time now is 11:01 PM. |
vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI