Class: TkFont::DescendantFont
Instance Method Summary
collapse
Constructor Details
#initialize(compound, type) ⇒ DescendantFont
Returns a new instance of DescendantFont.
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# File 'ext/lib/tk/font.rb', line 147
def initialize(compound, type)
unless compound.kind_of?(TkFont)
fail ArgumentError, "a TkFont object is expected for the 1st argument"
end
@compound = compound
case type
when 'kanji', 'latin', 'ascii'
@type = type
when :kanji, :latin, :ascii
@type = type.to_s
else
fail ArgumentError, "unknown type '#{type}'"
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(id, *args) ⇒ Object
188
189
190
|
# File 'ext/lib/tk/font.rb', line 188
def method_missing(id, *args)
@compound.__send__(@type + '_' + id.id2name, *args)
end
|
Instance Method Details
180
181
182
|
# File 'ext/lib/tk/font.rb', line 180
def [](slot)
@compound.__send__(@type + '_configinfo', slot)
end
|
#[]=(slot, value) ⇒ Object
183
184
185
186
|
# File 'ext/lib/tk/font.rb', line 183
def []=(slot, value)
@compound.__send__(@type + '_configure', slot, value)
value
end
|
166
167
168
|
# File 'ext/lib/tk/font.rb', line 166
def clone
fail RuntimeError, "cannot clone a descendant font"
end
|
163
164
165
|
# File 'ext/lib/tk/font.rb', line 163
def dup
fail RuntimeError, "cannot dupulicate a descendant font"
end
|
#font ⇒ Object
Also known as:
font_id, name, to_s
173
174
175
|
# File 'ext/lib/tk/font.rb', line 173
def font
@compound.__send__(@type + '_font_id')
end
|
170
171
172
|
# File 'ext/lib/tk/font.rb', line 170
def to_eval
@compound.__send__(@type + '_font_id')
end
|