summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tkfont.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-18 19:46:20 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-18 19:46:20 +0000
commitd8b02b509608c5b90056c7befa89fa29fda45f8f (patch)
treefa79099d51b611202df51b03218b0743c2cdfbf1 /ext/tk/lib/tkfont.rb
parent151f1241c665b0307234e931bec2c32bfea0138d (diff)
tk.rb :
* small bug fix * rename 'no_create' option to 'without_creating' * add TkWindow#pack_in, TkWindow#grid_in, TkWindow#place_in * add TkWindow#bind_class and TkWindow#database_class If defined specific_class (@db_class), bind_class returns @db_class. In other case, bind_class returns TkWinow#class(). It is useful for binding. TkWindow#database_class is defined for querying the option database. It's same to TkWinfo.classname(self). * add TkBindTag.new_by_name and TkDatabaseClass for binding to database class * check varname whether already exsist or not. (TkVarAccess.new) * TkTextWin#bbox returns an array of four numbers * autoload TkDialog2, TkWarning2 * scan event callback arguments and convert to proper type * TkBindTag.new accepts a block ( TkBindTag.new(context){callback} ) * If given taglist, TkWindow#bindtags(taglist) returns taglist * add TkWindow#bindtags=(taglist) * Tk.focue and Tk.focus_lastfor return nil if there is no target widget. * Tk::Wm.client returns the argument string when setting name * TkGrid.columnconfiginfo and rowconfiginfo given a slot return a number. * TkWindow.grid_columnconfiginfo and grid_rowconfiginfo :: ditto * rename and define alias :: TkOption ==> TkOptionDB * define alias :: TkTimer ==> TkAfter * some instance methods change from public to private * some TkComm methods change to module functions (help to treat return values from Tk) * add support for -displayof option to some TkWinfo methods * bind, bind_append and bind_remove :: returns the target of event-binding * add Tk8.4 features * add TkPaneWindow tkdialog.rb: * classes without showing at initialize : TkDialog2, TkWarning2 * add show method to reuse TkDialog object * some instance methods change from public to private * add new features for configuration tktext.rb : * small bug fix * some methods return self * add TkTextMark#+(mod) and TkTextMark#-(mod) (e.g. mark + '3 chars') * add some methods tkcanvas.rb : * small bug fix * some methods return self tkentry.rb : * some methods return self * TkEntry#bbox returns an array of four numbers * scan validatecommand arguments and convert to proper type tkbgerror.rb : * support to define a error handler by user tcltklib.rb : * reported by Ferenc Engard <engard@all.hu> on [ruby-talk:60759] ... and so on git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tkfont.rb')
-rw-r--r--ext/tk/lib/tkfont.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/tk/lib/tkfont.rb b/ext/tk/lib/tkfont.rb
index d9eb8ecbed..b53919a145 100644
--- a/ext/tk/lib/tkfont.rb
+++ b/ext/tk/lib/tkfont.rb
@@ -13,6 +13,14 @@ class TkFont
Tk_FontNameTBL = {}
Tk_FontUseTBL = {}
+ TkComm::INITIALIZE_TARGETS << self
+
+ def self.__init_tables__
+ Tk_FontNameTBL.clear
+ Tk_FontUseTBL.clear
+ Tk_FontID[0] = 0
+ end
+
# set default font
case Tk::TK_VERSION
when /^4\.*/
@@ -879,6 +887,7 @@ class TkFont
def configure(slot, value=None)
configure_core(@compoundfont, slot, value)
+ self
end
def configinfo(slot=nil)
@@ -895,6 +904,7 @@ class TkFont
else
configure(slot, value)
end
+ self
end
def latin_configinfo(slot=nil)
@@ -914,6 +924,7 @@ class TkFont
#""
configure(slot, value)
end
+ self
end
def kanji_configinfo(slot=nil)
@@ -935,11 +946,13 @@ class TkFont
def latin_replace(ltn)
latin_replace_core(ltn)
reset_pointadjust
+ self
end
def kanji_replace(knj)
kanji_replace_core(knj)
reset_pointadjust
+ self
end
def measure(text)
@@ -1019,27 +1032,33 @@ module TkTreatTagFont
def font_configure(slot)
@parent.tagfont_configure(@id, slot)
+ self
end
def latinfont_configure(ltn, keys=nil)
@parent.latintagfont_configure(@id, ltn, keys)
+ self
end
alias asciifont_configure latinfont_configure
def kanjifont_configure(knj, keys=nil)
@parent.kanjitagfont_configure(@id, ltn, keys)
+ self
end
def font_copy(window, wintag=nil)
@parent.tagfont_copy(@id, window, wintag)
+ self
end
def latinfont_copy(window, wintag=nil)
@parent.latintagfont_copy(@id, window, wintag)
+ self
end
alias asciifont_copy latinfont_copy
def kanjifont_copy(window, wintag=nil)
@parent.kanjitagfont_copy(@id, window, wintag)
+ self
end
end