summaryrefslogtreecommitdiff
path: root/trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb')
-rw-r--r--trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb b/trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb
new file mode 100644
index 0000000000..1c58a4ccb0
--- /dev/null
+++ b/trunk/ext/tk/lib/tkextlib/bwidget/combobox.rb
@@ -0,0 +1,51 @@
+#
+# tkextlib/bwidget/combobox.rb
+# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
+#
+
+require 'tk'
+require 'tk/entry'
+require 'tkextlib/bwidget.rb'
+require 'tkextlib/bwidget/listbox'
+require 'tkextlib/bwidget/spinbox'
+
+module Tk
+ module BWidget
+ class ComboBox < Tk::BWidget::SpinBox
+ end
+ end
+end
+
+class Tk::BWidget::ComboBox
+ include Scrollable
+
+ TkCommandNames = ['ComboBox'.freeze].freeze
+ WidgetClassName = 'ComboBox'.freeze
+ WidgetClassNames[WidgetClassName] = self
+
+ def get_listbox(&b)
+ win = window(tk_send_without_enc('getlistbox'))
+ if b
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
+ win.instance_exec(self, &b)
+ else
+ win.instance_eval(&b)
+ end
+ end
+ win
+ end
+
+ def icursor(idx)
+ tk_send_without_enc('icursor', idx)
+ end
+
+ def post
+ tk_send_without_enc('post')
+ self
+ end
+
+ def unpost
+ tk_send_without_enc('unpost')
+ self
+ end
+end