diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-04-09 09:27:54 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-04-09 09:27:54 +0000 |
commit | 06adf6bd7e787ea7dd978c37b9430fdc5a8b8c35 (patch) | |
tree | fb9148aad230bba9dc69884b7d706f4ae58c0aae /ext/tk/sample/tkextlib/tile/themes | |
parent | 382cd0c0eb038f1f68f624424461da7d72ab589b (diff) |
* ext/tk/lib/tk.rb: update RELEASE_DATE
* ext/tk/lib/tk/image.rb: support to create TkImage object without
creating a new image object on Tk.
* ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
* ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
* ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
from (x, y) coords.
* ext/tk/lib/tkextlib/tile.rb: bug fix and update support status.
* ext/tk/lib/tkextlib/tile/*.rb: ditto.
* ext/tk/sample/tkextlib/tile: New demo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample/tkextlib/tile/themes')
14 files changed, 300 insertions, 0 deletions
diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc.rb b/ext/tk/sample/tkextlib/tile/themes/kroc.rb new file mode 100644 index 0000000000..a4b2279470 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc.rb @@ -0,0 +1,159 @@ +# +# kroc.rb +# +# based on: +# >> kroc.tcl - Copyright (C) 2004 David Zolli <kroc@kroc.tk> +# + +imgdir = File.join(File.dirname(__FILE__), 'kroc') +$images = Tk::Tile.load_images(imgdir, '*.gif') + +def kroc_rb_settings + # Tk::Tile::Style.default(TkRoot, :background=>'#FCB64F', + # :troughcolor=>'#F8C278', :borderwidth=>1) + # or + # Tk::Tile::Style.default(Tk.root, :background=>'#FCB64F', + # :troughcolor=>'#F8C278', :borderwidth=>1) + # or + # Tk::Tile::Style.default('.', :background=>'#FCB64F', + # :troughcolor=>'#F8C278', :borderwidth=>1) + # or + # Tk::Tile::Style.default(nil, :background=>'#FCB64F', + # :troughcolor=>'#F8C278', :borderwidth=>1) + # or + Tk::Tile::Style.default(:background=>'#FCB64F', :troughcolor=>'#F8C278', + :borderwidth=>1) + # Tk::Tile::Style.default(TkRoot, :font=>Tk::Tile::Font::Default, + # :borderwidth=>1) + # or + # Tk::Tile::Style.default(Tk.root, :font=>Tk::Tile::Font::Default, + # :borderwidth=>1) + # or + # Tk::Tile::Style.default('.', :font=>Tk::Tile::Font::Default, + # :borderwidth=>1) + # or + # Tk::Tile::Style.default(nil, :font=>Tk::Tile::Font::Default, + # :borderwidth=>1) + # or + Tk::Tile::Style.default(:font=>Tk::Tile::Font::Default, :borderwidth=>1) + + # Tk::Tile::Style.map(TkRoot, :background=>[:active, '#694418']) + # or + # Tk::Tile::Style.map(Tk.root, :background=>[:active, '#694418']) + # or + # Tk::Tile::Style.map('.', :background=>[:active, '#694418']) + # or + # Tk::Tile::Style.map(nil, :background=>[:active, '#694418']) + # or + Tk::Tile::Style.map(:background=>[:active, '#694418']) + Tk::Tile::Style.map(:foreground=>[:disabled, 'B2B2B2', :active, '#FFE7CB']) + + # Tk::Tile::Style.default('TButton', :padding=>[10,4]) + Tk::Tile::Style.default(Tk::Tile::TButton, :padding=>[10,4]) + + # Tk::Tile::Style.default('TNotebook.Tab', + Tk::Tile::Style.default(Tk::Tile::TNotebook.style('Tab'), + :padding=>[10, 3], :font=>Tk::Tile::Font::Default) + # Tk::Tile::Style.map('TNotebook.Tab', + Tk::Tile::Style.map(Tk::Tile::TNotebook.style('Tab'), + :background=>[:selected, '#FCB64F', '', '#FFE6BA'], + :foreground=>['', 'black'], + :padding=>[:selected, [10, 6, 10, 3]]) + + # Tk::Tile::Style.map('TScrollbar', + Tk::Tile::Style.map(Tk::Tile::TScrollbar, + :background=>[:pressed, '#694418'], + :arrowcolor=>[:pressed, '#FEF7CB'], + :relief=>[:pressed, :sunken]) + + # Tk::Tile::Style.layout('Vertical.TScrollbar', + Tk::Tile::Style.layout(Tk::Tile.style('Vertical', Tk::Tile::TScrollbar), + ['Scrollbar.trough', {:children=>[ + 'Scrollbar.uparrow', {:side=>:top}, + 'Scrollbar.downarrow', {:side=>:bottom}, + 'Scrollbar.uparrow', {:side=>:bottom}, + 'Scrollbar.thumb', {:side=>:top, :expand=>true} + ]} + ]) + + # Tk::Tile::Style.layout('Horizontal.TScrollbar', + Tk::Tile::Style.layout(Tk::Tile.style('Horizontal', Tk::Tile::TScrollbar), + ['Scrollbar.trough', {:children=>[ + 'Scrollbar.leftarrow', {:side=>:left}, + 'Scrollbar.rightarrow', {:side=>:right}, + 'Scrollbar.leftarrow', {:side=>:right}, + 'Scrollbar.thumb', {:side=>:left, :expand=>true} + ]} + ]) + + # + # Elements: + # + Tk::Tile::Style.element_create('Button.button', :pixmap, + :images=>[ + :pressed, $images['button-p'], + :active, $images['button-h'], + '', $images['button-n'] + ], :border=>3, :tiling=>:tile) + + Tk::Tile::Style.element_create('Checkbutton.indicator', :pixmap, + :images=>[ + [:pressed, :selected], $images['check-nc'], + :pressed, $images['check-nu'], + [:active, :selected], $images['check-hc'], + :active, $images['check-hu'], + :selected, $images['check-nc'], + '', $images['check-nu'], + ], :tiling=>:fixed) + + Tk::Tile::Style.element_create('Radiobutton.indicator', :pixmap, + :images=>[ + [:pressed, :selected], $images['radio-nc'], + :pressed, $images['radio-nu'], + [:active, :selected], $images['radio-hc'], + :active, $images['radio-hu'], + :selected, $images['radio-nc'], + '', $images['radio-nu'], + ], :tiling=>:fixed) + + # + # Settings: + # + # Tk::Tile::Style.layout(Tk::Tile::TButton, + Tk::Tile::Style.layout('TButton', [ + 'Button.button', {:children=>[ + 'Button.focus', {:children=>[ + 'Button.padding', {:children=>[ + 'Button.label', {:expand=>true, :sticky=>''} + ]} + ]} + ]} + ]) + + # Tk::Tile::Style.layout(Tk::Tile::TCheckbutton, + Tk::Tile::Style.layout('TCheckbutton', [ + 'Checkbutton.border', {:children=>[ + 'Checkbutton.padding', {:children=>[ + 'Checkbutton.indicator', {:side=>:left}, + 'Checkbutton.focus', {:side=>:left, :children=>[ + 'Checkbutton.label' + ]} + ]} + ]} + ]) + + # Tk::Tile::Style.layout(Tk::Tile::TRadiobutton, + Tk::Tile::Style.layout('TRadiobutton', [ + 'Radiobutton.border', {:children=>[ + 'Radiobutton.padding', {:children=>[ + 'Radiobutton.indicator', {:side=>:left}, + 'Radiobutton.focus', {:expand=>true, :sticky=>:w, :children=>[ + 'Radiobutton.label', {:side=>:right, :expand=>true} + ]} + ]} + ]} + ]) +end + +Tk::Tile::Style.theme_create('kroc-rb', :parent=>'alt', + :settings=>proc{ kroc_rb_settings() }) diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc.tcl b/ext/tk/sample/tkextlib/tile/themes/kroc.tcl new file mode 100644 index 0000000000..0f92674a24 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc.tcl @@ -0,0 +1,126 @@ +# kroc.tcl - Copyright (C) 2004 David Zolli <kroc@kroc.tk> +# +# A sample pixmap theme for the tile package. + +#package require tile::pixmap + +namespace eval tile { + namespace eval kroc { + variable version 0.0.1 + } +} + +namespace eval tile::kroc { + + set imgdir [file join [file dirname [info script]] kroc] + array set Images [tile::LoadImages $imgdir *.gif] + + style theme create kroc -parent alt -settings { + + style default . -background #FCB64F -troughcolor #F8C278 -borderwidth 1 + style default . -font TkDefaultFont -borderwidth 1 + style map . -background [list active #694418] + style map . -foreground [list disabled #B2B2B2 active #FFE7CB] + + style default TButton -padding "10 4" + + style default TNotebook.Tab -padding {10 3} -font TkDefaultFont + style map TNotebook.Tab \ + -background [list selected #FCB64F {} #FFE6BA] \ + -foreground [list {} black] \ + -padding [list selected {10 6 10 3}] + + style map TScrollbar \ + -background { pressed #694418} \ + -arrowcolor { pressed #FFE7CB } \ + -relief { pressed sunken } \ + ; + + style layout Vertical.TScrollbar { + Scrollbar.trough -children { + Scrollbar.uparrow -side top + Scrollbar.downarrow -side bottom + Scrollbar.uparrow -side bottom + Scrollbar.thumb -side top -expand true + } + } + + style layout Horizontal.TScrollbar { + Scrollbar.trough -children { + Scrollbar.leftarrow -side left + Scrollbar.rightarrow -side right + Scrollbar.leftarrow -side right + Scrollbar.thumb -side left -expand true + } + } + + # + # Elements: + # + style element create Button.button pixmap -images [list \ + pressed $Images(button-p) \ + active $Images(button-h) \ + {} $Images(button-n) \ + ] -border 3 -tiling tile + + style element create Checkbutton.indicator pixmap -images [list \ + {pressed selected} $Images(check-nc) \ + pressed $Images(check-nu) \ + {active selected} $Images(check-hc) \ + active $Images(check-hu) \ + selected $Images(check-nc) \ + {} $Images(check-nu) \ + ] -tiling fixed + + style element create Radiobutton.indicator pixmap -images [list \ + {pressed selected} $Images(radio-nc) \ + pressed $Images(radio-nu) \ + {active selected} $Images(radio-hc) \ + active $Images(radio-hu) \ + selected $Images(radio-nc) \ + {} $Images(radio-nu) \ + ] -tiling fixed + + + # + # Settings: + # + style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label -expand true -sticky {} + } + } + } + } + + style layout TCheckbutton { + Checkbutton.border -children { + Checkbutton.padding -children { + Checkbutton.indicator -side left + Checkbutton.focus -side left -children { + Checkbutton.label + } + } + } + } + + style layout TRadiobutton { + Radiobutton.border -children { + Radiobutton.padding -children { + Radiobutton.indicator -side left + Radiobutton.focus -expand true -sticky w -children { + Radiobutton.label -side right -expand true + } + } + } + } + + } } + +# ------------------------------------------------------------------------- + +package provide tile::theme::kroc $::tile::kroc::version + +# ------------------------------------------------------------------------- diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/button-h.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/button-h.gif Binary files differnew file mode 100644 index 0000000000..e7a140dede --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/button-h.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/button-n.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/button-n.gif Binary files differnew file mode 100644 index 0000000000..78b506ddeb --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/button-n.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/button-p.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/button-p.gif Binary files differnew file mode 100644 index 0000000000..a5a4e90be1 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/button-p.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/check-hc.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/check-hc.gif Binary files differnew file mode 100644 index 0000000000..41503c5ebd --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/check-hc.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/check-hu.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/check-hu.gif Binary files differnew file mode 100644 index 0000000000..b3e512ca67 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/check-hu.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/check-nc.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/check-nc.gif Binary files differnew file mode 100644 index 0000000000..a28c288fce --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/check-nc.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/check-nu.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/check-nu.gif Binary files differnew file mode 100644 index 0000000000..5c23931bbc --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/check-nu.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hc.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hc.gif Binary files differnew file mode 100644 index 0000000000..359fe1cc8b --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hc.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hu.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hu.gif Binary files differnew file mode 100644 index 0000000000..9f46b37926 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-hu.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nc.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nc.gif Binary files differnew file mode 100644 index 0000000000..6437f33a7a --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nc.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nu.gif b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nu.gif Binary files differnew file mode 100644 index 0000000000..2d2aac8597 --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/radio-nu.gif diff --git a/ext/tk/sample/tkextlib/tile/themes/pkgIndex.tcl b/ext/tk/sample/tkextlib/tile/themes/pkgIndex.tcl new file mode 100644 index 0000000000..179077917c --- /dev/null +++ b/ext/tk/sample/tkextlib/tile/themes/pkgIndex.tcl @@ -0,0 +1,15 @@ +# pkgIndex.tcl for additional tile pixmap themes. +# +# We don't provide the package is the image subdirectory isn't present, +# or we don't have the right version of Tcl/Tk +# +# To use this automatically within tile, the tile-using application should +# use tile::availableThemes and tile::setTheme +# +# $Id$ + +if {![file isdirectory [file join $dir kroc]]} { return } +if {![package vsatisfies [package provide Tcl] 8.4]} { return } + +package ifneeded tile::theme::kroc 0.0.1 \ + [list source [file join $dir kroc.tcl]] |