GUI fixes; Mesh loader WIP
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user