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.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +371 -0
  5. data/AUTHORS +4 -2
  6. data/CHANGELOG +302 -262
  7. data/Gemfile +10 -0
  8. data/Gemfile.lock +45 -0
  9. data/MANIFEST +6 -6
  10. data/README.md +1 -1
  11. data/Rakefile +12 -11
  12. data/bin/rwish +6 -5
  13. data/example/choose_color.rb +5 -4
  14. data/example/choose_directory.rb +5 -4
  15. data/example/dialog.rb +9 -8
  16. data/example/hello.rb +2 -1
  17. data/example/message_box.rb +8 -5
  18. data/example/option_menu.rb +4 -3
  19. data/example/popup.rb +4 -3
  20. data/example/set_palette.rb +5 -4
  21. data/example/text.rb +30 -30
  22. data/example/tile/kroc_demo_small.rb +51 -55
  23. data/example/tile/kroc_rb_demo.rb +74 -83
  24. data/example/tile/notebook.rb +6 -9
  25. data/example/tile/theme_hello.rb +6 -8
  26. data/example/tile/themes.rb +4 -2
  27. data/example/tile/treeview.rb +16 -14
  28. data/example/tkgo.rb +120 -88
  29. data/example/various.rb +8 -7
  30. data/example/wait.rb +3 -2
  31. data/ffi-tk.gemspec +21 -20
  32. data/gemset.nix +134 -0
  33. data/lib/ffi-tk.rb +10 -11
  34. data/lib/ffi-tk/command.rb +3 -2
  35. data/lib/ffi-tk/command/after.rb +8 -7
  36. data/lib/ffi-tk/command/bell.rb +2 -1
  37. data/lib/ffi-tk/command/bind.rb +1 -0
  38. data/lib/ffi-tk/command/bindtags.rb +1 -0
  39. data/lib/ffi-tk/command/cget.rb +31 -24
  40. data/lib/ffi-tk/command/choose_color.rb +2 -1
  41. data/lib/ffi-tk/command/choose_directory.rb +2 -1
  42. data/lib/ffi-tk/command/clipboard.rb +6 -5
  43. data/lib/ffi-tk/command/configure.rb +23 -21
  44. data/lib/ffi-tk/command/destroy.rb +2 -1
  45. data/lib/ffi-tk/command/dialog.rb +4 -3
  46. data/lib/ffi-tk/command/event.rb +1 -0
  47. data/lib/ffi-tk/command/focus.rb +2 -1
  48. data/lib/ffi-tk/command/font.rb +12 -9
  49. data/lib/ffi-tk/command/get_open_file.rb +1 -0
  50. data/lib/ffi-tk/command/get_save_file.rb +1 -0
  51. data/lib/ffi-tk/command/grab.rb +2 -1
  52. data/lib/ffi-tk/command/grid.rb +7 -6
  53. data/lib/ffi-tk/command/image.rb +5 -4
  54. data/lib/ffi-tk/command/lower.rb +1 -0
  55. data/lib/ffi-tk/command/message_box.rb +2 -1
  56. data/lib/ffi-tk/command/option_menu.rb +3 -2
  57. data/lib/ffi-tk/command/pack.rb +5 -4
  58. data/lib/ffi-tk/command/place.rb +5 -4
  59. data/lib/ffi-tk/command/popup.rb +2 -1
  60. data/lib/ffi-tk/command/raise.rb +1 -0
  61. data/lib/ffi-tk/command/scrollable.rb +7 -10
  62. data/lib/ffi-tk/command/selection.rb +4 -3
  63. data/lib/ffi-tk/command/set_palette.rb +2 -1
  64. data/lib/ffi-tk/command/tk_cmd.rb +1 -0
  65. data/lib/ffi-tk/command/vars.rb +2 -1
  66. data/lib/ffi-tk/command/wait.rb +2 -1
  67. data/lib/ffi-tk/command/winfo.rb +9 -8
  68. data/lib/ffi-tk/command/wm.rb +11 -10
  69. data/lib/ffi-tk/core_extensions.rb +5 -4
  70. data/lib/ffi-tk/event/data.rb +32 -31
  71. data/lib/ffi-tk/event/handler.rb +4 -3
  72. data/lib/ffi-tk/ffi/tcl.rb +42 -31
  73. data/lib/ffi-tk/ffi/tcl/cmd_proc.rb +2 -1
  74. data/lib/ffi-tk/ffi/tcl/eval_result.rb +47 -8
  75. data/lib/ffi-tk/ffi/tcl/interp.rb +7 -4
  76. data/lib/ffi-tk/ffi/tcl/obj.rb +7 -32
  77. data/lib/ffi-tk/ffi/tcl/time.rb +2 -1
  78. data/lib/ffi-tk/ffi/tk.rb +8 -7
  79. data/lib/ffi-tk/geometry.rb +20 -17
  80. data/lib/ffi-tk/thread_sender.rb +1 -0
  81. data/lib/ffi-tk/tk.rb +23 -23
  82. data/lib/ffi-tk/variable.rb +25 -3
  83. data/lib/ffi-tk/version.rb +1 -1
  84. data/lib/ffi-tk/widget.rb +2 -1
  85. data/lib/ffi-tk/widget/button.rb +4 -1
  86. data/lib/ffi-tk/widget/canvas.rb +18 -15
  87. data/lib/ffi-tk/widget/canvas/arc.rb +2 -1
  88. data/lib/ffi-tk/widget/canvas/bitmap.rb +2 -1
  89. data/lib/ffi-tk/widget/canvas/image.rb +2 -1
  90. data/lib/ffi-tk/widget/canvas/item.rb +4 -4
  91. data/lib/ffi-tk/widget/canvas/line.rb +2 -1
  92. data/lib/ffi-tk/widget/canvas/oval.rb +2 -1
  93. data/lib/ffi-tk/widget/canvas/polygon.rb +2 -1
  94. data/lib/ffi-tk/widget/canvas/rectangle.rb +2 -1
  95. data/lib/ffi-tk/widget/canvas/text.rb +2 -1
  96. data/lib/ffi-tk/widget/canvas/window.rb +2 -1
  97. data/lib/ffi-tk/widget/checkbutton.rb +4 -1
  98. data/lib/ffi-tk/widget/entry.rb +4 -1
  99. data/lib/ffi-tk/widget/frame.rb +4 -1
  100. data/lib/ffi-tk/widget/label.rb +4 -1
  101. data/lib/ffi-tk/widget/labelframe.rb +4 -1
  102. data/lib/ffi-tk/widget/listbox.rb +5 -2
  103. data/lib/ffi-tk/widget/menu.rb +4 -1
  104. data/lib/ffi-tk/widget/menubutton.rb +4 -1
  105. data/lib/ffi-tk/widget/message.rb +4 -1
  106. data/lib/ffi-tk/widget/panedwindow.rb +5 -2
  107. data/lib/ffi-tk/widget/radiobutton.rb +4 -1
  108. data/lib/ffi-tk/widget/root.rb +1 -0
  109. data/lib/ffi-tk/widget/scale.rb +4 -1
  110. data/lib/ffi-tk/widget/scrollbar.rb +4 -1
  111. data/lib/ffi-tk/widget/spinbox.rb +4 -1
  112. data/lib/ffi-tk/widget/text.rb +20 -16
  113. data/lib/ffi-tk/widget/text/peer.rb +1 -0
  114. data/lib/ffi-tk/widget/tile.rb +2 -1
  115. data/lib/ffi-tk/widget/tile/button.rb +4 -1
  116. data/lib/ffi-tk/widget/tile/checkbutton.rb +4 -1
  117. data/lib/ffi-tk/widget/tile/combobox.rb +5 -2
  118. data/lib/ffi-tk/widget/tile/entry.rb +4 -1
  119. data/lib/ffi-tk/widget/tile/frame.rb +4 -1
  120. data/lib/ffi-tk/widget/tile/label.rb +4 -2
  121. data/lib/ffi-tk/widget/tile/labelframe.rb +4 -1
  122. data/lib/ffi-tk/widget/tile/menubutton.rb +4 -1
  123. data/lib/ffi-tk/widget/tile/notebook.rb +4 -1
  124. data/lib/ffi-tk/widget/tile/panedwindow.rb +4 -1
  125. data/lib/ffi-tk/widget/tile/progressbar.rb +4 -2
  126. data/lib/ffi-tk/widget/tile/radiobutton.rb +4 -1
  127. data/lib/ffi-tk/widget/tile/scale.rb +4 -1
  128. data/lib/ffi-tk/widget/tile/scrollbar.rb +7 -4
  129. data/lib/ffi-tk/widget/tile/separator.rb +4 -1
  130. data/lib/ffi-tk/widget/tile/sizegrip.rb +4 -1
  131. data/lib/ffi-tk/widget/tile/style.rb +16 -17
  132. data/lib/ffi-tk/widget/tile/treeview.rb +11 -5
  133. data/lib/ffi-tk/widget/toplevel.rb +4 -1
  134. data/shell.nix +19 -0
  135. data/spec/ffi-tk/command/bind.rb +5 -4
  136. data/spec/ffi-tk/command/bindtags.rb +2 -1
  137. data/spec/ffi-tk/command/clipboard.rb +4 -3
  138. data/spec/ffi-tk/command/font.rb +20 -19
  139. data/spec/ffi-tk/command/image.rb +13 -5
  140. data/spec/ffi-tk/command/pack.rb +3 -2
  141. data/spec/ffi-tk/command/place.rb +4 -3
  142. data/spec/ffi-tk/command/selection.rb +2 -1
  143. data/spec/ffi-tk/command/vars.rb +3 -2
  144. data/spec/ffi-tk/command/winfo.rb +10 -10
  145. data/spec/ffi-tk/command/wm.rb +23 -22
  146. data/spec/ffi-tk/event.rb +23 -21
  147. data/spec/ffi-tk/tile/button.rb +8 -8
  148. data/spec/ffi-tk/tile/checkbutton.rb +1 -1
  149. data/spec/ffi-tk/tile/combobox.rb +11 -12
  150. data/spec/ffi-tk/tile/entry.rb +18 -19
  151. data/spec/ffi-tk/tile/frame.rb +13 -13
  152. data/spec/ffi-tk/tile/label.rb +2 -2
  153. data/spec/ffi-tk/tile/labelframe.rb +1 -1
  154. data/spec/ffi-tk/tile/menubutton.rb +1 -1
  155. data/spec/ffi-tk/tile/notebook.rb +22 -20
  156. data/spec/ffi-tk/tile/panedwindow.rb +1 -1
  157. data/spec/ffi-tk/tile/progressbar.rb +1 -1
  158. data/spec/ffi-tk/tile/radiobutton.rb +1 -1
  159. data/spec/ffi-tk/tile/scale.rb +1 -1
  160. data/spec/ffi-tk/tile/scrollbar.rb +1 -16
  161. data/spec/ffi-tk/tile/separator.rb +2 -2
  162. data/spec/ffi-tk/tile/sizegrip.rb +1 -1
  163. data/spec/ffi-tk/tile/style.rb +63 -65
  164. data/spec/ffi-tk/tile/treeview.rb +11 -10
  165. data/spec/ffi-tk/variable.rb +5 -4
  166. data/spec/ffi-tk/widget/button.rb +3 -2
  167. data/spec/ffi-tk/widget/canvas.rb +59 -58
  168. data/spec/ffi-tk/widget/checkbutton.rb +6 -5
  169. data/spec/ffi-tk/widget/entry.rb +112 -103
  170. data/spec/ffi-tk/widget/frame.rb +2 -1
  171. data/spec/ffi-tk/widget/label.rb +2 -1
  172. data/spec/ffi-tk/widget/labelframe.rb +1 -0
  173. data/spec/ffi-tk/widget/listbox.rb +5 -4
  174. data/spec/ffi-tk/widget/menu.rb +3 -2
  175. data/spec/ffi-tk/widget/menubutton.rb +1 -0
  176. data/spec/ffi-tk/widget/message.rb +1 -0
  177. data/spec/ffi-tk/widget/panedwindow.rb +1 -0
  178. data/spec/ffi-tk/widget/radiobutton.rb +1 -0
  179. data/spec/ffi-tk/widget/root.rb +2 -1
  180. data/spec/ffi-tk/widget/scale.rb +1 -0
  181. data/spec/ffi-tk/widget/scrollbar.rb +1 -0
  182. data/spec/ffi-tk/widget/spinbox.rb +1 -0
  183. data/spec/ffi-tk/widget/text.rb +63 -54
  184. data/spec/ffi-tk/widget/toplevel.rb +1 -0
  185. data/spec/helper.rb +3 -1
  186. data/tasks/authors.rake +3 -2
  187. data/tasks/bacon.rake +13 -11
  188. data/tasks/changelog.rake +1 -0
  189. data/tasks/gem.rake +13 -11
  190. data/tasks/manifest.rake +2 -1
  191. data/tasks/release.rake +11 -32
  192. data/tasks/reversion.rake +2 -1
  193. metadata +52 -75
  194. data/spec/ffi-tk/command/grid.rb +0 -6
  195. data/tasks/gem_setup.rake +0 -113
  196. data/tasks/grancher.rake +0 -12
  197. data/tasks/rcov.rake +0 -17
  198. data/tasks/setup.rake +0 -12
  199. data/tasks/ycov.rake +0 -84
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  class Text
3
4
  class Peer < Text
@@ -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).to_a
38
+ execute(:state)&.split
38
39
  else
39
40
  execute_only(:state, new_state)
40
41
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Button < Tk::Button
4
- def self.tk_command; 'ttk::button'; end
5
+ def self.tk_command
6
+ 'ttk::button'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class CheckButton < Tk::CheckButton
4
- def self.tk_command; 'ttk::checkbutton'; end
5
+ def self.tk_command
6
+ 'ttk::checkbutton'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  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; 'ttk::combobox'; end
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(:postcommand => block) if block
19
+ configure(postcommand: block) if block
17
20
  end
18
21
 
19
22
  # Sets the value of the combobox to value.
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Entry < Tk::Entry
4
- def self.tk_command; 'ttk::entry'; end
5
+ def self.tk_command
6
+ 'ttk::entry'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Frame < Tk::Frame
4
- def self.tk_command; 'ttk::frame'; end
5
+ def self.tk_command
6
+ 'ttk::frame'
7
+ end
5
8
  include TileWidget
6
9
 
7
10
  def initialize(parent = Tk.root, options = {})
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Label < Tk::Label
4
- def self.tk_command; 'ttk::label'; end
5
+ def self.tk_command
6
+ 'ttk::label'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
8
11
  end
9
-
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class LabelFrame < Tk::LabelFrame
4
- def self.tk_command; 'ttk::labelframe'; end
5
+ def self.tk_command
6
+ 'ttk::labelframe'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class MenuButton < Tk::MenuButton
4
- def self.tk_command; 'ttk::menubutton'; end
5
+ def self.tk_command
6
+ 'ttk::menubutton'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
@@ -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; 'ttk::notebook'; end
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,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class PanedWindow < Tk::PanedWindow
4
- def self.tk_command; 'ttk::panedwindow'; end
5
+ def self.tk_command
6
+ 'ttk::panedwindow'
7
+ end
5
8
  include TileWidget
6
9
 
7
10
  # pathname add subwindow 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; 'ttk::progressbar'; end
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 RadioButton < Tk::RadioButton
4
- def self.tk_command; 'ttk::radiobutton'; end
5
+ def self.tk_command
6
+ 'ttk::radiobutton'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Scale < Tk::Scale
4
- def self.tk_command; 'ttk::scale'; end
5
+ def self.tk_command
6
+ 'ttk::scale'
7
+ end
5
8
  include TileWidget
6
9
  end
7
10
  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; 'ttk::scrollbar'; end
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(:command => block) if block
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
- #configure :orient => :vertical
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 :orient => :horizontal
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; 'ttk::separator'; end
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,7 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module Tk
2
3
  module Tile
3
4
  class Sizegrip < Tk::Widget
4
- def self.tk_command; 'ttk::sizegrip'; end
5
+ def self.tk_command
6
+ 'ttk::sizegrip'
7
+ end
5
8
  include TileWidget, Cget, Configure
6
9
 
7
10
  # # USAGE
@@ -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'.freeze
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.kind_of?(Hash) && (options, style = style, nil)
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.kind_of?(Hash) && (keys, style = style, nil)
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; 'ttk::treeview'; end
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, self.id = tk_parent, id.to_s
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
- "#<Treeview::Item @tk_parent=%p @id=%p>" % [tk_parent.tk_pathname, id]
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; 'toplevel'; end
13
+ def self.tk_command
14
+ 'toplevel'
15
+ end
13
16
  end
14
17
  end