visualruby 1.0.19 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Splash.rb +40 -0
- data/bin/editor/VR_Document.rb +81 -74
- data/bin/editor/VR_TabSearch.rb +5 -7
- data/bin/editor/VR_Tabs.rb +57 -36
- data/bin/editor/VR_TextShell.rb +12 -34
- data/bin/editor/VR_TextViewCommon.rb +9 -28
- data/bin/main/NewProjectGUI.rb +14 -13
- data/bin/main/OpenProject.rb +69 -0
- data/bin/main/ProjectChooserView.rb +3 -2
- data/bin/main/ProjectTree.rb +25 -0
- data/bin/main/RubygemsAPI.rb +15 -11
- data/bin/main/VR_ENV.rb +38 -60
- data/bin/main/VR_ENV_GLOBAL.rb +45 -44
- data/bin/main/VR_File_Tree.rb +29 -21
- data/bin/main/VR_Local_Gem_Tree.rb +4 -19
- data/bin/main/VR_Main.rb +128 -144
- data/bin/main/VR_Remote_Gem_Tree.rb +6 -19
- data/bin/main/glade/NewProjectGUI.glade +94 -98
- data/bin/main/glade/OpenProject.glade +259 -0
- data/bin/main/glade/RubygemsAPI.glade +98 -62
- data/bin/main/glade/VR_ENV.glade +46 -55
- data/bin/main/glade/VR_ENV_GLOBAL.glade +251 -180
- data/bin/main/glade/VR_File_Tree.glade +25 -16
- data/bin/main/glade/VR_Local_Gem_Tree.glade +16 -8
- data/bin/main/glade/VR_Main.glade +410 -449
- data/bin/main/glade/VR_Remote_Gem_Tree.glade +33 -31
- data/bin/tools/VR_Tools.rb +60 -46
- data/{visualruby_examples → examples}/active_record/active_record.rb +16 -10
- data/{visualruby_examples → examples}/active_record/bin/ChoosePerson.rb +7 -0
- data/examples/active_record/bin/Person.rb +21 -0
- data/examples/active_record/bin/glade/ChoosePerson.glade +89 -0
- data/examples/active_record/bin/glade/Person.glade +197 -0
- data/{visualruby_examples → examples}/active_record/db/development.sqlite3 +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/CompanyGUI.rb +7 -7
- data/{visualruby_examples → examples}/active_record2/bin/Employee.rb +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/Employer.rb +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/Paycheck.rb +0 -0
- data/examples/active_record2/bin/glade/CompanyGUI.glade +149 -0
- data/examples/active_record2/bin/glade/Employee.glade +126 -0
- data/{visualruby_examples → examples}/active_record2/bin/glade/Employer.glade +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/glade/Paycheck.glade +0 -0
- data/{visualruby_examples → examples}/active_record2/db/development.sqlite3 +0 -0
- data/{visualruby_examples → examples}/active_record2/main.rb +15 -9
- data/examples/alert_box/bin/AlertBoxDemo.rb +80 -0
- data/examples/alert_box/bin/glade/AlertBoxDemo.glade +234 -0
- data/examples/alert_box/main.rb +12 -0
- data/{visualruby_examples → examples}/all_widgets/bin/AllWidgets.rb +18 -10
- data/{visualruby_examples → examples}/all_widgets/bin/glade/AllWidgets.glade +52 -16
- data/{visualruby_examples → examples}/all_widgets/bin/splash.png +0 -0
- data/examples/all_widgets/main.rb +12 -0
- data/{visualruby_examples → examples}/calculator/bin/Calculator.rb +23 -22
- data/{visualruby_examples → examples}/calculator/bin/glade/Calculator.glade +81 -51
- data/examples/calculator/main.rb +13 -0
- data/examples/child_window/bin/ChildWindowDemo.rb +52 -0
- data/examples/child_window/bin/ModalWindow.rb +9 -0
- data/examples/child_window/bin/ModelessWindow.rb +9 -0
- data/examples/child_window/bin/MyChildClass.rb +21 -0
- data/examples/child_window/bin/glade/ChildWindowDemo.glade +87 -0
- data/examples/child_window/bin/glade/ModalWindow.glade +61 -0
- data/examples/child_window/bin/glade/ModelessWindow.glade +61 -0
- data/{visualruby_examples → examples}/child_window/bin/glade/MyChildClass.glade +14 -12
- data/examples/child_window/main.rb +12 -0
- data/{visualruby_examples → examples}/drag_drop/bin/DragDropDemo.rb +9 -10
- data/examples/drag_drop/bin/glade/DragDropDemo.glade +161 -0
- data/{visualruby_examples → examples}/drag_drop/img/folder.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/glade.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/gtk-edit.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/obj.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/png.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/rb.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/ruby.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/unknown.png +0 -0
- data/examples/drag_drop/main.rb +11 -0
- data/examples/filetreeview/bin/ProjectTree.rb +32 -0
- data/examples/filetreeview/bin/ProjectTreeGUI.rb +28 -0
- data/examples/filetreeview/bin/glade/ProjectTreeGUI.glade +156 -0
- data/examples/filetreeview/main.rb +13 -0
- data/{visualruby_examples → examples}/listview/bin/SongListView.rb +24 -20
- data/{visualruby_examples → examples}/listview/bin/SongListViewGUI.rb +12 -11
- data/{visualruby_examples → examples}/listview/bin/audio-x-generic.png +0 -0
- data/examples/listview/bin/glade/SongListViewGUI.glade +195 -0
- data/examples/listview/main.rb +10 -0
- data/examples/listview_objects/bin/DataObject.rb +53 -0
- data/{visualruby_examples → examples}/listview_objects/bin/ListViewObjects.rb +7 -4
- data/examples/listview_objects/bin/ListViewObjectsGUI.rb +26 -0
- data/examples/listview_objects/bin/glade/DataObject.glade +196 -0
- data/examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +87 -0
- data/examples/listview_objects/main.rb +12 -0
- data/examples/settings_file/bin/MainApp.rb +38 -0
- data/examples/settings_file/bin/SavableSettings.rb +39 -0
- data/examples/settings_file/bin/glade/MainApp.glade +87 -0
- data/examples/settings_file/bin/glade/SavableSettings.glade +162 -0
- data/examples/settings_file/main.rb +14 -0
- data/examples/settings_file/settings.yaml +15 -0
- data/examples/simple_ruby_gui/bin/DataObjectGUI.rb +21 -0
- data/examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +195 -0
- data/examples/simple_ruby_gui/main.rb +16 -0
- data/{visualruby_examples → examples}/treeview/bin/MyClass.rb +1 -5
- data/examples/treeview/bin/glade/MyClass.glade +24 -0
- data/examples/treeview/main.rb +13 -0
- data/skeleton/document/New.glade +3 -4
- data/skeleton/document/NewWindow.rb +1 -1
- data/skeleton/project/bin/MyClass.rb +2 -2
- data/skeleton/project/bin/glade/MyClass.glade +12 -26
- data/skeleton/project/main.rb +4 -8
- data/vr +41 -37
- data/vrlib/lib/Alert.rb +67 -0
- data/vrlib/lib/DragDrop.rb +90 -0
- data/vrlib/lib/GladeGUI.rb +433 -0
- data/vrlib/lib/IconHash.rb +18 -0
- data/vrlib/lib/SavableClass.rb +56 -0
- data/vrlib/lib/SimpleComboBoxEntry.rb +8 -0
- data/vrlib/lib/glade/Alert.glade +119 -0
- data/vrlib/lib/treeview/FileTreeView.rb +113 -0
- data/vrlib/lib/treeview/IterMethods.rb +82 -0
- data/vrlib/lib/treeview/ListView.rb +85 -0
- data/vrlib/lib/treeview/TreeView.rb +43 -0
- data/vrlib/lib/treeview/ViewCommon.rb +370 -0
- data/vrlib/lib/treeview/columns/CalendarCol.rb +89 -0
- data/vrlib/lib/treeview/columns/CellRendererCombo.rb +66 -0
- data/vrlib/lib/treeview/columns/CellRendererDate.rb +45 -0
- data/vrlib/lib/treeview/columns/CellRendererObject.rb +57 -0
- data/vrlib/lib/treeview/columns/CellRendererPhone.rb +45 -0
- data/vrlib/lib/treeview/columns/CellRendererPixbuf.rb +16 -0
- data/vrlib/lib/treeview/columns/CellRendererProgress.rb +17 -0
- data/vrlib/lib/treeview/columns/CellRendererSpin.rb +37 -0
- data/vrlib/lib/treeview/columns/CellRendererText.rb +38 -0
- data/vrlib/lib/treeview/columns/CellRendererToggle.rb +47 -0
- data/vrlib/lib/treeview/columns/ComboCol.rb +43 -0
- data/vrlib/lib/treeview/columns/CurrencyCol.rb +23 -0
- data/vrlib/lib/treeview/columns/DateCol.rb +20 -0
- data/vrlib/lib/treeview/columns/ImageCol.rb +27 -0
- data/vrlib/lib/treeview/columns/ProgressCol.rb +27 -0
- data/vrlib/lib/treeview/columns/SpinCol.rb +11 -0
- data/vrlib/lib/treeview/columns/TextCol.rb +65 -0
- data/vrlib/lib/treeview/columns/TreeViewColumn.rb +93 -0
- data/{bin/main/glade/ProjectChooserGUI.glade → vrlib/lib/treeview/columns/glade/CalendarCol.glade} +71 -63
- data/{bin/main/glade/Splash.glade → vrlib/lib/treeview/columns/glade/ImageCol.glade} +5 -6
- data/vrlib/lib/treeview/columns/glade/TextCol.glade +82 -0
- data/vrlib/rdoc_replace.yaml +77 -0
- data/vrlib/vrlib.rb +7 -0
- metadata +163 -136
- data/bin/editor/glade/VR_Document.glade +0 -160
- data/bin/main/ProjectChooserGUI.rb +0 -41
- data/bin/main/Splash.rb +0 -22
- data/visualruby_examples/active_record/.vr_settings.yaml +0 -47
- data/visualruby_examples/active_record/bin/Person.rb +0 -13
- data/visualruby_examples/active_record/bin/glade/ChoosePerson.glade +0 -61
- data/visualruby_examples/active_record/bin/glade/Person.glade +0 -148
- data/visualruby_examples/active_record2/.vr_settings.yaml +0 -16
- data/visualruby_examples/active_record2/bin/glade/CompanyGUI.glade +0 -167
- data/visualruby_examples/active_record2/bin/glade/Employee.glade +0 -123
- data/visualruby_examples/all_widgets/.vr_settings.yaml +0 -13
- data/visualruby_examples/all_widgets/main.rb +0 -14
- data/visualruby_examples/calculator/.vr_settings.yaml +0 -11
- data/visualruby_examples/calculator/main.rb +0 -13
- data/visualruby_examples/child_window/.vr_settings.yaml +0 -16
- data/visualruby_examples/child_window/bin/ChildWindowDemo.rb +0 -39
- data/visualruby_examples/child_window/bin/MyChildClass.rb +0 -40
- data/visualruby_examples/child_window/bin/glade/ChildWindowDemo.glade +0 -101
- data/visualruby_examples/child_window/main.rb +0 -13
- data/visualruby_examples/drag_drop/.vr_settings.yaml +0 -12
- data/visualruby_examples/drag_drop/bin/glade/DragDropDemo.glade +0 -143
- data/visualruby_examples/drag_drop/main.rb +0 -14
- data/visualruby_examples/listview/.vr_settings.yaml +0 -12
- data/visualruby_examples/listview/bin/glade/SongListViewGUI.glade +0 -220
- data/visualruby_examples/listview/main.rb +0 -19
- data/visualruby_examples/listview_objects/.vr_settings.yaml +0 -16
- data/visualruby_examples/listview_objects/bin/DataObject.rb +0 -32
- data/visualruby_examples/listview_objects/bin/DataObjectGUI.rb +0 -41
- data/visualruby_examples/listview_objects/bin/ListViewObjectsGUI.rb +0 -18
- data/visualruby_examples/listview_objects/bin/glade/DataObject.glade +0 -198
- data/visualruby_examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +0 -102
- data/visualruby_examples/listview_objects/main.rb +0 -13
- data/visualruby_examples/simple_ruby_gui/.vr_settings.yaml +0 -16
- data/visualruby_examples/simple_ruby_gui/bin/DataObjectGUI.rb +0 -20
- data/visualruby_examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +0 -163
- data/visualruby_examples/simple_ruby_gui/main.rb +0 -16
- data/visualruby_examples/treeview/.vr_settings.yaml +0 -12
- data/visualruby_examples/treeview/bin/glade/MyClass.glade +0 -48
- data/visualruby_examples/treeview/main.rb +0 -14
@@ -0,0 +1,195 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.16.1 -->
|
3
|
+
<interface>
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
5
|
+
<object class="GtkWindow" id="window1">
|
6
|
+
<property name="can_focus">False</property>
|
7
|
+
<property name="title" translatable="yes">Basic Ruby Object Demo</property>
|
8
|
+
<property name="window_position">center</property>
|
9
|
+
<property name="default_width">400</property>
|
10
|
+
<child>
|
11
|
+
<object class="GtkBox" id="box1">
|
12
|
+
<property name="visible">True</property>
|
13
|
+
<property name="can_focus">False</property>
|
14
|
+
<property name="margin_left">20</property>
|
15
|
+
<property name="margin_right">20</property>
|
16
|
+
<property name="margin_top">20</property>
|
17
|
+
<property name="margin_bottom">20</property>
|
18
|
+
<property name="orientation">vertical</property>
|
19
|
+
<property name="spacing">10</property>
|
20
|
+
<child>
|
21
|
+
<object class="GtkLabel" id="label5">
|
22
|
+
<property name="visible">True</property>
|
23
|
+
<property name="can_focus">False</property>
|
24
|
+
<property name="label" translatable="yes"><big><big>Basic Object Demo</big></big>
|
25
|
+
This was created with visualruby. See visualruby.net.</property>
|
26
|
+
<property name="use_markup">True</property>
|
27
|
+
</object>
|
28
|
+
<packing>
|
29
|
+
<property name="expand">True</property>
|
30
|
+
<property name="fill">True</property>
|
31
|
+
<property name="padding">10</property>
|
32
|
+
<property name="position">0</property>
|
33
|
+
</packing>
|
34
|
+
</child>
|
35
|
+
<child>
|
36
|
+
<object class="GtkGrid" id="grid1">
|
37
|
+
<property name="visible">True</property>
|
38
|
+
<property name="can_focus">False</property>
|
39
|
+
<property name="row_spacing">10</property>
|
40
|
+
<property name="column_spacing">10</property>
|
41
|
+
<child>
|
42
|
+
<object class="GtkLabel" id="label6">
|
43
|
+
<property name="visible">True</property>
|
44
|
+
<property name="can_focus">False</property>
|
45
|
+
<property name="xalign">0.97000002861022949</property>
|
46
|
+
<property name="label" translatable="yes">Name:</property>
|
47
|
+
</object>
|
48
|
+
<packing>
|
49
|
+
<property name="left_attach">0</property>
|
50
|
+
<property name="top_attach">0</property>
|
51
|
+
<property name="width">1</property>
|
52
|
+
<property name="height">1</property>
|
53
|
+
</packing>
|
54
|
+
</child>
|
55
|
+
<child>
|
56
|
+
<object class="GtkLabel" id="label7">
|
57
|
+
<property name="visible">True</property>
|
58
|
+
<property name="can_focus">False</property>
|
59
|
+
<property name="xalign">0.97000002861022949</property>
|
60
|
+
<property name="label" translatable="yes">Address:</property>
|
61
|
+
</object>
|
62
|
+
<packing>
|
63
|
+
<property name="left_attach">0</property>
|
64
|
+
<property name="top_attach">1</property>
|
65
|
+
<property name="width">1</property>
|
66
|
+
<property name="height">1</property>
|
67
|
+
</packing>
|
68
|
+
</child>
|
69
|
+
<child>
|
70
|
+
<object class="GtkLabel" id="label8">
|
71
|
+
<property name="visible">True</property>
|
72
|
+
<property name="can_focus">False</property>
|
73
|
+
<property name="xalign">0.97000002861022949</property>
|
74
|
+
<property name="label" translatable="yes">Email:</property>
|
75
|
+
</object>
|
76
|
+
<packing>
|
77
|
+
<property name="left_attach">0</property>
|
78
|
+
<property name="top_attach">2</property>
|
79
|
+
<property name="width">1</property>
|
80
|
+
<property name="height">1</property>
|
81
|
+
</packing>
|
82
|
+
</child>
|
83
|
+
<child>
|
84
|
+
<object class="GtkLabel" id="label9">
|
85
|
+
<property name="visible">True</property>
|
86
|
+
<property name="can_focus">False</property>
|
87
|
+
<property name="xalign">0.97000002861022949</property>
|
88
|
+
<property name="label" translatable="yes">Phone:</property>
|
89
|
+
</object>
|
90
|
+
<packing>
|
91
|
+
<property name="left_attach">0</property>
|
92
|
+
<property name="top_attach">3</property>
|
93
|
+
<property name="width">1</property>
|
94
|
+
<property name="height">1</property>
|
95
|
+
</packing>
|
96
|
+
</child>
|
97
|
+
<child>
|
98
|
+
<object class="GtkEntry" id="name">
|
99
|
+
<property name="visible">True</property>
|
100
|
+
<property name="can_focus">True</property>
|
101
|
+
<property name="hexpand">True</property>
|
102
|
+
</object>
|
103
|
+
<packing>
|
104
|
+
<property name="left_attach">1</property>
|
105
|
+
<property name="top_attach">0</property>
|
106
|
+
<property name="width">1</property>
|
107
|
+
<property name="height">1</property>
|
108
|
+
</packing>
|
109
|
+
</child>
|
110
|
+
<child>
|
111
|
+
<object class="GtkEntry" id="address">
|
112
|
+
<property name="visible">True</property>
|
113
|
+
<property name="can_focus">True</property>
|
114
|
+
</object>
|
115
|
+
<packing>
|
116
|
+
<property name="left_attach">1</property>
|
117
|
+
<property name="top_attach">1</property>
|
118
|
+
<property name="width">1</property>
|
119
|
+
<property name="height">1</property>
|
120
|
+
</packing>
|
121
|
+
</child>
|
122
|
+
<child>
|
123
|
+
<object class="GtkEntry" id="email">
|
124
|
+
<property name="visible">True</property>
|
125
|
+
<property name="can_focus">True</property>
|
126
|
+
</object>
|
127
|
+
<packing>
|
128
|
+
<property name="left_attach">1</property>
|
129
|
+
<property name="top_attach">2</property>
|
130
|
+
<property name="width">1</property>
|
131
|
+
<property name="height">1</property>
|
132
|
+
</packing>
|
133
|
+
</child>
|
134
|
+
<child>
|
135
|
+
<object class="GtkEntry" id="phone">
|
136
|
+
<property name="visible">True</property>
|
137
|
+
<property name="can_focus">True</property>
|
138
|
+
</object>
|
139
|
+
<packing>
|
140
|
+
<property name="left_attach">1</property>
|
141
|
+
<property name="top_attach">3</property>
|
142
|
+
<property name="width">1</property>
|
143
|
+
<property name="height">1</property>
|
144
|
+
</packing>
|
145
|
+
</child>
|
146
|
+
</object>
|
147
|
+
<packing>
|
148
|
+
<property name="expand">False</property>
|
149
|
+
<property name="fill">True</property>
|
150
|
+
<property name="position">1</property>
|
151
|
+
</packing>
|
152
|
+
</child>
|
153
|
+
<child>
|
154
|
+
<object class="GtkButtonBox" id="buttonbox1">
|
155
|
+
<property name="visible">True</property>
|
156
|
+
<property name="can_focus">False</property>
|
157
|
+
<property name="spacing">10</property>
|
158
|
+
<property name="layout_style">end</property>
|
159
|
+
<child>
|
160
|
+
<object class="GtkButton" id="buttonCancel">
|
161
|
+
<property name="label" translatable="yes">Cancel</property>
|
162
|
+
<property name="visible">True</property>
|
163
|
+
<property name="can_focus">True</property>
|
164
|
+
<property name="receives_default">True</property>
|
165
|
+
</object>
|
166
|
+
<packing>
|
167
|
+
<property name="expand">False</property>
|
168
|
+
<property name="fill">True</property>
|
169
|
+
<property name="position">0</property>
|
170
|
+
</packing>
|
171
|
+
</child>
|
172
|
+
<child>
|
173
|
+
<object class="GtkButton" id="buttonShow">
|
174
|
+
<property name="label" translatable="yes">Show</property>
|
175
|
+
<property name="visible">True</property>
|
176
|
+
<property name="can_focus">True</property>
|
177
|
+
<property name="receives_default">True</property>
|
178
|
+
</object>
|
179
|
+
<packing>
|
180
|
+
<property name="expand">False</property>
|
181
|
+
<property name="fill">True</property>
|
182
|
+
<property name="position">1</property>
|
183
|
+
</packing>
|
184
|
+
</child>
|
185
|
+
</object>
|
186
|
+
<packing>
|
187
|
+
<property name="expand">False</property>
|
188
|
+
<property name="fill">True</property>
|
189
|
+
<property name="position">2</property>
|
190
|
+
</packing>
|
191
|
+
</child>
|
192
|
+
</object>
|
193
|
+
</child>
|
194
|
+
</object>
|
195
|
+
</interface>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
#Updated for Gtk3!
|
4
|
+
|
5
|
+
# ignore -- this is for development, same as require 'vrlib'
|
6
|
+
require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
|
7
|
+
|
8
|
+
# from require_all gem:
|
9
|
+
require_rel 'bin/'
|
10
|
+
|
11
|
+
|
12
|
+
x = DataObjectGUI.new("Harvey Milktoast", "123 Main, Hemet, CA 90090",
|
13
|
+
"harvey@harveyserver.com", "132-243-4323")
|
14
|
+
x.show_glade()
|
15
|
+
|
16
|
+
|
@@ -17,12 +17,8 @@ class MyClass #(change name)
|
|
17
17
|
harvey = @tree.add_row(top)
|
18
18
|
harvey[:name] = "Harvey"
|
19
19
|
harvey[:age] = 60
|
20
|
-
@scrolledwindow1 = @tree
|
20
|
+
@scrolledwindow1 = @tree #adds tree to the scrolledwindow
|
21
21
|
end
|
22
22
|
|
23
|
-
def button1__clicked(*args)
|
24
|
-
@builder["button1"].label = @builder["button1"].label == "Hello World" ? "Goodbye World" : "Hello World"
|
25
|
-
end
|
26
|
-
|
27
23
|
end
|
28
24
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.18.3 -->
|
3
|
+
<interface>
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
5
|
+
<object class="GtkWindow" id="window1">
|
6
|
+
<property name="visible">True</property>
|
7
|
+
<property name="can_focus">False</property>
|
8
|
+
<property name="title" translatable="yes">TreeView Demo</property>
|
9
|
+
<property name="modal">True</property>
|
10
|
+
<property name="window_position">center</property>
|
11
|
+
<property name="default_width">300</property>
|
12
|
+
<property name="default_height">200</property>
|
13
|
+
<child>
|
14
|
+
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
15
|
+
<property name="visible">True</property>
|
16
|
+
<property name="can_focus">True</property>
|
17
|
+
<property name="shadow_type">in</property>
|
18
|
+
<child>
|
19
|
+
<placeholder/>
|
20
|
+
</child>
|
21
|
+
</object>
|
22
|
+
</child>
|
23
|
+
</object>
|
24
|
+
</interface>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
#Updated for Gtk3!
|
4
|
+
|
5
|
+
# ignore -- this is for development, same as: require 'vrlib'
|
6
|
+
require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
|
7
|
+
|
8
|
+
# from require_all gem:
|
9
|
+
require_rel 'bin/'
|
10
|
+
|
11
|
+
|
12
|
+
MyClass.new.show_glade()
|
13
|
+
|
data/skeleton/document/New.glade
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.16.1 -->
|
2
3
|
<interface>
|
3
|
-
<requires lib="gtk+" version="
|
4
|
-
<!-- interface-naming-policy project-wide -->
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
5
5
|
<object class="GtkWindow" id="window1">
|
6
|
-
<property name="
|
6
|
+
<property name="can_focus">False</property>
|
7
7
|
<property name="modal">True</property>
|
8
|
-
<signal name="destroy" handler="destroy_window"/>
|
9
8
|
<child>
|
10
9
|
<placeholder/>
|
11
10
|
</child>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
class MyClass #(change name)
|
3
|
-
|
3
|
+
|
4
4
|
include GladeGUI
|
5
5
|
|
6
6
|
def before_show()
|
@@ -8,7 +8,7 @@ class MyClass #(change name)
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def button1__clicked(*args)
|
11
|
-
@builder["button1"].label =
|
11
|
+
@builder["button1"].label = "Goodbye World"
|
12
12
|
end
|
13
13
|
|
14
14
|
end
|
@@ -1,37 +1,23 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generated with glade 3.18.3 -->
|
2
3
|
<interface>
|
3
|
-
<requires lib="gtk+" version="
|
4
|
-
|
5
|
-
<object class="GtkWindow" id="window1">
|
6
|
-
<property name="visible">True</property>
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
5
|
+
<object class="GtkApplicationWindow" id="window1">
|
7
6
|
<property name="can_focus">False</property>
|
8
|
-
<property name="modal">True</property>
|
9
|
-
<property name="window_position">center-always</property>
|
10
|
-
<property name="default_width">300</property>
|
11
|
-
<property name="default_height">200</property>
|
12
|
-
<signal name="destroy" handler="destroy_window" swapped="no"/>
|
13
7
|
<child>
|
14
|
-
<object class="
|
8
|
+
<object class="GtkButtonBox" id="buttonbox1">
|
15
9
|
<property name="visible">True</property>
|
16
10
|
<property name="can_focus">False</property>
|
11
|
+
<property name="halign">center</property>
|
12
|
+
<property name="valign">center</property>
|
13
|
+
<property name="orientation">vertical</property>
|
14
|
+
<property name="layout_style">start</property>
|
17
15
|
<child>
|
18
|
-
<object class="
|
16
|
+
<object class="GtkButton" id="button1">
|
17
|
+
<property name="label" translatable="yes">button</property>
|
19
18
|
<property name="visible">True</property>
|
20
|
-
<property name="can_focus">
|
21
|
-
<
|
22
|
-
<object class="GtkButton" id="button1">
|
23
|
-
<property name="label" translatable="yes">button</property>
|
24
|
-
<property name="visible">True</property>
|
25
|
-
<property name="can_focus">True</property>
|
26
|
-
<property name="receives_default">True</property>
|
27
|
-
<property name="use_action_appearance">False</property>
|
28
|
-
</object>
|
29
|
-
<packing>
|
30
|
-
<property name="expand">False</property>
|
31
|
-
<property name="fill">False</property>
|
32
|
-
<property name="position">0</property>
|
33
|
-
</packing>
|
34
|
-
</child>
|
19
|
+
<property name="can_focus">True</property>
|
20
|
+
<property name="receives_default">True</property>
|
35
21
|
</object>
|
36
22
|
<packing>
|
37
23
|
<property name="expand">True</property>
|
data/skeleton/project/main.rb
CHANGED
@@ -1,14 +1,10 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
2
|
|
3
|
-
require
|
3
|
+
require "vrlib"
|
4
4
|
|
5
|
-
#
|
6
|
-
|
7
|
-
STDERR.sync = true
|
5
|
+
# from require_all gem:
|
6
|
+
require_rel 'bin/'
|
8
7
|
|
9
|
-
#everything in these directories will be included
|
10
|
-
my_path = File.expand_path(File.dirname(__FILE__))
|
11
|
-
require_all Dir.glob(my_path + "/bin/**/*.rb")
|
12
8
|
|
13
|
-
MyClass.new.
|
9
|
+
MyClass.new.show_glade()
|
14
10
|
|
data/vr
CHANGED
@@ -1,37 +1,41 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
require "
|
5
|
-
require "
|
6
|
-
require "
|
7
|
-
require "net/
|
8
|
-
require "
|
9
|
-
require "
|
10
|
-
require "
|
11
|
-
require "rubygems/
|
12
|
-
require "rubygems/
|
13
|
-
require "rubygems/
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
require "gtk3"
|
2
|
+
|
3
|
+
def load_everything
|
4
|
+
require "rubygems"
|
5
|
+
require "gtksourceview3"
|
6
|
+
require "yaml" #needed
|
7
|
+
require "net/http" #needed
|
8
|
+
require "net/https" #needed
|
9
|
+
require "find" #needed
|
10
|
+
require "fileutils" #needed
|
11
|
+
require "rubygems/installer"
|
12
|
+
require "rubygems/uninstaller"
|
13
|
+
require "rubygems/package"
|
14
|
+
require "rubygems/specification"
|
15
|
+
require "date"
|
16
|
+
|
17
|
+
require 'require_all'
|
18
|
+
|
19
|
+
require_rel 'vrlib/lib/'
|
20
|
+
require_rel 'bin/'
|
21
|
+
|
22
|
+
VR_Main.new(ARGV).show_glade()
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
$splash = Gtk::Window.new()
|
27
|
+
$splash.type_hint = :dialog
|
28
|
+
$splash.position = :center_always
|
29
|
+
$splash.add Gtk::Image.new(:file => File.join(File.dirname(__FILE__), "img", "splash.png"))
|
30
|
+
$splash.decorated = false
|
31
|
+
|
32
|
+
$splash.show_all
|
33
|
+
|
34
|
+
|
35
|
+
GLib::Timeout.add(40) {
|
36
|
+
load_everything
|
37
|
+
}
|
38
|
+
|
39
|
+
Gtk.main
|
40
|
+
|
41
|
+
|
data/vrlib/lib/Alert.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
|
2
|
+
module VR
|
3
|
+
|
4
|
+
class Alert
|
5
|
+
|
6
|
+
attr_accessor :answer
|
7
|
+
|
8
|
+
include GladeGUI
|
9
|
+
|
10
|
+
def initialize(message, answer, flags = {})
|
11
|
+
@flags = flags
|
12
|
+
@answer = answer
|
13
|
+
@message = message
|
14
|
+
@p = nil
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
def before_show
|
19
|
+
@flags[:title] = @flags[:title] ? @flags[:title] : @flags[:headline]
|
20
|
+
@builder[:window1].title = @flags[:title] if @flags[:title]
|
21
|
+
@builder[:window1].resize(@flags[:width],100) if @flags[:width].to_i > 100
|
22
|
+
@builder[:headline].show if @flags[:headline]
|
23
|
+
|
24
|
+
if text = @flags[:input_text]
|
25
|
+
@flags[:button_yes] ||= "Save"
|
26
|
+
@flags[:button_no] ||= "Cancel"
|
27
|
+
@builder[:input_text].show
|
28
|
+
end
|
29
|
+
|
30
|
+
@builder[:button_no].show if @flags[:button_no]
|
31
|
+
@builder[:button_cancel].show if @flags[:button_cancel]
|
32
|
+
set_glade_hash(@flags)
|
33
|
+
end
|
34
|
+
|
35
|
+
def button_yes__clicked(but)
|
36
|
+
@answer.answer = @flags[:input_text] ? @builder[:input_text].text : true
|
37
|
+
@builder[:window1].destroy
|
38
|
+
end
|
39
|
+
|
40
|
+
def button_no__clicked(but)
|
41
|
+
@answer.answer = false
|
42
|
+
@builder[:window1].destroy
|
43
|
+
end
|
44
|
+
|
45
|
+
def button_cancel__clicked(but) #answer stays nil
|
46
|
+
@builder[:window1].destroy
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
#so it can be passed by reference
|
53
|
+
class DialogAnswer
|
54
|
+
attr_accessor :answer
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
def alert(msg, flags = {})
|
61
|
+
@answer = VR::DialogAnswer.new()
|
62
|
+
VR::Alert.new(msg, @answer, flags).show_glade(flags[:parent])
|
63
|
+
return @answer.answer
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
|
@@ -0,0 +1,90 @@
|
|
1
|
+
#nodoc
|
2
|
+
|
3
|
+
module VR
|
4
|
+
|
5
|
+
module Draggable
|
6
|
+
def add_target_widget(widget)
|
7
|
+
@target_widgets ||= []
|
8
|
+
@target_widgets << widget
|
9
|
+
ar = [[ self.object_id.to_s, :same_app, 12_345]]
|
10
|
+
drag_source_set(Gdk::ModifierType::BUTTON1_MASK |
|
11
|
+
Gdk::ModifierType::BUTTON2_MASK,
|
12
|
+
ar,
|
13
|
+
Gdk::DragAction::COPY |
|
14
|
+
Gdk::DragAction::MOVE)
|
15
|
+
widget.extend(VR::Droppable) unless widget.is_a?(VR::Droppable)
|
16
|
+
widget.add_source_widget(self)
|
17
|
+
# if not self.respond_to?(:drag_begin)
|
18
|
+
self.signal_connect("drag_begin") do |widget, context|
|
19
|
+
@target_widgets.each { |widg| widg.dragged_widget = self }
|
20
|
+
end
|
21
|
+
# end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module Droppable
|
26
|
+
|
27
|
+
attr_accessor :dragged_widget, :source_widgets
|
28
|
+
|
29
|
+
|
30
|
+
@dragged_widget = nil
|
31
|
+
|
32
|
+
def add_source_widget(widget)
|
33
|
+
@source_widgets ||= []
|
34
|
+
@source_widgets << [widget.object_id.to_s, :same_app, 12_345]
|
35
|
+
drag_dest_set(Gtk::DestDefaults::MOTION |
|
36
|
+
Gtk::DestDefaults::HIGHLIGHT,
|
37
|
+
@source_widgets,
|
38
|
+
Gdk::DragAction::COPY |
|
39
|
+
Gdk::DragAction::MOVE)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# module DragDrop
|
46
|
+
#
|
47
|
+
# attr_accessor :dragged_widget, :drag_array
|
48
|
+
#
|
49
|
+
# def drag_array(element = nil)
|
50
|
+
# @dnd ||= []
|
51
|
+
# @dnd.push(element) if not element.nil?
|
52
|
+
# return @dnd
|
53
|
+
# end
|
54
|
+
#
|
55
|
+
#
|
56
|
+
# def drag_to(target_widget) #Gdk::Window::BUTTON1_MASK)
|
57
|
+
#
|
58
|
+
# @target_widgets ||= []
|
59
|
+
# @target_widgets << target_widget
|
60
|
+
#
|
61
|
+
## @drag_array ||= []
|
62
|
+
## @drag_array <<
|
63
|
+
#
|
64
|
+
# ar = [[ self.object_id.to_s, :same_app, 12_345]]
|
65
|
+
# drag_source_set(Gdk::ModifierType::BUTTON1_MASK |
|
66
|
+
# Gdk::ModifierType::BUTTON2_MASK,
|
67
|
+
# ar,
|
68
|
+
# Gdk::DragAction::COPY |
|
69
|
+
# Gdk::DragAction::MOVE)
|
70
|
+
#
|
71
|
+
# ar = target_widget.drag_array([ self.object_id.to_s, :same_app, 12_345])
|
72
|
+
# target_widget.drag_dest_set(Gtk::DestDefaults::MOTION |
|
73
|
+
# Gtk::DestDefaults::HIGHLIGHT,
|
74
|
+
# ar,
|
75
|
+
# Gdk::DragAction::COPY |
|
76
|
+
# Gdk::DragAction::MOVE)
|
77
|
+
#
|
78
|
+
# if not @done
|
79
|
+
# @done = true
|
80
|
+
# self.signal_connect("drag_begin") do |widget, context|
|
81
|
+
# @target_widgets.each { |widg| widg.dragged_widget = self }
|
82
|
+
# end
|
83
|
+
# end
|
84
|
+
#
|
85
|
+
# end
|
86
|
+
#
|
87
|
+
# end
|
88
|
+
#
|
89
|
+
#end
|
90
|
+
|