Class: Tk::OptionMenubutton
- Inherits:
- Menubutton show all
- Defined in:
- ext/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 Tk
AUTO_PATH, Checkbutton, CloneMenu, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, 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 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 TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
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 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, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, delete_kinsoku, destroy, 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, #root, 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, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
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 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_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
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_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
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, #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.
558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 |
# File 'ext/lib/tk/menu.rb', line 558 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
610 611 612 613 |
# File 'ext/lib/tk/menu.rb', line 610 def activate(index) @menu.activate(index) self end |
#add(value) ⇒ Object
614 615 616 617 618 |
# File 'ext/lib/tk/menu.rb', line 614 def add(value) @menu.add('radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#current_entryconfiginfo(index, key = nil) ⇒ Object
672 673 674 |
# File 'ext/lib/tk/menu.rb', line 672 def current_entryconfiginfo(index, key=nil) @menu.current_entryconfiginfo(index, key) end |
#current_menuconfiginfo(key = nil) ⇒ Object
656 657 658 |
# File 'ext/lib/tk/menu.rb', line 656 def (key=nil) @menu.current_configinfo(key) end |
#delete(index, last = None) ⇒ Object
630 631 632 633 |
# File 'ext/lib/tk/menu.rb', line 630 def delete(index, last=None) @menu.delete(index, last) self end |
#entrycget(index, key) ⇒ Object
659 660 661 |
# File 'ext/lib/tk/menu.rb', line 659 def entrycget(index, key) @menu.entrycget(index, key) end |
#entrycget_strict(index, key) ⇒ Object
662 663 664 |
# File 'ext/lib/tk/menu.rb', line 662 def entrycget_strict(index, key) @menu.entrycget_strict(index, key) end |
#entryconfiginfo(index, key = nil) ⇒ Object
669 670 671 |
# File 'ext/lib/tk/menu.rb', line 669 def entryconfiginfo(index, key=nil) @menu.entryconfiginfo(index, key) end |
#entryconfigure(index, key, val = None) ⇒ Object
665 666 667 668 |
# File 'ext/lib/tk/menu.rb', line 665 def entryconfigure(index, key, val=None) @menu.entryconfigure(index, key, val) self end |
#index(index) ⇒ Object
619 620 621 |
# File 'ext/lib/tk/menu.rb', line 619 def index(index) @menu.index(index) end |
#insert(index, value) ⇒ Object
625 626 627 628 629 |
# File 'ext/lib/tk/menu.rb', line 625 def insert(index, value) @menu.insert(index, 'radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#invoke(index) ⇒ Object
622 623 624 |
# File 'ext/lib/tk/menu.rb', line 622 def invoke(index) @menu.invoke(index) end |
#menu ⇒ Object
640 641 642 |
# File 'ext/lib/tk/menu.rb', line 640 def @menu end |
#menucget(key) ⇒ Object
643 644 645 |
# File 'ext/lib/tk/menu.rb', line 643 def (key) @menu.cget(key) end |
#menucget_strict(key) ⇒ Object
646 647 648 |
# File 'ext/lib/tk/menu.rb', line 646 def (key) @menu.cget_strict(key) end |
#menuconfiginfo(key = nil) ⇒ Object
653 654 655 |
# File 'ext/lib/tk/menu.rb', line 653 def (key=nil) @menu.configinfo(key) end |
#menuconfigure(key, val = None) ⇒ Object
649 650 651 652 |
# File 'ext/lib/tk/menu.rb', line 649 def (key, val=None) @menu.configure(key, val) self end |
#value ⇒ Object
602 603 604 |
# File 'ext/lib/tk/menu.rb', line 602 def value @variable.value end |
#value=(val) ⇒ Object
606 607 608 |
# File 'ext/lib/tk/menu.rb', line 606 def value=(val) @variable.value = val end |
#xposition(index) ⇒ Object
634 635 636 |
# File 'ext/lib/tk/menu.rb', line 634 def xposition(index) @menu.xposition(index) end |
#yposition(index) ⇒ Object
637 638 639 |
# File 'ext/lib/tk/menu.rb', line 637 def yposition(index) @menu.yposition(index) end |