def __init__(self, root, config_save, rest_client_factory): self.config = config_save.get_configuration() self.root = root application_folder = BrowserConfiguration.get_application_directory_and_create_if_necessary() self.database = XnatDatabase(rest_client_factory.create_rest_client(self.config), self.config, application_folder) self.database_models = XnatModelFactory(self.database) self.config_save = config_save self.master_paned_window = PanedWindow(root) self.master_paned_window.pack(fill=BOTH, expand=1) self._project_listbox = LabeledListBox(self.master_paned_window, self.database_models.project_list_model, 'Project:') self.master_paned_window.add(self._project_listbox) self._subject_listbox = LabeledListBox(self.master_paned_window, self.database_models.subject_list_model, 'Subject:') self.master_paned_window.add(self._subject_listbox) self._scan_listbox = LabeledProgressListBox(self.master_paned_window, self.database_models.scan_list_model, "Scans:") self.master_paned_window.add(self._scan_listbox)