Browse Source

Doc: Improved Button,Colors,Themes Documentation

pull/18/head
Eugenio Parodi 4 years ago
parent
commit
15f1d5dcd0
  1. 3
      Makefile
  2. 34
      TermTk/TTkCore/color.py
  3. 63
      TermTk/TTkGui/theme.py
  4. 28
      TermTk/TTkWidgets/button.py
  5. 8
      docs/source/_static/ttk.css
  6. 5
      docs/source/conf.py

3
Makefile

@ -21,6 +21,9 @@ doc: .venv
make -C docs/ html ; \
cp -a docs/images docs/build/html/_images ;
testDoc:
python3 -m http.server --directory docs/build/html/
runGittk: .venv
. .venv/bin/activate ; \
demo/gittk.py -f

34
TermTk/TTkCore/color.py

@ -212,13 +212,47 @@ class TTkColorGradient(_TTkColorModifier):
class TTkColor(_TTkColor):
''' TermTk Color helper
.. role:: strike
:class: strike
.. role:: underline
:class: underline
The TTkColor constructor creates the color based on HEX values.
Example:
.. code:: python
# Foreground only colors:
color_fg_red = TTkColor.fg('#FF0000')
color_fg_green = TTkColor.fg('#00FF00')
color_fg_blue = TTkColor.fg('#0000FF')
# Background only colors:
color_bg_red = TTkColor.bg('#FF0000')
color_bg_green = TTkColor.bg('#00FF00')
color_bg_blue = TTkColor.bg('#0000FF')
# Combine
color_1 = color_fg_red + color_bg_blue
color_2 = color_fg_red + TTkColor.bg('#FFFF00')
color_3 = color_2 + TTkColor.UNDERLINE + TTkColor.BOLD
'''
RST = _TTkColor(fg='\033[0m')
'''Default terminal color'''
# Modifiers:
BOLD = _TTkColor(mod='\033[1m')
'''**Bold** modifier'''
ITALIC = _TTkColor(mod='\033[3m')
'''*Italic* modifier'''
UNDERLINE = _TTkColor(mod='\033[4m')
''':underline:`Underline` modifier'''
STRIKETROUGH = _TTkColor(mod='\033[9m')
''':strike:`Striketrough` modifier'''
@staticmethod
def fg(*args, **kwargs):

63
TermTk/TTkGui/theme.py

@ -33,6 +33,9 @@ import TermTk.TTkGui.draw_ascii as draw_ascii
class TTkTheme():
'''Default Theme Class
This class can be reimplemented/extended to include new themes and default colors
'''
NERD = {'file':fi_nerd, 'draw':draw_utf8}
UTF8 = {'file':fi_utf8, 'draw':draw_utf8}
ASCII = {'file':fi_ascii, 'draw':draw_ascii}
@ -50,12 +53,19 @@ class TTkTheme():
braille = draw_utf8.TTkTheme.braille
fileNameColor = TTkColor.RST # Simil NerdTree purple
'''Default to **TTkColor.RST # Simil NerdTree purple**'''
executableColor = TTkColor.fg("#AAFFAA") # Greenish
'''Default to **TTkColor.fg("#AAFFAA") # Greenish**'''
linkNameColor = TTkColor.fg("#00FFFF") # Cyanish
'''Default to **TTkColor.fg("#00FFFF") # Cyanish**'''
folderNameColor = TTkColor.fg("#AAFFFF") # Yellowish
'''Default to **TTkColor.fg("#AAFFFF") # Yellowish**'''
failNameColor = TTkColor.fg("#FF0000") # Yellowish
'''Default to **TTkColor.fg("#FF0000") # Yellowish**'''
fileIconColor = TTkColor.fg("#FFAAFF") # Simil NerdTree purple
'''Default to **TTkColor.fg("#FFAAFF") # Simil NerdTree purple**'''
folderIconColor = TTkColor.fg("#FFFFAA") # Yellowish
'''Default to **TTkColor.fg("#FFFFAA") # Yellowish**'''
getIcon = fi_utf8.FileIcon.getIcon
folderIconClose = TTkString() + folderIconColor + fi_utf8.FileIcon.folder_close + TTkColor.RST
@ -89,61 +99,108 @@ class TTkTheme():
frameBorderColor = TTkColor.RST
'''Default to :class:`~TermTk.TTkCore.color.TTkColor.RST`'''
frameTitleColor = TTkColor.fg("#dddddd")+TTkColor.bg("#222222")
'''Default to **TTkColor.fg("#dddddd")+TTkColor.bg("#222222")**'''
windowBorderColor = TTkColor.RST
'''Default to :class:`~TermTk.TTkCore.color.TTkColor.RST`'''
windowBorderColorFocus = TTkColor.fg("#ffff55")
'''Default to **TTkColor.fg("#ffff55")**'''
buttonBoxGrid = 1
'''Default to **1**'''
buttonBoxGridClicked = 0
'''Default to **0**'''
buttonBoxGridDisabled = 0
'''Default to **0**'''
buttonTextColor = TTkColor.fg("#dddd88")+TTkColor.bg("#000044")
'''Default to **TTkColor.fg("#dddd88")+TTkColor.bg("#000044")**'''
buttonBorderColor = TTkColor.RST
'''Default to :class:`~TermTk.TTkCore.color.TTkColor.RST`'''
buttonTextColorClicked = TTkColor.fg("#ffffdd")+TTkColor.BOLD
'''Default to **TTkColor.fg("#ffffdd")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
buttonBorderColorClicked = TTkColor.fg("#dddddd")+TTkColor.BOLD
buttonTextColorFocus = buttonTextColor + TTkColor.BOLD
'''Default to **TTkColor.fg("#dddddd")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
buttonTextColorFocus = buttonTextColor + TTkColor.BOLD
'''Default to :class:`buttonTextColor` **+** :class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
buttonBorderColorFocus = TTkColor.fg("#ffff00") + TTkColor.BOLD
'''Default to **TTkColor.fg("#ffff00") + **:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
buttonTextColorDisabled = TTkColor.fg("#888888")
'''Default to **TTkColor.fg("#888888")**'''
buttonBorderColorDisabled= TTkColor.fg("#888888")
'''Default to **TTkColor.fg("#888888")**'''
menuButtonShortcutColor = TTkColor.fg("#dddddd") + TTkColor.UNDERLINE
'''Default to **TTkColor.fg("#dddddd") + TTkColor.UNDERLINE**'''
menuButtonColor = TTkColor.BOLD
'''Default to :class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
menuButtonBorderColor = frameBorderColor
menuButtonColorClicked = TTkColor.fg("#ffff88")
'''Default to :class:`frameBorderColor`'''
menuButtonColorClicked = TTkColor.fg("#ffff88")
'''Default to **TTkColor.fg("#ffff88")**'''
menuButtonBorderColorClicked = frameBorderColor
'''Default to :class:`frameBorderColor`'''
listColor = TTkColor.RST
'''Default to :class:`~TermTk.TTkCore.color.TTkColor.RST`'''
listColorSelected = TTkColor.fg("#ffffdd")+TTkColor.bg("#000044") + TTkColor.BOLD
'''Default to **TTkColor.fg("#ffffdd")+TTkColor.bg("#000044") + **:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
listColorHighlighted = TTkColor.bg("#000088") + TTkColor.BOLD
'''Default to **TTkColor.bg("#000088") + **:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
lineEditTextColor = TTkColor.fg("#dddddd")+TTkColor.bg("#222222")
'''Default to **TTkColor.fg("#dddddd")+TTkColor.bg("#222222")**'''
lineEditTextColorFocus = TTkColor.fg("#dddddd")+TTkColor.bg("#000044")
'''Default to **TTkColor.fg("#dddddd")+TTkColor.bg("#000044")**'''
comboboxContentColor = TTkColor.fg("#dddd88")+TTkColor.bg("#111111")
'''Default to **TTkColor.fg("#dddd88")+TTkColor.bg("#111111")**'''
comboboxBorderColor = buttonBorderColor
'''Default to :class:`buttonBorderColor`'''
comboboxContentColorFocus = TTkColor.fg("#ffff88")+TTkColor.bg("#111111")
'''Default to **TTkColor.fg("#ffff88")+TTkColor.bg("#111111")**'''
comboboxBorderColorFocus = buttonBorderColorFocus
checkboxContentColor = buttonTextColor
'''Default to :class:`buttonTextColor`'''
checkboxBorderColor = buttonBorderColor
'''Default to :class:`buttonBorderColor`'''
checkboxContentColorFocus = buttonTextColorFocus
'''Default to :class:`buttonTextColorFocus`'''
checkboxBorderColorFocus = buttonBorderColorFocus
'''Default to :class:`buttonBorderColorFocus`'''
radioButtonContentColor = buttonTextColor
'''Default to :class:`buttonTextColor`'''
radioButtonBorderColor = buttonBorderColor
'''Default to :class:`buttonBorderColor`'''
radioButtonContentColorFocus = buttonTextColorFocus
'''Default to :class:`buttonTextColorFocus`'''
radioButtonBorderColorFocus = buttonBorderColorFocus
'''Default to :class:`buttonBorderColorFocus`'''
tabColor = TTkColor.fg("#aaaaaa")
'''Default to **TTkColor.fg("#aaaaaa")**'''
tabOffsetColor = TTkColor.RST
'''Default to **TTkColor.RST**'''
tabBorderColor = frameBorderColor
'''Default to :class:`frameBorderColor`'''
tabSelectColor = TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+TTkColor.BOLD
'''Default to **TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
tabColorFocus = TTkColor.fg("#aaaaaa")
'''Default to **TTkColor.fg("#aaaaaa")**'''
tabOffsetColorFocus = tabOffsetColor
'''Default to :class:`tabOffsetColor`'''
tabBorderColorFocus = TTkColor.fg("#ffff88")
'''Default to **TTkColor.fg("#ffff88")**'''
tabSelectColorFocus = TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+TTkColor.BOLD
'''Default to **TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
treeHeaderColor = TTkColor.fg("#ffffff")+TTkColor.bg("#444444")+TTkColor.BOLD
'''Default to **TTkColor.fg("#ffffff")+TTkColor.bg("#444444")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
treeSelectedColor = TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+TTkColor.BOLD
treeLineColor = TTkColor.fg("#444444")
'''Default to **TTkColor.fg("#ffff88")+TTkColor.bg("#000066")+**:class:`~TermTk.TTkCore.color.TTkColor.BOLD`'''
treeLineColor = TTkColor.fg("#444444")
'''Default to **TTkColor.fg("#444444")**'''

28
TermTk/TTkWidgets/button.py

@ -29,6 +29,33 @@ from TermTk.TTkCore.color import TTkColor
from TermTk.TTkWidgets.widget import *
class TTkButton(TTkWidget):
''' TTkButton:
Border = True
::
Text
Border = False
::
[ Text ]
The TTkWidget class is the base class of all user interface objects
:param str text: the text shown on the button, defaults to ""
:type text: str, optional
:param bool border: the border of the button, defaults to "False"
:type text: str, optional
:param TTkColor color: the color of the border of the button, defaults to :class:`~TermTk.TTkGui.theme.TTkTheme.buttonTextColor`
:type color: :class:`~TermTk.TTkCore.color.TTkColor`, optional
:param TTkColor borderColor: the color of the border of the button, defaults to :class:`~TermTk.TTkGui.theme.TTkTheme.buttonBorderColor`
:type borderColor: :class:`~TermTk.TTkCore.color.TTkColor`, optional
'''
__slots__ = (
'_text', '_border', '_pressed', 'clicked', '_keyPressed',
'_borderColor', '_textColor',
@ -37,6 +64,7 @@ class TTkButton(TTkWidget):
'_borderColorDisabled','_textColorDisabled'
)
def __init__(self, *args, **kwargs):
TTkWidget.__init__(self, *args, **kwargs)
self._name = kwargs.get('name' , 'TTkButton' )
# Define Signals

8
docs/source/_static/ttk.css

@ -0,0 +1,8 @@
.strike {
text-decoration: line-through;
}
.underline {
text-decoration: underline;
}

5
docs/source/conf.py

@ -78,8 +78,9 @@ html_theme_options = {
html_static_path = ['_static']
html_context = {'css_files': [
# Workaround for RTD 0.4.3 bug https://github.com/readthedocs/sphinx_rtd_theme/issues/117
'_static/theme_overrides.css', # override wide tables in RTD theme
# Workaround for RTD 0.4.3 bug https://github.com/readthedocs/sphinx_rtd_theme/issues/117
'_static/theme_overrides.css', # override wide tables in RTD theme
'_static/ttk.css'
]}
# html_theme = 'bizstyle'

Loading…
Cancel
Save