'Creates a window with the information about a given hosts.
The parent is needed so the window can set transient for'

def __init__(self, parent, active_ws_name, host):

    window_title = (('Host    ' + host.name) + '    information')
    Gtk.Window.__init__(self, title=window_title)
    self.set_transient_for(parent)
    self.set_size_request(1200, 500)
    self.set_modal(True)
    self.connect('key_press_event', key_reactions)
    self.host = host
    self.model = self.create_model(self.host)
    host_info = self.model[0]
    host_id = self.model[0][0]
    couch_url = CONF.getCouchURI()
    base_url = (couch_url + '/_ui/#/host/ws/')
    self.edit_url = (((base_url + active_ws_name) + '/hid/') + host_id)
    host_info_frame = self.create_host_info_frame(host_info)
    self.specific_info = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    self.specific_info_frame = self.create_scroll_frame(self.specific_info, 'Service    Information')
    self.vuln_info = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    self.vuln_info_frame = self.create_scroll_frame(self.vuln_info, 'Vulnerability    Information')
    main_tree = self.create_main_tree_view(self.model)
    vuln_list = self.create_vuln_list()
    button_box = self.create_button_box()
    main_box = Gtk.Box()
    info_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    info_box.pack_start(host_info_frame, True, True, 10)
    info_box.pack_start(self.specific_info_frame, True, True, 10)
    info_box.pack_start(self.vuln_info_frame, True, True, 10)
    info_box.pack_start(button_box, False, False, 10)
    main_tree_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    main_tree_box.pack_start(main_tree, True, True, 10)
    main_tree_box.pack_start(Gtk.Box(), False, False, 10)
    vuln_list_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
    vuln_list_box.pack_start(vuln_list, True, True, 10)
    vuln_list_box.pack_start(Gtk.Box(), False, False, 10)
    main_box.pack_start(main_tree_box, False, False, 5)
    main_box.pack_start(vuln_list_box, False, False, 0)
    main_box.pack_start(info_box, True, True, 5)
    self.add(main_box)
