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/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
|