mirror of
https://github.com/kepler155c/opus
synced 2024-09-28 15:08:41 +00:00
41 lines
719 B
Lua
41 lines
719 B
Lua
local class = require('opus.class')
|
|
local UI = require('opus.ui')
|
|
|
|
UI.TextArea = class(UI.Viewport)
|
|
UI.TextArea.defaults = {
|
|
UIElement = 'TextArea',
|
|
marginRight = 2,
|
|
value = '',
|
|
}
|
|
function UI.TextArea:postInit()
|
|
self.scrollBar = UI.ScrollBar()
|
|
end
|
|
|
|
function UI.TextArea:setText(text)
|
|
self:reset()
|
|
self.value = text
|
|
self:draw()
|
|
end
|
|
|
|
function UI.TextArea:focus()
|
|
-- allow keyboard scrolling
|
|
end
|
|
|
|
function UI.TextArea:draw()
|
|
self:clear()
|
|
-- self:setCursorPos(1, 1)
|
|
self.cursorX, self.cursorY = 1, 1
|
|
self:print(self.value)
|
|
|
|
for _,child in pairs(self.children) do
|
|
if child.enabled then
|
|
child:draw()
|
|
end
|
|
end
|
|
end
|
|
|
|
function UI.TextArea.example()
|
|
return UI.TextArea {
|
|
value = 'sample text\nabc'
|
|
}
|
|
end |