Class: TkWindow

Inherits:
TkObject show all
Extended by:
TkBindCore
Includes:
Tk::TkDND::DND, Tk::TkDND::Shape, Tk::Wm_for_General, TkWinfo
Defined in:
ext/lib/tkextlib/tkDND/shape.rb,
ext/lib/tkextlib/tkDND/tkdnd.rb,
ext/lib/tkextlib/tcllib/cursor.rb,
ext/lib/tkextlib/tktrans/tktrans.rb,
ext/lib/tk.rb

Constant Summary collapse

TkCommandNames =
[].freeze
WidgetClassName =

> If TkCommandNames is a string (not a null string),

assume the string is a Tcl/Tk's create command of the widget class.
''.freeze
@@WIDGET_INSPECT_FULL =
false

Constants included from Tk

Tk::AUTO_PATH, Tk::Checkbutton, Tk::CloneMenu, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::Labelframe, Tk::MenuButton, Tk::OptionMenuButton, Tk::PACKAGE_PATH, Tk::Panedwindow, Tk::RELEASE_DATE, Tk::Radiobutton, 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 Tk::Encoding

Tk::Encoding::BINARY, Tk::Encoding::BINARY_NAME, Tk::Encoding::DEFAULT_EXTERNAL_NAME, Tk::Encoding::DEFAULT_INTERNAL_NAME, Tk::Encoding::ENCODING_TABLE, Tk::Encoding::RubyEncoding, Tk::Encoding::UNKNOWN, Tk::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 Tk::TkDND::Shape

Tk::TkDND::Shape::PACKAGE_NAME

Class Method Summary collapse

Instance Method Summary collapse

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 Tk::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 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

#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

new

Constructor Details

#initialize(parent = nil, keys = nil) ⇒ TkWindow

Returns a new instance of TkWindow.



4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
# File 'ext/lib/tk.rb', line 4886

def initialize(parent=nil, keys=nil)
  if parent.kind_of? Hash
    keys = _symbolkey2str(parent)
    parent = keys.delete('parent')
    widgetname = keys.delete('widgetname')
    install_win(if parent then parent.path end, widgetname)
    without_creating = keys.delete('without_creating')
    # if without_creating && !widgetname 
    #   fail ArgumentError, 
    #        "if set 'without_creating' to true, need to define 'widgetname'"
    # end
  elsif keys
    keys = _symbolkey2str(keys)
    widgetname = keys.delete('widgetname')
    install_win(if parent then parent.path end, widgetname)
    without_creating = keys.delete('without_creating')
    # if without_creating && !widgetname 
    #   fail ArgumentError, 
    #        "if set 'without_creating' to true, need to define 'widgetname'"
    # end
  else
    install_win(if parent then parent.path end)
  end
  if self.method(:create_self).arity == 0
    p 'create_self has no arg' if $DEBUG
    create_self unless without_creating
    if keys
      # tk_call @path, 'configure', *hash_kv(keys)
      configure(keys)
    end
  else
    p 'create_self has args' if $DEBUG
    fontkeys = {}
    methodkeys = {}
    if keys
      #['font', 'kanjifont', 'latinfont', 'asciifont'].each{|key|
      #  fontkeys[key] = keys.delete(key) if keys.key?(key)
      #}
      __font_optkeys.each{|key|
        fkey = key.to_s
        fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey)

        fkey = "kanji#{key}"
        fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey)

        fkey = "latin#{key}"
        fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey)

        fkey = "ascii#{key}"
        fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey)
      }

      __optkey_aliases.each{|alias_name, real_name|
        alias_name = alias_name.to_s
        if keys.has_key?(alias_name)
          keys[real_name.to_s] = keys.delete(alias_name)
        end
      }

      __methodcall_optkeys.each{|key|
        key = key.to_s
        methodkeys[key] = keys.delete(key) if keys.key?(key)
      }

      __ruby2val_optkeys.each{|key, method|
        key = key.to_s
        keys[key] = method.call(keys[key]) if keys.has_key?(key)
      }
    end
    if without_creating && keys
      #configure(keys)
      configure(__conv_keyonly_opts(keys))
    else
      #create_self(keys)
      create_self(__conv_keyonly_opts(keys))
    end
    font_configure(fontkeys) unless fontkeys.empty?
    configure(methodkeys) unless methodkeys.empty?
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TkObject

Class Method Details

._widget_inspect_full_=(mode) ⇒ Object



4872
4873
4874
# File 'ext/lib/tk.rb', line 4872

def TkWindow._widget_inspect_full_=(mode)
  @@WIDGET_INSPECT_FULL = (mode && true) || false
end

._widget_inspect_full_?Boolean

Returns:

  • (Boolean)


4869
4870
4871
# File 'ext/lib/tk.rb', line 4869

def TkWindow._widget_inspect_full_?
  @@WIDGET_INSPECT_FULL
end

.database_classObject



5041
5042
5043
# File 'ext/lib/tk.rb', line 5041

def self.database_class
  WidgetClassNames[self::WidgetClassName]
end

.database_classnameObject



5038
5039
5040
# File 'ext/lib/tk.rb', line 5038

def self.database_classname
  self::WidgetClassName
end

.to_evalObject

WidgetClassNames = self

> If self is a widget class, entry to the WidgetClassNames table.



4882
4883
4884
# File 'ext/lib/tk.rb', line 4882

def self.to_eval
  self::WidgetClassName
end

Instance Method Details

#bind_classObject



5023
5024
5025
# File 'ext/lib/tk.rb', line 5023

def bind_class
  @db_class || self.class()
end

#bindtags(taglist = nil) ⇒ Object



5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
# File 'ext/lib/tk.rb', line 5517

def bindtags(taglist=nil)
  if taglist
    fail ArgumentError, "taglist must be Array" unless taglist.kind_of? Array
    tk_call('bindtags', path, taglist)
    taglist
  else
    list(tk_call('bindtags', path)).collect{|tag|
      if tag.kind_of?(String) 
        if cls = WidgetClassNames[tag]
          cls
        elsif btag = TkBindTag.id2obj(tag)
          btag
        else
          tag
        end
      else
        tag
      end
    }
  end
end

#bindtags=(taglist) ⇒ Object



5539
5540
5541
5542
# File 'ext/lib/tk.rb', line 5539

def bindtags=(taglist)
  bindtags(taglist)
  taglist
end

#bindtags_shiftObject



5544
5545
5546
5547
5548
5549
# File 'ext/lib/tk.rb', line 5544

def bindtags_shift
  taglist = bindtags
  tag = taglist.shift
  bindtags(taglist)
  tag
end

#bindtags_unshift(tag) ⇒ Object



5551
5552
5553
# File 'ext/lib/tk.rb', line 5551

def bindtags_unshift(tag)
  bindtags(bindtags().unshift(tag))
end

#caret(keys = nil) ⇒ Object



5426
5427
5428
# File 'ext/lib/tk.rb', line 5426

def caret(keys=nil)
  TkXIM.caret(path, keys)
end

#colormodel(model = None) ⇒ Object



5421
5422
5423
5424
# File 'ext/lib/tk.rb', line 5421

def colormodel(model=None)
  tk_call('tk', 'colormodel', path, model)
  self
end

#command(cmd = nil, &b) ⇒ Object



5411
5412
5413
5414
5415
5416
5417
5418
5419
# File 'ext/lib/tk.rb', line 5411

def command(cmd=nil, &b)
  if cmd
    configure_cmd('command', cmd)
  elsif b
    configure_cmd('command', Proc.new(&b))
  else
    cget('command')
  end
end

#cursor_propagate(cursor) ⇒ Object



56
57
58
59
60
# File 'ext/lib/tkextlib/tcllib/cursor.rb', line 56

def cursor_propagate(cursor)
  # Sets the cursor for self and all its descendants to cursor. 
  #tk_call_without_enc('::cursor::propagate', @path, cursor)
  Tk::Tcllib::Cursor.cursor_propagate(self, cursor)
end

#cursor_restore(cursor = None) ⇒ Object



61
62
63
64
65
66
67
68
# File 'ext/lib/tkextlib/tcllib/cursor.rb', line 61

def cursor_restore(cursor = None)
  # Restore the original or previously set cursor for self and all its 
  # descendants. If cursor is specified, that will be used if on any 
  # widget that did not have a preset cursor (set by a previous call 
  # to TkWindow#cursor_propagate). 
  #tk_call_without_enc('::cursor::restore', @path, cursor)
  Tk::Tcllib::Cursor.cursor_restore(self, cursor)
end

#database_classObject



5030
5031
5032
5033
5034
5035
5036
5037
# File 'ext/lib/tk.rb', line 5030

def database_class
  name = database_classname()
  if WidgetClassNames[name]
    WidgetClassNames[name]
  else
    TkDatabaseClass.new(name)
  end
end

#database_classnameObject



5027
5028
5029
# File 'ext/lib/tk.rb', line 5027

def database_classname
  TkWinfo.classname(self)
end

#destroyObject



5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
# File 'ext/lib/tk.rb', line 5430

def destroy
  super
  children = []
  rexp = /^#{self.path}\.[^.]+$/
  TkCore::INTERP.tk_windows.each{|path, obj|
    children << [path, obj] if path =~ rexp
  }
  if defined?(@cmdtbl)
    for id in @cmdtbl
      uninstall_cmd id
    end
  end

  children.each{|path, obj|
    obj.instance_eval{
      if defined?(@cmdtbl)
        for id in @cmdtbl
          uninstall_cmd id
        end
      end
    }
    TkCore::INTERP.tk_windows.delete(path)
  }

  begin
    tk_call_without_enc('destroy', epath)
  rescue
  end
  uninstall_win
end

#eventloop_wait_destroyObject Also known as: eventloop_wait_window, eventloop_tkwait_destroy, eventloop_tkwait_window



5499
5500
5501
# File 'ext/lib/tk.rb', line 5499

def eventloop_wait_destroy
  wait_destroy(false)
end

#eventloop_wait_visibilityObject Also known as: eventloop_wait, eventloop_tkwait, eventloop_tkwait_visibility



5472
5473
5474
# File 'ext/lib/tk.rb', line 5472

def eventloop_wait_visibility
  wait_visibility(false)
end

#exist?Boolean

Returns:

  • (Boolean)


5019
5020
5021
# File 'ext/lib/tk.rb', line 5019

def exist?
  TkWinfo.exist?(self)
end

#grab(opt = nil) ⇒ Object



5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
# File 'ext/lib/tk.rb', line 5349

def grab(opt = nil)
  unless opt
    tk_call_without_enc('grab', 'set', path)
    return self
  end

  case opt
  when 'set', :set
    tk_call_without_enc('grab', 'set', path)
    return self
  when 'global', :global
    #return(tk_call('grab', 'set', '-global', path))
    tk_call_without_enc('grab', 'set', '-global', path)
    return self
  when 'release', :release
    #return tk_call('grab', 'release', path)
    tk_call_without_enc('grab', 'release', path)
    return self
  when 'current', :current
    return window(tk_call_without_enc('grab', 'current', path))
  when 'status', :status
    return tk_call_without_enc('grab', 'status', path)
  else
    return tk_call_without_enc('grab', opt, path)
  end
end

#grab_currentObject Also known as: current_grab



5376
5377
5378
# File 'ext/lib/tk.rb', line 5376

def grab_current
  grab('current')
end

#grab_releaseObject Also known as: release_grab



5380
5381
5382
# File 'ext/lib/tk.rb', line 5380

def grab_release
  grab('release')
end

#grab_setObject Also known as: set_grab



5384
5385
5386
# File 'ext/lib/tk.rb', line 5384

def grab_set
  grab('set')
end

#grab_set_globalObject Also known as: set_global_grab



5388
5389
5390
# File 'ext/lib/tk.rb', line 5388

def grab_set_global
  grab('global')
end

#grab_statusObject



5392
5393
5394
# File 'ext/lib/tk.rb', line 5392

def grab_status
  grab('status')
end

#grid(keys = nil) ⇒ Object



5118
5119
5120
5121
5122
5123
5124
5125
5126
# File 'ext/lib/tk.rb', line 5118

def grid(keys = nil)
  #tk_call 'grid', epath, *hash_kv(keys)
  if keys
    TkGrid.configure(self, keys)
  else
    TkGrid.configure(self)
  end
  self
end

#grid_anchor(anchor = None) ⇒ Object



5140
5141
5142
5143
5144
5145
5146
5147
# File 'ext/lib/tk.rb', line 5140

def grid_anchor(anchor=None)
  if anchor == None
    TkGrid.anchor(self)
  else
    TkGrid.anchor(self, anchor)
    self
  end
end

#grid_bbox(*args) ⇒ Object



5156
5157
5158
5159
# File 'ext/lib/tk.rb', line 5156

def grid_bbox(*args)
  #list(tk_call('grid', 'bbox', epath, *args))
  TkGrid.bbox(self, *args)
end

#grid_column(index, keys = nil) ⇒ Object



5215
5216
5217
5218
5219
5220
5221
# File 'ext/lib/tk.rb', line 5215

def grid_column(index, keys=nil)
  if keys.kind_of?(Hash)
    grid_columnconfigure(index, keys)
  else
    grid_columnconfiginfo(index, keys)
  end
end

#grid_columnconfig(index, keys) ⇒ Object Also known as: grid_columnconfigure



5175
5176
5177
5178
# File 'ext/lib/tk.rb', line 5175

def grid_columnconfig(index, keys)
  #tk_call('grid', 'columnconfigure', epath, index, *hash_kv(keys))
  TkGrid.columnconfigure(self, index, keys)
end

#grid_columnconfiginfo(index, slot = nil) ⇒ Object



5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
# File 'ext/lib/tk.rb', line 5187

def grid_columnconfiginfo(index, slot=nil)
  #if slot
  #  tk_call('grid', 'columnconfigure', epath, index, "-#{slot}").to_i
  #else
  #  ilist = list(tk_call('grid', 'columnconfigure', epath, index))
  #  info = {}
  #  while key = ilist.shift
  #   info[key[1..-1]] = ilist.shift
  #  end
  #  info
  #end
  TkGrid.columnconfiginfo(self, index, slot)
end

#grid_config(slot, value = None) ⇒ Object Also known as: grid_configure



5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
# File 'ext/lib/tk.rb', line 5161

def grid_config(slot, value=None)
  #if slot.kind_of? Hash
  #  tk_call 'grid', 'configure', epath, *hash_kv(slot)
  #else
  #  tk_call 'grid', 'configure', epath, "-#{slot}", value
  #end
  if slot.kind_of? Hash
    TkGrid.configure(self, slot)
  else
    TkGrid.configure(self, slot=>value)
  end
end

#grid_forgetObject Also known as: ungrid



5149
5150
5151
5152
5153
# File 'ext/lib/tk.rb', line 5149

def grid_forget
  #tk_call('grid', 'forget', epath)
  TkGrid.forget(self)
  self
end

#grid_in(target, keys = nil) ⇒ Object



5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
# File 'ext/lib/tk.rb', line 5128

def grid_in(target, keys = nil)
  if keys
    keys = keys.dup
    keys['in'] = target
  else
    keys = {'in'=>target}
  end
  #tk_call 'grid', epath, *hash_kv(keys)
  TkGrid.configure(self, keys)
  self
end

#grid_infoObject



5231
5232
5233
5234
# File 'ext/lib/tk.rb', line 5231

def grid_info()
  #list(tk_call('grid', 'info', epath))
  TkGrid.info(self)
end

#grid_location(x, y) ⇒ Object



5236
5237
5238
5239
# File 'ext/lib/tk.rb', line 5236

def grid_location(x, y)
  #list(tk_call('grid', 'location', epath, x, y))
  TkGrid.location(self, x, y)
end

#grid_propagate(mode = None) ⇒ Object



5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
# File 'ext/lib/tk.rb', line 5241

def grid_propagate(mode=None)
  #if mode == None
  #  bool(tk_call('grid', 'propagate', epath))
  #else
  #  tk_call('grid', 'propagate', epath, mode)
  #  self
  #end
  if mode == None
    TkGrid.propagate(self)
  else
    TkGrid.propagate(self, mode)
    self
  end
end

#grid_removeObject



5256
5257
5258
5259
5260
# File 'ext/lib/tk.rb', line 5256

def grid_remove()
  #tk_call 'grid', 'remove', epath
  TkGrid.remove(self)
  self
end

#grid_row(index, keys = nil) ⇒ Object



5223
5224
5225
5226
5227
5228
5229
# File 'ext/lib/tk.rb', line 5223

def grid_row(index, keys=nil)
  if keys.kind_of?(Hash)
    grid_rowconfigure(index, keys)
  else
    grid_rowconfiginfo(index, keys)
  end
end

#grid_rowconfig(index, keys) ⇒ Object Also known as: grid_rowconfigure



5181
5182
5183
5184
# File 'ext/lib/tk.rb', line 5181

def grid_rowconfig(index, keys)
  #tk_call('grid', 'rowconfigure', epath, index, *hash_kv(keys))
  TkGrid.rowconfigure(self, index, keys)
end

#grid_rowconfiginfo(index, slot = nil) ⇒ Object



5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
# File 'ext/lib/tk.rb', line 5201

def grid_rowconfiginfo(index, slot=nil)
  #if slot
  #  tk_call('grid', 'rowconfigure', epath, index, "-#{slot}").to_i
  #else
  #  ilist = list(tk_call('grid', 'rowconfigure', epath, index))
  #  info = {}
  #  while key = ilist.shift
  #   info[key[1..-1]] = ilist.shift
  #  end
  #  info
  #end
  TkGrid.rowconfiginfo(self, index, slot)
end

#grid_sizeObject



5262
5263
5264
5265
# File 'ext/lib/tk.rb', line 5262

def grid_size()
  #list(tk_call('grid', 'size', epath))
  TkGrid.size(self)
end

#grid_slaves(keys = nil) ⇒ Object



5267
5268
5269
5270
# File 'ext/lib/tk.rb', line 5267

def grid_slaves(keys = nil)
  #list(tk_call('grid', 'slaves', epath, *hash_kv(args)))
  TkGrid.slaves(self, keys)
end

#inspectObject



5010
5011
5012
5013
5014
5015
5016
5017
# File 'ext/lib/tk.rb', line 5010

def inspect
  if @@WIDGET_INSPECT_FULL
    super
  else
    str = super
    str[0..(str.index(' '))] << '@path=' << @path.inspect << '>'
  end
end

#lower(below = None) ⇒ Object Also known as: lower_window



5396
5397
5398
5399
5400
5401
# File 'ext/lib/tk.rb', line 5396

def lower(below=None)
  # below = below.epath if below.kind_of?(TkObject)
  below = _epath(below)
  tk_call 'lower', epath, below
  self
end

#pack(keys = nil) ⇒ Object



5045
5046
5047
5048
5049
5050
5051
5052
5053
# File 'ext/lib/tk.rb', line 5045

def pack(keys = nil)
  #tk_call_without_enc('pack', epath, *hash_kv(keys, true))
  if keys
    TkPack.configure(self, keys)
  else
    TkPack.configure(self)
  end
  self
end

#pack_config(slot, value = None) ⇒ Object Also known as: pack_configure



5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
# File 'ext/lib/tk.rb', line 5074

def pack_config(slot, value=None)
  #if slot.kind_of? Hash
  #  tk_call 'pack', 'configure', epath, *hash_kv(slot)
  #else
  #  tk_call 'pack', 'configure', epath, "-#{slot}", value
  #end
  if slot.kind_of? Hash
    TkPack.configure(self, slot)
  else
    TkPack.configure(self, slot=>value)
  end
end

#pack_forgetObject Also known as: unpack



5067
5068
5069
5070
5071
# File 'ext/lib/tk.rb', line 5067

def pack_forget
  #tk_call_without_enc('pack', 'forget', epath)
  TkPack.forget(self)
  self
end

#pack_in(target, keys = nil) ⇒ Object



5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
# File 'ext/lib/tk.rb', line 5055

def pack_in(target, keys = nil)
  if keys
    keys = keys.dup
    keys['in'] = target
  else
    keys = {'in'=>target}
  end
  #tk_call 'pack', epath, *hash_kv(keys)
  TkPack.configure(self, keys)
  self
end

#pack_infoObject



5088
5089
5090
5091
5092
5093
5094
5095
5096
# File 'ext/lib/tk.rb', line 5088

def pack_info()
  #ilist = list(tk_call('pack', 'info', epath))
  #info = {}
  #while key = ilist.shift
  #  info[key[1..-1]] = ilist.shift
  #end
  #return info
  TkPack.info(self)
end

#pack_propagate(mode = None) ⇒ Object



5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
# File 'ext/lib/tk.rb', line 5098

def pack_propagate(mode=None)
  #if mode == None
  #  bool(tk_call('pack', 'propagate', epath))
  #else
  #  tk_call('pack', 'propagate', epath, mode)
  #  self
  #end
  if mode == None
    TkPack.propagate(self)
  else
    TkPack.propagate(self, mode)
    self
  end
end

#pack_slavesObject



5113
5114
5115
5116
# File 'ext/lib/tk.rb', line 5113

def pack_slaves()
  #list(tk_call('pack', 'slaves', epath))
  TkPack.slaves(self)
end

#place(keys) ⇒ Object



5272
5273
5274
5275
5276
# File 'ext/lib/tk.rb', line 5272

def place(keys)
  #tk_call 'place', epath, *hash_kv(keys)
  TkPlace.configure(self, keys)
  self
end

#place_config(slot, value = None) ⇒ Object Also known as: place_configure



5297
5298
5299
5300
5301
5302
5303
5304
# File 'ext/lib/tk.rb', line 5297

def place_config(slot, value=None)
  #if slot.kind_of? Hash
  #  tk_call 'place', 'configure', epath, *hash_kv(slot)
  #else
  #  tk_call 'place', 'configure', epath, "-#{slot}", value
  #end
  TkPlace.configure(self, slot, value)
end

#place_configinfo(slot = nil) ⇒ Object



5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
# File 'ext/lib/tk.rb', line 5307

def place_configinfo(slot = nil)
  # for >= Tk8.4a2 ?
  #if slot
  #  conf = tk_split_list(tk_call('place', 'configure', epath, "-#{slot}") )
  #  conf[0] = conf[0][1..-1]
  #  conf
  #else
  #  tk_split_simplelist(tk_call('place', 
  #                             'configure', epath)).collect{|conflist|
  #   conf = tk_split_simplelist(conflist)
  #   conf[0] = conf[0][1..-1]
  #   conf
  #  }
  #end
  TkPlace.configinfo(self, slot)
end

#place_forgetObject Also known as: unplace



5290
5291
5292
5293
5294
# File 'ext/lib/tk.rb', line 5290

def  place_forget
  #tk_call 'place', 'forget', epath
  TkPlace.forget(self)
  self
end

#place_in(target, keys = nil) ⇒ Object



5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
# File 'ext/lib/tk.rb', line 5278

def place_in(target, keys = nil)
  if keys
    keys = keys.dup
    keys['in'] = target
  else
    keys = {'in'=>target}
  end
  #tk_call 'place', epath, *hash_kv(keys)
  TkPlace.configure(self, keys)
  self
end

#place_infoObject



5324
5325
5326
5327
5328
5329
5330
5331
5332
# File 'ext/lib/tk.rb', line 5324

def place_info()
  #ilist = list(tk_call('place', 'info', epath))
  #info = {}
  #while key = ilist.shift
  #  info[key[1..-1]] = ilist.shift
  #end
  #return info
  TkPlace.info(self)
end

#place_slavesObject



5334
5335
5336
5337
# File 'ext/lib/tk.rb', line 5334

def place_slaves()
  #list(tk_call('place', 'slaves', epath))
  TkPlace.slaves(self)
end

#raise(above = None) ⇒ Object Also known as: raise_window



5403
5404
5405
5406
5407
5408
# File 'ext/lib/tk.rb', line 5403

def raise(above=None)
  #above = above.epath if above.kind_of?(TkObject)
  above = _epath(above)
  tk_call 'raise', epath, above
  self
end

#set_focus(force = false) ⇒ Object Also known as: focus



5339
5340
5341
5342
5343
5344
5345
5346
# File 'ext/lib/tk.rb', line 5339

def set_focus(force=false)
  if force
    tk_call_without_enc('focus', '-force', path)
  else
    tk_call_without_enc('focus', path)
  end
  self
end

#thread_wait_destroyObject Also known as: thread_wait_window, thread_tkwait_destroy, thread_tkwait_window



5503
5504
5505
# File 'ext/lib/tk.rb', line 5503

def thread_wait_destroy
  wait_destroy(true)
end

#thread_wait_visibilityObject Also known as: thread_wait, thread_tkwait, thread_tkwait_visibility



5475
5476
5477
# File 'ext/lib/tk.rb', line 5475

def thread_wait_visibility
  wait_visibility(true)
end

#tktrans_get_imageObject



37
38
39
# File 'ext/lib/tkextlib/tktrans/tktrans.rb', line 37

def tktrans_get_image()
  tk_send('tktrans::setwidget', @path)
end

#tktrans_set_image(img) ⇒ Object



33
34
35
36
# File 'ext/lib/tkextlib/tktrans/tktrans.rb', line 33

def tktrans_set_image(img)
  tk_send('tktrans::setwidget', @path, img)
  self
end

#wait_destroy(on_thread = true) ⇒ Object Also known as: wait_window, tkwait_destroy, tkwait_window



5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
# File 'ext/lib/tk.rb', line 5487

def wait_destroy(on_thread = true)
  if $SAFE >= 4
    fail SecurityError, "can't wait destroy at $SAFE >= 4"
  end
  on_thread &= (Thread.list.size != 1)
  if on_thread
    INTERP._thread_tkwait('window', epath)
  else
    INTERP._invoke('tkwait', 'window', epath)
  end
end

#wait_visibility(on_thread = true) ⇒ Object Also known as: wait, tkwait



5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
# File 'ext/lib/tk.rb', line 5461

def wait_visibility(on_thread = true)
  if $SAFE >= 4
    fail SecurityError, "can't wait visibility at $SAFE >= 4"
  end
  on_thread &= (Thread.list.size != 1)
  if on_thread
    INTERP._thread_tkwait('visibility', path)
  else
    INTERP._invoke('tkwait', 'visibility', path)
  end
end