visualruby 3.0.2 → 3.0.3
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 +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"
|