mittens_ui 0.0.9 → 0.0.10
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/Gemfile +1 -1
- data/Gemfile.lock +2 -2
- data/README.md +65 -61
- data/examples/app.rb +9 -1
- data/examples/assets/mittens_ui_preview.gif +0 -0
- data/examples/contacts.rb +75 -0
- data/lib/mittens_ui.rb +21 -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 +29 -0
- data/lib/mittens_ui/checkbox.rb +24 -0
- data/lib/mittens_ui/core.rb +34 -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 +48 -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 +35 -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 +31 -0
- data/lib/mittens_ui/version.rb +1 -1
- data/lib/mittens_ui/web_link.rb +22 -0
- data/notes/dev_setup.txt +14 -0
- metadata +28 -23
- data/examples/brightness_controller.rb +0 -64
- data/lib/mittens_ui/dialogs/file_dialog.rb +0 -29
- 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 -25
- data/lib/mittens_ui/widgets/checkbox.rb +0 -28
- data/lib/mittens_ui/widgets/core.rb +0 -32
- data/lib/mittens_ui/widgets/image.rb +0 -36
- data/lib/mittens_ui/widgets/label.rb +0 -21
- data/lib/mittens_ui/widgets/listbox.rb +0 -45
- data/lib/mittens_ui/widgets/loader.rb +0 -34
- data/lib/mittens_ui/widgets/slider.rb +0 -31
- data/lib/mittens_ui/widgets/switch.rb +0 -37
- data/lib/mittens_ui/widgets/table_view.rb +0 -159
- data/lib/mittens_ui/widgets/textbox.rb +0 -28
- data/lib/mittens_ui/widgets/web_link.rb +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb39340bda7c9c473ade8a1cfa92300cd87f6fdd29e96431507b0fc21133a6a7
|
|
4
|
+
data.tar.gz: 3ed7082dfca8a2475e6d86bae2bb36e5740464044bc6d67ce140b3de00eb4d8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a47bf32490fb765cb9084bdb6aea8ca5fba19b572d81cc321c1cd56e13c45cc317f39f99bf63834a867f513817a02000e5819379501f0a3a36334f02d458aeb
|
|
7
|
+
data.tar.gz: 54149cd2b1f4d2d3d45ea434e244a746de45226bea12597d6166f31ae2b127208ad848d630d859297ecf70a32fac568fbfd356d8d1eb8776609550c96547dc32
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -4,6 +4,8 @@ This is a small vertical stacking GUI toolkit inspired by Ruby Shoes and built o
|
|
|
4
4
|
around GTK. The goal of this project is make creating GUIs in Ruby dead simple
|
|
5
5
|
without the UI framework/library getting your way.
|
|
6
6
|
|
|
7
|
+

|
|
8
|
+
|
|
7
9
|
## Installation
|
|
8
10
|
|
|
9
11
|
Add this line to your application's Gemfile:
|
|
@@ -23,84 +25,89 @@ Or install it yourself as:
|
|
|
23
25
|
## Usage
|
|
24
26
|
|
|
25
27
|
```ruby
|
|
26
|
-
require
|
|
28
|
+
require 'mittens_ui'
|
|
27
29
|
|
|
28
30
|
app_options = {
|
|
29
|
-
name: "
|
|
30
|
-
title: "
|
|
31
|
-
height:
|
|
32
|
-
width:
|
|
31
|
+
name: "contacts",
|
|
32
|
+
title: "Contacts",
|
|
33
|
+
height: 615,
|
|
34
|
+
width: 570,
|
|
33
35
|
can_resize: true
|
|
34
36
|
}.freeze
|
|
35
37
|
|
|
36
|
-
MittensUi::Application.Window(app_options) do
|
|
37
|
-
MittensUi::Label("Enter Name:", top: 30)
|
|
38
|
-
|
|
39
|
-
text_box = MittensUi::Textbox(can_edit: true)
|
|
40
|
-
|
|
41
|
-
listbox_options = {
|
|
42
|
-
top: 10,
|
|
43
|
-
items: ["item_1", "item_2", "item_3"]
|
|
44
|
-
}.freeze
|
|
45
|
-
|
|
46
|
-
listbox = MittensUi::ListBox(listbox_options)
|
|
47
38
|
|
|
48
|
-
|
|
49
|
-
btn.click {|_b| MittensUi::Alert("Hello #{text_box.text} AND! #{listbox.selected_value} was selected.") }
|
|
39
|
+
require '../lib/mittens_ui'
|
|
50
40
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
left: 50
|
|
59
|
-
}.freeze
|
|
60
|
-
|
|
61
|
-
img = MittensUi::Image("./assets/gnome_logo.png", img_opts)
|
|
41
|
+
app_options = {
|
|
42
|
+
name: "contacts",
|
|
43
|
+
title: "Contacts",
|
|
44
|
+
height: 615,
|
|
45
|
+
width: 570,
|
|
46
|
+
can_resize: true
|
|
47
|
+
}.freeze
|
|
62
48
|
|
|
63
|
-
switch = MittensUi::Switch(left: 120 )
|
|
64
49
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
else
|
|
69
|
-
switch.hide
|
|
70
|
-
end
|
|
71
|
-
end
|
|
50
|
+
MittensUi::Application.Window(app_options) do
|
|
51
|
+
add_contact_button = MittensUi::Button.new(title: "Add")
|
|
52
|
+
remove_contact_button = MittensUi::Button.new(title: "Remove")
|
|
72
53
|
|
|
73
|
-
|
|
74
|
-
unless img.hidden?
|
|
75
|
-
img.show
|
|
76
|
-
else
|
|
77
|
-
img.hide
|
|
78
|
-
end
|
|
79
|
-
end
|
|
54
|
+
buttons = [ add_contact_button, remove_contact_button ]
|
|
80
55
|
|
|
81
|
-
|
|
82
|
-
cb.value = "Some Value"
|
|
83
|
-
cb.toggle { puts "checkbox was toggled! associated value: #{cb.value}" }
|
|
56
|
+
MittensUi::HeaderBar.new(buttons.map(&:render), title: "Contacts", position: :left).render
|
|
84
57
|
|
|
85
|
-
link = MittensUi::WebLink("YouTube", "https://www.youtube.com", left: 200)
|
|
86
|
-
|
|
87
58
|
table_view_options = {
|
|
88
59
|
headers: ["Name", "Address", "Phone #"],
|
|
89
60
|
data: [
|
|
90
61
|
[ "John Appleseed", "123 abc st.", "111-555-3333"],
|
|
91
62
|
[ "Jane Doe", "122 abc st.", "111-555-4444" ],
|
|
92
63
|
[ "Bobby Jones", "434 bfef ave.", "442-333-1342"],
|
|
64
|
+
[ "Sara Akigawa", "777 tyo ave.", "932-333-1325"],
|
|
93
65
|
],
|
|
66
|
+
top: 20
|
|
94
67
|
}
|
|
95
68
|
|
|
96
|
-
|
|
97
|
-
table.add(["Sara Akigawa", "777 tyo ave.", "932-333-1325"], :prepend)
|
|
98
|
-
|
|
99
|
-
remove_ct = MittensUi::Button(title: "Remove Contact")
|
|
100
|
-
remove_ct.click { |btn| table.remove_selected }
|
|
101
|
-
|
|
102
|
-
end
|
|
69
|
+
contacts_table = MittensUi::TableView.new(table_view_options).render
|
|
103
70
|
|
|
71
|
+
# FORM
|
|
72
|
+
MittensUi::Label.new("Add Contact", top: 30).render
|
|
73
|
+
|
|
74
|
+
name_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Name...")
|
|
75
|
+
addr_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Address...")
|
|
76
|
+
phne_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Phone #...")
|
|
77
|
+
|
|
78
|
+
tb_list = [name_tb, addr_tb, phne_tb].map(&:render).freeze
|
|
79
|
+
|
|
80
|
+
MittensUi::HBox.new(tb_list, spacing: 10).render
|
|
81
|
+
|
|
82
|
+
# ACTONS
|
|
83
|
+
|
|
84
|
+
add_contact_button.click do |_b|
|
|
85
|
+
if tb_list.map { |tb| tb.text.length > 0 }.all?
|
|
86
|
+
contacts_table.add(tb_list.map {|tb| tb.text })
|
|
87
|
+
tb_list.map {|tb| tb.clear }
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
remove_contact_button.click do |btn|
|
|
92
|
+
removed = contacts_table.remove_selected
|
|
93
|
+
|
|
94
|
+
if removed.size > 0
|
|
95
|
+
MittensUi::Alert.new("#{removed[0]} was removed.").render
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
contacts_table.row_clicked do |data|
|
|
100
|
+
msg = <<~MSG
|
|
101
|
+
Contact Info:
|
|
102
|
+
|
|
103
|
+
Name: #{data[0]}
|
|
104
|
+
Address: #{data[1]}
|
|
105
|
+
Phone #: #{data[2]}
|
|
106
|
+
MSG
|
|
107
|
+
|
|
108
|
+
MittensUi::Alert.new(msg).render
|
|
109
|
+
end
|
|
110
|
+
end
|
|
104
111
|
|
|
105
112
|
```
|
|
106
113
|
|
|
@@ -114,11 +121,8 @@ This does require GTK ruby gem which requires `gtk` native dependencies to be co
|
|
|
114
121
|
Using dnf:
|
|
115
122
|
* `$ sudo dnf install ruby ruby-devel cairo cairo-devel gtk3-devel`
|
|
116
123
|
|
|
117
|
-
####
|
|
118
|
-
|
|
119
|
-
Using Brew:
|
|
120
|
-
* `$ brew install gtk+3`
|
|
121
|
-
* `$ brew install cairo`
|
|
124
|
+
#### Ubuntu
|
|
125
|
+
* `sudo apt install build-essential git sqlite3 libsqlite3-dev lib-gtk-3 libcairo2-dev`
|
|
122
126
|
|
|
123
127
|
## Contributing
|
|
124
128
|
|
data/examples/app.rb
CHANGED
|
@@ -5,10 +5,16 @@ app_options = {
|
|
|
5
5
|
title: "Hello World App!",
|
|
6
6
|
height: 650,
|
|
7
7
|
width: 550,
|
|
8
|
-
can_resize:
|
|
8
|
+
can_resize: true
|
|
9
9
|
}.freeze
|
|
10
10
|
|
|
11
11
|
MittensUi::Application.Window(app_options) do
|
|
12
|
+
|
|
13
|
+
MittensUi::HeaderBar([
|
|
14
|
+
MittensUi::Button(title: "headerbar button"),
|
|
15
|
+
MittensUi::CheckBox(label: "Checkbox")
|
|
16
|
+
], title: "Demo App", position: :left) {}
|
|
17
|
+
|
|
12
18
|
MittensUi::Label("Enter Name:", top: 30)
|
|
13
19
|
|
|
14
20
|
text_box = MittensUi::Textbox(can_edit: true)
|
|
@@ -35,6 +41,8 @@ MittensUi::Application.Window(app_options) do
|
|
|
35
41
|
|
|
36
42
|
img = MittensUi::Image("./assets/gnome_logo.png", img_opts)
|
|
37
43
|
|
|
44
|
+
img2 = MittensUi::Image("./assets/mittens_ui_preview.gif", img_opts)
|
|
45
|
+
|
|
38
46
|
switch = MittensUi::Switch(left: 220 )
|
|
39
47
|
|
|
40
48
|
img.click do
|
|
Binary file
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
require '../lib/mittens_ui'
|
|
2
|
+
|
|
3
|
+
app_options = {
|
|
4
|
+
name: "contacts",
|
|
5
|
+
title: "Contacts",
|
|
6
|
+
height: 615,
|
|
7
|
+
width: 570,
|
|
8
|
+
can_resize: true
|
|
9
|
+
}.freeze
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
MittensUi::Application.Window(app_options) do
|
|
13
|
+
add_contact_button = MittensUi::Button.new(title: "Add")
|
|
14
|
+
remove_contact_button = MittensUi::Button.new(title: "Remove")
|
|
15
|
+
|
|
16
|
+
buttons = [ add_contact_button, remove_contact_button ]
|
|
17
|
+
|
|
18
|
+
MittensUi::HeaderBar.new(buttons.map(&:render), title: "Contacts", position: :left).render
|
|
19
|
+
|
|
20
|
+
table_view_options = {
|
|
21
|
+
headers: ["Name", "Address", "Phone #"],
|
|
22
|
+
data: [
|
|
23
|
+
[ "John Appleseed", "123 abc st.", "111-555-3333"],
|
|
24
|
+
[ "Jane Doe", "122 abc st.", "111-555-4444" ],
|
|
25
|
+
[ "Bobby Jones", "434 bfef ave.", "442-333-1342"],
|
|
26
|
+
[ "Sara Akigawa", "777 tyo ave.", "932-333-1325"],
|
|
27
|
+
],
|
|
28
|
+
top: 20
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
contacts_table = MittensUi::TableView.new(table_view_options).render
|
|
32
|
+
|
|
33
|
+
# FORM
|
|
34
|
+
MittensUi::Label.new("Add Contact", top: 30).render
|
|
35
|
+
|
|
36
|
+
name_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Name...")
|
|
37
|
+
addr_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Address...")
|
|
38
|
+
phne_tb = MittensUi::Textbox.new(can_edit: true, placeholder: "Phone #...")
|
|
39
|
+
|
|
40
|
+
tb_list = [name_tb, addr_tb, phne_tb].map(&:render).freeze
|
|
41
|
+
|
|
42
|
+
MittensUi::HBox.new(tb_list, spacing: 10).render
|
|
43
|
+
|
|
44
|
+
fp = MittensUi::FilePicker.new
|
|
45
|
+
|
|
46
|
+
# ACTONS
|
|
47
|
+
|
|
48
|
+
add_contact_button.click do |_b|
|
|
49
|
+
if tb_list.map { |tb| tb.text.length > 0 }.all?
|
|
50
|
+
contacts_table.add(tb_list.map {|tb| tb.text })
|
|
51
|
+
tb_list.map {|tb| tb.clear }
|
|
52
|
+
puts "#{fp.render.path}"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
remove_contact_button.click do |btn|
|
|
57
|
+
removed = contacts_table.remove_selected
|
|
58
|
+
|
|
59
|
+
if removed.size > 0
|
|
60
|
+
MittensUi::Alert.new("#{removed[0]} was removed.").render
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
contacts_table.row_clicked do |data|
|
|
65
|
+
msg = <<~MSG
|
|
66
|
+
Contact Info:
|
|
67
|
+
|
|
68
|
+
Name: #{data[0]}
|
|
69
|
+
Address: #{data[1]}
|
|
70
|
+
Phone #: #{data[2]}
|
|
71
|
+
MSG
|
|
72
|
+
|
|
73
|
+
MittensUi::Alert.new(msg).render
|
|
74
|
+
end
|
|
75
|
+
end
|
data/lib/mittens_ui.rb
CHANGED
|
@@ -1,77 +1,25 @@
|
|
|
1
1
|
require "mittens_ui/version"
|
|
2
|
-
require "mittens_ui/
|
|
3
|
-
require "mittens_ui/
|
|
4
|
-
require "mittens_ui/
|
|
5
|
-
require "mittens_ui/
|
|
6
|
-
require "mittens_ui/
|
|
7
|
-
require "mittens_ui/
|
|
8
|
-
require "mittens_ui/
|
|
9
|
-
require "mittens_ui/
|
|
10
|
-
require "mittens_ui/
|
|
11
|
-
require "mittens_ui/
|
|
12
|
-
require "mittens_ui/
|
|
13
|
-
require "mittens_ui/
|
|
14
|
-
|
|
15
|
-
require "mittens_ui/
|
|
2
|
+
require "mittens_ui/alert"
|
|
3
|
+
require "mittens_ui/label"
|
|
4
|
+
require "mittens_ui/button"
|
|
5
|
+
require "mittens_ui/textbox"
|
|
6
|
+
require "mittens_ui/listbox"
|
|
7
|
+
require "mittens_ui/slider"
|
|
8
|
+
require "mittens_ui/switch"
|
|
9
|
+
require "mittens_ui/image"
|
|
10
|
+
require "mittens_ui/checkbox"
|
|
11
|
+
require "mittens_ui/web_link"
|
|
12
|
+
require "mittens_ui/table_view"
|
|
13
|
+
require "mittens_ui/loader"
|
|
14
|
+
require "mittens_ui/header_bar"
|
|
15
|
+
require "mittens_ui/file_picker"
|
|
16
|
+
require "mittens_ui/hbox"
|
|
16
17
|
|
|
17
18
|
require "gtk3"
|
|
18
19
|
|
|
19
20
|
module MittensUi
|
|
20
21
|
class Error < StandardError; end
|
|
21
22
|
|
|
22
|
-
def self.Loader(options={})
|
|
23
|
-
MittensUi::Widgets::Loader.new(options)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def self.FilePicker
|
|
27
|
-
fp = MittensUi::Dialogs::File.new
|
|
28
|
-
return fp.path
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def self.TableView(options={})
|
|
32
|
-
MittensUi::Widgets::TableView.new(options)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def self.WebLink(url, name, options={})
|
|
36
|
-
MittensUi::Widgets::WebLink.new(url, name, options)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def self.CheckBox(options={})
|
|
40
|
-
MittensUi::Widgets::Checkbox.new(options)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def self.Image(path, options={})
|
|
44
|
-
MittensUi::Widgets::Image.new(path, options)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def self.Switch(options = {})
|
|
48
|
-
MittensUi::Widgets::Switch.new(options)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def self.Slider(options = {})
|
|
52
|
-
MittensUi::Widgets::Slider.new(options)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def self.ListBox(options = {})
|
|
56
|
-
MittensUi::Widgets::ListBox.new(options)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def self.Alert(message, options = {})
|
|
60
|
-
MittensUi::Widgets::Alert.new(message, options)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def self.Label(text, options = {})
|
|
64
|
-
MittensUi::Widgets::Label.new(text, options)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def self.Textbox(options = {})
|
|
68
|
-
MittensUi::Widgets::Textbox.new(options)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def self.Button(options = {})
|
|
72
|
-
MittensUi::Widgets::Button.new(options)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
23
|
def self.Shutdown
|
|
76
24
|
$app_window.signal_connect("delete-event") do |_widget|
|
|
77
25
|
yield
|
|
@@ -99,6 +47,11 @@ module MittensUi
|
|
|
99
47
|
title = options[:title].nil? ? "Mittens App" : options[:title]
|
|
100
48
|
can_resize = options[:can_resize].nil? ? true : options[:can_resize]
|
|
101
49
|
|
|
50
|
+
app_assets_path = File.join(File.expand_path(File.dirname(__FILE__)), "mittens_ui", "assets") + "/"
|
|
51
|
+
default_icon = app_assets_path + "icon.png"
|
|
52
|
+
|
|
53
|
+
app_icon = options[:icon].nil? ? default_icon : options[:icon]
|
|
54
|
+
|
|
102
55
|
set_process_name(app_name)
|
|
103
56
|
|
|
104
57
|
gtk_app_name = "org.mittens_ui.#{app_name}"
|
|
@@ -115,6 +68,7 @@ module MittensUi
|
|
|
115
68
|
$app_window.set_size_request(width, height)
|
|
116
69
|
$app_window.set_title(title)
|
|
117
70
|
$app_window.set_resizable(can_resize)
|
|
71
|
+
$app_window.set_icon_from_file(app_icon)
|
|
118
72
|
$app_window.show_all
|
|
119
73
|
end
|
|
120
74
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module MittensUi
|
|
2
|
+
class Alert
|
|
3
|
+
def initialize(message, options={})
|
|
4
|
+
dialog_options = {
|
|
5
|
+
title: options[:title] || "Alert",
|
|
6
|
+
parent: $app_window,
|
|
7
|
+
flags: [:modal, :destroy_with_parent],
|
|
8
|
+
:buttons => [[Gtk::Stock::OK, :none]]
|
|
9
|
+
}.freeze
|
|
10
|
+
|
|
11
|
+
@alert_dialog = Gtk::Dialog.new(dialog_options)
|
|
12
|
+
@alert_dialog.set_transient_for($app_window)
|
|
13
|
+
@alert_dialog.set_default_width(420)
|
|
14
|
+
@alert_dialog.set_default_height(200)
|
|
15
|
+
@alert_dialog.set_modal(true)
|
|
16
|
+
@alert_dialog.set_resizable(false)
|
|
17
|
+
|
|
18
|
+
message_label = Gtk::Label.new(message)
|
|
19
|
+
message_label.set_margin_top(36)
|
|
20
|
+
|
|
21
|
+
dialog_box = @alert_dialog.content_area
|
|
22
|
+
dialog_box.add(message_label)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def render
|
|
26
|
+
@alert_dialog.show_all
|
|
27
|
+
response = @alert_dialog.run
|
|
28
|
+
response == :none ? @alert_dialog.destroy : @alert_dialog.destroy
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|