Hi,
(It seems I can post with this mail address)
In unittest you'll see following lines (at ~229):
a = wx.wxRect(1,2,3,4);
function a.Print(self) return string.format("%d,%d,%d,%d", self:GetX(),
self:GetY(), self:GetWidth(), self:GetHeight()) end
PrintOk(a:Print() == "1,2,3,4", "Add a new lua function to an already
created wx.wxRect")
I found that usage "trick" from the hard way :) I should have study
samples carefully..
--
Regards,
Hakki Dogusan
-- 8< --[[ veryminimalframe.lua ]]-----------------------------------
local wx = wx
local setmetatable = setmetatable
local require = require
local module = module
local tostring = tostring
module"veryminimalframe"
local function SaySomethingElse(t, s)
wx.wxMessageBox(tostring(t) .. "\n" ..
"Hello again, " .. (s or ""),
"wxLua", wx.wxOK, t)
end
local function create(parent, id, title, pos, size, style)
local parent = parent or wx.NULL
local id = id or wx.wxID_ANY
local title = title or "wxLua Very Minimal Demo"
local pos = pos or wx.wxDefaultPosition
local size = size or wx.wxSize(450, 450)
local style = style or wx.wxDEFAULT_FRAME_STYLE
local frame = wx.wxFrame( parent, id, title, pos, size, style)
-- attach some methods
frame.SaySomething = function(t, s)
wx.wxMessageBox(tostring(t) .. "\n" ..
"Hello, " .. (s or "") .. "\n" ..
t.m_var, "wxLua", wx.wxOK, t)
end
frame.SaySomethingElse = SaySomethingElse
frame.m_var = ""
return frame
end
-- simulate ctor
function __call(self, ...)
return create(...)
end
setmetatable(_M, _M)
-- 8< --[[ application.lua ]]----------------------------------------
local wx = wx
local module = module
local setmetatable = setmetatable
local require = require
local module = module
module"application"
local function Run(t, ...)
local VeryMinimalFrame = require"veryminimalframe"
local fa = VeryMinimalFrame()
local fb = VeryMinimalFrame(wx.NULL, -1, "Testing module")
fa:Show(true)
fb:Show(true)
fa.m_var = "fa's member variable "
fa:SaySomething("fa")
fb:SaySomething("fb")
fb:SaySomethingElse("fb")
fa:Destroy()
--commented to left something to see fb:Destroy()
end
local function create(...)
local a = {}
a.OnInit = Run
return a
end
-- simulate ctor
function __call(self, ...)
return create(...)
end
setmetatable(_M, _M)
-- 8< --[[ main.lua ]]-----------------------------------------------
local require = require
local App = require"application"
local a = App()
a:OnInit()
-- 8< --------------------------------------------------------------
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
wxlua-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wxlua-users