#-------------------------------------------------------------------- # # PyGUI - ListButton - Win32 # #-------------------------------------------------------------------- import win32con as wc, win32ui as ui, win32gui as gui from GUI import export from GUI.WinUtils import win_none from GUI.WinComboBox import CreateComboBox from GUI.GListButtons import ListButton as GListButton class ListButton(GListButton): _pass_key_events_to_platform = True def __init__(self, **kwds): titles, values = self._extract_initial_items(kwds) self._titles = titles self._values = values win = CreateComboBox(win_none, (0, 0), (100, 320), wc.CBS_DROPDOWNLIST) win.ShowWindow() self._win_update_items(win) GListButton.__init__(self, _win = win, **kwds) def _update_items(self): self._win_update_items(self._win) def _win_update_items(self, win): win.ResetContent() for title in self._titles: win.AddString(title) def _get_selected_index(self): return self._win.GetCurSel() def _set_selected_index(self, x): try: self._win.SetCurSel(x) except ui.error: pass def _cbn_sel_change(self): self.do_action() export(ListButton)