summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-08-24 13:28:34 +0400
committerAlexander Gavrilov2012-08-24 13:28:34 +0400
commit296f82b02fcd0801d6614bb45da05c88ed7c88d2 (patch)
tree4d13745e4d88ea48a9fb7168abf832d740a7dec6 /scripts
parente825dc5ddb1f2c0798b571ebcb02a52e184fc689 (diff)
downloaddfhack-296f82b02fcd0801d6614bb45da05c88ed7c88d2.tar.gz
dfhack-296f82b02fcd0801d6614bb45da05c88ed7c88d2.tar.bz2
dfhack-296f82b02fcd0801d6614bb45da05c88ed7c88d2.tar.xz
Try using the Objective-C 'alloc + init' idiom for lua screen objects.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/gui/hello-world.lua2
-rw-r--r--scripts/gui/mechanisms.lua18
2 files changed, 10 insertions, 10 deletions
diff --git a/scripts/gui/hello-world.lua b/scripts/gui/hello-world.lua
index b67e5012..80986bbf 100644
--- a/scripts/gui/hello-world.lua
+++ b/scripts/gui/hello-world.lua
@@ -17,6 +17,6 @@ local screen = mkinstance(gui.FramedScreen, {
self:dismiss()
end
end
-})
+}):init()
screen:show()
diff --git a/scripts/gui/mechanisms.lua b/scripts/gui/mechanisms.lua
index 3b40ffbd..d33d55a9 100644
--- a/scripts/gui/mechanisms.lua
+++ b/scripts/gui/mechanisms.lua
@@ -52,15 +52,16 @@ MechanismList = defclass(MechanismList, guidm.MenuOverlay)
MechanismList.focus_path = 'mechanisms'
-function MechanismList.new(building)
- local self = {
- links = {},
- selected = 1
+function MechanismList:init(building)
+ self:init_fields{
+ links = {}, selected = 1
}
- return mkinstance(MechanismList, self):init(building)
+ guidm.MenuOverlay.init(self)
+ self:fillList(building)
+ return self
end
-function MechanismList:init(building)
+function MechanismList:fillList(building)
local links = listMechanismLinks(building)
links[1].viewport = self:getViewport()
@@ -71,7 +72,6 @@ function MechanismList:init(building)
self.links = links
self.selected = 1
- return self
end
local colors = {
@@ -133,7 +133,7 @@ function MechanismList:onInput(keys)
end
elseif keys.SELECT_ALL then
if self.selected > 1 then
- self:init(self.links[self.selected].obj)
+ self:fillList(self.links[self.selected].obj)
end
elseif keys.SELECT then
self:dismiss()
@@ -146,6 +146,6 @@ if dfhack.gui.getCurFocus() ~= 'dwarfmode/QueryBuilding/Some' then
qerror("This script requires the main dwarfmode view in 'q' mode")
end
-local list = MechanismList.new(df.global.world.selected_building)
+local list = mkinstance(MechanismList):init(df.global.world.selected_building)
list:show()
list:changeSelected(1)