From 0df22efdc225a6d9df75187de7d427f2912c4f3c Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Mon, 11 Dec 2017 11:31:41 -0500 Subject: [PATCH] slide out for UI + turtle.has --- sys/apis/ui.lua | 35 ++++++++++++++++++++++++++++++++++- sys/extensions/tl3.lua | 5 +++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/sys/apis/ui.lua b/sys/apis/ui.lua index abef82c..0777aa2 100644 --- a/sys/apis/ui.lua +++ b/sys/apis/ui.lua @@ -95,7 +95,7 @@ function Manager:init() singleThread('monitor_touch', function(side, x, y) if self.currentPage then if self.currentPage.parent.device.side == side then - self:click(1, x, y) + self:click('mouse_click', 1, x, y) end end end) @@ -2320,6 +2320,39 @@ function UI.Wizard:eventHandler(event) end end +--[[-- SlideOut --]]-- +UI.SlideOut = class(UI.Window) +UI.SlideOut.defaults = { + UIElement = 'SlideOut', +} +function UI.SlideOut:setParent() + UI.Window.setParent(self) + self.canvas = self:addLayer() +end + +function UI.SlideOut:enable() + self.enabled = false +end + +function UI.SlideOut:show() + self:addTransition('expandUp') + self.canvas:setVisible(true) + self.enabled = true + for _,child in pairs(self.children) do + child:enable() + end + self:focusFirst() + self:draw() + UI:capture(self) +end + +function UI.SlideOut:hide() + self:disable() + self.canvas:setVisible(false) + UI:release(self) + self:refocus() +end + --[[-- Notification --]]-- UI.Notification = class(UI.Window) UI.Notification.defaults = { diff --git a/sys/extensions/tl3.lua b/sys/extensions/tl3.lua index e61b0ad..b89f0bb 100644 --- a/sys/extensions/tl3.lua +++ b/sys/extensions/tl3.lua @@ -786,6 +786,11 @@ function turtle.getSummedInventory() return t end +function turtle.has(item, count) + local slot = turtle.getSummedInventory()[item] + return slot and slot.count >= (count or 1) +end + function turtle.getFilledSlots(startSlot) startSlot = startSlot or 1