2004-07-01 05:38:48 -04:00
|
|
|
#
|
|
|
|
# Tile theme engin (tile widget set) support
|
|
|
|
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
|
|
|
|
#
|
|
|
|
|
|
|
|
require 'tk'
|
|
|
|
|
|
|
|
# call setup script for general 'tkextlib' libraries
|
|
|
|
require 'tkextlib/setup.rb'
|
|
|
|
|
|
|
|
# library directory
|
2004-07-06 05:42:12 -04:00
|
|
|
require 'tkextlib/tile/setup.rb'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
|
|
|
# load package
|
|
|
|
# TkPackage.require('tile', '0.4')
|
2005-03-05 02:35:41 -05:00
|
|
|
# TkPackage.require('tile', '0.6')
|
|
|
|
verstr = TkPackage.require('tile')
|
|
|
|
ver = verstr.split('.')
|
|
|
|
if ver[0].to_i == 0 && ver[1].to_i <= 4
|
|
|
|
# version 0.4 or former
|
|
|
|
module Tk
|
|
|
|
module Tile
|
|
|
|
USE_TTK_NAMESPACE = false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
else
|
|
|
|
# version 0.5 or later
|
|
|
|
module Tk
|
|
|
|
module Tile
|
|
|
|
USE_TTK_NAMESPACE = true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2004-07-01 05:38:48 -04:00
|
|
|
|
|
|
|
# autoload
|
|
|
|
module Tk
|
|
|
|
module Tile
|
2004-07-14 21:18:57 -04:00
|
|
|
TkComm::TkExtlibAutoloadModule.unshift(self)
|
|
|
|
|
2005-05-30 10:53:52 -04:00
|
|
|
PACKAGE_NAME = 'tile'.freeze
|
|
|
|
def self.package_name
|
|
|
|
PACKAGE_NAME
|
|
|
|
end
|
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
def self.package_version
|
|
|
|
begin
|
2004-10-11 00:51:21 -04:00
|
|
|
TkPackage.require('tile')
|
2004-07-06 05:42:12 -04:00
|
|
|
rescue
|
2004-10-11 00:51:21 -04:00
|
|
|
''
|
2004-07-06 05:42:12 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2005-04-09 05:27:54 -04:00
|
|
|
def self.load_images(imgdir, pat=TkComm::None)
|
|
|
|
images = Hash[*TkComm.simplelist(Tk.tk_call('::tile::LoadImages',
|
|
|
|
imgdir, pat))]
|
|
|
|
images.keys.each{|k|
|
|
|
|
images[k] = TkPhotoImage.new(:imagename=>images[k],
|
|
|
|
:without_creating=>true)
|
|
|
|
}
|
|
|
|
|
|
|
|
images
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.style(*args)
|
|
|
|
args.map!{|arg| TkComm._get_eval_string(arg)}.join('.')
|
|
|
|
end
|
|
|
|
|
|
|
|
module KeyNav
|
|
|
|
def self.enableMnemonics(w)
|
|
|
|
Tk.tk_call('::keynav::enableMnemonics', w)
|
|
|
|
end
|
|
|
|
def self.defaultButton(w)
|
|
|
|
Tk.tk_call('::keynav::defaultButton', w)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
module Font
|
|
|
|
Default = 'TkDefaultFont'
|
|
|
|
Text = 'TkTextFont'
|
|
|
|
Heading = 'TkHeadingFont'
|
|
|
|
Caption = 'TkCaptionFont'
|
|
|
|
Tooltip = 'TkTooltipFont'
|
|
|
|
|
|
|
|
Fixed = 'TkFixedFont'
|
|
|
|
Menu = 'TkMenuFont'
|
|
|
|
SmallCaption = 'TkSmallCaptionFont'
|
|
|
|
Icon = 'TkIconFont'
|
|
|
|
end
|
|
|
|
|
2004-07-01 05:38:48 -04:00
|
|
|
module TileWidget
|
|
|
|
def instate(state, script=nil, &b)
|
2004-10-11 00:51:21 -04:00
|
|
|
if script
|
|
|
|
tk_send('instate', state, script)
|
|
|
|
elsif b
|
|
|
|
tk_send('instate', state, Proc.new(&b))
|
|
|
|
else
|
|
|
|
bool(tk_send('instate', state))
|
|
|
|
end
|
2004-07-01 05:38:48 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def state(state=nil)
|
2004-10-11 00:51:21 -04:00
|
|
|
if state
|
|
|
|
tk_send('state', state)
|
|
|
|
else
|
|
|
|
list(tk_send('state'))
|
|
|
|
end
|
2004-07-01 05:38:48 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
######################################
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TButton, 'tkextlib/tile/tbutton'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TCheckButton, 'tkextlib/tile/tcheckbutton'
|
|
|
|
autoload :TCheckbutton, 'tkextlib/tile/tcheckbutton'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2005-03-05 02:35:41 -05:00
|
|
|
autoload :TEntry, 'tkextlib/tile/tentry'
|
|
|
|
autoload :TCombobox, 'tkextlib/tile/tcombobox'
|
|
|
|
|
|
|
|
autoload :TFrame, 'tkextlib/tile/tframe'
|
|
|
|
autoload :TLabelframe, 'tkextlib/tile/tlabelframe'
|
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TLabel, 'tkextlib/tile/tlabel'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TMenubutton, 'tkextlib/tile/tmenubutton'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TNotebook, 'tkextlib/tile/tnotebook'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2005-04-09 05:27:54 -04:00
|
|
|
autoload :TPaned, 'tkextlib/tile/tpaned'
|
|
|
|
|
2005-03-05 02:46:44 -05:00
|
|
|
autoload :TProgressbar, 'tkextlib/tile/tprogressbar'
|
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :TRadioButton, 'tkextlib/tile/tradiobutton'
|
|
|
|
autoload :TRadiobutton, 'tkextlib/tile/tradiobutton'
|
2004-07-01 05:38:48 -04:00
|
|
|
|
2005-04-09 05:27:54 -04:00
|
|
|
autoload :TScale, 'tkextlib/tile/tscale'
|
|
|
|
autoload :TProgress, 'tkextlib/tile/tscale'
|
|
|
|
|
|
|
|
autoload :TScrollbar, 'tkextlib/tile/tscrollbar'
|
2005-03-05 02:35:41 -05:00
|
|
|
|
|
|
|
autoload :TSeparator, 'tkextlib/tile/tseparator'
|
|
|
|
|
|
|
|
autoload :TSquare, 'tkextlib/tile/tsquare'
|
|
|
|
|
|
|
|
autoload :TreeView, 'tkextlib/tile/treeview'
|
|
|
|
|
2004-07-06 05:42:12 -04:00
|
|
|
autoload :Style, 'tkextlib/tile/style'
|
2004-07-01 05:38:48 -04:00
|
|
|
end
|
|
|
|
end
|