ComputerCraft Archive

MiniSlideOut

computer utility kepler155c github

Description

ComputerCraft OS

Installation

Copy one of these commands into your ComputerCraft terminal:

wget:wget https://raw.githubusercontent.com/kepler155c/opus/develop-1.8/sys/modules/opus/ui/components/MiniSlideOut.lua minislideout
Archive:wget https://cc.shobie.xyz/cc/get/gh-kepler155c-opus-sys-modules-opus-ui-components-minislideout minislideout
Quick Install: wget https://cc.shobie.xyz/cc/get/gh-kepler155c-opus-sys-modules-opus-ui-components-minislideout MiniSlideOut

Usage

Run: MiniSlideOut

Tags

none

Source

View Original Source

Code Preview

local class = require('opus.class')
local UI    = require('opus.ui')

UI.MiniSlideOut = class(UI.SlideOut)
UI.MiniSlideOut.defaults = {
	UIElement = 'MiniSlideOut',
    noFill = true,
    backgroundColor = 'primary',
    height = 1,
}
function UI.MiniSlideOut:postInit()
    self.close_button = UI.Button {
        x = -1,
        backgroundColor = self.backgroundColor,
        backgroundFocusColor = self.backgroundColor,
        text = 'x',
        event = 'slide_hide',
        noPadding = true,
    }
    if self.label then
        self.label_text = UI.Text {
            x = 2,
            value = self.label,
        }
    end
end

function UI.MiniSlideOut:show(...)
    UI.SlideOut.show(self, ...)
    self:addTransition('slideLeft', { easing = 'outBounce' })
end