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,87 @@
|
|
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="window_position">center</property>
|
8
|
+
<child>
|
9
|
+
<object class="GtkBox" id="box1">
|
10
|
+
<property name="visible">True</property>
|
11
|
+
<property name="can_focus">False</property>
|
12
|
+
<property name="margin_left">20</property>
|
13
|
+
<property name="margin_right">20</property>
|
14
|
+
<property name="margin_top">20</property>
|
15
|
+
<property name="margin_bottom">20</property>
|
16
|
+
<property name="orientation">vertical</property>
|
17
|
+
<child>
|
18
|
+
<object class="GtkLabel" id="label2">
|
19
|
+
<property name="visible">True</property>
|
20
|
+
<property name="can_focus">False</property>
|
21
|
+
<property name="label" translatable="yes"><big><big><big>ListView Objects</big></big></big>
|
22
|
+
Try double-clicking on each field to edit an object. Also, try entering invalid email addresses.</property>
|
23
|
+
<property name="use_markup">True</property>
|
24
|
+
</object>
|
25
|
+
<packing>
|
26
|
+
<property name="expand">True</property>
|
27
|
+
<property name="fill">True</property>
|
28
|
+
<property name="position">0</property>
|
29
|
+
</packing>
|
30
|
+
</child>
|
31
|
+
<child>
|
32
|
+
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
33
|
+
<property name="height_request">150</property>
|
34
|
+
<property name="visible">True</property>
|
35
|
+
<property name="can_focus">True</property>
|
36
|
+
<child>
|
37
|
+
<placeholder/>
|
38
|
+
</child>
|
39
|
+
</object>
|
40
|
+
<packing>
|
41
|
+
<property name="expand">True</property>
|
42
|
+
<property name="fill">True</property>
|
43
|
+
<property name="padding">15</property>
|
44
|
+
<property name="position">1</property>
|
45
|
+
</packing>
|
46
|
+
</child>
|
47
|
+
<child>
|
48
|
+
<object class="GtkFrame" id="frame2">
|
49
|
+
<property name="height_request">100</property>
|
50
|
+
<property name="visible">True</property>
|
51
|
+
<property name="can_focus">False</property>
|
52
|
+
<property name="label_xalign">0</property>
|
53
|
+
<property name="shadow_type">none</property>
|
54
|
+
<child>
|
55
|
+
<object class="GtkAlignment" id="alignment2">
|
56
|
+
<property name="visible">True</property>
|
57
|
+
<property name="can_focus">False</property>
|
58
|
+
<property name="left_padding">12</property>
|
59
|
+
<child>
|
60
|
+
<object class="GtkLabel" id="labelQuote">
|
61
|
+
<property name="width_request">600</property>
|
62
|
+
<property name="visible">True</property>
|
63
|
+
<property name="can_focus">False</property>
|
64
|
+
<property name="label" translatable="yes">Quote Goes Here</property>
|
65
|
+
<property name="wrap">True</property>
|
66
|
+
</object>
|
67
|
+
</child>
|
68
|
+
</object>
|
69
|
+
</child>
|
70
|
+
<child type="label">
|
71
|
+
<object class="GtkLabel" id="label5">
|
72
|
+
<property name="visible">True</property>
|
73
|
+
<property name="can_focus">False</property>
|
74
|
+
<property name="label" translatable="yes">Quote</property>
|
75
|
+
</object>
|
76
|
+
</child>
|
77
|
+
</object>
|
78
|
+
<packing>
|
79
|
+
<property name="expand">False</property>
|
80
|
+
<property name="fill">True</property>
|
81
|
+
<property name="position">2</property>
|
82
|
+
</packing>
|
83
|
+
</child>
|
84
|
+
</object>
|
85
|
+
</child>
|
86
|
+
</object>
|
87
|
+
</interface>
|
@@ -0,0 +1,12 @@
|
|
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
|
+
ListViewObjectsGUI.new.show_glade()
|
@@ -0,0 +1,38 @@
|
|
1
|
+
|
2
|
+
class MainApp #(change name)
|
3
|
+
|
4
|
+
include GladeGUI
|
5
|
+
|
6
|
+
# make $ENV global object available everywhere
|
7
|
+
def before_show()
|
8
|
+
$ENV = VR::load_yaml(:class => SavableSettings, :file_name => "settings.yaml")
|
9
|
+
@builder[:window1].resize $ENV.width, $ENV.height
|
10
|
+
refresh()
|
11
|
+
end
|
12
|
+
|
13
|
+
def refresh()
|
14
|
+
@builder[:text].text = $ENV.text
|
15
|
+
@builder[:window1].title = $ENV.title
|
16
|
+
end
|
17
|
+
|
18
|
+
def buttonEdit__clicked(*a)
|
19
|
+
$ENV.show_glade(self)
|
20
|
+
refresh()
|
21
|
+
end
|
22
|
+
|
23
|
+
# delete_event signal occurs before the window actually closes
|
24
|
+
# It gives us time to save the height and width of the widow before
|
25
|
+
#closing it. Returns: true = don't close window, false = close window.
|
26
|
+
def window1__delete_event(*)
|
27
|
+
$ENV.width, $ENV.height = @builder[:window1].size()
|
28
|
+
VR::save_yaml($ENV)
|
29
|
+
return false #ok to close
|
30
|
+
end
|
31
|
+
|
32
|
+
def buttonCancel__clicked(*a)
|
33
|
+
window1__delete_event
|
34
|
+
@builder[:window1].destroy
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
class SavableSettings
|
3
|
+
|
4
|
+
include GladeGUI
|
5
|
+
# include Savable
|
6
|
+
|
7
|
+
attr_accessor :height, :width, :title, :text
|
8
|
+
|
9
|
+
def initialize()
|
10
|
+
defaults()
|
11
|
+
end
|
12
|
+
|
13
|
+
# defaults are set on new and loaded objects. You can add to this list
|
14
|
+
# and it will not cause errors. New variables will be added
|
15
|
+
# and loaded objects will function flawlessly.
|
16
|
+
def defaults()
|
17
|
+
@height ||= 200
|
18
|
+
@width ||= 350
|
19
|
+
@title ||= "Savable Settings Demo"
|
20
|
+
@text ||= "Try running this program multiple times.\n\n" +
|
21
|
+
"It will create a file named settings.yaml that stores " +
|
22
|
+
"the height, width, title, and text from this window, so the " +
|
23
|
+
"window will be restored to the same state as when you exited.\n\n " +
|
24
|
+
"If you want to reset the file to the defaults, just delete the settings.yaml file.\n\n" +
|
25
|
+
"You may need to click the 'Refresh' to see the settings.yaml file."
|
26
|
+
end
|
27
|
+
|
28
|
+
def buttonSave__clicked(*a)
|
29
|
+
get_glade_variables
|
30
|
+
VR::save_yaml(self)
|
31
|
+
@builder[:window1].destroy
|
32
|
+
end
|
33
|
+
|
34
|
+
def buttonCancel__clicked(*a)
|
35
|
+
@builder[:window1].destroy
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
@@ -0,0 +1,87 @@
|
|
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="window_position">center</property>
|
8
|
+
<child>
|
9
|
+
<object class="GtkBox" id="box1">
|
10
|
+
<property name="visible">True</property>
|
11
|
+
<property name="can_focus">False</property>
|
12
|
+
<property name="margin_left">20</property>
|
13
|
+
<property name="margin_right">20</property>
|
14
|
+
<property name="margin_top">20</property>
|
15
|
+
<property name="margin_bottom">20</property>
|
16
|
+
<property name="orientation">vertical</property>
|
17
|
+
<child>
|
18
|
+
<object class="GtkLabel" id="label1">
|
19
|
+
<property name="visible">True</property>
|
20
|
+
<property name="can_focus">False</property>
|
21
|
+
<property name="label" translatable="yes"><big>Savable Settings Demo</big></property>
|
22
|
+
<property name="use_markup">True</property>
|
23
|
+
</object>
|
24
|
+
<packing>
|
25
|
+
<property name="expand">False</property>
|
26
|
+
<property name="fill">True</property>
|
27
|
+
<property name="position">0</property>
|
28
|
+
</packing>
|
29
|
+
</child>
|
30
|
+
<child>
|
31
|
+
<object class="GtkLabel" id="text">
|
32
|
+
<property name="visible">True</property>
|
33
|
+
<property name="can_focus">False</property>
|
34
|
+
<property name="vexpand">True</property>
|
35
|
+
<property name="ypad">1</property>
|
36
|
+
<property name="label" translatable="yes">label</property>
|
37
|
+
<property name="wrap">True</property>
|
38
|
+
</object>
|
39
|
+
<packing>
|
40
|
+
<property name="expand">False</property>
|
41
|
+
<property name="fill">False</property>
|
42
|
+
<property name="position">1</property>
|
43
|
+
</packing>
|
44
|
+
</child>
|
45
|
+
<child>
|
46
|
+
<object class="GtkButtonBox" id="buttonbox1">
|
47
|
+
<property name="visible">True</property>
|
48
|
+
<property name="can_focus">False</property>
|
49
|
+
<property name="spacing">10</property>
|
50
|
+
<property name="layout_style">end</property>
|
51
|
+
<child>
|
52
|
+
<object class="GtkButton" id="buttonCancel">
|
53
|
+
<property name="label" translatable="yes">Cancel</property>
|
54
|
+
<property name="visible">True</property>
|
55
|
+
<property name="can_focus">True</property>
|
56
|
+
<property name="receives_default">True</property>
|
57
|
+
</object>
|
58
|
+
<packing>
|
59
|
+
<property name="expand">True</property>
|
60
|
+
<property name="fill">True</property>
|
61
|
+
<property name="position">0</property>
|
62
|
+
</packing>
|
63
|
+
</child>
|
64
|
+
<child>
|
65
|
+
<object class="GtkButton" id="buttonEdit">
|
66
|
+
<property name="label" translatable="yes">Edit</property>
|
67
|
+
<property name="visible">True</property>
|
68
|
+
<property name="can_focus">True</property>
|
69
|
+
<property name="receives_default">True</property>
|
70
|
+
</object>
|
71
|
+
<packing>
|
72
|
+
<property name="expand">True</property>
|
73
|
+
<property name="fill">True</property>
|
74
|
+
<property name="position">1</property>
|
75
|
+
</packing>
|
76
|
+
</child>
|
77
|
+
</object>
|
78
|
+
<packing>
|
79
|
+
<property name="expand">False</property>
|
80
|
+
<property name="fill">True</property>
|
81
|
+
<property name="position">2</property>
|
82
|
+
</packing>
|
83
|
+
</child>
|
84
|
+
</object>
|
85
|
+
</child>
|
86
|
+
</object>
|
87
|
+
</interface>
|
@@ -0,0 +1,162 @@
|
|
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">Edit Settings</property>
|
9
|
+
<property name="modal">True</property>
|
10
|
+
<property name="window_position">center</property>
|
11
|
+
<property name="default_width">400</property>
|
12
|
+
<property name="default_height">400</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="margin_left">20</property>
|
18
|
+
<property name="margin_right">20</property>
|
19
|
+
<property name="margin_top">20</property>
|
20
|
+
<property name="margin_bottom">20</property>
|
21
|
+
<property name="orientation">vertical</property>
|
22
|
+
<property name="spacing">10</property>
|
23
|
+
<child>
|
24
|
+
<object class="GtkLabel" id="label1">
|
25
|
+
<property name="visible">True</property>
|
26
|
+
<property name="can_focus">False</property>
|
27
|
+
<property name="label" translatable="yes"><big>Settings</big></property>
|
28
|
+
<property name="use_markup">True</property>
|
29
|
+
</object>
|
30
|
+
<packing>
|
31
|
+
<property name="expand">False</property>
|
32
|
+
<property name="fill">True</property>
|
33
|
+
<property name="position">0</property>
|
34
|
+
</packing>
|
35
|
+
</child>
|
36
|
+
<child>
|
37
|
+
<object class="GtkBox" id="box2">
|
38
|
+
<property name="visible">True</property>
|
39
|
+
<property name="can_focus">False</property>
|
40
|
+
<property name="hexpand">True</property>
|
41
|
+
<child>
|
42
|
+
<object class="GtkLabel" id="label2">
|
43
|
+
<property name="visible">True</property>
|
44
|
+
<property name="can_focus">False</property>
|
45
|
+
<property name="label" translatable="yes">Window Title: </property>
|
46
|
+
</object>
|
47
|
+
<packing>
|
48
|
+
<property name="expand">False</property>
|
49
|
+
<property name="fill">True</property>
|
50
|
+
<property name="position">0</property>
|
51
|
+
</packing>
|
52
|
+
</child>
|
53
|
+
<child>
|
54
|
+
<object class="GtkEntry" id="title">
|
55
|
+
<property name="visible">True</property>
|
56
|
+
<property name="can_focus">True</property>
|
57
|
+
</object>
|
58
|
+
<packing>
|
59
|
+
<property name="expand">True</property>
|
60
|
+
<property name="fill">True</property>
|
61
|
+
<property name="position">1</property>
|
62
|
+
</packing>
|
63
|
+
</child>
|
64
|
+
</object>
|
65
|
+
<packing>
|
66
|
+
<property name="expand">False</property>
|
67
|
+
<property name="fill">True</property>
|
68
|
+
<property name="position">1</property>
|
69
|
+
</packing>
|
70
|
+
</child>
|
71
|
+
<child>
|
72
|
+
<object class="GtkFrame" id="frame1">
|
73
|
+
<property name="visible">True</property>
|
74
|
+
<property name="can_focus">False</property>
|
75
|
+
<property name="label_xalign">0</property>
|
76
|
+
<property name="shadow_type">in</property>
|
77
|
+
<child>
|
78
|
+
<object class="GtkAlignment" id="alignment1">
|
79
|
+
<property name="visible">True</property>
|
80
|
+
<property name="can_focus">False</property>
|
81
|
+
<property name="left_padding">12</property>
|
82
|
+
<child>
|
83
|
+
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
84
|
+
<property name="visible">True</property>
|
85
|
+
<property name="can_focus">True</property>
|
86
|
+
<property name="margin_right">10</property>
|
87
|
+
<property name="margin_bottom">10</property>
|
88
|
+
<property name="hexpand">True</property>
|
89
|
+
<property name="vexpand">True</property>
|
90
|
+
<property name="shadow_type">in</property>
|
91
|
+
<child>
|
92
|
+
<object class="GtkTextView" id="text">
|
93
|
+
<property name="visible">True</property>
|
94
|
+
<property name="can_focus">True</property>
|
95
|
+
<property name="margin_left">10</property>
|
96
|
+
<property name="margin_right">10</property>
|
97
|
+
<property name="margin_top">1</property>
|
98
|
+
<property name="margin_bottom">1</property>
|
99
|
+
<property name="wrap_mode">word</property>
|
100
|
+
</object>
|
101
|
+
</child>
|
102
|
+
</object>
|
103
|
+
</child>
|
104
|
+
</object>
|
105
|
+
</child>
|
106
|
+
<child type="label">
|
107
|
+
<object class="GtkLabel" id="label3">
|
108
|
+
<property name="visible">True</property>
|
109
|
+
<property name="can_focus">False</property>
|
110
|
+
<property name="label" translatable="yes">Text</property>
|
111
|
+
</object>
|
112
|
+
</child>
|
113
|
+
</object>
|
114
|
+
<packing>
|
115
|
+
<property name="expand">True</property>
|
116
|
+
<property name="fill">True</property>
|
117
|
+
<property name="position">2</property>
|
118
|
+
</packing>
|
119
|
+
</child>
|
120
|
+
<child>
|
121
|
+
<object class="GtkButtonBox" id="buttonbox1">
|
122
|
+
<property name="visible">True</property>
|
123
|
+
<property name="can_focus">False</property>
|
124
|
+
<property name="spacing">10</property>
|
125
|
+
<property name="layout_style">end</property>
|
126
|
+
<child>
|
127
|
+
<object class="GtkButton" id="buttonCancel">
|
128
|
+
<property name="label" translatable="yes">Cancel</property>
|
129
|
+
<property name="visible">True</property>
|
130
|
+
<property name="can_focus">True</property>
|
131
|
+
<property name="receives_default">True</property>
|
132
|
+
</object>
|
133
|
+
<packing>
|
134
|
+
<property name="expand">True</property>
|
135
|
+
<property name="fill">True</property>
|
136
|
+
<property name="position">0</property>
|
137
|
+
</packing>
|
138
|
+
</child>
|
139
|
+
<child>
|
140
|
+
<object class="GtkButton" id="buttonSave">
|
141
|
+
<property name="label" translatable="yes">Save</property>
|
142
|
+
<property name="visible">True</property>
|
143
|
+
<property name="can_focus">True</property>
|
144
|
+
<property name="receives_default">True</property>
|
145
|
+
</object>
|
146
|
+
<packing>
|
147
|
+
<property name="expand">True</property>
|
148
|
+
<property name="fill">True</property>
|
149
|
+
<property name="position">1</property>
|
150
|
+
</packing>
|
151
|
+
</child>
|
152
|
+
</object>
|
153
|
+
<packing>
|
154
|
+
<property name="expand">False</property>
|
155
|
+
<property name="fill">True</property>
|
156
|
+
<property name="position">3</property>
|
157
|
+
</packing>
|
158
|
+
</child>
|
159
|
+
</object>
|
160
|
+
</child>
|
161
|
+
</object>
|
162
|
+
</interface>
|
@@ -0,0 +1,14 @@
|
|
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
|
+
|
7
|
+
# from require_all gem:
|
8
|
+
require_rel 'bin/'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
MainApp.new.show_glade()
|
14
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
--- !ruby/object:SavableSettings
|
2
|
+
height: 415
|
3
|
+
width: 765
|
4
|
+
title: Savable Settings Demo
|
5
|
+
text: |-
|
6
|
+
Try running this program multiple times.
|
7
|
+
|
8
|
+
It will create a file named settings.yaml that stores the height, width, title, and text from this window, so the window will be restored to the same state as when you exited.
|
9
|
+
|
10
|
+
If you want to reset the file to the defaults, just delete the settings.yamls file.
|
11
|
+
|
12
|
+
You may need to click the 'Refresh' to see the settings.yaml file.
|
13
|
+
vr_yaml_file: settings.yaml
|
14
|
+
builder: !ruby/object:Gtk::Builder {}
|
15
|
+
top_level_window: false
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
class DataObjectGUI
|
3
|
+
|
4
|
+
include GladeGUI
|
5
|
+
|
6
|
+
|
7
|
+
def initialize(name, address, phone, email)
|
8
|
+
@name = name
|
9
|
+
@address = address
|
10
|
+
@phone = phone
|
11
|
+
@email = email
|
12
|
+
end
|
13
|
+
|
14
|
+
def buttonShow__clicked(*args)
|
15
|
+
get_glade_variables() #sets values of @name, @address etc. to values from glade form.
|
16
|
+
alert "Curent values:\n\n#{@name}\n#{@address}\n#{@email}\n#{@phone}\n"
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
end
|
21
|
+
|