Some performance fixes, added UITable widget for easy tables (needs more work still), Worked on Market order displaying.
parent
3461761739
commit
9c8134c8a6
@ -0,0 +1,9 @@
|
||||
Table < UITable
|
||||
layout: verticalBox
|
||||
|
||||
TableRow < UIScrollArea
|
||||
layout: horizontalBox
|
||||
height: 10
|
||||
|
||||
TableColumn < UIScrollArea
|
||||
width: 30
|
@ -0,0 +1,86 @@
|
||||
-- @docclass
|
||||
UITable = extends(UIScrollArea)
|
||||
|
||||
function UITable.create()
|
||||
local table = UITable.internalCreate()
|
||||
table.rows = {}
|
||||
table.rows.columns = {}
|
||||
table.rowStyle = {}
|
||||
table.columStyle = {}
|
||||
return table
|
||||
end
|
||||
|
||||
function UITable:destroy()
|
||||
for k,row in pairs(self.rows) do
|
||||
row.onClick = nil
|
||||
end
|
||||
self.rows = {}
|
||||
end
|
||||
|
||||
function UITable:onStyleApply(styleName, styleNode)
|
||||
UIScrollArea.onStyleApply(self, styleName, styleNode)
|
||||
for name, value in pairs(styleNode) do
|
||||
if name == 'column-style' then
|
||||
addEvent(function()
|
||||
self:setRowStyle(self:getParent():getChildById(value))
|
||||
end)
|
||||
elseif name == 'row-style' then
|
||||
addEvent(function()
|
||||
self:setRowStyle(self:getParent():getChildById(value))
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UITable:addRow(columns, rowStyle, columStyle)
|
||||
local row = g_ui.createWidget(rowStyle, self)
|
||||
row.columns = {}
|
||||
|
||||
for k, data in pairs(columns) do
|
||||
local col = g_ui.createWidget(columStyle, row)
|
||||
col:setText(data)
|
||||
table.insert(row.columns, col)
|
||||
end
|
||||
row.onClick = function(row) self:selectRow(row) end
|
||||
table.insert(self.rows, row)
|
||||
return row
|
||||
end
|
||||
|
||||
function UITable:removeRow(row)
|
||||
if self.selectedRow == row then
|
||||
self:selectRow(nil)
|
||||
end
|
||||
row.onClick = nil
|
||||
table.removevalue(self.rows, row)
|
||||
end
|
||||
|
||||
function UITable:selectRow(selectedRow)
|
||||
if selectedRow == self.selectedRow then return end
|
||||
|
||||
local previousSelectedRow = self.selectedRow
|
||||
self.selectedRow = selectedRow
|
||||
|
||||
if previousSelectedRow then
|
||||
previousSelectedRow:setChecked(false)
|
||||
end
|
||||
|
||||
if selectedRow then
|
||||
selectedRow:setChecked(true)
|
||||
end
|
||||
|
||||
signalcall(self.onSelectionChange, self, selectedRow, previousSelectedRow)
|
||||
end
|
||||
|
||||
function UITable:setRowStyle(style)
|
||||
self.rowStyle = style
|
||||
for k, row in pairs(self.rows) do
|
||||
row:setStyle(style)
|
||||
end
|
||||
end
|
||||
|
||||
function UITable:setColumnStyle(style)
|
||||
self.columStyle = style
|
||||
for k, col in pairs(self.rows.columns) do
|
||||
col:setStyle(style)
|
||||
end
|
||||
end
|
Loading…
Reference in new issue