Browse Source

moved list.py to list_.py to avoid conflicts with 'list', FIX lineedit cursor, improved combobox

pull/17/head
Eugenio Parodi 5 years ago
parent
commit
68fdbd836a
  1. 2
      TermTk/TTkWidgets/__init__.py
  2. 31
      TermTk/TTkWidgets/combobox.py
  3. 2
      TermTk/TTkWidgets/lineedit.py
  4. 6
      TermTk/TTkWidgets/list_.py
  5. 2
      TermTk/TTkWidgets/menubar.py
  6. 2
      demo/demo.old.py
  7. 2
      demo/demo.py

2
TermTk/TTkWidgets/__init__.py

@ -14,7 +14,7 @@ from .scrollbar import *
from .scrollarea import *
from .window import *
from .tabwidget import *
from .list import *
from .list_ import *
from .listwidget import *
from .table import *
from .tableview import *

31
TermTk/TTkWidgets/combobox.py

@ -31,7 +31,7 @@ from TermTk.TTkCore.helper import TTkHelper
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkWidgets.widget import TTkWidget
from TermTk.TTkWidgets.button import TTkButton
from TermTk.TTkWidgets.list import TTkList
from TermTk.TTkWidgets.list_ import TTkList
from TermTk.TTkWidgets.lineedit import TTkLineEdit
from TermTk.TTkWidgets.resizableframe import TTkResizableFrame
@ -58,7 +58,7 @@ class TTkComboBox(TTkWidget):
def _lineEditChanged(self):
text = self._lineEdit.text()
self._id
self._id=-1
if text in self._list:
self._id = self._list.index(text)
elif self._insertPolicy == TTkK.NoInsert:
@ -83,6 +83,23 @@ class TTkComboBox(TTkWidget):
self.currentTextChanged.emit(text)
self.editTextChanged.emit(text)
def addItem(self,item):
self._list.append(item)
self.update()
def addItems(self,items):
for item in items:
self.addItem(item)
def clear(self):
self._lineEdit.setText("")
self._list = []
self._id = -1
self.update()
def lineEdit(self):
return self._lineEdit if self._editable else None
def resizeEvent(self, w: int, h: int):
w,h = self.size()
self._lineEdit.setGeometry(1,0,w-4,h)
@ -112,6 +129,16 @@ class TTkComboBox(TTkWidget):
return self._list[self._id]
return ""
def currentIndex(self):
return self._id
@pyTTkSlot(int)
def setCurrentIndex(self, index):
self._id = index
self._lineEdit.setText(self.currentText())
self.currentIndexChanged.emit(self._id)
self.update()
def insertPolicy(self):
return self._insertPolicy

2
TermTk/TTkWidgets/lineedit.py

@ -64,7 +64,7 @@ class TTkLineEdit(TTkWidget):
if text != self._text:
self.textChanged.emit(text)
self._text = text
self._cursorPos = min(len(text)-1,self._cursorPos)
self._cursorPos = min(len(text),self._cursorPos)
self.update()
def text(self):

6
TermTk/TTkWidgets/list.py → TermTk/TTkWidgets/list_.py

@ -33,9 +33,9 @@ class TTkList(TTkAbstractScrollArea):
__slots__ = (
'_listView', 'itemClicked', 'textClicked',
# Forwarded Methods
'items', 'addItem', 'addItemAt', 'indexOf', 'itemAt',
'moveItem', 'removeAt', 'removeItem',
'setSelectionMode', 'selectedItems', 'selectedLabels',
'items', 'addItem', 'addItemAt', 'indexOf', 'itemAt',
'moveItem', 'removeAt', 'removeItem',
'setSelectionMode', 'selectedItems', 'selectedLabels',
'setCurrentRow', 'setCurrentItem', )
def __init__(self, *args, **kwargs):

2
TermTk/TTkWidgets/menubar.py

@ -124,7 +124,7 @@ class TTkMenuButton(TTkAbstractListItem):
self.menuButtonClicked.emit(self)
return
# Import here to avoid circular import
from TermTk.TTkWidgets.list import TTkList
from TermTk.TTkWidgets.list_ import TTkList
from TermTk.TTkWidgets.resizableframe import TTkResizableFrame
# Stupid way to find out if I am a submenu

2
demo/demo.old.py

@ -39,7 +39,7 @@ from showcase.splitter import demoSplitter
from showcase.windows import demoWindows
from showcase.formwidgets import demoFormWidgets
from showcase.scrollarea import demoScrollArea
from showcase.list import demoList
from showcase.list_ import demoList
from showcase.menubar import demoMenuBar
from showcase.colorpicker import demoColorPicker

2
demo/demo.py

@ -40,7 +40,7 @@ from showcase.splitter import demoSplitter
from showcase.windows import demoWindows
from showcase.formwidgets import demoFormWidgets
from showcase.scrollarea import demoScrollArea
from showcase.list import demoList
from showcase.list_ import demoList
from showcase.menubar import demoMenuBar
from showcase.colorpicker import demoColorPicker

Loading…
Cancel
Save