aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk
Commit message (Collapse)AuthorAgeFilesLines
* * ready to use 'validatecommand' option of TkEntry/TkSpinbox widgetnagai2003-08-033-25/+45
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * typo bugnagai2003-08-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * additional messagenagai2003-08-032-0/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * (bug fix) bug on Tk object ID managementnagai2003-08-032-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * add widget demo scriptsnagai2003-08-035-4/+253
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sorry. fixed commit missnagai2003-08-031-12/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * add or modify some widget demo scriptsnagai2003-08-0216-35/+1509
| | | | | | | * (bug fix) TkGrid failed to treat RELATIVE PLACEMENT git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (flo_to_s): get rid of buffer overflow.matz2003-08-021-0/+12
| | | | | | | | * io.c (appendline): clearerr(3) before raising exception, since exception may be captured by rescue. [ruby-talk:77794] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * (bug fix) forgot to entry a widget class name of 'labelframe' widgetnagai2003-08-0212-6/+650
| | | | | | | * add demo-scripts to the JP/EN widget demos git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * (bug fix) TkEntry#deletenagai2003-08-0233-134/+297
| | | | | | | | | | * (bug fix) some widget demos * support <TkVariable object> == <Symbol> ( "coerce TkVariable" add to the TODO list :-) ) * freeze some object for security reason git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * forgot to commit a sample scriptnagai2003-08-012-0/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bug fix : forget to eval given block to TkRoot.new methodnagai2003-08-011-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MANIFESTnobu2003-08-011-0/+139
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bug fix : wrong resource file format (resource.{en,jp})nagai2003-07-315-12/+72
| | | | | | | | * add Tk::Encoding.{encoding_convertfrom, encoding_convertto} * add TkOptionDB.read_with_encoding to read non-utf8 resource file git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * (IMPORTANT BUG FIX) scan of event keywords doesn't work on recentnagai2003-07-31141-25/+19495
| | | | | | | | | | | versions of Tck/Tk * (bug fix) initialize error of instance variable on TkComposite * (bug fix) initialize error on encoding-system on MultiTkIp * (bug fix) trouble on destroying widgets * (new) add JP and EN version of Ruby/Tk widget demos git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * wrap the command-proc of TkScale : pass the numeric object to the procnagai2003-07-314-24/+117
| | | | | | | | * better support for widgets created on Tk interpreter (without Ruby) * a little more stable on Multiple Tk interpreters running git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * MultiTkIp.new_* accept a block to eval under the new interpreternagai2003-07-301-6/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bug fixnagai2003-07-306-6/+33
| | | | | | | | * fix lack of methods for TkEntry * fix reference of uninitialized variables git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * additional check of Tk interpreters' status for a little more safetynagai2003-07-303-12/+31
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * fix a bug of the procedure for 'Delete' button on the safe-Tk frmaenagai2003-07-292-1/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * change default mode of mainloop_abort_on_exception on multi-tk.rbnagai2003-07-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bug fixnagai2003-07-292-1/+7
| | | | | | | | * change mainloop_abort_on_no_widget_cmd => mainloop_abort_on_exception ( to avoid thread timing trouble on accessing destroyed widgets ) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bug fix ( tested with Ruby/Tk widget demo )nagai2003-07-296-15/+25
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tcltklib.c : bug fixnagai2003-07-292-12/+30
| | | | | | | | multi-tk.rb : bug fix and pack options are pssed to the safeTk container sample/safe-tk.rb : add example for pack options of safeTk container git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tcltklib.c : *bug fixnagai2003-07-281-10/+315
| | | | | | | | | multi-tk.rb : *bug fix *add methods depend on Tcl's 'interp' command *suppot to control safe-level of each interpreter git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* multi-tk.rb : (new) library to support multiple Tk interpreters (high level)nagai2003-07-276-8/+868
| | | | | | | | | | | tcltklib.c : add some methods to support multiple interpreters (low level) MANUAL.euc : modify descriptions tcltklib/sample/safeTk.rb : (new) sample : how to use safeTk interpreter tk/sample/safe-tk.rb : (new) sample : how to use multi-tk.rb tk.rb, tkafter.rb : bug fix and add feature to supprt multi-tk git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wronglymatz2003-07-261-0/+4
| | | | | | | removed method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * variable.c (rb_mod_const_missing): "const_missing" should notmatz2003-07-261-4/+0
| | | | | | | | | appear in the caller(); add call frame adjustment. * eval.c (rb_method_missing): simplify call frame adjustment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tcltklib.c : add TclTkIp#create_slave , TclTkIp#_make_safe and TclTkIp#safe?nagai2003-07-252-24/+76
| | | | | | | | | MANUAL.euc : modify descriptions tk.rb : bug fix [ruby-talk:76980] and modify to support multi Tk IPs tkafter.rb : modify to support multi Tk IPs git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c : unify indentationnagai2003-07-2314-184/+317
| | | | | | | | | | | | configure.in : add --enable-setreuid option tcltklib.c : TclTkIp.new accepts 'ip-name' and 'options' ( e.g. TclTkIp.new('FOO', '-geometry 500x200 -use 0x2200009') ) tk.rb : support arguments of TclTkIp.new ( see TkCore::IP_NAME, TkCore::IP_OPTS ) tk*.rb : preparations for multi-Tk interpreter support git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-07-171-0/+4
| | | | | | | * recover and fix typo : Tk.chooseDirectory (Tk8.4 feature) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (ruby_init): set ruby_running to true aftermatz2003-07-171-9/+5
| | | | | | | initialization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-07-111-2/+2
| | | | | | | | * not create a Tcl/Tk interpreter if already defined TkCore::INTERP * bugfix on TkWindow#configure git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-07-011-9/+23
| | | | | | | | * TkWindow include TkWinfo * treat unknown widget classes as subclasses of TkWindow git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-252-2/+154
| | | | | | | | | | | | | | | | | * add and modify : TkWidget.database_class, TkWidget.database_classname, TkWidget#database_class, TkWidget#database_classname * instances of a subclass of TkToplevel or TkFrame are created with ":class=>subclass" option as default. For example, the followings create similar objects. (1) TkFrame.new(:class=>'XXX') (2) class XXX < TkFrame; end; XXX.new sample/tkoptdb.rb : * add new part of sample script git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tkcanvas.rb :nagai2003-06-253-40/+128
| | | | | | | | | | | | | | | | | * Although requiring manual control of GC, memory eating problem of TkCanvas Items is fixed. Probably, a time when GC should run is only after removing many canvas items. GC's cost is large and the man who knows proper timing to start GC is the man who create the script. So, Ruby/Tk doesn't start GC automatically. tktext.rb : * add some methods and bug fix tk.rb : * add widget destroy hook binding to TkBindTag::ALL git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-245-22/+204
| | | | | | | | | | | | | * TkToplevel, TkFrame, TkPanedwindow, TkOptionDB : bug fix * TkOptionDB : make it more secure to use procs defined on resourceDB sample/tkoptdb.rb, sample/resource.ja, sample/resource.en : * sample script how to use TkOptionDB. resource.ja and resource.en are samples of resource definition file which are read by tkoptdb.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * MANIFEST: add wince files.eban2003-06-231-0/+1
| | | | | | | * ext/tk/MANIFEST: add sample/tkmenubutton.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-231-8/+23
| | | | | | | * TkRoot and TkToplevel : bug fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-222-11/+165
| | | | | | | | | | | | | | | | | | * TkRoot.new and TkToplevel.new accept Wm commands as elements of a hash argument. e.g. TkRoot.new(:title=>'App Title') TkToplevel.new(:parent=>Tk.root, :title=>'XXX', :class=>'ZZZ') * TkMenu :: add some methods * TkOptionMenubutton :: bug fix sample/tktimer2.rb * add comments about the usage of a TkTimer object. sample/tkmenubutton.rb * sample of TkMenubutton and TkOptionMenubutton git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-212-6/+52
| | | | | | | | | | | | | * TkRoot.new and TkToplevel.new accept Wm commands as elements of a hash argument. e.g. TkRoot.new(:title=>'App Title') TkToplevel.new(:parent=>Tk.root, :title=>'XXX', :class=>'ZZZ') sample/tktimer2.rb * add comments about the usage of a TkTimer object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Ruby/Tk libraries except tk.rb :nagai2003-06-217-21/+63
| | | | | | | | | | | | | | | | | | | | | * remove direct-accesses to a TkComm::INTERP * remove direct-accesses to a TkComm::INITIALIZE_TARGETS * use TkINTERP_SETUP_SCRIPTS constant for setting up the interpreter tcltklib.c : * support to create a safe interpreter with safe-Tk ( Tk8.x ) you can test it by the following --------------------------------------------- require 'tk' safeip = Tk::INTERP._eval('::safe::interpCreate') Tk::INTERP._eval('::safe::loadTk ' + safeip) Tk::INTERP._eval(safeip + ' eval button .b -text SlaveIP -command exit') Tk::INTERP._eval(safeip + ' eval pack .b') Tk.mainloop --------------------------------------------- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tcltklib.c :nagai2003-06-201-3/+4
| | | | | | | * Tk interpreter returns TAINTED strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tcltklib.c :nagai2003-06-194-9/+53
| | | | | | | | | | | | | | | | | | | | | | | | | * lib_do_one_event() : change default value of the argument * lib_do_one_event() : returns true/false * add TclTkLib::EventFlag::NONE ( == 0 ) * add set_no_event_wait() and get_no_event_wait() * modify MANUAL.euc and README.euc tk.rb : * change default value of TkCore.do_one_event argument * add TkCore.set_no_event_wait(wait) and TkCore.get_no_event_wait * add Tk.exit ( == destroy root widget ) tkafter.rb : * rename TkAfter => TkTimer ( TkAfter is an alias name now. ) * set_callback returns self * continue() raises an exception, if already running or no procedure. * skip() raises an exception, if not running. sample/tktimer2.rb * new sample for TkTimer class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb :nagai2003-06-1813-430/+1646
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * eval.c (proc_alloc): re-unification of Block and Proc. Blockmatz2003-06-164-22/+22
| | | | | | | class is no longer available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb : add 'no_create' option to widget initialize method.nagai2003-06-123-8/+28
| | | | | | | | | | It allows to create ruby objects for widgets created on Tcl/Tk. (e.g. TkButton.new('widgetname'=>'.bbb', 'no_create'=>true) ) It is useful for some Tcl/Tk Mega Widgets. MANIFEST, README : forgot to commit when added tkmacpkg.rb and tkwinpkg.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tk.rb : widget configure returns self (for method call chain)nagai2003-06-123-0/+135
| | | | | | | | tkmacpkg.rb : Mac resource (not new but not included untill now) tkwinpkg.rb : Win DDE and registry (not new but not included untill now) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_call_super): inheritance line adjustment moved frommatz2003-06-034-23/+23
| | | | | | | | | rb_call(). [ruby-core:01113] * eval.c (rb_eval): use rb_call_super() to follow DRY principle. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (Init_Proc): Block/Proc separation. [huge change]matz2003-05-261-3/+12
| | | | | | | | | | | | | | * eval.c (block_arity): returns exact arity number for Procs out of methods. also gives 1 for {|a|..}. * string.c (rb_str_match): revert use of String#index for invocation like string =~ string. * eval.c (rb_Array): move Object#to_a exclusion hack from splat_value(). need to be in eval.c for a while. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e