visualruby 3.2.0 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e357cc2ff4c771cc573325c4dc8023e4ea2fcd87
4
- data.tar.gz: 94c434debee191dfc4e91bb0f04c7d63c43f26d5
3
+ metadata.gz: 471487097b28ac84f9b91f6cdbded31e11f871b7
4
+ data.tar.gz: 1b62e86d75a8be09a9b82c75138470b9a5c2865f
5
5
  SHA512:
6
- metadata.gz: 0e58c238a1de0cf1703fa0f58402f458291f5b41aab14a3318d258adb30e3b5e8414446bf8e1257befa90c83fbb5628b150362c52546674df2941899ca33b9e1
7
- data.tar.gz: 3b5d266b28bbbb86e28bf4c390481384a228820ae89a7a83929381163b467f1b045f0c61acec0c5f309bb8c447d7f583c874ff9ba55b56a79e706a79f4f28cae
6
+ metadata.gz: db3f477a72929229e187c0a06565c3bf697a2474705869be6a708a3d42010c95d58c3fc7157630d946b124db750ffa254f0bfd5dae670b37855374862ab2f320
7
+ data.tar.gz: 4ea888126ac4ba0b4a4c2ae7fd386db675a556e496078be5255719240f6c01bda83a1e467e1ff023d939996471373151be551ba28d452f21b1c1dd54963438b5
@@ -14,16 +14,16 @@ open_files:
14
14
  - "/home/eric/vrp/vr3/vr"
15
15
  - "/home/eric/vrp/vr3/src/main/VR_Main.rb"
16
16
  - "/home/eric/vrp/vr3/lib/GladeGUI.rb"
17
- - "/home/eric/vrp/vr3/src/editor/VR_TextShell.rb"
18
- - "/home/eric/vrp/vr3/src/editor/VR_Document.rb"
17
+ - "/home/eric/vrp/vr3/lib/vrlib.rb"
18
+ - "/home/eric/vrp/vr3/lib/ActLikeAHash.rb"
19
19
  open_folders:
20
20
  - "/home/eric/vrp/vr3"
21
+ - "/home/eric/vrp/vr3/lib"
21
22
  - "/home/eric/vrp/vr3/site"
22
23
  - "/home/eric/vrp/vr3/src"
23
- - "/home/eric/vrp/vr3/src/editor"
24
24
  - "/home/eric/vrp/vr3/src/main"
25
- current_file: "/home/eric/vrp/vr3/src/editor/VR_Document.rb"
26
- current_line: 44
25
+ current_file: "/home/eric/vrp/vr3/vr"
26
+ current_line: 17
27
27
  rdoc_command_line: yardoc lib - site/*.*
28
28
  builder: !ruby/object:Gtk::Builder {}
29
29
  top_level_window: false
@@ -0,0 +1,26 @@
1
+ --- !ruby/object:VR_ENV
2
+ vr_yaml_file: "/home/eric/vrp/vr3/examples/golf_handicap/.vr_settings.yaml"
3
+ width: 1086
4
+ height: 600
5
+ panel_pos: 360
6
+ notebook_panel_position: 400
7
+ run_command_line: ruby golf_handicap eric
8
+ open_files:
9
+ - "/home/eric/vrp/vr3/examples/golf_handicap/golf_handicap"
10
+ - "/home/eric/vrp/vr3/examples/golf_handicap/src/Handicap.rb"
11
+ - "/home/eric/vrp/vr3/examples/golf_handicap/src/Score.rb"
12
+ - "/home/eric/vrp/vr3/examples/golf_handicap/golf_handicap.gemspec"
13
+ open_folders:
14
+ - "/home/eric/vrp/vr3/examples/golf_handicap"
15
+ - "/home/eric/vrp/vr3/examples/golf_handicap/src"
16
+ - "/home/eric/vrp/vr3/examples/golf_handicap/src/glade"
17
+ current_file: "/home/eric/vrp/vr3/examples/golf_handicap/golf_handicap.gemspec"
18
+ current_line: 4
19
+ rdoc_command_line: rdoc -x README
20
+ builder: !ruby/object:Gtk::Builder {}
21
+ top_level_window: false
22
+ browser: firefox
23
+ backup_path: "/home/eric"
24
+ tab_spaces: 2
25
+ glade_path: glade-3
26
+ font_name: Monospace 10
@@ -0,0 +1,112 @@
1
+ class Handicap
2
+
3
+ include GladeGUI
4
+
5
+ def initialize()
6
+ @scores = []
7
+ end
8
+
9
+ def before_show()
10
+ @view = VR::ListView.new(rnd: String, date: VR::Col::CalendarCol,
11
+ course: String, rating_slope: String, score: String, diff: Score,
12
+ hcp: String)
13
+ @view.col_xalign(diff: 1, hcp: 1, score: 1)
14
+ @view.col_sortable(date: true, course: true)
15
+ @view.show
16
+ golfer_file = File.basename(@vr_yaml_file, ".*")
17
+ golfer = golfer_file.split("_").map(&:capitalize).join(' ')
18
+ @builder[:name].label = "<big><big><big><big><big>#{golfer}</big></big></big></big></big>"
19
+ if File.exists?(golfer_file + ".jpg")
20
+ @builder[:image].file = golfer_file + ".jpg"
21
+ @builder[:image].visible = true
22
+ end
23
+ refresh()
24
+ end
25
+
26
+ def refresh()
27
+ update_handicaps
28
+ @view.model.clear
29
+ i = 1
30
+ @scores.each do |s|
31
+ row = @view.add_row()
32
+ row[:rnd] = "#{i}."
33
+ i += 1
34
+ row[:date] = VR::Col::CalendarCol.new(s.date, :format => "%d %b %Y ", :hide_time=>true, :hide_date => false)
35
+ row[:course] = s.course_name
36
+ row[:score] = s.score
37
+ row[:rating_slope] = "#{s.course_rating.to_s}/#{s.course_slope.to_s}"
38
+ row[:diff] = s
39
+ row[:hcp] = s.handicap
40
+ end
41
+ end
42
+
43
+ def buttonChange__clicked(*a)
44
+ load_new_golfer
45
+ end
46
+
47
+ def buttonAdd__clicked(*a)
48
+ if row = @view.selected_rows.first
49
+ course = row[:course]
50
+ rating, slope = row[:rating_slope].split("/")
51
+ else
52
+ course = rating = slope = ""
53
+ end
54
+ score = Score.new(course, rating, slope)
55
+ score.show_glade
56
+ if !score.used.nil? and score.score.to_i > 50
57
+ @scores << score
58
+ @scores.sort! { |x,y| y.date <=> x.date }
59
+ refresh()
60
+ end
61
+ end
62
+
63
+ def update_handicaps
64
+ @scores.each_index do |i|
65
+ fill_handicap(@scores[@scores.size-i-1..@scores.size-1])
66
+ end
67
+ @scores.each {|s| s.used = ""}
68
+ fill_handicap(@scores)
69
+ @builder[:handicap].label = "<big><big><big><big><big><big><big><big>#{@scores[0].handicap}</big></big></big></big></big></big></big></big>" if @scores[0]
70
+ end
71
+
72
+ def fill_handicap(score_array)
73
+ score_ar = score_array.size > 20 ? score_array[0..19] : score_array
74
+ count = use_count(score_ar) # number of scores to use for handicap
75
+ best_scores = score_ar.sort { |x,y| x.diff <=> y.diff }
76
+ best_scores = count > 0 ? best_scores[0..count-1] : []
77
+ best_scores.each {|s| s.used = "y"}
78
+ tot = best_scores.inject(0) { |sum, s| sum + s.diff }
79
+ x = (0.96*tot/count).to_s
80
+ score_array[0].handicap = count > 0 ? x[0..x.index(".")+1] : "n/a" if score_array[0]
81
+ end
82
+
83
+
84
+ def window1__delete_event(*)
85
+ @view = nil
86
+ VR::save_yaml(self)
87
+ return false #ok to close
88
+ end
89
+
90
+ def use_count(score_ar)
91
+ if score_ar.size > 20
92
+ return 10
93
+ else
94
+ return [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,8,9,10][score_ar.size-1]
95
+ end
96
+ end
97
+
98
+ def buttonDelete__clicked(*a)
99
+ return unless row = @view.selected_rows.first
100
+ if alert("Are you sure you want to delete this score?", button_yes: "Delete", button_no: "Cancel")
101
+ @scores.delete(row[:diff])
102
+ refresh
103
+ end
104
+ end
105
+
106
+ def buttonEditScore__clicked(*a)
107
+ return unless row = @view.selected_rows.first
108
+ row[:diff].show_glade
109
+ @scores.sort! { |x,y| y.date <=> x.date }
110
+ refresh
111
+ end
112
+ end
@@ -0,0 +1,37 @@
1
+
2
+ class Score
3
+
4
+ attr_accessor :date, :score, :course_name, :course_rating, :course_slope, :used, :handicap
5
+
6
+ include GladeGUI
7
+
8
+ def initialize(course, rating, slope)
9
+ @course_name = course
10
+ @course_rating = rating
11
+ @course_slope = slope
12
+ @date = DateTime.now
13
+ @score = "0"
14
+ @used = nil
15
+ @handicap = "0"
16
+ end
17
+
18
+ def buttonSave__clicked(*a)
19
+ get_glade_variables
20
+ @used = "n" # signals save occured
21
+ @builder[:window1].destroy
22
+ end
23
+
24
+ def diff()
25
+ (@score.to_f - @course_rating.to_f) * 113 / @course_slope.to_f
26
+ end
27
+
28
+ def to_s
29
+ (@used == "y" ? "*" : " ") + diff.round(1).to_s
30
+ end
31
+
32
+ def visual_attributes
33
+ # return @used == "y" ? {background: "#ABB" , weight: 600} : {background: "white", weight: 300 }
34
+ return @used == "y" ? { weight: 1200} : {weight: 400 }
35
+ end
36
+
37
+ end
@@ -0,0 +1,191 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.16.1 -->
3
+ <interface>
4
+ <requires lib="gtk+" version="3.0"/>
5
+ <object class="GtkWindow" id="window1">
6
+ <property name="width_request">670</property>
7
+ <property name="height_request">660</property>
8
+ <property name="can_focus">False</property>
9
+ <property name="title" translatable="yes">USGA Handicap Index Calculator</property>
10
+ <property name="modal">True</property>
11
+ <property name="type_hint">utility</property>
12
+ <child>
13
+ <object class="GtkBox" id="box1">
14
+ <property name="visible">True</property>
15
+ <property name="can_focus">False</property>
16
+ <property name="margin_left">10</property>
17
+ <property name="margin_right">10</property>
18
+ <property name="margin_top">10</property>
19
+ <property name="margin_bottom">10</property>
20
+ <property name="orientation">vertical</property>
21
+ <property name="spacing">10</property>
22
+ <child>
23
+ <object class="GtkBox" id="box2">
24
+ <property name="visible">True</property>
25
+ <property name="can_focus">False</property>
26
+ <property name="spacing">20</property>
27
+ <child>
28
+ <object class="GtkImage" id="image">
29
+ <property name="can_focus">False</property>
30
+ </object>
31
+ <packing>
32
+ <property name="expand">False</property>
33
+ <property name="fill">True</property>
34
+ <property name="position">0</property>
35
+ </packing>
36
+ </child>
37
+ <child>
38
+ <object class="GtkLabel" id="name">
39
+ <property name="visible">True</property>
40
+ <property name="can_focus">False</property>
41
+ <property name="label" translatable="yes">&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;Eric Cunningham&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;</property>
42
+ <property name="use_markup">True</property>
43
+ </object>
44
+ <packing>
45
+ <property name="expand">True</property>
46
+ <property name="fill">True</property>
47
+ <property name="position">1</property>
48
+ </packing>
49
+ </child>
50
+ <child>
51
+ <object class="GtkButtonBox" id="buttonbox2">
52
+ <property name="visible">True</property>
53
+ <property name="can_focus">False</property>
54
+ <property name="orientation">vertical</property>
55
+ <property name="layout_style">center</property>
56
+ <child>
57
+ <object class="GtkButton" id="buttonChange">
58
+ <property name="label" translatable="yes">Change</property>
59
+ <property name="visible">True</property>
60
+ <property name="can_focus">True</property>
61
+ <property name="receives_default">True</property>
62
+ </object>
63
+ <packing>
64
+ <property name="expand">False</property>
65
+ <property name="fill">True</property>
66
+ <property name="position">0</property>
67
+ </packing>
68
+ </child>
69
+ </object>
70
+ <packing>
71
+ <property name="expand">False</property>
72
+ <property name="fill">True</property>
73
+ <property name="position">2</property>
74
+ </packing>
75
+ </child>
76
+ <child>
77
+ <object class="GtkFrame" id="frame1">
78
+ <property name="visible">True</property>
79
+ <property name="can_focus">False</property>
80
+ <property name="label_xalign">0</property>
81
+ <property name="shadow_type">in</property>
82
+ <child>
83
+ <object class="GtkAlignment" id="alignment1">
84
+ <property name="visible">True</property>
85
+ <property name="can_focus">False</property>
86
+ <property name="left_padding">12</property>
87
+ <child>
88
+ <object class="GtkLabel" id="handicap">
89
+ <property name="visible">True</property>
90
+ <property name="can_focus">False</property>
91
+ <property name="label" translatable="yes">&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;n/a&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;</property>
92
+ <property name="use_markup">True</property>
93
+ </object>
94
+ </child>
95
+ </object>
96
+ </child>
97
+ <child type="label">
98
+ <object class="GtkLabel" id="label2">
99
+ <property name="visible">True</property>
100
+ <property name="can_focus">False</property>
101
+ <property name="label" translatable="yes">Handicap</property>
102
+ <property name="justify">center</property>
103
+ </object>
104
+ </child>
105
+ </object>
106
+ <packing>
107
+ <property name="expand">False</property>
108
+ <property name="fill">True</property>
109
+ <property name="position">3</property>
110
+ </packing>
111
+ </child>
112
+ </object>
113
+ <packing>
114
+ <property name="expand">False</property>
115
+ <property name="fill">True</property>
116
+ <property name="position">0</property>
117
+ </packing>
118
+ </child>
119
+ <child>
120
+ <object class="GtkScrolledWindow" id="view">
121
+ <property name="visible">True</property>
122
+ <property name="can_focus">True</property>
123
+ <property name="hexpand">True</property>
124
+ <property name="vexpand">True</property>
125
+ <property name="shadow_type">in</property>
126
+ <child>
127
+ <placeholder/>
128
+ </child>
129
+ </object>
130
+ <packing>
131
+ <property name="expand">False</property>
132
+ <property name="fill">True</property>
133
+ <property name="position">1</property>
134
+ </packing>
135
+ </child>
136
+ <child>
137
+ <object class="GtkButtonBox" id="buttonbox1">
138
+ <property name="visible">True</property>
139
+ <property name="can_focus">False</property>
140
+ <property name="spacing">5</property>
141
+ <property name="layout_style">end</property>
142
+ <child>
143
+ <object class="GtkButton" id="buttonAdd">
144
+ <property name="label" translatable="yes">Add Score</property>
145
+ <property name="visible">True</property>
146
+ <property name="can_focus">True</property>
147
+ <property name="receives_default">True</property>
148
+ </object>
149
+ <packing>
150
+ <property name="expand">False</property>
151
+ <property name="fill">True</property>
152
+ <property name="position">1</property>
153
+ </packing>
154
+ </child>
155
+ <child>
156
+ <object class="GtkButton" id="buttonEditScore">
157
+ <property name="label" translatable="yes">Edit Score</property>
158
+ <property name="visible">True</property>
159
+ <property name="can_focus">True</property>
160
+ <property name="receives_default">True</property>
161
+ </object>
162
+ <packing>
163
+ <property name="expand">False</property>
164
+ <property name="fill">True</property>
165
+ <property name="position">2</property>
166
+ </packing>
167
+ </child>
168
+ <child>
169
+ <object class="GtkButton" id="buttonDelete">
170
+ <property name="label" translatable="yes">Delete Score</property>
171
+ <property name="visible">True</property>
172
+ <property name="can_focus">True</property>
173
+ <property name="receives_default">True</property>
174
+ </object>
175
+ <packing>
176
+ <property name="expand">False</property>
177
+ <property name="fill">True</property>
178
+ <property name="position">3</property>
179
+ </packing>
180
+ </child>
181
+ </object>
182
+ <packing>
183
+ <property name="expand">False</property>
184
+ <property name="fill">True</property>
185
+ <property name="position">2</property>
186
+ </packing>
187
+ </child>
188
+ </object>
189
+ </child>
190
+ </object>
191
+ </interface>
@@ -0,0 +1,219 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.16.1 -->
3
+ <interface>
4
+ <requires lib="gtk+" version="3.0"/>
5
+ <object class="GtkWindow" id="window1">
6
+ <property name="can_focus">False</property>
7
+ <property name="modal">True</property>
8
+ <child>
9
+ <object class="GtkBox" id="box1">
10
+ <property name="visible">True</property>
11
+ <property name="can_focus">False</property>
12
+ <property name="margin_left">10</property>
13
+ <property name="margin_right">10</property>
14
+ <property name="margin_top">10</property>
15
+ <property name="margin_bottom">10</property>
16
+ <property name="orientation">vertical</property>
17
+ <property name="spacing">10</property>
18
+ <child>
19
+ <object class="GtkLabel" id="label6">
20
+ <property name="visible">True</property>
21
+ <property name="can_focus">False</property>
22
+ <property name="label" translatable="yes">&lt;big&gt;&lt;big&gt;Enter Score&lt;/big&gt;&lt;/big&gt;</property>
23
+ <property name="use_markup">True</property>
24
+ </object>
25
+ <packing>
26
+ <property name="expand">False</property>
27
+ <property name="fill">True</property>
28
+ <property name="position">0</property>
29
+ </packing>
30
+ </child>
31
+ <child>
32
+ <object class="GtkGrid" id="grid1">
33
+ <property name="visible">True</property>
34
+ <property name="can_focus">False</property>
35
+ <property name="row_spacing">2</property>
36
+ <property name="column_spacing">5</property>
37
+ <child>
38
+ <object class="GtkLabel" id="label4">
39
+ <property name="visible">True</property>
40
+ <property name="can_focus">False</property>
41
+ <property name="xalign">1</property>
42
+ <property name="label" translatable="yes">Score:</property>
43
+ </object>
44
+ <packing>
45
+ <property name="left_attach">0</property>
46
+ <property name="top_attach">4</property>
47
+ <property name="width">1</property>
48
+ <property name="height">1</property>
49
+ </packing>
50
+ </child>
51
+ <child>
52
+ <object class="GtkLabel" id="label3">
53
+ <property name="visible">True</property>
54
+ <property name="can_focus">False</property>
55
+ <property name="xalign">1</property>
56
+ <property name="label" translatable="yes">Course Slope:</property>
57
+ </object>
58
+ <packing>
59
+ <property name="left_attach">0</property>
60
+ <property name="top_attach">3</property>
61
+ <property name="width">1</property>
62
+ <property name="height">1</property>
63
+ </packing>
64
+ </child>
65
+ <child>
66
+ <object class="GtkLabel" id="label2">
67
+ <property name="visible">True</property>
68
+ <property name="can_focus">False</property>
69
+ <property name="xalign">1</property>
70
+ <property name="label" translatable="yes">Course Rating:</property>
71
+ </object>
72
+ <packing>
73
+ <property name="left_attach">0</property>
74
+ <property name="top_attach">2</property>
75
+ <property name="width">1</property>
76
+ <property name="height">1</property>
77
+ </packing>
78
+ </child>
79
+ <child>
80
+ <object class="GtkLabel" id="label1">
81
+ <property name="visible">True</property>
82
+ <property name="can_focus">False</property>
83
+ <property name="xalign">1</property>
84
+ <property name="label" translatable="yes">Course Name:</property>
85
+ </object>
86
+ <packing>
87
+ <property name="left_attach">0</property>
88
+ <property name="top_attach">1</property>
89
+ <property name="width">1</property>
90
+ <property name="height">1</property>
91
+ </packing>
92
+ </child>
93
+ <child>
94
+ <object class="GtkLabel" id="label5">
95
+ <property name="visible">True</property>
96
+ <property name="can_focus">False</property>
97
+ <property name="xalign">1</property>
98
+ <property name="label" translatable="yes">Date:</property>
99
+ </object>
100
+ <packing>
101
+ <property name="left_attach">0</property>
102
+ <property name="top_attach">0</property>
103
+ <property name="width">1</property>
104
+ <property name="height">1</property>
105
+ </packing>
106
+ </child>
107
+ <child>
108
+ <object class="GtkEntry" id="course_rating">
109
+ <property name="visible">True</property>
110
+ <property name="can_focus">True</property>
111
+ </object>
112
+ <packing>
113
+ <property name="left_attach">1</property>
114
+ <property name="top_attach">2</property>
115
+ <property name="width">1</property>
116
+ <property name="height">1</property>
117
+ </packing>
118
+ </child>
119
+ <child>
120
+ <object class="GtkEntry" id="course_slope">
121
+ <property name="visible">True</property>
122
+ <property name="can_focus">True</property>
123
+ </object>
124
+ <packing>
125
+ <property name="left_attach">1</property>
126
+ <property name="top_attach">3</property>
127
+ <property name="width">1</property>
128
+ <property name="height">1</property>
129
+ </packing>
130
+ </child>
131
+ <child>
132
+ <object class="GtkEntry" id="score">
133
+ <property name="visible">True</property>
134
+ <property name="can_focus">True</property>
135
+ </object>
136
+ <packing>
137
+ <property name="left_attach">1</property>
138
+ <property name="top_attach">4</property>
139
+ <property name="width">1</property>
140
+ <property name="height">1</property>
141
+ </packing>
142
+ </child>
143
+ <child>
144
+ <object class="GtkCalendar" id="date">
145
+ <property name="visible">True</property>
146
+ <property name="can_focus">True</property>
147
+ <property name="year">2017</property>
148
+ <property name="month">8</property>
149
+ <property name="day">4</property>
150
+ </object>
151
+ <packing>
152
+ <property name="left_attach">1</property>
153
+ <property name="top_attach">0</property>
154
+ <property name="width">1</property>
155
+ <property name="height">1</property>
156
+ </packing>
157
+ </child>
158
+ <child>
159
+ <object class="GtkEntry" id="course_name">
160
+ <property name="visible">True</property>
161
+ <property name="can_focus">True</property>
162
+ </object>
163
+ <packing>
164
+ <property name="left_attach">1</property>
165
+ <property name="top_attach">1</property>
166
+ <property name="width">1</property>
167
+ <property name="height">1</property>
168
+ </packing>
169
+ </child>
170
+ </object>
171
+ <packing>
172
+ <property name="expand">False</property>
173
+ <property name="fill">True</property>
174
+ <property name="position">1</property>
175
+ </packing>
176
+ </child>
177
+ <child>
178
+ <object class="GtkButtonBox" id="buttonbox1">
179
+ <property name="visible">True</property>
180
+ <property name="can_focus">False</property>
181
+ <property name="spacing">5</property>
182
+ <property name="layout_style">end</property>
183
+ <child>
184
+ <object class="GtkButton" id="buttonSave">
185
+ <property name="label" translatable="yes">Save</property>
186
+ <property name="visible">True</property>
187
+ <property name="can_focus">True</property>
188
+ <property name="receives_default">True</property>
189
+ </object>
190
+ <packing>
191
+ <property name="expand">False</property>
192
+ <property name="fill">True</property>
193
+ <property name="position">0</property>
194
+ </packing>
195
+ </child>
196
+ <child>
197
+ <object class="GtkButton" id="buttonCancel">
198
+ <property name="label" translatable="yes">Cancel</property>
199
+ <property name="visible">True</property>
200
+ <property name="can_focus">True</property>
201
+ <property name="receives_default">True</property>
202
+ </object>
203
+ <packing>
204
+ <property name="expand">False</property>
205
+ <property name="fill">True</property>
206
+ <property name="position">1</property>
207
+ </packing>
208
+ </child>
209
+ </object>
210
+ <packing>
211
+ <property name="expand">False</property>
212
+ <property name="fill">True</property>
213
+ <property name="position">2</property>
214
+ </packing>
215
+ </child>
216
+ </object>
217
+ </child>
218
+ </object>
219
+ </interface>
@@ -7,6 +7,7 @@ module VR
7
7
 
8
8
  attr_accessor :answer
9
9
 
10
+
10
11
  include GladeGUI
11
12
 
12
13
  # Just passes on values from #alert method.
@@ -5,5 +5,7 @@ require "yaml"
5
5
  require "find"
6
6
  require "fileutils"
7
7
 
8
+
9
+
8
10
  require_rel '/'
9
11
 
@@ -1 +1 @@
1
- VERSION = "3.2.0"
1
+ VERSION = "3.2.2"
data/vr CHANGED
@@ -14,6 +14,9 @@ def load_everything
14
14
 
15
15
  require 'require_all'
16
16
 
17
+ require_rel 'lib/GladeGUI.rb'
18
+
19
+
17
20
  require_rel 'lib/'
18
21
  require_rel 'src/'
19
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visualruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Cunningham
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir:
10
10
  - "."
11
11
  cert_chain: []
12
- date: 2018-04-24 00:00:00.000000000 Z
12
+ date: 2018-05-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gtk3
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 3.2.4
28
- - !ruby/object:Gem::Dependency
29
- name: cairo
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - '='
33
- - !ruby/object:Gem::Version
34
- version: 1.15.12
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - '='
40
- - !ruby/object:Gem::Version
41
- version: 1.15.12
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: gtksourceview3
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -57,16 +43,16 @@ dependencies:
57
43
  name: require_all
58
44
  requirement: !ruby/object:Gem::Requirement
59
45
  requirements:
60
- - - ">="
46
+ - - '='
61
47
  - !ruby/object:Gem::Version
62
- version: '1.2'
48
+ version: '1.4'
63
49
  type: :runtime
64
50
  prerelease: false
65
51
  version_requirements: !ruby/object:Gem::Requirement
66
52
  requirements:
67
- - - ">="
53
+ - - '='
68
54
  - !ruby/object:Gem::Version
69
- version: '1.2'
55
+ version: '1.4'
70
56
  description: |-
71
57
  Visualruby is a complete IDE for making graphical user interfaces with ruby. It utilizes glade interface designer to create windows, and uses a library of GUI helpers to make coding GTK+ programs easy. The IDE really helps you organize your files and your thoughts because it names your ruby files and glade files by a naming convention. You files take on the names MyClass.rb, and MyClass.glade. Then you can easily edit the GUI (glade file) by right clicking on your class's file.
72
58
  It also creates .gemspec files for you, then you can right-click on the .gemspec file to install it, or upload it to rubygems.org. You can also yank your gems with one click.
@@ -145,6 +131,11 @@ files:
145
131
  - "./examples/filetreeview/img/rb.png"
146
132
  - "./examples/filetreeview/img/unknown.png"
147
133
  - "./examples/filetreeview/main.rb"
134
+ - "./examples/golf_handicap/.vr_settings.yaml"
135
+ - "./examples/golf_handicap/src/Handicap.rb"
136
+ - "./examples/golf_handicap/src/Score.rb"
137
+ - "./examples/golf_handicap/src/glade/Handicap.glade"
138
+ - "./examples/golf_handicap/src/glade/Score.glade"
148
139
  - "./examples/listview/.vr_settings.yaml"
149
140
  - "./examples/listview/bin/SongListView.rb"
150
141
  - "./examples/listview/bin/SongListViewGUI.rb"