visualruby 1.0.19 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/Splash.rb +40 -0
  3. data/bin/editor/VR_Document.rb +81 -74
  4. data/bin/editor/VR_TabSearch.rb +5 -7
  5. data/bin/editor/VR_Tabs.rb +57 -36
  6. data/bin/editor/VR_TextShell.rb +12 -34
  7. data/bin/editor/VR_TextViewCommon.rb +9 -28
  8. data/bin/main/NewProjectGUI.rb +14 -13
  9. data/bin/main/OpenProject.rb +69 -0
  10. data/bin/main/ProjectChooserView.rb +3 -2
  11. data/bin/main/ProjectTree.rb +25 -0
  12. data/bin/main/RubygemsAPI.rb +15 -11
  13. data/bin/main/VR_ENV.rb +38 -60
  14. data/bin/main/VR_ENV_GLOBAL.rb +45 -44
  15. data/bin/main/VR_File_Tree.rb +29 -21
  16. data/bin/main/VR_Local_Gem_Tree.rb +4 -19
  17. data/bin/main/VR_Main.rb +128 -144
  18. data/bin/main/VR_Remote_Gem_Tree.rb +6 -19
  19. data/bin/main/glade/NewProjectGUI.glade +94 -98
  20. data/bin/main/glade/OpenProject.glade +259 -0
  21. data/bin/main/glade/RubygemsAPI.glade +98 -62
  22. data/bin/main/glade/VR_ENV.glade +46 -55
  23. data/bin/main/glade/VR_ENV_GLOBAL.glade +251 -180
  24. data/bin/main/glade/VR_File_Tree.glade +25 -16
  25. data/bin/main/glade/VR_Local_Gem_Tree.glade +16 -8
  26. data/bin/main/glade/VR_Main.glade +410 -449
  27. data/bin/main/glade/VR_Remote_Gem_Tree.glade +33 -31
  28. data/bin/tools/VR_Tools.rb +60 -46
  29. data/{visualruby_examples → examples}/active_record/active_record.rb +16 -10
  30. data/{visualruby_examples → examples}/active_record/bin/ChoosePerson.rb +7 -0
  31. data/examples/active_record/bin/Person.rb +21 -0
  32. data/examples/active_record/bin/glade/ChoosePerson.glade +89 -0
  33. data/examples/active_record/bin/glade/Person.glade +197 -0
  34. data/{visualruby_examples → examples}/active_record/db/development.sqlite3 +0 -0
  35. data/{visualruby_examples → examples}/active_record2/bin/CompanyGUI.rb +7 -7
  36. data/{visualruby_examples → examples}/active_record2/bin/Employee.rb +0 -0
  37. data/{visualruby_examples → examples}/active_record2/bin/Employer.rb +0 -0
  38. data/{visualruby_examples → examples}/active_record2/bin/Paycheck.rb +0 -0
  39. data/examples/active_record2/bin/glade/CompanyGUI.glade +149 -0
  40. data/examples/active_record2/bin/glade/Employee.glade +126 -0
  41. data/{visualruby_examples → examples}/active_record2/bin/glade/Employer.glade +0 -0
  42. data/{visualruby_examples → examples}/active_record2/bin/glade/Paycheck.glade +0 -0
  43. data/{visualruby_examples → examples}/active_record2/db/development.sqlite3 +0 -0
  44. data/{visualruby_examples → examples}/active_record2/main.rb +15 -9
  45. data/examples/alert_box/bin/AlertBoxDemo.rb +80 -0
  46. data/examples/alert_box/bin/glade/AlertBoxDemo.glade +234 -0
  47. data/examples/alert_box/main.rb +12 -0
  48. data/{visualruby_examples → examples}/all_widgets/bin/AllWidgets.rb +18 -10
  49. data/{visualruby_examples → examples}/all_widgets/bin/glade/AllWidgets.glade +52 -16
  50. data/{visualruby_examples → examples}/all_widgets/bin/splash.png +0 -0
  51. data/examples/all_widgets/main.rb +12 -0
  52. data/{visualruby_examples → examples}/calculator/bin/Calculator.rb +23 -22
  53. data/{visualruby_examples → examples}/calculator/bin/glade/Calculator.glade +81 -51
  54. data/examples/calculator/main.rb +13 -0
  55. data/examples/child_window/bin/ChildWindowDemo.rb +52 -0
  56. data/examples/child_window/bin/ModalWindow.rb +9 -0
  57. data/examples/child_window/bin/ModelessWindow.rb +9 -0
  58. data/examples/child_window/bin/MyChildClass.rb +21 -0
  59. data/examples/child_window/bin/glade/ChildWindowDemo.glade +87 -0
  60. data/examples/child_window/bin/glade/ModalWindow.glade +61 -0
  61. data/examples/child_window/bin/glade/ModelessWindow.glade +61 -0
  62. data/{visualruby_examples → examples}/child_window/bin/glade/MyChildClass.glade +14 -12
  63. data/examples/child_window/main.rb +12 -0
  64. data/{visualruby_examples → examples}/drag_drop/bin/DragDropDemo.rb +9 -10
  65. data/examples/drag_drop/bin/glade/DragDropDemo.glade +161 -0
  66. data/{visualruby_examples → examples}/drag_drop/img/folder.png +0 -0
  67. data/{visualruby_examples → examples}/drag_drop/img/glade.png +0 -0
  68. data/{visualruby_examples → examples}/drag_drop/img/gtk-edit.png +0 -0
  69. data/{visualruby_examples → examples}/drag_drop/img/obj.png +0 -0
  70. data/{visualruby_examples → examples}/drag_drop/img/png.png +0 -0
  71. data/{visualruby_examples → examples}/drag_drop/img/rb.png +0 -0
  72. data/{visualruby_examples → examples}/drag_drop/img/ruby.png +0 -0
  73. data/{visualruby_examples → examples}/drag_drop/img/unknown.png +0 -0
  74. data/examples/drag_drop/main.rb +11 -0
  75. data/examples/filetreeview/bin/ProjectTree.rb +32 -0
  76. data/examples/filetreeview/bin/ProjectTreeGUI.rb +28 -0
  77. data/examples/filetreeview/bin/glade/ProjectTreeGUI.glade +156 -0
  78. data/examples/filetreeview/main.rb +13 -0
  79. data/{visualruby_examples → examples}/listview/bin/SongListView.rb +24 -20
  80. data/{visualruby_examples → examples}/listview/bin/SongListViewGUI.rb +12 -11
  81. data/{visualruby_examples → examples}/listview/bin/audio-x-generic.png +0 -0
  82. data/examples/listview/bin/glade/SongListViewGUI.glade +195 -0
  83. data/examples/listview/main.rb +10 -0
  84. data/examples/listview_objects/bin/DataObject.rb +53 -0
  85. data/{visualruby_examples → examples}/listview_objects/bin/ListViewObjects.rb +7 -4
  86. data/examples/listview_objects/bin/ListViewObjectsGUI.rb +26 -0
  87. data/examples/listview_objects/bin/glade/DataObject.glade +196 -0
  88. data/examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +87 -0
  89. data/examples/listview_objects/main.rb +12 -0
  90. data/examples/settings_file/bin/MainApp.rb +38 -0
  91. data/examples/settings_file/bin/SavableSettings.rb +39 -0
  92. data/examples/settings_file/bin/glade/MainApp.glade +87 -0
  93. data/examples/settings_file/bin/glade/SavableSettings.glade +162 -0
  94. data/examples/settings_file/main.rb +14 -0
  95. data/examples/settings_file/settings.yaml +15 -0
  96. data/examples/simple_ruby_gui/bin/DataObjectGUI.rb +21 -0
  97. data/examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +195 -0
  98. data/examples/simple_ruby_gui/main.rb +16 -0
  99. data/{visualruby_examples → examples}/treeview/bin/MyClass.rb +1 -5
  100. data/examples/treeview/bin/glade/MyClass.glade +24 -0
  101. data/examples/treeview/main.rb +13 -0
  102. data/skeleton/document/New.glade +3 -4
  103. data/skeleton/document/NewWindow.rb +1 -1
  104. data/skeleton/project/bin/MyClass.rb +2 -2
  105. data/skeleton/project/bin/glade/MyClass.glade +12 -26
  106. data/skeleton/project/main.rb +4 -8
  107. data/vr +41 -37
  108. data/vrlib/lib/Alert.rb +67 -0
  109. data/vrlib/lib/DragDrop.rb +90 -0
  110. data/vrlib/lib/GladeGUI.rb +433 -0
  111. data/vrlib/lib/IconHash.rb +18 -0
  112. data/vrlib/lib/SavableClass.rb +56 -0
  113. data/vrlib/lib/SimpleComboBoxEntry.rb +8 -0
  114. data/vrlib/lib/glade/Alert.glade +119 -0
  115. data/vrlib/lib/treeview/FileTreeView.rb +113 -0
  116. data/vrlib/lib/treeview/IterMethods.rb +82 -0
  117. data/vrlib/lib/treeview/ListView.rb +85 -0
  118. data/vrlib/lib/treeview/TreeView.rb +43 -0
  119. data/vrlib/lib/treeview/ViewCommon.rb +370 -0
  120. data/vrlib/lib/treeview/columns/CalendarCol.rb +89 -0
  121. data/vrlib/lib/treeview/columns/CellRendererCombo.rb +66 -0
  122. data/vrlib/lib/treeview/columns/CellRendererDate.rb +45 -0
  123. data/vrlib/lib/treeview/columns/CellRendererObject.rb +57 -0
  124. data/vrlib/lib/treeview/columns/CellRendererPhone.rb +45 -0
  125. data/vrlib/lib/treeview/columns/CellRendererPixbuf.rb +16 -0
  126. data/vrlib/lib/treeview/columns/CellRendererProgress.rb +17 -0
  127. data/vrlib/lib/treeview/columns/CellRendererSpin.rb +37 -0
  128. data/vrlib/lib/treeview/columns/CellRendererText.rb +38 -0
  129. data/vrlib/lib/treeview/columns/CellRendererToggle.rb +47 -0
  130. data/vrlib/lib/treeview/columns/ComboCol.rb +43 -0
  131. data/vrlib/lib/treeview/columns/CurrencyCol.rb +23 -0
  132. data/vrlib/lib/treeview/columns/DateCol.rb +20 -0
  133. data/vrlib/lib/treeview/columns/ImageCol.rb +27 -0
  134. data/vrlib/lib/treeview/columns/ProgressCol.rb +27 -0
  135. data/vrlib/lib/treeview/columns/SpinCol.rb +11 -0
  136. data/vrlib/lib/treeview/columns/TextCol.rb +65 -0
  137. data/vrlib/lib/treeview/columns/TreeViewColumn.rb +93 -0
  138. data/{bin/main/glade/ProjectChooserGUI.glade → vrlib/lib/treeview/columns/glade/CalendarCol.glade} +71 -63
  139. data/{bin/main/glade/Splash.glade → vrlib/lib/treeview/columns/glade/ImageCol.glade} +5 -6
  140. data/vrlib/lib/treeview/columns/glade/TextCol.glade +82 -0
  141. data/vrlib/rdoc_replace.yaml +77 -0
  142. data/vrlib/vrlib.rb +7 -0
  143. metadata +163 -136
  144. data/bin/editor/glade/VR_Document.glade +0 -160
  145. data/bin/main/ProjectChooserGUI.rb +0 -41
  146. data/bin/main/Splash.rb +0 -22
  147. data/visualruby_examples/active_record/.vr_settings.yaml +0 -47
  148. data/visualruby_examples/active_record/bin/Person.rb +0 -13
  149. data/visualruby_examples/active_record/bin/glade/ChoosePerson.glade +0 -61
  150. data/visualruby_examples/active_record/bin/glade/Person.glade +0 -148
  151. data/visualruby_examples/active_record2/.vr_settings.yaml +0 -16
  152. data/visualruby_examples/active_record2/bin/glade/CompanyGUI.glade +0 -167
  153. data/visualruby_examples/active_record2/bin/glade/Employee.glade +0 -123
  154. data/visualruby_examples/all_widgets/.vr_settings.yaml +0 -13
  155. data/visualruby_examples/all_widgets/main.rb +0 -14
  156. data/visualruby_examples/calculator/.vr_settings.yaml +0 -11
  157. data/visualruby_examples/calculator/main.rb +0 -13
  158. data/visualruby_examples/child_window/.vr_settings.yaml +0 -16
  159. data/visualruby_examples/child_window/bin/ChildWindowDemo.rb +0 -39
  160. data/visualruby_examples/child_window/bin/MyChildClass.rb +0 -40
  161. data/visualruby_examples/child_window/bin/glade/ChildWindowDemo.glade +0 -101
  162. data/visualruby_examples/child_window/main.rb +0 -13
  163. data/visualruby_examples/drag_drop/.vr_settings.yaml +0 -12
  164. data/visualruby_examples/drag_drop/bin/glade/DragDropDemo.glade +0 -143
  165. data/visualruby_examples/drag_drop/main.rb +0 -14
  166. data/visualruby_examples/listview/.vr_settings.yaml +0 -12
  167. data/visualruby_examples/listview/bin/glade/SongListViewGUI.glade +0 -220
  168. data/visualruby_examples/listview/main.rb +0 -19
  169. data/visualruby_examples/listview_objects/.vr_settings.yaml +0 -16
  170. data/visualruby_examples/listview_objects/bin/DataObject.rb +0 -32
  171. data/visualruby_examples/listview_objects/bin/DataObjectGUI.rb +0 -41
  172. data/visualruby_examples/listview_objects/bin/ListViewObjectsGUI.rb +0 -18
  173. data/visualruby_examples/listview_objects/bin/glade/DataObject.glade +0 -198
  174. data/visualruby_examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +0 -102
  175. data/visualruby_examples/listview_objects/main.rb +0 -13
  176. data/visualruby_examples/simple_ruby_gui/.vr_settings.yaml +0 -16
  177. data/visualruby_examples/simple_ruby_gui/bin/DataObjectGUI.rb +0 -20
  178. data/visualruby_examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +0 -163
  179. data/visualruby_examples/simple_ruby_gui/main.rb +0 -16
  180. data/visualruby_examples/treeview/.vr_settings.yaml +0 -12
  181. data/visualruby_examples/treeview/bin/glade/MyClass.glade +0 -48
  182. data/visualruby_examples/treeview/main.rb +0 -14
@@ -1,41 +1,57 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.16.1 -->
2
3
  <interface>
3
- <requires lib="gtk+" version="2.16"/>
4
- <!-- interface-naming-policy project-wide -->
4
+ <requires lib="gtk+" version="3.0"/>
5
5
  <object class="GtkWindow" id="window1">
6
- <property name="visible">True</property>
7
- <property name="window_position">center-always</property>
8
- <signal name="destroy" handler="destroy_window"/>
6
+ <property name="can_focus">False</property>
7
+ <property name="window_position">center</property>
9
8
  <child>
10
- <object class="GtkVBox" id="vbox1">
9
+ <object class="GtkBox" id="box1">
11
10
  <property name="visible">True</property>
11
+ <property name="can_focus">False</property>
12
+ <property name="margin_left">8</property>
13
+ <property name="margin_right">8</property>
14
+ <property name="margin_top">8</property>
15
+ <property name="margin_bottom">12</property>
16
+ <property name="orientation">vertical</property>
17
+ <property name="spacing">8</property>
12
18
  <child>
13
19
  <object class="GtkEntry" id="display">
14
20
  <property name="visible">True</property>
15
- <property name="can_focus">True</property>
21
+ <property name="can_focus">False</property>
16
22
  <property name="editable">False</property>
17
- <property name="invisible_char">•</property>
18
23
  <property name="xalign">1</property>
19
24
  </object>
20
25
  <packing>
26
+ <property name="expand">False</property>
27
+ <property name="fill">True</property>
21
28
  <property name="position">0</property>
22
29
  </packing>
23
30
  </child>
24
31
  <child>
25
- <object class="GtkTable" id="table1">
32
+ <object class="GtkGrid" id="grid1">
26
33
  <property name="visible">True</property>
27
- <property name="n_rows">4</property>
28
- <property name="n_columns">4</property>
34
+ <property name="can_focus">False</property>
35
+ <property name="row_spacing">3</property>
36
+ <property name="column_spacing">3</property>
37
+ <property name="row_homogeneous">True</property>
38
+ <property name="column_homogeneous">True</property>
29
39
  <child>
30
- <object class="GtkButton" id="Calculator.keys[0]">
40
+ <object class="GtkButton" id="button[0]">
31
41
  <property name="label" translatable="yes">button</property>
32
42
  <property name="visible">True</property>
33
43
  <property name="can_focus">True</property>
34
44
  <property name="receives_default">True</property>
35
45
  </object>
46
+ <packing>
47
+ <property name="left_attach">0</property>
48
+ <property name="top_attach">0</property>
49
+ <property name="width">1</property>
50
+ <property name="height">1</property>
51
+ </packing>
36
52
  </child>
37
53
  <child>
38
- <object class="GtkButton" id="Calculator.keys[1]">
54
+ <object class="GtkButton" id="button[1]">
39
55
  <property name="label" translatable="yes">button</property>
40
56
  <property name="visible">True</property>
41
57
  <property name="can_focus">True</property>
@@ -43,11 +59,13 @@
43
59
  </object>
44
60
  <packing>
45
61
  <property name="left_attach">1</property>
46
- <property name="right_attach">2</property>
62
+ <property name="top_attach">0</property>
63
+ <property name="width">1</property>
64
+ <property name="height">1</property>
47
65
  </packing>
48
66
  </child>
49
67
  <child>
50
- <object class="GtkButton" id="Calculator.keys[2]">
68
+ <object class="GtkButton" id="button[2]">
51
69
  <property name="label" translatable="yes">button</property>
52
70
  <property name="visible">True</property>
53
71
  <property name="can_focus">True</property>
@@ -55,11 +73,13 @@
55
73
  </object>
56
74
  <packing>
57
75
  <property name="left_attach">2</property>
58
- <property name="right_attach">3</property>
76
+ <property name="top_attach">0</property>
77
+ <property name="width">1</property>
78
+ <property name="height">1</property>
59
79
  </packing>
60
80
  </child>
61
81
  <child>
62
- <object class="GtkButton" id="Calculator.keys[3]">
82
+ <object class="GtkButton" id="button[3]">
63
83
  <property name="label" translatable="yes">button</property>
64
84
  <property name="visible">True</property>
65
85
  <property name="can_focus">True</property>
@@ -67,23 +87,27 @@
67
87
  </object>
68
88
  <packing>
69
89
  <property name="left_attach">3</property>
70
- <property name="right_attach">4</property>
90
+ <property name="top_attach">0</property>
91
+ <property name="width">1</property>
92
+ <property name="height">1</property>
71
93
  </packing>
72
94
  </child>
73
95
  <child>
74
- <object class="GtkButton" id="Calculator.keys[4]">
96
+ <object class="GtkButton" id="button[4]">
75
97
  <property name="label" translatable="yes">button</property>
76
98
  <property name="visible">True</property>
77
99
  <property name="can_focus">True</property>
78
100
  <property name="receives_default">True</property>
79
101
  </object>
80
102
  <packing>
103
+ <property name="left_attach">0</property>
81
104
  <property name="top_attach">1</property>
82
- <property name="bottom_attach">2</property>
105
+ <property name="width">1</property>
106
+ <property name="height">1</property>
83
107
  </packing>
84
108
  </child>
85
109
  <child>
86
- <object class="GtkButton" id="Calculator.keys[5]">
110
+ <object class="GtkButton" id="button[5]">
87
111
  <property name="label" translatable="yes">button</property>
88
112
  <property name="visible">True</property>
89
113
  <property name="can_focus">True</property>
@@ -91,13 +115,13 @@
91
115
  </object>
92
116
  <packing>
93
117
  <property name="left_attach">1</property>
94
- <property name="right_attach">2</property>
95
118
  <property name="top_attach">1</property>
96
- <property name="bottom_attach">2</property>
119
+ <property name="width">1</property>
120
+ <property name="height">1</property>
97
121
  </packing>
98
122
  </child>
99
123
  <child>
100
- <object class="GtkButton" id="keys[6]">
124
+ <object class="GtkButton" id="button[6]">
101
125
  <property name="label" translatable="yes">button</property>
102
126
  <property name="visible">True</property>
103
127
  <property name="can_focus">True</property>
@@ -105,13 +129,13 @@
105
129
  </object>
106
130
  <packing>
107
131
  <property name="left_attach">2</property>
108
- <property name="right_attach">3</property>
109
132
  <property name="top_attach">1</property>
110
- <property name="bottom_attach">2</property>
133
+ <property name="width">1</property>
134
+ <property name="height">1</property>
111
135
  </packing>
112
136
  </child>
113
137
  <child>
114
- <object class="GtkButton" id="Calculator.keys[7]">
138
+ <object class="GtkButton" id="button[7]">
115
139
  <property name="label" translatable="yes">button</property>
116
140
  <property name="visible">True</property>
117
141
  <property name="can_focus">True</property>
@@ -119,25 +143,27 @@
119
143
  </object>
120
144
  <packing>
121
145
  <property name="left_attach">3</property>
122
- <property name="right_attach">4</property>
123
146
  <property name="top_attach">1</property>
124
- <property name="bottom_attach">2</property>
147
+ <property name="width">1</property>
148
+ <property name="height">1</property>
125
149
  </packing>
126
150
  </child>
127
151
  <child>
128
- <object class="GtkButton" id="Calculator.keys[8]">
152
+ <object class="GtkButton" id="button[8]">
129
153
  <property name="label" translatable="yes">button</property>
130
154
  <property name="visible">True</property>
131
155
  <property name="can_focus">True</property>
132
156
  <property name="receives_default">True</property>
133
157
  </object>
134
158
  <packing>
159
+ <property name="left_attach">0</property>
135
160
  <property name="top_attach">2</property>
136
- <property name="bottom_attach">3</property>
161
+ <property name="width">1</property>
162
+ <property name="height">1</property>
137
163
  </packing>
138
164
  </child>
139
165
  <child>
140
- <object class="GtkButton" id="Calculator.keys[9]">
166
+ <object class="GtkButton" id="button[9]">
141
167
  <property name="label" translatable="yes">button</property>
142
168
  <property name="visible">True</property>
143
169
  <property name="can_focus">True</property>
@@ -145,13 +171,13 @@
145
171
  </object>
146
172
  <packing>
147
173
  <property name="left_attach">1</property>
148
- <property name="right_attach">2</property>
149
174
  <property name="top_attach">2</property>
150
- <property name="bottom_attach">3</property>
175
+ <property name="width">1</property>
176
+ <property name="height">1</property>
151
177
  </packing>
152
178
  </child>
153
179
  <child>
154
- <object class="GtkButton" id="Calculator.keys[10]">
180
+ <object class="GtkButton" id="button[10]">
155
181
  <property name="label" translatable="yes">button</property>
156
182
  <property name="visible">True</property>
157
183
  <property name="can_focus">True</property>
@@ -159,13 +185,13 @@
159
185
  </object>
160
186
  <packing>
161
187
  <property name="left_attach">2</property>
162
- <property name="right_attach">3</property>
163
188
  <property name="top_attach">2</property>
164
- <property name="bottom_attach">3</property>
189
+ <property name="width">1</property>
190
+ <property name="height">1</property>
165
191
  </packing>
166
192
  </child>
167
193
  <child>
168
- <object class="GtkButton" id="Calculator.keys[11]">
194
+ <object class="GtkButton" id="button[11]">
169
195
  <property name="label" translatable="yes">button</property>
170
196
  <property name="visible">True</property>
171
197
  <property name="can_focus">True</property>
@@ -173,25 +199,27 @@
173
199
  </object>
174
200
  <packing>
175
201
  <property name="left_attach">3</property>
176
- <property name="right_attach">4</property>
177
202
  <property name="top_attach">2</property>
178
- <property name="bottom_attach">3</property>
203
+ <property name="width">1</property>
204
+ <property name="height">1</property>
179
205
  </packing>
180
206
  </child>
181
207
  <child>
182
- <object class="GtkButton" id="Calculator.keys[12]">
208
+ <object class="GtkButton" id="button[12]">
183
209
  <property name="label" translatable="yes">button</property>
184
210
  <property name="visible">True</property>
185
211
  <property name="can_focus">True</property>
186
212
  <property name="receives_default">True</property>
187
213
  </object>
188
214
  <packing>
215
+ <property name="left_attach">0</property>
189
216
  <property name="top_attach">3</property>
190
- <property name="bottom_attach">4</property>
217
+ <property name="width">1</property>
218
+ <property name="height">1</property>
191
219
  </packing>
192
220
  </child>
193
221
  <child>
194
- <object class="GtkButton" id="Calculator.keys[13]">
222
+ <object class="GtkButton" id="button[13]">
195
223
  <property name="label" translatable="yes">button</property>
196
224
  <property name="visible">True</property>
197
225
  <property name="can_focus">True</property>
@@ -199,13 +227,13 @@
199
227
  </object>
200
228
  <packing>
201
229
  <property name="left_attach">1</property>
202
- <property name="right_attach">2</property>
203
230
  <property name="top_attach">3</property>
204
- <property name="bottom_attach">4</property>
231
+ <property name="width">1</property>
232
+ <property name="height">1</property>
205
233
  </packing>
206
234
  </child>
207
235
  <child>
208
- <object class="GtkButton" id="Calculator.keys[14]">
236
+ <object class="GtkButton" id="button[14]">
209
237
  <property name="label" translatable="yes">button</property>
210
238
  <property name="visible">True</property>
211
239
  <property name="can_focus">True</property>
@@ -213,13 +241,13 @@
213
241
  </object>
214
242
  <packing>
215
243
  <property name="left_attach">2</property>
216
- <property name="right_attach">3</property>
217
244
  <property name="top_attach">3</property>
218
- <property name="bottom_attach">4</property>
245
+ <property name="width">1</property>
246
+ <property name="height">1</property>
219
247
  </packing>
220
248
  </child>
221
249
  <child>
222
- <object class="GtkButton" id="Calculator.keys[15]">
250
+ <object class="GtkButton" id="button[15]">
223
251
  <property name="label" translatable="yes">button</property>
224
252
  <property name="visible">True</property>
225
253
  <property name="can_focus">True</property>
@@ -227,13 +255,15 @@
227
255
  </object>
228
256
  <packing>
229
257
  <property name="left_attach">3</property>
230
- <property name="right_attach">4</property>
231
258
  <property name="top_attach">3</property>
232
- <property name="bottom_attach">4</property>
259
+ <property name="width">1</property>
260
+ <property name="height">1</property>
233
261
  </packing>
234
262
  </child>
235
263
  </object>
236
264
  <packing>
265
+ <property name="expand">False</property>
266
+ <property name="fill">True</property>
237
267
  <property name="position">1</property>
238
268
  </packing>
239
269
  </child>
@@ -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
+ Calculator.new.show_glade()
13
+
@@ -0,0 +1,52 @@
1
+
2
+ ##
3
+ # This is a "main" GUI class for a program. It allows you
4
+ # to open modal and non-modal windows.
5
+ #
6
+ # Modal windows are
7
+ # windows that appear on top of the main program window and
8
+ # halt the main window until they are closed. They're good for
9
+ # dialogs etc.
10
+ #
11
+ # Normal non-modal windows operate concurrently with the main
12
+ # window and each other. You can open many child windows, and they
13
+ # will all function at the same time. For example, they're useful if you're
14
+ # opening several documents at the same time.
15
+ #
16
+ # To open a modal window, set the "modal" property in glade then call the show_glade()
17
+ # method with the parent
18
+ # as the aregument. Almost always, you will be calling the show method
19
+ # from within the parent window so you would pass "self" as the argument:
20
+ #
21
+ # ChildWindow.new.show_glade(self)
22
+ #
23
+ # This line would open a new ChildWindow window that always appears on top
24
+ # of the parent (self) window, and freezes the parent window until it closes.
25
+ #
26
+
27
+
28
+ class ChildWindowDemo #(change name)
29
+
30
+ include GladeGUI
31
+
32
+ def buttonOpenModeless__clicked(*argv)
33
+ ModelessWindow.new.show_glade() # no parent given so windows can overlap
34
+ end
35
+
36
+ # This modal window has its "modal" property set to true in glade.
37
+ # I pass a reference to "self" in the show method, setting the parent to this window,
38
+ # making it always on top. Its a good idea to have modal windows always on top
39
+ # because the parent is frozen, so the next action must be in the modal window.
40
+
41
+ def buttonOpenModal__clicked(*argv)
42
+ ModalWindow.new.show_glade(self) # self = parent, so always on top of parent
43
+ end
44
+
45
+ def buttonCancel__clicked(*argv)
46
+ @builder["window1"].destroy
47
+ end
48
+
49
+ end
50
+
51
+
52
+
@@ -0,0 +1,9 @@
1
+ class ModalWindow
2
+
3
+ include GladeGUI
4
+
5
+ def buttonOk__clicked(*argv)
6
+ @builder["window1"].destroy
7
+ end
8
+
9
+ end
@@ -0,0 +1,9 @@
1
+ class ModelessWindow
2
+
3
+ include GladeGUI
4
+
5
+ def buttonOk__clicked(*argv)
6
+ @builder["window1"].destroy
7
+ end
8
+
9
+ end
@@ -0,0 +1,21 @@
1
+ ##
2
+ # This is just a generic window that gets opened as either modal
3
+ # or non-modal.
4
+ #
5
+
6
+ class MyChildClass
7
+
8
+ include GladeGUI
9
+
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
+
20
+ end
21
+
@@ -0,0 +1,87 @@
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="can_focus">False</property>
7
+ <property name="window_position">center</property>
8
+ <property name="default_width">400</property>
9
+ <child>
10
+ <object class="GtkBox" id="box1">
11
+ <property name="visible">True</property>
12
+ <property name="can_focus">False</property>
13
+ <property name="margin_left">20</property>
14
+ <property name="margin_right">20</property>
15
+ <property name="orientation">vertical</property>
16
+ <child>
17
+ <object class="GtkLabel" id="label1">
18
+ <property name="visible">True</property>
19
+ <property name="can_focus">False</property>
20
+ <property name="xpad">10</property>
21
+ <property name="ypad">10</property>
22
+ <property name="label" translatable="yes">Open as many modeless windows as you want. You can switch between windows because they're not modal. When you open a Modal window it will block everything until its closed.</property>
23
+ <property name="wrap">True</property>
24
+ </object>
25
+ <packing>
26
+ <property name="expand">True</property>
27
+ <property name="fill">True</property>
28
+ <property name="padding">10</property>
29
+ <property name="position">0</property>
30
+ </packing>
31
+ </child>
32
+ <child>
33
+ <object class="GtkButtonBox" id="buttonbox1">
34
+ <property name="visible">True</property>
35
+ <property name="can_focus">False</property>
36
+ <property name="layout_style">spread</property>
37
+ <child>
38
+ <object class="GtkButton" id="buttonOpenModeless">
39
+ <property name="label" translatable="yes">Open Modeless Window</property>
40
+ <property name="visible">True</property>
41
+ <property name="can_focus">True</property>
42
+ <property name="receives_default">True</property>
43
+ </object>
44
+ <packing>
45
+ <property name="expand">False</property>
46
+ <property name="fill">True</property>
47
+ <property name="position">0</property>
48
+ </packing>
49
+ </child>
50
+ <child>
51
+ <object class="GtkButton" id="buttonOpenModal">
52
+ <property name="label" translatable="yes">Open Modal Window</property>
53
+ <property name="visible">True</property>
54
+ <property name="can_focus">True</property>
55
+ <property name="receives_default">True</property>
56
+ </object>
57
+ <packing>
58
+ <property name="expand">False</property>
59
+ <property name="fill">True</property>
60
+ <property name="position">1</property>
61
+ </packing>
62
+ </child>
63
+ <child>
64
+ <object class="GtkButton" id="buttonCancel">
65
+ <property name="label" translatable="yes">Cancel</property>
66
+ <property name="visible">True</property>
67
+ <property name="can_focus">True</property>
68
+ <property name="receives_default">True</property>
69
+ </object>
70
+ <packing>
71
+ <property name="expand">False</property>
72
+ <property name="fill">True</property>
73
+ <property name="position">2</property>
74
+ </packing>
75
+ </child>
76
+ </object>
77
+ <packing>
78
+ <property name="expand">True</property>
79
+ <property name="fill">True</property>
80
+ <property name="padding">20</property>
81
+ <property name="position">1</property>
82
+ </packing>
83
+ </child>
84
+ </object>
85
+ </child>
86
+ </object>
87
+ </interface>
@@ -0,0 +1,61 @@
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="can_focus">False</property>
7
+ <property name="title" translatable="yes">Modal Window</property>
8
+ <property name="modal">True</property>
9
+ <property name="window_position">center</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">20</property>
20
+ <child>
21
+ <object class="GtkLabel" id="label1">
22
+ <property name="visible">True</property>
23
+ <property name="can_focus">False</property>
24
+ <property name="label" translatable="yes">This modal window freezes the parent, and is always on top.</property>
25
+ </object>
26
+ <packing>
27
+ <property name="expand">False</property>
28
+ <property name="fill">True</property>
29
+ <property name="position">0</property>
30
+ </packing>
31
+ </child>
32
+ <child>
33
+ <object class="GtkButtonBox" id="buttonbox1">
34
+ <property name="visible">True</property>
35
+ <property name="can_focus">False</property>
36
+ <property name="orientation">vertical</property>
37
+ <property name="layout_style">start</property>
38
+ <child>
39
+ <object class="GtkButton" id="buttonOk">
40
+ <property name="label" translatable="yes">Ok</property>
41
+ <property name="visible">True</property>
42
+ <property name="can_focus">True</property>
43
+ <property name="receives_default">True</property>
44
+ </object>
45
+ <packing>
46
+ <property name="expand">False</property>
47
+ <property name="fill">True</property>
48
+ <property name="position">0</property>
49
+ </packing>
50
+ </child>
51
+ </object>
52
+ <packing>
53
+ <property name="expand">False</property>
54
+ <property name="fill">True</property>
55
+ <property name="position">1</property>
56
+ </packing>
57
+ </child>
58
+ </object>
59
+ </child>
60
+ </object>
61
+ </interface>
@@ -0,0 +1,61 @@
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="can_focus">False</property>
7
+ <property name="title" translatable="yes">Modeless Window</property>
8
+ <property name="window_position">center</property>
9
+ <child>
10
+ <object class="GtkBox" id="box1">
11
+ <property name="visible">True</property>
12
+ <property name="can_focus">False</property>
13
+ <property name="margin_left">20</property>
14
+ <property name="margin_right">20</property>
15
+ <property name="margin_top">20</property>
16
+ <property name="margin_bottom">20</property>
17
+ <property name="orientation">vertical</property>
18
+ <property name="spacing">15</property>
19
+ <child>
20
+ <object class="GtkLabel" id="label1">
21
+ <property name="visible">True</property>
22
+ <property name="can_focus">False</property>
23
+ <property name="label" translatable="yes">This window operates concurrently with the parent.
24
+ Open as many as you want!</property>
25
+ </object>
26
+ <packing>
27
+ <property name="expand">True</property>
28
+ <property name="fill">True</property>
29
+ <property name="position">0</property>
30
+ </packing>
31
+ </child>
32
+ <child>
33
+ <object class="GtkButtonBox" id="buttonbox1">
34
+ <property name="visible">True</property>
35
+ <property name="can_focus">False</property>
36
+ <property name="orientation">vertical</property>
37
+ <property name="layout_style">start</property>
38
+ <child>
39
+ <object class="GtkButton" id="buttonOk">
40
+ <property name="label" translatable="yes">Ok</property>
41
+ <property name="visible">True</property>
42
+ <property name="can_focus">True</property>
43
+ <property name="receives_default">True</property>
44
+ </object>
45
+ <packing>
46
+ <property name="expand">True</property>
47
+ <property name="fill">True</property>
48
+ <property name="position">0</property>
49
+ </packing>
50
+ </child>
51
+ </object>
52
+ <packing>
53
+ <property name="expand">False</property>
54
+ <property name="fill">True</property>
55
+ <property name="position">1</property>
56
+ </packing>
57
+ </child>
58
+ </object>
59
+ </child>
60
+ </object>
61
+ </interface>