Commit graph

206 commits

Author SHA1 Message Date
nagai
00b66b7edb * ext/tk/lib/tk.rb,ext/tk/lib/tk/grid.rb: Bug fix on grid_slaves().
Extend usage pattern of grid_column()/grid_row().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-17 22:10:31 +00:00
nagai
3316eb9c61 * ext/tk/extconf.rb,ext/tk/config_list.in: ignore paths which includes
white space characters on Windows.[ruby-dev:38794]
* ext/tk/lib/tk.rb: works on Cygwin (limitation:: Tk.mainloop works on
  the main thread only).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 14:35:07 +00:00
nagai
41b74c6e20 * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries.
* ext/tk/*: Support new features of Tcl/Tk8.6b1 and minor bug fixes.
     ( [KNOWN BUG] Ruby/Tk on Ruby 1.9 will not work on Cygwin. )
* ext/tk/*: Unify sources between Ruby 1.8 & 1.9.
            Improve default_widget_set handling.
* ext/tk/*: Multi-TkInterpreter (multi-tk.rb) works on Ruby 1.8 & 1.9.
     ( [KNOWN BUG] On Ruby 1.8, join to a long term Thread on Tk
       callbacks may freeze. On Ruby 1.9, cannot create a second 
       master interpreter (creating slaves are OK); supported master
       interpreter is the default master interpreter only. )
* ext/tk/lib/tkextlib/*: Update supported versions of Tk extensions.
         Tcllib 1.8/Tklib 0.4.1  ==>  Tcllib 1.11.1/Tklib 0.5
         BWidgets 1.7            ==>  BWidgets 1.8
         TkTable 2.9             ==>  TkTable 2.10
         TkTreeCtrl 2005-12-02   ==>  TkTreeCtrl 2.2.9
         Tile 0.8.0/8.5.1        ==>  Tile 0.8.3/8.6b1
         IncrTcl 2005-02-14      ==>  IncrTcl 2008-12-15
         TclX 2005-02-07         ==>  TclX 2008-12-15
         Trofs 0.4.3             ==>  Trofs 0.4.4


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 23:09:52 +00:00
nagai
0aaec36f3b * ext/tk/lib/tk/menu.rb: TkOptionMenubutton.new fails to treat
'parent' and 'variable' options on a Hash argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 21:08:26 +00:00
nagai
20b20bb72a * ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: fix memory leak.
* ext/tk/lib/tk.rb: avoid trouble when finalize TclTkIp.

* ext/tk/lib/tk.rb, ext/tk/lib/tk/*: help to fix troubles when 
  use Ttk widgets on old Tk scripts.

* ext/tk/sample/*: update and add demo stcipts. some of them are 
  introduction about new features of Tcl/Tk8.5.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 19:24:24 +00:00
nagai
9d9c38d4f9 * ext/tk/lib/tk.rb: fix memory (object) leak bug.
* ext/tk/sample/demos-jp/aniwave.rb, ext/tk/sample/demos-en/aniwave.rb:
  bug fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 23:22:17 +00:00
nagai
d37d14c0a5 * ext/tk/tkutil/tkutil.c: improve handling callback-subst-keys.
Now, support longnam-keys (e.g. '%CTT' on tkdnd-2.0; however, still
  not support tkdnd-2.0 on tkextlib), and symbols of parameters (e.g. 
  :widget=>'%W', :keycode=>'%k', '%x'=>:x, '%X'=>:root_x, and so on; 
  those are attributes of event object). It means that Ruby/Tk accepts
  not only "widget.bind(ev, '%W', '%k', ...){|w, k, ...| ... }", but 
  also "widget.bind(ev, :widget, :keycode, ...){|w, k, ...| ... }". 
  It is potentially incompatible, when user passes symbols to the
  arguments of the callback block (the block receives the symbols as
  strings). I think that is very rare case (probably, used by Ruby/Tk
  experts only). When causes such trouble, please give strings instead
  of such symbol parameters (e.g. call Symbol#to_s method).

* ext/tk/lib/tk/event.rb, ext/tk/lib/tk/validation.rb, 
  ext/tk/lib/tkextlib/blt/treeview.rb, 
  ext/tk/lib/tkextlib/winico/winico.rb: ditto.

* ext/tk/tkutil/tkutil.c: strings are available on subst_tables on 
  TkUtil::CallbackSubst class (it is useful on Ruby 1.9). 

* ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tkextlib/iwidgets/hierarchy.rb, 
  ext/tk/lib/tkextlib/iwidgets/spinner.rb, 
  ext/tk/lib/tkextlib/iwidgets/entryfield.rb, 
  ext/tk/lib/tkextlib/iwidgets/calendar.rb, 
  ext/tk/lib/tkextlib/blt/dragdrop.rb, 
  ext/tk/lib/tkextlib/tkDND/tkdnd.rb, 
  ext/tk/lib/tkextlib/treectrl/tktreectrl.rb, 
  ext/tk/lib/tkextlib/tktable/tktable.rb: disable code piece became 
  unnecessary by reason of the changes of ext/tk/tkutil/tkutil.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 00:54:31 +00:00
nagai
bf12000450 * ext/tk/lib/tk/wm.rb: Wm#overrideredirect overwrites arguemnt to
an invalid value.

* ext/tk/sample/ttk_wrapper.rb: support "if __FILE__ == $0" idiom.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:59:23 +00:00
nagai
2309a819f4 * ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: fix serious bug on the
last commit. It fails to do pack/grid without options.

* ext/tk/lib/tk.rb: add TkWindow#grid_anchor, grid_column, grid_row.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-10 17:55:24 +00:00
nagai
9dc2db4ff3 * ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase parameter
patterns of configure method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-10 04:19:12 +00:00
nagai
ba75e8cd29 * ext/tk/lib/tk/wm.rb: methods of Tk::Wm_for_General module cannot
pass the given block to methods of Tk::Wm module.

* ext/tk/lib/tk/grid.rb: lack of module-method definitions.

* ext/tk/lib/tkextlib/tile.rb: lack of autoload definitions.

* ext/tk/lib/tkextlib/tile/tnotebook.rb: cannot use kanji (not UTF-8) 
  characters for headings.

* ext/tk/tcltklib.c: maybe a little more stable about @encoding value 
  of TclTkIp object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-09 14:33:25 +00:00
nagai
40e7794993 * ext/tk/lib/tk.rb, ext/tk/lib/tk/scrollbar.rb, ext/tk/lib/tk/scale.rb:
improve unknonw-option check when create a widget. 

* ext/tk/lib/tkextlib/blt/unix_dnd.rb, ext/tk/lib/tkextlib/blt/ted.rb,
  ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix on 'cget'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-17 23:06:33 +00:00
nagai
ea81398ba7 * ext/tk/lib/tk/menuspec.rb: option check will fail when
TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__ is true.

* ext/tk/lib/tk/palette.rb: bug fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 07:59:56 +00:00
nagai
9126130c4a * ext/tk/lib/tk/text.rb: typo. call a wrong method.
* ext/tk/lib/tk/itemconfig.rb: ditto.

* ext/tk/sample/ttk_wrapper.rb: bug fix.

* ext/tk/sample/tktextio.rb: add binding for 'Ctrl-u' at console mode.

* ext/tk/lib/tk.rb, ext/tk/lib/tk/itemfont.rb, ext/tk/lib/font.rb: 
  support __IGNORE_UNKNOWN_CONFIGURE_OPTION__ about font options.

* ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb, 
  ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb, 
  ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: bug fix. 

* ext/tk/lib/tkextlib/tile/tpaned.rb: improve TPaned#add.

* ext/tk/lib/tk/timer.rb: add TkTimer#at_end(proc) to register the 
  procedure which called at end of the timer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 15:17:52 +00:00
nagai
849892636f * ext/tk/tcltklib.c: SEGV when tcltk-stubs is enabled.
* ext/tk/tcltklib.c: avoid error on a shared object.

* ext/tk/extconf.rb: support --with-tcltkversion

* ext/tk/README.tcltklib: add document about --with-tcltkversion

* ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-en/widget, 
  ext/tk/sample/demos-jp/style.rb, ext/tk/sample/demos-en/style.rb, 
  ext/tk/sample/demos-jp/bind.rb, ext/tk/sample/demos-en/bind.rb: 
  bug fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-09 14:15:24 +00:00
nagai
aff4ce9c77 * ext/tk/*: full update Ruby/Tk to support Ruby(1.9|1.8) and Tc/Tk8.5.
* ext/tk/lib/tkextlib/tile.rb: [incompatible] remove TileWidgets' 
  instate/state/identify method to avoid the conflict with standard
  widget options. Those methods are renamed to ttk_instate/ttk_state/
  ttk_identify (tile_instate/tile_state/tile_identify are available 
  too). Although I don't recommend, if you realy need old methods, 
  please define "Tk::USE_OBSOLETE_TILE_STATE_METHOD = true" before 
  "require 'tkextlib/tile'".

* ext/tk/lib/tkextlib/tile.rb: "Tk::Tile::__Import_Tile_Widgets__!"
  is obsolete. It outputs warning. To control default widget set, 
  use "Tk.default_widget_set = :Ttk".

* ext/tk/lib/tk.rb: __IGNORE_UNKNOWN_CONFIGURE_OPTION__ method and 
  __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode) method are defind 
  as module methods of TkConfigMethod. It may help users to wrap old 
  Ruby/Tk scripts (use standard widgets) to force to use Ttk widgets.
  Ttk widgets don't have some options of standard widgets which are 
  control the view of widgets. When set ignore-mode true, configure 
  method tries to ignoure such unknown options with no exception. 
  Of course, it may raise other troubles on the GUI design. 
  So, those are a little danger methods. 

* ext/tk/lib/tk/itemconfig.rb: __IGNORE_UNKNOWN_CONFIGURE_OPTION__ 
  method and __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode) method 
  are defind as module methods of TkItemConfigMethod as the same 
  purpose as TkConfigMethod's ones.

* ext/tk/sample/ttk_wrapper.rb: A new example. This is a tool for 
  wrapping old Ruby/Tk scripts (which use standard widgets) to use 
  Ttk (Tile) widgets as default.

* ext/tk/sample/tkextlib/tile/demo.rb: use ttk_instate/ttk_state 
  method instead of instate/state method.

* ext/tk/lib/tk/root, ext/tk/lib/tk/namespace.rb,
  ext/tk/lib/tk/text.rb, ext/tk/lib/tkextlib/*: some 'instance_eval's  
  are replaced to "instance_exec(self)".

* ext/tk/lib/tk/event.rb: bug fix on KEY_TBL and PROC_TBL (?x is not 
  a character code on Ruby1.9).

* ext/tk/lib/tk/variable.rb: support new style of operation argument 
  on Tcl/Tk's 'trace' command for variables. 

* ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-en/widget: bug fix

* ext/tk/sammple/demos-jp/textpeer.rb, 
  ext/tk/sammple/demos-en/textpeer.rb: new widget demo.

* ext/tk/tcltklib.c: decrase SEGV troubles (probably)

* ext/tk/lib/tk.rb: remove Thread.critical access if Ruby1.9

* ext/tk/lib/tk/multi-tk.rb: support Ruby1.9 (probably)

* ext/tk/lib/tkextlib/tile.rb: add method to define Tcl/Tk command 
  to make Tcl/Tk theme sources (based on different version of Tile 
  extension) available. 
  (Tk::Tile::__define_LoadImages_proc_for_comaptibility__)

* ext/tk/lib/tk.rb, ext/tk/lib/tk/wm.rb: support dockable frames
  (Tcl/Tk8.5 feature). 'wm' command can treat many kinds of widgets 
  as toplevel widgets.

* ext/tk/lib/tkextlib/tile/style.rb: ditto.
  (Tk::Tile::Style.__define_wrapper_proc_for_compatibility__)

* ext/tk/lib/tk/font.rb: add actual_hash and metrics_hash to get 
  properties as a hash. metrics_hash method returns a boolean value 
  for 'fixed' option. But metrics method returns numeric value 
  (0 or 1) for 'fixed' option, because of backward compatibility. 

* ext/tk/lib/tk/timer.rb: somtimes fail to set callback procedure.

* ext/tk/lib/tk.rb: add Tk.sleep and Tk.wakeup method. Tk.sleep 
  doesn't block the eventloop. It will be better to use the method 
  in event callbacks.

* ext/tk/sample/tksleep_sample.rb: sample script about Tk.sleep.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-29 05:25:45 +00:00
nagai
a06de8b901 * ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd,
__conv_keyonly_opts).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-09 15:30:59 +00:00
nagai
eac39d7c02 * ext/tk/lib/tk.rb (TkConfigMethod#__confinfo_cmd,__conv_keyonly_optkeys):
make them private [ruby-dev:30074].
* ext/tk/lib/tk/txtwin_abst.rb: fix typo [ruby-dev:30073].
* ext/tk/lib/tk/canvas.rb (TkCanvas#scan_dragto): lack of an argument.
* ext/tk/lib/tk/canvas.rb: clarify the  including module name [ruby-dev:30080].
* ext/tk/lib/tk/scrollable.rb: change primary name of modules [ruby-dev:30080].
* ext/tk/lib/tkextlib/iwidgets/checkbox.rb: wrong number of arguments 
  [ruby-Bugs-7776].
* ext/tk/lib/tkextlib/iwidgets/radiobox.rb: ditto.
* ext/tk/lib/tkextlib/blt/tile/checkbutton.rb: change primary name of
  class [ruby-dev:30080].
* ext/tk/lib/tkextlib/blt/tile/radiobutton.rb: ditto.
* ext/tk/ChangeLog.tkextlib: update.
* ext/tk/lib/tkextlib/version.rb: update.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-26 03:18:23 +00:00
nagai
b287873344 * ext/tk/lib/tk/itemconfig.rb: minor bug fix.
* ext/tk/lib/tkextlib/tile/treeview.rb : ditto.
* ext/tk/lib/tkextlib/blt/table.rb: fix bugs which forbade use of
  '::blt::table' command. Now, probably, it'll works properly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-07 09:11:38 +00:00
nagai
1d82954444 * ext/tk/lib/tk/itemconfig.rb: bug fix on 'itemconfiginfo' method, and
modify to make it easy to override 'itemconfiginfo' method.
* ext/tk/lib/tkextlib/tile/treeview.rb : support Tile 0.7.8.
* ext/tk/lib/tkextlib/version.rb : [new] add Tk::Tkextlib_RELEASE_DATE
  to get the information from scripts.
* ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE.
* ext/tk/lib/tkextlib/SUPPORT_STATUS: update.
* ext/tk/sample/editable_listbox.rb: [new] the listbox with editable
  items. It's one of the example about usage of Place geometry manager.
* ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.
  Those are required by 'irbtkw.rbw'.
* ext/tk/sample/irbtkw.rbw: [new] IRB on Ruby/Tk. It doesn't need any
  real console. IRB works on a text widget without I/O blocking. That
  is, thread switching on IRB will work properly, even if on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-06 06:56:37 +00:00
nagai
6d4728513c * ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work on Tcl/Tk8.x.
* ext/tk/lib/tk.rb: update RELEASE_DATE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-01 05:09:51 +00:00
nagai
aae4100998 * ext/tk/lib/tk.rb: add methods for new features of latest Tcl/Tk8.5
* ext/tk/lib/tk/namespace.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-14 04:10:51 +00:00
nagai
6e95dc1430 * ext/tk/lib/tk/composite.rb: improve handling of the classname on the
option database for the widget class which includes TkComposite.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-13 13:27:20 +00:00
nagai
8a4c1e5001 * ext/tk/lib/multi-tk.rb: security fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-11 09:04:00 +00:00
nagai
6e0e4baf29 * ext/tk/tcltklib.c: make SEGV risk lower at exit.
* ext/tk/lib/tk.rb: ditto.

* ext/tk/lib/multi-tk.rb: fail to call function-style methods on slave
  interpreters. The strategy (MultiTkIp_PseudoToplevel_Evaluable) to
  fix the problem is a little tricky. You may have to take care of
  conflicting with it.
* ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.
* ext/tk/lib/tk/font.rb: ditto.
* ext/tk/lib/tk/msgcat.rb: ditto.
* ext/tk/lib/tkextlib/itk/incr_tk.rb: ditto.

* ext/tk/sample/demos-en/widget: fail to call function-style methods
  on sample scripts. To fix it, a strategy which similar to the way
  on MultiTiIp is used. Please take care when re-write and re-run a
  demo script on the Widget-Demo code viewer.
* ext/tk/sample/demos-jp/widget: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-10 09:52:30 +00:00
nagai
c47bf50af7 * ext/tk/tcltklib.c (ip_make_menu_embeddable): help to make a menu
widget embeddable (pack, grid, and so on) like as a general widget.
  However, an embeddable menu may require to be definied some event
  bindings for general use.
* ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and
  Tk.callback_continue don't work on MultiTkIp.
* ext/tk/lib/multi-tk.rb: ditto.
* ext/tk/lib/tk.rb: lack of Tk.callback_return.
* ext/tk/lib/tk/menu.rb: improve creating clone menus.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-03 10:08:11 +00:00
nagai
3764541f8e * ext/tk/tcltklib.c: forgot to update TCLTKLIB_RELEASE_DATE.
* ext/tk/lib/tk.rb (tk_tcl2ruby): [bug fix] somtimes fail to convert
  a tcl string to a ruby object if the tcl string includes "\n".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-27 13:51:45 +00:00
nagai
8784f9c235 * ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.
* ext/tk/lib/tk.rb: update RELEASE_DATE.
* ext/tk/tcltklib.c: forget to reset a Tcl interpreter.
* ext/tk/stubs.c: fix potential bugs about handling rb_argv0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-18 08:43:10 +00:00
nagai
52d25a671b * ext/tk/tcltklib.c: fix SEGV when embedding to an application.
[ruby-core:7600]
* ext/tk/tcltklib.c: fix SEGV at exit. [ruby-talk:186489]
* ext/tk/tkutil/tkutil.c: follow to changing specification of
  instance_eval on ruby-1.9.x.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/lib/multi-tk.rb: ditto.
* ext/tk/lib/tk.rb: remove warning about redefinition of methods.
* ext/tk/lib/tk/variable.rb: remove warning about unseting Tcl
 variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-05 16:08:45 +00:00
nagai
9b85df19a1 * ext/tk/tcltklib.c: forgot to update RELEASE_DATE.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/sample/demos-en/menu.rb: commit miss.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-06 16:24:22 +00:00
nagai
d062ab90e1 Add lacks for Tk8.5 support.
* ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get [Tk8.5 feature].
* ext/tk/lib/tk/text.rb: supports new indices modifires on a Text widget
  [Tk8.5 feature].
* ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.
* ext/tk/lib/tk/autoload.rb: ditto.
* ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5 feature].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 12:01:24 +00:00
nagai
cd30677dab * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8 or 1.9).
* ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.
* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
* ext/tk/lib/tk.rb: update RELEASE_DATE


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 22:37:53 +00:00
nagai
d3a17b1ee0 * ext/tk/lib/multi-tk.rb: add restriction to access the entried
command table and manipulate other IPs (for reason of security).
  Now, a IP object can be controlled by only its master IP or the
  default IP.
* ext/tk/lib/remote-tk.rb: add restriction to manipulate.
* ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)
  to check manipulability.
* ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.
* ext/tk/lib/tk/namespace.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 08:39:29 +00:00
nagai
2fc1b894a2 * ext/tk/lib/tk.rb: update RELEASE_DATE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-24 02:07:04 +00:00
nagai
a3d7c3b809 * ext/tcltklib/extconf.rb: improbe messages [ruby-core:06325].
* ext/tk/lib/tk.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/entry.rb,
  ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/image.rb,
  ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/labelframe.rb,
  ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/menu.rb,
  ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/scale.rb,
  ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/text.rb,
  ext/tk/lib/tk/toplevel.rb: improve conversion of option values.
* ext/tk/lib/tkextlib/*: ditto.
* ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.
* ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.
* ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.
* ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.
* ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-22 22:16:33 +00:00
nagai
4ea05aa254 * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
should call Kernel.eval on caller's safe-level instead of slave's
  safe-level (Of course, the given script should be evaluated on
  slave's safe-level).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 01:44:28 +00:00
nagai
36dc7c8751 * ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 05:50:56 +00:00
nagai
2f13fea889 * ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
TkDialogObj#name raises an exception. [ruby-talk:156109]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-15 02:41:17 +00:00
nagai
9138b29822 * ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
work (gives wrong order of arguments).
* ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace
  to support '-namespace' option of 'interp invokehidden' command
  on Tcl8.5.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-01 05:15:19 +00:00
nagai
38a63b25bc * ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().
* ext/tk/lib/tk/itemconfig.rb: fix bug on handling
  __item_ruby2val_optkeys().
* ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().
* ext/tk/lib/tkextlib/blt/component.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-10 01:32:44 +00:00
nagai
fca9326807 * ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.
* ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
  help to convert option values between ruby and tcl.
* ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
  __item_ruby2val_optkeys to help to convert option values between
  ruby and tcl.
* ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
  option (for the reason of backward compatibility).
* ext/tk/lib/tk/composite.rb: clarify the arguments of super().
* ext/tk/lib/tk/spinbox.rb: ditto.
* ext/tk/lib/tk/text.rb: ditto.
* ext/tk/lib/tk/validation.rb: ditto.
* ext/tk/lib/tkextlib/*: support to treat tkvariable-type
  configure options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-09 06:16:04 +00:00
ocean
f2db02042b * ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates
TkVariable if key name is 'variable' or 'textvariable'
  by default. [ruby-dev:26749]

* ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
  {variable,textvariable} function.

* ext/tk/lib/tk/variable.rb: retains backward conpatibility.

(written by Hidetoshi NAGAI)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-06 03:44:00 +00:00
nagai
31b2baaefe * ext/tcltklib/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.
* ext/tcltklib/tcltklib.c: add nativethread consistency check.
* ext/tcltklib/stubs.c: ditto.
* ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=
  when Tcl is 7.6 or 8.0.
* ext/tk/lib/tk/wm.rb: support to make some methods as options of
  root or toplevel widget. [ruby-talk:150336]
* ext/tk/lib/tk/root.rb: ditto.
* ext/tk/lib/tk/toplevel.rb: ditto.
* ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 09:41:34 +00:00
ocean
62e0c87898 * ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on
TkVariable retrived from TkVariable.new_hash.ref. [ruby-dev:26721]
  (written by Hidetoshi NAGAI)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 13:10:48 +00:00
nagai
3332a04e05 * ext/tcltklib/stubs.c: When --enable-tcltk-stubs, the initialize
routine creates a Tcl/Tk interpreter and deletes it. However,
  init cost of Tk's MainWindow is not so small. And that makes it
  impossible to use libraries written with Tcl functions only on
  an environment without a graphical display. This changes support
  delaying initalization of Tk_Stubs until the script needs Tk.
* ext/tcltklib/stubs.h: New file. Define prototypes and return
  codes of functions on stubs.c.
* ext/tcltklib/tcltklib.c: Support delaying initalization of
  Tk_Stubs until the script needs Tk.
* ext/tcltklib/tcltklib.c: Show friendly error messages for errors
  on initialization.
* ext/tcltklib/tcltklib.c: Avoid SEGV on ip_finalize() when ruby is
  exiting and $DEBUG is true. (Not fix. If you know the reason of
  why, please fix it.)
* ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of
  encoding.
* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
  don't work propery.
* ext/tk/lib/tk.rb: Forget extending Tk::Encoding module to Tk.
* ext/tk/lib/tk/variable.rb: TkVarAccess fails to initialize the
  object for an element of a Tcl's array variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-28 09:15:37 +00:00
nagai
4af6b52fc0 * ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-25 05:11:19 +00:00
nagai
ecf2813198 * ext/tk/tkutil.c (tk_conv_args): forget to revert thread_critical
and gc_disable when raise ArgumentError.
* ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil.
* ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method.
* ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.
* ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.
* ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.
* ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.
* ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to
  avoid access from external.
* ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'
  mainloop.
* ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP
  with $SAFE==4.
* ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work
  properly.
* ext/tk/lib/multi-tk.rb: add MultiTkIp#set_cb_error(proc) and
  cb_error(exc) to log errors at callbacks on safe slave IPs.
* ext/tk/lib/multi-tk.rb: fail to get an available slave IP object
  when call Tk.mainloop in the block which is given to new_* method,
  because cannot finish initialize while the root widget is alive.
* ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop
  runs on the IP.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-21 22:04:43 +00:00
nagai
0a5aab8679 * ext/tk/lib/tk.rb: forgot to update RELEASE_DATE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 06:57:46 +00:00
nagai
dbc2cc8c85 * ext/tcltklib/tcltklib.c: TclTkLib.do_one_event doesn't work.
* ext/tk/lib/tk.rb: Tk.thread_update is available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-13 03:46:35 +00:00
nagai
b93372d43c * ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.
* ext/tcltklib/tcltklib.c: add methods to treat encoding mode.
* ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding,
  encoding_system, and so on.
* ext/tcltklib/MANUAL.euc: ditto.
* ext/tk/tkutil.c: fail to create a Tcl's list string from an
  array including multiple kind of encoded strings.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.
* ext/tk/lib/remote-tk.rb: ditto.
* ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to
  use TkCore::INTERP.encoding and encoding=.
* ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check
  DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.
* ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and
  Tk.encoding_system. Tk.encoding has higher priority.
* ext/tk/lib/tk/optiondb.rb: ditto.
* ext/tk/lib/tk/spinbox.rb: ditto.
* ext/tk/lib/tk/validation.rb: ditto.
* ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist
  should be UTF-8 strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-05 05:55:58 +00:00