CheckList¶
-
class
guerilla.
CheckList
¶ Bases:
guerilla.Window
The base class for check list widgets
-
createitemwindow
()¶ Init the item window
-
fill
()¶ Fill the widget with all lines
This method is separated from create so you can create the widget, create overriding methods and then call fill
-
getitems
()¶ Callback for when the widget needs the list of items
You must implement this method, which in turn returns the items contained:LUA{ – Create a title window local title = ui.titlewindow () title:settitle (“Test”) title:setpos { w=200, h=200 }
– Create a check list in the title window local checklist = CheckList.create (“list”, title) function checklist:getitems ()
– Return the list of items return { “One”, “Two”, “Three” }end checklist:fill () checklist:setpos { x=0, y=0, w=ui.full } } Alternatively, the default implementation will use the Items field in the widget if present.
return: The list of items in the list rtype: {string}
-
getitemstate
()¶ Callback for when the widget needs the state of an item of the list.
You must implement this method, which in turn returns the state of the given item. The passed item is the same that is returned by the getitems method:LUA{ – Create a title window local title = ui.titlewindow () title:settitle (“Test”) title:setpos { w=200, h=200 }
– Create a check list in the title window local checklist = CheckList.create (“list”, title) checklist.Items = { “One”, “Two”, “Three” } function checklist:getitemstate (item)
– Return the state of an item return item == “One” and CheckList.ItemDefault or
- item == “Two” and CheckList.ItemChecked or
- CheckList.ItemUnchecked
end checklist:fill () checklist:setpos { x=0, y=0, w=ui.full } } The possible item states are:
CheckList.ItemDefault: the item is displayed using the default style
CheckList.ItemChecked: the item is displayed using the checked style
CheckList.ItemUnchecked: the item is displayed using the not checked style
CheckList.ItemHighlight: the item is displayed using the highlight style
return: The current item state rtype: number
-
itemclicked
()¶ Callback for when the an item of the list was clicked.
You must implement this method to react to the user clicking a list item:
LUA{ – Create a title window local title = ui.titlewindow () title:settitle (“Test”) title:setpos { w=200, h=200 }
– Create a check list in the title window local checklist = CheckList.create (“list”, title) – init items states checklist.State = { One=true, Two=false, Three=true } checklist.Items = { “One”, “Two”, “Three” } function checklist:getitemstate (item)
– Return the state of an item return self.State[item] and CheckList.ItemChecked or CheckList.ItemDefaultend function checklist:itemclicked (item)
– Invert the state of the clicked item self.State[item] = not self.State[item]end checklist:fill () checklist:setpos { x=0, y=0, w=ui.full } }
-
update
()¶ Update the list state
-
updateitemwindow
()¶ Update the item window
-