Class: TkOptionMenubutton
- Inherits:
- TkMenubutton show all
- Defined in:
- lib/tk/menu.rb
Defined Under Namespace
Classes: OptionMenu
Constant Summary collapse
- TkCommandNames =
['tk_optionMenu'.freeze].freeze
Constants inherited from TkMenubutton
Constants inherited from TkLabel
Constants inherited from TkWindow
Constants included from Tk
Tk::AUTO_PATH, Tk::INTERP, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::MAINLOOP, Tk::PACKAGE_PATH, Tk::RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, Tk::X_Scrollable, Tk::Y_Scrollable
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK
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 Tk::TkDND::Shape
Tk::TkDND::Shape::PACKAGE_NAME
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
- #entryconfiginfo(index, key = nil) ⇒ Object
- #entryconfigure(index, key, val = None) ⇒ Object
- #index(index) ⇒ Object
-
#initialize(*args) ⇒ TkOptionMenubutton
constructor
A new instance of TkOptionMenubutton.
- #insert(index, value) ⇒ Object
- #invoke(index) ⇒ Object
- #menu ⇒ Object
- #menucget(key) ⇒ Object
- #menuconfiginfo(key = nil) ⇒ Object
- #menuconfigure(key, val = None) ⇒ Object
- #value ⇒ Object
- #value=(val) ⇒ Object
- #yposition(index) ⇒ Object
Methods inherited from TkWindow
#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_bbox, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #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, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, 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, #root, show_kinsoku, 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
Methods included from Tk::Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
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, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, 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 Tk::TkDND::DND
#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version
Methods included from Tk::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
#[], #[]=, #cget, #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) ⇒ TkOptionMenubutton
Returns a new instance of TkOptionMenubutton.
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 |
# File 'lib/tk/menu.rb', line 523 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[0].kind_of?(TkWindow) || args[0] == nil keys.delete('parent') # ignore parent = args.shift else parent = keys.delete('parent') end @variable = nil if 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
575 576 577 578 |
# File 'lib/tk/menu.rb', line 575 def activate(index) @menu.activate(index) self end |
#add(value) ⇒ Object
579 580 581 582 583 |
# File 'lib/tk/menu.rb', line 579 def add(value) @menu.add('radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#current_entryconfiginfo(index, key = nil) ⇒ Object
628 629 630 |
# File 'lib/tk/menu.rb', line 628 def current_entryconfiginfo(index, key=nil) @menu.current_entryconfiginfo(index, key) end |
#current_menuconfiginfo(key = nil) ⇒ Object
615 616 617 |
# File 'lib/tk/menu.rb', line 615 def (key=nil) @menu.current_configinfo(key) end |
#delete(index, last = None) ⇒ Object
595 596 597 598 |
# File 'lib/tk/menu.rb', line 595 def delete(index, last=None) @menu.delete(index, last) self end |
#entrycget(index, key) ⇒ Object
618 619 620 |
# File 'lib/tk/menu.rb', line 618 def entrycget(index, key) @menu.entrycget(index, key) end |
#entryconfiginfo(index, key = nil) ⇒ Object
625 626 627 |
# File 'lib/tk/menu.rb', line 625 def entryconfiginfo(index, key=nil) @menu.entryconfiginfo(index, key) end |
#entryconfigure(index, key, val = None) ⇒ Object
621 622 623 624 |
# File 'lib/tk/menu.rb', line 621 def entryconfigure(index, key, val=None) @menu.entryconfigure(index, key, val) self end |
#index(index) ⇒ Object
584 585 586 |
# File 'lib/tk/menu.rb', line 584 def index(index) @menu.index(index) end |
#insert(index, value) ⇒ Object
590 591 592 593 594 |
# File 'lib/tk/menu.rb', line 590 def insert(index, value) @menu.insert(index, 'radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end |
#invoke(index) ⇒ Object
587 588 589 |
# File 'lib/tk/menu.rb', line 587 def invoke(index) @menu.invoke(index) end |
#menu ⇒ Object
602 603 604 |
# File 'lib/tk/menu.rb', line 602 def @menu end |
#menucget(key) ⇒ Object
605 606 607 |
# File 'lib/tk/menu.rb', line 605 def (key) @menu.cget(key) end |
#menuconfiginfo(key = nil) ⇒ Object
612 613 614 |
# File 'lib/tk/menu.rb', line 612 def (key=nil) @menu.configinfo(key) end |
#menuconfigure(key, val = None) ⇒ Object
608 609 610 611 |
# File 'lib/tk/menu.rb', line 608 def (key, val=None) @menu.configure(key, val) self end |
#value ⇒ Object
567 568 569 |
# File 'lib/tk/menu.rb', line 567 def value @variable.value end |
#value=(val) ⇒ Object
571 572 573 |
# File 'lib/tk/menu.rb', line 571 def value=(val) @variable.value = val end |
#yposition(index) ⇒ Object
599 600 601 |
# File 'lib/tk/menu.rb', line 599 def yposition(index) @menu.yposition(index) end |