visualruby 3.0.12 → 3.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.vr_settings.yaml +6 -6
- data/examples/alert_box/.vr_settings.yaml +5 -4
- data/examples/alert_box/main.rb +8 -0
- data/examples/listview/.vr_settings.yaml +5 -8
- data/examples/listview/bin/SongListView.rb +9 -9
- data/examples/listview/main.rb +1 -1
- data/examples/listview_objects/bin/ListViewObjects.rb +8 -8
- data/lib/Alert.rb +30 -21
- data/lib/GladeGUI.rb +17 -3
- data/lib/oinspect/MethodsListView.rb +11 -10
- data/lib/oinspect/ObjectInspectorGUI.rb +36 -20
- data/lib/oinspect/VariablesListView.rb +31 -30
- data/lib/oinspect/glade/ObjectInspectorGUI.glade +90 -12
- data/lib/treeview/FileTreeView.rb +23 -6
- data/lib/treeview/IterMethods.rb +66 -66
- data/lib/treeview/ListView.rb +5 -5
- data/lib/treeview/ViewCommon.rb +43 -23
- data/lib/treeview/columns/{TextCol.rb → BlobCol.rb} +6 -6
- data/lib/treeview/columns/CalendarCol.rb +23 -27
- data/lib/treeview/columns/CellRendererCombo.rb +1 -1
- data/lib/treeview/columns/CellRendererObject.rb +1 -1
- data/lib/treeview/columns/CellRendererProgress.rb +17 -17
- data/lib/treeview/columns/CellRendererSpin.rb +1 -1
- data/lib/treeview/columns/CellRendererText.rb +1 -1
- data/lib/treeview/columns/CellRendererToggle.rb +3 -3
- data/lib/treeview/columns/ComboCol.rb +1 -1
- data/lib/treeview/columns/CurrencyCol.rb +1 -1
- data/lib/treeview/columns/ImageCol.rb +1 -1
- data/lib/treeview/columns/ProgressCol.rb +4 -4
- data/lib/treeview/columns/SpinCol.rb +1 -1
- data/lib/treeview/columns/TreeViewColumn.rb +15 -20
- data/src/main/VR_File_Tree.rb +2 -3
- data/src/main/VR_Main.rb +12 -0
- data/src/main/glade/VR_Main.glade +14 -0
- metadata +3 -10
- data/lib/IconHash.rb +0 -18
- data/lib/SimpleComboBoxEntry.rb +0 -8
- data/lib/treeview/columns/CellRendererDate.rb +0 -45
- data/lib/treeview/columns/CellRendererPhone.rb +0 -45
- data/lib/treeview/columns/CellRendererPixbuf.rb +0 -16
- data/lib/treeview/columns/DateCol.rb +0 -20
- data/src/main/ProjectChooserView.rb +0 -40
@@ -1,4 +1,4 @@
|
|
1
|
-
module VR
|
1
|
+
module VR::Col
|
2
2
|
|
3
3
|
class TreeViewColumn < Gtk::TreeViewColumn # :nodoc:
|
4
4
|
|
@@ -11,44 +11,40 @@ module VR
|
|
11
11
|
cols.each_pair do |symb, type|
|
12
12
|
r = nil
|
13
13
|
a = [model_col, self, @view, symb]
|
14
|
-
if type == Gdk::Pixbuf
|
15
|
-
r =
|
16
|
-
# ren = Gtk::CellRendererPixbuf.new #(*a)
|
14
|
+
if type == Gdk::Pixbuf # ok to use gtk
|
15
|
+
r = Gtk::CellRendererPixbuf.new #(*a)
|
17
16
|
self.pack_start( r, false )
|
18
17
|
self.add_attribute( r, :pixbuf, model_col)
|
19
18
|
elsif type == TrueClass
|
20
|
-
r = VR::CellRendererToggle.new(*a)
|
19
|
+
r = VR::Col::Ren::CellRendererToggle.new(*a)
|
20
|
+
# r = Gtk::CellRendererToggle.new()
|
21
21
|
self.pack_start( r, false )
|
22
22
|
self.add_attribute( r, :active, model_col)
|
23
|
-
elsif type == VR::SpinCol #or type == Gtk::Adjustment
|
24
|
-
r = VR::CellRendererSpin.new(*a)
|
23
|
+
elsif type == VR::Col::SpinCol #or type == Gtk::Adjustment
|
24
|
+
r = VR::Col::Ren::CellRendererSpin.new(*a)
|
25
25
|
self.pack_start( r, false )
|
26
26
|
self.add_attribute( r, :adjustment, model_col)
|
27
27
|
self.set_cell_data_func(r) do |col, rend, model, iter|
|
28
28
|
fmt = "%.#{rend.digits}f"
|
29
29
|
rend.text = fmt % iter[rend.model_col].value.to_s
|
30
30
|
end
|
31
|
-
elsif type == VR::ComboCol
|
32
|
-
r = VR::CellRendererCombo.new(*a)
|
31
|
+
elsif type == VR::Col::ComboCol
|
32
|
+
r = VR::Col::Ren::CellRendererCombo.new(*a)
|
33
33
|
self.pack_start( r, false )
|
34
34
|
self.set_cell_data_func(r) do |col, rend, model, iter|
|
35
35
|
iter = model.get_iter(iter.path)
|
36
|
-
#puts "VR::ComboCol Renderer: " + ren.class.name + " model_col: " + ren.model_col.to_s
|
37
|
-
#puts "VR::ComboCol Iter: " + iter.class.name
|
38
|
-
#puts "VR::ComboCol Model: " + model.class.name
|
39
|
-
#puts "VR::ComboCol Cell: " + iter[ren.model_col].class.name
|
40
|
-
#puts "VR::ComboCol iter[ren.model_col]: " + iter[ren.model_col].selected.to_s
|
41
36
|
# display_val = iter[rend.model_col].selected.to_s
|
42
37
|
display_val = iter[@view.id(sym)].selected.to_s
|
43
38
|
#puts display_val
|
44
39
|
rend.text = display_val #= iter[ren.model_col].selected.to_s
|
45
40
|
end
|
46
|
-
elsif type == VR::ProgressCol
|
47
|
-
r = VR::CellRendererProgress.new(*a)
|
41
|
+
elsif type == VR::Col::ProgressCol
|
42
|
+
# r = VR::Col::Ren::CellRendererProgress.new(*a)
|
43
|
+
r = Gtk::CellRendererProgress.new()
|
48
44
|
self.pack_start( r, false )
|
49
45
|
self.add_attribute( r, :value, model_col)
|
50
46
|
elsif type == DateTime
|
51
|
-
r = VR::CellRendererDate.new(*a)
|
47
|
+
r = VR::Col::Ren::CellRendererDate.new(*a)
|
52
48
|
self.pack_start( r, false )
|
53
49
|
self.set_cell_data_func(r) do |col, ren, model, iter|
|
54
50
|
#iter = model.get_iter(iter.path)
|
@@ -56,11 +52,11 @@ module VR
|
|
56
52
|
ren.text = iter[ren.model_col].strftime(ren.date_format).to_s
|
57
53
|
end
|
58
54
|
elsif type == String or type == Float or type == Integer or type == Fixnum
|
59
|
-
r = VR::CellRendererText.new(*a)
|
55
|
+
r = VR::Col::Ren::CellRendererText.new(*a)
|
60
56
|
self.pack_start( r, false )
|
61
57
|
self.add_attribute( r, :text, model_col)
|
62
58
|
else #user defined object
|
63
|
-
r = VR::CellRendererObject.new(*a)
|
59
|
+
r = VR::Col::Ren::CellRendererObject.new(*a)
|
64
60
|
self.pack_start( r, false )
|
65
61
|
self.set_cell_data_func(r) do |col, ren, model, iter|
|
66
62
|
ren.render_object(iter)
|
@@ -68,7 +64,6 @@ module VR
|
|
68
64
|
end
|
69
65
|
model_col = model_col + 1
|
70
66
|
view.vr_renderer[sym] = r
|
71
|
-
view.vr_column[sym] = self
|
72
67
|
end
|
73
68
|
end
|
74
69
|
|
data/src/main/VR_File_Tree.rb
CHANGED
@@ -46,7 +46,7 @@ class VR_File_Tree < VR::FileTreeView
|
|
46
46
|
# txt = VR_Tools.sudo_command(command)
|
47
47
|
# end
|
48
48
|
@main.shell.buffer.text = txt
|
49
|
-
end
|
49
|
+
end
|
50
50
|
|
51
51
|
def menuRDoc_clicked
|
52
52
|
return unless @main.tabs.try_to_save_all(:ask => false)
|
@@ -56,10 +56,9 @@ class VR_File_Tree < VR::FileTreeView
|
|
56
56
|
@main.shell.buffer.text = $VR_ENV.rdoc_command_line + fn + "\n"
|
57
57
|
@main.shell.buffer.text += `#{$VR_ENV.rdoc_command_line} 2>&1`
|
58
58
|
VR_Tools.replace_html_in_docs()
|
59
|
-
FileUtils.copy("yard_hack/common.css", "#{fn}/doc/css/common.css") if File.exists?("yard_hack/common.css")
|
60
59
|
if File.exists?("yard_hack/index.html.replace")
|
61
60
|
FileUtils.copy("yard_hack/index.html.replace", "#{fn}/doc/index.html")
|
62
|
-
FileUtils.copy("yard_hack/
|
61
|
+
FileUtils.copy("yard_hack/common.css", "#{fn}/doc/css/common.css")
|
63
62
|
end
|
64
63
|
FileUtils.cd(old_dir)
|
65
64
|
VR_Tools.popen("#{$VR_ENV_GLOBAL.browser} #{fn}/doc/index.html")
|
data/src/main/VR_Main.rb
CHANGED
@@ -144,6 +144,18 @@ class VR_Main
|
|
144
144
|
when 2 then @remote_gem_tree.refresh()
|
145
145
|
end
|
146
146
|
end
|
147
|
+
|
148
|
+
def toolRDoc__clicked(*a)
|
149
|
+
@shell.buffer.text = $VR_ENV.rdoc_command_line + "\n"
|
150
|
+
clear_events
|
151
|
+
@shell.buffer.text += `#{$VR_ENV.rdoc_command_line} 2>&1`
|
152
|
+
VR_Tools.replace_html_in_docs()
|
153
|
+
if File.exists?("yard_hack/index.html.replace")
|
154
|
+
FileUtils.copy("yard_hack/index.html.replace", "doc/index.html")
|
155
|
+
FileUtils.copy("yard_hack/common.css", "doc/css/common.css")
|
156
|
+
end
|
157
|
+
# VR_Tools.popen("#{$VR_ENV_GLOBAL.browser} #{fn}/doc/index.html")
|
158
|
+
end
|
147
159
|
|
148
160
|
def toolSave__clicked(*a) # saves open tab
|
149
161
|
@tabs.docs[@tabs.page].try_to_save(false) # false = don't ask
|
@@ -328,6 +328,20 @@
|
|
328
328
|
<property name="homogeneous">True</property>
|
329
329
|
</packing>
|
330
330
|
</child>
|
331
|
+
<child>
|
332
|
+
<object class="GtkToolButton" id="toolRDoc">
|
333
|
+
<property name="visible">True</property>
|
334
|
+
<property name="can_focus">False</property>
|
335
|
+
<property name="tooltip_text" translatable="yes">Create RDocs for this project.</property>
|
336
|
+
<property name="label" translatable="yes">RDoc</property>
|
337
|
+
<property name="use_underline">True</property>
|
338
|
+
<property name="stock_id">gtk-copy</property>
|
339
|
+
</object>
|
340
|
+
<packing>
|
341
|
+
<property name="expand">False</property>
|
342
|
+
<property name="homogeneous">True</property>
|
343
|
+
</packing>
|
344
|
+
</child>
|
331
345
|
</object>
|
332
346
|
<packing>
|
333
347
|
<property name="expand">False</property>
|
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.0.
|
4
|
+
version: 3.0.13
|
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: 2016-06-
|
12
|
+
date: 2016-06-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gtk3
|
@@ -178,9 +178,7 @@ files:
|
|
178
178
|
- "./lib/Alert.rb"
|
179
179
|
- "./lib/DragDrop.rb"
|
180
180
|
- "./lib/GladeGUI.rb"
|
181
|
-
- "./lib/IconHash.rb"
|
182
181
|
- "./lib/SavableClass.rb"
|
183
|
-
- "./lib/SimpleComboBoxEntry.rb"
|
184
182
|
- "./lib/glade/Alert.glade"
|
185
183
|
- "./lib/oinspect/MethodsListView.rb"
|
186
184
|
- "./lib/oinspect/ObjectInspectorGUI.rb"
|
@@ -191,23 +189,19 @@ files:
|
|
191
189
|
- "./lib/treeview/ListView.rb"
|
192
190
|
- "./lib/treeview/TreeView.rb"
|
193
191
|
- "./lib/treeview/ViewCommon.rb"
|
192
|
+
- "./lib/treeview/columns/BlobCol.rb"
|
194
193
|
- "./lib/treeview/columns/CalendarCol.rb"
|
195
194
|
- "./lib/treeview/columns/CellRendererCombo.rb"
|
196
|
-
- "./lib/treeview/columns/CellRendererDate.rb"
|
197
195
|
- "./lib/treeview/columns/CellRendererObject.rb"
|
198
|
-
- "./lib/treeview/columns/CellRendererPhone.rb"
|
199
|
-
- "./lib/treeview/columns/CellRendererPixbuf.rb"
|
200
196
|
- "./lib/treeview/columns/CellRendererProgress.rb"
|
201
197
|
- "./lib/treeview/columns/CellRendererSpin.rb"
|
202
198
|
- "./lib/treeview/columns/CellRendererText.rb"
|
203
199
|
- "./lib/treeview/columns/CellRendererToggle.rb"
|
204
200
|
- "./lib/treeview/columns/ComboCol.rb"
|
205
201
|
- "./lib/treeview/columns/CurrencyCol.rb"
|
206
|
-
- "./lib/treeview/columns/DateCol.rb"
|
207
202
|
- "./lib/treeview/columns/ImageCol.rb"
|
208
203
|
- "./lib/treeview/columns/ProgressCol.rb"
|
209
204
|
- "./lib/treeview/columns/SpinCol.rb"
|
210
|
-
- "./lib/treeview/columns/TextCol.rb"
|
211
205
|
- "./lib/treeview/columns/TreeViewColumn.rb"
|
212
206
|
- "./lib/treeview/columns/glade/CalendarCol.glade"
|
213
207
|
- "./lib/treeview/columns/glade/ImageCol.glade"
|
@@ -227,7 +221,6 @@ files:
|
|
227
221
|
- "./src/main/GemTree.rb"
|
228
222
|
- "./src/main/NewProjectGUI.rb"
|
229
223
|
- "./src/main/OpenProject.rb"
|
230
|
-
- "./src/main/ProjectChooserView.rb"
|
231
224
|
- "./src/main/ProjectTree.rb"
|
232
225
|
- "./src/main/RubygemsAPI.rb"
|
233
226
|
- "./src/main/VR_ENV.rb"
|
data/lib/IconHash.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
module VR
|
2
|
-
|
3
|
-
class IconHash < Hash # :nodoc:
|
4
|
-
|
5
|
-
def initialize(path)
|
6
|
-
Dir.glob(path + "/*.png").each do |f|
|
7
|
-
ext = File.basename(f, ".png")
|
8
|
-
self[ext] = Gdk::Pixbuf.new(f)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def get_icon(file_name)
|
13
|
-
ext = File.extname(file_name).gsub(".", "")
|
14
|
-
self.has_key?(ext) ? self[ext] : self["unknown"]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/lib/SimpleComboBoxEntry.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
module VR
|
2
|
-
|
3
|
-
# This class is a helper to VR::ListView and VR::TreeView. When
|
4
|
-
# colums are created, this class is used as the renderer because
|
5
|
-
# it adds functionality to the Gtk Renderer.
|
6
|
-
#
|
7
|
-
# When you call ListView#render(model_col) an instance of this class
|
8
|
-
# will be returned. It is a subclass of
|
9
|
-
#
|
10
|
-
# {Gtk::CellRendererText}[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3ACellRendererText]
|
11
|
-
#
|
12
|
-
# So it has all the functionality of its parent, plus the methods listed here.
|
13
|
-
|
14
|
-
class CellRendererDate < Gtk::CellRendererText
|
15
|
-
|
16
|
-
attr_accessor :date_format, :edited_callback, :model_col, :column, :model_sym
|
17
|
-
|
18
|
-
def initialize(model_col, column, view, model_sym) # :nodoc:
|
19
|
-
super()
|
20
|
-
@model_col = model_col
|
21
|
-
@column = column
|
22
|
-
@view = view
|
23
|
-
@model_sym = model_sym
|
24
|
-
@view.model.set_sort_func(@model_col) { |m,x,y| x[@model_col] <=> y[@model_col] }
|
25
|
-
@date_format = "%m-%d-%Y"
|
26
|
-
@validate_block = Proc.new { |text, model_sym, row, view|
|
27
|
-
begin
|
28
|
-
Date.strptime(text, @date_format)
|
29
|
-
true
|
30
|
-
rescue
|
31
|
-
alert("Unrecognized date format: " + text)
|
32
|
-
false
|
33
|
-
end }
|
34
|
-
@edited_block = nil
|
35
|
-
self.signal_connect('edited') do |ren, path, text|
|
36
|
-
next unless iter = @view.model.get_iter(path)
|
37
|
-
if @validate_block.call(text, @model_sym, @view.vr_row(iter), @view)
|
38
|
-
iter[@model_col] = DateTime.strptime(text, @date_format)
|
39
|
-
@edited_callback.call(@model_sym, @view.vr_row(iter)) if @edited_callback
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
module VR
|
2
|
-
|
3
|
-
# This class is a helper to VR::ListView and VR::TreeView. When
|
4
|
-
# colums are created, this class is used as the renderer because
|
5
|
-
# it adds functionality to the Gtk Renderer.
|
6
|
-
#
|
7
|
-
# When you call ListView#render(model_col) an instance of this class
|
8
|
-
# will be returned. It is a subclass of
|
9
|
-
#
|
10
|
-
# {Gtk::CellRendererText}[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3ACellRendererText]
|
11
|
-
#
|
12
|
-
# So it has all the functionality of its parent, plus the methods listed here.
|
13
|
-
|
14
|
-
class CellRendererPhone < Gtk::CellRendererText
|
15
|
-
|
16
|
-
attr_accessor :phone_format, :edited_callback, :model_col, :column, :model_sym
|
17
|
-
|
18
|
-
def initialize(model_col, column, view, model_sym) # :nodoc:
|
19
|
-
super()
|
20
|
-
@model_col = model_col
|
21
|
-
@column = column
|
22
|
-
@view = view
|
23
|
-
@model_sym = model_sym
|
24
|
-
@view.model.set_sort_func(@model_col) { |m,x,y| x[@model_col] <=> y[@model_col] }
|
25
|
-
@phone_format = "%3-%3-%4"
|
26
|
-
@validate_block = Proc.new { |text, model_sym, row, view|
|
27
|
-
only_numbers = text.gsub(/[^0-9]/, "")
|
28
|
-
if (only_numbers.size == 10)
|
29
|
-
true
|
30
|
-
else
|
31
|
-
alert("Unrecognized phone number: " + text)
|
32
|
-
false
|
33
|
-
end }
|
34
|
-
@edited_block = nil
|
35
|
-
self.signal_connect('edited') do |ren, path, text|
|
36
|
-
next unless iter = @view.model.get_iter(path)
|
37
|
-
if @validate_block.call(text, @model_sym, @view.vr_row(iter), @view)
|
38
|
-
iter[@model_col] = DateTime.strptime(text, @date_format)
|
39
|
-
@edited_callback.call(@model_sym, @view.vr_row(iter)) if @edited_callback
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module VR
|
2
|
-
|
3
|
-
class CellRendererPixbuf < Gtk::CellRendererPixbuf # :nodoc:
|
4
|
-
|
5
|
-
attr_reader :model_col, :column, :model_sym
|
6
|
-
|
7
|
-
def initialize(model_col, column, view, model_sym)
|
8
|
-
super()
|
9
|
-
@column = column
|
10
|
-
@model_col = model_col
|
11
|
-
@model_sym = model_sym
|
12
|
-
@view = view
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module VR
|
4
|
-
|
5
|
-
class DateCol
|
6
|
-
|
7
|
-
attr_accessor :date
|
8
|
-
|
9
|
-
def initialize(date, format = "%Y-%m-%d")
|
10
|
-
set_date(date, format)
|
11
|
-
end
|
12
|
-
|
13
|
-
def set_date(date, format = "%Y-%m-%d")
|
14
|
-
@date = date
|
15
|
-
# gsub!(self, @date.strftime(format))
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
class ProjectChooserView < VR::ListView
|
3
|
-
|
4
|
-
PIX = Gdk::Pixbuf.new(File.dirname(__FILE__) + "/../../img/folder.png")
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
super(:folder => {:pix => Gdk::Pixbuf, :file_name => String}, :modified => DateTime)
|
8
|
-
ren_xalign(:modified => 1)
|
9
|
-
col_xalign(:modified => 1)
|
10
|
-
col_sort_column_id(:modified => id(:modified), :pix => id(:file_name))
|
11
|
-
end
|
12
|
-
|
13
|
-
def refresh(show_backup = false)
|
14
|
-
# model.set_sort_column_id(1, :ascending)
|
15
|
-
self.model.clear
|
16
|
-
pattern = ""
|
17
|
-
backup_path = Dir.pwd.gsub(ENV["HOME"], File.join(ENV["HOME"], "visualruby_backup"))
|
18
|
-
backup_ar = File.split(backup_path)
|
19
|
-
backup_ar << ["**", VR_ENV::SETTINGS_FILE]
|
20
|
-
if show_backup
|
21
|
-
pattern = File.join(*backup_ar)
|
22
|
-
else
|
23
|
-
pattern = File.join(ENV["HOME"], "visualruby", "**", VR_ENV::SETTINGS_FILE)
|
24
|
-
end
|
25
|
-
Dir.glob(pattern, File::FNM_DOTMATCH).each do |fn|
|
26
|
-
next if not show_backup and fn =~ / Backup /
|
27
|
-
next if show_backup and not fn =~ / Backup /
|
28
|
-
t = File.stat(fn).mtime
|
29
|
-
row = add_row()
|
30
|
-
row[:pix] = PIX
|
31
|
-
row[:file_name] = File.dirname(fn)
|
32
|
-
row[:modified] = DateTime.parse(t.to_s)
|
33
|
-
end
|
34
|
-
|
35
|
-
# model.set_sort_column_id(id(:modified), :descending)
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
|