radio buttons "work"
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021 rdbende
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
@ -68,9 +68,6 @@ rootFrameGui= tkinter.Tk()
|
||||||
rootFrameGui.title("Car speed to arduino")
|
rootFrameGui.title("Car speed to arduino")
|
||||||
rootFrameGui.geometry("400x200")
|
rootFrameGui.geometry("400x200")
|
||||||
|
|
||||||
# theme: https://github.com/rdbende/Azure-ttk-theme
|
|
||||||
rootFrameGui.tk.call("source","azure.tcl") ##import theme
|
|
||||||
rootFrameGui.tk.call("set_theme","dark") ##set theme to dark
|
|
||||||
|
|
||||||
firstFrameGui=tkinter.ttk.Frame(rootFrameGui,padding=10)
|
firstFrameGui=tkinter.ttk.Frame(rootFrameGui,padding=10)
|
||||||
firstFrameGui.pack()
|
firstFrameGui.pack()
|
||||||
|
|
@ -83,17 +80,22 @@ serialLable.pack(side="top")
|
||||||
serialEntry=tkinter.Entry(serialFrameGui)
|
serialEntry=tkinter.Entry(serialFrameGui)
|
||||||
serialEntry.insert(0,SERIAL_PORT)
|
serialEntry.insert(0,SERIAL_PORT)
|
||||||
serialEntry.pack(side="left")
|
serialEntry.pack(side="left")
|
||||||
|
tkGametype = tkinter.StringVar()
|
||||||
|
tkGametype.set(GameType.BEAMNG.value)
|
||||||
gameSelectFrame= tkinter.ttk.Frame(firstFrameGui,padding=10)
|
gameSelectFrame= tkinter.ttk.Frame(firstFrameGui,padding=10)
|
||||||
gameSelectFrame.pack(side="right")
|
gameSelectFrame.pack(side="right")
|
||||||
gameSelectText= tkinter.StringVar()
|
gameSelectText= tkinter.StringVar()
|
||||||
gameSelectText.set("Select Game:")
|
gameSelectText.set("Select Game:")
|
||||||
tkinter.Label(gameSelectFrame,gameSelectText)
|
gameSelectLable = tkinter.Label(gameSelectFrame,textvariable=gameSelectText)
|
||||||
|
gameSelectLable.pack(side="top")
|
||||||
|
tkinter.Label(gameSelectFrame,textvariable=gameSelectText)
|
||||||
gameSelectLOptions= [GameType.BEAMNG,GameType.FORZA]
|
gameSelectLOptions= [GameType.BEAMNG,GameType.FORZA]
|
||||||
##gameSelectRadioButtons
|
##gameSelectRadioButtons
|
||||||
tkinter.Radiobutton(gameSelectFrame,text="BeamNG",variable=gameType,value=GameType.BEAMNG).pack()
|
tkinter.Radiobutton(gameSelectFrame,text="BeamNG",variable=tkGametype,value=GameType.BEAMNG.value,command=None).pack()
|
||||||
tkinter.Radiobutton(gameSelectFrame,text="Forza",variable=gameType,value=GameType.FORZA).pack()
|
tkinter.Radiobutton(gameSelectFrame,text="Forza",variable=tkGametype,value=GameType.FORZA.value,command=None).pack()
|
||||||
|
|
||||||
rootFrameGui.mainloop()
|
rootFrameGui.mainloop()
|
||||||
|
exit() #### exit for testing
|
||||||
#select game
|
#select game
|
||||||
while gameSelected == False:
|
while gameSelected == False:
|
||||||
gameNo = input("1:BEAMNG\n2:FORZA\n\n7:Toggle CSV out ("+str(csvOut)+")\n9:SET SERIAL PORT ("+SERIAL_PORT+")\n")
|
gameNo = input("1:BEAMNG\n2:FORZA\n\n7:Toggle CSV out ("+str(csvOut)+")\n9:SET SERIAL PORT ("+SERIAL_PORT+")\n")
|
||||||
|
|
|
||||||
87
azure.tcl
|
|
@ -1,87 +0,0 @@
|
||||||
# Copyright © 2021 rdbende <rdbende@gmail.com>
|
|
||||||
|
|
||||||
source [file join [file dirname [info script]] theme light.tcl]
|
|
||||||
source [file join [file dirname [info script]] theme dark.tcl]
|
|
||||||
|
|
||||||
option add *tearOff 0
|
|
||||||
|
|
||||||
proc set_theme {mode} {
|
|
||||||
if {$mode == "dark"} {
|
|
||||||
ttk::style theme use "azure-dark"
|
|
||||||
|
|
||||||
array set colors {
|
|
||||||
-fg "#ffffff"
|
|
||||||
-bg "#333333"
|
|
||||||
-disabledfg "#ffffff"
|
|
||||||
-disabledbg "#737373"
|
|
||||||
-selectfg "#ffffff"
|
|
||||||
-selectbg "#007fff"
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style configure . \
|
|
||||||
-background $colors(-bg) \
|
|
||||||
-foreground $colors(-fg) \
|
|
||||||
-troughcolor $colors(-bg) \
|
|
||||||
-focuscolor $colors(-selectbg) \
|
|
||||||
-selectbackground $colors(-selectbg) \
|
|
||||||
-selectforeground $colors(-selectfg) \
|
|
||||||
-insertcolor $colors(-fg) \
|
|
||||||
-insertwidth 1 \
|
|
||||||
-fieldbackground $colors(-selectbg) \
|
|
||||||
-font {"Segoe Ui" 10} \
|
|
||||||
-borderwidth 1 \
|
|
||||||
-relief flat
|
|
||||||
|
|
||||||
tk_setPalette background [ttk::style lookup . -background] \
|
|
||||||
foreground [ttk::style lookup . -foreground] \
|
|
||||||
highlightColor [ttk::style lookup . -focuscolor] \
|
|
||||||
selectBackground [ttk::style lookup . -selectbackground] \
|
|
||||||
selectForeground [ttk::style lookup . -selectforeground] \
|
|
||||||
activeBackground [ttk::style lookup . -selectbackground] \
|
|
||||||
activeForeground [ttk::style lookup . -selectforeground]
|
|
||||||
|
|
||||||
ttk::style map . -foreground [list disabled $colors(-disabledfg)]
|
|
||||||
|
|
||||||
option add *font [ttk::style lookup . -font]
|
|
||||||
option add *Menu.selectcolor $colors(-fg)
|
|
||||||
|
|
||||||
} elseif {$mode == "light"} {
|
|
||||||
ttk::style theme use "azure-light"
|
|
||||||
|
|
||||||
array set colors {
|
|
||||||
-fg "#000000"
|
|
||||||
-bg "#ffffff"
|
|
||||||
-disabledfg "#737373"
|
|
||||||
-disabledbg "#ffffff"
|
|
||||||
-selectfg "#ffffff"
|
|
||||||
-selectbg "#007fff"
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style configure . \
|
|
||||||
-background $colors(-bg) \
|
|
||||||
-foreground $colors(-fg) \
|
|
||||||
-troughcolor $colors(-bg) \
|
|
||||||
-focuscolor $colors(-selectbg) \
|
|
||||||
-selectbackground $colors(-selectbg) \
|
|
||||||
-selectforeground $colors(-selectfg) \
|
|
||||||
-insertcolor $colors(-fg) \
|
|
||||||
-insertwidth 1 \
|
|
||||||
-fieldbackground $colors(-selectbg) \
|
|
||||||
-font {"Segoe Ui" 10} \
|
|
||||||
-borderwidth 1 \
|
|
||||||
-relief flat
|
|
||||||
|
|
||||||
tk_setPalette background [ttk::style lookup . -background] \
|
|
||||||
foreground [ttk::style lookup . -foreground] \
|
|
||||||
highlightColor [ttk::style lookup . -focuscolor] \
|
|
||||||
selectBackground [ttk::style lookup . -selectbackground] \
|
|
||||||
selectForeground [ttk::style lookup . -selectforeground] \
|
|
||||||
activeBackground [ttk::style lookup . -selectbackground] \
|
|
||||||
activeForeground [ttk::style lookup . -selectforeground]
|
|
||||||
|
|
||||||
ttk::style map . -foreground [list disabled $colors(-disabledfg)]
|
|
||||||
|
|
||||||
option add *font [ttk::style lookup . -font]
|
|
||||||
option add *Menu.selectcolor $colors(-fg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
539
theme/dark.tcl
|
|
@ -1,539 +0,0 @@
|
||||||
# Copyright (c) 2021 rdbende <rdbende@gmail.com>
|
|
||||||
|
|
||||||
# The Azure theme is a beautiful modern ttk theme inspired by Microsoft's fluent design.
|
|
||||||
|
|
||||||
package require Tk 8.6
|
|
||||||
|
|
||||||
namespace eval ttk::theme::azure-dark {
|
|
||||||
variable version 2.0
|
|
||||||
package provide ttk::theme::azure-dark $version
|
|
||||||
|
|
||||||
ttk::style theme create azure-dark -parent clam -settings {
|
|
||||||
proc load_images {imgdir} {
|
|
||||||
variable I
|
|
||||||
foreach file [glob -directory $imgdir *.png] {
|
|
||||||
set img [file tail [file rootname $file]]
|
|
||||||
set I($img) [image create photo -file $file -format png]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
load_images [file join [file dirname [info script]] dark]
|
|
||||||
|
|
||||||
array set colors {
|
|
||||||
-fg "#ffffff"
|
|
||||||
-bg "#333333"
|
|
||||||
-disabledfg "#aaaaaa"
|
|
||||||
-disabledbg "#737373"
|
|
||||||
-selectfg "#ffffff"
|
|
||||||
-selectbg "#007fff"
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TButton {
|
|
||||||
Button.button -children {
|
|
||||||
Button.padding -children {
|
|
||||||
Button.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Toolbutton {
|
|
||||||
Toolbutton.button -children {
|
|
||||||
Toolbutton.padding -children {
|
|
||||||
Toolbutton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TMenubutton {
|
|
||||||
Menubutton.button -children {
|
|
||||||
Menubutton.padding -children {
|
|
||||||
Menubutton.indicator -side right
|
|
||||||
Menubutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TOptionMenu {
|
|
||||||
OptionMenu.button -children {
|
|
||||||
OptionMenu.padding -children {
|
|
||||||
OptionMenu.indicator -side right
|
|
||||||
OptionMenu.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Accent.TButton {
|
|
||||||
AccentButton.button -children {
|
|
||||||
AccentButton.padding -children {
|
|
||||||
AccentButton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TCheckbutton {
|
|
||||||
Checkbutton.button -children {
|
|
||||||
Checkbutton.padding -children {
|
|
||||||
Checkbutton.indicator -side left
|
|
||||||
Checkbutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Switch.TCheckbutton {
|
|
||||||
Switch.button -children {
|
|
||||||
Switch.padding -children {
|
|
||||||
Switch.indicator -side left
|
|
||||||
Switch.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Toggle.TButton {
|
|
||||||
ToggleButton.button -children {
|
|
||||||
ToggleButton.padding -children {
|
|
||||||
ToggleButton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TRadiobutton {
|
|
||||||
Radiobutton.button -children {
|
|
||||||
Radiobutton.padding -children {
|
|
||||||
Radiobutton.indicator -side left
|
|
||||||
Radiobutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.TScrollbar {
|
|
||||||
Vertical.Scrollbar.trough -sticky ns -children {
|
|
||||||
Vertical.Scrollbar.thumb -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.TScrollbar {
|
|
||||||
Horizontal.Scrollbar.trough -sticky ew -children {
|
|
||||||
Horizontal.Scrollbar.thumb -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TCombobox {
|
|
||||||
Combobox.field -sticky nswe -children {
|
|
||||||
Combobox.padding -expand true -sticky nswe -children {
|
|
||||||
Combobox.textarea -sticky nswe
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Combobox.button -side right -sticky ns -children {
|
|
||||||
Combobox.arrow -sticky nsew
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TSpinbox {
|
|
||||||
Spinbox.field -sticky nsew -children {
|
|
||||||
Spinbox.padding -expand true -sticky nswe -children {
|
|
||||||
Spinbox.textarea -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Spinbox.button -side right -sticky ns -children {
|
|
||||||
null -side right -children {
|
|
||||||
Spinbox.uparrow -side top
|
|
||||||
Spinbox.downarrow -side bottom
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.TSeparator {
|
|
||||||
Horizontal.separator -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.TSeparator {
|
|
||||||
Vertical.separator -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.Tick.TScale {
|
|
||||||
Horizontal.TickScale.trough -sticky ew -children {
|
|
||||||
Horizontal.TickScale.slider -sticky w
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.Tick.TScale {
|
|
||||||
Vertical.TickScale.trough -sticky ns -children {
|
|
||||||
Vertical.TickScale.slider -sticky n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Card.TFrame {
|
|
||||||
Card.field {
|
|
||||||
Card.padding -expand 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TLabelframe {
|
|
||||||
Labelframe.border {
|
|
||||||
Labelframe.padding -expand 1 -children {
|
|
||||||
Labelframe.label -side right
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TNotebook.Tab {
|
|
||||||
Notebook.tab -children {
|
|
||||||
Notebook.padding -side top -children {
|
|
||||||
Notebook.label -side top -sticky {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Treeview.Item {
|
|
||||||
Treeitem.padding -sticky nswe -children {
|
|
||||||
Treeitem.indicator -side left -sticky {}
|
|
||||||
Treeitem.image -side left -sticky {}
|
|
||||||
Treeitem.text -side left -sticky {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Elements
|
|
||||||
|
|
||||||
# Button
|
|
||||||
ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create Button.button image \
|
|
||||||
[list $I(rect-basic) \
|
|
||||||
{selected disabled} $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
selected $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
focus $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Toolbutton
|
|
||||||
ttk::style configure Toolbutton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create Toolbutton.button image \
|
|
||||||
[list $I(empty) \
|
|
||||||
{selected disabled} $I(empty) \
|
|
||||||
disabled $I(empty) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
selected $I(rect-basic) \
|
|
||||||
active $I(rect-basic) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Menubutton
|
|
||||||
ttk::style configure TMenubutton -padding {8 4 4 4}
|
|
||||||
|
|
||||||
ttk::style element create Menubutton.button \
|
|
||||||
image [list $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create Menubutton.indicator \
|
|
||||||
image [list $I(down) \
|
|
||||||
active $I(down) \
|
|
||||||
pressed $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
] -width 15 -sticky e
|
|
||||||
|
|
||||||
# OptionMenu
|
|
||||||
ttk::style configure TOptionMenu -padding {8 4 4 4}
|
|
||||||
|
|
||||||
ttk::style element create OptionMenu.button \
|
|
||||||
image [list $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create OptionMenu.indicator \
|
|
||||||
image [list $I(down) \
|
|
||||||
active $I(down) \
|
|
||||||
pressed $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
] -width 15 -sticky e
|
|
||||||
|
|
||||||
# AccentButton
|
|
||||||
ttk::style configure Accent.TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create AccentButton.button image \
|
|
||||||
[list $I(rect-accent) \
|
|
||||||
{selected disabled} $I(rect-accent-hover) \
|
|
||||||
disabled $I(rect-accent-hover) \
|
|
||||||
pressed $I(rect-accent) \
|
|
||||||
selected $I(rect-accent) \
|
|
||||||
active $I(rect-accent-hover) \
|
|
||||||
focus $I(rect-accent-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Checkbutton
|
|
||||||
ttk::style configure TCheckbutton -padding 4
|
|
||||||
|
|
||||||
ttk::style element create Checkbutton.indicator image \
|
|
||||||
[list $I(box-basic) \
|
|
||||||
{alternate disabled} $I(check-tri-basic) \
|
|
||||||
{selected disabled} $I(check-basic) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
{pressed alternate} $I(check-tri-hover) \
|
|
||||||
{active alternate} $I(check-tri-hover) \
|
|
||||||
alternate $I(check-tri-accent) \
|
|
||||||
{pressed selected} $I(check-hover) \
|
|
||||||
{active selected} $I(check-hover) \
|
|
||||||
selected $I(check-accent) \
|
|
||||||
{pressed !selected} $I(rect-hover) \
|
|
||||||
active $I(box-hover) \
|
|
||||||
] -width 26 -sticky w
|
|
||||||
|
|
||||||
# Switch
|
|
||||||
ttk::style element create Switch.indicator image \
|
|
||||||
[list $I(off-basic) \
|
|
||||||
{selected disabled} $I(on-basic) \
|
|
||||||
disabled $I(off-basic) \
|
|
||||||
{pressed selected} $I(on-accent) \
|
|
||||||
{active selected} $I(on-accent) \
|
|
||||||
selected $I(on-accent) \
|
|
||||||
{pressed !selected} $I(off-basic) \
|
|
||||||
active $I(off-basic) \
|
|
||||||
] -width 46 -sticky w
|
|
||||||
|
|
||||||
# ToggleButton
|
|
||||||
ttk::style configure Toggle.TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create ToggleButton.button image \
|
|
||||||
[list $I(rect-basic) \
|
|
||||||
{selected disabled} $I(rect-accent-hover) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
{pressed selected} $I(rect-basic) \
|
|
||||||
{active selected} $I(rect-accent) \
|
|
||||||
selected $I(rect-accent) \
|
|
||||||
{pressed !selected} $I(rect-accent) \
|
|
||||||
active $I(rect-basic) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Radiobutton
|
|
||||||
ttk::style configure TRadiobutton -padding 4
|
|
||||||
|
|
||||||
ttk::style element create Radiobutton.indicator image \
|
|
||||||
[list $I(outline-basic) \
|
|
||||||
{alternate disabled} $I(radio-tri-basic) \
|
|
||||||
{selected disabled} $I(radio-basic) \
|
|
||||||
disabled $I(outline-basic) \
|
|
||||||
{pressed alternate} $I(radio-tri-hover) \
|
|
||||||
{active alternate} $I(radio-tri-hover) \
|
|
||||||
alternate $I(radio-tri-accent) \
|
|
||||||
{pressed selected} $I(radio-hover) \
|
|
||||||
{active selected} $I(radio-hover) \
|
|
||||||
selected $I(radio-accent) \
|
|
||||||
{pressed !selected} $I(circle-hover) \
|
|
||||||
active $I(outline-hover) \
|
|
||||||
] -width 26 -sticky w
|
|
||||||
|
|
||||||
# Scrollbar
|
|
||||||
ttk::style element create Horizontal.Scrollbar.trough image $I(hor-basic) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Scrollbar.thumb \
|
|
||||||
image [list $I(hor-accent) \
|
|
||||||
disabled $I(hor-basic) \
|
|
||||||
pressed $I(hor-hover) \
|
|
||||||
active $I(hor-hover) \
|
|
||||||
] -sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scrollbar.trough image $I(vert-basic) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scrollbar.thumb \
|
|
||||||
image [list $I(vert-accent) \
|
|
||||||
disabled $I(vert-basic) \
|
|
||||||
pressed $I(vert-hover) \
|
|
||||||
active $I(vert-hover) \
|
|
||||||
] -sticky ns
|
|
||||||
|
|
||||||
# Scale
|
|
||||||
ttk::style element create Horizontal.Scale.trough image $I(scale-hor) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Scale.slider \
|
|
||||||
image [list $I(circle-accent) \
|
|
||||||
disabled $I(circle-basic) \
|
|
||||||
pressed $I(circle-hover) \
|
|
||||||
active $I(circle-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scale.trough image $I(scale-vert) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scale.slider \
|
|
||||||
image [list $I(circle-accent) \
|
|
||||||
disabled $I(circle-basic) \
|
|
||||||
pressed $I(circle-hover) \
|
|
||||||
active $I(circle-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
# Tickscale
|
|
||||||
ttk::style element create Horizontal.TickScale.trough image $I(scale-hor) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.TickScale.slider \
|
|
||||||
image [list $I(tick-hor-accent) \
|
|
||||||
disabled $I(tick-hor-basic) \
|
|
||||||
pressed $I(tick-hor-hover) \
|
|
||||||
active $I(tick-hor-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
ttk::style element create Vertical.TickScale.trough image $I(scale-vert) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Vertical.TickScale.slider \
|
|
||||||
image [list $I(tick-vert-accent) \
|
|
||||||
disabled $I(tick-vert-basic) \
|
|
||||||
pressed $I(tick-vert-hover) \
|
|
||||||
active $I(tick-vert-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
# Progressbar
|
|
||||||
ttk::style element create Horizontal.Progressbar.trough image $I(hor-basic) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Progressbar.pbar image $I(hor-accent) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Progressbar.trough image $I(vert-basic) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Progressbar.pbar image $I(vert-accent) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
# Entry
|
|
||||||
ttk::style element create Entry.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
{focus hover} $I(box-accent) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8} -sticky news
|
|
||||||
|
|
||||||
# Combobox
|
|
||||||
ttk::style map TCombobox -selectbackground [list \
|
|
||||||
{!focus} $colors(-selectbg) \
|
|
||||||
{readonly hover} $colors(-selectbg) \
|
|
||||||
{readonly focus} $colors(-selectbg) \
|
|
||||||
]
|
|
||||||
|
|
||||||
ttk::style map TCombobox -selectforeground [list \
|
|
||||||
{!focus} $colors(-selectfg) \
|
|
||||||
{readonly hover} $colors(-selectfg) \
|
|
||||||
{readonly focus} $colors(-selectfg) \
|
|
||||||
]
|
|
||||||
|
|
||||||
ttk::style element create Combobox.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
{readonly disabled} $I(rect-basic) \
|
|
||||||
{readonly pressed} $I(rect-basic) \
|
|
||||||
{readonly focus hover} $I(button-hover) \
|
|
||||||
{readonly focus} $I(button-hover) \
|
|
||||||
{readonly hover} $I(button-hover) \
|
|
||||||
{focus hover} $I(box-accent) \
|
|
||||||
readonly $I(rect-basic) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8}
|
|
||||||
|
|
||||||
ttk::style element create Combobox.button \
|
|
||||||
image [list $I(combo-button-basic) \
|
|
||||||
{!readonly focus} $I(combo-button-focus) \
|
|
||||||
{readonly focus} $I(combo-button-hover) \
|
|
||||||
{readonly hover} $I(combo-button-hover)
|
|
||||||
] -border 5 -padding {2 6 6 6}
|
|
||||||
|
|
||||||
ttk::style element create Combobox.arrow image $I(down) \
|
|
||||||
-width 15 -sticky e
|
|
||||||
|
|
||||||
# Spinbox
|
|
||||||
ttk::style element create Spinbox.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8} -sticky news
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.uparrow \
|
|
||||||
image [list $I(up) \
|
|
||||||
disabled $I(up) \
|
|
||||||
pressed $I(up-accent) \
|
|
||||||
active $I(up-accent) \
|
|
||||||
] -border 4 -width 15 -sticky e
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.downarrow \
|
|
||||||
image [list $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
pressed $I(down-accent) \
|
|
||||||
active $I(down-accent) \
|
|
||||||
] -border 4 -width 15 -sticky e
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.button \
|
|
||||||
image [list $I(combo-button-basic) \
|
|
||||||
{!readonly focus} $I(combo-button-focus) \
|
|
||||||
{readonly focus} $I(combo-button-hover) \
|
|
||||||
{readonly hover} $I(combo-button-hover)
|
|
||||||
] -border 5 -padding {2 6 6 6}
|
|
||||||
|
|
||||||
# Sizegrip
|
|
||||||
ttk::style element create Sizegrip.sizegrip image $I(size) \
|
|
||||||
-sticky ewns
|
|
||||||
|
|
||||||
# Separator
|
|
||||||
ttk::style element create Horizontal.separator image $I(separator)
|
|
||||||
|
|
||||||
ttk::style element create Vertical.separator image $I(separator)
|
|
||||||
|
|
||||||
# Card
|
|
||||||
ttk::style element create Card.field image $I(card) \
|
|
||||||
-border 10 -padding 4 -sticky news
|
|
||||||
|
|
||||||
# Labelframe
|
|
||||||
ttk::style element create Labelframe.border image $I(card) \
|
|
||||||
-border 5 -padding 4 -sticky news
|
|
||||||
|
|
||||||
# Notebook
|
|
||||||
ttk::style element create Notebook.client \
|
|
||||||
image $I(notebook) -border 5
|
|
||||||
|
|
||||||
ttk::style element create Notebook.tab \
|
|
||||||
image [list $I(tab-disabled) \
|
|
||||||
selected $I(tab-basic) \
|
|
||||||
active $I(tab-hover) \
|
|
||||||
] -border 5 -padding {14 4}
|
|
||||||
|
|
||||||
# Treeview
|
|
||||||
ttk::style element create Treeview.field image $I(card) \
|
|
||||||
-border 5
|
|
||||||
|
|
||||||
ttk::style element create Treeheading.cell \
|
|
||||||
image [list $I(tree-basic) \
|
|
||||||
pressed $I(tree-pressed)
|
|
||||||
] -border 5 -padding 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create Treeitem.indicator \
|
|
||||||
image [list $I(right) \
|
|
||||||
user2 $I(empty) \
|
|
||||||
user1 $I(down) \
|
|
||||||
] -width 26 -sticky {}
|
|
||||||
|
|
||||||
ttk::style configure Treeview -background $colors(-bg)
|
|
||||||
ttk::style configure Treeview.Item -padding {2 0 0 0}
|
|
||||||
ttk::style map Treeview \
|
|
||||||
-background [list selected $colors(-selectbg)] \
|
|
||||||
-foreground [list selected $colors(-selectfg)]
|
|
||||||
|
|
||||||
# Panedwindow
|
|
||||||
# Insane hack to remove clam's ugly sash
|
|
||||||
ttk::style configure Sash -gripcount 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 424 B |
|
Before Width: | Height: | Size: 330 B |
|
Before Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 405 B |
|
Before Width: | Height: | Size: 346 B |
|
Before Width: | Height: | Size: 457 B |
|
Before Width: | Height: | Size: 482 B |
|
Before Width: | Height: | Size: 423 B |
|
Before Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 346 B |
|
Before Width: | Height: | Size: 310 B |
|
Before Width: | Height: | Size: 326 B |
|
Before Width: | Height: | Size: 484 B |
|
Before Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 242 B |
|
Before Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 297 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 261 B |
|
Before Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 156 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 410 B |
|
Before Width: | Height: | Size: 677 B |
|
Before Width: | Height: | Size: 736 B |
|
Before Width: | Height: | Size: 668 B |
|
Before Width: | Height: | Size: 587 B |
|
Before Width: | Height: | Size: 644 B |
|
Before Width: | Height: | Size: 629 B |
|
Before Width: | Height: | Size: 561 B |
|
Before Width: | Height: | Size: 625 B |
|
Before Width: | Height: | Size: 524 B |
|
Before Width: | Height: | Size: 505 B |
|
Before Width: | Height: | Size: 466 B |
|
Before Width: | Height: | Size: 289 B |
|
Before Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 286 B |
|
Before Width: | Height: | Size: 297 B |
|
Before Width: | Height: | Size: 255 B |
|
Before Width: | Height: | Size: 161 B |
|
Before Width: | Height: | Size: 161 B |
|
Before Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 477 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 302 B |
|
Before Width: | Height: | Size: 267 B |
|
Before Width: | Height: | Size: 280 B |
|
Before Width: | Height: | Size: 295 B |
|
Before Width: | Height: | Size: 257 B |
|
Before Width: | Height: | Size: 277 B |
|
Before Width: | Height: | Size: 149 B |
|
Before Width: | Height: | Size: 168 B |
|
Before Width: | Height: | Size: 242 B |
|
Before Width: | Height: | Size: 271 B |
|
Before Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 158 B |
539
theme/light.tcl
|
|
@ -1,539 +0,0 @@
|
||||||
# Copyright (c) 2021 rdbende <rdbende@gmail.com>
|
|
||||||
|
|
||||||
# The Azure theme is a beautiful modern ttk theme inspired by Microsoft's fluent design.
|
|
||||||
|
|
||||||
package require Tk 8.6
|
|
||||||
|
|
||||||
namespace eval ttk::theme::azure-light {
|
|
||||||
variable version 2.0
|
|
||||||
package provide ttk::theme::azure-light $version
|
|
||||||
|
|
||||||
ttk::style theme create azure-light -parent clam -settings {
|
|
||||||
proc load_images {imgdir} {
|
|
||||||
variable I
|
|
||||||
foreach file [glob -directory $imgdir *.png] {
|
|
||||||
set img [file tail [file rootname $file]]
|
|
||||||
set I($img) [image create photo -file $file -format png]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
load_images [file join [file dirname [info script]] light]
|
|
||||||
|
|
||||||
array set colors {
|
|
||||||
-fg "#000000"
|
|
||||||
-bg "#ffffff"
|
|
||||||
-disabledfg "#737373"
|
|
||||||
-disabledbg "#ffffff"
|
|
||||||
-selectfg "#ffffff"
|
|
||||||
-selectbg "#007fff"
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TButton {
|
|
||||||
Button.button -children {
|
|
||||||
Button.padding -children {
|
|
||||||
Button.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Toolbutton {
|
|
||||||
Toolbutton.button -children {
|
|
||||||
Toolbutton.padding -children {
|
|
||||||
Toolbutton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TMenubutton {
|
|
||||||
Menubutton.button -children {
|
|
||||||
Menubutton.padding -children {
|
|
||||||
Menubutton.indicator -side right
|
|
||||||
Menubutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TOptionMenu {
|
|
||||||
OptionMenu.button -children {
|
|
||||||
OptionMenu.padding -children {
|
|
||||||
OptionMenu.indicator -side right
|
|
||||||
OptionMenu.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Accent.TButton {
|
|
||||||
AccentButton.button -children {
|
|
||||||
AccentButton.padding -children {
|
|
||||||
AccentButton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TCheckbutton {
|
|
||||||
Checkbutton.button -children {
|
|
||||||
Checkbutton.padding -children {
|
|
||||||
Checkbutton.indicator -side left
|
|
||||||
Checkbutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Switch.TCheckbutton {
|
|
||||||
Switch.button -children {
|
|
||||||
Switch.padding -children {
|
|
||||||
Switch.indicator -side left
|
|
||||||
Switch.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Toggle.TButton {
|
|
||||||
ToggleButton.button -children {
|
|
||||||
ToggleButton.padding -children {
|
|
||||||
ToggleButton.label -side left -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TRadiobutton {
|
|
||||||
Radiobutton.button -children {
|
|
||||||
Radiobutton.padding -children {
|
|
||||||
Radiobutton.indicator -side left
|
|
||||||
Radiobutton.label -side right -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.TScrollbar {
|
|
||||||
Vertical.Scrollbar.trough -sticky ns -children {
|
|
||||||
Vertical.Scrollbar.thumb -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.TScrollbar {
|
|
||||||
Horizontal.Scrollbar.trough -sticky ew -children {
|
|
||||||
Horizontal.Scrollbar.thumb -expand true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TCombobox {
|
|
||||||
Combobox.field -sticky nswe -children {
|
|
||||||
Combobox.padding -expand true -sticky nswe -children {
|
|
||||||
Combobox.textarea -sticky nswe
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Combobox.button -side right -sticky ns -children {
|
|
||||||
Combobox.arrow -sticky nsew
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TSpinbox {
|
|
||||||
Spinbox.field -sticky nsew -children {
|
|
||||||
Spinbox.padding -expand true -sticky nswe -children {
|
|
||||||
Spinbox.textarea -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Spinbox.button -side right -sticky ns -children {
|
|
||||||
null -side right -children {
|
|
||||||
Spinbox.uparrow -side top
|
|
||||||
Spinbox.downarrow -side bottom
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.TSeparator {
|
|
||||||
Horizontal.separator -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.TSeparator {
|
|
||||||
Vertical.separator -sticky nswe
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Horizontal.Tick.TScale {
|
|
||||||
Horizontal.TickScale.trough -sticky ew -children {
|
|
||||||
Horizontal.TickScale.slider -sticky w
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Vertical.Tick.TScale {
|
|
||||||
Vertical.TickScale.trough -sticky ns -children {
|
|
||||||
Vertical.TickScale.slider -sticky n
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Card.TFrame {
|
|
||||||
Card.field {
|
|
||||||
Card.padding -expand 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TLabelframe {
|
|
||||||
Labelframe.border {
|
|
||||||
Labelframe.padding -expand 1 -children {
|
|
||||||
Labelframe.label -side right
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout TNotebook.Tab {
|
|
||||||
Notebook.tab -children {
|
|
||||||
Notebook.padding -side top -children {
|
|
||||||
Notebook.label -side top -sticky {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ttk::style layout Treeview.Item {
|
|
||||||
Treeitem.padding -sticky nswe -children {
|
|
||||||
Treeitem.indicator -side left -sticky {}
|
|
||||||
Treeitem.image -side left -sticky {}
|
|
||||||
Treeitem.text -side left -sticky {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Elements
|
|
||||||
|
|
||||||
# Button
|
|
||||||
ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create Button.button image \
|
|
||||||
[list $I(rect-basic) \
|
|
||||||
{selected disabled} $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
selected $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
focus $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Toolbutton
|
|
||||||
ttk::style configure Toolbutton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create Toolbutton.button image \
|
|
||||||
[list $I(empty) \
|
|
||||||
{selected disabled} $I(empty) \
|
|
||||||
disabled $I(empty) \
|
|
||||||
selected $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(rect-basic) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Menubutton
|
|
||||||
ttk::style configure TMenubutton -padding {8 4 4 4}
|
|
||||||
|
|
||||||
ttk::style element create Menubutton.button \
|
|
||||||
image [list $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create Menubutton.indicator \
|
|
||||||
image [list $I(down) \
|
|
||||||
active $I(down) \
|
|
||||||
pressed $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
] -width 15 -sticky e
|
|
||||||
|
|
||||||
# OptionMenu
|
|
||||||
ttk::style configure TOptionMenu -padding {8 4 4 4}
|
|
||||||
|
|
||||||
ttk::style element create OptionMenu.button \
|
|
||||||
image [list $I(rect-basic) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
pressed $I(rect-basic) \
|
|
||||||
active $I(button-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create OptionMenu.indicator \
|
|
||||||
image [list $I(down) \
|
|
||||||
active $I(down) \
|
|
||||||
pressed $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
] -width 15 -sticky e
|
|
||||||
|
|
||||||
# AccentButton
|
|
||||||
ttk::style configure Accent.TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create AccentButton.button image \
|
|
||||||
[list $I(rect-accent) \
|
|
||||||
{selected disabled} $I(rect-accent-hover) \
|
|
||||||
disabled $I(rect-accent-hover) \
|
|
||||||
selected $I(rect-accent) \
|
|
||||||
pressed $I(rect-accent) \
|
|
||||||
active $I(rect-accent-hover) \
|
|
||||||
focus $I(rect-accent-hover) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Checkbutton
|
|
||||||
ttk::style configure TCheckbutton -padding 4
|
|
||||||
|
|
||||||
ttk::style element create Checkbutton.indicator image \
|
|
||||||
[list $I(box-basic) \
|
|
||||||
{alternate disabled} $I(check-tri-basic) \
|
|
||||||
{selected disabled} $I(check-basic) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
{pressed alternate} $I(check-tri-hover) \
|
|
||||||
{active alternate} $I(check-tri-hover) \
|
|
||||||
alternate $I(check-tri-accent) \
|
|
||||||
{pressed selected} $I(check-hover) \
|
|
||||||
{active selected} $I(check-hover) \
|
|
||||||
selected $I(check-accent) \
|
|
||||||
{pressed !selected} $I(rect-hover) \
|
|
||||||
active $I(box-hover) \
|
|
||||||
] -width 26 -sticky w
|
|
||||||
|
|
||||||
# Switch
|
|
||||||
ttk::style element create Switch.indicator image \
|
|
||||||
[list $I(off-basic) \
|
|
||||||
{selected disabled} $I(on-basic) \
|
|
||||||
disabled $I(off-basic) \
|
|
||||||
{pressed selected} $I(on-hover) \
|
|
||||||
{active selected} $I(on-hover) \
|
|
||||||
selected $I(on-accent) \
|
|
||||||
{pressed !selected} $I(off-hover) \
|
|
||||||
active $I(off-hover) \
|
|
||||||
] -width 46 -sticky w
|
|
||||||
|
|
||||||
# ToggleButton
|
|
||||||
ttk::style configure Toggle.TButton -padding {8 4 8 4} -width -10 -anchor center
|
|
||||||
|
|
||||||
ttk::style element create ToggleButton.button image \
|
|
||||||
[list $I(rect-basic) \
|
|
||||||
{selected disabled} $I(rect-accent-hover) \
|
|
||||||
disabled $I(rect-basic) \
|
|
||||||
{pressed selected} $I(rect-basic) \
|
|
||||||
{active selected} $I(rect-accent) \
|
|
||||||
selected $I(rect-accent) \
|
|
||||||
{pressed !selected} $I(rect-accent) \
|
|
||||||
active $I(rect-basic) \
|
|
||||||
] -border 4 -sticky ewns
|
|
||||||
|
|
||||||
# Radiobutton
|
|
||||||
ttk::style configure TRadiobutton -padding 4
|
|
||||||
|
|
||||||
ttk::style element create Radiobutton.indicator image \
|
|
||||||
[list $I(outline-basic) \
|
|
||||||
{alternate disabled} $I(radio-tri-basic) \
|
|
||||||
{selected disabled} $I(radio-basic) \
|
|
||||||
disabled $I(outline-basic) \
|
|
||||||
{pressed alternate} $I(radio-tri-hover) \
|
|
||||||
{active alternate} $I(radio-tri-hover) \
|
|
||||||
alternate $I(radio-tri-accent) \
|
|
||||||
{pressed selected} $I(radio-hover) \
|
|
||||||
{active selected} $I(radio-hover) \
|
|
||||||
selected $I(radio-accent) \
|
|
||||||
{pressed !selected} $I(circle-hover) \
|
|
||||||
active $I(outline-hover) \
|
|
||||||
] -width 26 -sticky w
|
|
||||||
|
|
||||||
# Scrollbar
|
|
||||||
ttk::style element create Horizontal.Scrollbar.trough image $I(hor-basic) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Scrollbar.thumb \
|
|
||||||
image [list $I(hor-accent) \
|
|
||||||
disabled $I(hor-basic) \
|
|
||||||
pressed $I(hor-hover) \
|
|
||||||
active $I(hor-hover) \
|
|
||||||
] -sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scrollbar.trough image $I(vert-basic) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scrollbar.thumb \
|
|
||||||
image [list $I(vert-accent) \
|
|
||||||
disabled $I(vert-basic) \
|
|
||||||
pressed $I(vert-hover) \
|
|
||||||
active $I(vert-hover) \
|
|
||||||
] -sticky ns
|
|
||||||
|
|
||||||
# Scale
|
|
||||||
ttk::style element create Horizontal.Scale.trough image $I(scale-hor) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Scale.slider \
|
|
||||||
image [list $I(circle-accent) \
|
|
||||||
disabled $I(circle-basic) \
|
|
||||||
pressed $I(circle-hover) \
|
|
||||||
active $I(circle-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scale.trough image $I(scale-vert) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Scale.slider \
|
|
||||||
image [list $I(circle-accent) \
|
|
||||||
disabled $I(circle-basic) \
|
|
||||||
pressed $I(circle-hover) \
|
|
||||||
active $I(circle-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
# Tickscale
|
|
||||||
ttk::style element create Horizontal.TickScale.trough image $I(scale-hor) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.TickScale.slider \
|
|
||||||
image [list $I(tick-hor-accent) \
|
|
||||||
disabled $I(tick-hor-basic) \
|
|
||||||
pressed $I(tick-hor-hover) \
|
|
||||||
active $I(tick-hor-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
ttk::style element create Vertical.TickScale.trough image $I(scale-vert) \
|
|
||||||
-border 5 -padding 0
|
|
||||||
|
|
||||||
ttk::style element create Vertical.TickScale.slider \
|
|
||||||
image [list $I(tick-vert-accent) \
|
|
||||||
disabled $I(tick-vert-basic) \
|
|
||||||
pressed $I(tick-vert-hover) \
|
|
||||||
active $I(tick-vert-hover) \
|
|
||||||
] -sticky {}
|
|
||||||
|
|
||||||
# Progressbar
|
|
||||||
ttk::style element create Horizontal.Progressbar.trough image $I(hor-basic) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Horizontal.Progressbar.pbar image $I(hor-accent) \
|
|
||||||
-sticky ew
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Progressbar.trough image $I(vert-basic) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
ttk::style element create Vertical.Progressbar.pbar image $I(vert-accent) \
|
|
||||||
-sticky ns
|
|
||||||
|
|
||||||
# Entry
|
|
||||||
ttk::style element create Entry.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
{focus hover} $I(box-accent) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8} -sticky news
|
|
||||||
|
|
||||||
# Combobox
|
|
||||||
ttk::style map TCombobox -selectbackground [list \
|
|
||||||
{!focus} $colors(-selectbg) \
|
|
||||||
{readonly hover} $colors(-selectbg) \
|
|
||||||
{readonly focus} $colors(-selectbg) \
|
|
||||||
]
|
|
||||||
|
|
||||||
ttk::style map TCombobox -selectforeground [list \
|
|
||||||
{!focus} $colors(-selectfg) \
|
|
||||||
{readonly hover} $colors(-selectfg) \
|
|
||||||
{readonly focus} $colors(-selectfg) \
|
|
||||||
]
|
|
||||||
|
|
||||||
ttk::style element create Combobox.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
{readonly disabled} $I(rect-basic) \
|
|
||||||
{readonly pressed} $I(rect-basic) \
|
|
||||||
{readonly focus hover} $I(button-hover) \
|
|
||||||
{readonly focus} $I(button-hover) \
|
|
||||||
{readonly hover} $I(button-hover) \
|
|
||||||
{focus hover} $I(box-accent) \
|
|
||||||
readonly $I(rect-basic) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8}
|
|
||||||
|
|
||||||
ttk::style element create Combobox.button \
|
|
||||||
image [list $I(combo-button-basic) \
|
|
||||||
{!readonly focus} $I(combo-button-focus) \
|
|
||||||
{readonly focus} $I(combo-button-hover) \
|
|
||||||
{readonly hover} $I(combo-button-hover)
|
|
||||||
] -border 5 -padding {2 6 6 6}
|
|
||||||
|
|
||||||
ttk::style element create Combobox.arrow image $I(down) \
|
|
||||||
-width 15 -sticky e
|
|
||||||
|
|
||||||
# Spinbox
|
|
||||||
ttk::style element create Spinbox.field \
|
|
||||||
image [list $I(box-basic) \
|
|
||||||
invalid $I(box-invalid) \
|
|
||||||
disabled $I(box-basic) \
|
|
||||||
focus $I(box-accent) \
|
|
||||||
hover $I(box-hover) \
|
|
||||||
] -border 5 -padding {8} -sticky news
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.uparrow \
|
|
||||||
image [list $I(up) \
|
|
||||||
disabled $I(up) \
|
|
||||||
pressed $I(up-accent) \
|
|
||||||
active $I(up-accent) \
|
|
||||||
] -border 4 -width 15 -sticky e
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.downarrow \
|
|
||||||
image [list $I(down) \
|
|
||||||
disabled $I(down) \
|
|
||||||
pressed $I(down-accent) \
|
|
||||||
active $I(down-accent) \
|
|
||||||
] -border 4 -width 15 -sticky e
|
|
||||||
|
|
||||||
ttk::style element create Spinbox.button \
|
|
||||||
image [list $I(combo-button-basic) \
|
|
||||||
{!readonly focus} $I(combo-button-focus) \
|
|
||||||
{readonly focus} $I(combo-button-hover) \
|
|
||||||
{readonly hover} $I(combo-button-hover)
|
|
||||||
] -border 5 -padding {2 6 6 6}
|
|
||||||
|
|
||||||
# Sizegrip
|
|
||||||
ttk::style element create Sizegrip.sizegrip image $I(size) \
|
|
||||||
-sticky ewns
|
|
||||||
|
|
||||||
# Separator
|
|
||||||
ttk::style element create Horizontal.separator image $I(separator)
|
|
||||||
|
|
||||||
ttk::style element create Vertical.separator image $I(separator)
|
|
||||||
|
|
||||||
# Card
|
|
||||||
ttk::style element create Card.field image $I(card) \
|
|
||||||
-border 10 -padding 4 -sticky news
|
|
||||||
|
|
||||||
# Labelframe
|
|
||||||
ttk::style element create Labelframe.border image $I(card) \
|
|
||||||
-border 5 -padding 4 -sticky news
|
|
||||||
|
|
||||||
# Notebook
|
|
||||||
ttk::style element create Notebook.client \
|
|
||||||
image $I(notebook) -border 5
|
|
||||||
|
|
||||||
ttk::style element create Notebook.tab \
|
|
||||||
image [list $I(tab-disabled) \
|
|
||||||
selected $I(tab-basic) \
|
|
||||||
active $I(tab-hover) \
|
|
||||||
] -border 5 -padding {14 4}
|
|
||||||
|
|
||||||
# Treeview
|
|
||||||
ttk::style element create Treeview.field image $I(card) \
|
|
||||||
-border 5
|
|
||||||
|
|
||||||
ttk::style element create Treeheading.cell \
|
|
||||||
image [list $I(tree-basic) \
|
|
||||||
pressed $I(tree-pressed)
|
|
||||||
] -border 5 -padding 4 -sticky ewns
|
|
||||||
|
|
||||||
ttk::style element create Treeitem.indicator \
|
|
||||||
image [list $I(right) \
|
|
||||||
user2 $I(empty) \
|
|
||||||
user1 $I(down) \
|
|
||||||
] -width 26 -sticky {}
|
|
||||||
|
|
||||||
ttk::style configure Treeview -background $colors(-bg)
|
|
||||||
ttk::style configure Treeview.Item -padding {2 0 0 0}
|
|
||||||
ttk::style map Treeview \
|
|
||||||
-background [list selected #ccc] \
|
|
||||||
-foreground [list selected $colors(-fg)]
|
|
||||||
|
|
||||||
# Panedwindow
|
|
||||||
# Insane hack to remove clam's ugly sash
|
|
||||||
ttk::style configure Sash -gripcount 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 346 B |
|
Before Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 329 B |
|
Before Width: | Height: | Size: 285 B |
|
Before Width: | Height: | Size: 326 B |
|
Before Width: | Height: | Size: 444 B |
|
Before Width: | Height: | Size: 442 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 451 B |
|
Before Width: | Height: | Size: 314 B |
|
Before Width: | Height: | Size: 281 B |
|
Before Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 440 B |
|
Before Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 429 B |
|
Before Width: | Height: | Size: 247 B |
|
Before Width: | Height: | Size: 254 B |
|
Before Width: | Height: | Size: 299 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 271 B |
|
Before Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 157 B |
|
Before Width: | Height: | Size: 154 B |
|
Before Width: | Height: | Size: 389 B |
|
Before Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 663 B |
|
Before Width: | Height: | Size: 635 B |
|
Before Width: | Height: | Size: 538 B |
|
Before Width: | Height: | Size: 649 B |
|
Before Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 598 B |
|
Before Width: | Height: | Size: 554 B |
|
Before Width: | Height: | Size: 482 B |