aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/lib/tkextlib/tcllib/cursor.rb
blob: cf4f247209aaff2f0f701d70cd29f777bbb4717a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#
#  tkextlib/tcllib/cursor.rb
#                               by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
#
#   * Part of tcllib extension
#   * Procedures to handle CURSOR data
#

require 'tk'

# call setup script for general 'tkextlib' libraries
require 'tkextlib/setup.rb'

# call setup script
require File.join(File.dirname(File.expand_path(__FILE__)), 'setup.rb')

# TkPackage.require('cursor', '0.1')
TkPackage.require('cursor')

module Tk
  def self.cursor_display(parent=None)
    # Pops up a dialog with a listbox containing all the cursor names. 
    # Selecting a cursor name will display it in that dialog. 
    # This is simply for viewing any available cursors on the platform .
   tk_call_without_enc('::cursor::display', parent)
  end
end

class TkWindow
  def cursor_propagate(cursor)
    # Sets the cursor for self and all its descendants to cursor. 
    tk_send_without_enc('::cursor::propagate', @path, cursor)
  end
  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_send_without_enc('::cursor::restore', @path, cursor)
  end
end