visualruby 3.4.13 → 3.6.2

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
  SHA256:
3
- metadata.gz: f95705dc2aecf23114fdf730117d296481b150c7f83d7b22b8796b582e75c72f
4
- data.tar.gz: 75c6f169ffcd651e9e22d6c6a6e8b686dc5d9f1e7d07fbddd93fad709a60afed
3
+ metadata.gz: 3c57043153d4d8593b9731e6f4723caf9f8204d95c11caff0ddfa9dfe3264cdf
4
+ data.tar.gz: 127d48e3eb22f788ad8dc1d12b9b0b0114362ef01fcb180069e5f188c473f084
5
5
  SHA512:
6
- metadata.gz: 53d94fd2716a4951a8c4e04ae26e22a9032d4dcb17a58a4a285a5dd9b88b4262f18838390e4d83ac8bfae3032896f376e9ebb3000146da5d421e5760a411face
7
- data.tar.gz: 71e4b1429c11392c8e83b34817cd6b0929038cc328482addd3859b0cb85702ca831fe04011f1abbb9f5aa024298f3c8f7d0ef4bd09d3f09615c4639fba91f847
6
+ metadata.gz: d6669fe6375b6be283bc39a042d231e811c7d9121edebab47ed26ca8ef20911197bae042d56808229142dceeb269126e6417a37c64558787c62ee8a7da704041
7
+ data.tar.gz: 531aaea75548e52c4b51c27cef2f548f58ee296f950e650c76bbcce88fd73b76c41fa89ebd5e58de50f191230086e141dc856284b4a175f315b84890a6be244b
data/.vr_settings.yaml CHANGED
@@ -1,31 +1,12 @@
1
1
  --- !ruby/object:VR_ENV
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/.vr_settings.yaml"
3
- width: 1086
4
- height: 691
5
- panel_pos: 300
6
- notebook_panel_position: 472
7
- run_command_line: ruby vr
8
- open_files:
9
- - "/home/eric/vrp/vr3/lib/treeview/ListView.rb"
10
- - "/home/eric/vrp/vr3/vr.gemspec"
11
- - "/home/eric/vrp/vr3/src/version.rb"
12
- - "/home/eric/vrp/vr3/vr"
13
- - "/home/eric/vrp/vr3/lib/oinspect/MethodsListView.rb"
14
- - "/home/eric/vrp/vr3/lib/treeview/ViewCommon.rb"
15
- - "/home/eric/vrp/vr3/lib/treeview/FileTreeView.rb"
16
- - "/home/eric/vrp/vr3/src/editor/VR_Document.rb"
17
- - "/home/eric/vrp/vr3/src/main/VR_Main.rb"
18
- open_folders:
19
- - "/home/eric/vrp/vr3"
20
- - "/home/eric/vrp/vr3/lib"
21
- - "/home/eric/vrp/vr3/lib/treeview"
22
- - "/home/eric/vrp/vr3/skeleton"
23
- - "/home/eric/vrp/vr3/skeleton/document"
24
- - "/home/eric/vrp/vr3/src"
25
- - "/home/eric/vrp/vr3/src/editor"
26
- - "/home/eric/vrp/vr3/src/main"
27
- current_file: "/home/eric/vrp/vr3/vr"
28
- current_line: 29
29
- rdoc_command_line: yardoc lib - site/*.*
30
- builder: !ruby/object:Gtk::Builder {}
31
- top_level_window: false
3
+ width: 800
4
+ height: 600
5
+ panel_pos: 360
6
+ notebook_panel_position: 400
7
+ run_command_line: ruby main.rb
8
+ open_files: []
9
+ open_folders: []
10
+ current_file: ''
11
+ current_line: 1
12
+ rdoc_command_line: rdoc -x README
@@ -1,28 +1,28 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Generated with glade 3.16.1 -->
2
+ <!-- Generated with glade 3.40.0 -->
3
3
  <interface>
4
4
  <requires lib="gtk+" version="3.0"/>
5
5
  <object class="GtkWindow" id="window1">
6
- <property name="can_focus">False</property>
6
+ <property name="can-focus">False</property>
7
7
  <property name="title" translatable="yes">Active Record Demo</property>
8
- <property name="window_position">center</property>
9
- <property name="default_width">450</property>
10
- <property name="default_height">300</property>
8
+ <property name="window-position">center</property>
9
+ <property name="default-width">450</property>
10
+ <property name="default-height">300</property>
11
11
  <child>
12
12
  <object class="GtkBox" id="box1">
13
13
  <property name="visible">True</property>
14
- <property name="can_focus">False</property>
15
- <property name="margin_left">20</property>
16
- <property name="margin_right">20</property>
17
- <property name="margin_top">20</property>
18
- <property name="margin_bottom">20</property>
14
+ <property name="can-focus">False</property>
15
+ <property name="margin-left">20</property>
16
+ <property name="margin-right">20</property>
17
+ <property name="margin-top">20</property>
18
+ <property name="margin-bottom">20</property>
19
19
  <property name="orientation">vertical</property>
20
20
  <child>
21
21
  <object class="GtkLabel" id="label1">
22
22
  <property name="visible">True</property>
23
- <property name="can_focus">False</property>
23
+ <property name="can-focus">False</property>
24
24
  <property name="label" translatable="yes">&lt;big&gt;&lt;big&gt;Choose Person:&lt;/big&gt;&lt;/big&gt;</property>
25
- <property name="use_markup">True</property>
25
+ <property name="use-markup">True</property>
26
26
  </object>
27
27
  <packing>
28
28
  <property name="expand">False</property>
@@ -33,7 +33,7 @@
33
33
  <child>
34
34
  <object class="GtkScrolledWindow" id="scrolledwindow1">
35
35
  <property name="visible">True</property>
36
- <property name="can_focus">True</property>
36
+ <property name="can-focus">True</property>
37
37
  <child>
38
38
  <placeholder/>
39
39
  </child>
@@ -47,15 +47,15 @@
47
47
  <child>
48
48
  <object class="GtkButtonBox" id="buttonbox1">
49
49
  <property name="visible">True</property>
50
- <property name="can_focus">False</property>
50
+ <property name="can-focus">False</property>
51
51
  <property name="spacing">10</property>
52
- <property name="layout_style">end</property>
52
+ <property name="layout-style">end</property>
53
53
  <child>
54
54
  <object class="GtkButton" id="buttonCancel">
55
55
  <property name="label" translatable="yes">Cancel</property>
56
56
  <property name="visible">True</property>
57
- <property name="can_focus">True</property>
58
- <property name="receives_default">True</property>
57
+ <property name="can-focus">True</property>
58
+ <property name="receives-default">True</property>
59
59
  </object>
60
60
  <packing>
61
61
  <property name="expand">False</property>
@@ -67,8 +67,8 @@
67
67
  <object class="GtkButton" id="buttonShow">
68
68
  <property name="label" translatable="yes">Show</property>
69
69
  <property name="visible">True</property>
70
- <property name="can_focus">True</property>
71
- <property name="receives_default">True</property>
70
+ <property name="can-focus">True</property>
71
+ <property name="receives-default">True</property>
72
72
  </object>
73
73
  <packing>
74
74
  <property name="expand">False</property>
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:VR_ENV
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/examples/filetreeview/.vr_settings.yaml"
3
- width: 1337
4
- height: 691
3
+ width: 1301
4
+ height: 744
5
5
  panel_pos: 490
6
6
  notebook_panel_position: 400
7
7
  run_command_line: ruby main.rb
@@ -14,8 +14,8 @@ open_folders:
14
14
  - "/home/eric/vrp/vr3/examples/filetreeview/bin"
15
15
  - "/home/eric/vrp/vr3/examples/filetreeview/bin/glade"
16
16
  - "/home/eric/vrp/vr3/examples/filetreeview/img"
17
- current_file: "/home/eric/vrp/vr3/examples/filetreeview/main.rb"
18
- current_line: 12
17
+ current_file: "/home/eric/vrp/vr3/examples/filetreeview/bin/ProjectTree.rb"
18
+ current_line: 15
19
19
  rdoc_command_line: rdoc -x README
20
20
  settings_file_version: 1
21
21
  filename: ".vr_settings.yaml"
@@ -12,7 +12,7 @@
12
12
  # For example, 'rb.png' will display next to files with a '.rb' extension.
13
13
 
14
14
 
15
- class ProjectTree < VR::FileTreeView #(change name)
15
+ class ProjectTree < VR::FileTreeView
16
16
 
17
17
  attr_accessor :ftv
18
18
 
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:VR_ENV
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/examples/listview/.vr_settings.yaml"
3
- width: 1251
4
- height: 691
3
+ width: 1301
4
+ height: 744
5
5
  panel_pos: 322
6
6
  notebook_panel_position: 437
7
7
  run_command_line: ruby main.rb
@@ -12,7 +12,8 @@ open_files:
12
12
  open_folders:
13
13
  - "/home/eric/vrp/vr3/examples/listview"
14
14
  - "/home/eric/vrp/vr3/examples/listview/bin"
15
+ - "/home/eric/vrp/vr3/examples/listview/bin/glade"
15
16
  current_file: "/home/eric/vrp/vr3/examples/listview/bin/SongListViewGUI.rb"
16
- current_line: 42
17
+ current_line: 19
17
18
  rdoc_command_line: rdoc -x README
18
19
  filename: ".vr_settings.yaml"
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:VR_ENV
2
2
  vr_yaml_file: "/home/eric/vrp/vr3/examples/settings_file/.vr_settings.yaml"
3
- width: 1034
4
- height: 600
3
+ width: 1301
4
+ height: 744
5
5
  panel_pos: 360
6
6
  notebook_panel_position: 400
7
7
  run_command_line: ruby main.rb
@@ -13,6 +13,6 @@ open_folders:
13
13
  - "/home/eric/vrp/vr3/examples/settings_file"
14
14
  - "/home/eric/vrp/vr3/examples/settings_file/bin"
15
15
  - "/home/eric/vrp/vr3/examples/settings_file/bin/glade"
16
- current_file: "/home/eric/vrp/vr3/examples/settings_file/bin/SavableSettings.rb"
17
- current_line: 39
16
+ current_file: "/home/eric/vrp/vr3/examples/settings_file/bin/MainApp.rb"
17
+ current_line: 26
18
18
  rdoc_command_line: rdoc -x README
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:SavableSettings
2
2
  height: 414
3
- width: 350
4
- title: Savable Settings Demo
3
+ width: 533
4
+ title: Savable Settings Demo x
5
5
  text: |-
6
6
  Try running this program multiple times.
7
7
 
@@ -11,3 +11,5 @@ text: |-
11
11
 
12
12
  You may need to click the 'Refresh' to see the settings.yaml file.
13
13
  vr_yaml_file: "/home/eric/vrp/vr3/examples/settings_file/settings.yaml"
14
+ builder: !ruby/object:Gtk::Builder {}
15
+ top_level_window: false
@@ -1,7 +1,9 @@
1
1
  --- !ruby/object:VR_ENV
2
- width: 984
3
- height: 711
2
+ vr_yaml_file: "/home/eric/vrp/vr3/examples/treeview/.vr_settings.yaml"
3
+ width: 1301
4
+ height: 744
4
5
  panel_pos: 491
6
+ notebook_panel_position: 400
5
7
  run_command_line: ruby main.rb
6
8
  open_files:
7
9
  - "/home/eric/vrp/vr3/examples/treeview/main.rb"
@@ -9,9 +11,7 @@ open_files:
9
11
  open_folders:
10
12
  - "/home/eric/vrp/vr3/examples/treeview"
11
13
  - "/home/eric/vrp/vr3/examples/treeview/bin"
12
- current_file: "/home/eric/vrp/vr3/examples/treeview/main.rb"
14
+ current_file: "/home/eric/vrp/vr3/examples/treeview/bin/MyClass.rb"
15
+ current_line: 1
13
16
  rdoc_command_line: rdoc -x README
14
- vr_yaml_file: ".vr_settings.yaml"
15
- notebook_panel_position: 400
16
- current_line: 14
17
17
  settings_file_version: 1
data/lib/GladeGUI.rb CHANGED
@@ -1,143 +1,144 @@
1
-
2
- # GladeGUI connects your class to a glade form.
3
- # It will load a .glade
4
- # file into memory, enabling your ruby programs to have a GUI interface.
5
- #
6
- # GladeGUI works by adding an instance variable named "builder" to your class. The "builder"
7
- # variable is an instance of {Gtk::Builder}[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3ABuilder]
8
- # It holds references to all your windows and widgets.
9
- #
10
- # ==Include the GladeGUI interface
11
- #
1
+
2
+ # GladeGUI connects your class to a glade form.
3
+ # It will load a .glade
4
+ # file into memory, enabling your ruby programs to have a GUI interface.
5
+ #
6
+ # GladeGUI works by adding an instance variable named "builder" to your class. The "builder"
7
+ # variable is an instance of {Gtk::Builder}[http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3ABuilder]
8
+ # It holds references to all your windows and widgets.
9
+ #
10
+ # ==Include the GladeGUI interface
11
+ #
12
12
  # To use the GladeGUI interface, include this line in your code:
13
13
  #
14
14
  # class MyClass
15
15
  # include GladeGUI
16
- # end
17
- #
18
- # GladeGUI will load a corresponding
19
- # glade file for this class. It knows which glade file to load by using a naming
20
- # convention:
21
- #
22
- # /folder/MyClass.rb
23
- #
24
- # Will load this glade file:
25
- #
26
- # /folder/glade/MyClass.glade
27
- #
28
- # The class, the class file name and the glade file name must match.
29
- # You should always name your class, script, and glade file
30
- # the same name (case sensitive).
31
- #
32
- # == <tt>builder</tt> variable holds all your widgets
33
- #
34
- # So when you "load" your class's glade file where is it loaded?
35
- #
36
- # GladeGUI adds an instance variable, builder to your class.
37
- # It loads all the windows and widgets from your glade file into @builder.
38
- # So, you use <tt>@builder</tt> to manipulate everything in you class's GUI.
39
- # <tt>@builder</tt> is set when you call the show_glade() method, as this code shows:
40
- #
41
- # class MyClass
42
- #
43
- # include GladeGUI
44
- #
45
- # def initialize()
46
- # puts @builder.to_s # => nil
47
- # end
48
- #
49
- # def before_show()
50
- # puts @builder.to_s # => Gtk::Builder
51
- # end
52
- #
53
- # end
54
- #
55
- # After show_glade() is called, you can access any of your form's windows or widgets
56
- # using the @builder variable:
57
- #
58
- # @builder["window1"].title = "This is the title that appears at the top."
59
- #
60
- #
61
- # Here's another example: Suppose you have a glade form with a Gtk::Entry box on it named "email."
62
- # You could set the text that appears in the Gtk::Entry by setting the Gtk::Entry#text property:
63
- #
64
- # @builder["email"].text = "harvey@harveyserver.com"
65
- #
66
- # Now the email adddess is set with a new value:
67
- #
68
- # http://visualruby.net/img/gladegui_simple.jpg
69
- #
70
- # == Auto fill your glade form
71
- # You can streamline the process of setting-up your forms by
72
- # auto-filling the widgets from instance variables with the same name.
73
- #
74
- # When assigning names to widgets in glade, give them names that
75
- # correspond to your instance variables. For example, if you want
76
- # to edit an email address on the glade form, create an instance
77
- # variable named @email in your class. Then, in glade, you
78
- # add a Gtk::Entry widget to your form and set its name to
79
- # “email”. The advantage of this is that GladeGUI will populate
80
- # the “email” widget in glade using the @email variable. so
81
- # you don’t need to include the above line of code. (see
82
- # set_glade_variables() method.)
83
- module GladeGUI
84
-
85
- # @!attribute [rw] builder
16
+ # end
17
+ #
18
+ # GladeGUI will load a corresponding
19
+ # glade file for this class. It knows which glade file to load by using a naming
20
+ # convention:
21
+ #
22
+ # /folder/MyClass.rb
23
+ #
24
+ # Will load this glade file:
25
+ #
26
+ # /folder/glade/MyClass.glade
27
+ #
28
+ # The class, the class file name and the glade file name must match.
29
+ # You should always name your class, script, and glade file
30
+ # the same name (case sensitive).
31
+ #
32
+ # == <tt>builder</tt> variable holds all your widgets
33
+ #
34
+ # So when you "load" your class's glade file where is it loaded?
35
+ #
36
+ # GladeGUI adds an instance variable, builder to your class.
37
+ # It loads all the windows and widgets from your glade file into @builder.
38
+ # So, you use <tt>@builder</tt> to manipulate everything in you class's GUI.
39
+ # <tt>@builder</tt> is set when you call the show_glade() method, as this code shows:
40
+ #
41
+ # class MyClass
42
+ #
43
+ # include GladeGUI
44
+ #
45
+ # def initialize()
46
+ # puts @builder.to_s # => nil
47
+ # end
48
+ #
49
+ # def before_show()
50
+ # puts @builder.to_s # => Gtk::Builder
51
+ # end
52
+ #
53
+ # end
54
+ #
55
+ # After show_glade() is called, you can access any of your form's windows or widgets
56
+ # using the @builder variable:
57
+ #
58
+ # @builder["window1"].title = "This is the title that appears at the top."
59
+ #
60
+ #
61
+ # Here's another example: Suppose you have a glade form with a Gtk::Entry box on it named "email."
62
+ # You could set the text that appears in the Gtk::Entry by setting the Gtk::Entry#text property:
63
+ #
64
+ # @builder["email"].text = "harvey@harveyserver.com"
65
+ #
66
+ # Now the email adddess is set with a new value:
67
+ #
68
+ # http://visualruby.net/img/gladegui_simple.jpg
69
+ #
70
+ # == Auto fill your glade form
71
+ # You can streamline the process of setting-up your forms by
72
+ # auto-filling the widgets from instance variables with the same name.
73
+ #
74
+ # When assigning names to widgets in glade, give them names that
75
+ # correspond to your instance variables. For example, if you want
76
+ # to edit an email address on the glade form, create an instance
77
+ # variable named @email in your class. Then, in glade, you
78
+ # add a Gtk::Entry widget to your form and set its name to
79
+ # “email”. The advantage of this is that GladeGUI will populate
80
+ # the “email” widget in glade using the @email variable. so
81
+ # you don’t need to include the above line of code. (see
82
+ # set_glade_variables() method.)
83
+ module GladeGUI
84
+
85
+ # @!attribute [rw] builder
86
86
  # @return [Gtk::Builder] The builder that holds references to everything in the glade form.
87
87
  attr_accessor :builder
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
- 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
107
- end
108
-
109
-
110
-
111
- ##
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
+ 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
107
+ end
108
+
109
+
110
+
111
+ ##
112
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:
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
118
  #
119
- # @example
120
- # widget = @builder["name"]
121
- #
122
- # Normally, you should give your widgets names of instance variables: i.e. @email
119
+ # @example
120
+ # widget = @builder["name"]
121
+ #
122
+ # Normally, you should give your widgets names of instance variables: i.e. @email
123
123
  # so they can be autoloaded when the glade form is shown using the #show_glade method. For example,
124
124
  # the value of the @email vaiable would be loaded into a Gtk:Entry named "email"
125
125
  # in your glade form. It saves you from having to do this:
126
126
  #
127
127
  # @example
128
- # @builder[:email].text = @email
129
- #
130
- def load_glade()
131
- caller__FILE__ = my_class_file_path()
132
- file_name = File.join(File.split(caller__FILE__)[0] , "glade", class_name(self) + ".glade")
133
- @builder = Gtk::Builder.new
134
- @builder << file_name
135
- @builder.connect_signals{ |handle| method(handle) }
136
- end
137
-
138
- private def class_name(obj)
139
- /.*\b(\w+)$/.match(obj.class.name)[1]
140
- end
128
+ # @builder[:email].text = @email
129
+ #
130
+ def load_glade()
131
+ caller__FILE__ = my_class_file_path()
132
+ puts "PATH PROBLEM: " + caller__FILE__
133
+ file_name = File.join(File.split(caller__FILE__)[0] , "glade", class_name(self) + ".glade")
134
+ @builder = Gtk::Builder.new
135
+ @builder << file_name
136
+ @builder.connect_signals{ |handle| method(handle) }
137
+ end
138
+
139
+ private def class_name(obj)
140
+ /.*\b(\w+)$/.match(obj.class.name)[1]
141
+ end
141
142
 
142
143
  # Connects gtk's signals to your methods according to the naming convention widget__signal. For example,
143
144
  # when you place a button called "button1" in your glade form, and declare a method called
@@ -150,27 +151,27 @@ module GladeGUI
150
151
  # self__row_activated(*args)
151
152
  # instance_variable__key_press_event(*args)
152
153
  #
153
- # Remember that it will enforce the naming convention: name__signal (two underscores).
154
- def parse_signals()
155
- meths = self.class.instance_methods()
154
+ # Remember that it will enforce the naming convention: name__signal (two underscores).
155
+ def parse_signals()
156
+ meths = self.class.instance_methods()
156
157
  meths.each do |meth|
157
- meth = meth.to_s #bug fix ruby 1.9 gives stmbol
158
- glade_name, signal_name = *(meth.split("__"))
159
- next if (signal_name.to_s == "" or glade_name.to_s == "") #covers nil
160
- if @builder
161
- @builder.objects.each do |obj|
162
- next unless obj.respond_to?(:builder_name)
163
- if obj.builder_name == glade_name or obj.builder_name =~ /^(?:#{class_name(self)}\.|)#{glade_name}\[[a-zA-Z\d_-]+\]$/ #arrays
164
- obj.signal_connect(signal_name) { |*args| method(meth.to_sym).call(*args) }
165
- end
166
- end
167
- end
168
- obj = glade_name == "self" ? self : self.instance_variable_get("@" + glade_name)
158
+ meth = meth.to_s #bug fix ruby 1.9 gives stmbol
159
+ glade_name, signal_name = *(meth.split("__"))
160
+ next if (signal_name.to_s == "" or glade_name.to_s == "") #covers nil
161
+ if @builder
162
+ @builder.objects.each do |obj|
163
+ next unless obj.respond_to?(:builder_name)
164
+ if obj.builder_name == glade_name or obj.builder_name =~ /^(?:#{class_name(self)}\.|)#{glade_name}\[[a-zA-Z\d_-]+\]$/ #arrays
165
+ obj.signal_connect(signal_name) { |*args| method(meth.to_sym).call(*args) }
166
+ end
167
+ end
168
+ end
169
+ obj = glade_name == "self" ? self : self.instance_variable_get("@" + glade_name)
169
170
  obj ||= eval(glade_name) if respond_to?(glade_name) and method(glade_name.to_sym).arity == 0 # no arguments!
170
- if obj.respond_to?("signal_connect")
171
+ if obj.respond_to?("signal_connect")
171
172
  obj.signal_connect(signal_name) { |*args| method(meth.to_sym).call(*args) }
172
- end
173
- end
173
+ end
174
+ end
174
175
  end
175
176
 
176
177
  # parses instance variables added in before_show
@@ -184,101 +185,101 @@ module GladeGUI
184
185
  # end
185
186
  # end
186
187
  # end
187
-
188
- # This method is the most useful method to populate a glade form. It will
189
- # populate from active_record fields and instance variables. It will simply
190
- # call both of these methods:
191
- #
192
- # set_glade_active_record()
193
- # set_glade_variables()
194
- #
195
- # So, to set all the values of a form, simply call the set_glade_all() method instead.
196
- def set_glade_all(obj = self)
197
- set_glade_active_record(obj)
198
- set_glade_variables(obj)
199
- end
200
-
201
- # This method is the most useful method to retreive values from a glade form. It will
202
- # populate from active_record fields and instance variables. It will simply
203
- # call both of these methods:
204
- #
205
- # get_glade_active_record()
206
- # get_glade_variables()
207
- #
208
- # So, to retreive all the values of a form back into your ActiveRecord object and instance variables, simply call the set_glade_all() method instead.
209
- def get_glade_all(obj = self)
210
- get_glade_active_record(obj)
211
- get_glade_variables(obj)
212
- end
213
-
214
-
188
+
189
+ # This method is the most useful method to populate a glade form. It will
190
+ # populate from active_record fields and instance variables. It will simply
191
+ # call both of these methods:
192
+ #
193
+ # set_glade_active_record()
194
+ # set_glade_variables()
195
+ #
196
+ # So, to set all the values of a form, simply call the set_glade_all() method instead.
197
+ def set_glade_all(obj = self)
198
+ set_glade_active_record(obj)
199
+ set_glade_variables(obj)
200
+ end
201
+
202
+ # This method is the most useful method to retreive values from a glade form. It will
203
+ # populate from active_record fields and instance variables. It will simply
204
+ # call both of these methods:
205
+ #
206
+ # get_glade_active_record()
207
+ # get_glade_variables()
208
+ #
209
+ # So, to retreive all the values of a form back into your ActiveRecord object and instance variables, simply call the set_glade_all() method instead.
210
+ def get_glade_all(obj = self)
211
+ get_glade_active_record(obj)
212
+ get_glade_variables(obj)
213
+ end
214
+
215
+
215
216
 
216
217
  # Matches names in glade form to keys in a Hash.
217
- # @param [Hash] hash The hash with keys that match the names in the glade form.
218
- def set_glade_hash(hash)
219
- return unless hash.is_a?(Hash)
220
- hash.each { |key,val| fill_control( key.to_s, val.to_s) }
221
- end
222
-
223
- # Populates the glade form from the instance variables of the class.
224
- # So instead of having to assign each widget a value:
225
- #
226
- # @builder["name"].text = @name
227
- # @builder["address"].text = @address
228
- # @builder["email"].text = @eamil
229
- # @builder["phone"].text = @phone
230
- #
231
- # you can write one line of code:
232
- #
233
- # set_glade_variables()
234
- #
235
- # The optional parameter is seldom used because you usually want the
236
- # glade form to populate from the calling class. If you passed another object,
237
- # the form would populate from it.
238
- #
239
- # obj - type Object
240
- #
241
- def set_glade_variables(obj = self)
242
- obj.instance_variables.each do |name|
243
- name = name.to_s #ruby 1.9 passes symbol!
218
+ # @param [Hash] hash The hash with keys that match the names in the glade form.
219
+ def set_glade_hash(hash)
220
+ return unless hash.is_a?(Hash)
221
+ hash.each { |key,val| fill_control( key.to_s, val.to_s) }
222
+ end
223
+
224
+ # Populates the glade form from the instance variables of the class.
225
+ # So instead of having to assign each widget a value:
226
+ #
227
+ # @builder["name"].text = @name
228
+ # @builder["address"].text = @address
229
+ # @builder["email"].text = @eamil
230
+ # @builder["phone"].text = @phone
231
+ #
232
+ # you can write one line of code:
233
+ #
234
+ # set_glade_variables()
235
+ #
236
+ # The optional parameter is seldom used because you usually want the
237
+ # glade form to populate from the calling class. If you passed another object,
238
+ # the form would populate from it.
239
+ #
240
+ # obj - type Object
241
+ #
242
+ def set_glade_variables(obj = self)
243
+ obj.instance_variables.each do |name|
244
+ name = name.to_s #ruby 1.9 passes symbol!
244
245
  v = obj.instance_variable_get(name)
245
- name = name.gsub('@', '')
246
- if v.is_a?(Array)
247
- v.each_index do |i|
248
- fill_control("#{name}[#{i.to_s}]", v[i] )
246
+ name = name.gsub('@', '')
247
+ if v.is_a?(Array)
248
+ v.each_index do |i|
249
+ fill_control("#{name}[#{i.to_s}]", v[i] )
249
250
  end
250
251
  elsif v.is_a?(Hash)
251
252
  v.each_pair do |key, val|
252
253
  fill_control("#{name}[#{key.to_s}]", val)
253
- end
254
- else
255
- fill_control(name, v)
256
- end
257
- end
258
- end
259
-
260
- # @private
261
- def fill_control(glade_name, val)
254
+ end
255
+ else
256
+ fill_control(name, v)
257
+ end
258
+ end
259
+ end
260
+
261
+ # @private
262
+ def fill_control(glade_name, val)
262
263
  control = @builder[glade_name]
263
- control ||= @builder[glade_name.split(".")[1].to_s] # strip class name if there
264
- return unless control
265
- case control # order matters-- subclasses?
266
- when Gtk::Window then control.title = val
267
- when Gtk::CheckButton then control.active = val
268
- when Gtk::TextView then control.buffer.text = val.to_s
264
+ control ||= @builder[glade_name.split(".")[1].to_s] # strip class name if there
265
+ return unless control
266
+ case control # order matters-- subclasses?
267
+ when Gtk::Window then control.title = val
268
+ when Gtk::CheckButton then control.active = val
269
+ when Gtk::TextView then control.buffer.text = val.to_s
269
270
  when Gtk::Entry then control.text = val.to_s
270
- when Gtk::ColorButton then control.color = Gdk::Color.parse(val.to_s)
271
- when Gtk::FontButton then control.font_name = val.to_s
272
- when Gtk::LinkButton then control.uri = control.label = val.to_s
273
- when Gtk::Label, Gtk::Button then control.label = val.to_s
274
- when Gtk::Image then control.file = val.to_s
275
- when Gtk::SpinButton then control.value = val.to_f
276
- when Gtk::ProgressBar then control.fraction = val.to_f
277
- when Gtk::Calendar then control.select_month(val.month, val.year) ; control.select_day(val.day) ; control.mark_day(val.day)
278
- when Gtk::Adjustment then control.value = val.to_f
271
+ when Gtk::ColorButton then control.color = Gdk::Color.parse(val.to_s)
272
+ when Gtk::FontButton then control.font_name = val.to_s
273
+ when Gtk::LinkButton then control.uri = control.label = val.to_s
274
+ when Gtk::Label, Gtk::Button then control.label = val.to_s
275
+ when Gtk::Image then control.file = val.to_s
276
+ when Gtk::SpinButton then control.value = val.to_f
277
+ when Gtk::ProgressBar then control.fraction = val.to_f
278
+ when Gtk::Calendar then control.select_month(val.month, val.year) ; control.select_day(val.day) ; control.mark_day(val.day)
279
+ when Gtk::Adjustment then control.value = val.to_f
279
280
  when Gtk::ScrolledWindow, Gtk::Frame, Gtk::VBox, Gtk::HBox then control.add(val)
280
- when Gtk::ComboBoxText then try_to_select_text_in_combobox(control, val.to_s)
281
- end
281
+ when Gtk::ComboBoxText then try_to_select_text_in_combobox(control, val.to_s)
282
+ end
282
283
  end
283
284
 
284
285
  def try_to_select_text_in_combobox(cb, text)
@@ -292,32 +293,32 @@ module GladeGUI
292
293
  end
293
294
  end
294
295
 
295
-
296
- #
297
- # Populates your instance variables from the glade form.
298
- # This works for Gtk:Button, Gtk::Entry, Gtk::Label and Gtk::Checkbutton.
299
- # So instead of having to assign instance variable:
296
+
297
+ #
298
+ # Populates your instance variables from the glade form.
299
+ # This works for Gtk:Button, Gtk::Entry, Gtk::Label and Gtk::Checkbutton.
300
+ # So instead of having to assign instance variable:
300
301
  #
301
- # @example
302
- # @name = @builder["name"].text
303
- # @address = @builder["address"].text
304
- # @eamil = @builder["email"].text
305
- # @phone = @builder["phone"].text
306
- #
307
- # You can write one line of code:
302
+ # @example
303
+ # @name = @builder["name"].text
304
+ # @address = @builder["address"].text
305
+ # @eamil = @builder["email"].text
306
+ # @phone = @builder["phone"].text
307
+ #
308
+ # You can write one line of code:
308
309
  #
309
- # @example
310
- # get_glade_variables()
311
- #
312
- # The optional parameter is seldom used because you usually want the
313
- # glade form to populate from the calling class. If you passed another object,
314
- # the form would populate from it.
310
+ # @example
311
+ # get_glade_variables()
312
+ #
313
+ # The optional parameter is seldom used because you usually want the
314
+ # glade form to populate from the calling class. If you passed another object,
315
+ # the form would populate from it.
315
316
  # @param [Object] obj Any object with instance variables with same names as in galde form.
316
317
  # @return none
317
- def get_glade_variables(obj = self)
318
+ def get_glade_variables(obj = self)
318
319
  obj.instance_variables.each do |var_name|
319
320
  next if var_name == :@builder or var_name == :@top_level_window
320
- var = obj.instance_variable_get(var_name)
321
+ var = obj.instance_variable_get(var_name)
321
322
  var_name = var_name.to_s.gsub("@", "") #fix for ruby 1.9 giving symbols
322
323
  if var.is_a? Hash
323
324
  var.each_pair do |key, val|
@@ -337,65 +338,69 @@ module GladeGUI
337
338
  glade_value = get_control_value(var_name, obj)
338
339
  obj.instance_variable_set("@"+ var_name, glade_value) unless glade_value.nil?
339
340
  end
340
- end
341
- end
341
+ end
342
+ end
342
343
 
343
344
  # @private
344
345
  def get_control_value(glade_name, obj = self)
345
346
  control = @builder[glade_name]
346
347
  return unless control ||= @builder[class_name(obj) + "." + glade_name]
347
- case control
348
+ case control
348
349
  when Gtk::CheckButton, Gtk::ToggleButton then control.active?
349
- when Gtk::Entry then control.text
350
- when Gtk::TextView then control.buffer.text
350
+ when Gtk::Entry then control.text
351
+ when Gtk::TextView then control.buffer.text
351
352
  when Gtk::FontButton then control.font_name
352
- when Gtk::ColorButton then control.color.to_s[0..2] + control.color.to_s[5..6] + control.color.to_s[9..10]
353
- when Gtk::Label, Gtk::Button then control.label
354
- when Gtk::SpinButton, Gtk::Adjustment then control.value
355
- when Gtk::Image then control.file
356
- when Gtk::ProgressBar then control.fraction
353
+ when Gtk::ColorButton then control.color.to_s[0..2] + control.color.to_s[5..6] + control.color.to_s[9..10]
354
+ when Gtk::Label, Gtk::Button then control.label
355
+ when Gtk::SpinButton, Gtk::Adjustment then control.value
356
+ when Gtk::Image then control.file
357
+ when Gtk::ProgressBar then control.fraction
357
358
  when Gtk::Calendar then DateTime.new(*control.date)
358
- when Gtk::ComboBoxText then control.active_text
359
+ when Gtk::ComboBoxText then control.active_text
359
360
  end
360
361
  end
361
-
362
-
363
- # @private
364
- def self.included(obj)
365
- temp = caller[0].split(":") #correct for windows C:\Users\george etc.
366
- caller_path_to_class_file, = temp[0].size == 1 ? temp[0] + ":" + temp[1] : temp[0]
367
- obj.class_eval do
368
- define_method :my_class_file_path do
369
- return caller_path_to_class_file
370
- end
371
- end
372
- end
373
-
374
-
375
-
376
- # The method you call to show the glade form.
362
+
363
+
364
+ # @private
365
+ def self.included(obj)
366
+ lines = caller.select {|line| line.to_s.include? "`<class:" }
367
+ puts "lines[0]:" + lines[0] + "<end>"
368
+ # caller.each {|a| puts a}
369
+ temp = lines[0].split(":") #correct for windows C:\Users\george etc.
370
+ caller_path_to_class_file = temp[0].size == 1 ? temp[0] + ":" + temp[1] : temp[0]
371
+ puts "Path_to_class_file: " + caller_path_to_class_file
372
+ obj.class_eval do
373
+ define_method :my_class_file_path do
374
+ return caller_path_to_class_file
375
+ end
376
+ end
377
+ end
378
+
379
+
380
+
381
+ # The method you call to show the glade form.
377
382
  # It loads the glade form, sets all the form's widgets to your instance variables,
378
383
  # connects all your methods to their signals, and starts Gtk.main loop if necessary.
379
384
  # @param [Object #builder] parent Optional parent that this window will always be on top of.
380
- # @return nothing.
381
- def show_glade(parent = nil)
382
- load_glade()
383
- if parent then
384
- @builder[:window1].transient_for = parent.builder[:window1]
385
- end
386
- before_show() if respond_to? :before_show
387
- parse_signals()
385
+ # @return nothing.
386
+ def show_glade(parent = nil)
387
+ load_glade()
388
+ if parent then
389
+ @builder[:window1].transient_for = parent.builder[:window1]
390
+ end
391
+ before_show() if respond_to? :before_show
392
+ parse_signals()
388
393
  set_glade_all()
389
394
  @builder[:window1].show #show_all can't hide widgets in before_show
390
- @top_level_window = Gtk.main_level == 0 ? true : false
391
- Gtk.main if @top_level_window or @builder[:window1].modal? # need new Gtk.main for blocking!
392
- end
395
+ @top_level_window = Gtk.main_level == 0 ? true : false
396
+ Gtk.main if @top_level_window or @builder[:window1].modal? # need new Gtk.main for blocking!
397
+ end
393
398
 
394
399
  # Called when window is destroyed when you execute: <tt>@builder[:window1].destroy</tt>
395
- # It manages the Gtk.main loop for all the windows.
396
- def window1__destroy(*args)
397
- Gtk.main_quit if @top_level_window or @builder["window1"].modal?
398
- end
400
+ # It manages the Gtk.main loop for all the windows.
401
+ def window1__destroy(*args)
402
+ Gtk.main_quit if @top_level_window or @builder["window1"].modal?
403
+ end
399
404
 
400
405
  # Convenience method so you can just make a button named "buttonCancel" and it will work. This
401
406
  # method isn't called in code, its triggered by a user clicking a button named "buttonCancel".
@@ -403,9 +408,9 @@ module GladeGUI
403
408
  @builder[:window1].destroy
404
409
  end
405
410
 
406
- def window1__key_press_event(view, evt)
407
- return unless evt.keyval == Gdk::Keyval::KEY_F8
408
- oinspect
411
+ def window1__key_press_event(view, evt)
412
+ return unless evt.keyval == Gdk::Keyval::KEY_F8
413
+ oinspect
409
414
  end
410
415
 
411
416
  # retrieves the key inside a glade control name. Useful when handling events where
@@ -420,38 +425,38 @@ module GladeGUI
420
425
  widget.builder_name.scan(/\[(.+?)\]/).flatten[0]
421
426
  end
422
427
 
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) }
428
+ # Populates the glade form from the fields of an ActiveRecord object.
429
+ # So instead of having to assign each widget a value:
430
+ # @example
431
+ # @builder["name"].text = @name
432
+ # @builder["address"].text = @address
433
+ # @builder["email"].text = @eamil
434
+ # @builder["phone"].text = @phone
435
+ #
436
+ # You can write one line of code:
437
+ # @example
438
+ # set_glade_active_record()
439
+ #
440
+ # The optional parameter is seldom used because you usually want the
441
+ # glade form to populate from the calling class. If you passed another object,
442
+ # the form would populate from it.
443
+ #
444
+ # @param [ActiveRecord::Base] obj Any activerecod base object.
445
+ # @return none
446
+ def set_glade_active_record(obj = self)
447
+ return if not defined? obj.attributes
448
+ obj.attributes.each_pair { |key, val| fill_control(class_name(obj) + "." + key, val) }
444
449
  end
445
-
446
- def get_glade_active_record(obj)
447
- return if not defined? obj.attributes
450
+
451
+ def get_glade_active_record(obj)
452
+ return if not defined? obj.attributes
448
453
  obj.attributes.each_pair do |key, val|
449
454
  new_val = get_control_value(key, obj)
450
- obj.send("#{key}=", new_val) unless new_val.nil?
451
- end
455
+ obj.send("#{key}=", new_val) unless new_val.nil?
456
+ end
452
457
  end
453
-
454
- end
458
+
459
+ end
455
460
 
456
461
 
457
462
  # Waits for all penting events to finish before continuing.
@@ -459,8 +464,8 @@ def clear_events()
459
464
  while (Gtk.events_pending?)
460
465
  Gtk.main_iteration
461
466
  end
462
- end
467
+ end
463
468
 
464
469
 
465
470
 
466
-
471
+
data/lib/SavableClass.rb CHANGED
@@ -10,7 +10,7 @@ module VR
10
10
  def self.load_yaml(klass, file_name, *args)
11
11
  me = nil
12
12
  if File.file?(file_name)
13
- me = YAML.load(File.open(file_name).read)
13
+ me = YAML.unsafe_load(File.open(file_name).read)
14
14
  else
15
15
  me = klass.new(*args)
16
16
  end
data/lib/vrlib.rb CHANGED
@@ -1,12 +1,42 @@
1
1
  require "gtk3"
2
- require "require_all"
3
2
  require "date"
4
3
  require "yaml"
5
4
  require "find"
6
5
  require "fileutils"
7
6
 
8
7
 
8
+ #tools go first
9
+ require_relative "GladeGUI"
10
+ require_relative "Alert"
11
+ require_relative "DragDrop"
12
+ require_relative "SavableClass"
13
+ require_relative "Tools"
14
+
15
+ require_relative "treeview/columns/BlobCol"
16
+ require_relative "treeview/columns/CalendarCol"
17
+ require_relative "treeview/columns/CellRendererCombo"
18
+ require_relative "treeview/columns/CellRendererObject"
19
+ require_relative "treeview/columns/CellRendererProgress"
20
+ require_relative "treeview/columns/CellRendererSpin"
21
+ require_relative "treeview/columns/CellRendererText"
22
+ require_relative "treeview/columns/CellRendererToggle"
23
+ require_relative "treeview/columns/ComboCol"
24
+ require_relative "treeview/columns/CurrencyCol"
25
+ require_relative "treeview/columns/ImageCol"
26
+ require_relative "treeview/columns/ProgressCol"
27
+ require_relative "treeview/columns/SpinCol"
28
+ require_relative "treeview/columns/TreeViewColumn"
29
+
30
+ require_relative "treeview/ViewCommon"
31
+ require_relative "treeview/IterMethods"
32
+ require_relative "treeview/TreeView"
33
+ require_relative "treeview/FileTreeView"
34
+ require_relative "treeview/ListView"
35
+
36
+ #then stuff that relies on tools
37
+ require_relative "oinspect/MethodsListView"
38
+ require_relative "oinspect/ObjectInspectorGUI"
39
+ require_relative "oinspect/VariablesListView"
40
+
9
41
 
10
- require_rel '/'
11
- require_rel 'treeview'
12
42
 
@@ -39,16 +39,18 @@ class OpenProject
39
39
  return unless row = @ftv.selected_rows.first
40
40
  return if row[:path] == Dir.pwd #can't delete current project
41
41
  if alert("Do you really want to delete \n<b>" + row[:path] + " </b>?",
42
- parent: self, headline: "Warning!", button_yes: "Delete", button_no: "Cancel", width: 400)
42
+ parent: self, headline: "Warning!", button_yes: "Delete", button_no: "Cancel", width: 400)
43
43
  FileUtils.remove_dir(row[:path], true)
44
- @ftv.refresh()
44
+ @ftv.refresh()
45
45
  end
46
46
  end
47
47
 
48
48
  def buttonOpen__clicked(*a)
49
49
  return unless row = @ftv.selected_rows.first
50
50
  test_file = File.join(row[:path], VR_ENV::SETTINGS_FILE)
51
+ puts "Looking for .vr_settings in: " + test_file
51
52
  if File.exists?(test_file)
53
+ puts "Opening: " + row[:path]
52
54
  @parent.proj_path = row[:path]
53
55
  buttonCancel__clicked
54
56
  else
data/src/version.rb CHANGED
@@ -1 +1 @@
1
- VERSION = "3.4.13"
1
+ VERSION = "3.6.2"
data/vr CHANGED
@@ -1,3 +1,5 @@
1
+ #!/ruby
2
+
1
3
  require "gtk3"
2
4
 
3
5
  def load_everything
@@ -12,16 +14,34 @@ def load_everything
12
14
  require "rubygems/package"
13
15
  require "rubygems/specification"
14
16
 
15
- require 'require_all'
17
+ require_relative 'lib/vrlib'
18
+
19
+ require_relative "src/version"
20
+
21
+ require_relative 'src/editor/VR_TextViewCommon'
22
+ require_relative "src/editor/VR_TextShell"
23
+ require_relative "src/editor/VR_TabSearch"
24
+ require_relative "src/editor/VR_Tabs"
25
+ require_relative "src/editor/VR_Document"
26
+
27
+
28
+ require_relative "src/main/GemTree"
29
+ require_relative "src/main/NewProjectGUI"
30
+ require_relative "src/main/OpenProject"
31
+ require_relative "src/main/ProjectTree"
32
+ require_relative "src/main/RubygemsAPI"
33
+ require_relative "src/main/VR_ENV_GLOBAL"
34
+ require_relative "src/main/VR_ENV"
35
+ require_relative "src/main/VR_File_Tree"
36
+ require_relative "src/main/VR_Local_Gem_Tree"
37
+ require_relative "src/main/VR_Main"
38
+ require_relative "src/main/VR_Remote_Gem_Tree"
39
+ require_relative "src/main/VR_Tools"
40
+
41
+
42
+ #require_rel 'src/main'
16
43
 
17
- require_relative 'lib/GladeGUI'
18
- require_relative 'lib/treeview/ViewCommon'
19
- require_relative 'lib/treeview/ListView'
20
- require_relative 'lib/treeview/TreeView'
21
- require_relative 'src/editor/VR_TextViewCommon'
22
44
 
23
- require_rel 'lib/'
24
- require_rel 'src/'
25
45
  # require File.exists?("./../../lib/vrlib.rb") ? "./../../lib/vrlib.rb" : "vrlib"
26
46
 
27
47
  # require_rel 'lib/GladeGUI.rb'
metadata CHANGED
@@ -1,44 +1,44 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visualruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.13
4
+ version: 3.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Cunningham
8
- autorequire:
8
+ autorequire:
9
9
  bindir:
10
10
  - "."
11
11
  cert_chain: []
12
- date: 2021-05-23 00:00:00.000000000 Z
12
+ date: 2024-09-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gtk3
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 3.4.3
20
+ version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 3.4.3
27
+ version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: gtksourceview3
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 3.4.3
34
+ version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 3.4.3
41
+ version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: require_all
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -65,8 +65,7 @@ extensions: []
65
65
  extra_rdoc_files: []
66
66
  files:
67
67
  - "./.vr_settings.yaml"
68
- - "./.yardoc/my_yard.yaml"
69
- - "./doc/img/logo.png"
68
+ - "./docs/img/logo.png"
70
69
  - "./examples/active_record/.vr_settings.yaml"
71
70
  - "./examples/active_record/active_record.rb"
72
71
  - "./examples/active_record/bin/ChoosePerson.rb"
@@ -179,12 +178,10 @@ files:
179
178
  - "./img/ruby.png"
180
179
  - "./img/splash.png"
181
180
  - "./img/unknown.png"
182
- - "./lib/ActLikeAHash.rb"
183
181
  - "./lib/Alert.rb"
184
182
  - "./lib/DragDrop.rb"
185
183
  - "./lib/GladeGUI.rb"
186
184
  - "./lib/SavableClass.rb"
187
- - "./lib/SavableHash.rb"
188
185
  - "./lib/Tools.rb"
189
186
  - "./lib/glade/Alert.glade"
190
187
  - "./lib/oinspect/MethodsListView.rb"
@@ -251,11 +248,11 @@ files:
251
248
  - "./src/version.rb"
252
249
  - "./vr"
253
250
  - vr
254
- homepage: ''
251
+ homepage: https://github.com/Beagle123/visualruby
255
252
  licenses:
256
253
  - MIT
257
254
  metadata: {}
258
- post_install_message:
255
+ post_install_message:
259
256
  rdoc_options: []
260
257
  require_paths:
261
258
  - lib
@@ -270,8 +267,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
267
  - !ruby/object:Gem::Version
271
268
  version: '0'
272
269
  requirements: []
273
- rubygems_version: 3.2.15
274
- signing_key:
270
+ rubygems_version: 3.3.7
271
+ signing_key:
275
272
  specification_version: 4
276
273
  summary: Create IDE designed to make great GUIs with Ruby
277
274
  test_files: []
data/.yardoc/my_yard.yaml DELETED
@@ -1,19 +0,0 @@
1
- --- !ruby/object:MyYard
2
- project_root: "/home/eric/vrp/vr3"
3
- output_dir: doc
4
- theme: visualruby
5
- template: visualruby
6
- files: lib/**/*.rb
7
- extra_files: site/*.*
8
- exclude: ''
9
- include_public: true
10
- include_private: false
11
- include_protected: true
12
- include_private_tag: false
13
- title: Visual Ruby
14
- main: index.html
15
- export_db: false
16
- export_db_path: ".yardoc"
17
- vr_yaml_file: "/home/eric/vrp/vr3/.yardoc/my_yard.yaml"
18
- builder: !ruby/object:Gtk::Builder {}
19
- top_level_window: true
data/lib/ActLikeAHash.rb DELETED
@@ -1,12 +0,0 @@
1
- # @private
2
- # #module ActLikeAHash
3
- # #
4
- # def [] (key)
5
- # instance_variable_get("@" + key.to_s)
6
- # end
7
- # #
8
- # def []= (key, val)
9
- # instance_variable_put("@" + key_to_s, val)
10
- # end
11
- # #
12
- #end
data/lib/SavableHash.rb DELETED
@@ -1,25 +0,0 @@
1
-
2
- module VR
3
-
4
- class SavableHash < Hash
5
-
6
- def init(arg) #either file path or defaults hash
7
- # if File(arg[:file]).exists
8
- # return YAML.load(File.open(arg[:file]).read)
9
- # else
10
- arg
11
- # end
12
- end
13
-
14
- def save()
15
- file = self[:file]
16
- alert file
17
- File.open(file, "w") {|f| f.puts(self.to_yaml)}
18
- end
19
-
20
-
21
- end
22
-
23
- end
24
-
25
-
File without changes