Class: Tk::Widget

Inherits:
Object show all
Includes:
Bind, Bindtags, Clipboard, Destroy, Grid, Pack, Place, TkCmd, WM, Winfo
Defined in:
lib/ffi-tk/widget.rb

Constant Summary

Constants included from WM

Tk::WM::WM_ATTRIBUTES_HINTS

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Pack

configure, forget, info, pack, #pack, #pack_configure, #pack_forget, #pack_info, #pack_propagate, #pack_slaves, propagate, slaves

Methods included from Destroy

destroy, #destroy

Methods included from Bind

bind, #bind

Methods included from Bindtags

bindtags, #bindtags

Methods included from WM

aspect, attributes, client, colormapwindows, command, deiconify, focusmodel, forget, frame, geometry, grid, group, iconbitmap, iconbitmap_default, iconify, iconmask, iconname, iconphoto, iconphoto_default, iconposition, iconwindow, manage, maxsize, minsize, overrideredirect, positionfrom, protocol, resizable, sizefrom, stackorder, state, title, transient, withdraw, #wm_aspect, #wm_aspect=, #wm_attributes, #wm_client, #wm_client=, #wm_colormapwindows, #wm_colormapwindows=, #wm_command, #wm_command=, #wm_deiconify, #wm_focusmodel, #wm_focusmodel=, #wm_forget, #wm_frame, #wm_geometry, #wm_geometry=, #wm_grid, #wm_grid=, #wm_group, #wm_group=, #wm_iconbitmap, #wm_iconbitmap=, #wm_iconbitmap_default, #wm_iconbitmap_default=, #wm_iconify, #wm_iconmask, #wm_iconmask=, #wm_iconname, #wm_iconname=, #wm_iconphoto, #wm_iconphoto=, #wm_iconphoto_default, #wm_iconphoto_default=, #wm_iconposition, #wm_iconposition=, #wm_iconwindow, #wm_iconwindow=, #wm_manage, #wm_maxsize, #wm_minsize, #wm_overrideredirect, #wm_overrideredirect=, #wm_positionfrom, #wm_positionfrom=, #wm_protocol, #wm_resizable, #wm_sizefrom, #wm_sizefrom=, #wm_stackorder, #wm_state, #wm_state=, #wm_title, #wm_title=, #wm_transient, #wm_transient=, #wm_withdraw

Methods included from Winfo

atom, atomname, cells, children, class_name, colormapfull, containing, depth, exists, fpixels, geometry, height, id, interps, ismapped, manager, name, parent, pathname, 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, width, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_class, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exists, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_ismapped, #winfo_manager, #winfo_name, #winfo_parent, #winfo_pathname, #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_width, #winfo_x, #winfo_y, x, y

Methods included from Grid

anchor, bbox, columnconfigure, configure, forget, #grid_anchor, #grid_bbox, #grid_columnconfigure, #grid_configure, #grid_forget, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfigure, #grid_size, #grid_slave, #grid_slaves, info, location, propagate, remove, rowconfigure, size, slave, slaves

Methods included from Clipboard

append, clear, #clipboard_append, #clipboard_clear, #clipboard_get, #clipboard_set, get

Methods included from Place

configure, forget, info, place, #place, #place_configure, #place_forget, #place_info, #place_slaves, slaves

Methods included from TkCmd

appname, caret, inactive, scaling, #tk_appname, #tk_appname=, #tk_caret, #tk_inactive, #tk_scaling, #tk_scaling=, #tk_useinputmethods, #tk_useinputmethods=, #tk_windowingsystem, useinputmethods, windowingsystem

Constructor Details

#initialize(tk_parent = Tk.root, options = None) {|options| ... } ⇒ Widget

Returns a new instance of Widget.

Yields:

  • (options)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ffi-tk/widget.rb', line 11

def initialize(tk_parent = Tk.root, options = None)
  if tk_parent.respond_to?(:to_tcl_options?)
    tk_parent, options = Tk.root, tk_parent
  end

  if !options || None == options
    options = {}
  else
    options = options.dup
  end

  @tk_parent = tk_parent

  yield(options) if block_given? && !options[:command]

  command = self.class.tk_command
  Tk.execute(command, assign_pathname, options.to_tcl_options?)
end

Instance Attribute Details

#tk_parentObject (readonly)

Returns the value of attribute tk_parent.



5
6
7
# File 'lib/ffi-tk/widget.rb', line 5

def tk_parent
  @tk_parent
end

#tk_pathnameObject (readonly)

Returns the value of attribute tk_pathname.



5
6
7
# File 'lib/ffi-tk/widget.rb', line 5

def tk_pathname
  @tk_pathname
end

Class Method Details

.tk_commandObject

Raises:

  • (NotImplementedError)


7
8
9
# File 'lib/ffi-tk/widget.rb', line 7

def self.tk_command
  raise NotImplementedError, "Implement in subclass"
end

Instance Method Details

#execute(command, *args) ⇒ Object



54
55
56
# File 'lib/ffi-tk/widget.rb', line 54

def execute(command, *args)
  Tk.execute(tk_pathname, command, *args)
end

#execute_only(command, *args) ⇒ Object



58
59
60
# File 'lib/ffi-tk/widget.rb', line 58

def execute_only(command, *args)
  Tk.execute_only(tk_pathname, command, *args)
end

#focus(option = None) ⇒ Object



34
35
36
# File 'lib/ffi-tk/widget.rb', line 34

def focus(option = None)
  Focus.focus(self, option)
end

#focus_nextObject



38
39
40
# File 'lib/ffi-tk/widget.rb', line 38

def focus_next
  Focus.next(self)
end

#focus_prevObject



42
43
44
# File 'lib/ffi-tk/widget.rb', line 42

def focus_prev
  Focus.prev(self)
end

#lower(below = None) ⇒ Object



50
51
52
# File 'lib/ffi-tk/widget.rb', line 50

def lower(below = None)
  Lower.lower(self, below)
end

#raise(above = None) ⇒ Object



46
47
48
# File 'lib/ffi-tk/widget.rb', line 46

def raise(above = None)
  Raise.raise(self, above)
end

#to_tclObject



30
31
32
# File 'lib/ffi-tk/widget.rb', line 30

def to_tcl
  tk_pathname.dump
end