ffi-tk 2010.08.23 → 2018.02.20
Sign up to get free protection for your applications and to get access to all the features.
- 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/lib/ffi-tk/widget/tile.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# Ttk package merged Tcl/Tk core (Tcl/Tk 8.5+)
|
2
3
|
module Tk
|
3
4
|
module Tile
|
@@ -34,7 +35,7 @@ module Tk
|
|
34
35
|
module TileWidget
|
35
36
|
def ttk_state(new_state = None)
|
36
37
|
if new_state == None
|
37
|
-
execute(:state)
|
38
|
+
execute(:state)&.split
|
38
39
|
else
|
39
40
|
execute_only(:state, new_state)
|
40
41
|
end
|
@@ -1,9 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
# combobox combines a text field with a pop-down list of values.
|
4
5
|
# the user may select the value of the text field from among the values in the list.
|
5
6
|
class ComboBox < Widget
|
6
|
-
def self.tk_command
|
7
|
+
def self.tk_command
|
8
|
+
'ttk::combobox'
|
9
|
+
end
|
7
10
|
|
8
11
|
include TileWidget
|
9
12
|
include Cget, Configure
|
@@ -13,7 +16,7 @@ module Tk
|
|
13
16
|
end
|
14
17
|
|
15
18
|
def postcommand(&block)
|
16
|
-
configure(:
|
19
|
+
configure(postcommand: block) if block
|
17
20
|
end
|
18
21
|
|
19
22
|
# Sets the value of the combobox to value.
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
# Tk::Tile::Notebook widget manages a collection of windows
|
@@ -5,7 +6,9 @@ module Tk
|
|
5
6
|
# is associated with a tab, which the user may select to
|
6
7
|
# change the currently-displayed window.
|
7
8
|
class Notebook < Widget
|
8
|
-
def self.tk_command
|
9
|
+
def self.tk_command
|
10
|
+
'ttk::notebook'
|
11
|
+
end
|
9
12
|
include TileWidget
|
10
13
|
|
11
14
|
def initialize(parent = Tk.root, options = {})
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
# progressbar widget shows the status of a long-running operation.
|
@@ -6,7 +7,9 @@ module Tk
|
|
6
7
|
# indeterminate mode provides an animated display to let the user
|
7
8
|
# know that something is happening.
|
8
9
|
class Progressbar < Widget
|
9
|
-
def self.tk_command
|
10
|
+
def self.tk_command
|
11
|
+
'ttk::progressbar'
|
12
|
+
end
|
10
13
|
include TileWidget, Cget, Configure
|
11
14
|
|
12
15
|
# Begin autoincrement mode
|
@@ -40,7 +43,6 @@ module Tk
|
|
40
43
|
execute(:cget, '-phase').to_i
|
41
44
|
end
|
42
45
|
|
43
|
-
|
44
46
|
def identify(x, y)
|
45
47
|
execute(:identify, x, y)
|
46
48
|
end
|
@@ -1,7 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
class Scrollbar < Tk::Scrollbar
|
4
|
-
def self.tk_command
|
5
|
+
def self.tk_command
|
6
|
+
'ttk::scrollbar'
|
7
|
+
end
|
5
8
|
include TileWidget
|
6
9
|
|
7
10
|
def initialize(parent = Tk.root, options = {})
|
@@ -20,19 +23,19 @@ module Tk
|
|
20
23
|
end
|
21
24
|
|
22
25
|
def command(&block)
|
23
|
-
configure(:
|
26
|
+
configure(command: block) if block
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
27
30
|
class YScrollbar < Tk::Tile::Scrollbar
|
28
31
|
def scrollbar_default
|
29
|
-
|
32
|
+
configure orient: :vertical
|
30
33
|
end
|
31
34
|
end
|
32
35
|
|
33
36
|
class XScrollbar < Tk::Tile::Scrollbar
|
34
37
|
def scrollbar_default
|
35
|
-
configure :
|
38
|
+
configure orient: :horizontal
|
36
39
|
end
|
37
40
|
end
|
38
41
|
end
|
@@ -1,8 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
# Separator widget displays a horizontal or vertical separator bar.
|
4
5
|
class Separator < Widget
|
5
|
-
def self.tk_command
|
6
|
+
def self.tk_command
|
7
|
+
'ttk::separator'
|
8
|
+
end
|
6
9
|
include TileWidget, Cget, Configure
|
7
10
|
|
8
11
|
# Specifies the orientation of the separator.
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
def self.style(style, parent_name)
|
@@ -6,7 +7,7 @@ module Tk
|
|
6
7
|
|
7
8
|
module Style
|
8
9
|
extend Tk::Cget, Tk::Configure
|
9
|
-
TkkStyleCmd = 'ttk::style'
|
10
|
+
TkkStyleCmd = 'ttk::style'
|
10
11
|
|
11
12
|
# Returns a list of all known themes.
|
12
13
|
def self.theme_names
|
@@ -26,10 +27,10 @@ module Tk
|
|
26
27
|
return unless block
|
27
28
|
raise ArgumentError unless theme_names.include? name
|
28
29
|
|
29
|
-
id = Tk.uuid(:proc){|uuid| Tk.callbacks[uuid] = block }
|
30
|
+
id = Tk.uuid(:proc) { |uuid| Tk.callbacks[uuid] = block }
|
30
31
|
cmd = "{ RubyFFI::callback #{id} }"
|
31
32
|
Tk.eval "ttk::style theme settings #{name} #{cmd}"
|
32
|
-
#Tk.execute_only('ttk::style', 'theme', 'settings', name, cmd)
|
33
|
+
# Tk.execute_only('ttk::style', 'theme', 'settings', name, cmd)
|
33
34
|
Tk.callbacks.delete(id) if id
|
34
35
|
name
|
35
36
|
end
|
@@ -38,12 +39,12 @@ module Tk
|
|
38
39
|
# If -parent is specified, the new theme will inherit styles, elements, and
|
39
40
|
# layouts from the parent theme basedon. If -settings is present, script is
|
40
41
|
# evaluated in the context of the new theme as per ttk::style theme settings.
|
41
|
-
def self.theme_create(name, options={}, &block)
|
42
|
+
def self.theme_create(name, options = {}, &block)
|
42
43
|
raise ArgumentError if theme_names.include? name
|
43
44
|
options = options.to_tcl_options
|
44
45
|
|
45
46
|
if block
|
46
|
-
id = Tk.uuid(:proc){|uuid| Tk.callbacks[uuid] = block }
|
47
|
+
id = Tk.uuid(:proc) { |uuid| Tk.callbacks[uuid] = block }
|
47
48
|
options << " -settings { RubyFFI::callback #{id} }"
|
48
49
|
end
|
49
50
|
res = Tk.execute_only('ttk::style', 'theme', 'create', name, options)
|
@@ -51,7 +52,6 @@ module Tk
|
|
51
52
|
res
|
52
53
|
end
|
53
54
|
|
54
|
-
|
55
55
|
# Returns the list of elements defined in the current theme.
|
56
56
|
def self.element_names
|
57
57
|
Tk.execute('ttk::style', 'element', 'names')
|
@@ -66,15 +66,12 @@ module Tk
|
|
66
66
|
# Creates a new element in the current theme of type type. The only
|
67
67
|
# built-in element type is image (see ttk_image(n)), although themes
|
68
68
|
# may define other element types (see Ttk_RegisterElementFactory).
|
69
|
-
def self.element_create(name, type, args=nil, options={})
|
69
|
+
def self.element_create(name, type, args = nil, options = {})
|
70
70
|
if type == 'image' || type == :image
|
71
71
|
Tk.execute_only('ttk::style', 'element', 'create', name, 'image', args, options.to_tcl_options)
|
72
|
-
else
|
73
|
-
#Tk.execute_only('ttk::style', 'element', 'create', name, type)
|
74
72
|
end
|
75
73
|
end
|
76
74
|
|
77
|
-
|
78
75
|
# Define the widget layout for style style. See LAYOUTS below for the format
|
79
76
|
# of layoutSpec. If layoutSpec is omitted, return the layout specification
|
80
77
|
# for style style.
|
@@ -85,19 +82,21 @@ module Tk
|
|
85
82
|
# Sets dynamic values of the specified option(s) in style.
|
86
83
|
# Each statespec / value pair is examined in order; the value
|
87
84
|
# corresponding to the first matching statespec is used.
|
88
|
-
def self.map(style, options={})
|
89
|
-
style.
|
85
|
+
def self.map(style, options = {})
|
86
|
+
style.is_a?(Hash) && (options = style
|
87
|
+
style = nil)
|
90
88
|
style = '.' unless style
|
91
89
|
|
92
|
-
Tk.execute_only('ttk::style', 'map', style, options.to_tcl_options
|
90
|
+
Tk.execute_only('ttk::style', 'map', style, options.to_tcl_options)
|
93
91
|
end
|
94
92
|
|
95
93
|
# Sets the default value of the specified option(s) in style.
|
96
|
-
def self.configure(style=nil, options={})
|
97
|
-
style.
|
94
|
+
def self.configure(style = nil, options = {})
|
95
|
+
style.is_a?(Hash) && (keys = style
|
96
|
+
style = nil)
|
98
97
|
style = '.' unless style
|
99
98
|
|
100
|
-
Tk.execute_only('ttk::style','configure', style, options.to_tcl_options)
|
99
|
+
Tk.execute_only('ttk::style', 'configure', style, options.to_tcl_options)
|
101
100
|
end
|
102
101
|
|
103
102
|
# Returns the value specified for -option in style style in state
|
@@ -106,7 +105,7 @@ module Tk
|
|
106
105
|
# bits off (the "normal" state). If the default argument is present,
|
107
106
|
# it is used as a fallback value in case no specification
|
108
107
|
# for -option is found.
|
109
|
-
def self.lookup(style, option, state=Tk::None, default=Tk::None)
|
108
|
+
def self.lookup(style, option, state = Tk::None, default = Tk::None)
|
110
109
|
Tk.execute('ttk::style', 'lookup', style, option.to_tcl_option, state, default).to_s
|
111
110
|
end
|
112
111
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
module Tile
|
3
4
|
# The ttk::treeview widget displays a hierarchical collection of items.
|
@@ -21,7 +22,9 @@ module Tk
|
|
21
22
|
class Treeview < Tk::Widget
|
22
23
|
include Tk::Tile::TileWidget, Scrollable, Cget, Configure
|
23
24
|
|
24
|
-
def self.tk_command
|
25
|
+
def self.tk_command
|
26
|
+
'ttk::treeview'
|
27
|
+
end
|
25
28
|
|
26
29
|
# Delete all items
|
27
30
|
def clear
|
@@ -45,7 +48,7 @@ module Tk
|
|
45
48
|
# None of the items in newchildren may be an ancestor of item.
|
46
49
|
def children(item, *new_children)
|
47
50
|
if new_children.empty?
|
48
|
-
execute(:children, item).to_a.map{|child| Item.new(self, child) }
|
51
|
+
execute(:children, item).to_a.map { |child| Item.new(self, child) }
|
49
52
|
else
|
50
53
|
execute(:children, item, *new_children.flatten)
|
51
54
|
end
|
@@ -177,7 +180,8 @@ module Tk
|
|
177
180
|
Item = Struct.new(:tk_parent, :id)
|
178
181
|
class Item
|
179
182
|
def initialize(tk_parent, id)
|
180
|
-
self.tk_parent
|
183
|
+
self.tk_parent = tk_parent
|
184
|
+
self.id = id.to_s
|
181
185
|
end
|
182
186
|
|
183
187
|
def insert(index, options = {})
|
@@ -265,7 +269,7 @@ module Tk
|
|
265
269
|
end
|
266
270
|
|
267
271
|
def inspect
|
268
|
-
|
272
|
+
'#<Tk::Treeview::Item @tk_parent=%p @id=%p>' % [tk_parent.tk_pathname, id]
|
269
273
|
end
|
270
274
|
|
271
275
|
private :id=
|
@@ -307,6 +311,8 @@ module Tk
|
|
307
311
|
# hierarchy.
|
308
312
|
def parent(item)
|
309
313
|
id = execute(:parent, item)
|
314
|
+
p item
|
315
|
+
p id
|
310
316
|
Item.new(self, id) if id
|
311
317
|
end
|
312
318
|
|
@@ -326,7 +332,7 @@ module Tk
|
|
326
332
|
|
327
333
|
# Returns the list of selected items.
|
328
334
|
def selection
|
329
|
-
execute(:selection).to_a.map{|id| Item.new(self, id) }
|
335
|
+
execute(:selection).to_a.map { |id| Item.new(self, id) }
|
330
336
|
end
|
331
337
|
|
332
338
|
# +items+ becomes the new selection.
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Tk
|
2
3
|
# A toplevel is similar to a frame except that it is created as a top-level
|
3
4
|
# window: its X parent is the root window of a screen rather than the logical
|
@@ -9,6 +10,8 @@ module Tk
|
|
9
10
|
class Toplevel < Widget
|
10
11
|
include Cget, Configure
|
11
12
|
|
12
|
-
def self.tk_command
|
13
|
+
def self.tk_command
|
14
|
+
'toplevel'
|
15
|
+
end
|
13
16
|
end
|
14
17
|
end
|