visualruby 3.0.2 → 3.0.3
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 +4 -4
- data/.vr_settings.yaml +27 -0
- data/bin/editor/VR_Document.rb +156 -156
- data/bin/editor/VR_TabSearch.rb +37 -37
- data/bin/editor/VR_Tabs.rb +82 -82
- data/bin/editor/VR_TextShell.rb +49 -52
- data/bin/editor/VR_TextViewCommon.rb +31 -31
- data/bin/main/GemTree.rb +14 -14
- data/bin/main/NewProjectGUI.rb +24 -24
- data/bin/main/OpenProject.rb +53 -53
- data/bin/main/ProjectChooserView.rb +31 -31
- data/bin/main/ProjectTree.rb +17 -17
- data/bin/main/RubygemsAPI.rb +73 -63
- data/bin/main/VR_ENV.rb +29 -29
- data/bin/main/VR_ENV_GLOBAL.rb +52 -52
- data/bin/main/VR_File_Tree.rb +88 -88
- data/bin/main/VR_Local_Gem_Tree.rb +53 -53
- data/bin/main/VR_Main.rb +240 -238
- data/bin/main/VR_Remote_Gem_Tree.rb +41 -41
- data/bin/main/glade/Splash.glade +19 -0
- data/bin/tools/VR_Tools.rb +72 -72
- data/examples/active_record/.vr_settings.yaml +50 -0
- data/examples/active_record/active_record.rb +2 -2
- data/examples/active_record/bin/ChoosePerson.rb +10 -10
- data/examples/active_record/bin/Person.rb +6 -6
- data/examples/active_record2/.vr_settings.yaml +23 -0
- data/examples/active_record2/bin/CompanyGUI.rb +42 -42
- data/examples/active_record2/bin/Employee.rb +13 -13
- data/examples/active_record2/bin/Employer.rb +5 -5
- data/examples/active_record2/bin/Paycheck.rb +5 -5
- data/examples/active_record2/main.rb +4 -4
- data/examples/alert_box/bin/AlertBoxDemo.rb +40 -50
- data/examples/alert_box/bin/glade/AlertBoxDemo.glade +14 -45
- data/examples/all_widgets/.vr_settings.yaml +18 -0
- data/examples/all_widgets/bin/AllWidgets.rb +19 -16
- data/examples/calculator/.vr_settings.yaml +18 -0
- data/examples/calculator/bin/Calculator.rb +22 -22
- data/examples/child_window/.vr_settings.yaml +21 -0
- data/examples/child_window/bin/ChildWindowDemo.rb +10 -10
- data/examples/child_window/bin/ModalWindow.rb +4 -4
- data/examples/child_window/bin/ModelessWindow.rb +4 -4
- data/examples/child_window/bin/MyChildClass.rb +10 -10
- data/examples/drag_drop/.vr_settings.yaml +16 -0
- data/examples/drag_drop/bin/DragDropDemo.rb +28 -28
- data/examples/filetreeview/.vr_settings.yaml +20 -0
- data/examples/filetreeview/bin/ProjectTree.rb +13 -23
- data/examples/filetreeview/bin/ProjectTreeGUI.rb +18 -17
- data/examples/listview/.vr_settings.yaml +19 -0
- data/examples/listview/bin/SongListView.rb +72 -72
- data/examples/listview/bin/SongListViewGUI.rb +52 -52
- data/examples/listview_objects/.vr_settings.yaml +19 -0
- data/examples/listview_objects/bin/DataObject.rb +23 -23
- data/examples/listview_objects/bin/ListViewObjects.rb +29 -29
- data/examples/listview_objects/bin/ListViewObjectsGUI.rb +12 -12
- data/examples/settings_file/bin/MainApp.rb +25 -25
- data/examples/settings_file/bin/SavableSettings.rb +25 -26
- data/examples/settings_file/settings.yaml +1 -1
- data/examples/simple_ruby_gui/.vr_settings.yaml +20 -0
- data/examples/simple_ruby_gui/bin/DataObjectGUI.rb +12 -12
- data/examples/treeview/.vr_settings.yaml +17 -0
- data/examples/treeview/bin/MyClass.rb +18 -17
- data/examples/treeview/bin/glade/MyClass.glade +61 -6
- data/skeleton/document/NewWindow.rb +8 -8
- data/skeleton/project/.vr_settings.yaml +15 -0
- data/skeleton/project/bin/MyClass.rb +7 -7
- data/vr +38 -41
- data/vrlib/doc/images/add.png +0 -0
- data/vrlib/doc/images/arrow_up.png +0 -0
- data/vrlib/doc/images/brick.png +0 -0
- data/vrlib/doc/images/brick_link.png +0 -0
- data/vrlib/doc/images/bug.png +0 -0
- data/vrlib/doc/images/bullet_black.png +0 -0
- data/vrlib/doc/images/bullet_toggle_minus.png +0 -0
- data/vrlib/doc/images/bullet_toggle_plus.png +0 -0
- data/vrlib/doc/images/date.png +0 -0
- data/vrlib/doc/images/delete.png +0 -0
- data/vrlib/doc/images/find.png +0 -0
- data/vrlib/doc/images/macFFBgHack.png +0 -0
- data/vrlib/doc/images/package.png +0 -0
- data/vrlib/doc/images/page_green.png +0 -0
- data/vrlib/doc/images/page_white_text.png +0 -0
- data/vrlib/doc/images/page_white_width.png +0 -0
- data/vrlib/doc/images/plugin.png +0 -0
- data/vrlib/doc/images/ruby.png +0 -0
- data/vrlib/doc/images/tag_blue.png +0 -0
- data/vrlib/doc/images/tag_green.png +0 -0
- data/vrlib/doc/images/transparent.png +0 -0
- data/vrlib/doc/images/wrench.png +0 -0
- data/vrlib/doc/images/wrench_orange.png +0 -0
- data/vrlib/doc/images/zoom.png +0 -0
- data/vrlib/lib/Alert.rb +98 -55
- data/vrlib/lib/DragDrop.rb +43 -43
- data/vrlib/lib/GladeGUI.rb +207 -207
- data/vrlib/lib/IconHash.rb +10 -10
- data/vrlib/lib/SavableClass.rb +38 -38
- data/vrlib/lib/SimpleComboBoxEntry.rb +3 -3
- data/vrlib/lib/treeview/FileTreeView.rb +71 -70
- data/vrlib/lib/treeview/IterMethods.rb +35 -35
- data/vrlib/lib/treeview/ListView.rb +25 -25
- data/vrlib/lib/treeview/TreeView.rb +15 -15
- data/vrlib/lib/treeview/ViewCommon.rb +134 -131
- data/vrlib/lib/treeview/columns/CalendarCol.rb +48 -48
- data/vrlib/lib/treeview/columns/CellRendererCombo.rb +26 -26
- data/vrlib/lib/treeview/columns/CellRendererDate.rb +25 -25
- data/vrlib/lib/treeview/columns/CellRendererObject.rb +37 -37
- data/vrlib/lib/treeview/columns/CellRendererPhone.rb +25 -25
- data/vrlib/lib/treeview/columns/CellRendererPixbuf.rb +8 -8
- data/vrlib/lib/treeview/columns/CellRendererProgress.rb +8 -8
- data/vrlib/lib/treeview/columns/CellRendererSpin.rb +17 -17
- data/vrlib/lib/treeview/columns/CellRendererText.rb +18 -18
- data/vrlib/lib/treeview/columns/CellRendererToggle.rb +25 -25
- data/vrlib/lib/treeview/columns/ComboCol.rb +12 -12
- data/vrlib/lib/treeview/columns/CurrencyCol.rb +13 -13
- data/vrlib/lib/treeview/columns/DateCol.rb +10 -10
- data/vrlib/lib/treeview/columns/ImageCol.rb +16 -16
- data/vrlib/lib/treeview/columns/SpinCol.rb +5 -5
- data/vrlib/lib/treeview/columns/TextCol.rb +24 -24
- data/vrlib/lib/treeview/columns/TreeViewColumn.rb +71 -76
- data/vrlib/rdoc_replace.yaml +36 -36
- metadata +43 -6
- data/Splash.rb +0 -40
|
@@ -71,23 +71,23 @@ This just shows a message on the screen. Its very useful for alerts and debuggi
|
|
|
71
71
|
</packing>
|
|
72
72
|
</child>
|
|
73
73
|
<child>
|
|
74
|
-
<object class="GtkLabel" id="
|
|
74
|
+
<object class="GtkLabel" id="label2">
|
|
75
75
|
<property name="visible">True</property>
|
|
76
76
|
<property name="can_focus">False</property>
|
|
77
77
|
<property name="xalign">0</property>
|
|
78
|
-
<property name="label" translatable="yes"><big>
|
|
79
|
-
|
|
78
|
+
<property name="label" translatable="yes"><big>Yes/No Example</big>
|
|
79
|
+
Ask the user a yes/no question by changing the text on the buttons.</property>
|
|
80
80
|
<property name="use_markup">True</property>
|
|
81
81
|
</object>
|
|
82
82
|
<packing>
|
|
83
83
|
<property name="left_attach">0</property>
|
|
84
|
-
<property name="top_attach">
|
|
84
|
+
<property name="top_attach">1</property>
|
|
85
85
|
<property name="width">1</property>
|
|
86
86
|
<property name="height">1</property>
|
|
87
87
|
</packing>
|
|
88
88
|
</child>
|
|
89
89
|
<child>
|
|
90
|
-
<object class="GtkButton" id="
|
|
90
|
+
<object class="GtkButton" id="buttonYesNo">
|
|
91
91
|
<property name="label" translatable="yes">Try</property>
|
|
92
92
|
<property name="visible">True</property>
|
|
93
93
|
<property name="can_focus">True</property>
|
|
@@ -96,7 +96,7 @@ Change the text on the buttons to ask anything</property>
|
|
|
96
96
|
</object>
|
|
97
97
|
<packing>
|
|
98
98
|
<property name="left_attach">1</property>
|
|
99
|
-
<property name="top_attach">
|
|
99
|
+
<property name="top_attach">1</property>
|
|
100
100
|
<property name="width">1</property>
|
|
101
101
|
<property name="height">1</property>
|
|
102
102
|
</packing>
|
|
@@ -110,37 +110,6 @@ Change the text on the buttons to ask anything</property>
|
|
|
110
110
|
This example shows how you can ask the user to enter text into a textbox.</property>
|
|
111
111
|
<property name="use_markup">True</property>
|
|
112
112
|
</object>
|
|
113
|
-
<packing>
|
|
114
|
-
<property name="left_attach">0</property>
|
|
115
|
-
<property name="top_attach">3</property>
|
|
116
|
-
<property name="width">1</property>
|
|
117
|
-
<property name="height">1</property>
|
|
118
|
-
</packing>
|
|
119
|
-
</child>
|
|
120
|
-
<child>
|
|
121
|
-
<object class="GtkButton" id="buttonInput">
|
|
122
|
-
<property name="label" translatable="yes">Try</property>
|
|
123
|
-
<property name="visible">True</property>
|
|
124
|
-
<property name="can_focus">True</property>
|
|
125
|
-
<property name="receives_default">True</property>
|
|
126
|
-
<property name="valign">start</property>
|
|
127
|
-
</object>
|
|
128
|
-
<packing>
|
|
129
|
-
<property name="left_attach">1</property>
|
|
130
|
-
<property name="top_attach">3</property>
|
|
131
|
-
<property name="width">1</property>
|
|
132
|
-
<property name="height">1</property>
|
|
133
|
-
</packing>
|
|
134
|
-
</child>
|
|
135
|
-
<child>
|
|
136
|
-
<object class="GtkLabel" id="label2">
|
|
137
|
-
<property name="visible">True</property>
|
|
138
|
-
<property name="can_focus">False</property>
|
|
139
|
-
<property name="xalign">0</property>
|
|
140
|
-
<property name="label" translatable="yes"><big>Yes/No Example</big>
|
|
141
|
-
Ask the user a yes/no question by changing the text on the buttons.</property>
|
|
142
|
-
<property name="use_markup">True</property>
|
|
143
|
-
</object>
|
|
144
113
|
<packing>
|
|
145
114
|
<property name="left_attach">0</property>
|
|
146
115
|
<property name="top_attach">2</property>
|
|
@@ -149,7 +118,7 @@ Ask the user a yes/no question by changing the text on the buttons.</property>
|
|
|
149
118
|
</packing>
|
|
150
119
|
</child>
|
|
151
120
|
<child>
|
|
152
|
-
<object class="GtkButton" id="
|
|
121
|
+
<object class="GtkButton" id="buttonInput">
|
|
153
122
|
<property name="label" translatable="yes">Try</property>
|
|
154
123
|
<property name="visible">True</property>
|
|
155
124
|
<property name="can_focus">True</property>
|
|
@@ -164,23 +133,23 @@ Ask the user a yes/no question by changing the text on the buttons.</property>
|
|
|
164
133
|
</packing>
|
|
165
134
|
</child>
|
|
166
135
|
<child>
|
|
167
|
-
<object class="GtkLabel" id="
|
|
136
|
+
<object class="GtkLabel" id="label4">
|
|
168
137
|
<property name="visible">True</property>
|
|
169
138
|
<property name="can_focus">False</property>
|
|
170
139
|
<property name="xalign">0</property>
|
|
171
|
-
<property name="label" translatable="yes"><big>
|
|
172
|
-
|
|
140
|
+
<property name="label" translatable="yes"><big>Ask Any Question</big>
|
|
141
|
+
Change the text on the buttons to ask anything</property>
|
|
173
142
|
<property name="use_markup">True</property>
|
|
174
143
|
</object>
|
|
175
144
|
<packing>
|
|
176
145
|
<property name="left_attach">0</property>
|
|
177
|
-
<property name="top_attach">
|
|
146
|
+
<property name="top_attach">3</property>
|
|
178
147
|
<property name="width">1</property>
|
|
179
148
|
<property name="height">1</property>
|
|
180
149
|
</packing>
|
|
181
150
|
</child>
|
|
182
151
|
<child>
|
|
183
|
-
<object class="GtkButton" id="
|
|
152
|
+
<object class="GtkButton" id="buttonQuestion">
|
|
184
153
|
<property name="label" translatable="yes">Try</property>
|
|
185
154
|
<property name="visible">True</property>
|
|
186
155
|
<property name="can_focus">True</property>
|
|
@@ -189,7 +158,7 @@ This just prompts the user for input in one line of code.</property>
|
|
|
189
158
|
</object>
|
|
190
159
|
<packing>
|
|
191
160
|
<property name="left_attach">1</property>
|
|
192
|
-
<property name="top_attach">
|
|
161
|
+
<property name="top_attach">3</property>
|
|
193
162
|
<property name="width">1</property>
|
|
194
163
|
<property name="height">1</property>
|
|
195
164
|
</packing>
|
|
@@ -208,7 +177,7 @@ This just prompts the user for input in one line of code.</property>
|
|
|
208
177
|
<property name="margin_right">20</property>
|
|
209
178
|
<property name="layout_style">end</property>
|
|
210
179
|
<child>
|
|
211
|
-
<object class="GtkButton" id="
|
|
180
|
+
<object class="GtkButton" id="buttonCancel">
|
|
212
181
|
<property name="label" translatable="yes">Quit</property>
|
|
213
182
|
<property name="visible">True</property>
|
|
214
183
|
<property name="can_focus">True</property>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1125
|
|
3
|
+
height: 688
|
|
4
|
+
panel_pos: 327
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/all_widgets/bin/AllWidgets.rb"
|
|
8
|
+
- "/home/eric/vrp/vr3/examples/all_widgets/main.rb"
|
|
9
|
+
open_folders:
|
|
10
|
+
- "/home/eric/vrp/vr3/examples/all_widgets"
|
|
11
|
+
- "/home/eric/vrp/vr3/examples/all_widgets/bin"
|
|
12
|
+
current_file: "/home/eric/vrp/vr3/examples/all_widgets/bin/AllWidgets.rb"
|
|
13
|
+
rdoc_command_line: rdoc -x README
|
|
14
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
15
|
+
notebook_panel_position: 400
|
|
16
|
+
current_line: 35
|
|
17
|
+
settings_file_version: 1
|
|
18
|
+
builder: !ruby/object:Gtk::Builder {}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# with GladeGui, you can write:
|
|
11
11
|
#
|
|
12
|
-
#
|
|
12
|
+
# @window1 = "All Widgets"
|
|
13
13
|
#
|
|
14
14
|
# them yourself using @builder["widget_name"].property= statement
|
|
15
15
|
#
|
|
@@ -29,22 +29,25 @@
|
|
|
29
29
|
#
|
|
30
30
|
class AllWidgets
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
include GladeGUI
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
34
|
+
def before_show()
|
|
35
|
+
@builder["checkbutton1"].label = "I'm a Check Button" #this could be set in glade
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def initialize() #window1__show(*args)
|
|
39
|
+
@window1 = "Showing All Widgets"
|
|
40
|
+
@label1 = "I'm a Label"
|
|
41
|
+
@checkbutton1 = true
|
|
42
|
+
@image1 = "bin/splash.png"
|
|
43
|
+
@linkbutton1 = "http://www.visualruby.net"
|
|
44
|
+
@entry1 = "I'm an Entry Box"
|
|
45
|
+
@progressbar1 = 0.85 # text property set in glade
|
|
46
|
+
@textview1 = "I'm a Textview"
|
|
47
|
+
@spinbutton1 = 10.5
|
|
48
|
+
@fontbutton1 = "Courier 10"
|
|
49
|
+
@calendar1 = DateTime.new(2011, 5, 14)
|
|
50
|
+
end
|
|
48
51
|
|
|
49
52
|
|
|
50
53
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1028
|
|
3
|
+
height: 691
|
|
4
|
+
panel_pos: 365
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/calculator/main.rb"
|
|
8
|
+
- "/home/eric/vrp/vr3/examples/calculator/bin/Calculator.rb"
|
|
9
|
+
open_folders:
|
|
10
|
+
- "/home/eric/vrp/vr3/examples/calculator"
|
|
11
|
+
- "/home/eric/vrp/vr3/examples/calculator/bin"
|
|
12
|
+
current_file: "/home/eric/vrp/vr3/examples/calculator/bin/Calculator.rb"
|
|
13
|
+
rdoc_command_line: rdoc -x README
|
|
14
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
15
|
+
notebook_panel_position: 400
|
|
16
|
+
current_line: 65
|
|
17
|
+
settings_file_version: 1
|
|
18
|
+
filename: ".vr_settings.yaml"
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
|
|
22
22
|
class Calculator
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
include GladeGUI
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
def before_show()
|
|
27
|
+
@window1 = "Calculator" #sets window1's title to "Calculator"
|
|
28
|
+
@button = [ 1, 2, 3, "C" ] +
|
|
29
|
+
[ 4, 5, 6, "+" ] +
|
|
30
|
+
[ 7, 8, 9, "-" ] +
|
|
31
|
+
[ 0, ".","/","=" ]
|
|
32
|
+
end
|
|
33
33
|
|
|
34
34
|
# This method is called when any key is clicked. It follows
|
|
35
35
|
# this naming convention: <glade_name>__<signal_name>. (Separator is
|
|
@@ -43,20 +43,20 @@ class Calculator
|
|
|
43
43
|
# each button!
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
46
|
+
def button__clicked(button)
|
|
47
|
+
case button.label
|
|
48
|
+
when "C" then
|
|
49
|
+
@builder["display"].text = ""
|
|
50
|
+
when "=" then
|
|
51
|
+
begin # this doesn't catch all errors
|
|
52
|
+
@builder["display"].text = eval(@builder["display"].text).to_s
|
|
53
|
+
rescue
|
|
54
|
+
@builder["display"].text = "error"
|
|
55
|
+
end
|
|
56
|
+
else
|
|
57
|
+
@builder["display"].text = @builder["display"].text + button.label
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1084
|
|
3
|
+
height: 691
|
|
4
|
+
panel_pos: 437
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/child_window/main.rb"
|
|
8
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin/MyChildClass.rb"
|
|
9
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin/ChildWindowDemo.rb"
|
|
10
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin/ModalWindow.rb"
|
|
11
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin/ModelessWindow.rb"
|
|
12
|
+
open_folders:
|
|
13
|
+
- "/home/eric/vrp/vr3/examples/child_window"
|
|
14
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin"
|
|
15
|
+
- "/home/eric/vrp/vr3/examples/child_window/bin/glade"
|
|
16
|
+
current_file: "/home/eric/vrp/vr3/examples/child_window/bin/ChildWindowDemo.rb"
|
|
17
|
+
rdoc_command_line: rdoc -x README
|
|
18
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
19
|
+
notebook_panel_position: 400
|
|
20
|
+
current_line: 1
|
|
21
|
+
settings_file_version: 1
|
|
@@ -27,24 +27,24 @@
|
|
|
27
27
|
|
|
28
28
|
class ChildWindowDemo #(change name)
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
include GladeGUI
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
def buttonOpenModeless__clicked(*argv)
|
|
33
|
+
ModelessWindow.new.show_glade() # no parent given so windows can overlap
|
|
34
|
+
end
|
|
35
35
|
|
|
36
36
|
# This modal window has its "modal" property set to true in glade.
|
|
37
37
|
# I pass a reference to "self" in the show method, setting the parent to this window,
|
|
38
38
|
# making it always on top. Its a good idea to have modal windows always on top
|
|
39
39
|
# because the parent is frozen, so the next action must be in the modal window.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
def buttonOpenModal__clicked(*argv)
|
|
42
|
+
ModalWindow.new.show_glade(self) # self = parent, so always on top of parent
|
|
43
|
+
end
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
def buttonCancel__clicked(*argv)
|
|
46
|
+
@builder["window1"].destroy
|
|
47
|
+
end
|
|
48
48
|
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
class MyChildClass
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
include GladeGUI
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
def initialize(title, message)
|
|
11
|
+
@labelMessage = message
|
|
12
|
+
@window1 = title
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# When cancel clicked in MyChildClass.glade
|
|
16
|
+
def buttonCancel__clicked(*args)
|
|
17
|
+
@builder["window1"].destroy
|
|
18
|
+
end
|
|
19
19
|
|
|
20
20
|
end
|
|
21
21
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1307
|
|
3
|
+
height: 698
|
|
4
|
+
panel_pos: 423
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/drag_drop/bin/DragDropDemo.rb"
|
|
8
|
+
open_folders:
|
|
9
|
+
- "/home/eric/vrp/vr3/examples/drag_drop"
|
|
10
|
+
- "/home/eric/vrp/vr3/examples/drag_drop/bin"
|
|
11
|
+
current_file: "/home/eric/vrp/vr3/examples/drag_drop/bin/DragDropDemo.rb"
|
|
12
|
+
rdoc_command_line: rdoc -x README
|
|
13
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
14
|
+
notebook_panel_position: 400
|
|
15
|
+
current_line: 12
|
|
16
|
+
settings_file_version: 1
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
|
|
2
2
|
class DragDropDemo
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
include GladeGUI
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
def before_show()
|
|
7
|
+
@window1 = "Drag and Drop Demo"
|
|
8
|
+
@textview1 = "I'm a widget named textview1.\n\nTry dragging a file or the button onto me."
|
|
9
|
+
@view = VR::FileTreeView.new(Dir.pwd,"./img")
|
|
10
|
+
@view.refresh()
|
|
11
|
+
@view.expand_row(@view.model.iter_first.path, false)
|
|
12
|
+
@builder["scrolledwindow1"].add(@view)
|
|
13
|
+
set_drag_drop("button1" => "textview1", @view => "textview1", "textview1" => "button1")
|
|
14
|
+
end
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
# This executes when button1 receives a widget dropped on it. When the button1 widget
|
|
18
18
|
# receives a drag_drop signal, an instance variable named dragged_widget is set automatically set
|
|
19
19
|
# by visualruby containing a reference to the dragged widget:
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
def button1__drag_drop(widget, *args)
|
|
22
|
+
but1 = @builder["button1"]
|
|
23
|
+
if but1.dragged_widget.is_a?(Gtk::TextView)
|
|
24
|
+
but1.label = but1.dragged_widget.buffer.text.slice(0,15)
|
|
25
|
+
elsif but1.dragged_widget.is_a?(VR::FileTreeView)
|
|
26
|
+
but1.label = @view.get_selected_path()
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def textview1__drag_drop(widget, context, *args)
|
|
31
|
+
tv1 = @builder["textview1"]
|
|
32
|
+
if tv1.dragged_widget == @view
|
|
33
|
+
path = @view.get_selected_path()
|
|
34
|
+
tv1.buffer.text = File.basename(path)
|
|
35
|
+
elsif tv1.dragged_widget.is_a?(Gtk::Button)
|
|
36
|
+
tv1.buffer.text = tv1.dragged_widget.label
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
39
|
|
|
40
40
|
end
|
|
41
41
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1337
|
|
3
|
+
height: 691
|
|
4
|
+
panel_pos: 490
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/filetreeview/main.rb"
|
|
8
|
+
- "/home/eric/vrp/vr3/examples/filetreeview/bin/ProjectTreeGUI.rb"
|
|
9
|
+
- "/home/eric/vrp/vr3/examples/filetreeview/bin/ProjectTree.rb"
|
|
10
|
+
open_folders:
|
|
11
|
+
- "/home/eric/vrp/vr3/examples/filetreeview"
|
|
12
|
+
- "/home/eric/vrp/vr3/examples/filetreeview/bin"
|
|
13
|
+
- "/home/eric/vrp/vr3/examples/filetreeview/bin/glade"
|
|
14
|
+
current_file: "/home/eric/vrp/vr3/examples/filetreeview/bin/ProjectTree.rb"
|
|
15
|
+
rdoc_command_line: rdoc -x README
|
|
16
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
17
|
+
notebook_panel_position: 400
|
|
18
|
+
current_line: 11
|
|
19
|
+
settings_file_version: 1
|
|
20
|
+
filename: ".vr_settings.yaml"
|
|
@@ -1,32 +1,22 @@
|
|
|
1
1
|
|
|
2
2
|
class ProjectTree < VR::FileTreeView #(change name)
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
attr_accessor :ftv
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
include GladeGUI
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
end
|
|
8
|
+
def initialize()
|
|
9
|
+
path = File.join(ENV["HOME"], "visualruby")
|
|
10
|
+
super(path, "/home/eric/vrp/vr3/img")
|
|
11
|
+
end
|
|
13
12
|
|
|
14
13
|
def self__row_activated(_self, path, col)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def has_settings_file?(path)
|
|
24
|
-
Find.find(path) do |file|
|
|
25
|
-
if File.basename(file) == ".vr_settings.yaml"
|
|
26
|
-
return true
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
return false
|
|
30
|
-
end
|
|
14
|
+
row = vr_row(get_iter(path))
|
|
15
|
+
if File.exists?(File.join(row[:path], ".vr_settings.yaml")) #test if its a vr project.
|
|
16
|
+
alert "You selected: \n\n" + row[:file_name]
|
|
17
|
+
else
|
|
18
|
+
expand_or_collapse_folder()
|
|
19
|
+
end
|
|
20
|
+
end
|
|
31
21
|
|
|
32
22
|
end
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
|
|
2
2
|
class ProjectTreeGUI #(change name)
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
attr_accessor :ftv
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
include GladeGUI
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
def before_show()
|
|
9
|
+
@ftv = ProjectTree.new()
|
|
10
|
+
@builder["scrolledwindow1"].add(@ftv) #needs show_all
|
|
11
|
+
@ftv.set_show_expanders(false)
|
|
12
|
+
@open_folders = []
|
|
13
|
+
end
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
def show_expanders__toggled(*a)
|
|
16
|
+
@ftv.set_show_expanders(@builder[:show_expanders].active?)
|
|
17
|
+
end
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
def save_state__clicked(*a)
|
|
20
|
+
@open_folders = @ftv.get_open_folders()
|
|
21
|
+
alert("Saving folders: " + @open_folders.to_s, :parent=>self)
|
|
22
|
+
end
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
def load_state__clicked(*a)
|
|
25
|
+
@ftv.refresh( :open_folders => @open_folders )
|
|
26
|
+
end
|
|
26
27
|
|
|
27
28
|
end
|
|
28
29
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
--- !ruby/object:VR_ENV
|
|
2
|
+
width: 1251
|
|
3
|
+
height: 691
|
|
4
|
+
panel_pos: 322
|
|
5
|
+
run_command_line: ruby main.rb
|
|
6
|
+
open_files:
|
|
7
|
+
- "/home/eric/vrp/vr3/examples/listview/main.rb"
|
|
8
|
+
- "/home/eric/vrp/vr3/examples/listview/bin/SongListViewGUI.rb"
|
|
9
|
+
- "/home/eric/vrp/vr3/examples/listview/bin/SongListView.rb"
|
|
10
|
+
open_folders:
|
|
11
|
+
- "/home/eric/vrp/vr3/examples/listview"
|
|
12
|
+
- "/home/eric/vrp/vr3/examples/listview/bin"
|
|
13
|
+
- "/home/eric/vrp/vr3/examples/listview/bin/glade"
|
|
14
|
+
current_file: "/home/eric/vrp/vr3/examples/listview/bin/SongListViewGUI.rb"
|
|
15
|
+
rdoc_command_line: rdoc -x README
|
|
16
|
+
vr_yaml_file: ".vr_settings.yaml"
|
|
17
|
+
notebook_panel_position: 437
|
|
18
|
+
current_line: 22
|
|
19
|
+
filename: ".vr_settings.yaml"
|