From 1567607a2c405cdf11d7d5c77392c358474fb004 Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Tue, 2 May 2023 16:59:38 +0100 Subject: [PATCH] Improved doc + extra bits --- TermTk/TTkCore/filebuffer.py | 6 +-- TermTk/TTkTestWidgets/keypressview.py | 6 ++- TermTk/TTkWidgets/texedit.py | 56 ++++++++++++------------ docs/source/conf.py | 7 ++- tutorial/ttkDesigner/textEdit/README.rst | 11 +++-- 5 files changed, 48 insertions(+), 38 deletions(-) diff --git a/TermTk/TTkCore/filebuffer.py b/TermTk/TTkCore/filebuffer.py index 7d75a9ff..8b5975b0 100644 --- a/TermTk/TTkCore/filebuffer.py +++ b/TermTk/TTkCore/filebuffer.py @@ -74,7 +74,7 @@ class TTkFileBuffer(): self._width=0 self._buffer = [None]*self._numW self._pages = [None] - self._fd = open(self._filename) + self._fd = open(self._filename, 'r', errors='replace') threading.Thread(target=self.createIndex).start() def __del__(self): @@ -156,7 +156,7 @@ class TTkFileBuffer(): id = 0 rr = re.compile(regex, re.IGNORECASE if ignoreCase else 0) TTkLog.debug(f"Search RE: {regex}") - with open(self._filename) as infile: + with open(self._filename, 'r', errors='replace') as infile: for line in infile: ma = rr.search(line) if ma: @@ -166,7 +166,7 @@ class TTkFileBuffer(): def search(self, txt): indexes = [] - with open(self._filename) as infile: + with open(self._filename, 'r', errors='replace') as infile: for line in infile: if txt in line: indexes.append(id) diff --git a/TermTk/TTkTestWidgets/keypressview.py b/TermTk/TTkTestWidgets/keypressview.py index f06bf1d8..adc387e5 100644 --- a/TermTk/TTkTestWidgets/keypressview.py +++ b/TermTk/TTkTestWidgets/keypressview.py @@ -85,8 +85,12 @@ class TTkKeyPressView(TTkWidget): self._anim.start() def _pushFade(self, fade: float): - for i,k in enumerate(self._keys): + for k in self._keys: k[0] -= fade + # Apply the main fade to the current key + if self._keys: + self._keys[-1][0] = 1-fade + for i,k in enumerate(self._keys): if k[0] <= 0: self._keys.pop(i) self.update() diff --git a/TermTk/TTkWidgets/texedit.py b/TermTk/TTkWidgets/texedit.py index b96ffa05..b5b9f8c0 100644 --- a/TermTk/TTkWidgets/texedit.py +++ b/TermTk/TTkWidgets/texedit.py @@ -600,8 +600,7 @@ class TTkTextEdit(TTkAbstractScrollArea): Demo: `textedit.py `_ (`Try Online `__) - `ttkdesigner Tutorial `_ - + `ttkdesigner Tutorial `_ :param lineNumber: Show the line number on the left, defaults to **False** :type lineNumber: bool, optional @@ -653,103 +652,103 @@ class TTkTextEdit(TTkAbstractScrollArea): .. py:method:: clear() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.clear` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.clear` .. py:method:: setText(text) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setText` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setText` .. py:method:: append(text) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.append` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.append` .. py:method:: isReadOnly() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isReadOnly` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isReadOnly` .. py:method:: setReadOnly(ro) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setReadOnly` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setReadOnly` .. py:method:: document() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.document` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.document` .. py:method:: wrapWidth() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.wrapWidth` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.wrapWidth` .. py:method:: setWrapWidth(width) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setWrapWidth` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setWrapWidth` .. py:method:: multiLine() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.multiLine` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.multiLine` .. py:method:: lineWrapMode() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.lineWrapMode` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.lineWrapMode` .. py:method:: setLineWrapMode(mode) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setLineWrapMode` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setLineWrapMode` .. py:method:: wordWrapMode() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.wordWrapMode` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.wordWrapMode` .. py:method:: setWordWrapMode(mode) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setWordWrapMode` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setWordWrapMode` .. py:method:: textCursor() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.textCursor` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.textCursor` .. py:method:: setColor(color) - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setColor` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.setColor` .. py:method:: cut() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.cut` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.cut` .. py:method:: copy() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.copy` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.copy` .. py:method:: paste() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.paste` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.paste` .. py:method:: undo() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.undo` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.undo` .. py:method:: redo() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.redo` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.redo` .. py:method:: isUndoAvailable() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isUndoAvailable` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isUndoAvailable` .. py:method:: isRedoAvailable() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isRedoAvailable` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.isRedoAvailable` .. py:method:: toAnsi() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toAnsi` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toAnsi` .. py:method:: toRawText() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toRawText` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toRawText` .. py:method:: toPlainText() - This method forward to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toPlainText` + This method is forwarded to :class:`~TermTk.TTkWidgets.texedit.TTkTextEditView.toPlainText` ''' __slots__ = ( @@ -827,11 +826,14 @@ class TTkTextEdit(TTkAbstractScrollArea): return self._textEditView def getLineNumber(self): + '''getLineNumber''' return self._lineNumberView.isVisible() def setLineNumber(self, ln): + '''setLineNumber''' self._lineNumberView.setVisible(ln) def setDocument(self, document): + '''setDocument''' self._textEditView.setDocument(document) self._lineNumberView.setTextWrap(self._textEditView._textWrap) diff --git a/docs/source/conf.py b/docs/source/conf.py index 23209d28..e2a38b16 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -126,7 +126,12 @@ autodocgen_config = { 'write_documented_items_output_file': 'autodocgen_documented_items.txt', # customize autodoc on a per-module basis - 'autodoc_options_decider': {}, + # 'autodoc_options_decider': {}, + # 'autodoc_options_decider': {'members':True, 'inherited-members':True}, + # Can you believe I had to debug autodoc to figure out this FUCKING thing? + # People are complainig to the lack of documentation of pyTermTk + # but aat least i hacve examples that cover most use cases + 'autodoc_options_decider': lambda app, what, fullname, obj, docstring, defaultOptions, extra: {'members': True, 'inherited-members':True}, # choose a different title for specific modules, e.g. the toplevel one #'module_title_decider': lambda modulename: 'API Reference' if modulename=='TermTk' else modulename, diff --git a/tutorial/ttkDesigner/textEdit/README.rst b/tutorial/ttkDesigner/textEdit/README.rst index 26b80b85..f8017f9e 100644 --- a/tutorial/ttkDesigner/textEdit/README.rst +++ b/tutorial/ttkDesigner/textEdit/README.rst @@ -25,13 +25,12 @@ Start a new project =================== - Create a new Window (**File** -> **New** -> **New Window**) -- Set the window params required: +- Set your favourite window params: - - Resize - - title - - Name - (This is the unique name that will be used to identify this Widget_) - - Window flags (i.e. Maximize) - - Layout to TTkGridLayout_ (This will allow all the components to be placed in a grid aligned to the content of the window_) + - Your preferred size + - Some catcy Title + - An Amazing Name - (This is the unique name that will be used to identify this Widget_) + - Change the Layout to TTkGridLayout_ (This will allow all the components to be placed in a grid aligned to the content of the window_) - Add the "Maximize Button" through the Window Flags (I forgot to add this step in the video) .. raw:: html