# Class k.u.l.ListContainer(gtk.HBox):

Part of kiwi.ui.listdialog View In Hierarchy

A ListContainer is an `ObjectList` with buttons to be able to modify the content of the list. Depending on the list_mode, @see `set_list_mode` you will have add, remove and edit buttons.

# Signals

- add-item (returns item):
  - emitted when the add button is clicked, you're expected to return an object here
- remove-item (item, returns bool):
  - emitted when removing an item, you can block the removal from the list by returning False
- edit-item (item):
  - emitted when editing an item you can block the update afterwards by returning False

Instance Variables | add_button | add button (type: `gtk.Button` )
| remove_button | remove button (type: `gtk.Button` )
| edit_button | edit button (type: `gtk.Button` )

Method | __init__ | Create a new ListContainer object.
Method | _create_ui | Undocumented
Method | _add_buttons_to_box | Undocumented
Method | _pack_vbox | Undocumented
Method | _set_child_packing | Undocumented
Method | _add_item | Undocumented
Method | _remove_item | Undocumented
Method | _edit_item | Undocumented
Method | add_item | Appends an item to the list
Method | add_items | Appends a list of items to the list
Method | remove_item | Removes an item from the list
Method | update_item | Updates an item in the list.
Method | default_remove | Asks the user confirmation for removal of an item.
Method | set_list_type | Sets the kind of list type.
Method | clear | Removes all the items in the list
Method | _on_list__selection_changed | Undocumented
Method | _on_list__row_activated | Undocumented
Method | _on_add_button__clicked | Undocumented
Method | _on_remove_button__clicked | Undocumented
Method | _on_edit_button__clicked | Undocumented

def __init__(self, columns, orientation=gtk.ORIENTATION_VERTICAL):
Create a new ListContainer object.

Parameters | columns | columns for the `kiwi.ui.objectlist.ObjectList` (type: a list of `kiwi.ui.objectlist.Columns` )
| orientation | the position where the buttons will be placed: at the right (vertically) or at the bottom (horizontally) of the list. Defaults to the right of the list.
| (type: gtk.ORIENTATION_HORIZONTAL or gtk.ORIENTATION_VERTICAL )

def _create_ui(self, columns):
Undocumented
def _add_buttons_to_box(self, box):
Undocumented
def _pack_vbox(self):
Undocumented
def _set_child_packing(self, padding):
Undocumented
def _add_item(self):
Undocumented
def _remove_item(self, item):
Undocumented
def _edit_item(self, item):
Undocumented
def add_item(self, item):
Appends an item to the list

Parameters | item | item to append

def add_items(self, items):
Appends a list of items to the list

Parameters | items | items to add (type: a sequence of items )

def remove_item(self, item):
Removes an item from the list

Parameters | item | item to remove

def update_item(self, item):
Updates an item in the list. You should call this if you change the object

Parameters | item | item to update

def default_remove(self, item):
Asks the user confirmation for removal of an item.

Parameters | item | a description of the item that will be removed
Returns | True if the user confirm the removal, False otherwise

def set_list_type(self, list_type):
Sets the kind of list type.

Parameters | list_type |

def clear(self):
Removes all the items in the list

def _on_list__selection_changed(self, list, selection):
Undocumented
def _on_list__row_activated(self, list, item):
Undocumented
def _on_add_button__clicked(self, button):
Undocumented
def _on_remove_button__clicked(self, button):
Undocumented
def _on_edit_button__clicked(self, button):
Undocumented