1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

22 commits

Author SHA1 Message Date
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
nagai
e6697a6405 * 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/lib/tk.rb, ext/tk/lib/multi-tk.rb, ext/tk/lib/remote-tk.rb: 
  not work on $SAFE==4

* ext/tk/lib/multi-tk.rb: Object#methods returns Symbols on Ruby1.9.

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

* 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/*: treat __IGNORE_UNKNOWN_CONFIGURE_OPTION__

* 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/tk/text.rb: typo. call a wrong method.

* ext/tk/lib/tk/itemconfig.rb: ditto.

* ext/tk/lib/tk.rb, ext/tk/lib/tk/itemconfig.rb, 
  ext/tk/lib/tk/canvas.rb: support alias names of option keys.

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

* ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase supported 
  parameter patterns of configure method.

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

* 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/wm.rb: Wm#overrideredirect overwrites arguemnt to 
  an invalid value.

* ext/tk/lib/tk.rb: fix memory (object) leak bug.

* ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: fix memory leak.

* ext/tk/sample/demos-jp/aniwave.rb, ext/tk/sample/demos-en/aniwave.rb:
  bug fix.

* ext/tk/lib/tkextlib/blt/component.rb, 
  ext/tk/lib/tkextlib/tile/tentry.rb, 
  ext/tk/lib/tkextlib/tile/treeview.rb: ditto.

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

* 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.

* ext/tk/sample/ttk_wrapper.rb: ditto.

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

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

* ext/tk/lib/tkextlib/tile.rb, ext/tk/lib/tkextlib/tile/style.rb, 
  ext/tk/sample/ttk_wrapper.rb: improve treating and control themes. 
  add Tk::Tile.themes and Tk::Tile.set_theme(theme).

* 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/lib/tkextlib/tkDND/shape.rb: wrong package name.

* 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.

* ext/tk/lib/tk.rb, ext/tk/lib/multi-tk.rb: change strategy to define
  the constant WITH_ENCODING.

* ext/tk/lib/tk.rb: fix bug on Tk::Encoding.tk_encoding_names.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 20:59:10 +00:00
nagai
3024ffdc3a * 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/trunk@15848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-29 05:25:12 +00:00
nagai
ee695fb164 * ext/tk/lib/tk.rb, ext/tk/lib/*: make default widget set
switchable between Tk (standard Tcl/Tk widget set) and 
  Ttk (Tile). Initial default widget set is Tk. Now, toplevel 
  widget classes are removed and defined as aliases. 
  For example, "TkButton" is an alias of the "Tk::Button" class. 
  Those aliases are replaced when switching default widget set. 
  "Tk.default_widget_set=" is the method for switching default 
  widget set. "Tk.default_widget_set = :Ttk" defines Ttk (Tile) 
  widget set as default. It means that "TkButton" denotes 
  "Tk::Tile::Button" class. And then, "TkButton.new" creates 
  a Tk::Tile::Button widget. Of course, you can back to use 
  standard Tk widgets as the default widget set by calling 
  "Tk.default_widget_set = :Tk", whenever you want. Based on 
  thie feature, you can use Ttk widget styling engine on your 
  old Ruby/Tk application without modifying its source, if you 
  don'tuse widget options unsupported on Ttk widgets (At first, 
  call "Tk.default_widget_set = :Ttk", and next load and run 
  your application). 
  This is one step for supporting Tcl/Tk8.5 features.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-27 18:44:31 +00:00
nagai
1ca94a0307 * ext/tk/lib/tkextlib/SUPPORT_STATUS: update to support libraries in
ActiveTcl8.4.12.0.
* ext/tk/lib/tkextlib/tile/tnotebook.rb: add Tk::Tile::TNotebook#insert.
* ext/tk/sample/tkextlib/tile/demo.rb: improve the look of a part of the demo.
* ext/tk/sample/scrollframe.rb: add a new sample.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-11 14:59:49 +00:00
nagai
8245833fb4 commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-25 07:12:58 +00:00
nagai
b244f5d57b * sample/tkextlib/tile/demo.rb: bug fix
* sample/tkextlib/tile/themes/*: add some themes (blue, keramik, and
  plastik; require Tile-0.5 or later).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-25 07:05:22 +00:00
ocean
58d86a2035 * 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/trunk@8933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-06 03:44:00 +00:00
ocean
a6c074a47a just fixed indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:54:08 +00:00
ocean
7b1bdb68e9 * ext/tk/sample/tkextlib/tile/demo.rb: followed previous changes.
* ext/tk/lib/tkextlib/tile/t*.rb: aliased class names starting with 'T'
  to non 'T' ones. (ie. Tk::Tile::TButton -> Tk::Tile::Button)
  [ruby-dev:26724]

* ext/tk/lib/tkextlib/tile.rb: ditto. (autoload support)

(Written by Hidetoshi NAGAI)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:48:13 +00:00
ocean
a767a76ad1 * ext/tk/sample/tkextlib/tile/demo.rb: fixed: Tk::Tile::TProgressbar is
supported on tile 0.6 or later, not tile 0.5.

* ext/tk/sample/tkextlib/tile/demo.rb: updated scales demo to use
  Tk::Tile::TProgressbar for tile 0.6 or later.

* ext/tk/sample/tkextlib/tile/demo.rb: set some TkVariable default values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:16:27 +00:00
ocean
28c635fa9a * ext/tk/lib/tkextlib/tile/treeview.rb: Tk::Tile::Treeview#headingconfigure
is now working and more. [ruby-dev:26716]

* ext/tk/sample/tkextlib/tile/demo.rb: use Tk::Tile::Treeview#headingconfigure
  instead of direct Tk.tk_call.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-02 21:05:17 +00:00
ocean
a26cec27e1 * ext/tk/lib/tkextlib/tile/tprogressbar.rb: Tk::Tile::TProgressbar#start
takes optional argument `interval'.

* ext/tk/sample/tkextlib/tile/demo.rb: emulate Tk::Tile::TProgressbar
  with Tk::Tile::TProgress in tile 0.4. (repeating buttons demo)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-02 11:49:46 +00:00
ocean
909e63ac3c * ext/tk/sample/tkextlib/tile/demo.rb: added repeating buttons demo.
* ext/tk/sample/tkextlib/tile/repeater.tcl: ditto. (new file)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-02 06:51:26 +00:00
ocean
b73cd9cb5c * ext/tk/lib/tkextlib/tile.rb: fixed autoload for Treeview.
* ext/tk/lib/tkextlib/tile/treeview.rb: replaced `ary2tk_list(items)' with
  `*items'.

* ext/tk/sample/tkextlib/tile: added treeview demo. (tile 0.5 or later is
  needed) [ruby-dev:26668]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-01 10:25:51 +00:00
ocean
9aab7083a8 * ext/tk/sample/tkextlib/tile/demo.rb: added combobox demo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-01 06:35:15 +00:00
ocean
2ea2d95e81 * ext/tk/sample/tkextlib/tile/demo.rb: fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 01:57:14 +00:00
ocean
15dfe8eee6 * ext/tk/sample/tkextlib/tile/themes/kroc.{rb,tcl}: also support tile 0.4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 09:04:18 +00:00
ocean
7eef190796 * sample/tkextlib/tile/themes/kroc.{rb,tcl}: support tile 0.5 or later.
("pixmap" element constructor replaced by "image")


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 05:11:55 +00:00
ocean
d993088277 * ext/tk/lib/tk/console.rb: create console when required
* ext/tk/sample/tkextlib/tile/demo.rb: create Console (commit miss?)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-06 04:47:43 +00:00
nagai
80eef0fd3b * ext/tk/lib/tk/console.rb: create console when required
* ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError & create Console


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-05 14:03:41 +00:00
nagai
9e985d3e58 * ext/tk/lib/tk.rb: update RELEASE_DATE
* ext/tk/lib/tk/image.rb: support to create TkImage object without
  creating a new image object on Tk.
* ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
* ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
* ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
  from (x, y) coords.
* ext/tk/lib/tkextlib/tile.rb: bug fix and update support status.
* ext/tk/lib/tkextlib/tile/*.rb: ditto.
* ext/tk/sample/tkextlib/tile: New demo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-09 09:27:54 +00:00