File: tk/selection.rb

Overview
Module Structure
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: TkSelection#6
extends
  Tk   
includes
  Tk   
has properties
constant: TkCommandNames #10
module method: clear (1/2) / 1 #12
module method: clear_on_display / 2 #19
method: clear (2/E) / 1 #27
module method: get (1/2) / 1 #32
module method: get_on_display / 2 #36
method: get (2/E) / 1 #41
module method: handle (1/2) / 4 #45
method: handle (2/E) / 3 #55
module method: get_owner (1/2) / 1 #59
module method: get_owner_on_display / 2 #66
method: get_owner (2/E) / 1 #74
module method: set_owner (1/2) / 2 #79
method: set_owner (2/E) / 1 #82

Code

   1  #
   2  # tk/selection.rb : control selection
   3  #
   4  require 'tk'
   5 
   6  module TkSelection
   7    include Tk
   8    extend Tk
   9 
  10    TkCommandNames = ['selection'.freeze].freeze
  11 
  12    def self.clear(sel=nil)
  13      if sel
  14        tk_call_without_enc('selection', 'clear', '-selection', sel)
  15      else
  16        tk_call_without_enc('selection', 'clear')
  17      end
  18    end
  19    def self.clear_on_display(win, sel=nil)
  20      if sel
  21        tk_call_without_enc('selection', 'clear', 
  22                            '-displayof', win, '-selection', sel)
  23      else
  24        tk_call_without_enc('selection', 'clear', '-displayof', win)
  25      end
  26    end
  27    def clear(sel=nil)
  28      TkSelection.clear_on_display(self, sel)
  29      self
  30    end
  31 
  32    def self.get(keys=nil)
  33      #tk_call('selection', 'get', *hash_kv(keys))
  34      _fromUTF8(tk_call_without_enc('selection', 'get', *hash_kv(keys)))
  35    end
  36    def self.get_on_display(win, keys=nil)
  37      #tk_call('selection', 'get', '-displayof', win, *hash_kv(keys))
  38      _fromUTF8(tk_call_without_enc('selection', 'get', '-displayof', 
  39                                    win, *hash_kv(keys)))
  40    end
  41    def get(keys=nil)
  42      TkSelection.get_on_display(self, sel)
  43    end
  44 
  45    def self.handle(win, func=Proc.new, keys=nil, &b)
  46      if func.kind_of?(Hash) && keys == nil
  47        keys = func
  48        func = Proc.new(&b)
  49      end
  50      args = ['selection', 'handle']
  51      args.concat(hash_kv(keys))
  52      args.concat([win, func])
  53      tk_call_without_enc(*args)
  54    end
  55    def handle(func=Proc.new, keys=nil, &b)
  56      TkSelection.handle(self, func, keys, &b)
  57    end
  58 
  59    def self.get_owner(sel=nil)
  60      if sel
  61        window(tk_call_without_enc('selection', 'own', '-selection', sel))
  62      else
  63        window(tk_call_without_enc('selection', 'own'))
  64      end
  65    end
  66    def self.get_owner_on_display(win, sel=nil)
  67      if sel
  68        window(tk_call_without_enc('selection', 'own', 
  69                                   '-displayof', win, '-selection', sel))
  70      else
  71        window(tk_call_without_enc('selection', 'own', '-displayof', win))
  72      end
  73    end
  74    def get_owner(sel=nil)
  75      TkSelection.get_owner_on_display(self, sel)
  76      self
  77    end
  78 
  79    def self.set_owner(win, keys=nil)
  80      tk_call_without_enc('selection', 'own', *(hash_kv(keys) << win))
  81    end
  82    def set_owner(keys=nil)
  83      TkSelection.set_owner(self, keys)
  84      self
  85    end
  86  end