mittens_ui 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4f5d25f3b7c96a792bc79fcaacc9fd9b564cd42bd25b0eb019ee890cf8e7645
4
- data.tar.gz: 3d498df47afc937af7cb7995c7789703189e9a32b05548bd8617c6894fffd802
3
+ metadata.gz: 9fd554ceb6ba103cc474483896a9871db34a417a01e761b9c0befe7c43205cb1
4
+ data.tar.gz: 25ced2c5db0c26e27a9b29e85d635a2a8ef558da35cfe5ee690debd2a47eaa96
5
5
  SHA512:
6
- metadata.gz: b12928f2e7228a6d8c871ba3a8c3ba952db166695a05d71408f527ce59b7a84769015a6033c6b92ab04afc4a3f82316e9567fba0190a197c65c52202f8249266
7
- data.tar.gz: 967a5b3b12549407e0afd26a31dafae1498b5a345e4b664f17162ef169c73847d9a449bcbe38e5ce577693f8d9f526504565fe42481887d4419f6b1a7fcae433
6
+ metadata.gz: 368761abc4d2b0a1170c52b6a2941a700913b263ef6c0be43ceca4c20e2b3d5714620e8eb805fb12eed09a78a0c742debe00ee288dfdbbee33d2b1baa1ada3a3
7
+ data.tar.gz: 0db136bdea5ca1a8126d828c93d2e5cc16e5c1daadd4e45edcd69f6208650eb776c91867cbeb5feac3c42eedef395f952a03743b484283a31fc8a8a6bb0612cf
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mittens_ui (0.0.5)
4
+ mittens_ui (0.0.6)
5
5
  gtk3
6
6
 
7
7
  GEM
@@ -68,4 +68,4 @@ DEPENDENCIES
68
68
  rspec (~> 3.0)
69
69
 
70
70
  BUNDLED WITH
71
- 2.1.4
71
+ 2.2.3
data/README.md CHANGED
@@ -23,7 +23,7 @@ Or install it yourself as:
23
23
  ## Usage
24
24
 
25
25
  ```ruby
26
- require 'mittens_ui'
26
+ require '../lib/mittens_ui'
27
27
 
28
28
  app_options = {
29
29
  name: "say_hello",
@@ -50,6 +50,10 @@ MittensUi::Application.Window(app_options) do
50
50
 
51
51
  s = MittensUi::Slider({ start_value: 1, stop_value: 100, initial_value: 30 })
52
52
  s.slide { |s| puts s.value }
53
+
54
+ switch = MittensUi::Switch(left: 120 )
55
+ switch.on { puts switch.status }
56
+ end
53
57
  end
54
58
  ```
55
59
 
@@ -25,4 +25,7 @@ MittensUi::Application.Window(app_options) do
25
25
 
26
26
  s = MittensUi::Slider({ start_value: 1, stop_value: 100, initial_value: 30 })
27
27
  s.slide { |s| puts s.value }
28
+
29
+ switch = MittensUi::Switch(left: 120 )
30
+ switch.on { puts switch.status }
28
31
  end
@@ -5,6 +5,7 @@ require "mittens_ui/widgets/button"
5
5
  require "mittens_ui/widgets/textbox"
6
6
  require "mittens_ui/widgets/listbox"
7
7
  require "mittens_ui/widgets/slider"
8
+ require "mittens_ui/widgets/switch"
8
9
 
9
10
  require "gtk3"
10
11
 
@@ -12,6 +13,10 @@ module MittensUi
12
13
 
13
14
  class Error < StandardError; end
14
15
 
16
+ def self.Switch(options = {})
17
+ MittensUi::Widgets::Switch.new(options)
18
+ end
19
+
15
20
  def self.Slider(options = {})
16
21
  MittensUi::Widgets::Slider.new(options)
17
22
  end
@@ -1,3 +1,3 @@
1
1
  module MittensUi
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -0,0 +1,57 @@
1
+ module MittensUi
2
+ module Widgets
3
+ class Switch
4
+ def initialize(options = {})
5
+ @switch = Gtk::Switch.new
6
+ @switch.set_active(false)
7
+
8
+ margin_top = options[:top].nil? ? nil : options[:top]
9
+ margin_bottom = options[:bottom].nil? ? nil : options[:bottom]
10
+ margin_right = options[:right].nil? ? nil : options[:right]
11
+ margin_left = options[:left].nil? ? nil : options[:left]
12
+
13
+ unless margin_top.nil?
14
+ @switch.set_margin_top(margin_top)
15
+ end
16
+
17
+ unless margin_bottom.nil?
18
+ @switch.set_margin_bottom(margin_top)
19
+ end
20
+
21
+ unless margin_left.nil?
22
+ @switch.set_margin_left(margin_left)
23
+ end
24
+
25
+ unless margin_right.nil?
26
+ @switch.set_margin_right(margin_right)
27
+ end
28
+
29
+ # We need a Grid within our global $vertical_box layout
30
+ # in order to make the Widget look good (mean not overly streched).
31
+ grid = Gtk::Grid.new
32
+ grid.set_column_spacing(1)
33
+ grid.set_row_spacing(1)
34
+ grid.attach(@switch, 0, 0, 1, 1)
35
+
36
+ $vertical_box.pack_start(grid)
37
+ end
38
+
39
+ def activate
40
+ @switch.signal_connect('notify::active') do |switch_widget|
41
+ switch_widget.active? ? switch_widget.set_active(true) : switch_widget.set_active(false)
42
+ yield
43
+ end
44
+ end
45
+ alias :on :activate
46
+
47
+ def status
48
+ @switch.active? ? 'on' : 'off'
49
+ end
50
+
51
+ def remove
52
+ return if @switch.nil?
53
+ @switch.destroy
54
+ end
55
+ end
56
+ end
57
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mittens_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Tuttle
@@ -51,6 +51,7 @@ files:
51
51
  - lib/mittens_ui/widgets/label.rb
52
52
  - lib/mittens_ui/widgets/listbox.rb
53
53
  - lib/mittens_ui/widgets/slider.rb
54
+ - lib/mittens_ui/widgets/switch.rb
54
55
  - lib/mittens_ui/widgets/textbox.rb
55
56
  - mittens_ui.gemspec
56
57
  - notes/gtk.txt