visualruby 3.6.3 → 3.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.vr_settings.yaml +22 -10
- data/all_requires.rb +35 -0
- data/examples/01_phantom/main.rb +6 -0
- data/examples/02_hello/.vr_settings.yaml +21 -0
- data/examples/{phantom → 02_hello}/main.rb +2 -3
- data/examples/02_hello/src/MyClass.rb +11 -0
- data/examples/02_hello/src/glade/MyClass.glade +36 -0
- data/examples/03_simple_ruby_gui/main.rb +11 -0
- data/examples/04_calculator/.vr_settings.yaml +21 -0
- data/examples/04_calculator/calculator.rb +7 -0
- data/examples/{calculator/bin/Calculator.rb → 04_calculator/src/CalculatorGUI.rb} +3 -3
- data/examples/07_event_handlers/.vr_settings.yaml +23 -0
- data/examples/07_event_handlers/main.rb +9 -0
- data/examples/07_event_handlers/src/MyClass.rb +26 -0
- data/examples/07_event_handlers/src/MyTextView.rb +13 -0
- data/examples/07_event_handlers/src/glade/MyClass.glade +90 -0
- data/examples/active_record/.vr_settings.yaml +2 -3
- data/examples/active_record/active_record.rb +1 -1
- data/examples/alert_box/.vr_settings.yaml +11 -8
- data/examples/alert_box/alertdemo.rb +11 -0
- data/examples/alert_box/{bin → src}/AlertBoxDemo.rb +19 -6
- data/examples/alert_box/{bin → src}/glade/AlertBoxDemo.glade +37 -4
- data/examples/all_widgets/.vr_settings.yaml +8 -7
- data/examples/all_widgets/{main.rb → all_widgets.rb} +1 -4
- data/examples/all_widgets/{bin → src}/AllWidgets.rb +1 -1
- data/examples/child_window/.vr_settings.yaml +10 -9
- data/examples/child_window/child_window.rb +11 -0
- data/examples/drag_drop/.vr_settings.yaml +6 -5
- data/examples/drag_drop/{main.rb → drag_drop.rb} +1 -3
- data/examples/filetreeview/.vr_settings.yaml +10 -8
- data/examples/filetreeview/filetreeview.rb +10 -0
- data/examples/filetreeview/{bin → src}/ProjectTree.rb +1 -12
- data/examples/filetreeview/{bin → src}/ProjectTreeGUI.rb +9 -0
- data/examples/filetreeview/{bin → src}/glade/ProjectTreeGUI.glade +37 -37
- data/examples/golf_handicap/.vr_settings.yaml +5 -6
- data/examples/golf_handicap/eric_cunningham.yaml +106 -0
- data/examples/golf_handicap/golf_handicap.rb +18 -0
- data/examples/golf_handicap/src/Handicap.rb +31 -29
- data/examples/golf_handicap/src/LoadGolfer.rb +27 -27
- data/examples/golf_handicap/src/Score.rb +10 -9
- data/examples/golf_handicap/src/glade/Handicap.glade +46 -42
- data/examples/golf_handicap/src/glade/Score.glade +58 -80
- data/examples/listview/.vr_settings.yaml +10 -8
- data/examples/listview/listview.rb +7 -0
- data/examples/listview/{bin → src}/SongListView.rb +2 -1
- data/examples/listview/{bin → src}/SongListViewGUI.rb +1 -0
- data/lib/Alert.rb +2 -2
- data/lib/GladeGUI.rb +10 -11
- data/lib/TestWindow.rb +33 -0
- data/lib/VR_GtkWindow.rb +7 -0
- data/lib/glade/TestWindow.glade +73 -0
- data/lib/treeview/TreeView.rb +0 -2
- data/lib/vrlib.rb +1 -0
- data/skeleton/project/main.rb +1 -4
- data/src/editor/VR_Document.rb +1 -4
- data/src/editor/VR_TabSearch.rb +1 -1
- data/src/main/RubygemsAPI.rb +3 -8
- data/src/main/SplashWindow.rb +18 -0
- data/src/main/VR_Main.rb +19 -26
- data/src/main/VR_Tools.rb +10 -8
- data/src/main/glade/VR_Main.glade +173 -178
- data/src/version.rb +1 -1
- data/test.rb +7 -0
- data/vr +40 -70
- metadata +59 -41
- data/examples/alert_box/main.rb +0 -9
- data/examples/calculator/.vr_settings.yaml +0 -19
- data/examples/calculator/main.rb +0 -9
- data/examples/filetreeview/main.rb +0 -11
- data/examples/listview/main.rb +0 -8
- data/examples/simple_ruby_gui/main.rb +0 -14
- /data/examples/{phantom → 01_phantom}/.vr_settings.yaml +0 -0
- /data/examples/{phantom → 01_phantom}/src/MyClass.rb +0 -0
- /data/examples/{phantom → 01_phantom}/src/glade/MyClass.glade +0 -0
- /data/examples/{simple_ruby_gui → 03_simple_ruby_gui}/.vr_settings.yaml +0 -0
- /data/examples/{simple_ruby_gui → 03_simple_ruby_gui}/bin/DataObjectGUI.rb +0 -0
- /data/examples/{simple_ruby_gui → 03_simple_ruby_gui}/bin/glade/DataObjectGUI.glade +0 -0
- /data/examples/{calculator/bin/glade/Calculator.glade → 04_calculator/src/glade/CalculatorGUI.glade} +0 -0
- /data/examples/all_widgets/{bin → src}/glade/AllWidgets.glade +0 -0
- /data/examples/all_widgets/{bin → src}/splash.png +0 -0
- /data/examples/child_window/{bin → src}/ChildWindowDemo.rb +0 -0
- /data/examples/child_window/{bin → src}/ModalWindow.rb +0 -0
- /data/examples/child_window/{bin → src}/ModelessWindow.rb +0 -0
- /data/examples/child_window/{bin → src}/MyChildClass.rb +0 -0
- /data/examples/child_window/{bin → src}/glade/ChildWindowDemo.glade +0 -0
- /data/examples/child_window/{bin → src}/glade/ModalWindow.glade +0 -0
- /data/examples/child_window/{bin → src}/glade/ModelessWindow.glade +0 -0
- /data/examples/child_window/{bin → src}/glade/MyChildClass.glade +0 -0
- /data/examples/drag_drop/{bin → src}/DragDropDemo.rb +0 -0
- /data/examples/drag_drop/{bin → src}/glade/DragDropDemo.glade +0 -0
- /data/examples/listview/{bin → src}/audio-x-generic.png +0 -0
- /data/examples/listview/{bin → src}/glade/SongListViewGUI.glade +0 -0
data/lib/TestWindow.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
class TestWindow < VR_GtkWindow
|
4
|
+
|
5
|
+
def change
|
6
|
+
l = @builder["entry1"]
|
7
|
+
l.text = "Chicken"
|
8
|
+
end
|
9
|
+
|
10
|
+
def button1__clicked(*args)
|
11
|
+
test
|
12
|
+
return
|
13
|
+
@model = @builder["tree1"].model
|
14
|
+
oinspect @model
|
15
|
+
row = @model.append
|
16
|
+
row[0] = 23.5
|
17
|
+
row[1] = 190
|
18
|
+
@builder["tree1"].hide
|
19
|
+
@builder["tree1"].show
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def test
|
24
|
+
@items_model = Gtk::ListStore.new(Integer, String)
|
25
|
+
iter = @items_model.append
|
26
|
+
iter[0] = 132
|
27
|
+
iter[1] = "Chicken"
|
28
|
+
@builder["tree1"].model = @item_model
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
end
|
data/lib/VR_GtkWindow.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.40.0 -->
|
3
|
+
<interface>
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
5
|
+
<object class="GtkListStore" id="liststore1">
|
6
|
+
<columns>
|
7
|
+
<!-- column-name num1 -->
|
8
|
+
<column type="gfloat"/>
|
9
|
+
<!-- column-name num2 -->
|
10
|
+
<column type="gfloat"/>
|
11
|
+
</columns>
|
12
|
+
</object>
|
13
|
+
<object class="GtkWindow" id="window1">
|
14
|
+
<property name="width-request">100</property>
|
15
|
+
<property name="height-request">400</property>
|
16
|
+
<property name="can-focus">False</property>
|
17
|
+
<property name="modal">True</property>
|
18
|
+
<property name="window-position">center-always</property>
|
19
|
+
<child>
|
20
|
+
<object class="GtkBox">
|
21
|
+
<property name="visible">True</property>
|
22
|
+
<property name="can-focus">False</property>
|
23
|
+
<property name="orientation">vertical</property>
|
24
|
+
<property name="spacing">100</property>
|
25
|
+
<child>
|
26
|
+
<object class="GtkButton" id="button1">
|
27
|
+
<property name="label" translatable="yes">button</property>
|
28
|
+
<property name="visible">True</property>
|
29
|
+
<property name="can-focus">True</property>
|
30
|
+
<property name="receives-default">True</property>
|
31
|
+
</object>
|
32
|
+
<packing>
|
33
|
+
<property name="expand">False</property>
|
34
|
+
<property name="fill">True</property>
|
35
|
+
<property name="position">0</property>
|
36
|
+
</packing>
|
37
|
+
</child>
|
38
|
+
<child>
|
39
|
+
<object class="GtkLabel" id="label1">
|
40
|
+
<property name="visible">True</property>
|
41
|
+
<property name="can-focus">False</property>
|
42
|
+
<property name="margin-left">10</property>
|
43
|
+
<property name="margin-right">10</property>
|
44
|
+
<property name="margin-top">10</property>
|
45
|
+
<property name="margin-bottom">10</property>
|
46
|
+
<property name="label" translatable="yes">Test</property>
|
47
|
+
</object>
|
48
|
+
<packing>
|
49
|
+
<property name="expand">False</property>
|
50
|
+
<property name="fill">False</property>
|
51
|
+
<property name="position">1</property>
|
52
|
+
</packing>
|
53
|
+
</child>
|
54
|
+
<child>
|
55
|
+
<object class="GtkTreeView" id="tree1">
|
56
|
+
<property name="visible">True</property>
|
57
|
+
<property name="can-focus">True</property>
|
58
|
+
<property name="model">liststore1</property>
|
59
|
+
<property name="enable-grid-lines">both</property>
|
60
|
+
<child internal-child="selection">
|
61
|
+
<object class="GtkTreeSelection"/>
|
62
|
+
</child>
|
63
|
+
</object>
|
64
|
+
<packing>
|
65
|
+
<property name="expand">True</property>
|
66
|
+
<property name="fill">True</property>
|
67
|
+
<property name="position">2</property>
|
68
|
+
</packing>
|
69
|
+
</child>
|
70
|
+
</object>
|
71
|
+
</child>
|
72
|
+
</object>
|
73
|
+
</interface>
|
data/lib/treeview/TreeView.rb
CHANGED
data/lib/vrlib.rb
CHANGED
data/skeleton/project/main.rb
CHANGED
data/src/editor/VR_Document.rb
CHANGED
@@ -75,10 +75,7 @@ class VR_Document < GtkSource::View
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def jump_to_line(line_num, search_str = nil)
|
78
|
-
clear_events
|
79
|
-
# while (Gtk.events_pending?)
|
80
|
-
# Gtk.main_iteration
|
81
|
-
# end
|
78
|
+
clear_events
|
82
79
|
hilight_line(line_num)
|
83
80
|
iter = buffer.get_iter_at(:line => line_num - 1)
|
84
81
|
buffer.place_cursor(iter)
|
data/src/editor/VR_TabSearch.rb
CHANGED
@@ -15,7 +15,7 @@ module VR_TabSearch
|
|
15
15
|
def find_in_all(str)
|
16
16
|
out = "Search Results for: " + str + "\n"
|
17
17
|
Find.find(Dir.pwd) do |path|
|
18
|
-
Find.prune if path =~ /\/glade$/ or path =~ /\/
|
18
|
+
Find.prune if path =~ /\/glade$/ or path =~ /\/docs$/ #or File.directory?(path)
|
19
19
|
if (File.extname(path) == ".rb" or File.extname(path) == ".erb") and not File.directory?(path)
|
20
20
|
txt = File.open(path, "r").read
|
21
21
|
out += scan_for_text(str, txt, path)
|
data/src/main/RubygemsAPI.rb
CHANGED
@@ -29,18 +29,13 @@ def set_up_key()
|
|
29
29
|
@builder["dialog1"].hide
|
30
30
|
return unless response_id == 1
|
31
31
|
get_glade_all() #gets @username, @password
|
32
|
-
alert(@username + @password)
|
33
32
|
begin
|
34
33
|
@http.start() do |h|
|
35
34
|
req = Net::HTTP::Get.new("/api/v1/api_key.yaml")
|
36
|
-
alert("1")
|
37
35
|
req.basic_auth @username, @password
|
38
|
-
response = h.request(req)
|
39
|
-
|
40
|
-
|
41
|
-
obj = YAML.unsecure_load(response.body)
|
42
|
-
key = obj[:rubygems_api_key]
|
43
|
-
alert(key)
|
36
|
+
response = h.request(req)
|
37
|
+
obj = YAML.load(response.body)
|
38
|
+
key = obj[:rubygems_api_key]
|
44
39
|
if key
|
45
40
|
File.open(CREDENTIALS_FILE,"w",0600) { |f| f.write(YAML.dump(obj)) }
|
46
41
|
else
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
class SplashWindow < Gtk::Window
|
3
|
+
|
4
|
+
def initialize()
|
5
|
+
super()
|
6
|
+
self.decorated = false
|
7
|
+
img = Gtk::Image.new(file: File.join($root, "img", "splash.png"))
|
8
|
+
img.visible = true
|
9
|
+
self.set_child(img)
|
10
|
+
# self.set_position(:center)
|
11
|
+
self.position = :center_always
|
12
|
+
self.set_keep_above(true)
|
13
|
+
self.position = :center_always
|
14
|
+
# puts File.join("..", "..", "img", "splash.png")
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/src/main/VR_Main.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
+
|
2
|
+
|
1
3
|
class VR_Main
|
2
4
|
|
3
5
|
include GladeGUI
|
4
6
|
|
5
7
|
attr_accessor :proj_path, :tabs, :shell, :builder, :file_tree
|
6
8
|
|
7
|
-
def initialize(argv
|
8
|
-
@splash = splash
|
9
|
+
def initialize(argv)
|
10
|
+
# @splash = splash
|
9
11
|
@proj_path = argv[0] ? argv[0] : Dir.pwd
|
10
12
|
@proj_path = @proj_path.chomp("/")
|
11
13
|
end
|
@@ -17,7 +19,10 @@ class VR_Main
|
|
17
19
|
|
18
20
|
# load global settings (requires /home/visuaruby folder exists
|
19
21
|
$VR_ENV_GLOBAL = VR::load_yaml(VR_ENV_GLOBAL, VR_ENV_GLOBAL::GLOBAL_SETTINGS_FILE)
|
20
|
-
|
22
|
+
if !File.exists?($VR_ENV_GLOBAL.default_project) or !File.exists?($VR_ENV_GLOBAL.projects_home) #start over
|
23
|
+
File.delete(VR_ENV_GLOBAL::GLOBAL_SETTINGS_FILE)
|
24
|
+
$VR_ENV_GLOBAL = VR::load_yaml(VR_ENV_GLOBAL, VR_ENV_GLOBAL::GLOBAL_SETTINGS_FILE)
|
25
|
+
end
|
21
26
|
|
22
27
|
# try to open right project
|
23
28
|
if not project_valid?(@proj_path)
|
@@ -51,11 +56,11 @@ class VR_Main
|
|
51
56
|
@builder["scrolledRemoteGems"].add(@remote_gem_tree)
|
52
57
|
@remote_gem_tree.show
|
53
58
|
|
54
|
-
|
55
|
-
|
56
|
-
|
59
|
+
# if not @splash.nil?
|
60
|
+
# @splash.destroy
|
61
|
+
# end
|
57
62
|
|
58
|
-
Gtk.main_quit #for splash
|
63
|
+
# Gtk.main_quit #for splash
|
59
64
|
|
60
65
|
unless project_valid?(@proj_path)
|
61
66
|
toolOpenFolder__clicked # should never gets here.
|
@@ -152,15 +157,16 @@ class VR_Main
|
|
152
157
|
# @shell.buffer.text += `#{$VR_ENV.rdoc_command_line} 2>&1`
|
153
158
|
# VR_Tools.replace_html_in_docs()
|
154
159
|
# if File.exists?("yard_hack/index.html.replace")
|
155
|
-
# FileUtils.copy("yard_hack/index.html.replace", "
|
156
|
-
# FileUtils.copy("yard_hack/index.html.replace", "
|
157
|
-
# FileUtils.copy("yard_hack/common.css", "
|
160
|
+
# FileUtils.copy("yard_hack/index.html.replace", "docs/index.html")
|
161
|
+
# FileUtils.copy("yard_hack/index.html.replace", "docs/frames.html")
|
162
|
+
# FileUtils.copy("yard_hack/common.css", "docs/css/common.css")
|
158
163
|
# end
|
159
164
|
#
|
160
165
|
# end
|
161
166
|
|
162
167
|
def toolMyYard__clicked(*a)
|
163
|
-
|
168
|
+
TestWindow.new.show_glade
|
169
|
+
return # alert "Not available yet."
|
164
170
|
begin
|
165
171
|
require "my_yard"
|
166
172
|
rescue LoadError
|
@@ -170,7 +176,7 @@ class VR_Main
|
|
170
176
|
end
|
171
177
|
|
172
178
|
def toolViewRDoc__clicked(*a)
|
173
|
-
VR_Tools.popen("#{$VR_ENV_GLOBAL.browser} #{Dir.pwd}/
|
179
|
+
VR_Tools.popen("#{$VR_ENV_GLOBAL.browser} #{Dir.pwd}/docs/index.html")
|
174
180
|
end
|
175
181
|
|
176
182
|
def toolSave__clicked(*a) # saves open tab
|
@@ -194,19 +200,6 @@ class VR_Main
|
|
194
200
|
end
|
195
201
|
end
|
196
202
|
|
197
|
-
def toolHome__clicked(*a)
|
198
|
-
default_project = $VR_ENV_GLOBAL.default_project
|
199
|
-
return if default_project == @proj_path
|
200
|
-
if not project_valid?(default_project)
|
201
|
-
alert("Your default home project is invalid:\n\n<b>#{default_project}</b>.\n\nGo to: Tools > Global Settings to set it.",
|
202
|
-
parent: self, headline: "Invalid Home Project")
|
203
|
-
return
|
204
|
-
end
|
205
|
-
return unless @tabs.try_to_save_all( ask: true, close: true)
|
206
|
-
@proj_path = default_project
|
207
|
-
load_project
|
208
|
-
end
|
209
|
-
|
210
203
|
def toolBackUp__clicked(*a)
|
211
204
|
return unless @tabs.try_to_save_all(:ask=>true)
|
212
205
|
VR_Tools.back_up()
|
@@ -295,7 +288,7 @@ class VR_Main
|
|
295
288
|
end
|
296
289
|
|
297
290
|
def menuTutorials__activate(*a)
|
298
|
-
VR_Tools.popen("#{$VR_ENV_GLOBAL.browser}
|
291
|
+
VR_Tools.popen("#{$VR_ENV_GLOBAL.browser} https://beagle123.github.io/visualruby")
|
299
292
|
end
|
300
293
|
|
301
294
|
def menuInstallExamples__activate(*a)
|
data/src/main/VR_Tools.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
module VR_Tools
|
2
2
|
|
3
|
-
def VR_Tools.popen(cmd)
|
4
|
-
begin
|
5
|
-
IO.popen(cmd)
|
6
|
-
|
3
|
+
def VR_Tools.popen(cmd)
|
4
|
+
begin
|
5
|
+
lines = IO.popen(cmd).readlines
|
6
|
+
lines ||= [""]
|
7
|
+
return lines.join()
|
8
|
+
rescue
|
7
9
|
alert("The following command couldn't run:\n\n<b>#{cmd}</b>\n\nCheck the path in Tools > Settings." +
|
8
|
-
"\n\nIn MS Windows you may need to add the 'start' command i.e. <b>'start glade'</b>")
|
9
|
-
end
|
10
|
+
"\n\nIn MS Windows you may need to add the 'start' command i.e. <b>'start glade'</b>")
|
11
|
+
end
|
10
12
|
end
|
11
13
|
|
12
14
|
def VR_Tools.back_up()
|
@@ -62,14 +64,14 @@ END
|
|
62
64
|
def VR_Tools.replace_html_in_docs()
|
63
65
|
return if not File.file? "yard_hack/rdoc_replace.yaml"
|
64
66
|
ar = YAML.load_file "yard_hack/rdoc_replace.yaml"
|
65
|
-
Dir.glob("#{Dir.pwd}/
|
67
|
+
Dir.glob("#{Dir.pwd}/docs/**/*.html") do |f|
|
66
68
|
str = File.open(f).read
|
67
69
|
ar.each do |pair|
|
68
70
|
str.gsub!(pair[0], pair[1])
|
69
71
|
end
|
70
72
|
File.open(f, "w") { |file| file.puts(str) }
|
71
73
|
end
|
72
|
-
# FileUtils.cp "#{Dir.pwd}/rdoc.css", "#{Dir.pwd}/
|
74
|
+
# FileUtils.cp "#{Dir.pwd}/rdoc.css", "#{Dir.pwd}/docs/rdoc.css" if File.file?("#{Dir.pwd}/rdoc.css") and File.directory?("#{Dir.pwd}/doc")
|
73
75
|
end
|
74
76
|
|
75
77
|
end
|