~ubuntu-branches/ubuntu/hardy/ruby1.8/hardy-updates

« back to all changes in this revision

Viewing changes to ext/tk/lib/tk/frame.rb

  • Committer: Bazaar Package Importer
  • Author(s): akira yamada
  • Date: 2007-03-13 22:11:58 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20070313221158-h3oql37brlaf2go2
Tags: 1.8.6-1
* new upstream version, 1.8.6.
* libruby1.8 conflicts with libopenssl-ruby1.8 (< 1.8.6) (closes: #410018)
* changed packaging style to cdbs from dbs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# tk/frame.rb : treat frame widget
 
3
#
 
4
require 'tk'
 
5
 
 
6
class TkFrame<TkWindow
 
7
  TkCommandNames = ['frame'.freeze].freeze
 
8
  WidgetClassName = 'Frame'.freeze
 
9
  WidgetClassNames[WidgetClassName] = self
 
10
 
 
11
################# old version
 
12
#  def initialize(parent=nil, keys=nil)
 
13
#    if keys.kind_of? Hash
 
14
#      keys = keys.dup
 
15
#      @classname = keys.delete('classname') if keys.key?('classname')
 
16
#      @colormap  = keys.delete('colormap')  if keys.key?('colormap')
 
17
#      @container = keys.delete('container') if keys.key?('container')
 
18
#      @visual    = keys.delete('visual')    if keys.key?('visual')
 
19
#    end
 
20
#    super(parent, keys)
 
21
#  end
 
22
#
 
23
#  def create_self
 
24
#    s = []
 
25
#    s << "-class"     << @classname if @classname
 
26
#    s << "-colormap"  << @colormap  if @colormap
 
27
#    s << "-container" << @container if @container
 
28
#    s << "-visual"    << @visual    if @visual
 
29
#    tk_call 'frame', @path, *s
 
30
#  end
 
31
#################
 
32
 
 
33
  def __boolval_optkeys
 
34
    super() << 'container'
 
35
  end
 
36
  private :__boolval_optkeys
 
37
 
 
38
  def initialize(parent=nil, keys=nil)
 
39
    my_class_name = nil
 
40
    if self.class < WidgetClassNames[self.class::WidgetClassName]
 
41
      my_class_name = self.class.name
 
42
      my_class_name = nil if my_class_name == ''
 
43
    end
 
44
    if parent.kind_of? Hash
 
45
      keys = _symbolkey2str(parent)
 
46
    else
 
47
      if keys
 
48
        keys = _symbolkey2str(keys)
 
49
        keys['parent'] = parent
 
50
      else
 
51
        keys = {'parent'=>parent}
 
52
      end
 
53
    end
 
54
    if keys.key?('classname')
 
55
       keys['class'] = keys.delete('classname')
 
56
    end
 
57
    @classname = keys['class']
 
58
    @colormap  = keys['colormap']
 
59
    @container = keys['container']
 
60
    @visual    = keys['visual']
 
61
    if !@classname && my_class_name
 
62
      keys['class'] = @classname = my_class_name
 
63
    end
 
64
    if @classname.kind_of? TkBindTag
 
65
      @db_class = @classname
 
66
      @classname = @classname.id
 
67
    elsif @classname
 
68
      @db_class = TkDatabaseClass.new(@classname)
 
69
    else
 
70
      @db_class = self.class
 
71
      @classname = @db_class::WidgetClassName
 
72
    end
 
73
    super(keys)
 
74
  end
 
75
 
 
76
  #def create_self(keys)
 
77
  #  if keys and keys != None
 
78
  #    tk_call_without_enc('frame', @path, *hash_kv(keys))
 
79
  #  else
 
80
  #    tk_call_without_enc( 'frame', @path)
 
81
  #  end
 
82
  #end
 
83
  #private :create_self
 
84
 
 
85
  def database_classname
 
86
    @classname
 
87
  end
 
88
 
 
89
  def self.database_class
 
90
    if self == WidgetClassNames[WidgetClassName] || self.name == ''
 
91
      self
 
92
    else
 
93
      TkDatabaseClass.new(self.name)
 
94
    end
 
95
  end
 
96
  def self.database_classname
 
97
    self.database_class.name
 
98
  end
 
99
 
 
100
  def self.bind(*args, &b)
 
101
    if self == WidgetClassNames[WidgetClassName] || self.name == ''
 
102
      super(*args, &b)
 
103
    else
 
104
      TkDatabaseClass.new(self.name).bind(*args, &b)
 
105
    end
 
106
  end
 
107
  def self.bind_append(*args, &b)
 
108
    if self == WidgetClassNames[WidgetClassName] || self.name == ''
 
109
      super(*args, &b)
 
110
    else
 
111
      TkDatabaseClass.new(self.name).bind_append(*args, &b)
 
112
    end
 
113
  end
 
114
  def self.bind_remove(*args)
 
115
    if self == WidgetClassNames[WidgetClassName] || self.name == ''
 
116
      super(*args)
 
117
    else
 
118
      TkDatabaseClass.new(self.name).bind_remove(*args)
 
119
    end
 
120
  end
 
121
  def self.bindinfo(*args)
 
122
    if self == WidgetClassNames[WidgetClassName] || self.name == ''
 
123
      super(*args)
 
124
    else
 
125
      TkDatabaseClass.new(self.name).bindinfo(*args)
 
126
    end
 
127
  end
 
128
end