diff --git a/TermTk/TTkWidgets/TTkPickers/textpicker.py b/TermTk/TTkWidgets/TTkPickers/textpicker.py index befc2335..2e664964 100644 --- a/TermTk/TTkWidgets/TTkPickers/textpicker.py +++ b/TermTk/TTkWidgets/TTkPickers/textpicker.py @@ -133,8 +133,9 @@ class _emojiPicker(TTkResizableFrame): self.emojiClicked = epa.viewport().emojiClicked class TTkTextDialogPicker(TTkWindow): - __slots__ = ('_textEdit') + __slots__ = ('_textEdit', '_autoSize') def __init__(self, *args, **kwargs): + self._autoSize = kwargs.get('autoSize',False) super().__init__(*args, **kwargs) fontLayout = TTkGridLayout(columnMinWidth=1) # Char Fg/Bg buttons @@ -242,11 +243,13 @@ class TTkTextDialogPicker(TTkWindow): @pyTTkSlot() def _textPickerViewChanged(self): w,h = self.size() - self.resize(w,0) + self.resize(w,h) def resize(self, w: int, h: int): tw,th = self._textEdit.viewport().viewFullAreaSize() self._textEdit.setLineNumber(th>1) + if not self._autoSize: + return super().resize(w,h) t,b,l,r = self.getPadding() return super().resize(w, th+t+b+4) @@ -257,16 +260,17 @@ class TTkTextPicker(TTkWidget): Do not use it unless you know what you are doing And I've no idea what I am doing ''' - __slots__ = ('_teButton','_textEdit', 'documentViewChanged', 'textChanged') + __slots__ = ('_teButton','_textEdit', 'documentViewChanged', 'textChanged', '_autoSize') def __init__(self, *args, **kwargs): self.documentViewChanged = pyTTkSignal(int,int) + self._autoSize = kwargs.get('autoSize',False) super().__init__(*args, **kwargs|{'layout':TTkHBoxLayout()}) self._textEdit = TTkTextEdit(pos=(0,0), size=(self.width()-2,self.height())) self._textEdit.setText(kwargs.get('text','')) self._textEdit.setReadOnly(False) self._textEdit.setLineWrapMode(TTkK.WidgetWidth) self.textChanged = self._textEdit.textChanged - self._teButton = TTkButton(border=True, text='^', borderColor=TTkColor.fg("#AAAAFF")+TTkColor.bg("#002244") , + self._teButton = TTkButton(border=True, text='◉', borderColor=TTkColor.fg("#AAAAFF")+TTkColor.bg("#002244") , pos=(self.width()-2,0), size=(2,self.height()), minSize=(3,1),maxWidth=3) self.layout().addWidget(self._textEdit) @@ -275,7 +279,7 @@ class TTkTextPicker(TTkWidget): @pyTTkSlot() def _showTextDialogPicker(): w,h = self.size() - tdp = TTkTextDialogPicker(size=(50,8+h), document=self._textEdit.document()) + tdp = TTkTextDialogPicker(size=(50,8+h), document=self._textEdit.document(), autoSize=self._autoSize) TTkHelper.overlay(self, tdp, -1, -7, modal=True) tdp.focusTextEdit() @@ -294,4 +298,5 @@ class TTkTextPicker(TTkWidget): w,h = self.size() self._textEdit.setLineNumber(ha>1) self.documentViewChanged.emit(tw+bw,ha) - self.resize(w,ha) + if self._autoSize: + self.resize(w,ha) diff --git a/tools/check.import.sh b/tools/check.import.sh index 1c4642a5..16984290 100755 --- a/tools/check.import.sh +++ b/tools/check.import.sh @@ -29,7 +29,7 @@ __check(){ -e "ttk.py:import platform" \ -e "clipboard.py:import importlib.util" \ -e "filebuffer.py:import threading" \ - -e "texedit.py:from math import log10, ceil" \ + -e "texedit.py:from math import log10, floor" \ -e "string.py:import unicodedata" \ -e "progressbar.py:import math" \ -e "uiloader.py:import json" \ diff --git a/ttkDesigner/app/propertyeditor.py b/ttkDesigner/app/propertyeditor.py index 56814ec2..a9df4109 100644 --- a/ttkDesigner/app/propertyeditor.py +++ b/ttkDesigner/app/propertyeditor.py @@ -200,7 +200,7 @@ class PropertyEditor(ttk.TTkGridLayout): # String Fields def _processTTkString(name, prop): getval = prop['get']['cb'](domw) - value = ttk.TTkTextPicker(text=getval, height=len(getval.split('\n'))) + value = ttk.TTkTextPicker(text=getval, height=len(getval.split('\n')), autoSize=True) value.textChanged.connect(_boundTextEdit(prop['set']['cb'],domw,value)) return ttk.TTkTreeWidgetItem([name,value]) # Color Fields diff --git a/ttkDesigner/app/windoweditor.py b/ttkDesigner/app/windoweditor.py index b68c6c9a..e0d559e3 100644 --- a/ttkDesigner/app/windoweditor.py +++ b/ttkDesigner/app/windoweditor.py @@ -110,8 +110,8 @@ class SuperWidget(ttk.TTkWidget): super().__init__(*args, **kwargs) #self.resize(*self._wid.size()) r,g,b = randint(0,0xFF),randint(0,0xFF),randint(0,0xFF) - self._layoutColor = ttk.TTkColor.bg(f"#{r:02X}{g:02X}{b:02X}") - self._layoutPadColor = ttk.TTkColor.bg(f"#{r*9//10:X}{g*9//10:X}{b*9//10:X}") + self._layoutColor = ttk.TTkColor.bg(f"#{r*9//10:02X}{g*9//10:02X}{b*9//10:02X}") + self._layoutPadColor = ttk.TTkColor.bg(f"#{r:02X}{g:02X}{b:02X}") self.setFocusPolicy(ttk.TTkK.ClickFocus) SuperWidget.toggleHighlightLayout.connect(self._toggleHighlightLayout)