##
36.1.9 GUI classes

`msilib` provides several classes that wrap the GUI tables in an MSI database. However, no standard user interface is provided; use `bdist_msi` to create MSI files with a user-interface for installing Python packages.

class `Control`( | dlg, name)

  Base class of the dialog controls. dlg is the dialog object the control belongs to, and name is the control's name.

`event`( | event, argument[, condition = ``1''[, ordering]])

  Make an entry into the `ControlEvent` table for this control.

`mapping`( | event, attribute)

  Make an entry into the `EventMapping` table for this control.

`condition`( | action, condition)

  Make an entry into the `ControlCondition` table for this control.

class `RadioButtonGroup`( | dlg, name, property)

  Create a radio button control named name. property is the installer property that gets set when a radio button is selected.

`add`( | name, x, y, width, height, text [, value])

  Add a radio button named name to the group, at the coordinates x, y, width, height, and with the label text. If value is omitted, it defaults to name.

class `Dialog`( | db, name, x, y, w, h, attr, title, first, default, cancel)

  Return a new `Dialog` object. An entry in the `Dialog` table is made, with the specified coordinates, dialog attributes, title, name of the first, default, and cancel controls.

`control`( | name, type, x, y, width, height, attributes, property, text, control_next, help)

  Return a new `Control` object. An entry in the `Control` table is made with the specified parameters.

  This is a generic method; for specific types, specialized methods are provided.

`text`( | name, x, y, width, height, attributes, text)

  Add and return a `Text` control.

`bitmap`( | name, x, y, width, height, text)

  Add and return a `Bitmap` control.

`line`( | name, x, y, width, height)

  Add and return a `Line` control.

`pushbutton`( | name, x, y, width, height, attributes, text, next_control)

  Add and return a `PushButton` control.

`radiogroup`( | name, x, y, width, height, attributes, property, text, next_control)

  Add and return a `RadioButtonGroup` control.

`checkbox`( | name, x, y, width, height, attributes, property, text, next_control)

  Add and return a `CheckBox` control.

See Also:

Dialog Table

Control Table

Control Types

ControlCondition Table

ControlEvent Table

EventMapping Table

RadioButton Table