Class: Tk::OptionMenubutton
- Inherits:
- Menubutton show all
- Defined in:
- lib/tk/menu.rb
Defined Under Namespace
Classes: OptionMenu
Constant Summary collapse
- TkCommandNames =
['tk_optionMenu'.freeze].freeze
Constants inherited from Menubutton
Constants inherited from Label
Constants inherited from TkWindow
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM
Constants included from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
Constants included from Tk
AUTO_PATH, Fontchooser, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, TreeCtrl_Widget, X_Scrollable, Y_Scrollable
Constants included from Encoding
Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::DEFAULT_INTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::UNKNOWN, Encoding::UTF8_NAME
Constants included from TkDND::Shape
Instance Method Summary collapse
- #activate(index) ⇒ Object
- #add(value) ⇒ Object
- #current_entryconfiginfo(index, key = nil) ⇒ Object
- #current_menuconfiginfo(key = nil) ⇒ Object
- #delete(index, last = None) ⇒ Object
- #entrycget(index, key) ⇒ Object
- #entrycget_strict(index, key) ⇒ Object
- #entryconfiginfo(index, key = nil) ⇒ Object
- #entryconfigure(index, key, val = None) ⇒ Object
- #index(index) ⇒ Object
-
#initialize(*args) ⇒ OptionMenubutton
constructor
A new instance of OptionMenubutton.
- #insert(index, value) ⇒ Object
- #invoke(index) ⇒ Object
- #menu ⇒ Object
- #menucget(key) ⇒ Object
- #menucget_strict(key) ⇒ Object
- #menuconfiginfo(key = nil) ⇒ Object
- #menuconfigure(key, val = None) ⇒ Object
- #value ⇒ Object
- #value=(val) ⇒ Object
- #xposition(index) ⇒ Object
- #yposition(index) ⇒ Object
Methods inherited from TkWindow
_widget_inspect_full_=, _widget_inspect_full_?, #bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, database_classname, #database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #exist?, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_anchor, #grid_bbox, #grid_column, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_row, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #inspect, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from Busy
__item_cget_cmd, __item_config_cmd, __item_confinfo_cmd, #busy, #busy_cget, #busy_configinfo, #busy_configure, #busy_current?, #busy_current_configinfo, #busy_forget, #busy_status, current, forget, hold, method_missing, status
Methods included from TkItemConfigMethod
__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_itemconfigure_options, #__current_itemconfiginfo, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #current_itemconfiginfo, #itemcget, #itemcget_strict, #itemcget_tkstring, #itemconfiginfo, #itemconfigure, #tagid
Methods included from TkItemConfigOptkeys
#__conv_item_keyonly_opts, #itemconfig_hash_kv
Methods included from TkUtil
#_conv_args, _conv_args, #_fromUTF8, #_get_eval_enc_str, _get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, #bool, bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, #num_or_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust
Methods included from TkTreatItemFont
#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, #install_cmd, install_cmd, list, num_or_nil, num_or_str, number, procedure, simplelist, slice_ary, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkWinfo
appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __create_widget_set__, __disable_toplevel_control__, __import_toplevel_aliases__, __regist_toplevel_aliases__, __remove_toplevel_aliases__, __reset_toplevel_owner__, __set_loaded_toplevel_aliases__, __set_toplevel_aliases__, __toplevel_alias_setup_proc__, _replace_toplevel_aliases, add_kinsoku, backup_current_topdef, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, define_topalias, define_topobj, delete_kinsoku, destroy, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, regist_sym_for_loaded_file, replace_topalias, replace_topobj, #root, set_topalias, show_kinsoku, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, topalias_defined?, toplevel_aliases_on_widget_set, topobj_defined?, ungrid, unload_tcllibrary, unpack, unplace, update, #update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup, widget_set_symbols
Methods included from Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Methods included from TkDND::DND
#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version
Methods included from TkDND::Shape
package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkConfigMethod
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #cget_tkstring, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods inherited from TkKernel
Constructor Details
#initialize(*args) ⇒ OptionMenubutton
Returns a new instance of OptionMenubutton.
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 |
# File 'lib/tk/menu.rb', line 594 def initialize(*args) # args :: [parent,] [var,] [value[, ...],] [keys] # parent --> TkWindow or nil # var --> TkVariable or nil # keys --> Hash # keys[:parent] or keys['parent'] --> parent # keys[:variable] or keys['variable'] --> var # keys[:values] or keys['values'] --> value, ... # other Hash keys are menubutton options keys = {} keys = args.pop if args[-1].kind_of?(Hash) keys = _symbolkey2str(keys) parent = nil if !args.empty? && (args[0].kind_of?(TkWindow) || args[0] == nil) keys.delete('parent') # ignore parent = args.shift else parent = keys.delete('parent') end @variable = nil if !args.empty? && (args[0].kind_of?(TkVariable) || args[0] == nil) keys.delete('variable') # ignore @variable = args.shift else @variable = keys.delete('variable') end @variable = TkVariable.new unless @variable (args = keys.delete('values') || []) if args.empty? if args.empty? args << @variable.value else @variable.value = args[0] end install_win(if parent then parent.path end) @menu = OptionMenu.new(tk_call('tk_optionMenu', @path, @variable.id, *args)) configure(keys) if keys end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Instance Method Details
#activate(index) ⇒ Object
646 647 648 649 |
# File 'lib/tk/menu.rb', line 646 def activate(index) @menu.activate(index) self end |
#add(value) ⇒ Object
650 651 652 653 654 |
# File 'lib/tk/menu.rb', line 650 def add(value) @menu.add('radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#current_entryconfiginfo(index, key = nil) ⇒ Object
708 709 710 |
# File 'lib/tk/menu.rb', line 708 def current_entryconfiginfo(index, key=nil) @menu.current_entryconfiginfo(index, key) end |
#current_menuconfiginfo(key = nil) ⇒ Object
692 693 694 |
# File 'lib/tk/menu.rb', line 692 def (key=nil) @menu.current_configinfo(key) end |
#delete(index, last = None) ⇒ Object
666 667 668 669 |
# File 'lib/tk/menu.rb', line 666 def delete(index, last=None) @menu.delete(index, last) self end |
#entrycget(index, key) ⇒ Object
695 696 697 |
# File 'lib/tk/menu.rb', line 695 def entrycget(index, key) @menu.entrycget(index, key) end |
#entrycget_strict(index, key) ⇒ Object
698 699 700 |
# File 'lib/tk/menu.rb', line 698 def entrycget_strict(index, key) @menu.entrycget_strict(index, key) end |
#entryconfiginfo(index, key = nil) ⇒ Object
705 706 707 |
# File 'lib/tk/menu.rb', line 705 def entryconfiginfo(index, key=nil) @menu.entryconfiginfo(index, key) end |
#entryconfigure(index, key, val = None) ⇒ Object
701 702 703 704 |
# File 'lib/tk/menu.rb', line 701 def entryconfigure(index, key, val=None) @menu.entryconfigure(index, key, val) self end |
#index(index) ⇒ Object
655 656 657 |
# File 'lib/tk/menu.rb', line 655 def index(index) @menu.index(index) end |
#insert(index, value) ⇒ Object
661 662 663 664 665 |
# File 'lib/tk/menu.rb', line 661 def insert(index, value) @menu.insert(index, 'radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#invoke(index) ⇒ Object
658 659 660 |
# File 'lib/tk/menu.rb', line 658 def invoke(index) @menu.invoke(index) end |
#menu ⇒ Object
676 677 678 |
# File 'lib/tk/menu.rb', line 676 def @menu end |
#menucget(key) ⇒ Object
679 680 681 |
# File 'lib/tk/menu.rb', line 679 def (key) @menu.cget(key) end |
#menucget_strict(key) ⇒ Object
682 683 684 |
# File 'lib/tk/menu.rb', line 682 def (key) @menu.cget_strict(key) end |
#menuconfiginfo(key = nil) ⇒ Object
689 690 691 |
# File 'lib/tk/menu.rb', line 689 def (key=nil) @menu.configinfo(key) end |
#menuconfigure(key, val = None) ⇒ Object
685 686 687 688 |
# File 'lib/tk/menu.rb', line 685 def (key, val=None) @menu.configure(key, val) self end |
#value ⇒ Object
638 639 640 |
# File 'lib/tk/menu.rb', line 638 def value @variable.value end |
#value=(val) ⇒ Object
642 643 644 |
# File 'lib/tk/menu.rb', line 642 def value=(val) @variable.value = val end |
#xposition(index) ⇒ Object
670 671 672 |
# File 'lib/tk/menu.rb', line 670 def xposition(index) @menu.xposition(index) end |
#yposition(index) ⇒ Object
673 674 675 |
# File 'lib/tk/menu.rb', line 673 def yposition(index) @menu.yposition(index) end |