visualruby 3.4.13 → 3.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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