visualruby 1.0.19 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Splash.rb +40 -0
- data/bin/editor/VR_Document.rb +81 -74
- data/bin/editor/VR_TabSearch.rb +5 -7
- data/bin/editor/VR_Tabs.rb +57 -36
- data/bin/editor/VR_TextShell.rb +12 -34
- data/bin/editor/VR_TextViewCommon.rb +9 -28
- data/bin/main/NewProjectGUI.rb +14 -13
- data/bin/main/OpenProject.rb +69 -0
- data/bin/main/ProjectChooserView.rb +3 -2
- data/bin/main/ProjectTree.rb +25 -0
- data/bin/main/RubygemsAPI.rb +15 -11
- data/bin/main/VR_ENV.rb +38 -60
- data/bin/main/VR_ENV_GLOBAL.rb +45 -44
- data/bin/main/VR_File_Tree.rb +29 -21
- data/bin/main/VR_Local_Gem_Tree.rb +4 -19
- data/bin/main/VR_Main.rb +128 -144
- data/bin/main/VR_Remote_Gem_Tree.rb +6 -19
- data/bin/main/glade/NewProjectGUI.glade +94 -98
- data/bin/main/glade/OpenProject.glade +259 -0
- data/bin/main/glade/RubygemsAPI.glade +98 -62
- data/bin/main/glade/VR_ENV.glade +46 -55
- data/bin/main/glade/VR_ENV_GLOBAL.glade +251 -180
- data/bin/main/glade/VR_File_Tree.glade +25 -16
- data/bin/main/glade/VR_Local_Gem_Tree.glade +16 -8
- data/bin/main/glade/VR_Main.glade +410 -449
- data/bin/main/glade/VR_Remote_Gem_Tree.glade +33 -31
- data/bin/tools/VR_Tools.rb +60 -46
- data/{visualruby_examples → examples}/active_record/active_record.rb +16 -10
- data/{visualruby_examples → examples}/active_record/bin/ChoosePerson.rb +7 -0
- data/examples/active_record/bin/Person.rb +21 -0
- data/examples/active_record/bin/glade/ChoosePerson.glade +89 -0
- data/examples/active_record/bin/glade/Person.glade +197 -0
- data/{visualruby_examples → examples}/active_record/db/development.sqlite3 +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/CompanyGUI.rb +7 -7
- data/{visualruby_examples → examples}/active_record2/bin/Employee.rb +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/Employer.rb +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/Paycheck.rb +0 -0
- data/examples/active_record2/bin/glade/CompanyGUI.glade +149 -0
- data/examples/active_record2/bin/glade/Employee.glade +126 -0
- data/{visualruby_examples → examples}/active_record2/bin/glade/Employer.glade +0 -0
- data/{visualruby_examples → examples}/active_record2/bin/glade/Paycheck.glade +0 -0
- data/{visualruby_examples → examples}/active_record2/db/development.sqlite3 +0 -0
- data/{visualruby_examples → examples}/active_record2/main.rb +15 -9
- data/examples/alert_box/bin/AlertBoxDemo.rb +80 -0
- data/examples/alert_box/bin/glade/AlertBoxDemo.glade +234 -0
- data/examples/alert_box/main.rb +12 -0
- data/{visualruby_examples → examples}/all_widgets/bin/AllWidgets.rb +18 -10
- data/{visualruby_examples → examples}/all_widgets/bin/glade/AllWidgets.glade +52 -16
- data/{visualruby_examples → examples}/all_widgets/bin/splash.png +0 -0
- data/examples/all_widgets/main.rb +12 -0
- data/{visualruby_examples → examples}/calculator/bin/Calculator.rb +23 -22
- data/{visualruby_examples → examples}/calculator/bin/glade/Calculator.glade +81 -51
- data/examples/calculator/main.rb +13 -0
- data/examples/child_window/bin/ChildWindowDemo.rb +52 -0
- data/examples/child_window/bin/ModalWindow.rb +9 -0
- data/examples/child_window/bin/ModelessWindow.rb +9 -0
- data/examples/child_window/bin/MyChildClass.rb +21 -0
- data/examples/child_window/bin/glade/ChildWindowDemo.glade +87 -0
- data/examples/child_window/bin/glade/ModalWindow.glade +61 -0
- data/examples/child_window/bin/glade/ModelessWindow.glade +61 -0
- data/{visualruby_examples → examples}/child_window/bin/glade/MyChildClass.glade +14 -12
- data/examples/child_window/main.rb +12 -0
- data/{visualruby_examples → examples}/drag_drop/bin/DragDropDemo.rb +9 -10
- data/examples/drag_drop/bin/glade/DragDropDemo.glade +161 -0
- data/{visualruby_examples → examples}/drag_drop/img/folder.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/glade.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/gtk-edit.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/obj.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/png.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/rb.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/ruby.png +0 -0
- data/{visualruby_examples → examples}/drag_drop/img/unknown.png +0 -0
- data/examples/drag_drop/main.rb +11 -0
- data/examples/filetreeview/bin/ProjectTree.rb +32 -0
- data/examples/filetreeview/bin/ProjectTreeGUI.rb +28 -0
- data/examples/filetreeview/bin/glade/ProjectTreeGUI.glade +156 -0
- data/examples/filetreeview/main.rb +13 -0
- data/{visualruby_examples → examples}/listview/bin/SongListView.rb +24 -20
- data/{visualruby_examples → examples}/listview/bin/SongListViewGUI.rb +12 -11
- data/{visualruby_examples → examples}/listview/bin/audio-x-generic.png +0 -0
- data/examples/listview/bin/glade/SongListViewGUI.glade +195 -0
- data/examples/listview/main.rb +10 -0
- data/examples/listview_objects/bin/DataObject.rb +53 -0
- data/{visualruby_examples → examples}/listview_objects/bin/ListViewObjects.rb +7 -4
- data/examples/listview_objects/bin/ListViewObjectsGUI.rb +26 -0
- data/examples/listview_objects/bin/glade/DataObject.glade +196 -0
- data/examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +87 -0
- data/examples/listview_objects/main.rb +12 -0
- data/examples/settings_file/bin/MainApp.rb +38 -0
- data/examples/settings_file/bin/SavableSettings.rb +39 -0
- data/examples/settings_file/bin/glade/MainApp.glade +87 -0
- data/examples/settings_file/bin/glade/SavableSettings.glade +162 -0
- data/examples/settings_file/main.rb +14 -0
- data/examples/settings_file/settings.yaml +15 -0
- data/examples/simple_ruby_gui/bin/DataObjectGUI.rb +21 -0
- data/examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +195 -0
- data/examples/simple_ruby_gui/main.rb +16 -0
- data/{visualruby_examples → examples}/treeview/bin/MyClass.rb +1 -5
- data/examples/treeview/bin/glade/MyClass.glade +24 -0
- data/examples/treeview/main.rb +13 -0
- data/skeleton/document/New.glade +3 -4
- data/skeleton/document/NewWindow.rb +1 -1
- data/skeleton/project/bin/MyClass.rb +2 -2
- data/skeleton/project/bin/glade/MyClass.glade +12 -26
- data/skeleton/project/main.rb +4 -8
- data/vr +41 -37
- data/vrlib/lib/Alert.rb +67 -0
- data/vrlib/lib/DragDrop.rb +90 -0
- data/vrlib/lib/GladeGUI.rb +433 -0
- data/vrlib/lib/IconHash.rb +18 -0
- data/vrlib/lib/SavableClass.rb +56 -0
- data/vrlib/lib/SimpleComboBoxEntry.rb +8 -0
- data/vrlib/lib/glade/Alert.glade +119 -0
- data/vrlib/lib/treeview/FileTreeView.rb +113 -0
- data/vrlib/lib/treeview/IterMethods.rb +82 -0
- data/vrlib/lib/treeview/ListView.rb +85 -0
- data/vrlib/lib/treeview/TreeView.rb +43 -0
- data/vrlib/lib/treeview/ViewCommon.rb +370 -0
- data/vrlib/lib/treeview/columns/CalendarCol.rb +89 -0
- data/vrlib/lib/treeview/columns/CellRendererCombo.rb +66 -0
- data/vrlib/lib/treeview/columns/CellRendererDate.rb +45 -0
- data/vrlib/lib/treeview/columns/CellRendererObject.rb +57 -0
- data/vrlib/lib/treeview/columns/CellRendererPhone.rb +45 -0
- data/vrlib/lib/treeview/columns/CellRendererPixbuf.rb +16 -0
- data/vrlib/lib/treeview/columns/CellRendererProgress.rb +17 -0
- data/vrlib/lib/treeview/columns/CellRendererSpin.rb +37 -0
- data/vrlib/lib/treeview/columns/CellRendererText.rb +38 -0
- data/vrlib/lib/treeview/columns/CellRendererToggle.rb +47 -0
- data/vrlib/lib/treeview/columns/ComboCol.rb +43 -0
- data/vrlib/lib/treeview/columns/CurrencyCol.rb +23 -0
- data/vrlib/lib/treeview/columns/DateCol.rb +20 -0
- data/vrlib/lib/treeview/columns/ImageCol.rb +27 -0
- data/vrlib/lib/treeview/columns/ProgressCol.rb +27 -0
- data/vrlib/lib/treeview/columns/SpinCol.rb +11 -0
- data/vrlib/lib/treeview/columns/TextCol.rb +65 -0
- data/vrlib/lib/treeview/columns/TreeViewColumn.rb +93 -0
- data/{bin/main/glade/ProjectChooserGUI.glade → vrlib/lib/treeview/columns/glade/CalendarCol.glade} +71 -63
- data/{bin/main/glade/Splash.glade → vrlib/lib/treeview/columns/glade/ImageCol.glade} +5 -6
- data/vrlib/lib/treeview/columns/glade/TextCol.glade +82 -0
- data/vrlib/rdoc_replace.yaml +77 -0
- data/vrlib/vrlib.rb +7 -0
- metadata +163 -136
- data/bin/editor/glade/VR_Document.glade +0 -160
- data/bin/main/ProjectChooserGUI.rb +0 -41
- data/bin/main/Splash.rb +0 -22
- data/visualruby_examples/active_record/.vr_settings.yaml +0 -47
- data/visualruby_examples/active_record/bin/Person.rb +0 -13
- data/visualruby_examples/active_record/bin/glade/ChoosePerson.glade +0 -61
- data/visualruby_examples/active_record/bin/glade/Person.glade +0 -148
- data/visualruby_examples/active_record2/.vr_settings.yaml +0 -16
- data/visualruby_examples/active_record2/bin/glade/CompanyGUI.glade +0 -167
- data/visualruby_examples/active_record2/bin/glade/Employee.glade +0 -123
- data/visualruby_examples/all_widgets/.vr_settings.yaml +0 -13
- data/visualruby_examples/all_widgets/main.rb +0 -14
- data/visualruby_examples/calculator/.vr_settings.yaml +0 -11
- data/visualruby_examples/calculator/main.rb +0 -13
- data/visualruby_examples/child_window/.vr_settings.yaml +0 -16
- data/visualruby_examples/child_window/bin/ChildWindowDemo.rb +0 -39
- data/visualruby_examples/child_window/bin/MyChildClass.rb +0 -40
- data/visualruby_examples/child_window/bin/glade/ChildWindowDemo.glade +0 -101
- data/visualruby_examples/child_window/main.rb +0 -13
- data/visualruby_examples/drag_drop/.vr_settings.yaml +0 -12
- data/visualruby_examples/drag_drop/bin/glade/DragDropDemo.glade +0 -143
- data/visualruby_examples/drag_drop/main.rb +0 -14
- data/visualruby_examples/listview/.vr_settings.yaml +0 -12
- data/visualruby_examples/listview/bin/glade/SongListViewGUI.glade +0 -220
- data/visualruby_examples/listview/main.rb +0 -19
- data/visualruby_examples/listview_objects/.vr_settings.yaml +0 -16
- data/visualruby_examples/listview_objects/bin/DataObject.rb +0 -32
- data/visualruby_examples/listview_objects/bin/DataObjectGUI.rb +0 -41
- data/visualruby_examples/listview_objects/bin/ListViewObjectsGUI.rb +0 -18
- data/visualruby_examples/listview_objects/bin/glade/DataObject.glade +0 -198
- data/visualruby_examples/listview_objects/bin/glade/ListViewObjectsGUI.glade +0 -102
- data/visualruby_examples/listview_objects/main.rb +0 -13
- data/visualruby_examples/simple_ruby_gui/.vr_settings.yaml +0 -16
- data/visualruby_examples/simple_ruby_gui/bin/DataObjectGUI.rb +0 -20
- data/visualruby_examples/simple_ruby_gui/bin/glade/DataObjectGUI.glade +0 -163
- data/visualruby_examples/simple_ruby_gui/main.rb +0 -16
- data/visualruby_examples/treeview/.vr_settings.yaml +0 -12
- data/visualruby_examples/treeview/bin/glade/MyClass.glade +0 -48
- data/visualruby_examples/treeview/main.rb +0 -14
@@ -0,0 +1,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
|
+
|