GUI fixes; Mesh loader WIP

This commit is contained in:
Nikita Kruglickiy
2021-01-19 14:08:53 +06:00
parent d4dd889bb5
commit ceaada7e2d
16 changed files with 433 additions and 58 deletions

View File

@@ -16,6 +16,7 @@ function EPanel:initialize()
Element.initialize(self)
self._minimized = false
self._lastHeight = 0
self.title = ELabel:new()
self.title:setPos(12, 8)
@@ -30,17 +31,18 @@ function EPanel:initialize()
}
self.minimizeButton = EButton:new()
self.minimizeButton:setFont(GUI.fonts["icons"])
self.minimizeButton:setText("_")
self.minimizeButton:setSize(32, 32)
self.minimizeButton:setRadius(0)
self.minimizeButton:setColorScheme(colorScheme)
self.minimizeButton:setEnabled(false)
self.minimizeButton.onClick = function()
self:minimizeMaximize()
end
self:addChild(self.minimizeButton)
self.closeButton = EButton:new()
self.closeButton:setFont(GUI.fonts["icons"])
self.closeButton:setText("X")
self.closeButton:setText(string.utf8char(10005))
self.closeButton:setSize(32, 32)
self.closeButton:setRadius(0)
self.closeButton:setColorScheme(colorScheme)
@@ -85,8 +87,48 @@ function EPanel:close()
end
function EPanel:open()
self:setVisible(false)
self:setEnabled(false)
self:setVisible(true)
self:setEnabled(true)
end
function EPanel:minimize()
self._lastHeight = self:getHeight()
self.minimizeButton:setText(string.utf8char(10063))
self:setMinimized(true)
self:setHeight(34)
local child = self._firstChild
while child do
if child ~= self.title and child ~= self.minimizeButton and child ~= self.closeButton then
child:setVisible(false)
end
child = child._nextSibling
end
end
function EPanel:maximize()
self.minimizeButton:setText("_")
self:setMinimized(false)
self:setHeight(self._lastHeight)
local child = self._firstChild
while child do
if child ~= self.title and child ~= self.minimizeButton and child ~= self.closeButton then
child:setVisible(true)
end
child = child._nextSibling
end
end
function EPanel:minimizeMaximize()
if self:isMinimized() then
self:maximize()
else
self:minimize()
end
end
function EPanel:onMousePressed(x, y, key, keyName)
@@ -125,8 +167,8 @@ function EPanel:onMouseLeave()
end
function EPanel:performLayout(w, h)
self.closeButton:setPos(w - 33, 1)
self.minimizeButton:setPos(w - 65, 1)
self.closeButton:setPos(w - 33, 1)
end
function EPanel:paint(x, y, w, h)