'Initializes a simple modal dialog which forces the user to choose
a workspace from a list.'

def __init__(self, parent_window, workspaces_model, change_ws_callback):

    Gtk.Window.__init__(self, title='Choose    a    Workspace')
    self.set_type_hint(Gdk.WindowTypeHint.DIALOG)
    self.set_deletable(False)
    self.set_transient_for(parent_window)
    self.set_modal(True)
    self.connect('key_press_event', strict_key_reactions)
    self.connect('delete_event', (lambda _, __: True))
    self.change_ws_callback = change_ws_callback
    message = self.create_explanation_message()
    scroll_view = self.create_view(workspaces_model)
    button_box = self.create_button_box()
    content_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    content_box.pack_start(message, True, True, 6)
    content_box.pack_start(scroll_view, True, True, 6)
    content_box.pack_start(button_box, True, True, 6)
    self.add(content_box)
