mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
![nobu](/assets/img/avatar_default.png)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
194 lines
6.8 KiB
Tcl
194 lines
6.8 KiB
Tcl
# keramik.tcl -
|
|
#
|
|
# A sample pixmap theme for the tile package.
|
|
#
|
|
# Copyright (c) 2004 Googie
|
|
# Copyright (c) 2004 Pat Thoyts <patthoyts@users.sourceforge.net>
|
|
#
|
|
# $Id$
|
|
|
|
package require Tk 8.4; # minimum version for Tile
|
|
package require tile 0.5; # depends upon tile 0.5
|
|
|
|
namespace eval tile {
|
|
namespace eval theme {
|
|
namespace eval keramik {
|
|
variable version 0.3.2
|
|
}
|
|
}
|
|
}
|
|
|
|
namespace eval tile::theme::keramik {
|
|
|
|
variable imgdir [file join [file dirname [info script]] keramik]
|
|
variable I
|
|
array set I [tile::LoadImages $imgdir *.gif]
|
|
|
|
variable colors
|
|
array set colors {
|
|
-frame "#cccccc"
|
|
-lighter "#cccccc"
|
|
-window "#ffffff"
|
|
-selectbg "#eeeeee"
|
|
-selectfg "#000000"
|
|
-disabledfg "#aaaaaa"
|
|
}
|
|
|
|
style theme create keramik -parent alt -settings {
|
|
|
|
|
|
# -----------------------------------------------------------------
|
|
# Theme defaults
|
|
#
|
|
style default . \
|
|
-borderwidth 1 \
|
|
-background $colors(-frame) \
|
|
-troughcolor $colors(-lighter) \
|
|
-font TkDefaultFont \
|
|
;
|
|
|
|
style map . -foreground [list disabled $colors(-disabledfg)]
|
|
|
|
# -----------------------------------------------------------------
|
|
# Button elements
|
|
# - the button has a large rounded border and needs a bit of
|
|
# horizontal padding.
|
|
# - the checkbutton and radiobutton have the focus drawn around
|
|
# the whole widget - hence the new layouts.
|
|
#
|
|
style layout TButton {
|
|
Button.background
|
|
Button.button -children {
|
|
Button.focus -children {
|
|
Button.label
|
|
}
|
|
}
|
|
}
|
|
style layout Toolbutton {
|
|
Toolbutton.background
|
|
Toolbutton.button -children {
|
|
Toolbutton.focus -children {
|
|
Toolbutton.label
|
|
}
|
|
}
|
|
}
|
|
style element create button image $I(button-n) \
|
|
-border {8 6 8 16} -padding {6 6} -sticky news \
|
|
-map [list {pressed !disabled} $I(button-p) \
|
|
{active !selected} $I(button-h) \
|
|
selected $I(button-s) \
|
|
disabled $I(button-d)]
|
|
style default TButton -padding {10 6}
|
|
|
|
style element create Toolbutton.button image $I(tbar-n) \
|
|
-border {2 8 2 16} -padding {2 2} -sticky news \
|
|
-map [list {pressed !disabled} $I(tbar-p) \
|
|
{active !selected} $I(tbar-a) \
|
|
selected $I(tbar-p)]
|
|
|
|
style element create Checkbutton.indicator image $I(check-u) \
|
|
-width 20 -sticky w \
|
|
-map [list selected $I(check-c)]
|
|
|
|
style element create Radiobutton.indicator image $I(radio-u) \
|
|
-width 20 -sticky w \
|
|
-map [list selected $I(radio-c)]
|
|
|
|
# The layout for the menubutton is modified to have a button element
|
|
# drawn on top of the background. This means we can have transparent
|
|
# pixels in the button element. Also, the pixmap has a special
|
|
# region on the right for the arrow. So we draw the indicator as a
|
|
# sibling element to the button, and draw it after (ie on top of) the
|
|
# button image.
|
|
style layout TMenubutton {
|
|
Menubutton.background
|
|
Menubutton.button -children {
|
|
Menubutton.focus -children {
|
|
Menubutton.padding -children {
|
|
Menubutton.label -side left -expand true
|
|
}
|
|
}
|
|
}
|
|
Menubutton.indicator -side right
|
|
}
|
|
style element create Menubutton.button image $I(mbut-n) \
|
|
-map [list {active !disabled} $I(mbut-a) \
|
|
{pressed !disabled} $I(mbut-a) \
|
|
{disabled} $I(mbut-d)] \
|
|
-border {7 10 29 15} -padding {7 4 29 4} -sticky news
|
|
style element create Menubutton.indicator image $I(mbut-arrow-n) \
|
|
-width 11 -sticky w -padding {0 0 18 0}
|
|
|
|
# -----------------------------------------------------------------
|
|
# Scrollbars, scale and progress elements
|
|
# - the scrollbar has three arrow buttons, two at the bottom and
|
|
# one at the top.
|
|
#
|
|
style layout Vertical.TScrollbar {
|
|
Scrollbar.background
|
|
Scrollbar.trough -children {
|
|
Scrollbar.uparrow -side top
|
|
Scrollbar.downarrow -side bottom
|
|
Scrollbar.uparrow -side bottom
|
|
Vertical.Scrollbar.thumb -side top -expand true -sticky ns
|
|
}
|
|
}
|
|
|
|
style layout Horizontal.TScrollbar {
|
|
Scrollbar.background
|
|
Scrollbar.trough -children {
|
|
Scrollbar.leftarrow -side left
|
|
Scrollbar.rightarrow -side right
|
|
Scrollbar.leftarrow -side right
|
|
Horizontal.Scrollbar.thumb -side left -expand true -sticky we
|
|
}
|
|
}
|
|
|
|
style default TScrollbar -width 16
|
|
|
|
style element create Horizontal.Scrollbar.thumb image $I(hsb-n) \
|
|
-border {6 4} -width 15 -height 16 -sticky news \
|
|
-map [list {pressed !disabled} $I(hsb-p)]
|
|
|
|
style element create Vertical.Scrollbar.thumb image $I(vsb-n) \
|
|
-border {4 6} -width 16 -height 15 -sticky news \
|
|
-map [list {pressed !disabled} $I(vsb-p)]
|
|
|
|
style element create Scale.slider image $I(hslider-n) \
|
|
-border 3
|
|
|
|
style element create Vertical.Scale.slider image $I(vslider-n) \
|
|
-border 3
|
|
|
|
style element create Horizontal.Progress.bar image $I(hsb-n) \
|
|
-border {6 4}
|
|
|
|
style element create Vertical.Progress.bar image $I(vsb-n) \
|
|
-border {4 6}
|
|
|
|
style element create uparrow image $I(arrowup-n) \
|
|
-map [list {pressed !disabled} $I(arrowup-p)]
|
|
|
|
style element create downarrow image $I(arrowdown-n) \
|
|
-map [list {pressed !disabled} $I(arrowdown-p)]
|
|
|
|
style element create rightarrow image $I(arrowright-n) \
|
|
-map [list {pressed !disabled} $I(arrowright-p)]
|
|
|
|
style element create leftarrow image $I(arrowleft-n) \
|
|
-map [list {pressed !disabled} $I(arrowleft-p)]
|
|
|
|
# -----------------------------------------------------------------
|
|
# Notebook elements
|
|
#
|
|
style element create tab image $I(tab-n) \
|
|
-map [list selected $I(tab-p) active $I(tab-p)] \
|
|
-border {6 6 6 2} -height 12
|
|
|
|
## Labelframes.
|
|
#
|
|
style default TLabelframe -borderwidth 2 -relief groove
|
|
}
|
|
}
|
|
|
|
package provide tile::theme::keramik $::tile::theme::keramik::version
|