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

Direct Known Subclasses

Button, Canvas, Entry, Frame, Label, Listbox, Menu, Message, PanedWindow, Scale, Scrollbar, Spinbox, Text, Tile::ComboBox, Tile::Notebook, Tile::Progressbar, Tile::Separator, Tile::Sizegrip, Tile::Treeview, Toplevel

Constant Summary

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

Methods included from Place

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

Methods included from Clipboard

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

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 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 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 Bindtags

bindtags, #bindtags

Methods included from Bind

bind, #bind, unbind, #unbind

Methods included from Destroy

destroy, #destroy

Methods included from Pack

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

Constructor Details

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

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

- (Object) tk_parent (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

- (Object) tk_pathname (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

+ (Object) tk_command

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

- (Object) execute(command, *args)



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

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

- (Object) execute_only(command, *args)



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

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

- (Object) focus(option = None)



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

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

- (Object) focus_next



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

def focus_next
  Focus.next(self)
end

- (Object) focus_prev



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

def focus_prev
  Focus.prev(self)
end

- (Object) lower(below = None)



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

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

- (Object) raise(above = None)



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

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

- (Object) to_tcl



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

def to_tcl
  tk_pathname.dump
end