mittens_ui 0.0.7 → 0.0.11

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +3 -1
  5. data/Gemfile.lock +5 -2
  6. data/LICENSE +21 -0
  7. data/README.md +78 -21
  8. data/examples/app.rb +101 -8
  9. data/examples/assets/gnome_logo.png +0 -0
  10. data/examples/assets/mittens_ui_preview.gif +0 -0
  11. data/examples/contacts.rb +80 -0
  12. data/examples/file_menu_example.rb +52 -0
  13. data/examples/notify_example.rb +19 -0
  14. data/lib/mittens_ui.rb +40 -67
  15. data/lib/mittens_ui/alert.rb +32 -0
  16. data/lib/mittens_ui/assets/icon.png +0 -0
  17. data/lib/mittens_ui/assets/mittens_ui_preview.gif +0 -0
  18. data/lib/mittens_ui/button.rb +40 -0
  19. data/lib/mittens_ui/checkbox.rb +24 -0
  20. data/lib/mittens_ui/core.rb +34 -0
  21. data/lib/mittens_ui/file_menu.rb +83 -0
  22. data/lib/mittens_ui/file_picker.rb +29 -0
  23. data/lib/mittens_ui/grid.rb +29 -0
  24. data/lib/mittens_ui/hbox.rb +56 -0
  25. data/lib/mittens_ui/header_bar.rb +46 -0
  26. data/lib/mittens_ui/helpers.rb +41 -0
  27. data/lib/mittens_ui/image.rb +46 -0
  28. data/lib/mittens_ui/label.rb +19 -0
  29. data/lib/mittens_ui/listbox.rb +47 -0
  30. data/lib/mittens_ui/loader.rb +33 -0
  31. data/lib/mittens_ui/notify.rb +61 -0
  32. data/lib/mittens_ui/slider.rb +32 -0
  33. data/lib/mittens_ui/switch.rb +36 -0
  34. data/lib/mittens_ui/table_view.rb +179 -0
  35. data/lib/mittens_ui/textbox.rb +53 -0
  36. data/lib/mittens_ui/version.rb +1 -1
  37. data/lib/mittens_ui/web_link.rb +22 -0
  38. data/mittens_ui.gemspec +3 -3
  39. data/notes/dev_setup.txt +14 -0
  40. metadata +37 -16
  41. data/examples/brightness_controller.rb +0 -64
  42. data/lib/mittens_ui/layouts/box.rb +0 -38
  43. data/lib/mittens_ui/layouts/grid.rb +0 -31
  44. data/lib/mittens_ui/widgets/alert.rb +0 -33
  45. data/lib/mittens_ui/widgets/button.rb +0 -34
  46. data/lib/mittens_ui/widgets/label.rb +0 -41
  47. data/lib/mittens_ui/widgets/listbox.rb +0 -45
  48. data/lib/mittens_ui/widgets/slider.rb +0 -32
  49. data/lib/mittens_ui/widgets/switch.rb +0 -57
  50. data/lib/mittens_ui/widgets/textbox.rb +0 -25
@@ -1,45 +0,0 @@
1
- module MittensUi
2
- module Widgets
3
- class ListBox
4
- attr_reader :items
5
-
6
- def initialize(options={})
7
- @items = options[:items]
8
-
9
- list_store = Gtk::ListStore.new(String)
10
-
11
- @items.each do |i|
12
- iter = list_store.append
13
- iter[0] = i
14
- end
15
-
16
- renderer = Gtk::CellRendererText.new
17
-
18
- @gtk_combobox = Gtk::ComboBox.new(model: list_store)
19
- @gtk_combobox.pack_start(renderer, true)
20
- @gtk_combobox.set_attributes(renderer, "text" => 0)
21
- @gtk_combobox.set_cell_data_func(renderer) do |_layout, _cell_renderer, _model, iter|
22
- set_selected_value(iter[0])
23
- end
24
-
25
- @gtk_combobox.set_active(0)
26
-
27
- $vertical_box.pack_start(@gtk_combobox)
28
- end
29
-
30
- def set_selected_value(value)
31
- @selected_value = value
32
- end
33
-
34
- def get_selected_value
35
- @selected_value
36
- end
37
- alias :selected_value :get_selected_value
38
-
39
- def remove
40
- return if @gtk_combobox.nil?
41
- @gtk_combobox.destroy
42
- end
43
- end
44
- end
45
- end
@@ -1,32 +0,0 @@
1
- module MittensUi
2
- module Widgets
3
- class Slider
4
- def initialize(options={})
5
- start_value = options[:start_value].nil? ? 1.0 : options[:start_value]
6
- stop_value = options[:stop_value].nil? ? 10.0 : options[:stop_value]
7
- step_value = options[:step_value].nil? ? 1.0 : options[:step_value]
8
- init_value = options[:initial_value].nil? ? 1.0 : options[:initial_value]
9
-
10
- @scale = Gtk::Scale.new(:horizontal, start_value, stop_value, step_value)
11
- @scale.digits = 0
12
- @scale.draw_value = true
13
- @scale.value = init_value
14
-
15
- $vertical_box.pack_start(@scale)
16
- end
17
-
18
- def move
19
- @scale.signal_connect "value_changed" do |scale_widget|
20
- yield(scale_widget)
21
- end
22
- end
23
-
24
- alias :slide :move
25
-
26
- def remove
27
- return if @scale.nil?
28
- @scale.destroy
29
- end
30
- end
31
- end
32
- end
@@ -1,57 +0,0 @@
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
@@ -1,25 +0,0 @@
1
- module MittensUi
2
- module Widgets
3
- class Textbox
4
- def initialize(options={})
5
- @textbox = Gtk::Entry.new
6
- can_edit = options[:can_edit].nil? ? true : options[:can_edit]
7
- max_length = options[:max_length].nil? ? 200 : options[:max_length]
8
-
9
- @textbox.set_editable(can_edit) unless can_edit.nil?
10
- @textbox.set_max_length(max_length) unless max_length.nil?
11
-
12
- $vertical_box.pack_start(@textbox)
13
- end
14
-
15
- def text
16
- @textbox.text
17
- end
18
-
19
- def remove
20
- return if @textbox.nil?
21
- @textbox.destroy
22
- end
23
- end
24
- end
25
- end