ffi-tk 2010.08.23 → 2018.02.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +7 -0
- data/.rubocop_todo.yml +371 -0
- data/AUTHORS +4 -2
- data/CHANGELOG +302 -262
- data/Gemfile +10 -0
- data/Gemfile.lock +45 -0
- data/MANIFEST +6 -6
- data/README.md +1 -1
- data/Rakefile +12 -11
- data/bin/rwish +6 -5
- data/example/choose_color.rb +5 -4
- data/example/choose_directory.rb +5 -4
- data/example/dialog.rb +9 -8
- data/example/hello.rb +2 -1
- data/example/message_box.rb +8 -5
- data/example/option_menu.rb +4 -3
- data/example/popup.rb +4 -3
- data/example/set_palette.rb +5 -4
- data/example/text.rb +30 -30
- data/example/tile/kroc_demo_small.rb +51 -55
- data/example/tile/kroc_rb_demo.rb +74 -83
- data/example/tile/notebook.rb +6 -9
- data/example/tile/theme_hello.rb +6 -8
- data/example/tile/themes.rb +4 -2
- data/example/tile/treeview.rb +16 -14
- data/example/tkgo.rb +120 -88
- data/example/various.rb +8 -7
- data/example/wait.rb +3 -2
- data/ffi-tk.gemspec +21 -20
- data/gemset.nix +134 -0
- data/lib/ffi-tk.rb +10 -11
- data/lib/ffi-tk/command.rb +3 -2
- data/lib/ffi-tk/command/after.rb +8 -7
- data/lib/ffi-tk/command/bell.rb +2 -1
- data/lib/ffi-tk/command/bind.rb +1 -0
- data/lib/ffi-tk/command/bindtags.rb +1 -0
- data/lib/ffi-tk/command/cget.rb +31 -24
- data/lib/ffi-tk/command/choose_color.rb +2 -1
- data/lib/ffi-tk/command/choose_directory.rb +2 -1
- data/lib/ffi-tk/command/clipboard.rb +6 -5
- data/lib/ffi-tk/command/configure.rb +23 -21
- data/lib/ffi-tk/command/destroy.rb +2 -1
- data/lib/ffi-tk/command/dialog.rb +4 -3
- data/lib/ffi-tk/command/event.rb +1 -0
- data/lib/ffi-tk/command/focus.rb +2 -1
- data/lib/ffi-tk/command/font.rb +12 -9
- data/lib/ffi-tk/command/get_open_file.rb +1 -0
- data/lib/ffi-tk/command/get_save_file.rb +1 -0
- data/lib/ffi-tk/command/grab.rb +2 -1
- data/lib/ffi-tk/command/grid.rb +7 -6
- data/lib/ffi-tk/command/image.rb +5 -4
- data/lib/ffi-tk/command/lower.rb +1 -0
- data/lib/ffi-tk/command/message_box.rb +2 -1
- data/lib/ffi-tk/command/option_menu.rb +3 -2
- data/lib/ffi-tk/command/pack.rb +5 -4
- data/lib/ffi-tk/command/place.rb +5 -4
- data/lib/ffi-tk/command/popup.rb +2 -1
- data/lib/ffi-tk/command/raise.rb +1 -0
- data/lib/ffi-tk/command/scrollable.rb +7 -10
- data/lib/ffi-tk/command/selection.rb +4 -3
- data/lib/ffi-tk/command/set_palette.rb +2 -1
- data/lib/ffi-tk/command/tk_cmd.rb +1 -0
- data/lib/ffi-tk/command/vars.rb +2 -1
- data/lib/ffi-tk/command/wait.rb +2 -1
- data/lib/ffi-tk/command/winfo.rb +9 -8
- data/lib/ffi-tk/command/wm.rb +11 -10
- data/lib/ffi-tk/core_extensions.rb +5 -4
- data/lib/ffi-tk/event/data.rb +32 -31
- data/lib/ffi-tk/event/handler.rb +4 -3
- data/lib/ffi-tk/ffi/tcl.rb +42 -31
- data/lib/ffi-tk/ffi/tcl/cmd_proc.rb +2 -1
- data/lib/ffi-tk/ffi/tcl/eval_result.rb +47 -8
- data/lib/ffi-tk/ffi/tcl/interp.rb +7 -4
- data/lib/ffi-tk/ffi/tcl/obj.rb +7 -32
- data/lib/ffi-tk/ffi/tcl/time.rb +2 -1
- data/lib/ffi-tk/ffi/tk.rb +8 -7
- data/lib/ffi-tk/geometry.rb +20 -17
- data/lib/ffi-tk/thread_sender.rb +1 -0
- data/lib/ffi-tk/tk.rb +23 -23
- data/lib/ffi-tk/variable.rb +25 -3
- data/lib/ffi-tk/version.rb +1 -1
- data/lib/ffi-tk/widget.rb +2 -1
- data/lib/ffi-tk/widget/button.rb +4 -1
- data/lib/ffi-tk/widget/canvas.rb +18 -15
- data/lib/ffi-tk/widget/canvas/arc.rb +2 -1
- data/lib/ffi-tk/widget/canvas/bitmap.rb +2 -1
- data/lib/ffi-tk/widget/canvas/image.rb +2 -1
- data/lib/ffi-tk/widget/canvas/item.rb +4 -4
- data/lib/ffi-tk/widget/canvas/line.rb +2 -1
- data/lib/ffi-tk/widget/canvas/oval.rb +2 -1
- data/lib/ffi-tk/widget/canvas/polygon.rb +2 -1
- data/lib/ffi-tk/widget/canvas/rectangle.rb +2 -1
- data/lib/ffi-tk/widget/canvas/text.rb +2 -1
- data/lib/ffi-tk/widget/canvas/window.rb +2 -1
- data/lib/ffi-tk/widget/checkbutton.rb +4 -1
- data/lib/ffi-tk/widget/entry.rb +4 -1
- data/lib/ffi-tk/widget/frame.rb +4 -1
- data/lib/ffi-tk/widget/label.rb +4 -1
- data/lib/ffi-tk/widget/labelframe.rb +4 -1
- data/lib/ffi-tk/widget/listbox.rb +5 -2
- data/lib/ffi-tk/widget/menu.rb +4 -1
- data/lib/ffi-tk/widget/menubutton.rb +4 -1
- data/lib/ffi-tk/widget/message.rb +4 -1
- data/lib/ffi-tk/widget/panedwindow.rb +5 -2
- data/lib/ffi-tk/widget/radiobutton.rb +4 -1
- data/lib/ffi-tk/widget/root.rb +1 -0
- data/lib/ffi-tk/widget/scale.rb +4 -1
- data/lib/ffi-tk/widget/scrollbar.rb +4 -1
- data/lib/ffi-tk/widget/spinbox.rb +4 -1
- data/lib/ffi-tk/widget/text.rb +20 -16
- data/lib/ffi-tk/widget/text/peer.rb +1 -0
- data/lib/ffi-tk/widget/tile.rb +2 -1
- data/lib/ffi-tk/widget/tile/button.rb +4 -1
- data/lib/ffi-tk/widget/tile/checkbutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/combobox.rb +5 -2
- data/lib/ffi-tk/widget/tile/entry.rb +4 -1
- data/lib/ffi-tk/widget/tile/frame.rb +4 -1
- data/lib/ffi-tk/widget/tile/label.rb +4 -2
- data/lib/ffi-tk/widget/tile/labelframe.rb +4 -1
- data/lib/ffi-tk/widget/tile/menubutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/notebook.rb +4 -1
- data/lib/ffi-tk/widget/tile/panedwindow.rb +4 -1
- data/lib/ffi-tk/widget/tile/progressbar.rb +4 -2
- data/lib/ffi-tk/widget/tile/radiobutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/scale.rb +4 -1
- data/lib/ffi-tk/widget/tile/scrollbar.rb +7 -4
- data/lib/ffi-tk/widget/tile/separator.rb +4 -1
- data/lib/ffi-tk/widget/tile/sizegrip.rb +4 -1
- data/lib/ffi-tk/widget/tile/style.rb +16 -17
- data/lib/ffi-tk/widget/tile/treeview.rb +11 -5
- data/lib/ffi-tk/widget/toplevel.rb +4 -1
- data/shell.nix +19 -0
- data/spec/ffi-tk/command/bind.rb +5 -4
- data/spec/ffi-tk/command/bindtags.rb +2 -1
- data/spec/ffi-tk/command/clipboard.rb +4 -3
- data/spec/ffi-tk/command/font.rb +20 -19
- data/spec/ffi-tk/command/image.rb +13 -5
- data/spec/ffi-tk/command/pack.rb +3 -2
- data/spec/ffi-tk/command/place.rb +4 -3
- data/spec/ffi-tk/command/selection.rb +2 -1
- data/spec/ffi-tk/command/vars.rb +3 -2
- data/spec/ffi-tk/command/winfo.rb +10 -10
- data/spec/ffi-tk/command/wm.rb +23 -22
- data/spec/ffi-tk/event.rb +23 -21
- data/spec/ffi-tk/tile/button.rb +8 -8
- data/spec/ffi-tk/tile/checkbutton.rb +1 -1
- data/spec/ffi-tk/tile/combobox.rb +11 -12
- data/spec/ffi-tk/tile/entry.rb +18 -19
- data/spec/ffi-tk/tile/frame.rb +13 -13
- data/spec/ffi-tk/tile/label.rb +2 -2
- data/spec/ffi-tk/tile/labelframe.rb +1 -1
- data/spec/ffi-tk/tile/menubutton.rb +1 -1
- data/spec/ffi-tk/tile/notebook.rb +22 -20
- data/spec/ffi-tk/tile/panedwindow.rb +1 -1
- data/spec/ffi-tk/tile/progressbar.rb +1 -1
- data/spec/ffi-tk/tile/radiobutton.rb +1 -1
- data/spec/ffi-tk/tile/scale.rb +1 -1
- data/spec/ffi-tk/tile/scrollbar.rb +1 -16
- data/spec/ffi-tk/tile/separator.rb +2 -2
- data/spec/ffi-tk/tile/sizegrip.rb +1 -1
- data/spec/ffi-tk/tile/style.rb +63 -65
- data/spec/ffi-tk/tile/treeview.rb +11 -10
- data/spec/ffi-tk/variable.rb +5 -4
- data/spec/ffi-tk/widget/button.rb +3 -2
- data/spec/ffi-tk/widget/canvas.rb +59 -58
- data/spec/ffi-tk/widget/checkbutton.rb +6 -5
- data/spec/ffi-tk/widget/entry.rb +112 -103
- data/spec/ffi-tk/widget/frame.rb +2 -1
- data/spec/ffi-tk/widget/label.rb +2 -1
- data/spec/ffi-tk/widget/labelframe.rb +1 -0
- data/spec/ffi-tk/widget/listbox.rb +5 -4
- data/spec/ffi-tk/widget/menu.rb +3 -2
- data/spec/ffi-tk/widget/menubutton.rb +1 -0
- data/spec/ffi-tk/widget/message.rb +1 -0
- data/spec/ffi-tk/widget/panedwindow.rb +1 -0
- data/spec/ffi-tk/widget/radiobutton.rb +1 -0
- data/spec/ffi-tk/widget/root.rb +2 -1
- data/spec/ffi-tk/widget/scale.rb +1 -0
- data/spec/ffi-tk/widget/scrollbar.rb +1 -0
- data/spec/ffi-tk/widget/spinbox.rb +1 -0
- data/spec/ffi-tk/widget/text.rb +63 -54
- data/spec/ffi-tk/widget/toplevel.rb +1 -0
- data/spec/helper.rb +3 -1
- data/tasks/authors.rake +3 -2
- data/tasks/bacon.rake +13 -11
- data/tasks/changelog.rake +1 -0
- data/tasks/gem.rake +13 -11
- data/tasks/manifest.rake +2 -1
- data/tasks/release.rake +11 -32
- data/tasks/reversion.rake +2 -1
- metadata +52 -75
- data/spec/ffi-tk/command/grid.rb +0 -6
- data/tasks/gem_setup.rake +0 -113
- data/tasks/grancher.rake +0 -12
- data/tasks/rcov.rake +0 -17
- data/tasks/setup.rake +0 -12
- data/tasks/ycov.rake +0 -84
data/shell.nix
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
with (import <nixpkgs> {});
|
2
|
+
let
|
3
|
+
ruby = (ruby_2_4.override { useRailsExpress = false; });
|
4
|
+
gems = pkgs.bundlerEnv { name = "ffi-tk-gems"; inherit ruby; gemdir = ./.; };
|
5
|
+
bundler = pkgs.bundler.override { inherit ruby; };
|
6
|
+
bundix = pkgs.bundix.override { inherit bundler; };
|
7
|
+
in stdenv.mkDerivation rec {
|
8
|
+
name = "ffi-tk";
|
9
|
+
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
10
|
+
TCL_LIBPATH = "${tcl-8_6}/lib/libtcl8.6.so";
|
11
|
+
TK_LIBPATH = "${tk}/lib/libtk8.6.so";
|
12
|
+
buildInputs = [
|
13
|
+
bashInteractive
|
14
|
+
pkgconfig
|
15
|
+
ruby bundler bundix gems
|
16
|
+
tcl-8_6 tk
|
17
|
+
zip
|
18
|
+
];
|
19
|
+
}
|
data/spec/ffi-tk/command/bind.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
describe Tk::Bind do
|
@@ -7,16 +8,16 @@ describe Tk::Bind do
|
|
7
8
|
|
8
9
|
it 'should bind a block' do
|
9
10
|
foo = false
|
10
|
-
entry.bind('f'){ foo = true }
|
11
|
-
Tk.interp.do_events_until
|
11
|
+
entry.bind('f') { foo = true }
|
12
|
+
Tk.interp.do_events_until do
|
12
13
|
Tk::Event.generate(entry, 'f')
|
13
14
|
foo
|
14
|
-
|
15
|
+
end
|
15
16
|
foo.should == true
|
16
17
|
end
|
17
18
|
|
18
19
|
it 'should return the bound proc' do
|
19
|
-
entry.bind('f').should == ' ::RubyFFI::event 0 f %# %b %c %d %f %h %i %k %m %o %p %s %t %w %x %y %A %B %D %E %K %N %P %R %S %T %W %X %Y '
|
20
|
+
entry.bind('f').should == ' ::RubyFFI::event 0 "f" %# %b %c %d %f %h %i %k %m %o %p %s %t %w %x %y %A %B %D %E %K %N %P %R %S %T %W %X %Y '
|
20
21
|
end
|
21
22
|
|
22
23
|
it 'should list the sequences bound' do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -7,7 +8,7 @@ describe Tk::Bindtags do
|
|
7
8
|
@entry.pack # only placed widgets have bindtags?
|
8
9
|
|
9
10
|
it 'lists bindtags of a widget' do
|
10
|
-
Tk::Bindtags.bindtags(@entry).should == [
|
11
|
+
Tk::Bindtags.bindtags(@entry).should == ['.entry0', 'Entry', '.', 'all']
|
11
12
|
end
|
12
13
|
|
13
14
|
it 'reverses bindtags of a widget' do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -7,12 +8,12 @@ describe Tk::Clipboard do
|
|
7
8
|
|
8
9
|
it 'should clear the clipboard' do
|
9
10
|
C.clear
|
10
|
-
|
11
|
-
|
11
|
+
-> { C.get }.should.raise.message
|
12
|
+
.should =~ /^CLIPBOARD selection doesn't exist or form "STRING" not defined/
|
12
13
|
end
|
13
14
|
|
14
15
|
it 'should append to the clipboard' do
|
15
16
|
C.append data: 'something'
|
16
17
|
C.get.should == 'something'
|
17
18
|
end
|
18
|
-
end
|
19
|
+
end
|
data/spec/ffi-tk/command/font.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
4
5
|
|
5
6
|
describe Tk::Font do
|
6
7
|
it 'lists names of all named fonts' do
|
7
|
-
Tk::Font.names.sort.should ==
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
Tk::Font.names.sort.select { |name| name.match(/^Tk./) }.should == %w(
|
9
|
+
TkCaptionFont TkDefaultFont TkFixedFont TkHeadingFont
|
10
|
+
TkIconFont TkMenuFont TkSmallCaptionFont TkTextFont
|
11
|
+
TkTooltipFont
|
12
|
+
)
|
12
13
|
end
|
13
14
|
|
14
15
|
it 'measures a character' do
|
@@ -16,9 +17,9 @@ describe Tk::Font do
|
|
16
17
|
end
|
17
18
|
|
18
19
|
it 'shows metrics of a font' do
|
19
|
-
Tk::Font.metrics('TkDefaultFont', :ascent).should
|
20
|
+
Tk::Font.metrics('TkDefaultFont', :ascent).should >= 11
|
20
21
|
Tk::Font.metrics('TkDefaultFont', :descent).should == 3
|
21
|
-
Tk::Font.metrics('TkDefaultFont', :linespace).should
|
22
|
+
Tk::Font.metrics('TkDefaultFont', :linespace).should >= 14
|
22
23
|
Tk::Font.metrics('TkDefaultFont', :fixed).should == 0
|
23
24
|
end
|
24
25
|
|
@@ -27,16 +28,16 @@ describe Tk::Font do
|
|
27
28
|
end
|
28
29
|
|
29
30
|
it 'creates a font' do
|
30
|
-
Tk::Font.create('
|
31
|
-
Tk::Font.names.sort.should.include('
|
31
|
+
Tk::Font.create('DejaVuSans').should == 'DejaVuSans'
|
32
|
+
Tk::Font.names.sort.should.include('DejaVuSans')
|
32
33
|
|
33
|
-
lambda
|
34
|
-
Tk::Font.create('
|
35
|
-
|
34
|
+
lambda do
|
35
|
+
Tk::Font.create('DejaVuSans')
|
36
|
+
end.should.raise.message =~ /^named font "DejaVuSans" already exists/
|
36
37
|
end
|
37
38
|
|
38
39
|
it 'show configuration for our font' do
|
39
|
-
conf = Tk::Font.configure('
|
40
|
+
conf = Tk::Font.configure('DejaVuSans')
|
40
41
|
conf[:family].should == ''
|
41
42
|
conf[:size].should == 0
|
42
43
|
conf[:weight].should == :normal
|
@@ -46,12 +47,12 @@ describe Tk::Font do
|
|
46
47
|
end
|
47
48
|
|
48
49
|
it 'manipulates configuration of our font' do
|
49
|
-
Tk::Font.configure('
|
50
|
-
Tk::Font.configure('
|
50
|
+
Tk::Font.configure('DejaVuSans', size: 10)
|
51
|
+
Tk::Font.configure('DejaVuSans')[:size].should == 10
|
51
52
|
end
|
52
53
|
|
53
54
|
it 'shows actual information about the font' do
|
54
|
-
conf = Tk::Font.actual('
|
55
|
+
conf = Tk::Font.actual('DejaVuSans')
|
55
56
|
conf[:family].should.not == ''
|
56
57
|
conf[:size].should == 10
|
57
58
|
conf[:weight].should == :normal
|
@@ -61,7 +62,7 @@ describe Tk::Font do
|
|
61
62
|
end
|
62
63
|
|
63
64
|
it 'deletes the font' do
|
64
|
-
Tk::Font.delete('
|
65
|
-
Tk::Font.names.should.not.include('
|
65
|
+
Tk::Font.delete('DejaVuSans')
|
66
|
+
Tk::Font.names.should.not.include('DejaVuSans')
|
66
67
|
end
|
67
|
-
end
|
68
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -5,22 +6,29 @@ Tk.init
|
|
5
6
|
describe Tk::Image do
|
6
7
|
Image = Tk::Image
|
7
8
|
|
9
|
+
extra_images = %w(
|
10
|
+
::tk::icons::information
|
11
|
+
::tk::icons::error
|
12
|
+
::tk::icons::warning
|
13
|
+
::tk::icons::question
|
14
|
+
)
|
15
|
+
|
8
16
|
it 'creates photo image and return path' do
|
9
|
-
Image.names.size.should ==
|
17
|
+
Image.names.size.should == extra_images.size
|
10
18
|
Image.create('photo').to_s.should == 'image1'
|
11
19
|
Image.create('photo').to_s.should == 'image2'
|
12
|
-
Image.names.should ==
|
20
|
+
Image.names.sort.should == (extra_images + %w(image1 image2)).sort
|
13
21
|
|
14
22
|
Image.delete('image1', 'image2')
|
15
|
-
Image.names.size.should ==
|
23
|
+
Image.names.size.should == extra_images.size
|
16
24
|
end
|
17
25
|
|
18
26
|
it 'creates bitmap image and return path' do
|
19
27
|
Image.create('bitmap').to_s.should == 'image3'
|
20
|
-
Image.names.should ==
|
28
|
+
Image.names.sort.should == (extra_images + %w(image3)).sort
|
21
29
|
end
|
22
30
|
|
23
31
|
it 'raise RuntimeError if wrong type' do
|
24
|
-
|
32
|
+
-> { Image.create('unkown-') }.should.raise RuntimeError
|
25
33
|
end
|
26
34
|
end
|
data/spec/ffi-tk/command/pack.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -15,6 +16,6 @@ describe Tk::Pack do
|
|
15
16
|
|
16
17
|
it 'forgets the packing' do
|
17
18
|
Tk::Pack.forget(@button)
|
18
|
-
|
19
|
+
-> { Tk::Pack.info(@button) }.should.raise
|
19
20
|
end
|
20
|
-
end
|
21
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -8,8 +9,8 @@ describe Tk::Place do
|
|
8
9
|
it 'places a widget' do
|
9
10
|
Tk::Place.place(@button, y: 42, x: 24)
|
10
11
|
Tk::Place.info(@button).should == {
|
11
|
-
in:
|
12
|
-
height: 0, relheight: 0.0, anchor:
|
12
|
+
in: '.', x: 24, relx: 0.0, y: 42, rely: 0.0, width: 0, relwidth: 0.0,
|
13
|
+
height: 0, relheight: 0.0, anchor: 'nw', bordermode: :inside
|
13
14
|
}
|
14
15
|
end
|
15
16
|
|
@@ -17,4 +18,4 @@ describe Tk::Place do
|
|
17
18
|
Tk::Place.forget(@button)
|
18
19
|
Tk::Place.info(@button).should == {}
|
19
20
|
end
|
20
|
-
end
|
21
|
+
end
|
data/spec/ffi-tk/command/vars.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -27,6 +28,6 @@ describe 'tkvars' do
|
|
27
28
|
end
|
28
29
|
|
29
30
|
it 'does not have text_relayout set' do
|
30
|
-
|
31
|
+
-> { Tk.text_relayout }.should.raise(NameError)
|
31
32
|
end
|
32
|
-
end
|
33
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -34,7 +35,7 @@ describe Tk::Winfo do
|
|
34
35
|
end
|
35
36
|
|
36
37
|
should 'not contain any coordinates yet' do
|
37
|
-
root.winfo_containing(0, 0).should
|
38
|
+
root.winfo_containing(0, 0).should.nil?
|
38
39
|
end
|
39
40
|
|
40
41
|
it 'tells us the depth of the window' do
|
@@ -84,12 +85,12 @@ describe Tk::Winfo do
|
|
84
85
|
root.winfo_manager.should == 'wm'
|
85
86
|
end
|
86
87
|
|
87
|
-
it
|
88
|
+
it 'knows its name' do
|
88
89
|
root.winfo_name.should =~ /^tk/
|
89
90
|
end
|
90
91
|
|
91
92
|
it 'knows its parent' do
|
92
|
-
root.winfo_parent.should
|
93
|
+
root.winfo_parent.should.nil?
|
93
94
|
entry.winfo_parent.should == root.tk_pathname
|
94
95
|
end
|
95
96
|
|
@@ -98,11 +99,11 @@ describe Tk::Winfo do
|
|
98
99
|
end
|
99
100
|
|
100
101
|
it 'knows location of pointer x coordinate' do
|
101
|
-
root.winfo_pointerx.class.should ==
|
102
|
+
root.winfo_pointerx.class.should == Integer
|
102
103
|
end
|
103
104
|
|
104
105
|
it 'knows location of pointer y coordinate' do
|
105
|
-
root.winfo_pointery.class.should ==
|
106
|
+
root.winfo_pointery.class.should == Integer
|
106
107
|
end
|
107
108
|
|
108
109
|
# NOTE: hold still while the specs are running ;)
|
@@ -119,9 +120,9 @@ describe Tk::Winfo do
|
|
119
120
|
end
|
120
121
|
|
121
122
|
it 'gives r,g,b values of a color' do
|
122
|
-
root.winfo_rgb('red').should == [
|
123
|
-
root.winfo_rgb('green').should == [0,
|
124
|
-
root.winfo_rgb('blue').should == [0, 0,
|
123
|
+
root.winfo_rgb('red').should == [65_535, 0, 0]
|
124
|
+
root.winfo_rgb('green').should == [0, 32_911, 0]
|
125
|
+
root.winfo_rgb('blue').should == [0, 0, 65_535]
|
125
126
|
end
|
126
127
|
|
127
128
|
it 'knows x coordinate of root window' do
|
@@ -194,7 +195,6 @@ describe Tk::Winfo do
|
|
194
195
|
root.winfo_visualsavailable(:directcolor).should.not.be.empty
|
195
196
|
end
|
196
197
|
|
197
|
-
|
198
198
|
it 'knows the height of the virtual root window' do
|
199
199
|
root.winfo_vrootheight.should >= 200
|
200
200
|
end
|
@@ -223,7 +223,7 @@ describe Tk::Winfo do
|
|
223
223
|
root.winfo_y.should == 0
|
224
224
|
end
|
225
225
|
|
226
|
-
# TODO check real screen values? (xrandr only)
|
226
|
+
# TODO: check real screen values? (xrandr only)
|
227
227
|
# For now it checks for a minimum of 320 x 200
|
228
228
|
#
|
229
229
|
# matcher = /Screen (.+?)\: (.+), current (.+) x (.+), /
|
data/spec/ffi-tk/command/wm.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require_relative '../../helper'
|
2
3
|
|
3
4
|
Tk.init
|
@@ -14,9 +15,9 @@ describe Tk::WM do
|
|
14
15
|
# * WM.iconposition
|
15
16
|
# * WM.iconwindow
|
16
17
|
|
17
|
-
describe
|
18
|
+
describe 'WM.aspect' do
|
18
19
|
should 'list current attributes' do
|
19
|
-
root.wm_aspect.should
|
20
|
+
root.wm_aspect.should.nil?
|
20
21
|
end
|
21
22
|
|
22
23
|
should 'set aspect ratio' do
|
@@ -26,7 +27,7 @@ describe Tk::WM do
|
|
26
27
|
|
27
28
|
should 'remove aspect ratio' do
|
28
29
|
root.wm_aspect = nil
|
29
|
-
root.wm_aspect.should
|
30
|
+
root.wm_aspect.should.nil?
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
@@ -56,25 +57,25 @@ describe Tk::WM do
|
|
56
57
|
root.wm_attributes(:fullscreen).should == true
|
57
58
|
root.wm_attributes(fullscreen: false)
|
58
59
|
|
59
|
-
# TODO somehow fullscreen doesn't change back, on tk side.
|
60
|
-
#Tk.interp.do_events_until do
|
60
|
+
# TODO: somehow fullscreen doesn't change back, on tk side.
|
61
|
+
# Tk.interp.do_events_until do
|
61
62
|
# root.wm_attributes(:fullscreen) == false
|
62
|
-
#end
|
63
|
+
# end
|
63
64
|
|
64
|
-
#root.wm_attributes(:fullscreen).should == false
|
65
|
+
# root.wm_attributes(:fullscreen).should == false
|
65
66
|
end
|
66
67
|
end
|
67
68
|
|
68
69
|
describe 'WM.client' do
|
69
70
|
it 'has empty WM_CLIENT_MACHINE property' do
|
70
|
-
root.wm_client.should
|
71
|
+
root.wm_client.should.nil?
|
71
72
|
end
|
72
73
|
|
73
74
|
it 'sets WM_CLIENT_MACHINE property' do
|
74
75
|
root.wm_client = 'foo'
|
75
76
|
root.wm_client.should == 'foo'
|
76
77
|
root.wm_client = nil
|
77
|
-
root.wm_client.should
|
78
|
+
root.wm_client.should.nil?
|
78
79
|
end
|
79
80
|
end
|
80
81
|
|
@@ -91,14 +92,14 @@ describe Tk::WM do
|
|
91
92
|
|
92
93
|
describe 'WM.command' do
|
93
94
|
it 'queries the WM_COMMAND property' do
|
94
|
-
root.wm_command.should
|
95
|
+
root.wm_command.should.nil?
|
95
96
|
end
|
96
97
|
|
97
98
|
it 'sets queries the WM_COMMAND property' do
|
98
|
-
root.wm_command =
|
99
|
-
root.wm_command.should ==
|
100
|
-
root.wm_command =
|
101
|
-
root.wm_command.should
|
99
|
+
root.wm_command = %w(foo bar)
|
100
|
+
root.wm_command.should == %w(foo bar)
|
101
|
+
root.wm_command = nil
|
102
|
+
root.wm_command.should.nil?
|
102
103
|
end
|
103
104
|
end
|
104
105
|
|
@@ -145,18 +146,18 @@ describe Tk::WM do
|
|
145
146
|
|
146
147
|
describe 'WM.grid' do
|
147
148
|
it 'queries grid info when no grid is set' do
|
148
|
-
root.wm_grid.should
|
149
|
+
root.wm_grid.should.nil?
|
149
150
|
end
|
150
151
|
|
151
152
|
it 'sets a grid' do
|
152
|
-
root.wm_grid = [1,1,1,1]
|
153
|
-
root.wm_grid.should == [1,1,1,1]
|
153
|
+
root.wm_grid = [1, 1, 1, 1]
|
154
|
+
root.wm_grid.should == [1, 1, 1, 1]
|
154
155
|
end
|
155
156
|
end
|
156
157
|
|
157
158
|
describe 'WM.group' do
|
158
159
|
it 'queries group pathname' do
|
159
|
-
root.wm_group.should
|
160
|
+
root.wm_group.should.nil?
|
160
161
|
end
|
161
162
|
|
162
163
|
it 'sets group pathname' do
|
@@ -167,12 +168,12 @@ describe Tk::WM do
|
|
167
168
|
|
168
169
|
describe 'WM.iconbitmap' do
|
169
170
|
it 'queries iconbitmap' do
|
170
|
-
root.wm_iconbitmap.should
|
171
|
+
root.wm_iconbitmap.should.nil?
|
171
172
|
end
|
172
173
|
|
173
174
|
it 'sets iconbitmap' do
|
174
|
-
|
175
|
-
should.raise.message.should =~ /^bitmap "some.gif" not defined/
|
175
|
+
-> { root.wm_iconbitmap = 'some.gif' }
|
176
|
+
.should.raise.message.should =~ /^bitmap "some.gif" not defined/
|
176
177
|
end
|
177
178
|
end
|
178
179
|
|
@@ -182,4 +183,4 @@ describe Tk::WM do
|
|
182
183
|
root.wm_deiconify.should == true
|
183
184
|
end
|
184
185
|
end
|
185
|
-
end
|
186
|
+
end
|