示例#1
0
文件: mainwnd.py 项目: aweal/icd-10
    def __init__(self, app, *args, **kwargs):
        super().__init__(title=setting._APP_NAME,
                         application=app,
                         *args,
                         **kwargs)
        self.app = app
        Gtk.Window.__init__(self, title=setting._APP_NAME, application=app)
        self.lgr = logging.getLogger('mainwnd')
        self.def_ico = self.get_icon()

        if self.def_ico:
            self.set_default_icon(self.def_ico)

        self.set_keep_above(True)
        self.__single_mode = True

        grid = Gtk.Grid()

        self.add(grid)

        self.column_cbox = Gtk.ComboBoxText()
        self.column_cbox.append_text("ICD")
        self.column_cbox.append_text("Description")
        self.column_cbox.set_active(1)
        # print(self.column_cbox.get_active())
        grid.attach(self.column_cbox, 6, 0, 1, 1)

        self.search_entry = Gtk.SearchEntry()
        self.search_entry.set_placeholder_text("Enter description")

        self.search_entry.connect("search-changed", self.search_changed)
        #self.search_entry.connect("stop-search", self.stop_search)

        self.search_bar = Gtk.SearchBar()
        self.search_bar.connect_entry(self.search_entry)
        self.search_bar.add(self.search_entry)
        self.search_bar.set_search_mode(True)

        # self.search_bar.search_mode_enabled(True)
        self.search_bar.set_show_close_button(False)
        grid.attach(self.search_bar, 0, 0, 5, 1)

        self.store = Gtk.ListStore(str, str)
        self.treev = Gtk.TreeView.new_with_model(
            self.store)  #Gtk.TreeView(self.store)

        icd_renderer = Gtk.CellRendererText()
        desc_renderer = Gtk.CellRendererText()

        column_icd = Gtk.TreeViewColumn("ICD", icd_renderer, text=0)
        column_desc = Gtk.TreeViewColumn("Description", desc_renderer, text=1)

        self.treev.append_column(column_icd)
        self.treev.append_column(column_desc)

        self.scrollable_treelist = Gtk.ScrolledWindow()
        self.scrollable_treelist.set_vexpand(True)
        self.scrollable_treelist.set_policy(Gtk.PolicyType.EXTERNAL,
                                            Gtk.PolicyType.AUTOMATIC)

        self.scrollable_treelist.add(self.treev)

        grid.attach(self.scrollable_treelist, 0, 1, 7, 7)

        self.db = ICDdb(DB_PATH)
        self.db.connect()
        if not self.db.connected:
            self.lgr.error('Cannot connect to database')
            exit(1)