visualruby 3.0.22 → 3.0.23

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d2d3753e3ccf32379b1cbc130197502e7f8f98c2
4
- data.tar.gz: 748531c260a265b213150135d3d31d41f279113c
3
+ metadata.gz: 2c9875dc7a7e491c539661b24beb1f82ae9800ff
4
+ data.tar.gz: cb5116d5521afb53cb20b5c00baeb73b19d92eac
5
5
  SHA512:
6
- metadata.gz: aaebf350cd8ed542a22613bdeced1e5a58a33f084713a48e20444acc83929cca7aaa34fdc9adafd0a5a0ff9f7c74075b76ecc1b2472eddc7789098426292f570
7
- data.tar.gz: 5daabade76d3563c116fd0a0e7b0546545a12cd3c1eb1f31609df46e25253394872a7a4c86a0d05571e37333c236d71f13d59a96c0c20233bb65a2e743fb28c1
6
+ metadata.gz: 2185e832ea7999cf184a7967d5b58a0b7f799d67938cd2d7389eba8653969ce841cb9e674176f64ad58f3841364a8787fa50ed87bb7b013427d7e7266b1fdf2d
7
+ data.tar.gz: 46a0b8df4685f384fe99ea0724c0f111a8cf46b46dd5818ea7103115af5bb144accfc459d76d5c21f9b10341609f10901056a3765182e96215020ef79bfe6602
@@ -2,34 +2,30 @@
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/.vr_settings.yaml"
3
3
  width: 1364
4
4
  height: 691
5
- panel_pos: 284
5
+ panel_pos: 300
6
6
  notebook_panel_position: 472
7
7
  run_command_line: ruby vr
8
8
  open_files:
9
+ - "/home/eric/vrp/vr3/lib/SavableClass.rb"
10
+ - "/home/eric/vrp/vr3/README.md"
11
+ - "/home/eric/vrp/vr3/site/Signals_Tutorial.rdoc"
12
+ - "/home/eric/vrp/vr3/vr"
9
13
  - "/home/eric/vrp/vr3/src/main/VR_Main.rb"
10
- - "/home/eric/vrp/vr3/src/main/VR_File_Tree.rb"
14
+ - "/home/eric/vrp/vr3/examples/listview/bin/SongListView.rb"
15
+ - "/home/eric/vrp/vr3/src/main/GemTree.rb"
16
+ - "/home/eric/vrp/vr3/lib/treeview/FileTreeView.rb"
17
+ - "/home/eric/vrp/vr3/lib/treeview/columns/TreeViewColumn.rb"
18
+ - "/home/eric/vrp/vr3/lib/treeview/ListView.rb"
11
19
  - "/home/eric/vrp/vr3/lib/treeview/ViewCommon.rb"
12
- - "/home/eric/vrp/vr3/src/main/VR_Tools.rb"
13
- - "/home/eric/vrp/vr3/lib/Tools.rb"
14
- - "/home/eric/vrp/vr3/lib/vrlib.rb"
15
- - "/home/eric/vrp/vr3/vr"
16
- - "/home/eric/vrp/vr3/lib/Alert.rb"
17
- - "/home/eric/vrp/vr3/README.md"
18
- - "/home/eric/vrp/vr3/examples/active_record/bin/Person.rb"
19
- - "/home/eric/vrp/vr3/examples/active_record/active_record.rb"
20
- - "/home/eric/vrp/vr3/src/main/VR_ENV.rb"
21
- - "/home/eric/vrp/vr3/vr.gemspec"
22
- - "/home/eric/vrp/vr3/examples/phantom/main.rb"
23
- - "/home/eric/vrp/vr3/examples/phantom/src/MyClass.rb"
20
+ - "/home/eric/vrp/vr3/lib/treeview/columns/ComboCol.rb"
21
+ - "/home/eric/vrp/vr3/lib/treeview/columns/ImageCol.rb"
24
22
  open_folders:
25
23
  - "/home/eric/vrp/vr3"
26
- - "/home/eric/vrp/vr3/examples"
27
- - "/home/eric/vrp/vr3/examples/phantom"
28
- - "/home/eric/vrp/vr3/examples/phantom/src"
24
+ - "/home/eric/vrp/vr3/site"
29
25
  - "/home/eric/vrp/vr3/src"
30
26
  - "/home/eric/vrp/vr3/src/main"
31
- current_file: "/home/eric/vrp/vr3/examples/phantom/src/MyClass.rb"
32
- current_line: 6
27
+ current_file: "/home/eric/vrp/vr3/lib/treeview/columns/ImageCol.rb"
28
+ current_line: 4
33
29
  rdoc_command_line: yardoc lib - site/*.*
34
30
  builder: !ruby/object:Gtk::Builder {}
35
31
  top_level_window: false
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:MyYard
2
2
  project_root: "/home/eric/vrp/vr3"
3
3
  output_dir: doc
4
- theme: default
5
- template: default
4
+ theme: visualruby
5
+ template: visualruby
6
6
  files: lib/**/*.rb
7
7
  extra_files: site/*.*
8
8
  exclude: ''
9
9
  include_public: true
10
10
  include_private: false
11
- include_protected: false
11
+ include_protected: true
12
12
  include_private_tag: false
13
13
  title: Visual Ruby
14
14
  main: index.html
@@ -1,14 +1,19 @@
1
1
  --- !ruby/object:VR_ENV
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/examples/active_record/.vr_settings.yaml"
3
- width: 800
4
- height: 600
3
+ width: 1197
4
+ height: 641
5
5
  panel_pos: 360
6
6
  notebook_panel_position: 400
7
- run_command_line: ruby main.rb
7
+ run_command_line: ruby active_record.rb
8
8
  open_files:
9
- - "/home/eric/vrp/vr3/Untitled"
9
+ - "/home/eric/vrp/vr3/examples/active_record/active_record.rb"
10
+ - "/home/eric/vrp/vr3/examples/active_record/bin/Person.rb"
10
11
  open_folders:
11
12
  - "/home/eric/vrp/vr3/examples/active_record"
12
- current_file: "/home/eric/vrp/vr3/Untitled"
13
- current_line: 1
13
+ - "/home/eric/vrp/vr3/examples/active_record/bin"
14
+ - "/home/eric/vrp/vr3/examples/active_record/bin/glade"
15
+ current_file: "/home/eric/vrp/vr3/examples/active_record/bin/Person.rb"
16
+ current_line: 3
14
17
  rdoc_command_line: rdoc -x README
18
+ builder: !ruby/object:Gtk::Builder {}
19
+ top_level_window: false
@@ -1,7 +1,7 @@
1
1
 
2
2
 
3
3
  # ignore -- this is for development, same as require 'vrlib'
4
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
4
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
5
5
 
6
6
  begin
7
7
  require 'active_record'
@@ -1,6 +1,6 @@
1
1
 
2
2
  # ignore -- this is for development, same as require 'vrlib'
3
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
3
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
4
4
 
5
5
  begin
6
6
  require 'active_record'
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  # ignore -- this is for development, same as require 'vrlib'
4
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
4
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
5
5
 
6
6
  # from require_all gem:
7
7
  require_rel 'bin/'
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
  # ignore -- this is for development, same as require 'vrlib'
5
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
5
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
6
6
 
7
7
  # from require_all gem:
8
8
  require_rel 'bin/'
@@ -1,7 +1,9 @@
1
1
  --- !ruby/object:VR_ENV
2
+ vr_yaml_file: "/home/eric/vrp/vr3/examples/calculator/.vr_settings.yaml"
2
3
  width: 1028
3
4
  height: 691
4
5
  panel_pos: 365
6
+ notebook_panel_position: 400
5
7
  run_command_line: ruby main.rb
6
8
  open_files:
7
9
  - "/home/eric/vrp/vr3/examples/calculator/main.rb"
@@ -10,9 +12,7 @@ open_folders:
10
12
  - "/home/eric/vrp/vr3/examples/calculator"
11
13
  - "/home/eric/vrp/vr3/examples/calculator/bin"
12
14
  current_file: "/home/eric/vrp/vr3/examples/calculator/bin/Calculator.rb"
13
- rdoc_command_line: rdoc -x README
14
- vr_yaml_file: ".vr_settings.yaml"
15
- notebook_panel_position: 400
16
15
  current_line: 65
16
+ rdoc_command_line: rdoc -x README
17
17
  settings_file_version: 1
18
18
  filename: ".vr_settings.yaml"
@@ -3,7 +3,7 @@
3
3
  # Updated for Gtk3!
4
4
 
5
5
  # ignore -- this is for development, same as require 'vrlib'
6
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
6
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
7
7
 
8
8
  # from require_all gem:
9
9
  require_rel 'bin/'
@@ -3,7 +3,7 @@
3
3
  #Updated for Gtk3!
4
4
 
5
5
  # ignore -- this is for development, same as require 'vrlib'
6
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
6
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
7
7
 
8
8
  # from require_all gem:
9
9
  require_rel 'bin/'
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  # ignore -- this is for development, same as require 'vrlib'
4
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
4
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
5
5
 
6
6
  # from require_all gem:
7
7
  require_rel 'bin/'
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  # ignore -- this is for development, same as require 'vrlib'
4
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
4
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
5
5
  require 'find'
6
6
 
7
7
 
@@ -8,12 +8,12 @@
8
8
  class SongListView < VR::ListView
9
9
 
10
10
 
11
- AUDIO_ICON = Gdk::Pixbuf.new(File.dirname(__FILE__) + "/audio-x-generic.png")
11
+ AUDIO_ICON = Gdk::Pixbuf.new(:file => File.dirname(__FILE__) + "/audio-x-generic.png")
12
12
 
13
13
 
14
14
  def initialize
15
15
  @cols = {}
16
- @cols[:pix] = {:pix => Gdk::Pixbuf, :song => String } #two renderers in this column
16
+ @cols[:pix] = {:pix => GdkPixbuf::Pixbuf, :song => String } #two renderers in this column
17
17
  @cols[:date] = VR::Col::CalendarCol # DateTime
18
18
  @cols[:artist] = String
19
19
  @cols[:first_name] = String
@@ -3,7 +3,7 @@
3
3
  # Updated for Gtk3!
4
4
 
5
5
  # ignore -- this is for development, same as require 'vrlib'
6
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
6
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
7
7
 
8
8
  # from require_all gem:
9
9
  require_rel 'bin/'
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
3
  # ignore -- this is for development, same as require 'vrlib'
4
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
4
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
5
5
 
6
6
 
7
7
  # from require_all gem:
@@ -3,7 +3,7 @@
3
3
  #Updated for Gtk3!
4
4
 
5
5
  # ignore -- this is for development, same as require 'vrlib'
6
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
6
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
7
7
 
8
8
  # from require_all gem:
9
9
  require_rel 'bin/'
@@ -3,7 +3,7 @@
3
3
  #Updated for Gtk3!
4
4
 
5
5
  # ignore -- this is for development, same as: require 'vrlib'
6
- require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
6
+ require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
7
7
 
8
8
  # from require_all gem:
9
9
  require_rel 'bin/'
@@ -41,49 +41,5 @@ module VR
41
41
  end
42
42
  end
43
43
 
44
- # module DragDrop
45
- #
46
- # attr_accessor :dragged_widget, :drag_array
47
- #
48
- # def drag_array(element = nil)
49
- # @dnd ||= []
50
- # @dnd.push(element) if not element.nil?
51
- # return @dnd
52
- # end
53
- #
54
- #
55
- # def drag_to(target_widget) #Gdk::Window::BUTTON1_MASK)
56
- #
57
- # @target_widgets ||= []
58
- # @target_widgets << target_widget
59
- #
60
- ## @drag_array ||= []
61
- ## @drag_array <<
62
- #
63
- # ar = [[ self.object_id.to_s, :same_app, 12_345]]
64
- # drag_source_set(Gdk::ModifierType::BUTTON1_MASK |
65
- # Gdk::ModifierType::BUTTON2_MASK,
66
- # ar,
67
- # Gdk::DragAction::COPY |
68
- # Gdk::DragAction::MOVE)
69
- #
70
- # ar = target_widget.drag_array([ self.object_id.to_s, :same_app, 12_345])
71
- # target_widget.drag_dest_set(Gtk::DestDefaults::MOTION |
72
- # Gtk::DestDefaults::HIGHLIGHT,
73
- # ar,
74
- # Gdk::DragAction::COPY |
75
- # Gdk::DragAction::MOVE)
76
- #
77
- # if not @done
78
- # @done = true
79
- # self.signal_connect("drag_begin") do |widget, context|
80
- # @target_widgets.each { |widg| widg.dragged_widget = self }
81
- # end
82
- # end
83
- #
84
- # end
85
- #
86
- # end
87
- #
88
- #end
44
+
89
45
 
@@ -82,54 +82,51 @@
82
82
  # set_glade_variables() method.)
83
83
  module GladeGUI
84
84
 
85
- # @!attribute [rw] builder
86
- # @return [Gtk::Builder] The builder that holds references to everything in the glade form.
85
+ # @!attribute [rw] builder
86
+ # @return [Gtk::Builder] The builder that holds references to everything in the glade form.
87
87
  attr_accessor :builder
88
88
 
89
- ##
90
- #
91
- # drag_to() will make it so you can drag-n-drop the source_widget onto the target widget.
92
- # You may pass a reference to a widget object, or a String that gives the name of the
93
- # widget on your glade form. So, it functions the same as this statement:
94
- #
95
- # widget_source.drag_to(widget_target)
96
- #
97
- # It also functions the same as this statement:
98
- #
99
- # @builder["widget_source"].drag_to(@builder["widget_target"])
100
- #
101
- #
102
-
103
- def set_drag_drop(hash)
104
- hash.each do |key,val|
105
- src = key.is_a?(Gtk::Widget) ? key : @builder[key]
106
- target = @builder[val]
107
- src.extend(VR::Draggable) unless src.is_a?(VR::Draggable)
108
- src.add_target_widget(target)
89
+ ##
90
+ #
91
+ # drag_to() will make it so you can drag-n-drop the source_widget onto the target widget.
92
+ # You may pass a reference to a widget object, or a String that gives the name of the
93
+ # widget on your glade form. So, it functions the same as this statement:
94
+ #
95
+ # widget_source.drag_to(widget_target)
96
+ #
97
+ # It also functions the same as this statement:
98
+ #
99
+ # @builder["widget_source"].drag_to(@builder["widget_target"])
100
+ def set_drag_drop(hash)
101
+ hash.each do |key,val|
102
+ src = key.is_a?(Gtk::Widget) ? key : @builder[key]
103
+ target = @builder[val]
104
+ src.extend(VR::Draggable) unless src.is_a?(VR::Draggable)
105
+ src.add_target_widget(target)
106
+ end
109
107
  end
110
- end
111
108
 
112
109
 
113
110
 
114
- ##
115
- # This will Load the glade form according to the naming convention:
116
- # MyClass.rb => MyClass.glade.
117
- # It will create a Gtk::Builder object from your glade file.
118
- # The Gtk::Builder object is stored in the instance variable, @builder.
119
- # You can get a reference to any of the widgets on the glade form by
120
- # using the @builder object:
121
- #
122
- # @example
123
- # widget = @builder["name"]
124
- #
125
- # Normally, you should give your widgets names of instance variables: i.e. @email
126
- # so they can be autoloaded when the glade form is shown using the #show_glade method. For example,
127
- # the value of the @email vaiable would be loaded into a Gtk:Entry named "email"
128
- # in your glade form. It saves you from having to do this:
129
- #
130
- # @example
131
- # @builder[:email].text = @email
132
- #
111
+ ##
112
+ # This will Load the glade form according to the naming convention:
113
+ # MyClass.rb => MyClass.glade.
114
+ # It will create a Gtk::Builder object from your glade file.
115
+ # The Gtk::Builder object is stored in the instance variable, @builder.
116
+ # You can get a reference to any of the widgets on the glade form by
117
+ # using the @builder object:
118
+ #
119
+ # @example
120
+ # widget = @builder["name"]
121
+ #
122
+ # Normally, you should give your widgets names of instance variables: i.e. @email
123
+ # so they can be autoloaded when the glade form is shown using the #show_glade method. For example,
124
+ # the value of the @email vaiable would be loaded into a Gtk:Entry named "email"
125
+ # in your glade form. It saves you from having to do this:
126
+ #
127
+ # @example
128
+ # @builder[:email].text = @email
129
+ #
133
130
  def load_glade()
134
131
  caller__FILE__ = my_class_file_path()
135
132
  file_name = File.join(File.split(caller__FILE__)[0] , "glade", class_name(self) + ".glade")
@@ -214,28 +211,7 @@ end
214
211
  get_glade_variables(obj)
215
212
  end
216
213
 
217
- # Populates the glade form from the fields of an ActiveRecord object.
218
- # So instead of having to assign each widget a value:
219
- # @example
220
- # @builder["name"].text = @name
221
- # @builder["address"].text = @address
222
- # @builder["email"].text = @eamil
223
- # @builder["phone"].text = @phone
224
- #
225
- # You can write one line of code:
226
- # @example
227
- # set_glade_active_record()
228
- #
229
- # The optional parameter is seldom used because you usually want the
230
- # glade form to populate from the calling class. If you passed another object,
231
- # the form would populate from it.
232
- #
233
- # @param [ActiveRecord::Base] obj Any activerecod base object.
234
- # @return none
235
- def set_glade_active_record(obj = self)
236
- return if not defined? @attributes
237
- obj.attributes.each_pair { |key, val| fill_control(class_name(obj) + "." + key, val) }
238
- end
214
+
239
215
 
240
216
  # Matches names in glade form to keys in a Hash.
241
217
  # @param [Hash] hash The hash with keys that match the names in the glade form.
@@ -283,7 +259,8 @@ end
283
259
 
284
260
  # @private
285
261
  def fill_control(glade_name, val)
286
- control = @builder[glade_name]
262
+ control = @builder[glade_name]
263
+ control ||= @builder[glade_name.split(".")[1].to_s] # strip class name if there
287
264
  return unless control
288
265
  case control # order matters-- subclasses?
289
266
  when Gtk::Window then control.title = val
@@ -365,13 +342,14 @@ end
365
342
 
366
343
  # @private
367
344
  def get_control_value(glade_name, obj = self)
368
- return unless control = obj.builder[glade_name]
345
+ control = @builder[glade_name]
346
+ return unless control ||= @builder[class_name(obj) + "." + glade_name]
369
347
  case control
370
348
  when Gtk::CheckButton, Gtk::ToggleButton then control.active?
371
349
  when Gtk::Entry then control.text
372
350
  when Gtk::TextView then control.buffer.text
373
351
  when Gtk::FontButton then control.font_name
374
- when Gtk::ColorButton then control.color.to_s[0..2] + control.color.to_s[5..6] + control.color.to_s[9..10]
352
+ when Gtk::ColorButton then control.color.to_s[0..2] + control.color.to_s[5..6] + control.color.to_s[9..10]
375
353
  when Gtk::Label, Gtk::Button then control.label
376
354
  when Gtk::SpinButton, Gtk::Adjustment then control.value
377
355
  when Gtk::Image then control.file
@@ -381,25 +359,6 @@ end
381
359
  end
382
360
  end
383
361
 
384
- def get_glade_active_record(obj)
385
- return if not defined? @attributes
386
- obj.attributes.each_pair do |key, val|
387
- control = @builder[class_name(obj) + "." + key]
388
- control ||= @builder[key]
389
- case control
390
- when Gtk::CheckButton then self.send("#{key}=", control.active?)
391
- when Gtk::Entry then self.send("#{key}=", control.text)
392
- when Gtk::TextView then self.send("#{key}=", control.buffer.text)
393
- when Gtk::FontButton then self.send("#{key}=", control.font_name)
394
- when Gtk::Label, Gtk::Button then self.send("#{key}=", control.label)
395
- when Gtk::SpinButton then self.send("#{key}=", control.value)
396
- when Gtk::Image then self.send("#{key}=", control.file)
397
- when Gtk::ProgressBar then self.send("#{key}=", control.fraction)
398
- when Gtk::Calendar then self.send("#{key}=", DateTime.new(*control.date))
399
- when Gtk::Adjustment then self.send("#{key}=", control.value)
400
- end
401
- end
402
- end
403
362
 
404
363
  # @private
405
364
  def self.included(obj)
@@ -461,18 +420,36 @@ end
461
420
  widget.builder_name[/\[.+?\]/]
462
421
  end
463
422
 
464
-
465
- #
466
- # private def active_record_valid?(show_errors = true)
467
- # get_glade_all
468
- # if not self.valid?
469
- # alset(self.errors.full_messages.join("\n\n")) if show_errors
470
- # self.reload
471
- # return false
472
- # end
473
- # return true
474
- # end
475
-
423
+ # Populates the glade form from the fields of an ActiveRecord object.
424
+ # So instead of having to assign each widget a value:
425
+ # @example
426
+ # @builder["name"].text = @name
427
+ # @builder["address"].text = @address
428
+ # @builder["email"].text = @eamil
429
+ # @builder["phone"].text = @phone
430
+ #
431
+ # You can write one line of code:
432
+ # @example
433
+ # set_glade_active_record()
434
+ #
435
+ # The optional parameter is seldom used because you usually want the
436
+ # glade form to populate from the calling class. If you passed another object,
437
+ # the form would populate from it.
438
+ #
439
+ # @param [ActiveRecord::Base] obj Any activerecod base object.
440
+ # @return none
441
+ def set_glade_active_record(obj = self)
442
+ return if not defined? obj.attributes
443
+ obj.attributes.each_pair { |key, val| fill_control(class_name(obj) + "." + key, val) }
444
+ end
445
+
446
+ def get_glade_active_record(obj)
447
+ return if not defined? obj.attributes
448
+ obj.attributes.each_pair do |key, val|
449
+ new_val = get_control_value(key, obj)
450
+ obj.send("#{key}=", new_val) unless new_val.nil?
451
+ end
452
+ end
476
453
 
477
454
  end
478
455
 
@@ -483,4 +460,7 @@ def clear_events()
483
460
  Gtk.main_iteration
484
461
  end
485
462
  end
486
-
463
+
464
+
465
+
466
+
@@ -28,6 +28,7 @@ module VR
28
28
  # make another copy of the yaml file.
29
29
  def self.save_yaml(obj, file_name = nil)
30
30
  file_name ||= obj.instance_variable_get(:@vr_yaml_file)
31
+ @vr_yaml_file = file_name
31
32
  dir = File.dirname(file_name)
32
33
  unless File.directory?(dir)
33
34
  FileUtils.mkdir_p(dir)
@@ -21,15 +21,19 @@ module VR
21
21
  @root = File.expand_path(root)
22
22
  @glob = glob
23
23
  @validate_block = validate_block
24
- super(:file => {:pix => Gdk::Pixbuf, :file_name => String}, :empty => TrueClass,
24
+ super(:file => {:pix => GdkPixbuf::Pixbuf, :file_name => String}, :empty => TrueClass,
25
25
  :path => String, :sort_on => String)
26
26
  col_visible( :path => false, :sort_on => false, :empty => false)
27
27
  self.headers_visible = false
28
28
  @icons = File.directory?(icon_path) ? IconHash.new(icon_path) : nil
29
- parse_signals() #fix this! Subclasses may call twice!
29
+ # parse_signals() #fix this! Subclasses may call twice!
30
30
  model.set_sort_column_id(id(:sort_on), :ascending )
31
31
  self.set_enable_search(false)
32
32
  refresh
33
+ self.signal_connect("row_expanded") { |view, iter, path|
34
+ iter = model.get_iter(path) # bug fix
35
+ fill_folder(iter) if iter[id(:empty)]
36
+ }
33
37
  self.visible = true # necessary!
34
38
  end
35
39
 
@@ -54,15 +58,17 @@ module VR
54
58
  files = files.select &@validate_block if @validate_block
55
59
  files.each do |fn|
56
60
  add_file(fn, parent_iter)
57
- end
61
+ end
62
+ expand_row(parent_iter.path, false)
58
63
  end
59
-
60
- #Ignore this, it is called when a folder is clicked, and expands the folder.
61
- def self__row_expanded(view, iter, path)
62
- iter = model.get_iter(path) #bug fix
63
- fill_folder(iter) if iter[id(:empty)]
64
- expand_row(iter.path, false)
65
- end
64
+
65
+ # Phased out. Don't want to use parse_signals() because user might call it twice causing two calls to method.
66
+ # #Ignore this, it is called when a folder is clicked, and expands the folder.
67
+ # def self__row_expanded(view, iter, path)
68
+ # iter = model.get_iter(path) #bug fix
69
+ # fill_folder(iter) if iter[id(:empty)]
70
+ # expand_row(iter.path, false)
71
+ # end
66
72
 
67
73
  # Expands or collapses the currently selected row
68
74
  def expand_or_collapse_folder()
@@ -70,7 +76,7 @@ module VR
70
76
  if row_expanded?(row.path)
71
77
  collapse_row(row.path)
72
78
  else
73
- self__row_expanded(self, row, row.path)
79
+ expand_row(row.path, false)
74
80
  end
75
81
  end
76
82
 
@@ -88,7 +94,9 @@ module VR
88
94
  def open_folders(folder_paths)
89
95
  model.each do |model, path, iter|
90
96
  if folder_paths.include?(iter[id(:path)])
91
- self__row_expanded(self, iter, path)
97
+ fill_folder(iter)
98
+ # expand_row(path, false)
99
+ # self__row_expanded(self, iter, path)
92
100
  end
93
101
  end
94
102
  end
@@ -142,7 +150,7 @@ module VR
142
150
  def initialize(path)
143
151
  Dir.glob(path + "/*.png").each do |f|
144
152
  ext = File.basename(f, ".png")
145
- self[ext] = Gdk::Pixbuf.new(f)
153
+ self[ext] = GdkPixbuf::Pixbuf.new(:file => f)
146
154
  end
147
155
  end
148
156
 
@@ -151,13 +159,9 @@ module VR
151
159
  self.has_key?(ext) ? self[ext] : self["unknown"]
152
160
  end
153
161
  end
154
-
155
-
162
+
156
163
  end
157
-
158
-
159
-
160
-
164
+
161
165
  end
162
166
 
163
167
 
@@ -11,7 +11,7 @@ module VR::Col
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 # ok to use gtk
14
+ if type == GdkPixbuf::Pixbuf # ok to use gtk
15
15
  r = Gtk::CellRendererPixbuf.new #(*a)
16
16
  self.pack_start( r, false )
17
17
  self.add_attribute( r, :pixbuf, model_col)
@@ -1,10 +1,10 @@
1
1
 
2
2
  class GemTree < VR::ListView
3
3
 
4
- RUBY_ICON = Gdk::Pixbuf.new(File.dirname(__FILE__) + '/../../img/rb.png')
4
+ RUBY_ICON = GdkPixbuf::Pixbuf.new(:file => File.dirname(__FILE__) + '/../../img/rb.png')
5
5
 
6
6
  def initialize()
7
- hash = {:gems => {:pix => Gdk::Pixbuf, :gem => String}}
7
+ hash = {:gems => {:pix => GdkPixbuf::Pixbuf, :gem => String}}
8
8
  super(hash)
9
9
  self.headers_visible = false
10
10
  @api = RubygemsAPI.new
@@ -7,7 +7,8 @@ class VR_File_Tree < VR::FileTreeView
7
7
  super(Dir.pwd,icon_path)
8
8
  @main = main
9
9
  @api = RubygemsAPI.new
10
- load_glade() # loads menus
10
+ load_glade() # loads menus
11
+ parse_signals()
11
12
  end
12
13
 
13
14
  def self__row_activated(*args)
data/vr CHANGED
@@ -28,6 +28,7 @@ $root = File.dirname(__FILE__)
28
28
  img = Gtk::Image.new(file: File.join($root, "img", "splash.png"))
29
29
  img.visible = true
30
30
  @splash.add(img)
31
+ @splash.position = :center_always
31
32
  @splash.show_all
32
33
  @splash.position = :center_always
33
34
 
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.22
4
+ version: 3.0.23
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-07-15 00:00:00.000000000 Z
12
+ date: 2016-09-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gtk3