Browse Source

Trying to use TTkString inside gittk

pull/16/head
Eugenio Parodi 5 years ago
parent
commit
0e4f79edd8
  1. 3
      TermTk/TTkCore/string.py
  2. 9
      TermTk/TTkWidgets/texedit.py
  3. 4
      demo/gittk.py
  4. 6
      tests/test.draw.003.py

3
TermTk/TTkCore/string.py

@ -34,6 +34,9 @@ class TTkString():
self._text = ""
self._colors = []
def __len__(self):
return len(self._text)
def __str__(self):
return self._text

9
TermTk/TTkWidgets/texedit.py

@ -27,6 +27,7 @@ from TermTk.TTkCore.log import TTkLog
from TermTk.TTkWidgets.widget import *
from TermTk.TTkLayouts.gridlayout import TTkGridLayout
from TermTk.TTkCore.color import TTkColor
from TermTk.TTkCore.string import TTkString
from TermTk.TTkWidgets.scrollbar import TTkScrollBar
from TermTk.TTkAbstract.abstractscrollarea import TTkAbstractScrollArea
from TermTk.TTkAbstract.abstractscrollview import TTkAbstractScrollView
@ -41,13 +42,13 @@ class _TTkTextEditView(TTkAbstractScrollView):
@pyTTkSlot(str)
def setText(self, text):
self._lines = [(TTkColor.RST, line) for line in text.split('\n')]
self._lines = [line for line in text.split('\n')]
self.viewMoveTo(0, 0)
self.viewChanged.emit()
self.update()
@pyTTkSlot(str)
def setColoredLines(self, lines):
def setLines(self, lines):
self._lines = lines
self.viewMoveTo(0, 0)
self.viewChanged.emit()
@ -62,7 +63,7 @@ class _TTkTextEditView(TTkAbstractScrollView):
def paintEvent(self):
_, oy = self.getViewOffsets()
for y, t in enumerate(self._lines[oy:]):
self._canvas.drawText(pos=(0,y), text=t[1], color=t[0])
self._canvas.drawText(pos=(0,y), text=t)
class TTkTextEdit(TTkAbstractScrollArea):
__slots__ = ('_textEditView', 'setText', 'setColoredLines')
@ -72,4 +73,4 @@ class TTkTextEdit(TTkAbstractScrollArea):
self._textEditView = _TTkTextEditView()
self.setViewport(self._textEditView)
self.setText = self._textEditView.setText
self.setColoredLines = self._textEditView.setColoredLines
self.setLines = self._textEditView.setLines

4
demo/gittk.py

@ -93,8 +93,8 @@ def _tableCallback(val):
color = ttk.TTkColor.fg('#ff0000')
elif line.startswith('@@'):
color = ttk.TTkColor.fg('#0088ff')
lines.append((color,line))
diffText.setColoredLines(lines)
lines.append(ttk.TTkString() + color + line)
diffText.setLines(lines)
tableCommit.activated.connect(_tableCallback)

6
tests/test.draw.003.py

@ -38,9 +38,9 @@ TTkLog.use_default_file_logging()
Term.init(mouse=False)
TTkLog.info("Starting")
s1 = TTkString() + "Text " + "Text 1"
s2 = TTkString() + TTkColor.fg("#ff0000") + "Test " + "Text 2"
s3 = TTkString() + TTkColor.bg("#550088") + "Test " + "Text 3"
s1 = TTkString() + "Text " + "Text 1"
s2 = TTkString() + TTkColor.fg("#ff0000") + "Test " + "Text 2"
s3 = TTkString() + TTkColor.bg("#550088") + "Test " + "Text 3"
s4 = TTkString() + ( TTkColor.fg("#00ff00") +
TTkColor.bg("#555500") ) + "Test " + TTkColor.bg("#880055") + "Text 4"

Loading…
Cancel
Save