Browse Source

Combobox select in the dropdown the choosen id

pull/17/head
Eugenio Parodi 5 years ago
parent
commit
b096a1d3b4
  1. 15
      TermTk/TTkWidgets/combobox.py

15
TermTk/TTkWidgets/combobox.py

@ -38,10 +38,12 @@ from TermTk.TTkWidgets.resizableframe import TTkResizableFrame
class TTkComboBox(TTkWidget):
__slots__ = ('_list', '_id', '_lineEdit', '_editable', '_insertPolicy'
#signals
'editTextChanged')
'currentIndexChanged', 'currentTextChanged', 'editTextChanged')
def __init__(self, *args, **kwargs):
# Define Signals
self.editTextChanged = pyTTkSignal(str)
self.currentIndexChanged = pyTTkSignal(int)
self.currentTextChanged = pyTTkSignal(str)
self.editTextChanged = pyTTkSignal(str)
TTkWidget.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkCheckbox' )
# self.cehcked = pyTTkSignal()
@ -56,7 +58,10 @@ class TTkComboBox(TTkWidget):
def _lineEditChanged(self):
text = self._lineEdit.text()
if self._insertPolicy == TTkK.NoInsert:
self._id
if text in self._list:
self._id = self._list.index(text)
elif self._insertPolicy == TTkK.NoInsert:
pass
elif self._insertPolicy == TTkK.InsertAtTop:
self._id=0
@ -74,6 +79,8 @@ class TTkComboBox(TTkWidget):
# pass
else:
pass
self.currentIndexChanged.emit(self._id)
self.currentTextChanged.emit(text)
self.editTextChanged.emit(text)
def resizeEvent(self, w: int, h: int):
@ -142,6 +149,8 @@ class TTkComboBox(TTkWidget):
TTkLog.debug(f"{self._list}")
for item in self._list:
listw.addItem(item)
if self._id != -1:
listw.setCurrentRow(self._id)
TTkHelper.overlay(self, frame, 0, 0)
listw.viewport().setFocus()
self.update()

Loading…
Cancel
Save