<!DOCTYPE html>
< html class = "writer-html5" lang = "en" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
< title > TermTk.TTkCore.string — pyTermTk 0.36.0-a
documentation< / title >
< link rel = "stylesheet" href = "../../../_static/pygments.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../../_static/css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../../_static/theme_overrides.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../../_static/ttk.css" type = "text/css" / >
< link rel = "shortcut icon" href = "https://ceccopierangiolieugenio.github.io/pyTermTk/sandbox/www/favicon.ico" / >
<!-- [if lt IE 9]>
< script src = "../../../_static/js/html5shiv.min.js" > < / script >
<![endif]-->
< script data-url_root = "../../../" id = "documentation_options" src = "../../../_static/documentation_options.js" > < / script >
< script src = "../../../_static/jquery.js" > < / script >
< script src = "../../../_static/underscore.js" > < / script >
< script src = "../../../_static/_sphinx_javascript_frameworks_compat.js" > < / script >
< script src = "../../../_static/doctools.js" > < / script >
< script src = "../../../_static/js/theme.js" > < / script >
< link rel = "index" title = "Index" href = "../../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../../search.html" / >
< / head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" >
< a href = "../../../index.html" class = "icon icon-home" > pyTermTk
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../../../search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div > < div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "Navigation menu" >
< p class = "caption" role = "heading" > < span class = "caption-text" > Tutorials< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/000-examples.html" > pyTermTk - < < strong > the Examples< / strong > > < / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/001-helloworld.html" > pyTermTk - Hello World< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/002-layout.html" > pyTermTk - Layouts< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/003-signalslots.html" > pyTermTk - Signal & Slots< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/004-logging.html" > pyTermTk - Logging< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/005-calculator.html" > pyTermTk - Your first Calculator< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../tutorial/ttkDesigner/textEdit/README.html" > ttkDesigner - Your first TextEditor< / a > < / li >
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Features< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/features/index.html" > Features< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/features/crosscompatible.html" > Cross Compatibility< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/features/widgets.html" > Widgets< / a > < / li >
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Dev< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/installing.html" > Installation< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/installing.html#quickstart" > Quickstart< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../info/debug.html" > Debug< / a > < / li >
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > API Reference< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkAbstract.html" > TermTk.TTkAbstract< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkCore.html" > TermTk.TTkCore< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkCore.TTkTerm.html" > TermTk.TTkCore.TTkTerm< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkGui.html" > TermTk.TTkGui< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkLayouts.html" > TermTk.TTkLayouts< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkTemplates.html" > TermTk.TTkTemplates< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkTestWidgets.html" > TermTk.TTkTestWidgets< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkTheme.html" > TermTk.TTkTheme< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkTypes.html" > TermTk.TTkTypes< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkUiTools.html" > TermTk.TTkUiTools< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkWidgets.html" > TermTk.TTkWidgets< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkWidgets.TTkModelView.html" > TermTk.TTkWidgets.TTkModelView< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkWidgets.TTkPickers.html" > TermTk.TTkWidgets.TTkPickers< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../autogen.TermTk/TermTk.TTkWidgets.TTkTerminal.html" > TermTk.TTkWidgets.TTkTerminal< / a > < / li >
< / ul >
< / div >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" > < nav class = "wy-nav-top" aria-label = "Mobile navigation menu" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "../../../index.html" > pyTermTk< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "Page navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "../../../index.html" class = "icon icon-home" > < / a > » < / li >
< li > < a href = "../../index.html" > Module code< / a > » < / li >
< li > TermTk.TTkCore.string< / li >
< li class = "wy-breadcrumbs-aside" >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< h1 > Source code for TermTk.TTkCore.string< / h1 > < div class = "highlight" > < pre >
< span > < / span > < span class = "c1" > # MIT License< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # Copyright (c) 2021 Eugenio Parodi < ceccopierangiolieugenio AT googlemail DOT com> < / span >
< span class = "c1" > #< / span >
< span class = "c1" > # Permission is hereby granted, free of charge, to any person obtaining a copy< / span >
< span class = "c1" > # of this software and associated documentation files (the " Software" ), to deal< / span >
< span class = "c1" > # in the Software without restriction, including without limitation the rights< / span >
< span class = "c1" > # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell< / span >
< span class = "c1" > # copies of the Software, and to permit persons to whom the Software is< / span >
< span class = "c1" > # furnished to do so, subject to the following conditions:< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # The above copyright notice and this permission notice shall be included in all< / span >
< span class = "c1" > # copies or substantial portions of the Software.< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # THE SOFTWARE IS PROVIDED " AS IS" , WITHOUT WARRANTY OF ANY KIND, EXPRESS OR< / span >
< span class = "c1" > # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,< / span >
< span class = "c1" > # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE< / span >
< span class = "c1" > # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER< / span >
< span class = "c1" > # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,< / span >
< span class = "c1" > # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE< / span >
< span class = "c1" > # SOFTWARE.< / span >
< span class = "n" > __all__< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s1" > ' TTkString' < / span > < span class = "p" > ]< / span >
< span class = "kn" > import< / span > < span class = "nn" > re< / span >
< span class = "kn" > import< / span > < span class = "nn" > unicodedata< / span >
< span class = "kn" > from< / span > < span class = "nn" > TermTk.TTkCore.cfg< / span > < span class = "kn" > import< / span > < span class = "n" > TTkCfg< / span >
< span class = "kn" > from< / span > < span class = "nn" > TermTk.TTkCore.constant< / span > < span class = "kn" > import< / span > < span class = "n" > TTkK< / span >
< span class = "kn" > from< / span > < span class = "nn" > TermTk.TTkCore.color< / span > < span class = "kn" > import< / span > < span class = "n" > TTkColor< / span > < span class = "p" > ,< / span > < span class = "n" > _TTkColor< / span >
< div class = "viewcode-block" id = "TTkString" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString" > [docs]< / a > < span class = "k" > class< / span > < span class = "nc" > TTkString< / span > < span class = "p" > ():< / span >
< span class = "sd" > ' ' ' TermTk String Helper< / span >
< span class = "sd" > The TTkString constructor creates a terminal String object.< / span >
< span class = "sd" > :param text: text of the string, defaults to " " < / span >
< span class = "sd" > :type text: str, optional< / span >
< span class = "sd" > :param color: the color of the string, defaults to :class:`~TermTk.TTkCore.color.TTkColor.RST`< / span >
< span class = "sd" > :type color: :class:`~TermTk.TTkCore.color.TTkColor`, optional< / span >
< span class = "sd" > Example:< / span >
< span class = "sd" > .. code:: python< / span >
< span class = "sd" > # No params Constructor< / span >
< span class = "sd" > str1 = TTkString() + " test 1" < / span >
< span class = "sd" > str2 = TTkString() + TTkColor.BOLD + " test 2" < / span >
< span class = "sd" > # Indexed params constructor< / span >
< span class = "sd" > str3 = TTkString(" test 3" )< / span >
< span class = "sd" > str4 = TTkString(" test 4" , TTkColor.ITALIC)< / span >
< span class = "sd" > # Named params constructor< / span >
< span class = "sd" > str5 = TTkString(text=" test 5" )< / span >
< span class = "sd" > str6 = TTkString(text=" test 6" , color=TTkColor.ITALIC+TTkColor.bg(" 000044" ))< / span >
< span class = "sd" > # Combination of constructors (Highly Unrecommended)< / span >
< span class = "sd" > str7 = TTkString(" test 7" , color=TTkColor.fg(' #FF0000' ))< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > unicodeWideOverflowColor< / span > < span class = "o" > =< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > fg< / span > < span class = "p" > (< / span > < span class = "s2" > " #888888" < / span > < span class = "p" > )< / span > < span class = "o" > +< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > bg< / span > < span class = "p" > (< / span > < span class = "s2" > " #000088" < / span > < span class = "p" > )< / span >
< span class = "vm" > __slots__< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "s1" > ' _text' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' _colors' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' _baseColor' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' _hasTab' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' _hasSpecialWidth' < / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __init__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > text< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "n" > text< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "k" > if< / span > < span class = "n" > color< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "k" > else< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "n" > text< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span > < span class = "k" > if< / span > < span class = "n" > color< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "k" > else< / span > < span class = "n" > color< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "o" > .< / span > < span class = "n" > _parseAnsi< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > ),< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "c1" > # raise AttributeError(f" {type(text)} not supported in TTkString" )< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _importString1< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > ,< / span > < span class = "n" > colors< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "n" > text< / span > < span class = "ow" > and< / span > < span class = "n" > colors< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "n" > colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "n" > colors< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "n" > colors< / span > < span class = "k" > else< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _parseAnsi< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span > < span class = "p" > ):< / span >
< span class = "n" > pos< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > txtret< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< span class = "n" > colret< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "k" > for< / span > < span class = "n" > m< / span > < span class = "ow" > in< / span > < span class = "n" > re< / span > < span class = "o" > .< / span > < span class = "n" > findall< / span > < span class = "p" > (< / span > < span class = "s1" > ' < / span > < span class = "se" > \033< / span > < span class = "s1" > [^m]*m' < / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > ):< / span >
< span class = "n" > index< / span > < span class = "o" > =< / span > < span class = "n" > text< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > m< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > )< / span >
< span class = "n" > txt< / span > < span class = "o" > =< / span > < span class = "n" > text< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > :< / span > < span class = "n" > index< / span > < span class = "p" > ]< / span >
< span class = "n" > txtret< / span > < span class = "o" > +=< / span > < span class = "n" > txt< / span >
< span class = "n" > colret< / span > < span class = "o" > +=< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span >
< span class = "n" > color< / span > < span class = "o" > +=< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > ansi< / span > < span class = "p" > (< / span > < span class = "n" > m< / span > < span class = "p" > )< / span >
< span class = "n" > pos< / span > < span class = "o" > =< / span > < span class = "n" > index< / span > < span class = "o" > +< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > m< / span > < span class = "p" > )< / span >
< span class = "n" > txtret< / span > < span class = "o" > +=< / span > < span class = "n" > text< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > :]< / span >
< span class = "n" > colret< / span > < span class = "o" > +=< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "n" > pos< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > txtret< / span > < span class = "p" > ,< / span > < span class = "n" > colret< / span >
< span class = "k" > def< / span > < span class = "nf" > termWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "k" > else< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __len__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __str__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "k" > def< / span > < span class = "fm" > __add__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span >
< span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "n" > TTkString< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > )< / span >
< span class = "k" > elif< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< span class = "n" > atxt< / span > < span class = "p" > ,< / span > < span class = "n" > acol< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "o" > .< / span > < span class = "n" > _parseAnsi< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "n" > atxt< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "n" > acol< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "n" > _TTkColor< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "n" > other< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span >
< span class = "k" > def< / span > < span class = "fm" > __radd__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span >
< span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "n" > TTkString< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > )< / span >
< span class = "k" > elif< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > other< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _baseColor< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > )< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span >
< span class = "k" > def< / span > < span class = "fm" > __setitem__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > index< / span > < span class = "p" > ,< / span > < span class = "n" > value< / span > < span class = "p" > ):< / span >
< span class = "k" > raise< / span > < span class = "ne" > NotImplementedError< / span > < span class = "p" > ()< / span >
< span class = "k" > def< / span > < span class = "fm" > __getitem__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > index< / span > < span class = "p" > ):< / span >
< span class = "k" > raise< / span > < span class = "ne" > NotImplementedError< / span > < span class = "p" > ()< / span >
< span class = "k" > def< / span > < span class = "fm" > __int__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __float__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > float< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "fm" > __complex__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "nb" > complex< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "c1" > # Operators< / span >
< span class = "k" > def< / span > < span class = "fm" > __lt__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > < < / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > < < / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "fm" > __le__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > < =< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > < =< / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "fm" > __eq__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "fm" > __ne__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > !=< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > !=< / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "fm" > __gt__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > > < / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > > < / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "fm" > __ge__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > > =< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "k" > if< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > > =< / span > < span class = "n" > other< / span >
< span class = "k" > def< / span > < span class = "nf" > sameAs< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > issubclass< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ),< / span > < span class = "n" > TTkString< / span > < span class = "p" > ):< / span > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span >
< span class = "bp" > self< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span > < span class = "ow" > and< / span >
< span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span >
< span class = "nb" > all< / span > < span class = "p" > (< / span > < span class = "n" > s< / span > < span class = "o" > ==< / span > < span class = "n" > o< / span > < span class = "k" > for< / span > < span class = "n" > s< / span > < span class = "p" > ,< / span > < span class = "n" > o< / span > < span class = "ow" > in< / span > < span class = "nb" > zip< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ))< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > isdigit< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > isdigit< / span > < span class = "p" > ()< / span >
< span class = "k" > def< / span > < span class = "nf" > lstrip< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > ch< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > lstrip< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ):]< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span >
< span class = "k" > def< / span > < span class = "nf" > charAt< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span >
< span class = "k" > def< / span > < span class = "nf" > setCharAt< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > char< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [:< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "n" > char< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span > < span class = "p" > :]< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span >
< span class = "k" > def< / span > < span class = "nf" > colorAt< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > pos< / span > < span class = "o" > > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "n" > TTkColor< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span >
< span class = "k" > def< / span > < span class = "nf" > setColorAt< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > color< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span >
< div class = "viewcode-block" id = "TTkString.tab2spaces" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.tab2spaces" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > tab2spaces< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the string representation with the tabs (converted in spaces) trimmed and aligned' ' ' < / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "p" > :< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > slices< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > split< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \t< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +=< / span > < span class = "n" > slices< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "n" > pos< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > slices< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span >
< span class = "k" > for< / span > < span class = "n" > s< / span > < span class = "ow" > in< / span > < span class = "n" > slices< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > :]:< / span >
< span class = "n" > c< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > ]< / span >
< span class = "n" > lentxt< / span > < span class = "o" > =< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > termWidth< / span > < span class = "p" > ()< / span >
< span class = "n" > spaces< / span > < span class = "o" > =< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > -< / span > < span class = "p" > (< / span > < span class = "n" > lentxt< / span > < span class = "o" > +< / span > < span class = "n" > tabSpaces< / span > < span class = "p" > )< / span > < span class = "o" > %< / span > < span class = "n" > tabSpaces< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +=< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > spaces< / span > < span class = "o" > +< / span > < span class = "n" > s< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "p" > [< / span > < span class = "n" > c< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > spaces< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span > < span class = "o" > +< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > s< / span > < span class = "p" > )]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > )< / span >
< span class = "n" > pos< / span > < span class = "o" > +=< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > s< / span > < span class = "p" > )< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.tabCharPos" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.tabCharPos" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > tabCharPos< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ,< / span > < span class = "n" > alignTabRight< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the char position in the string from the position in its representation with the tab and variable char sizes are solved< / span >
< span class = "sd" > i.e.< / span >
< span class = "sd" > ::< / span >
< span class = "sd" > pos X = 11< / span >
< span class = "sd" > tab2Spaces |----------|---------------------|< / span >
< span class = "sd" > Tabs |-| | |-| |-| |< / span >
< span class = "sd" > _text L😁rem ipsum dolor sit amet,< / span >
< span class = "sd" > chars .. ...t .....t .....t ...t.....< / span >
< span class = "sd" > ret x = 7 (tab is a char)< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span > < span class = "k" > return< / span > < span class = "nb" > max< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "nb" > min< / span > < span class = "p" > (< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )))< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _tabCharPosWideChar< / span > < span class = "p" > (< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > tabSpaces< / span > < span class = "p" > ,< / span > < span class = "n" > alignTabRight< / span > < span class = "p" > )< / span >
< span class = "n" > slices< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > split< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \t< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< span class = "n" > postxt< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "c1" > # position of the text< / span >
< span class = "n" > lentxt< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "c1" > # length of the text with resolved tabs< / span >
< span class = "k" > for< / span > < span class = "n" > s< / span > < span class = "ow" > in< / span > < span class = "n" > slices< / span > < span class = "p" > :< / span >
< span class = "n" > lens< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > s< / span > < span class = "p" > )< / span >
< span class = "n" > lentxt< / span > < span class = "o" > +=< / span > < span class = "n" > lens< / span >
< span class = "n" > postxt< / span > < span class = "o" > +=< / span > < span class = "n" > lens< / span >
< span class = "k" > if< / span > < span class = "n" > pos< / span > < span class = "o" > < =< / span > < span class = "n" > postxt< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > pos< / span >
< span class = "n" > spaces< / span > < span class = "o" > =< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > -< / span > < span class = "p" > (< / span > < span class = "n" > lentxt< / span > < span class = "o" > +< / span > < span class = "n" > tabSpaces< / span > < span class = "p" > )< / span > < span class = "o" > %< / span > < span class = "n" > tabSpaces< / span >
< span class = "k" > if< / span > < span class = "n" > pos< / span > < span class = "o" > < < / span > < span class = "n" > postxt< / span > < span class = "o" > +< / span > < span class = "n" > spaces< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "n" > alignTabRight< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > postxt< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > postxt< / span >
< span class = "n" > pos< / span > < span class = "o" > +=< / span > < span class = "mi" > 1< / span > < span class = "o" > -< / span > < span class = "n" > spaces< / span >
< span class = "n" > lentxt< / span > < span class = "o" > +=< / span > < span class = "n" > spaces< / span >
< span class = "n" > postxt< / span > < span class = "o" > +=< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < / div >
< span class = "k" > def< / span > < span class = "nf" > _tabCharPosWideChar< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ,< / span > < span class = "n" > alignTabRight< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the char position in the string from the position in its representation with the tab and variable char sizes are solved< / span >
< span class = "sd" > i.e.< / span >
< span class = "sd" > ::< / span >
< span class = "sd" > pos X = 11< / span >
< span class = "sd" > tab2Spaces |----------|---------------------|< / span >
< span class = "sd" > Tabs |-| | |-| |-| |< / span >
< span class = "sd" > _text L😁rem ipsum dolor sit amet,< / span >
< span class = "sd" > chars .. ...t .....t .....t ...t.....< / span >
< span class = "sd" > ret x = 7 (tab is a char)< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "c1" > # get pos in the slice:< / span >
< span class = "n" > dx< / span > < span class = "o" > =< / span > < span class = "n" > pos< / span >
< span class = "n" > pp< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > ch< / span > < span class = "o" > ==< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "p" > :< / span >
< span class = "n" > pp< / span > < span class = "o" > +=< / span > < span class = "n" > tabSpaces< / span > < span class = "o" > -< / span > < span class = "p" > (< / span > < span class = "n" > pp< / span > < span class = "o" > +< / span > < span class = "n" > tabSpaces< / span > < span class = "p" > )< / span > < span class = "o" > %< / span > < span class = "n" > tabSpaces< / span >
< span class = "k" > elif< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "p" > :< / span >
< span class = "n" > pp< / span > < span class = "o" > +=< / span > < span class = "mi" > 2< / span >
< span class = "k" > elif< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > ):< / span >
< span class = "k" > pass< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > pp< / span > < span class = "o" > +=< / span > < span class = "mi" > 1< / span >
< span class = "k" > if< / span > < span class = "n" > dx< / span > < span class = "o" > < < / span > < span class = "n" > pp< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > i< / span >
< span class = "k" > return< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< div class = "viewcode-block" id = "TTkString.toAscii" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.toAscii" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > toAscii< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the ascii representation of the string ' ' ' < / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < / div >
< div class = "viewcode-block" id = "TTkString.toAnsi" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.toAnsi" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > toAnsi< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > strip< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the ansii (terminal colors/events) representation of the string ' ' ' < / span >
< span class = "n" > out< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "p" > ,< / span > < span class = "n" > col< / span > < span class = "ow" > in< / span > < span class = "nb" > zip< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > col< / span > < span class = "o" > !=< / span > < span class = "n" > color< / span > < span class = "p" > :< / span >
< span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "n" > col< / span >
< span class = "n" > out< / span > < span class = "o" > +=< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span > < span class = "p" > )< / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > color< / span > < span class = "p" > )< / span >
< span class = "n" > out< / span > < span class = "o" > +=< / span > < span class = "n" > ch< / span >
< span class = "k" > if< / span > < span class = "n" > strip< / span > < span class = "p" > :< / span >
< span class = "n" > rstCh< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "se" > \u001b< / span > < span class = "s2" > [0m" < / span >
< span class = "n" > lenRst< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > rstCh< / span > < span class = "p" > )< / span >
< span class = "k" > while< / span > < span class = "n" > out< / span > < span class = "o" > .< / span > < span class = "n" > startswith< / span > < span class = "p" > (< / span > < span class = "n" > rstCh< / span > < span class = "p" > ):< / span >
< span class = "n" > out< / span > < span class = "o" > =< / span > < span class = "n" > out< / span > < span class = "p" > [< / span > < span class = "n" > lenRst< / span > < span class = "p" > :]< / span >
< span class = "k" > while< / span > < span class = "n" > out< / span > < span class = "o" > .< / span > < span class = "n" > endswith< / span > < span class = "p" > (< / span > < span class = "n" > rstCh< / span > < span class = "p" > ):< / span >
< span class = "n" > out< / span > < span class = "o" > =< / span > < span class = "n" > out< / span > < span class = "p" > [:< / span > < span class = "o" > -< / span > < span class = "n" > lenRst< / span > < span class = "p" > ]< / span >
< span class = "k" > return< / span > < span class = "n" > out< / span >
< span class = "k" > return< / span > < span class = "n" > out< / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span > < span class = "p" > )< / span > < / div >
< div class = "viewcode-block" id = "TTkString.align" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.align" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > align< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "n" > TTkColor< / span > < span class = "o" > .< / span > < span class = "n" > RST< / span > < span class = "p" > ,< / span > < span class = "n" > alignment< / span > < span class = "o" > =< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > NONE< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Align the string< / span >
< span class = "sd" > :param width: the new width< / span >
< span class = "sd" > :type width: int, optional< / span >
< span class = "sd" > :param color: the color of the padding, defaults to :class:`~TermTk.TTkCore.color.TTkColor.RST`< / span >
< span class = "sd" > :type color: :class:`~TermTk.TTkCore.color.TTkColor`, optional< / span >
< span class = "sd" > :param alignment: the alignment of the text to the full width :class:`~TermTk.TTkCore.constant.TTkConstant.Alignment.NONE`< / span >
< span class = "sd" > :type alignment: :class:`~TermTk.TTkCore.constant.TTkConstant.Alignment`, optional< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > lentxt< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > termWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > width< / span > < span class = "ow" > or< / span > < span class = "n" > width< / span > < span class = "o" > ==< / span > < span class = "n" > lentxt< / span > < span class = "p" > :< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "n" > lentxt< / span > < span class = "o" > < < / span > < span class = "n" > width< / span > < span class = "p" > :< / span >
< span class = "n" > pad< / span > < span class = "o" > =< / span > < span class = "n" > width< / span > < span class = "o" > -< / span > < span class = "n" > lentxt< / span >
< span class = "k" > if< / span > < span class = "n" > alignment< / span > < span class = "ow" > in< / span > < span class = "p" > [< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > NONE< / span > < span class = "p" > ,< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > LEFT_ALIGN< / span > < span class = "p" > ]:< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > pad< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > pad< / span >
< span class = "k" > elif< / span > < span class = "n" > alignment< / span > < span class = "o" > ==< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > RIGHT_ALIGN< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > pad< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > pad< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "k" > elif< / span > < span class = "n" > alignment< / span > < span class = "o" > ==< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > CENTER_ALIGN< / span > < span class = "p" > :< / span >
< span class = "n" > p1< / span > < span class = "o" > =< / span > < span class = "n" > pad< / span > < span class = "o" > //< / span > < span class = "mi" > 2< / span >
< span class = "n" > p2< / span > < span class = "o" > =< / span > < span class = "n" > pad< / span > < span class = "o" > -< / span > < span class = "n" > p1< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > p1< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > p2< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > p1< / span > < span class = "o" > +< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > p2< / span >
< span class = "k" > elif< / span > < span class = "n" > alignment< / span > < span class = "o" > ==< / span > < span class = "n" > TTkK< / span > < span class = "o" > .< / span > < span class = "n" > JUSTIFY< / span > < span class = "p" > :< / span >
< span class = "c1" > # TODO: Text Justification< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +< / span > < span class = "s2" > " " < / span > < span class = "o" > *< / span > < span class = "n" > pad< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > pad< / span >
< span class = "k" > elif< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "c1" > # Trim the string to a fixed size taking care of the variable width unicode chars< / span >
< span class = "n" > rt< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< span class = "n" > sz< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > :< / span >
< span class = "n" > rt< / span > < span class = "o" > +=< / span > < span class = "n" > ch< / span >
< span class = "k" > if< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > ):< / span >
< span class = "k" > continue< / span >
< span class = "n" > sz< / span > < span class = "o" > +=< / span > < span class = "mi" > 2< / span > < span class = "k" > if< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "k" > else< / span > < span class = "mi" > 1< / span >
< span class = "k" > if< / span > < span class = "n" > sz< / span > < span class = "o" > ==< / span > < span class = "n" > width< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > rt< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [:< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > rt< / span > < span class = "p" > )]< / span >
< span class = "k" > break< / span >
< span class = "k" > elif< / span > < span class = "n" > sz< / span > < span class = "o" > > < / span > < span class = "n" > width< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "n" > rt< / span > < span class = "p" > [:< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "n" > TTkCfg< / span > < span class = "o" > .< / span > < span class = "n" > theme< / span > < span class = "o" > .< / span > < span class = "n" > unicodeWideOverflowCh< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [:< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "o" > .< / span > < span class = "n" > unicodeWideOverflowColor< / span >
< span class = "k" > break< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "c1" > # Legacy, trim the string< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [:< / span > < span class = "n" > width< / span > < span class = "p" > ]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [:< / span > < span class = "n" > width< / span > < span class = "p" > ]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.replace" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.replace" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > replace< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' **replace** (*old*, *new*, *count*)< / span >
< span class = "sd" > Replace " **old**" match with " **new**" string for " **count**" times< / span >
< span class = "sd" > :param old: the match to be placed< / span >
< span class = "sd" > :type old: str< / span >
< span class = "sd" > :param new: the match to replace< / span >
< span class = "sd" > :type new: str, optional< / span >
< span class = "sd" > :param count: the number of occurrences< / span >
< span class = "sd" > :type count: int, optional< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > old< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "n" > new< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "n" > count< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 3< / span > < span class = "k" > else< / span > < span class = "mh" > 0x1000000< / span >
< span class = "k" > if< / span > < span class = "n" > old< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > :< / span > < span class = "k" > return< / span > < span class = "bp" > self< / span >
< span class = "n" > oldLen< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > old< / span > < span class = "p" > )< / span >
< span class = "n" > newLen< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > new< / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "n" > oldLen< / span > < span class = "o" > ==< / span > < span class = "n" > newLen< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< span class = "k" > elif< / span > < span class = "n" > oldLen< / span > < span class = "o" > > < / span > < span class = "n" > newLen< / span > < span class = "p" > :< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "k" > while< / span > < span class = "n" > pos< / span > < span class = "o" > :=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > old< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > old< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > newLen< / span > < span class = "p" > ]< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > oldLen< / span >
< span class = "n" > count< / span > < span class = "o" > -=< / span > < span class = "mi" > 1< / span >
< span class = "k" > if< / span > < span class = "n" > count< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span > < span class = "k" > break< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "k" > while< / span > < span class = "n" > pos< / span > < span class = "o" > :=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > old< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > old< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > oldLen< / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "p" > [< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > oldLen< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]]< / span > < span class = "o" > *< / span > < span class = "p" > (< / span > < span class = "n" > newLen< / span > < span class = "o" > -< / span > < span class = "n" > oldLen< / span > < span class = "p" > )< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > oldLen< / span >
< span class = "k" > if< / span > < span class = "n" > count< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span > < span class = "k" > break< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _checkWidth< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.completeColor" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.completeColor" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > completeColor< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "p" > ,< / span > < span class = "n" > match< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > posFrom< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > posTo< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Complete the color of the entire string or a slice of it< / span >
< span class = "sd" > The Fg and/or Bg of the string is replaced with the selected Fg/Bg color only if missing< / span >
< span class = "sd" > If only the color is specified, the entire string is colorized< / span >
< span class = "sd" > :param color: the color to be used, defaults to :class:`~TermTk.TTkCore.color.TTkColor.RST`< / span >
< span class = "sd" > :type color: :class:`~TermTk.TTkCore.color.TTkColor`< / span >
< span class = "sd" > :param match: the match to colorize< / span >
< span class = "sd" > :type match: str, optional< / span >
< span class = "sd" > :param posFrom: the initial position of the color< / span >
< span class = "sd" > :type posFrom: int, optional< / span >
< span class = "sd" > :param posTo: the final position of the color< / span >
< span class = "sd" > :type posTo: int, optional< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span >
< span class = "k" > if< / span > < span class = "n" > match< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > .< / span > < span class = "n" > copy< / span > < span class = "p" > ()< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > lenMatch< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > match< / span > < span class = "p" > )< / span >
< span class = "k" > while< / span > < span class = "n" > pos< / span > < span class = "o" > :=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > match< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > match< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > lenMatch< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "ow" > in< / span > < span class = "nb" > range< / span > < span class = "p" > (< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > lenMatch< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ]< / span > < span class = "o" > |=< / span > < span class = "n" > color< / span >
< span class = "k" > elif< / span > < span class = "n" > posFrom< / span > < span class = "o" > ==< / span > < span class = "n" > posTo< / span > < span class = "o" > ==< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > c< / span > < span class = "o" > |< / span > < span class = "n" > color< / span > < span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ]< / span >
< span class = "k" > elif< / span > < span class = "n" > posFrom< / span > < span class = "o" > < < / span > < span class = "n" > posTo< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > .< / span > < span class = "n" > copy< / span > < span class = "p" > ()< / span >
< span class = "n" > posFrom< / span > < span class = "o" > =< / span > < span class = "nb" > min< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ),< / span > < span class = "n" > posFrom< / span > < span class = "p" > )< / span >
< span class = "n" > posTo< / span > < span class = "o" > =< / span > < span class = "nb" > min< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ),< / span > < span class = "n" > posTo< / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "ow" > in< / span > < span class = "nb" > range< / span > < span class = "p" > (< / span > < span class = "n" > posFrom< / span > < span class = "p" > ,< / span > < span class = "n" > posTo< / span > < span class = "p" > ):< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ]< / span > < span class = "o" > |=< / span > < span class = "n" > color< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > c< / span > < span class = "o" > |< / span > < span class = "n" > color< / span > < span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > ]< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.setColor" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.setColor" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > setColor< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "p" > ,< / span > < span class = "n" > match< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > posFrom< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > posTo< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Set the color of the entire string or a slice of it< / span >
< span class = "sd" > If only the color is specified, the entire string is colorized< / span >
< span class = "sd" > :param color: the color to be used, defaults to :class:`~TermTk.TTkCore.color.TTkColor.RST`< / span >
< span class = "sd" > :type color: :class:`~TermTk.TTkCore.color.TTkColor`< / span >
< span class = "sd" > :param match: the match to colorize< / span >
< span class = "sd" > :type match: str, optional< / span >
< span class = "sd" > :param posFrom: the initial position of the color< / span >
< span class = "sd" > :type posFrom: int, optional< / span >
< span class = "sd" > :param posTo: the final position of the color< / span >
< span class = "sd" > :type posTo: int, optional< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span >
< span class = "k" > if< / span > < span class = "n" > match< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > lenMatch< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > match< / span > < span class = "p" > )< / span >
< span class = "k" > while< / span > < span class = "n" > pos< / span > < span class = "o" > :=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > match< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > match< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > start< / span > < span class = "p" > :]< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > lenMatch< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > :< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > lenMatch< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "n" > lenMatch< / span >
< span class = "k" > elif< / span > < span class = "n" > posFrom< / span > < span class = "o" > ==< / span > < span class = "n" > posTo< / span > < span class = "o" > ==< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "k" > elif< / span > < span class = "n" > posFrom< / span > < span class = "o" > < < / span > < span class = "n" > posTo< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "n" > posFrom< / span > < span class = "o" > =< / span > < span class = "nb" > min< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ),< / span > < span class = "n" > posFrom< / span > < span class = "p" > )< / span >
< span class = "n" > posTo< / span > < span class = "o" > =< / span > < span class = "nb" > min< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ),< / span > < span class = "n" > posTo< / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > posFrom< / span > < span class = "p" > :< / span > < span class = "n" > posTo< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > color< / span > < span class = "p" > ]< / span > < span class = "o" > *< / span > < span class = "p" > (< / span > < span class = "n" > posTo< / span > < span class = "o" > -< / span > < span class = "n" > posFrom< / span > < span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.substring" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.substring" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > substring< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > fr< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the substring< / span >
< span class = "sd" > :param fr: the starting of the slice, defaults to 0< / span >
< span class = "sd" > :type fr: int, optional< / span >
< span class = "sd" > :param to: the ending of the slice, defaults to the end of the string< / span >
< span class = "sd" > :type to: int, optional< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > fr< / span > < span class = "p" > :< / span > < span class = "n" > to< / span > < span class = "p" > ]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > fr< / span > < span class = "p" > :< / span > < span class = "n" > to< / span > < span class = "p" > ]< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _hasTab< / span > < span class = "o" > =< / span > < span class = "s1" > ' < / span > < span class = "se" > \t< / span > < span class = "s1" > ' < / span > < span class = "ow" > in< / span > < span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< div class = "viewcode-block" id = "TTkString.split" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.split" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > split< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > separator< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Split the string using a separator< / span >
< span class = "sd" > .. note:: Only a one char separator is currently supported< / span >
< span class = "sd" > :param separator: the " **char**" separator to be used< / span >
< span class = "sd" > :type separator: str< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "n" > pos< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > separator< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > c< / span > < span class = "o" > ==< / span > < span class = "n" > separator< / span > < span class = "p" > :< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > substring< / span > < span class = "p" > (< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "n" > i< / span > < span class = "p" > ))< / span >
< span class = "n" > pos< / span > < span class = "o" > =< / span > < span class = "n" > i< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > raise< / span > < span class = "ne" > NotImplementedError< / span > < span class = "p" > (< / span > < span class = "s2" > " Not yet implemented separators bigger than one char" < / span > < span class = "p" > )< / span >
< span class = "n" > ret< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > substring< / span > < span class = "p" > (< / span > < span class = "n" > pos< / span > < span class = "p" > ,< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )))< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< span class = "k" > def< / span > < span class = "nf" > getData< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _getDataW< / span > < span class = "p" > ()< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "nb" > tuple< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ),< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > )< / span >
< div class = "viewcode-block" id = "TTkString.search" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.search" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > search< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > regexp< / span > < span class = "p" > ,< / span > < span class = "n" > ignoreCase< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Return the **re.match** of the **regexp**< / span >
< span class = "sd" > :param regexp: the regular expression to be matched< / span >
< span class = "sd" > :type regexp: str< / span >
< span class = "sd" > :param ignoreCase: Ignore case, defaults to **False**< / span >
< span class = "sd" > :type ignoreCase: bool< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "k" > return< / span > < span class = "n" > re< / span > < span class = "o" > .< / span > < span class = "n" > search< / span > < span class = "p" > (< / span > < span class = "n" > regexp< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ,< / span > < span class = "n" > re< / span > < span class = "o" > .< / span > < span class = "n" > IGNORECASE< / span > < span class = "k" > if< / span > < span class = "n" > ignoreCase< / span > < span class = "k" > else< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span > < / div >
< span class = "k" > def< / span > < span class = "nf" > find< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "o" > .< / span > < span class = "n" > find< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > kwargs< / span > < span class = "p" > )< / span >
< div class = "viewcode-block" id = "TTkString.findall" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.findall" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > findall< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > regexp< / span > < span class = "p" > ,< / span > < span class = "n" > ignoreCase< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' FindAll the **regexp** matches in the string< / span >
< span class = "sd" > :param regexp: the regular expression to be matched< / span >
< span class = "sd" > :type regexp: str< / span >
< span class = "sd" > :param ignoreCase: Ignore case, defaults to **False**< / span >
< span class = "sd" > :type ignoreCase: bool< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "k" > return< / span > < span class = "n" > re< / span > < span class = "o" > .< / span > < span class = "n" > findall< / span > < span class = "p" > (< / span > < span class = "n" > regexp< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ,< / span > < span class = "n" > re< / span > < span class = "o" > .< / span > < span class = "n" > IGNORECASE< / span > < span class = "k" > if< / span > < span class = "n" > ignoreCase< / span > < span class = "k" > else< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span > < / div >
< span class = "k" > def< / span > < span class = "nf" > getIndexes< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > char< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > c< / span > < span class = "o" > ==< / span > < span class = "n" > char< / span > < span class = "p" > ]< / span >
< div class = "viewcode-block" id = "TTkString.join" > < a class = "viewcode-back" href = "../../../autogen.TermTk/TermTk.TTkCore.string.html#TermTk.TTkCore.string.TTkString.join" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > join< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > strings< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' Join the input strings using the current as separator< / span >
< span class = "sd" > :param strings: the list of strings to be joined< / span >
< span class = "sd" > :type strings: list< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > strings< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > TTkString< / span > < span class = "p" > ()< / span >
< span class = "n" > ret< / span > < span class = "o" > =< / span > < span class = "n" > TTkString< / span > < span class = "p" > (< / span > < span class = "n" > strings< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
< span class = "k" > for< / span > < span class = "n" > s< / span > < span class = "ow" > in< / span > < span class = "n" > strings< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > :]:< / span >
< span class = "n" > ret< / span > < span class = "o" > +=< / span > < span class = "bp" > self< / span > < span class = "o" > +< / span > < span class = "n" > s< / span >
< span class = "k" > return< / span > < span class = "n" > ret< / span > < / div >
< span class = "c1" > # Unicode Zero/Half/Normal sized chars helpers:< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _isWideCharData< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > > < / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span >
< span class = "k" > return< / span > < span class = "kc" > False< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _isSpecialWidthChar< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "ow" > or< / span >
< span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > )< / span > < span class = "p" > )< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _getWidthText< / span > < span class = "p" > (< / span > < span class = "n" > txt< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span > < span class = "o" > +< / span >
< span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span > < span class = "o" > -< / span >
< span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span > < span class = "p" > )< / span >
< span class = "nd" > @staticmethod< / span >
< span class = "k" > def< / span > < span class = "nf" > _getLenTextWoZero< / span > < span class = "p" > (< / span > < span class = "n" > txt< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span > < span class = "o" > -< / span >
< span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "n" > txt< / span > < span class = "p" > )< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > nextPos< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ):< / span >
< span class = "n" > pos< / span > < span class = "o" > +=< / span > < span class = "mi" > 1< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [< / span > < span class = "n" > pos< / span > < span class = "p" > :]):< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "n" > pos< / span > < span class = "o" > +< / span > < span class = "n" > i< / span >
< span class = "k" > return< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > prevPos< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > pos< / span > < span class = "p" > ):< / span >
< span class = "c1" > # from TermTk.TTkCore.log import TTkLog< / span >
< span class = "c1" > # TTkLog.debug(f" -> {self._text[:pos]}< - {pos=}" )< / span >
< span class = "c1" > # TTkLog.debug(f" {str(reversed(self._text[:pos]))} {pos=}" )< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "nb" > reversed< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > [:< / span > < span class = "n" > pos< / span > < span class = "p" > ])):< / span >
< span class = "c1" > # TTkLog.debug(f" {i}---> {ch} " )< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "n" > pos< / span > < span class = "o" > -< / span > < span class = "n" > i< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< span class = "k" > def< / span > < span class = "nf" > _fastCheckWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > a< / span > < span class = "p" > ,< / span > < span class = "n" > b< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "k" > if< / span > < span class = "p" > (< / span >
< span class = "n" > a< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "ow" > and< / span > < span class = "n" > b< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _termWidthW< / span > < span class = "p" > ()< / span >
< span class = "k" > def< / span > < span class = "nf" > _checkWidth< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "c1" > # from: tests/timeit/09.widechar.check.py< / span >
< span class = "c1" > # the first not halfsize char is 0x300< / span >
< span class = "c1" > # this check is ~3 times faster than the 2 combined unicode checks< / span >
< span class = "c1" > # and will quickly filter out the (more common) simple ascii text< / span >
< span class = "n" > tw< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _termWidthW< / span > < span class = "p" > ()< / span > < span class = "k" > if< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "nb" > ord< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > > =< / span > < span class = "mh" > 0x300< / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _hasSpecialWidth< / span > < span class = "o" > =< / span > < span class = "n" > tw< / span > < span class = "k" > if< / span > < span class = "n" > tw< / span > < span class = "o" > !=< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span >
< span class = "k" > def< / span > < span class = "nf" > _termWidthW< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "sd" > ' ' ' String displayed length< / span >
< span class = "sd" > This value consider the displayed size (Zero, Half, Full) of each character.< / span >
< span class = "sd" > ' ' ' < / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "o" > +< / span >
< span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "o" > -< / span >
< span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > )< / span > < span class = "p" > )< / span >
< span class = "k" > def< / span > < span class = "nf" > _getDataW< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
< span class = "n" > retTxt< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "n" > retCol< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > ch< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _text< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > east_asian_width< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "s1" > ' W' < / span > < span class = "p" > :< / span >
< span class = "n" > retTxt< / span > < span class = "o" > +=< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > ,< / span > < span class = "s1" > ' ' < / span > < span class = "p" > )< / span >
< span class = "n" > retCol< / span > < span class = "o" > +=< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ],< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ])< / span >
< span class = "k" > elif< / span > < span class = "n" > unicodedata< / span > < span class = "o" > .< / span > < span class = "n" > category< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s1" > ' Me' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' Mn' < / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "n" > retTxt< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > retTxt< / span > < span class = "p" > )< / span > < span class = "o" > > < / span > < span class = "mi" > 1< / span > < span class = "ow" > and< / span > < span class = "n" > retTxt< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > ==< / span > < span class = "s1" > ' ' < / span > < span class = "p" > :< / span >
< span class = "n" > retTxt< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "o" > +=< / span > < span class = "n" > ch< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > retTxt< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > +=< / span > < span class = "n" > ch< / span >
< span class = "c1" > #else:< / span >
< span class = "c1" > # retTxt = [f" {ch}" ]< / span >
< span class = "c1" > # retCol = [TTkColor.RST]< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > retTxt< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > ch< / span > < span class = "p" > )< / span >
< span class = "n" > retCol< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _colors< / span > < span class = "p" > [< / span > < span class = "n" > i< / span > < span class = "p" > ])< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "n" > retTxt< / span > < span class = "p" > ,< / span > < span class = "n" > retCol< / span > < span class = "p" > )< / span > < / div >
< / pre > < / div >
< / div >
< / div >
< footer >
< hr / >
< div role = "contentinfo" >
< p > © Copyright 2021, Eugenio Parodi.< / p >
< / div >
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script >
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
< / script >
< / body >
< / html >