diff options
Diffstat (limited to 'ruby_1_8_5/ext/tk/lib/tkextlib/bwidget/selectcolor.rb')
-rw-r--r-- | ruby_1_8_5/ext/tk/lib/tkextlib/bwidget/selectcolor.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ruby_1_8_5/ext/tk/lib/tkextlib/bwidget/selectcolor.rb b/ruby_1_8_5/ext/tk/lib/tkextlib/bwidget/selectcolor.rb new file mode 100644 index 0000000000..742a84cd84 --- /dev/null +++ b/ruby_1_8_5/ext/tk/lib/tkextlib/bwidget/selectcolor.rb @@ -0,0 +1,45 @@ +# +# tkextlib/bwidget/selectcolor.rb +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# + +require 'tk' +require 'tkextlib/bwidget.rb' +require 'tkextlib/bwidget/messagedlg' + +module Tk + module BWidget + class SelectColor < Tk::BWidget::MessageDlg + end + end +end + +class Tk::BWidget::SelectColor + extend Tk + + TkCommandNames = ['SelectColor'.freeze].freeze + WidgetClassName = 'SelectColor'.freeze + WidgetClassNames[WidgetClassName] = self + + def dialog(keys={}) + newkeys = @keys.dup + newkeys.update(_symbolkey2str(keys)) + tk_call('SelectColor::dialog', @path, *hash_kv(newkeys)) + end + + def menu(*args) + if args[-1].kind_of?(Hash) + keys = args.pop + else + keys = {} + end + place = args.flatten + newkeys = @keys.dup + newkeys.update(_symbolkey2str(keys)) + tk_call('SelectColor::menu', @path, place, *hash_kv(newkeys)) + end + + def self.set_color(idx, color) + tk_call('SelectColor::setcolor', idx, color) + end +end |