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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.ruby-version +1 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +5 -2
- data/LICENSE +21 -0
- data/README.md +78 -21
- data/examples/app.rb +101 -8
- data/examples/assets/gnome_logo.png +0 -0
- data/examples/assets/mittens_ui_preview.gif +0 -0
- data/examples/contacts.rb +80 -0
- data/examples/file_menu_example.rb +52 -0
- data/examples/notify_example.rb +19 -0
- data/lib/mittens_ui.rb +40 -67
- data/lib/mittens_ui/alert.rb +32 -0
- data/lib/mittens_ui/assets/icon.png +0 -0
- data/lib/mittens_ui/assets/mittens_ui_preview.gif +0 -0
- data/lib/mittens_ui/button.rb +40 -0
- data/lib/mittens_ui/checkbox.rb +24 -0
- data/lib/mittens_ui/core.rb +34 -0
- data/lib/mittens_ui/file_menu.rb +83 -0
- data/lib/mittens_ui/file_picker.rb +29 -0
- data/lib/mittens_ui/grid.rb +29 -0
- data/lib/mittens_ui/hbox.rb +56 -0
- data/lib/mittens_ui/header_bar.rb +46 -0
- data/lib/mittens_ui/helpers.rb +41 -0
- data/lib/mittens_ui/image.rb +46 -0
- data/lib/mittens_ui/label.rb +19 -0
- data/lib/mittens_ui/listbox.rb +47 -0
- data/lib/mittens_ui/loader.rb +33 -0
- data/lib/mittens_ui/notify.rb +61 -0
- data/lib/mittens_ui/slider.rb +32 -0
- data/lib/mittens_ui/switch.rb +36 -0
- data/lib/mittens_ui/table_view.rb +179 -0
- data/lib/mittens_ui/textbox.rb +53 -0
- data/lib/mittens_ui/version.rb +1 -1
- data/lib/mittens_ui/web_link.rb +22 -0
- data/mittens_ui.gemspec +3 -3
- data/notes/dev_setup.txt +14 -0
- metadata +37 -16
- data/examples/brightness_controller.rb +0 -64
- data/lib/mittens_ui/layouts/box.rb +0 -38
- data/lib/mittens_ui/layouts/grid.rb +0 -31
- data/lib/mittens_ui/widgets/alert.rb +0 -33
- data/lib/mittens_ui/widgets/button.rb +0 -34
- data/lib/mittens_ui/widgets/label.rb +0 -41
- data/lib/mittens_ui/widgets/listbox.rb +0 -45
- data/lib/mittens_ui/widgets/slider.rb +0 -32
- data/lib/mittens_ui/widgets/switch.rb +0 -57
- 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
|