1# 2# BWidget extension support 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5 6require 'tk' 7 8# call setup script for general 'tkextlib' libraries 9require 'tkextlib/setup.rb' 10 11# call setup script 12require 'tkextlib/bwidget/setup.rb' 13 14# load all image format handlers 15#TkPackage.require('BWidget', '1.7') 16TkPackage.require('BWidget') 17 18module Tk 19 module BWidget 20 TkComm::TkExtlibAutoloadModule.unshift(self) 21 # Require autoload-symbols which is a same name as widget classname. 22 # Those are used at TkComm._genobj_for_tkwidget method. 23 24 extend TkCore 25 26 LIBRARY = tk_call('set', '::BWIDGET::LIBRARY') 27 28 PACKAGE_NAME = 'BWidget'.freeze 29 def self.package_name 30 PACKAGE_NAME 31 end 32 33 def self.package_version 34 begin 35 TkPackage.require('BWidget') 36 rescue 37 '' 38 end 39 end 40 41 def self.XLFDfont(cmd, *args) 42 if args[-1].kind_of?(Hash) 43 keys = args.pop 44 args.concat(hash_kv(keys)) 45 end 46 tk_call('BWidget::XLFDfont', cmd, *args) 47 end 48 49 def self.assert(exp, msg=None) 50 tk_call('BWidget::assert', exp, msg) 51 end 52 53 def self.badOptionString(type, value, list) 54 tk_call('BWidget::badOptionString', type, value, list) 55 end 56 57 def self.bindMouseWheel(widget) 58 tk_call('BWidget::bindMouseWheel', widget) 59 end 60 61 def self.classes(klass) 62 list(tk_call('BWidget::classes', klass)) 63 end 64 65 def self.clonename(menu) 66 tk_call('BWidget::clonename', menu) 67 end 68 69 def self.focus(opt, path) 70 tk_call('BWidget::focus', opt, path) 71 end 72 73 def self.get3dcolor(path, bgcolor) 74 tk_call('BWidget::get3dcolor', path, bgcolor) 75 end 76 77 def self.getname(name) 78 tk_call('BWidget::getname', name) 79 end 80 81 def self.grab(opt, path) 82 tk_call('BWidget::grab', opt, path) 83 end 84 85 def self.inuse(klass) 86 bool(tk_call('BWidget::inuse', klass)) 87 end 88 89 def self.library(klass, *klasses) 90 tk_call('BWidget::library', klass, *klasses) 91 end 92 93 def self.lreorder(list, neworder) 94 tk_call('BWidget::lreorder', list, neworder) 95 end 96 97 def self.parsetext(text) 98 tk_call('BWidget::parsetext', text) 99 end 100 101 def self.place(path, w, h, *args) 102 if args[-1].kind_of?(Hash) 103 keys = args.pop 104 args.concat(hash_kv(keys)) 105 end 106 tk_call('BWidget::place', path, w, h, *(args.flatten)) 107 end 108 109 def self.write(file, mode=None) 110 tk_call('BWidget::write', file, mode) 111 end 112 113 def self.wrongNumArgsString(str) 114 tk_call('BWidget::wrongNumArgsString', str) 115 end 116 117 #################################################### 118 119 autoload :ArrowButton, 'tkextlib/bwidget/arrowbutton' 120 autoload :Bitmap, 'tkextlib/bwidget/bitmap' 121 autoload :Button, 'tkextlib/bwidget/button' 122 autoload :ButtonBox, 'tkextlib/bwidget/buttonbox' 123 autoload :ComboBox, 'tkextlib/bwidget/combobox' 124 autoload :Dialog, 'tkextlib/bwidget/dialog' 125 autoload :DragSite, 'tkextlib/bwidget/dragsite' 126 autoload :DropSite, 'tkextlib/bwidget/dropsite' 127 autoload :DynamicHelp, 'tkextlib/bwidget/dynamichelp' 128 autoload :Entry, 'tkextlib/bwidget/entry' 129 autoload :Label, 'tkextlib/bwidget/label' 130 autoload :LabelEntry, 'tkextlib/bwidget/labelentry' 131 autoload :LabelFrame, 'tkextlib/bwidget/labelframe' 132 autoload :ListBox, 'tkextlib/bwidget/listbox' 133 autoload :MainFrame, 'tkextlib/bwidget/mainframe' 134 autoload :MessageDlg, 'tkextlib/bwidget/messagedlg' 135 autoload :NoteBook, 'tkextlib/bwidget/notebook' 136 autoload :PagesManager, 'tkextlib/bwidget/pagesmanager' 137 autoload :PanedWindow, 'tkextlib/bwidget/panedwindow' 138 autoload :PasswdDlg, 'tkextlib/bwidget/passwddlg' 139 autoload :ProgressBar, 'tkextlib/bwidget/progressbar' 140 autoload :ProgressDlg, 'tkextlib/bwidget/progressdlg' 141 autoload :ScrollableFrame, 'tkextlib/bwidget/scrollableframe' 142 autoload :ScrolledWindow, 'tkextlib/bwidget/scrolledwindow' 143 autoload :ScrollView, 'tkextlib/bwidget/scrollview' 144 autoload :SelectColor, 'tkextlib/bwidget/selectcolor' 145 autoload :SelectFont, 'tkextlib/bwidget/selectfont' 146 autoload :Separator, 'tkextlib/bwidget/separator' 147 autoload :SpinBox, 'tkextlib/bwidget/spinbox' 148 autoload :TitleFrame, 'tkextlib/bwidget/titleframe' 149 autoload :Tree, 'tkextlib/bwidget/tree' 150 autoload :Widget, 'tkextlib/bwidget/widget' 151 152 end 153end 154