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.ItemDefault

end 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