ffi-tk 2010.01.02 → 2010.02
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/AUTHORS +1 -1
- data/CHANGELOG +130 -0
- data/MANIFEST +3 -0
- data/example/tile/themes.rb +13 -0
- data/ffi-tk.gemspec +3 -3
- data/lib/ffi-tk/command/bind.rb +21 -4
- data/lib/ffi-tk/command/bindtags.rb +6 -2
- data/lib/ffi-tk/command/clipboard.rb +7 -2
- data/lib/ffi-tk/command/event.rb +2 -2
- data/lib/ffi-tk/command/focus.rb +6 -6
- data/lib/ffi-tk/command/grab.rb +2 -2
- data/lib/ffi-tk/command/grid.rb +21 -8
- data/lib/ffi-tk/command/place.rb +2 -6
- data/lib/ffi-tk/command/scrollable.rb +19 -19
- data/lib/ffi-tk/command/selection.rb +3 -3
- data/lib/ffi-tk/command/tk_cmd.rb +4 -3
- data/lib/ffi-tk/command/winfo.rb +2 -2
- data/lib/ffi-tk/core_extensions.rb +6 -3
- data/lib/ffi-tk/event/data.rb +34 -3
- data/lib/ffi-tk/event/handler.rb +11 -2
- data/lib/ffi-tk/ffi/tcl/interp.rb +3 -0
- data/lib/ffi-tk/ffi/tk.rb +39 -0
- data/lib/ffi-tk/tk.rb +2 -2
- data/lib/ffi-tk/version.rb +1 -1
- data/lib/ffi-tk/widget/canvas.rb +1 -1
- data/lib/ffi-tk/widget/checkbutton.rb +3 -3
- data/lib/ffi-tk/widget/listbox.rb +3 -3
- data/lib/ffi-tk/widget/menu.rb +5 -6
- data/lib/ffi-tk/widget/panedwindow.rb +95 -69
- data/lib/ffi-tk/widget/text.rb +42 -10
- data/lib/ffi-tk/widget/tile/notebook.rb +17 -10
- data/lib/ffi-tk/widget/tile/panedwindow.rb +53 -1
- data/lib/ffi-tk/widget/tile/scrollbar.rb +0 -2
- data/lib/ffi-tk/widget/tile/sizegrip.rb +2 -2
- data/lib/ffi-tk/widget/tile/style.rb +1 -1
- data/lib/ffi-tk/widget/tile/treeview.rb +7 -3
- data/spec/ffi-tk/command/bind.rb +25 -0
- metadata +5 -2
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
tags
|
data/AUTHORS
CHANGED
data/CHANGELOG
CHANGED
@@ -1,3 +1,133 @@
|
|
1
|
+
[e1ae1ee | 2010-02-14 18:34:03 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
2
|
+
|
3
|
+
* Version 2010.02
|
4
|
+
|
5
|
+
[a84139f | 2010-02-11 15:16:14 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
6
|
+
|
7
|
+
* Parse the grid_info
|
8
|
+
|
9
|
+
[848118d | 2010-02-10 01:35:13 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
10
|
+
|
11
|
+
* Remove debugging output from canvas bind
|
12
|
+
|
13
|
+
[860e5eb | 2010-02-03 15:53:47 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
14
|
+
|
15
|
+
* Tile::Treeview is Scrollable
|
16
|
+
|
17
|
+
[bb895e7 | 2010-02-02 16:22:12 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
18
|
+
|
19
|
+
* Make sure we return strings from Focus::focus
|
20
|
+
|
21
|
+
[9906882 | 2010-02-01 05:45:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
22
|
+
|
23
|
+
* Tk::get_color should run in thread_sender if needed
|
24
|
+
|
25
|
+
[a3c410f | 2010-01-30 04:07:03 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
26
|
+
|
27
|
+
* Version 2010.01
|
28
|
+
|
29
|
+
[08ea2af | 2010-01-30 04:05:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
30
|
+
|
31
|
+
* Version 2009.01
|
32
|
+
|
33
|
+
[8ae78b3 | 2010-01-28 18:47:39 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
34
|
+
|
35
|
+
* Return Items for Treeview#selection
|
36
|
+
|
37
|
+
[3a65a4a | 2010-01-28 13:25:25 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
38
|
+
|
39
|
+
* Define correct methods for ttk::panedwindow
|
40
|
+
|
41
|
+
[7e23eef | 2010-01-25 09:21:33 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
42
|
+
|
43
|
+
* Make sure all files are valid ASCII
|
44
|
+
|
45
|
+
[08d7237 | 2010-01-22 20:51:36 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
46
|
+
|
47
|
+
* Improve some more around Bind and add a spec
|
48
|
+
|
49
|
+
[f03669c | 2010-01-22 19:39:13 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
50
|
+
|
51
|
+
* Allow lookup of existing binds for Bind and BindTag
|
52
|
+
|
53
|
+
[9c0188f | 2010-01-20 15:00:45 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
54
|
+
|
55
|
+
* Adding Event::Data.resend
|
56
|
+
|
57
|
+
[d479e70 | 2010-01-19 01:40:23 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
58
|
+
|
59
|
+
* Fix Event::generate by converting options
|
60
|
+
|
61
|
+
[afabe51 | 2010-01-18 12:30:49 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
62
|
+
|
63
|
+
* Add shortcut to get from event data to widget instance
|
64
|
+
|
65
|
+
[5b0bbb0 | 2010-01-18 07:41:05 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
66
|
+
|
67
|
+
* Relay full exception with backtrace to tcl when something goes wrong in a callback or event
|
68
|
+
|
69
|
+
[c94a30f | 2010-01-18 07:25:55 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
70
|
+
|
71
|
+
* Add Clipboard::set
|
72
|
+
|
73
|
+
[0dfb69e | 2010-01-16 15:58:48 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
74
|
+
|
75
|
+
* Add convenience methods for a few obscure but helpful tk procs
|
76
|
+
|
77
|
+
[0a25db7 | 2010-01-15 15:19:03 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
78
|
+
|
79
|
+
* Add little example for picking themes
|
80
|
+
|
81
|
+
[c1813f5 | 2010-01-14 14:49:41 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
82
|
+
|
83
|
+
* Fixing some commands for Tile::Notebook
|
84
|
+
|
85
|
+
[2673fec | 2010-01-14 14:49:22 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
86
|
+
|
87
|
+
* Fixing Place::configure
|
88
|
+
|
89
|
+
[855fc4a | 2010-01-11 05:10:08 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
90
|
+
|
91
|
+
* Revert "Correct usage of ffi_lib" until new FFI gem is out.
|
92
|
+
|
93
|
+
This reverts commit b6f9b0aab4255e545fcee087ba4b72b76168db60.
|
94
|
+
|
95
|
+
[b6f9b0a | 2010-01-11 05:02:29 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
96
|
+
|
97
|
+
* Correct usage of ffi_lib
|
98
|
+
|
99
|
+
[35c816d | 2010-01-06 03:57:38 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
100
|
+
|
101
|
+
* Adding .gitignore
|
102
|
+
|
103
|
+
[eda8832 | 2010-01-05 17:33:31 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
104
|
+
|
105
|
+
* Add FFI::Tk::get_color
|
106
|
+
|
107
|
+
[764a4fe | 2010-01-05 08:20:15 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
108
|
+
|
109
|
+
* Fix Text#dump
|
110
|
+
|
111
|
+
[0b480a3 | 2010-01-03 17:41:12 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
112
|
+
|
113
|
+
* Fix String#to_tcl, take care of {}
|
114
|
+
|
115
|
+
[25a628d | 2010-01-03 16:40:04 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
116
|
+
|
117
|
+
* Handle case when the array thought to contain configuration doesn't contain any
|
118
|
+
|
119
|
+
[bc5eef4 | 2010-01-02 07:40:27 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
120
|
+
|
121
|
+
* Fix bug in Treeview#selection_set and add Treeview::Item#selection_set
|
122
|
+
|
123
|
+
[6064ac0 | 2010-01-02 07:40:05 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
124
|
+
|
125
|
+
* Fix bug in Grid::columnconfigure
|
126
|
+
|
127
|
+
[3e84b8d | 2010-01-02 07:39:12 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
128
|
+
|
129
|
+
* Version 2010.01.02
|
130
|
+
|
1
131
|
[b4c87c4 | 2010-01-01 18:37:44 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
2
132
|
|
3
133
|
* Refine handling of event data
|
data/MANIFEST
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
.gitignore
|
1
2
|
AUTHORS
|
2
3
|
CHANGELOG
|
3
4
|
MANIFEST
|
@@ -20,6 +21,7 @@ example/tile/kroc_demo_small.rb
|
|
20
21
|
example/tile/kroc_rb_demo.rb
|
21
22
|
example/tile/notebook.rb
|
22
23
|
example/tile/theme_hello.rb
|
24
|
+
example/tile/themes.rb
|
23
25
|
example/tile/treeview.rb
|
24
26
|
example/tkgo.rb
|
25
27
|
example/various.rb
|
@@ -126,6 +128,7 @@ lib/ffi-tk/widget/tile/sizegrip.rb
|
|
126
128
|
lib/ffi-tk/widget/tile/style.rb
|
127
129
|
lib/ffi-tk/widget/tile/treeview.rb
|
128
130
|
lib/ffi-tk/widget/toplevel.rb
|
131
|
+
spec/ffi-tk/command/bind.rb
|
129
132
|
spec/ffi-tk/command/bindtags.rb
|
130
133
|
spec/ffi-tk/command/clipboard.rb
|
131
134
|
spec/ffi-tk/command/font.rb
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'ffi-tk'
|
2
|
+
|
3
|
+
Tk::Tile::Style.theme_names.each do |name|
|
4
|
+
button = Tk::Tile::Button.new(
|
5
|
+
text: name,
|
6
|
+
command: ->{ Tk::Tile.set_theme(name) })
|
7
|
+
button.pack side: :top, anchor: :nw
|
8
|
+
end
|
9
|
+
|
10
|
+
button = Tk::Tile::Button.new(text: 'Exit', command: ->{ Tk.exit })
|
11
|
+
button.pack side: :top, anchor: :nw
|
12
|
+
|
13
|
+
Tk.mainloop
|
data/ffi-tk.gemspec
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ffi-tk}
|
5
|
-
s.version = "2010.
|
5
|
+
s.version = "2010.02"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Michael 'manveru' Fellinger"]
|
9
|
-
s.date = %q{2010-
|
9
|
+
s.date = %q{2010-02-15}
|
10
10
|
s.description = %q{Pure Ruby FFI wrapper for the Tk GUI toolkit.}
|
11
11
|
s.email = %q{m.fellinger@gmail.com}
|
12
|
-
s.files = ["AUTHORS", "CHANGELOG", "MANIFEST", "README.md", "Rakefile", "TODO.md", "bin/rwish", "doc/MIT_LICENSE", "doc/TCL_LICENSE", "example/choose_color.rb", "example/choose_directory.rb", "example/dialog.rb", "example/hello.rb", "example/message_box.rb", "example/option_menu.rb", "example/popup.rb", "example/set_palette.rb", "example/text.rb", "example/tile/kroc_demo_small.rb", "example/tile/kroc_rb_demo.rb", "example/tile/notebook.rb", "example/tile/theme_hello.rb", "example/tile/treeview.rb", "example/tkgo.rb", "example/various.rb", "example/wait.rb", "ffi-tk.gemspec", "lib/ffi-tk.rb", "lib/ffi-tk/command.rb", "lib/ffi-tk/command/after.rb", "lib/ffi-tk/command/bell.rb", "lib/ffi-tk/command/bind.rb", "lib/ffi-tk/command/bindtags.rb", "lib/ffi-tk/command/cget.rb", "lib/ffi-tk/command/choose_color.rb", "lib/ffi-tk/command/choose_directory.rb", "lib/ffi-tk/command/clipboard.rb", "lib/ffi-tk/command/configure.rb", "lib/ffi-tk/command/destroy.rb", "lib/ffi-tk/command/dialog.rb", "lib/ffi-tk/command/event.rb", "lib/ffi-tk/command/focus.rb", "lib/ffi-tk/command/font.rb", "lib/ffi-tk/command/get_open_file.rb", "lib/ffi-tk/command/get_save_file.rb", "lib/ffi-tk/command/grab.rb", "lib/ffi-tk/command/grid.rb", "lib/ffi-tk/command/image.rb", "lib/ffi-tk/command/lower.rb", "lib/ffi-tk/command/message_box.rb", "lib/ffi-tk/command/option_menu.rb", "lib/ffi-tk/command/pack.rb", "lib/ffi-tk/command/place.rb", "lib/ffi-tk/command/popup.rb", "lib/ffi-tk/command/raise.rb", "lib/ffi-tk/command/scrollable.rb", "lib/ffi-tk/command/selection.rb", "lib/ffi-tk/command/set_palette.rb", "lib/ffi-tk/command/tk_cmd.rb", "lib/ffi-tk/command/vars.rb", "lib/ffi-tk/command/wait.rb", "lib/ffi-tk/command/winfo.rb", "lib/ffi-tk/command/wm.rb", "lib/ffi-tk/core_extensions.rb", "lib/ffi-tk/event/data.rb", "lib/ffi-tk/event/handler.rb", "lib/ffi-tk/ffi/tcl.rb", "lib/ffi-tk/ffi/tcl/cmd_proc.rb", "lib/ffi-tk/ffi/tcl/eval_result.rb", "lib/ffi-tk/ffi/tcl/interp.rb", "lib/ffi-tk/ffi/tcl/obj.rb", "lib/ffi-tk/ffi/tcl/time.rb", "lib/ffi-tk/ffi/tk.rb", "lib/ffi-tk/geometry.rb", "lib/ffi-tk/thread_sender.rb", "lib/ffi-tk/tk.rb", "lib/ffi-tk/variable.rb", "lib/ffi-tk/version.rb", "lib/ffi-tk/widget.rb", "lib/ffi-tk/widget/button.rb", "lib/ffi-tk/widget/canvas.rb", "lib/ffi-tk/widget/canvas/arc.rb", "lib/ffi-tk/widget/canvas/bitmap.rb", "lib/ffi-tk/widget/canvas/image.rb", "lib/ffi-tk/widget/canvas/item.rb", "lib/ffi-tk/widget/canvas/line.rb", "lib/ffi-tk/widget/canvas/oval.rb", "lib/ffi-tk/widget/canvas/polygon.rb", "lib/ffi-tk/widget/canvas/rectangle.rb", "lib/ffi-tk/widget/canvas/text.rb", "lib/ffi-tk/widget/canvas/window.rb", "lib/ffi-tk/widget/checkbutton.rb", "lib/ffi-tk/widget/entry.rb", "lib/ffi-tk/widget/frame.rb", "lib/ffi-tk/widget/label.rb", "lib/ffi-tk/widget/labelframe.rb", "lib/ffi-tk/widget/listbox.rb", "lib/ffi-tk/widget/menu.rb", "lib/ffi-tk/widget/menubutton.rb", "lib/ffi-tk/widget/message.rb", "lib/ffi-tk/widget/panedwindow.rb", "lib/ffi-tk/widget/radiobutton.rb", "lib/ffi-tk/widget/root.rb", "lib/ffi-tk/widget/scale.rb", "lib/ffi-tk/widget/scrollbar.rb", "lib/ffi-tk/widget/spinbox.rb", "lib/ffi-tk/widget/text.rb", "lib/ffi-tk/widget/text/peer.rb", "lib/ffi-tk/widget/tile.rb", "lib/ffi-tk/widget/tile/button.rb", "lib/ffi-tk/widget/tile/checkbutton.rb", "lib/ffi-tk/widget/tile/combobox.rb", "lib/ffi-tk/widget/tile/entry.rb", "lib/ffi-tk/widget/tile/frame.rb", "lib/ffi-tk/widget/tile/label.rb", "lib/ffi-tk/widget/tile/labelframe.rb", "lib/ffi-tk/widget/tile/menubutton.rb", "lib/ffi-tk/widget/tile/notebook.rb", "lib/ffi-tk/widget/tile/panedwindow.rb", "lib/ffi-tk/widget/tile/progressbar.rb", "lib/ffi-tk/widget/tile/radiobutton.rb", "lib/ffi-tk/widget/tile/scale.rb", "lib/ffi-tk/widget/tile/scrollbar.rb", "lib/ffi-tk/widget/tile/separator.rb", "lib/ffi-tk/widget/tile/sizegrip.rb", "lib/ffi-tk/widget/tile/style.rb", "lib/ffi-tk/widget/tile/treeview.rb", "lib/ffi-tk/widget/toplevel.rb", "spec/ffi-tk/command/bindtags.rb", "spec/ffi-tk/command/clipboard.rb", "spec/ffi-tk/command/font.rb", "spec/ffi-tk/command/grid.rb", "spec/ffi-tk/command/image.rb", "spec/ffi-tk/command/pack.rb", "spec/ffi-tk/command/place.rb", "spec/ffi-tk/command/selection.rb", "spec/ffi-tk/command/vars.rb", "spec/ffi-tk/command/winfo.rb", "spec/ffi-tk/command/wm.rb", "spec/ffi-tk/event.rb", "spec/ffi-tk/tile/button.rb", "spec/ffi-tk/tile/checkbutton.rb", "spec/ffi-tk/tile/combobox.rb", "spec/ffi-tk/tile/entry.rb", "spec/ffi-tk/tile/frame.rb", "spec/ffi-tk/tile/label.rb", "spec/ffi-tk/tile/labelframe.rb", "spec/ffi-tk/tile/menubutton.rb", "spec/ffi-tk/tile/notebook.rb", "spec/ffi-tk/tile/panedwindow.rb", "spec/ffi-tk/tile/progressbar.rb", "spec/ffi-tk/tile/radiobutton.rb", "spec/ffi-tk/tile/scale.rb", "spec/ffi-tk/tile/scrollbar.rb", "spec/ffi-tk/tile/separator.rb", "spec/ffi-tk/tile/sizegrip.rb", "spec/ffi-tk/tile/style.rb", "spec/ffi-tk/tile/treeview.rb", "spec/ffi-tk/variable.rb", "spec/ffi-tk/widget/button.rb", "spec/ffi-tk/widget/canvas.rb", "spec/ffi-tk/widget/checkbutton.rb", "spec/ffi-tk/widget/entry.rb", "spec/ffi-tk/widget/frame.rb", "spec/ffi-tk/widget/label.rb", "spec/ffi-tk/widget/labelframe.rb", "spec/ffi-tk/widget/listbox.rb", "spec/ffi-tk/widget/menu.rb", "spec/ffi-tk/widget/menubutton.rb", "spec/ffi-tk/widget/message.rb", "spec/ffi-tk/widget/panedwindow.rb", "spec/ffi-tk/widget/radiobutton.rb", "spec/ffi-tk/widget/root.rb", "spec/ffi-tk/widget/scale.rb", "spec/ffi-tk/widget/scrollbar.rb", "spec/ffi-tk/widget/spinbox.rb", "spec/ffi-tk/widget/text.rb", "spec/ffi-tk/widget/toplevel.rb", "spec/helper.rb", "tasks/authors.rake", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/gem.rake", "tasks/gem_setup.rake", "tasks/grancher.rake", "tasks/manifest.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/setup.rake", "tasks/ycov.rake"]
|
12
|
+
s.files = [".gitignore", "AUTHORS", "CHANGELOG", "MANIFEST", "README.md", "Rakefile", "TODO.md", "bin/rwish", "doc/MIT_LICENSE", "doc/TCL_LICENSE", "example/choose_color.rb", "example/choose_directory.rb", "example/dialog.rb", "example/hello.rb", "example/message_box.rb", "example/option_menu.rb", "example/popup.rb", "example/set_palette.rb", "example/text.rb", "example/tile/kroc_demo_small.rb", "example/tile/kroc_rb_demo.rb", "example/tile/notebook.rb", "example/tile/theme_hello.rb", "example/tile/themes.rb", "example/tile/treeview.rb", "example/tkgo.rb", "example/various.rb", "example/wait.rb", "ffi-tk.gemspec", "lib/ffi-tk.rb", "lib/ffi-tk/command.rb", "lib/ffi-tk/command/after.rb", "lib/ffi-tk/command/bell.rb", "lib/ffi-tk/command/bind.rb", "lib/ffi-tk/command/bindtags.rb", "lib/ffi-tk/command/cget.rb", "lib/ffi-tk/command/choose_color.rb", "lib/ffi-tk/command/choose_directory.rb", "lib/ffi-tk/command/clipboard.rb", "lib/ffi-tk/command/configure.rb", "lib/ffi-tk/command/destroy.rb", "lib/ffi-tk/command/dialog.rb", "lib/ffi-tk/command/event.rb", "lib/ffi-tk/command/focus.rb", "lib/ffi-tk/command/font.rb", "lib/ffi-tk/command/get_open_file.rb", "lib/ffi-tk/command/get_save_file.rb", "lib/ffi-tk/command/grab.rb", "lib/ffi-tk/command/grid.rb", "lib/ffi-tk/command/image.rb", "lib/ffi-tk/command/lower.rb", "lib/ffi-tk/command/message_box.rb", "lib/ffi-tk/command/option_menu.rb", "lib/ffi-tk/command/pack.rb", "lib/ffi-tk/command/place.rb", "lib/ffi-tk/command/popup.rb", "lib/ffi-tk/command/raise.rb", "lib/ffi-tk/command/scrollable.rb", "lib/ffi-tk/command/selection.rb", "lib/ffi-tk/command/set_palette.rb", "lib/ffi-tk/command/tk_cmd.rb", "lib/ffi-tk/command/vars.rb", "lib/ffi-tk/command/wait.rb", "lib/ffi-tk/command/winfo.rb", "lib/ffi-tk/command/wm.rb", "lib/ffi-tk/core_extensions.rb", "lib/ffi-tk/event/data.rb", "lib/ffi-tk/event/handler.rb", "lib/ffi-tk/ffi/tcl.rb", "lib/ffi-tk/ffi/tcl/cmd_proc.rb", "lib/ffi-tk/ffi/tcl/eval_result.rb", "lib/ffi-tk/ffi/tcl/interp.rb", "lib/ffi-tk/ffi/tcl/obj.rb", "lib/ffi-tk/ffi/tcl/time.rb", "lib/ffi-tk/ffi/tk.rb", "lib/ffi-tk/geometry.rb", "lib/ffi-tk/thread_sender.rb", "lib/ffi-tk/tk.rb", "lib/ffi-tk/variable.rb", "lib/ffi-tk/version.rb", "lib/ffi-tk/widget.rb", "lib/ffi-tk/widget/button.rb", "lib/ffi-tk/widget/canvas.rb", "lib/ffi-tk/widget/canvas/arc.rb", "lib/ffi-tk/widget/canvas/bitmap.rb", "lib/ffi-tk/widget/canvas/image.rb", "lib/ffi-tk/widget/canvas/item.rb", "lib/ffi-tk/widget/canvas/line.rb", "lib/ffi-tk/widget/canvas/oval.rb", "lib/ffi-tk/widget/canvas/polygon.rb", "lib/ffi-tk/widget/canvas/rectangle.rb", "lib/ffi-tk/widget/canvas/text.rb", "lib/ffi-tk/widget/canvas/window.rb", "lib/ffi-tk/widget/checkbutton.rb", "lib/ffi-tk/widget/entry.rb", "lib/ffi-tk/widget/frame.rb", "lib/ffi-tk/widget/label.rb", "lib/ffi-tk/widget/labelframe.rb", "lib/ffi-tk/widget/listbox.rb", "lib/ffi-tk/widget/menu.rb", "lib/ffi-tk/widget/menubutton.rb", "lib/ffi-tk/widget/message.rb", "lib/ffi-tk/widget/panedwindow.rb", "lib/ffi-tk/widget/radiobutton.rb", "lib/ffi-tk/widget/root.rb", "lib/ffi-tk/widget/scale.rb", "lib/ffi-tk/widget/scrollbar.rb", "lib/ffi-tk/widget/spinbox.rb", "lib/ffi-tk/widget/text.rb", "lib/ffi-tk/widget/text/peer.rb", "lib/ffi-tk/widget/tile.rb", "lib/ffi-tk/widget/tile/button.rb", "lib/ffi-tk/widget/tile/checkbutton.rb", "lib/ffi-tk/widget/tile/combobox.rb", "lib/ffi-tk/widget/tile/entry.rb", "lib/ffi-tk/widget/tile/frame.rb", "lib/ffi-tk/widget/tile/label.rb", "lib/ffi-tk/widget/tile/labelframe.rb", "lib/ffi-tk/widget/tile/menubutton.rb", "lib/ffi-tk/widget/tile/notebook.rb", "lib/ffi-tk/widget/tile/panedwindow.rb", "lib/ffi-tk/widget/tile/progressbar.rb", "lib/ffi-tk/widget/tile/radiobutton.rb", "lib/ffi-tk/widget/tile/scale.rb", "lib/ffi-tk/widget/tile/scrollbar.rb", "lib/ffi-tk/widget/tile/separator.rb", "lib/ffi-tk/widget/tile/sizegrip.rb", "lib/ffi-tk/widget/tile/style.rb", "lib/ffi-tk/widget/tile/treeview.rb", "lib/ffi-tk/widget/toplevel.rb", "spec/ffi-tk/command/bind.rb", "spec/ffi-tk/command/bindtags.rb", "spec/ffi-tk/command/clipboard.rb", "spec/ffi-tk/command/font.rb", "spec/ffi-tk/command/grid.rb", "spec/ffi-tk/command/image.rb", "spec/ffi-tk/command/pack.rb", "spec/ffi-tk/command/place.rb", "spec/ffi-tk/command/selection.rb", "spec/ffi-tk/command/vars.rb", "spec/ffi-tk/command/winfo.rb", "spec/ffi-tk/command/wm.rb", "spec/ffi-tk/event.rb", "spec/ffi-tk/tile/button.rb", "spec/ffi-tk/tile/checkbutton.rb", "spec/ffi-tk/tile/combobox.rb", "spec/ffi-tk/tile/entry.rb", "spec/ffi-tk/tile/frame.rb", "spec/ffi-tk/tile/label.rb", "spec/ffi-tk/tile/labelframe.rb", "spec/ffi-tk/tile/menubutton.rb", "spec/ffi-tk/tile/notebook.rb", "spec/ffi-tk/tile/panedwindow.rb", "spec/ffi-tk/tile/progressbar.rb", "spec/ffi-tk/tile/radiobutton.rb", "spec/ffi-tk/tile/scale.rb", "spec/ffi-tk/tile/scrollbar.rb", "spec/ffi-tk/tile/separator.rb", "spec/ffi-tk/tile/sizegrip.rb", "spec/ffi-tk/tile/style.rb", "spec/ffi-tk/tile/treeview.rb", "spec/ffi-tk/variable.rb", "spec/ffi-tk/widget/button.rb", "spec/ffi-tk/widget/canvas.rb", "spec/ffi-tk/widget/checkbutton.rb", "spec/ffi-tk/widget/entry.rb", "spec/ffi-tk/widget/frame.rb", "spec/ffi-tk/widget/label.rb", "spec/ffi-tk/widget/labelframe.rb", "spec/ffi-tk/widget/listbox.rb", "spec/ffi-tk/widget/menu.rb", "spec/ffi-tk/widget/menubutton.rb", "spec/ffi-tk/widget/message.rb", "spec/ffi-tk/widget/panedwindow.rb", "spec/ffi-tk/widget/radiobutton.rb", "spec/ffi-tk/widget/root.rb", "spec/ffi-tk/widget/scale.rb", "spec/ffi-tk/widget/scrollbar.rb", "spec/ffi-tk/widget/spinbox.rb", "spec/ffi-tk/widget/text.rb", "spec/ffi-tk/widget/toplevel.rb", "spec/helper.rb", "tasks/authors.rake", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/gem.rake", "tasks/gem_setup.rake", "tasks/grancher.rake", "tasks/manifest.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/setup.rake", "tasks/ycov.rake"]
|
13
13
|
s.homepage = %q{http://github.com/manveru/ffi-tk}
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
s.rubygems_version = %q{1.3.5}
|
data/lib/ffi-tk/command/bind.rb
CHANGED
@@ -1,11 +1,28 @@
|
|
1
1
|
module Tk
|
2
2
|
module Bind
|
3
|
-
def self.bind(
|
4
|
-
|
3
|
+
def self.bind(tag, sequence = None)
|
4
|
+
if None == sequence
|
5
|
+
Tk.execute(:bind, tag).to_a
|
6
|
+
else
|
7
|
+
if block_given?
|
8
|
+
Event::Handler.register(tag, sequence, &Proc.new)
|
9
|
+
else
|
10
|
+
Tk.execute(:bind, tag, sequence).to_s
|
11
|
+
end
|
12
|
+
end
|
5
13
|
end
|
6
14
|
|
7
|
-
|
15
|
+
# TODO: remove the block associated
|
16
|
+
def self.unbind(tag, sequence)
|
17
|
+
Event::Handler.unregister(tag, sequence)
|
18
|
+
end
|
19
|
+
|
20
|
+
def bind(sequence = None, &block)
|
8
21
|
Bind.bind(tk_pathname, sequence, &block)
|
9
22
|
end
|
23
|
+
|
24
|
+
def unbind(sequence)
|
25
|
+
Bind.unbind(tk_pathname, sequence)
|
26
|
+
end
|
10
27
|
end
|
11
|
-
end
|
28
|
+
end
|
@@ -58,12 +58,16 @@ module Tk
|
|
58
58
|
end
|
59
59
|
|
60
60
|
class BindTag < Struct.new(:name)
|
61
|
-
def bind(sequence, &block)
|
61
|
+
def bind(sequence = None, &block)
|
62
62
|
Bind.bind(name, sequence, &block)
|
63
63
|
end
|
64
64
|
|
65
|
+
def unbind(sequence)
|
66
|
+
Bind.unbind(name, sequence)
|
67
|
+
end
|
68
|
+
|
65
69
|
def to_tcl
|
66
70
|
TclString.new(name)
|
67
71
|
end
|
68
72
|
end
|
69
|
-
end
|
73
|
+
end
|
@@ -21,8 +21,7 @@ module Tk
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def clipboard_set(string, options = {})
|
24
|
-
|
25
|
-
clipboard_append(options.merge(data: string))
|
24
|
+
Clipboard.set(string, options)
|
26
25
|
end
|
27
26
|
|
28
27
|
module_function
|
@@ -85,6 +84,12 @@ module Tk
|
|
85
84
|
Tk.execute_only(:clipboard, :append, *args)
|
86
85
|
end
|
87
86
|
|
87
|
+
# Shortcut to clear clipboard and append given +string+.
|
88
|
+
def set(string, options = {})
|
89
|
+
clear
|
90
|
+
append(options.merge(data: string))
|
91
|
+
end
|
92
|
+
|
88
93
|
# Retrieve data from the clipboard on +window+'s display.
|
89
94
|
# +window+ defaults to ".".
|
90
95
|
# +type+ specifies the form in which the data is to be returned and should be
|
data/lib/ffi-tk/command/event.rb
CHANGED
@@ -60,7 +60,7 @@ module Tk
|
|
60
60
|
# processed. Certain events, such as key events, require that the window has
|
61
61
|
# focus to receive the event properly.
|
62
62
|
def self.generate(window = None, event = None, options = {})
|
63
|
-
Tk.execute_only(:event, :generate, window, event, options)
|
63
|
+
Tk.execute_only(:event, :generate, window, event, options.to_tcl_options)
|
64
64
|
end
|
65
65
|
|
66
66
|
# Returns information about virtual events.
|
@@ -76,4 +76,4 @@ module Tk
|
|
76
76
|
Tk.execute(:event, :info, virtual).to_a
|
77
77
|
end
|
78
78
|
end
|
79
|
-
end
|
79
|
+
end
|
data/lib/ffi-tk/command/focus.rb
CHANGED
@@ -5,17 +5,17 @@ module Tk
|
|
5
5
|
|
6
6
|
def focus(window = None, option = None)
|
7
7
|
if window == None
|
8
|
-
Tk.execute('focus')
|
8
|
+
Tk.execute('focus').to_s
|
9
9
|
else
|
10
10
|
case option
|
11
11
|
when None
|
12
|
-
Tk.execute('focus', window)
|
12
|
+
Tk.execute('focus', window).to_s
|
13
13
|
when :displayof
|
14
|
-
Tk.execute('focus', '-displayof', window)
|
14
|
+
Tk.execute('focus', '-displayof', window).to_s
|
15
15
|
when :force
|
16
|
-
Tk.execute_only('focus', '-force', window)
|
16
|
+
Tk.execute_only('focus', '-force', window).to_s
|
17
17
|
when :lastfor
|
18
|
-
Tk.execute('focus', '-lastfor', window)
|
18
|
+
Tk.execute('focus', '-lastfor', window).to_s
|
19
19
|
else
|
20
20
|
raise ArgumentError, "option must be one of: None, :displayof, :force, :lastfor"
|
21
21
|
end
|
@@ -67,4 +67,4 @@ module Tk
|
|
67
67
|
Tk.execute(:tk_focusPrev, window)
|
68
68
|
end
|
69
69
|
end
|
70
|
-
end
|
70
|
+
end
|
data/lib/ffi-tk/command/grab.rb
CHANGED
@@ -25,7 +25,7 @@ module Tk
|
|
25
25
|
# mouse motion events are reported to window, and window entry and window exit
|
26
26
|
# events are ignored.
|
27
27
|
#
|
28
|
-
# The grab subtree
|
28
|
+
# The grab subtree owns the pointer: windows outside the grab subtree
|
29
29
|
# will be visible on the screen but they will be insensitive until the grab is
|
30
30
|
# released. The tree of windows underneath the grab window can include
|
31
31
|
# top-level windows, in which case all of those top-level windows and their
|
@@ -138,4 +138,4 @@ module Tk
|
|
138
138
|
Tk.execute(:grab, :set, '-global', window)
|
139
139
|
end
|
140
140
|
end
|
141
|
-
end
|
141
|
+
end
|
data/lib/ffi-tk/command/grid.rb
CHANGED
@@ -70,9 +70,9 @@ module Tk
|
|
70
70
|
# If only an option is specified, with no value, the current value of that
|
71
71
|
# option is returned.
|
72
72
|
# If only the master window and index is specified, all the current settings
|
73
|
-
# are returned in a list of
|
74
|
-
def self.columnconfigure(master, index, options =
|
75
|
-
Tk.execute('grid', 'columnconfigure', master, index, options)
|
73
|
+
# are returned in a list of "-option value" pairs.
|
74
|
+
def self.columnconfigure(master, index, options = None)
|
75
|
+
Tk.execute('grid', 'columnconfigure', master, index, options.to_tcl_options?)
|
76
76
|
end
|
77
77
|
|
78
78
|
# The arguments consist of the names of one or more slave windows followed
|
@@ -97,10 +97,23 @@ module Tk
|
|
97
97
|
# Returns a list whose elements are the current configuration state of the
|
98
98
|
# slave given by slave in the same option-value form that might be specified
|
99
99
|
# to grid configure.
|
100
|
-
# The first two elements of the list are
|
100
|
+
# The first two elements of the list are "-in master" where master is
|
101
101
|
# the slave's master.
|
102
102
|
def self.info(slave)
|
103
|
-
Tk.execute('grid', 'info', slave)
|
103
|
+
info = Tk.execute('grid', 'info', slave).to_s
|
104
|
+
hash = {}
|
105
|
+
|
106
|
+
info.scan(/(?:-(\w+))\s+([^-][\S]*)/) do
|
107
|
+
key = $1.to_sym
|
108
|
+
case key
|
109
|
+
when :column, :row, :columnspan, :rowspan, :ipadx, :ipady, :padx, :pady
|
110
|
+
hash[key] = Integer($2)
|
111
|
+
else
|
112
|
+
hash[key] = $2.to_str
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
hash
|
104
117
|
end
|
105
118
|
|
106
119
|
# Given x and y values in screen units relative to the master window, the
|
@@ -148,7 +161,7 @@ module Tk
|
|
148
161
|
# If only an option is specified, with no value, the current value of that
|
149
162
|
# option is returned.
|
150
163
|
# If only the master window and index is specified, all the current settings
|
151
|
-
# are returned in a list of
|
164
|
+
# are returned in a list of "-option value" pairs.
|
152
165
|
def self.rowconfigure(master, index, options = None)
|
153
166
|
Tk.execute('grid', 'rowconfigure', master, index, options.to_tcl_options?)
|
154
167
|
end
|
@@ -194,8 +207,8 @@ module Tk
|
|
194
207
|
end
|
195
208
|
|
196
209
|
# @see Grid::columnconfigure
|
197
|
-
def grid_columnconfigure(index, options =
|
198
|
-
Grid.columnconfigure(self, index, options
|
210
|
+
def grid_columnconfigure(index, options = None)
|
211
|
+
Grid.columnconfigure(self, index, options)
|
199
212
|
end
|
200
213
|
|
201
214
|
# @see Grid::configure
|
data/lib/ffi-tk/command/place.rb
CHANGED
@@ -32,11 +32,7 @@ module Tk
|
|
32
32
|
# option(s) to have the given value(s); in this case the command returns
|
33
33
|
# nil.
|
34
34
|
def self.configure(window, options = None)
|
35
|
-
|
36
|
-
Tk.execute('place', 'configure', window)
|
37
|
-
else
|
38
|
-
Tk.execute_only('place', 'configure', window, options)
|
39
|
-
end
|
35
|
+
Configure.common(Tk, [:place, :configure, window], options)
|
40
36
|
end
|
41
37
|
|
42
38
|
def self.forget(window)
|
@@ -88,4 +84,4 @@ module Tk
|
|
88
84
|
Place.slaves(self)
|
89
85
|
end
|
90
86
|
end
|
91
|
-
end
|
87
|
+
end
|
@@ -31,14 +31,14 @@ module Tk
|
|
31
31
|
# This command shifts the view in the window left or right according to
|
32
32
|
# number and what.
|
33
33
|
# What must be units, pages or pixels.
|
34
|
-
# If what is units or pages then number
|
35
|
-
# number may be specified in any of the forms
|
36
|
-
# Tk_GetPixels, such as
|
37
|
-
# nearest
|
34
|
+
# If what is units or pages then number must be an integer, otherwise
|
35
|
+
# number may be specified in any of the forms acceptable to
|
36
|
+
# Tk_GetPixels, such as "2.0c" or "1i" (the result is rounded to the
|
37
|
+
# nearest integer value.
|
38
38
|
# If no units are given, pixels are assumed).
|
39
|
-
# If what is units, the
|
40
|
-
# average-width characters on the display; if
|
41
|
-
# adjusts by number screenfuls; if it is pixels then the
|
39
|
+
# If what is units, the view adjusts left or right by number
|
40
|
+
# average-width characters on the display; if it is pages then the view
|
41
|
+
# adjusts by number screenfuls; if it is pixels then the view adjusts by
|
42
42
|
# number pixels.
|
43
43
|
# If number is negative then characters farther to the left become visible;
|
44
44
|
# if it is positive then characters farther to the right become visible.
|
@@ -75,11 +75,11 @@ module Tk
|
|
75
75
|
# Fraction is a fraction between 0 and 1; 0 indicates the first pixel of
|
76
76
|
# the first character in the text, 0.33 indicates the pixel that is
|
77
77
|
# one-third the way through the text; and so on.
|
78
|
-
# Values close to 1
|
79
|
-
# text (1 actually refers to one
|
80
|
-
# such cases the widget will never scroll
|
81
|
-
# value of 1 will effectively be rounded back to
|
82
|
-
# ensures the last pixel is at the bottom of the window, and some
|
78
|
+
# Values close to 1 will indicate values close to the last pixel in the
|
79
|
+
# text (1 actually refers to one pixel beyond the last pixel), but in
|
80
|
+
# such cases the widget will never scroll beyond the last pixel, and so a
|
81
|
+
# value of 1 will effectively be rounded back to whatever fraction
|
82
|
+
# ensures the last pixel is at the bottom of the window, and some other
|
83
83
|
# pixel is at the top.
|
84
84
|
def yview_moveto(fraction)
|
85
85
|
execute_only(:yview, :moveto, fraction)
|
@@ -88,14 +88,14 @@ module Tk
|
|
88
88
|
# This command adjust the view in the window up or down according to number
|
89
89
|
# and what.
|
90
90
|
# What must be units, pages or pixels.
|
91
|
-
# If what is units or pages then number
|
92
|
-
# number may be specified in any of the forms
|
93
|
-
# Tk_GetPixels, such as
|
94
|
-
# nearest
|
91
|
+
# If what is units or pages then number must be an integer, otherwise
|
92
|
+
# number may be specified in any of the forms acceptable to
|
93
|
+
# Tk_GetPixels, such as "2.0c" or "1i" (the result is rounded to the
|
94
|
+
# nearest integer value.
|
95
95
|
# If no units are given, pixels are assumed).
|
96
|
-
# If what is units, the
|
97
|
-
# display; if it is pages then the
|
98
|
-
# it is pixels then the view adjusts by number
|
96
|
+
# If what is units, the view adjusts up or down by number lines on the
|
97
|
+
# display; if it is pages then the view adjusts by number screenfuls; if
|
98
|
+
# it is pixels then the view adjusts by number pixels.
|
99
99
|
# If number is negative then earlier positions in the text become visible;
|
100
100
|
# if it is positive then later positions in the text become visible.
|
101
101
|
def yview_scroll(number, what)
|