visualruby 1.0.19 → 3.0.2
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/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,234 @@
|
|
|
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="visible">True</property>
|
|
7
|
+
<property name="can_focus">False</property>
|
|
8
|
+
<property name="title" translatable="yes">Alert Box Demo</property>
|
|
9
|
+
<property name="modal">True</property>
|
|
10
|
+
<property name="window_position">center-always</property>
|
|
11
|
+
<property name="default_width">300</property>
|
|
12
|
+
<property name="default_height">200</property>
|
|
13
|
+
<child>
|
|
14
|
+
<object class="GtkBox" id="box1">
|
|
15
|
+
<property name="visible">True</property>
|
|
16
|
+
<property name="can_focus">False</property>
|
|
17
|
+
<property name="orientation">vertical</property>
|
|
18
|
+
<child>
|
|
19
|
+
<object class="GtkLabel" id="label5">
|
|
20
|
+
<property name="visible">True</property>
|
|
21
|
+
<property name="can_focus">False</property>
|
|
22
|
+
<property name="margin_top">20</property>
|
|
23
|
+
<property name="label" translatable="yes"><big>Alert Box Examples</big></property>
|
|
24
|
+
<property name="use_markup">True</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="GtkGrid" id="grid1">
|
|
34
|
+
<property name="visible">True</property>
|
|
35
|
+
<property name="can_focus">False</property>
|
|
36
|
+
<property name="margin_left">20</property>
|
|
37
|
+
<property name="margin_right">20</property>
|
|
38
|
+
<property name="margin_top">20</property>
|
|
39
|
+
<property name="margin_bottom">20</property>
|
|
40
|
+
<property name="row_spacing">22</property>
|
|
41
|
+
<property name="column_spacing">15</property>
|
|
42
|
+
<child>
|
|
43
|
+
<object class="GtkLabel" id="label1">
|
|
44
|
+
<property name="visible">True</property>
|
|
45
|
+
<property name="can_focus">False</property>
|
|
46
|
+
<property name="xalign">0</property>
|
|
47
|
+
<property name="label" translatable="yes"><big> Simple Alert Box Example</big>
|
|
48
|
+
This just shows a message on the screen. Its very useful for alerts and debugging.</property>
|
|
49
|
+
<property name="use_markup">True</property>
|
|
50
|
+
</object>
|
|
51
|
+
<packing>
|
|
52
|
+
<property name="left_attach">0</property>
|
|
53
|
+
<property name="top_attach">0</property>
|
|
54
|
+
<property name="width">1</property>
|
|
55
|
+
<property name="height">1</property>
|
|
56
|
+
</packing>
|
|
57
|
+
</child>
|
|
58
|
+
<child>
|
|
59
|
+
<object class="GtkButton" id="buttonSimple">
|
|
60
|
+
<property name="label" translatable="yes">Try</property>
|
|
61
|
+
<property name="visible">True</property>
|
|
62
|
+
<property name="can_focus">True</property>
|
|
63
|
+
<property name="receives_default">True</property>
|
|
64
|
+
<property name="valign">start</property>
|
|
65
|
+
</object>
|
|
66
|
+
<packing>
|
|
67
|
+
<property name="left_attach">1</property>
|
|
68
|
+
<property name="top_attach">0</property>
|
|
69
|
+
<property name="width">1</property>
|
|
70
|
+
<property name="height">1</property>
|
|
71
|
+
</packing>
|
|
72
|
+
</child>
|
|
73
|
+
<child>
|
|
74
|
+
<object class="GtkLabel" id="label4">
|
|
75
|
+
<property name="visible">True</property>
|
|
76
|
+
<property name="can_focus">False</property>
|
|
77
|
+
<property name="xalign">0</property>
|
|
78
|
+
<property name="label" translatable="yes"><big>Ask Any Question</big>
|
|
79
|
+
Change the text on the buttons to ask anything</property>
|
|
80
|
+
<property name="use_markup">True</property>
|
|
81
|
+
</object>
|
|
82
|
+
<packing>
|
|
83
|
+
<property name="left_attach">0</property>
|
|
84
|
+
<property name="top_attach">4</property>
|
|
85
|
+
<property name="width">1</property>
|
|
86
|
+
<property name="height">1</property>
|
|
87
|
+
</packing>
|
|
88
|
+
</child>
|
|
89
|
+
<child>
|
|
90
|
+
<object class="GtkButton" id="buttonQuestion">
|
|
91
|
+
<property name="label" translatable="yes">Try</property>
|
|
92
|
+
<property name="visible">True</property>
|
|
93
|
+
<property name="can_focus">True</property>
|
|
94
|
+
<property name="receives_default">True</property>
|
|
95
|
+
<property name="valign">start</property>
|
|
96
|
+
</object>
|
|
97
|
+
<packing>
|
|
98
|
+
<property name="left_attach">1</property>
|
|
99
|
+
<property name="top_attach">4</property>
|
|
100
|
+
<property name="width">1</property>
|
|
101
|
+
<property name="height">1</property>
|
|
102
|
+
</packing>
|
|
103
|
+
</child>
|
|
104
|
+
<child>
|
|
105
|
+
<object class="GtkLabel" id="label3">
|
|
106
|
+
<property name="visible">True</property>
|
|
107
|
+
<property name="can_focus">False</property>
|
|
108
|
+
<property name="xalign">0</property>
|
|
109
|
+
<property name="label" translatable="yes"><big>Request Input Example</big>
|
|
110
|
+
This example shows how you can ask the user to enter text into a textbox.</property>
|
|
111
|
+
<property name="use_markup">True</property>
|
|
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
|
+
<packing>
|
|
145
|
+
<property name="left_attach">0</property>
|
|
146
|
+
<property name="top_attach">2</property>
|
|
147
|
+
<property name="width">1</property>
|
|
148
|
+
<property name="height">1</property>
|
|
149
|
+
</packing>
|
|
150
|
+
</child>
|
|
151
|
+
<child>
|
|
152
|
+
<object class="GtkButton" id="buttonYesNo">
|
|
153
|
+
<property name="label" translatable="yes">Try</property>
|
|
154
|
+
<property name="visible">True</property>
|
|
155
|
+
<property name="can_focus">True</property>
|
|
156
|
+
<property name="receives_default">True</property>
|
|
157
|
+
<property name="valign">start</property>
|
|
158
|
+
</object>
|
|
159
|
+
<packing>
|
|
160
|
+
<property name="left_attach">1</property>
|
|
161
|
+
<property name="top_attach">2</property>
|
|
162
|
+
<property name="width">1</property>
|
|
163
|
+
<property name="height">1</property>
|
|
164
|
+
</packing>
|
|
165
|
+
</child>
|
|
166
|
+
<child>
|
|
167
|
+
<object class="GtkLabel" id="label6">
|
|
168
|
+
<property name="visible">True</property>
|
|
169
|
+
<property name="can_focus">False</property>
|
|
170
|
+
<property name="xalign">0</property>
|
|
171
|
+
<property name="label" translatable="yes"><big>Simple Input Box Example</big>
|
|
172
|
+
This just prompts the user for input in one line of code.</property>
|
|
173
|
+
<property name="use_markup">True</property>
|
|
174
|
+
</object>
|
|
175
|
+
<packing>
|
|
176
|
+
<property name="left_attach">0</property>
|
|
177
|
+
<property name="top_attach">1</property>
|
|
178
|
+
<property name="width">1</property>
|
|
179
|
+
<property name="height">1</property>
|
|
180
|
+
</packing>
|
|
181
|
+
</child>
|
|
182
|
+
<child>
|
|
183
|
+
<object class="GtkButton" id="buttonSimpleInput">
|
|
184
|
+
<property name="label" translatable="yes">Try</property>
|
|
185
|
+
<property name="visible">True</property>
|
|
186
|
+
<property name="can_focus">True</property>
|
|
187
|
+
<property name="receives_default">True</property>
|
|
188
|
+
<property name="valign">start</property>
|
|
189
|
+
</object>
|
|
190
|
+
<packing>
|
|
191
|
+
<property name="left_attach">1</property>
|
|
192
|
+
<property name="top_attach">1</property>
|
|
193
|
+
<property name="width">1</property>
|
|
194
|
+
<property name="height">1</property>
|
|
195
|
+
</packing>
|
|
196
|
+
</child>
|
|
197
|
+
</object>
|
|
198
|
+
<packing>
|
|
199
|
+
<property name="expand">False</property>
|
|
200
|
+
<property name="fill">True</property>
|
|
201
|
+
<property name="position">1</property>
|
|
202
|
+
</packing>
|
|
203
|
+
</child>
|
|
204
|
+
<child>
|
|
205
|
+
<object class="GtkButtonBox" id="buttonbox2">
|
|
206
|
+
<property name="visible">True</property>
|
|
207
|
+
<property name="can_focus">False</property>
|
|
208
|
+
<property name="margin_right">20</property>
|
|
209
|
+
<property name="layout_style">end</property>
|
|
210
|
+
<child>
|
|
211
|
+
<object class="GtkButton" id="buttonQuit">
|
|
212
|
+
<property name="label" translatable="yes">Quit</property>
|
|
213
|
+
<property name="visible">True</property>
|
|
214
|
+
<property name="can_focus">True</property>
|
|
215
|
+
<property name="receives_default">True</property>
|
|
216
|
+
<property name="margin_bottom">20</property>
|
|
217
|
+
</object>
|
|
218
|
+
<packing>
|
|
219
|
+
<property name="expand">True</property>
|
|
220
|
+
<property name="fill">True</property>
|
|
221
|
+
<property name="position">0</property>
|
|
222
|
+
</packing>
|
|
223
|
+
</child>
|
|
224
|
+
</object>
|
|
225
|
+
<packing>
|
|
226
|
+
<property name="expand">False</property>
|
|
227
|
+
<property name="fill">True</property>
|
|
228
|
+
<property name="position">2</property>
|
|
229
|
+
</packing>
|
|
230
|
+
</child>
|
|
231
|
+
</object>
|
|
232
|
+
</child>
|
|
233
|
+
</object>
|
|
234
|
+
</interface>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
# ignore -- this is for development, same as require 'vrlib'
|
|
4
|
+
require File.exists?("./../../vrlib/vrlib.rb") ? "./../../vrlib/vrlib.rb" : "vrlib"
|
|
5
|
+
|
|
6
|
+
# from require_all gem:
|
|
7
|
+
require_rel 'bin/'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
AlertBoxDemo.new.show_glade()
|
|
12
|
+
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
##
|
|
2
2
|
# This file shows all the widget types that auto-fill when you
|
|
3
|
-
# call
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
3
|
+
# call the show_glade() method. This provides a great shortcut
|
|
4
|
+
# for assigning initial values to widgets in your forms.
|
|
5
|
+
#
|
|
6
|
+
# So when you might normally write:
|
|
7
|
+
#
|
|
8
|
+
# @builder["window1"].title = "All Widgets"
|
|
9
|
+
#
|
|
10
|
+
# with GladeGui, you can write:
|
|
11
|
+
#
|
|
12
|
+
# @window1 = "All Widgets"
|
|
13
|
+
#
|
|
14
|
+
# them yourself using @builder["widget_name"].property= statement
|
|
15
|
+
#
|
|
16
|
+
# An example of using the @builder to populate a widget is in the code
|
|
7
17
|
# below: The checkbutton is populated automatically with
|
|
8
18
|
# the value "true," but the label of the checkbutton needs
|
|
9
19
|
# to be set in glade, or here in your code. This line set the
|
|
@@ -16,13 +26,13 @@
|
|
|
16
26
|
# Note: you must add an "adjustment" object to the spinbutton in glade
|
|
17
27
|
# to make it work.
|
|
18
28
|
#
|
|
19
|
-
|
|
29
|
+
#
|
|
20
30
|
class AllWidgets
|
|
21
31
|
|
|
22
32
|
include GladeGUI
|
|
23
33
|
|
|
24
|
-
def
|
|
25
|
-
|
|
34
|
+
def window1__show(*args)
|
|
35
|
+
@window1 = "Showing All Widgets"
|
|
26
36
|
@label1 = "I'm a Label"
|
|
27
37
|
@checkbutton1 = true
|
|
28
38
|
@builder["checkbutton1"].label = "I'm a Check Button" #this could be set in glade
|
|
@@ -33,9 +43,7 @@ class AllWidgets
|
|
|
33
43
|
@textview1 = "I'm a Textview"
|
|
34
44
|
@spinbutton1 = 10.5
|
|
35
45
|
@fontbutton1 = "Courier 10"
|
|
36
|
-
@calendar1 = DateTime.new(2011, 5, 14)
|
|
37
|
-
set_glade_variables() #populates glade controls with insance variables (i.e. Myclass.label1)
|
|
38
|
-
show_window()
|
|
46
|
+
@calendar1 = DateTime.new(2011, 5, 14)
|
|
39
47
|
end
|
|
40
48
|
|
|
41
49
|
|
|
@@ -1,25 +1,37 @@
|
|
|
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
|
-
|
|
4
|
+
<requires lib="gtk+" version="3.0"/>
|
|
5
|
+
<object class="GtkAdjustment" id="adjustment1">
|
|
6
|
+
<property name="upper">100</property>
|
|
7
|
+
<property name="step_increment">0.10000000000000001</property>
|
|
8
|
+
</object>
|
|
5
9
|
<object class="GtkWindow" id="window1">
|
|
6
|
-
<property name="
|
|
7
|
-
<property name="window_position">center-always</property>
|
|
8
|
-
<signal name="destroy" handler="destroy_window"/>
|
|
10
|
+
<property name="can_focus">False</property>
|
|
9
11
|
<child>
|
|
10
|
-
<object class="
|
|
12
|
+
<object class="GtkBox" id="box1">
|
|
11
13
|
<property name="visible">True</property>
|
|
14
|
+
<property name="can_focus">False</property>
|
|
15
|
+
<property name="margin_left">20</property>
|
|
16
|
+
<property name="margin_right">20</property>
|
|
17
|
+
<property name="margin_top">20</property>
|
|
18
|
+
<property name="margin_bottom">20</property>
|
|
12
19
|
<child>
|
|
13
|
-
<object class="
|
|
20
|
+
<object class="GtkBox" id="box2">
|
|
14
21
|
<property name="visible">True</property>
|
|
15
|
-
<property name="
|
|
22
|
+
<property name="can_focus">False</property>
|
|
23
|
+
<property name="orientation">vertical</property>
|
|
24
|
+
<property name="spacing">12</property>
|
|
16
25
|
<child>
|
|
17
26
|
<object class="GtkImage" id="image1">
|
|
18
27
|
<property name="width_request">330</property>
|
|
19
28
|
<property name="height_request">200</property>
|
|
20
29
|
<property name="visible">True</property>
|
|
30
|
+
<property name="can_focus">False</property>
|
|
21
31
|
</object>
|
|
22
32
|
<packing>
|
|
33
|
+
<property name="expand">True</property>
|
|
34
|
+
<property name="fill">True</property>
|
|
23
35
|
<property name="padding">10</property>
|
|
24
36
|
<property name="position">0</property>
|
|
25
37
|
</packing>
|
|
@@ -27,9 +39,12 @@
|
|
|
27
39
|
<child>
|
|
28
40
|
<object class="GtkLabel" id="label1">
|
|
29
41
|
<property name="visible">True</property>
|
|
42
|
+
<property name="can_focus">False</property>
|
|
30
43
|
<property name="label" translatable="yes">label</property>
|
|
31
44
|
</object>
|
|
32
45
|
<packing>
|
|
46
|
+
<property name="expand">True</property>
|
|
47
|
+
<property name="fill">True</property>
|
|
33
48
|
<property name="position">1</property>
|
|
34
49
|
</packing>
|
|
35
50
|
</child>
|
|
@@ -39,9 +54,12 @@
|
|
|
39
54
|
<property name="visible">True</property>
|
|
40
55
|
<property name="can_focus">True</property>
|
|
41
56
|
<property name="receives_default">False</property>
|
|
57
|
+
<property name="xalign">0.5</property>
|
|
42
58
|
<property name="draw_indicator">True</property>
|
|
43
59
|
</object>
|
|
44
60
|
<packing>
|
|
61
|
+
<property name="expand">True</property>
|
|
62
|
+
<property name="fill">True</property>
|
|
45
63
|
<property name="position">2</property>
|
|
46
64
|
</packing>
|
|
47
65
|
</child>
|
|
@@ -56,6 +74,8 @@
|
|
|
56
74
|
<property name="numeric">True</property>
|
|
57
75
|
</object>
|
|
58
76
|
<packing>
|
|
77
|
+
<property name="expand">True</property>
|
|
78
|
+
<property name="fill">True</property>
|
|
59
79
|
<property name="padding">10</property>
|
|
60
80
|
<property name="position">3</property>
|
|
61
81
|
</packing>
|
|
@@ -71,6 +91,8 @@
|
|
|
71
91
|
<property name="uri">http://glade.gnome.org</property>
|
|
72
92
|
</object>
|
|
73
93
|
<packing>
|
|
94
|
+
<property name="expand">True</property>
|
|
95
|
+
<property name="fill">True</property>
|
|
74
96
|
<property name="position">4</property>
|
|
75
97
|
</packing>
|
|
76
98
|
</child>
|
|
@@ -81,29 +103,38 @@
|
|
|
81
103
|
<property name="invisible_char">•</property>
|
|
82
104
|
</object>
|
|
83
105
|
<packing>
|
|
106
|
+
<property name="expand">True</property>
|
|
107
|
+
<property name="fill">True</property>
|
|
84
108
|
<property name="position">5</property>
|
|
85
109
|
</packing>
|
|
86
110
|
</child>
|
|
87
111
|
<child>
|
|
88
112
|
<object class="GtkProgressBar" id="progressbar1">
|
|
89
113
|
<property name="visible">True</property>
|
|
114
|
+
<property name="can_focus">False</property>
|
|
90
115
|
<property name="fraction">0.080000000000000002</property>
|
|
91
116
|
<property name="text" translatable="yes">I'm a progressbar</property>
|
|
92
117
|
</object>
|
|
93
118
|
<packing>
|
|
119
|
+
<property name="expand">True</property>
|
|
120
|
+
<property name="fill">True</property>
|
|
94
121
|
<property name="padding">10</property>
|
|
95
122
|
<property name="position">6</property>
|
|
96
123
|
</packing>
|
|
97
124
|
</child>
|
|
98
125
|
</object>
|
|
99
126
|
<packing>
|
|
100
|
-
<property name="
|
|
127
|
+
<property name="expand">False</property>
|
|
128
|
+
<property name="fill">True</property>
|
|
101
129
|
<property name="position">0</property>
|
|
102
130
|
</packing>
|
|
103
131
|
</child>
|
|
104
132
|
<child>
|
|
105
|
-
<object class="
|
|
133
|
+
<object class="GtkBox" id="box3">
|
|
106
134
|
<property name="visible">True</property>
|
|
135
|
+
<property name="can_focus">False</property>
|
|
136
|
+
<property name="orientation">vertical</property>
|
|
137
|
+
<property name="spacing">12</property>
|
|
107
138
|
<child>
|
|
108
139
|
<object class="GtkCalendar" id="calendar1">
|
|
109
140
|
<property name="visible">True</property>
|
|
@@ -120,13 +151,17 @@
|
|
|
120
151
|
</packing>
|
|
121
152
|
</child>
|
|
122
153
|
<child>
|
|
123
|
-
<object class="
|
|
154
|
+
<object class="GtkButtonBox" id="buttonbox1">
|
|
124
155
|
<property name="visible">True</property>
|
|
156
|
+
<property name="can_focus">False</property>
|
|
157
|
+
<property name="orientation">vertical</property>
|
|
158
|
+
<property name="layout_style">start</property>
|
|
125
159
|
<child>
|
|
126
160
|
<object class="GtkFontButton" id="fontbutton1">
|
|
127
161
|
<property name="visible">True</property>
|
|
128
162
|
<property name="can_focus">True</property>
|
|
129
163
|
<property name="receives_default">True</property>
|
|
164
|
+
<property name="font">Sans 12</property>
|
|
130
165
|
</object>
|
|
131
166
|
<packing>
|
|
132
167
|
<property name="expand">False</property>
|
|
@@ -136,6 +171,8 @@
|
|
|
136
171
|
</child>
|
|
137
172
|
</object>
|
|
138
173
|
<packing>
|
|
174
|
+
<property name="expand">False</property>
|
|
175
|
+
<property name="fill">True</property>
|
|
139
176
|
<property name="position">1</property>
|
|
140
177
|
</packing>
|
|
141
178
|
</child>
|
|
@@ -146,21 +183,20 @@
|
|
|
146
183
|
<property name="can_focus">True</property>
|
|
147
184
|
</object>
|
|
148
185
|
<packing>
|
|
186
|
+
<property name="expand">True</property>
|
|
187
|
+
<property name="fill">True</property>
|
|
149
188
|
<property name="padding">10</property>
|
|
150
189
|
<property name="position">2</property>
|
|
151
190
|
</packing>
|
|
152
191
|
</child>
|
|
153
192
|
</object>
|
|
154
193
|
<packing>
|
|
155
|
-
<property name="
|
|
194
|
+
<property name="expand">False</property>
|
|
195
|
+
<property name="fill">True</property>
|
|
156
196
|
<property name="position">1</property>
|
|
157
197
|
</packing>
|
|
158
198
|
</child>
|
|
159
199
|
</object>
|
|
160
200
|
</child>
|
|
161
201
|
</object>
|
|
162
|
-
<object class="GtkAdjustment" id="adjustment1">
|
|
163
|
-
<property name="upper">100</property>
|
|
164
|
-
<property name="step_increment">0.10000000000000001</property>
|
|
165
|
-
</object>
|
|
166
202
|
</interface>
|
|
File without changes
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
##
|
|
2
|
-
# This class is a GUI for a calculator.
|
|
3
|
-
# loads the Calculator.glade file using the line:
|
|
4
|
-
#
|
|
5
|
-
# load_glade(__FILE__)
|
|
2
|
+
# This class is a GUI for a calculator.
|
|
6
3
|
#
|
|
7
4
|
# The instance variable, @builder is a reference to the
|
|
8
5
|
# Gtk::Builder object. @builder["window1"] is a reference to
|
|
@@ -13,51 +10,55 @@
|
|
|
13
10
|
#
|
|
14
11
|
# In glade, you'll see that the names of the keys are:
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
# This corresponds to the array @keys. Visual Ruby's library
|
|
20
|
-
# will automatically load the values of the array into the
|
|
21
|
-
# glade form using this line:
|
|
13
|
+
# button[0]
|
|
14
|
+
# button[1] ...etc.
|
|
22
15
|
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
# and fill-in widgets that match the vaiable names.
|
|
16
|
+
# This corresponds to the array @button. Visual Ruby's GladeGUI interface
|
|
17
|
+
# will automatically load the values of the array into the form when the
|
|
18
|
+
# show_glade() method is called.
|
|
27
19
|
#
|
|
28
20
|
|
|
21
|
+
|
|
29
22
|
class Calculator
|
|
30
23
|
|
|
31
24
|
include GladeGUI
|
|
32
25
|
|
|
33
26
|
def before_show()
|
|
34
|
-
@
|
|
35
|
-
@
|
|
27
|
+
@window1 = "Calculator" #sets window1's title to "Calculator"
|
|
28
|
+
@button = [ 1, 2, 3, "C" ] +
|
|
36
29
|
[ 4, 5, 6, "+" ] +
|
|
37
30
|
[ 7, 8, 9, "-" ] +
|
|
38
31
|
[ 0, ".","/","=" ]
|
|
39
32
|
end
|
|
40
33
|
|
|
41
|
-
# This method is called when
|
|
34
|
+
# This method is called when any key is clicked. It follows
|
|
42
35
|
# this naming convention: <glade_name>__<signal_name>. (Separator is
|
|
43
|
-
# two underscores. This tells GladeGUI to connect all the
|
|
36
|
+
# two underscores.) This tells GladeGUI to connect all the
|
|
44
37
|
# "clicked" signals to this method. It matches the glade
|
|
45
|
-
# names "
|
|
38
|
+
# names "button", "button[x]" or "Calculator.button[x]" to this method
|
|
46
39
|
# automatically for all the buttons. Look at the names
|
|
47
40
|
# of the keys in glade by right clicking on Calculator.rb
|
|
41
|
+
#
|
|
42
|
+
# This is very useful because you don't need to write a handler for
|
|
43
|
+
# each button!
|
|
48
44
|
|
|
49
|
-
|
|
45
|
+
|
|
46
|
+
def button__clicked(button)
|
|
50
47
|
case button.label
|
|
51
|
-
when "C" then
|
|
48
|
+
when "C" then
|
|
49
|
+
@builder["display"].text = ""
|
|
52
50
|
when "=" then
|
|
53
51
|
begin # this doesn't catch all errors
|
|
54
52
|
@builder["display"].text = eval(@builder["display"].text).to_s
|
|
55
53
|
rescue
|
|
56
54
|
@builder["display"].text = "error"
|
|
57
55
|
end
|
|
58
|
-
else
|
|
56
|
+
else
|
|
57
|
+
@builder["display"].text = @builder["display"].text + button.label
|
|
59
58
|
end
|
|
60
59
|
end
|
|
61
60
|
|
|
61
|
+
|
|
62
|
+
|
|
62
63
|
end
|
|
63
64
|
|