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