Commit graph

21 commits

Author SHA1 Message Date
nagai
d8812e2a14 * ext/tk/lib/tk/canvas.rb: *** POTENTIALLY INCOMPATIBLE ***
'tags' option of a TkcItem object gives a list of TkcTag objects.
* ext/tk/lib/tkextlib/vu/dial.rb: fix logical bug.
* ext/tk/lib/tk/canvas.rb, ext/tk/lib/tkextlib/blt/component.rb: 
  lack of support for methodcall_optkeys.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-05 21:29:44 +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
9bb9f4ec28 * ext/tk/lib/tkextlib/blt/tabset.rb, ext/tk/lib/tkextlib/blt/tabnotebook.rb:
fix many bugs. Now, those work properly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 18:50:12 +00:00
nagai
c65828a877 * ext/tk/lib/tkextlib/blt.rb, ext/tk/lib/tkextlib/blt/vector.rb:
fix NameError bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-22 01:38:28 +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
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
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
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
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
088f21e259 * ext/tk/lib/tkextlib/tile.rb, lib/tkextlib/tile/* : support Tile 0.7.6.
* ext/tk/lib/tkextlib/SUPPORT_STATUS: [ruby-talk:211939] check links
  of extensions.
* ext/tk/lib/tkextlib/blt/container.rb: define instance methods properly.
* ext/tk/lib/tkextlib/tile/tcombobox.rb: bug fix [ruby-talk:213003].
* ext/tk/lib/tkextlib/tile/tnotebook.rb: ditto.
* ext/tk/lib/tkextlib/tile/treeview.rb: ditto.
* ext/tk/lib/tkextlib/tile/sizegrip.rb: [new] add 'ttk::sizegrip' widget.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-04 09:52:54 +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
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
nagai
a7a1ec77eb * ext/tk/lib/tkextlib/blt/winop.rb: fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-10 01:29:03 +00:00
nagai
d4d182578c * ext/tk/lib/tk.rb (TkWindow.initialize): accept 'without_creating'
option without 'widgetname' option to allow creating a widget object
  which is used as an argument of Tcl/Tk's widget allocation commands.
* ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'
  option to create a image object by the given name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-01 17:22:02 +00:00
nagai
c41a7aa15f * lib/tkextlib/blt/component.rb: bug fix on treatment of
component objects.
* sample/tkextlib/blt/graph6.rb: a new sample script.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-01 03:48:26 +00:00
nagai
ef5afcf8a0 * lib/tkextlib/blt/component.rb: cannot create elements except
default type of element.
* lib/tkextlib/blt/barchart.rb: ditto.
* lib/tkextlib/blt/graph.rb: ditto.
* lib/tkextlib/blt/stripchart.rb: ditto.
* lib/tkextlib/blt/component.rb: axis command option gets
  proper object type of arguments.
* sample/tkextlib/blt/calendar.rb: new sample.
* sample/tkextlib/blt/pareto.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-29 10:27:32 +00:00
nagai
7738391d23 * ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether
a class is available for a callback entry.
* ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.
* ext/tk/lib/tk.rb (array2tk_list): change from private module method
  of TkComm to public module method.
* ext/tk/lib/tk.rb (cget): add check that slot argument is not empty string.
* ext/tk/lib/tk.rb (configinfo): ditto.
* ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument
  is not empty string.
* ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.
* ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of
  cursor and cursor= method).
* ext/tk/lib/tk/font.rb: improve font treatment when the font name is
  empty string.
* ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure type.
* ext/tk/lib/tk/variable.rb: improve treatment of array-type tkvariable.
* ext/tk/lib/tkextlib/blt.rb: add commands for zooming.
* ext/tk/lib/tkextlib/blt/*: bug fix.
* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods
  to call TreeCtrl commands for bindings.
* ext/tk/sample/tkextlib/blt/*: new sample scritps.
* ext/tk/sample/tkextlib/treectrl/*: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-26 13:58:11 +00:00
nagai
4f7d0eaaf3 * ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remained
after scripts [ruby-dev:25479]: NULL current namespce when deleting
  Tk interpreter [ruby-talk:126225]
* ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted
  [ruby-talk:126360]
* ext/tcltklib/extconf.rb: add yet another native-thread check
* ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize
  Ruby interpreter
* ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame
* ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag
  doesn't return the created object [ruby-dev:25479]
* ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]
* ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for
  a command argument [ruby-dev:25479]
* ext/tk/lib/multi-tk.rb: ditto
* ext/tk/lib/tk/*.rb: ditto
* ext/tk/lib/tkextlib/*.rb: ditto
* ext/tk/sample/demos-jp/anilabel.rb: new demo script
* ext/tk/sample/demos-en/anilabel.rb: ditto
* ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix
  [ruby-dev:25479]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25 05:09:22 +00:00
nagai
6eb09c3d04 * ext/tk/lib/tkextlib/blt.rb: add BLT extension support
* ext/tk/lib/tkextlib/blt/*.rb: ditto
* ext/tk/lib/tkextlib/blt/tile/*.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 16:23:30 +00:00