foxguib 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/changelog.txt +128 -0
- data/doc/www/index.html +173 -0
- data/doc/www/upload.rb +9 -0
- data/examples/event_handler.rb +67 -0
- data/examples/event_handlers.rbin +0 -0
- data/examples/guib_testdialog.rb +31 -0
- data/examples/testdialog.rb +29 -0
- data/exe/foxguib +1 -0
- data/foxGUIb-debug.rb +37 -0
- data/foxGUIb.rb +88 -0
- data/foxGUIb_win32.rbw +1 -0
- data/foxguib.gemspec +26 -0
- data/license.txt +49 -0
- data/readme.txt +1 -0
- data/release_notes.txt +68 -0
- data/src/assert.rb +8 -0
- data/src/cfgman.rb +27 -0
- data/src/code-gen/code-generator.rb +171 -0
- data/src/code-gen/property-generators.rb +65 -0
- data/src/code-gen/widget-generator.rb +22 -0
- data/src/convert.rb +60 -0
- data/src/direct_widget_manipulation.rb +343 -0
- data/src/docman.rb +260 -0
- data/src/document.rb +405 -0
- data/src/event_categories.yaml +85 -0
- data/src/event_listener.rb +57 -0
- data/src/events.yaml +77 -0
- data/src/events_docu.yaml +228 -0
- data/src/get_events.rb +64 -0
- data/src/gui/ArrowButton.tga +0 -0
- data/src/gui/BoxMinus.tga +0 -0
- data/src/gui/BoxPlus.tga +0 -0
- data/src/gui/Button.tga +0 -0
- data/src/gui/CheckButton.tga +0 -0
- data/src/gui/ComboBox.tga +0 -0
- data/src/gui/Dial.tga +0 -0
- data/src/gui/GroupBox.tga +0 -0
- data/src/gui/HorizontalFrame.tga +0 -0
- data/src/gui/HorizontalSeparator.tga +0 -0
- data/src/gui/Label.tga +0 -0
- data/src/gui/MDIChild.tga +0 -0
- data/src/gui/MDIClient.tga +0 -0
- data/src/gui/Matrix.tga +0 -0
- data/src/gui/MenuCaption.tga +0 -0
- data/src/gui/MenuCascade.tga +0 -0
- data/src/gui/MenuCheck.tga +0 -0
- data/src/gui/MenuCommand.tga +0 -0
- data/src/gui/MenuPane.tga +0 -0
- data/src/gui/MenuRadio.tga +0 -0
- data/src/gui/MenuSeparator.tga +0 -0
- data/src/gui/MenuTitle.tga +0 -0
- data/src/gui/Menubar.tga +0 -0
- data/src/gui/Packer.tga +0 -0
- data/src/gui/ProgressBar.tga +0 -0
- data/src/gui/RadioButton.tga +0 -0
- data/src/gui/RadioMutex.tga +0 -0
- data/src/gui/ScrollWindow.tga +0 -0
- data/src/gui/Scrollbar.tga +0 -0
- data/src/gui/Shutter.tga +0 -0
- data/src/gui/ShutterItem.tga +0 -0
- data/src/gui/Slider.tga +0 -0
- data/src/gui/Spinner.tga +0 -0
- data/src/gui/Splitter.tga +0 -0
- data/src/gui/StatusBar.tga +0 -0
- data/src/gui/Statusline.tga +0 -0
- data/src/gui/Switcher.tga +0 -0
- data/src/gui/TabBar.tga +0 -0
- data/src/gui/TabBook.tga +0 -0
- data/src/gui/TabItem.tga +0 -0
- data/src/gui/Text.tga +0 -0
- data/src/gui/TextField.tga +0 -0
- data/src/gui/ToggleButton.tga +0 -0
- data/src/gui/Toolbar.tga +0 -0
- data/src/gui/VerticalFrame.tga +0 -0
- data/src/gui/VerticalSeparator.tga +0 -0
- data/src/gui/_guib_event_editor.rb +185 -0
- data/src/gui/_guib_event_editor.rbin +0 -0
- data/src/gui/_guib_genruby.rb +414 -0
- data/src/gui/_guib_genruby.rbin +0 -0
- data/src/gui/_guib_mainwin.rb +574 -0
- data/src/gui/_guib_mainwin.rbin +0 -0
- data/src/gui/event_editor.rb +180 -0
- data/src/gui/genruby.rb +155 -0
- data/src/gui/guib__console.rb +265 -0
- data/src/gui/mainwin.rb +71 -0
- data/src/gui/ruby_console.rb +263 -0
- data/src/gui/svg/Matrix.svg +87 -0
- data/src/gui/svg/MenuCheck.svg +135 -0
- data/src/gui/svg/MenuRadio.svg +130 -0
- data/src/gui/svg/RadioMutex.svg +119 -0
- data/src/gui/textview.rb +101 -0
- data/src/gui/textview.rbin +0 -0
- data/src/minitest.rb +60 -0
- data/src/prop-lists.rb +323 -0
- data/src/prop-types.rb +606 -0
- data/src/properties.rb +119 -0
- data/src/propman.rb +88 -0
- data/src/relink_mechanisms.rb +95 -0
- data/src/serialize.rb +167 -0
- data/src/state_machine.rb +73 -0
- data/src/version.rb +6 -0
- data/src/widget-lists.rb +118 -0
- data/src/widget-selector.rb +85 -0
- data/src/widgettree-controls.rb +183 -0
- data.tar.gz.sig +0 -0
- metadata +236 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ef9f8fd2a5d4a7e9035145b03f4c184aad0833f18f23e467aa53980e3c7c84d3
|
4
|
+
data.tar.gz: 1c1d6a826207dcb485684d5f234cf05b70246bab5d01d2e5f423679f81b6f165
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dc9c89e21987729b9f6185164df25717f6aaf2ba18b928973969e09cc9f1ff6f886ae75e26d427123dfb2b05ea53143e92684738ab272f02da8f8e77fe73663b
|
7
|
+
data.tar.gz: 1cee86a3d2dd8e37ecdb6e15cd8197a4da82e37807cd522daa5a3c3e0104db51f2aa37d78421504d0853feb120ab2045804e4848e4a270070be3a492c113f526
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/changelog.txt
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
===========================================================
|
2
|
+
foxGUIb v1.0.0 for FXRuby 1.6
|
3
|
+
===========================================================
|
4
|
+
|
5
|
+
* fixed: a bug that blocked the radio buttons in Generator Dialog
|
6
|
+
* fixed: better error message when loading of libguib fails
|
7
|
+
* added $VERBOSE=nil to overcome a bug in ruby 1.8.x that yields a whole lot
|
8
|
+
of warnings when loading fxruby
|
9
|
+
* fixed a bug in RangeProp
|
10
|
+
|
11
|
+
===========================================================
|
12
|
+
foxGUIb v0.7.1 for FXRuby 1.6
|
13
|
+
===========================================================
|
14
|
+
|
15
|
+
* fixed: numbers and constants weren't saved/loaded right
|
16
|
+
* fixed: crash when deleting a radiobutton out of a
|
17
|
+
radiomutex.
|
18
|
+
|
19
|
+
===========================================================
|
20
|
+
foxGUIb v0.7 for FXRuby 1.6
|
21
|
+
===========================================================
|
22
|
+
|
23
|
+
Summary:
|
24
|
+
--------
|
25
|
+
|
26
|
+
FOX 1.6 brings to you full unicode support. see:
|
27
|
+
foxGUIb/test/unicode_test_japanese.rbin
|
28
|
+
This release is tested against FXRuby 1.6.0
|
29
|
+
I got some bug reports and most of them are fixed in this
|
30
|
+
release. Please keep sending bug reports to further improve
|
31
|
+
foxGUIb.
|
32
|
+
|
33
|
+
List of changes:
|
34
|
+
----------------
|
35
|
+
* restructured the source repository to be user centered.
|
36
|
+
now the sources are in ./src and only the important files
|
37
|
+
are in the toplevel directory.
|
38
|
+
* Fixed the bug that allowed to change properties of a
|
39
|
+
deleted widget (caused a crash)
|
40
|
+
* Fixed several bugs that led to crashes when typing
|
41
|
+
improper values into the property manipulators. e.g.:
|
42
|
+
backColor="bad input" instead of "200,255,255"
|
43
|
+
* on startup foxGUIb logs important version infos to the
|
44
|
+
log file. the log file is appended instead of replaced.
|
45
|
+
in case of a problem you can send me your logfile.
|
46
|
+
* some code improvements. hope i didn't introduce more bugs
|
47
|
+
* repository switched to svn.
|
48
|
+
... the contracting design window issue (windows only) is
|
49
|
+
still unfixed.
|
50
|
+
|
51
|
+
===========================================================
|
52
|
+
foxGUIb v0.6.2 for FXRuby 1.4.x (stable)
|
53
|
+
===========================================================
|
54
|
+
* fixed the "initial design window" isssue on windows.
|
55
|
+
|
56
|
+
|
57
|
+
===========================================================
|
58
|
+
foxGUIb v0.6.1 for FXRuby 1.4.x
|
59
|
+
===========================================================
|
60
|
+
* fixed the forgotten comma which caused a crash
|
61
|
+
|
62
|
+
|
63
|
+
===========================================================
|
64
|
+
foxGUIb v0.6 for FXRuby 1.4.x
|
65
|
+
===========================================================
|
66
|
+
* added widgets radiomutex menuradio and menucheck
|
67
|
+
* validates widget names (whether suitable as instance var), lowercase default names
|
68
|
+
* fixed the codegen-dialog startup bugs:
|
69
|
+
* the suggested class name changes according to the selected root widget
|
70
|
+
* codegen dialog protects settings by means of a checkboxthat toggles it readonly
|
71
|
+
* fixed bug: "on XP, the code gen window opens rather low down on the screen"
|
72
|
+
* context menu commands that are not supposed to be applied in certain situations are disabled (now foolproof ^^)
|
73
|
+
* context menu is now also available in the layout for most of the widgets (that respond to LMB-press)
|
74
|
+
* terminology: changed "paste/add under" to "paste/add inside"
|
75
|
+
* fixed: crash on closing last open layout
|
76
|
+
* fixed: the 'ruby sequence' option for code generator was broken
|
77
|
+
* fixed: crash on generate when document has been switched meanwhile.
|
78
|
+
* newly created widget is allways highlighted blue
|
79
|
+
* terminology: changed term for foxGUIb documents from 'Dialog' to 'Layout' in the userinterface
|
80
|
+
* fixed: the copy-paste bug and removed backColor hacks that became obsolete because of the new backColor(=) singleton methods
|
81
|
+
* added cut (to the options copy, paste and delete)
|
82
|
+
* removed "place exact" by "paste under/ -before/ -after"
|
83
|
+
* event editor: can now be started from context menu
|
84
|
+
* fix: changed backColor to allways return the true color of the widget (not the blue selection color of foxGUIb).
|
85
|
+
* externalized FX.rb as libGUIb and wrote an installer for it.
|
86
|
+
* updated foxGUIb to use libGUIb14.rb
|
87
|
+
* hacked mainwindow layouts to be always in front of foxGUIb mainwin
|
88
|
+
* fixed: the mainwindow allways in front of guib hack introduced a new problem. mainwindows got generated as dialog boxes
|
89
|
+
* eliminated include FX and include Fox from libGUIb.
|
90
|
+
* fixed bug in event_handler example
|
91
|
+
|
92
|
+
|
93
|
+
--------------------------------------------------------------------
|
94
|
+
v0.5.0
|
95
|
+
* Compatible with FXRuby1.4.4. Unfortunately this release is incompatible with
|
96
|
+
old FXRuby versions <= 1.2.6. Send me a feature request if you need it.
|
97
|
+
* New feature: "EventEditor". Event handling code can be written directly in
|
98
|
+
the EventEditor. Test running of the designed GUI with events is not included yet.
|
99
|
+
* The code generator supports events. See the event_handler.rbin example.
|
100
|
+
* EventEditor shows documentation for each listed event in the FXRuby API
|
101
|
+
* I polished foxGUIb's own GUI a bit. Looks quite professional now ;)
|
102
|
+
* Most icons are now in TGA file format which can allways be loaded because TGA
|
103
|
+
support is built-in in the FOX library.
|
104
|
+
* Fixed the startup crash on linux platforms.
|
105
|
+
* Fixed "Save As" Bug
|
106
|
+
Notes: Mike Parr is currently writing documentation for foxGUIb. The docu will be
|
107
|
+
included in the package in succeding versions. Thanks to all who encouraged me to
|
108
|
+
continue on foxGUIb!!
|
109
|
+
--------------------------------------------------------------------
|
110
|
+
v1_branch: (unstable)
|
111
|
+
* completed module Direct Widget Manipulation that features
|
112
|
+
* insert mode: mouse and keyboard controllable insert cursor
|
113
|
+
* edit mode: mouse-over hovering, single/multiple select, recursive select
|
114
|
+
and mouse-drag-relink, keyboard relink of selected widget
|
115
|
+
--------------------------------------------------------------------
|
116
|
+
version 0.4.1: development release. (unstable)
|
117
|
+
* fixed a critical bug in code-generator.rb (widgetname without quotes)
|
118
|
+
--------------------------------------------------------------------
|
119
|
+
version 0.4: development release. (unstable)
|
120
|
+
* ported to fox12 - fxruby 1.2.6 but tried to be backward compatible to fox 1.0. that is:
|
121
|
+
previous foxGUIb version documents can be loaded.
|
122
|
+
NOTE: radiobuttons in groupboxes don't support radio behaviour any more.
|
123
|
+
* code generator outputs version
|
124
|
+
* fixed bug: crashes after switching to a loaded document.
|
125
|
+
* Combobox#comboItems= now takes a newline seperated string
|
126
|
+
* added widgets: MainWindow, Matrix
|
127
|
+
--------------------------------------------------------------------
|
128
|
+
Version 0.3: initial release.
|
data/doc/www/index.html
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
<title>foxGUIb: interactive gui builder and codegenerator for FXRuby</title>
|
10
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
11
|
+
</head>
|
12
|
+
|
13
|
+
|
14
|
+
<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
|
15
|
+
|
16
|
+
|
17
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><big><big><big><big><b><font size="3"><big><big><big><big>foxGUIb</big></big></big></big></font></b></big></big></big></big><font size="3"> <br>
|
18
|
+
... is an interactive gui builder and codegenerator for</font></font><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"> <b><a href="http://www.fxruby.org/" target="_blank">FXRuby</a></b></font></font><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3">. It is a convenient tool that makes it easy to quickly build
|
19
|
+
complex and good looking graphical user interfaces for <b><a href="http://www.ruby-lang.org/en" target="_blank">Ruby</a></b>. </font></font></p>
|
20
|
+
|
21
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"></font></font></p>
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><span style="font-weight: bold;">download:</span> all releases of <a href="http://rubyforge.org/frs/?group_id=88">foxGUIb</a></font></font></p>
|
26
|
+
|
27
|
+
|
28
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><span style="font-weight: bold;">users
|
29
|
+
guide:</span> thanks to my dear friend <span style="font-style: italic;">Mike Parr</span>
|
30
|
+
there is a comprehensive <a href="http://www.mikeparr.info/rubyguib/foxguibhome.htm">User's Guide</a> available.</font></font></p>
|
31
|
+
|
32
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><span style="font-weight: bold;">screen shot: </span>the
|
33
|
+
window in the back is the main window of foxGUIb showing the
|
34
|
+
"widget tree" the "widget selector" and the "properties" of the
|
35
|
+
currently highlighted widget (blue). The window in the front is the
|
36
|
+
design window, where a user has built a simple user interface.</font></font></p>
|
37
|
+
|
38
|
+
<p style="margin-left: 40px;"><img style="width: 500px; height: 325px;" alt="[screenshot]" src="http://www.mikeparr.info/rubyguib/pics/guibshot1.jpg"></p>
|
39
|
+
|
40
|
+
|
41
|
+
<p style="font-weight: bold;"><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3">installation v0.6.2:</font></font></p>
|
42
|
+
|
43
|
+
|
44
|
+
<ol>
|
45
|
+
|
46
|
+
|
47
|
+
<li><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><span style="text-decoration: underline;">install
|
48
|
+
libGUIb</span>: download the latest version of the package <span style="font-style: italic;">libGUIb-install</span> and
|
49
|
+
uncompress it to a temporary directory. go to that
|
50
|
+
directory and run <big><code><small>ruby install.rb</small></code></big>
|
51
|
+
(on linux this requires superuser privileges)</font></font></li>
|
52
|
+
|
53
|
+
|
54
|
+
<li><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><span style="text-decoration: underline;">install
|
55
|
+
foxGUIb</span>: download the latest <span style="font-style: italic;">foxGUIb</span> package and
|
56
|
+
uncompress it to a directory of your choice. </font></font></li>
|
57
|
+
|
58
|
+
|
59
|
+
<li><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3">you are done. </font></font></li>
|
60
|
+
|
61
|
+
|
62
|
+
</ol>
|
63
|
+
|
64
|
+
|
65
|
+
<p style="font-weight: bold;"><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3">installation v0.7:</font></font></p>
|
66
|
+
<span style="font-family: Helvetica,Arial,sans-serif;">the release process was too complicated with 3 packages, so i simplified it:</span><br style="font-family: Helvetica,Arial,sans-serif;">
|
67
|
+
<span style="font-family: Helvetica,Arial,sans-serif;">dowload the all-in-one-archive and install libGUIb. see </span><span style="text-decoration: underline; font-family: Helvetica,Arial,sans-serif;">installation.txt</span><span style="font-family: Helvetica,Arial,sans-serif;"> for details.</span><br>
|
68
|
+
<p><font style="font-weight: bold;" face="Verdana, Arial, Helvetica, sans-serif"><font size="3">usage:</font></font></p>
|
69
|
+
|
70
|
+
|
71
|
+
<ul>
|
72
|
+
|
73
|
+
|
74
|
+
<li style="font-family: Helvetica,Arial,sans-serif;">go to the foxGUIb directory and run foxGUIb either by:</li>
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
<ul>
|
79
|
+
|
80
|
+
|
81
|
+
<li style="font-family: Helvetica,Arial,sans-serif;">double-clicking on foxGUIb-win32.rbw (on windows)</li>
|
82
|
+
|
83
|
+
|
84
|
+
<li><span style="font-family: Helvetica,Arial,sans-serif;">typing</span> <code><span style="font-family: monospace;">ruby foxGUIb.rb</span></code>
|
85
|
+
<span style="font-family: Helvetica,Arial,sans-serif;">(on *nix-like systems)</span></li>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
</ul>
|
90
|
+
|
91
|
+
|
92
|
+
<li><span style="font-family: Helvetica,Arial,sans-serif;">to release files generated by foxGUIb you might want to distribute them together with </span><span style="font-style: italic; font-family: Helvetica,Arial,sans-serif;">libGUIb14.rb</span><span style="font-family: Helvetica,Arial,sans-serif;">,
|
93
|
+
which is also available for download as single file (</span><span style="font-style: italic; font-family: Helvetica,Arial,sans-serif;">libGUIb14.rb-redistributable*.zip</span><span style="font-family: Helvetica,Arial,sans-serif;">)</span>.</li>
|
94
|
+
|
95
|
+
|
96
|
+
</ul>
|
97
|
+
|
98
|
+
|
99
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif"><small><b>mailing
|
100
|
+
list:</b></small> </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">foxGUIb
|
101
|
+
users may use the <a href="http://rubyforge.org/mailman/listinfo/fxruby-users" target="_blank">fxruby-users</a> mailing list </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">(low
|
102
|
+
traffic).</font></p>
|
103
|
+
|
104
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
|
105
|
+
<small><font size="3"><small><b>bugs:</b></small></font></small>
|
106
|
+
a bugtracker can be found on <a href="http://rubyforge.org/projects/fox-tool/">http://rubyforge.org/projects/fox-tool/</a></font></p>
|
107
|
+
|
108
|
+
|
109
|
+
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small><span style="font-weight: bold;">copyright:</span> foxGUIb and libGUIb are copyright </small></span><big><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><big>©</big></font></big><span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small> 2004-2006 by Meinrad Recheis aka Henon
|
110
|
+
(meinrad dot recheis at gmail dot com)<br>
|
111
|
+
<br>
|
112
|
+
</small></span><span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small><span style="font-weight: bold;">license: <br>
|
113
|
+
|
114
|
+
|
115
|
+
</span></small></span>
|
116
|
+
<ul>
|
117
|
+
|
118
|
+
|
119
|
+
<li><small><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><small><span style="text-decoration: underline;">foxGUIb</span> is
|
120
|
+
open source and redestributable under the terms of the <a href="http://www.opensource.org/licenses/artistic-license.php">Artistic
|
121
|
+
License</a>.</small></font></font></small></li>
|
122
|
+
|
123
|
+
|
124
|
+
<li><small><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><small><span style="text-decoration: underline;">libGUIb</span> is redistributable for </small></font></font></small><small><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><small>commercial and non-commercial use under the terms of the <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a></small></font></font></small><small><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><small>.</small></font></font></small></li>
|
125
|
+
|
126
|
+
|
127
|
+
<li><small><font face="Verdana, Arial, Helvetica, sans-serif"><font size="3"><small><span style="text-decoration: underline;">Source files generated
|
128
|
+
by foxGUIb</span> are free for commercial and
|
129
|
+
non-commercial use. </small></font></font></small></li>
|
130
|
+
|
131
|
+
|
132
|
+
</ul>
|
133
|
+
|
134
|
+
|
135
|
+
<div style="margin-left: 40px;"><span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small>THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, </small></span><br>
|
136
|
+
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small>INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND </small></span><br>
|
137
|
+
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small>FITNESS FOR A PARTICULAR PURPOSE.</small></span><br>
|
138
|
+
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"></span></div>
|
139
|
+
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><small>
|
140
|
+
|
141
|
+
<span style="font-weight: bold;"></span></small></span>
|
142
|
+
<hr noshade="noshade">
|
143
|
+
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">some people i'd like to pay my respect to: <br>
|
144
|
+
|
145
|
+
|
146
|
+
</font></p>
|
147
|
+
|
148
|
+
<div style="margin-left: 40px;"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Yukihiro Matsumoto</b>, the inventor of <a href="http://www.ruby-lang.org/en">RUBY</a> (the best
|
149
|
+
scripting language ever!)</font><br>
|
150
|
+
|
151
|
+
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
|
152
|
+
<b>Jeroen van der Zijp,</b> the inventor of the GUI toolkit <a href="http://www.fox-toolkit.org">FOX</a></font><small style="font-family: Helvetica,Arial,sans-serif;"> </small><br>
|
153
|
+
|
154
|
+
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
|
155
|
+
<b>Lyle Johnson</b>, the creator and maintainer of <a href="http://www.fxruby.org/">FXRuby</a></font><br>
|
156
|
+
|
157
|
+
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
|
158
|
+
<span style="font-weight: bold;">Tom Copeland</span>,
|
159
|
+
and the <a href="http://www.rubyforge.org/">rubyforge.org</a>
|
160
|
+
team. they are hosting this project.</font><br>
|
161
|
+
|
162
|
+
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
|
163
|
+
<span style="font-weight: bold;">Mike Parr</span>, the author of the <a href="http://www.mikeparr.info/rubyguib/foxguibhome.htm">guide</a>.</font></div>
|
164
|
+
|
165
|
+
<p></p>
|
166
|
+
|
167
|
+
|
168
|
+
<p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Copyright
|
169
|
+
© 2006 Meinrad Recheis</font></p>
|
170
|
+
|
171
|
+
|
172
|
+
</body>
|
173
|
+
</html>
|
data/doc/www/upload.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
STDOUT.sync = true
|
2
|
+
|
3
|
+
puts `scp index.html fox-tool.rubyforge.org:/var/www/gforge-projects/fox-tool`
|
4
|
+
|
5
|
+
pw = File.read("pw")
|
6
|
+
io = IO.popen("scp index.html fox-tool.rubyforge.org:/var/www/gforge-projects/fox-tool", "w")
|
7
|
+
puts "sleeping for a minute"
|
8
|
+
sleep 60
|
9
|
+
io.puts pw
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# source generated by foxGUIb
|
2
|
+
|
3
|
+
class EventHandler
|
4
|
+
def initialize(parent)
|
5
|
+
construct_widget_tree(parent)
|
6
|
+
init if respond_to? :init
|
7
|
+
end
|
8
|
+
|
9
|
+
def construct_widget_tree(parent)
|
10
|
+
@topwin =
|
11
|
+
FX::MainWindow.new(parent) { |w|
|
12
|
+
@MainWindow = w
|
13
|
+
w.wdg_name = "MainWindow"
|
14
|
+
w.width = 200
|
15
|
+
w.shown = true
|
16
|
+
w.y = 593
|
17
|
+
w.height = 150
|
18
|
+
w.x = 51
|
19
|
+
FX::VerticalFrame.new(@MainWindow) { |w|
|
20
|
+
@VerticalFrame = w
|
21
|
+
w.wdg_name = "VerticalFrame"
|
22
|
+
w.width = 200
|
23
|
+
w.height = 150
|
24
|
+
FX::Button.new(@VerticalFrame) { |w|
|
25
|
+
@Button = w
|
26
|
+
w.wdg_name = "Button"
|
27
|
+
w.text = "click to see what happens!"
|
28
|
+
w.width = 177
|
29
|
+
w.height = 23
|
30
|
+
@Button.connect(Fox::SEL_LEFTBUTTONRELEASE) {
|
31
|
+
@Text.appendText "lmb up\n"
|
32
|
+
0 # this prevents fox from blocking the builtin event handler for leftbuttonpress
|
33
|
+
}
|
34
|
+
@Button.connect(Fox::SEL_LEFTBUTTONPRESS) {
|
35
|
+
@Text.appendText "lmb down\n"
|
36
|
+
0 # this prevents fox from blocking the builtin event handler for leftbuttonpress
|
37
|
+
}
|
38
|
+
@Button.connect(Fox::SEL_COMMAND) {
|
39
|
+
@Text.appendText "click!\n"
|
40
|
+
}
|
41
|
+
}
|
42
|
+
FX::Text.new(@VerticalFrame) { |w|
|
43
|
+
@Text = w
|
44
|
+
w.wdg_name = "Text"
|
45
|
+
w.width = 200
|
46
|
+
w.y = 23
|
47
|
+
w.height = 127
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
end
|
52
|
+
attr_reader :topwin
|
53
|
+
attr_reader :MainWindow
|
54
|
+
attr_reader :VerticalFrame
|
55
|
+
attr_reader :Button
|
56
|
+
attr_reader :Text
|
57
|
+
end
|
58
|
+
|
59
|
+
# unit test
|
60
|
+
if __FILE__ == $0
|
61
|
+
require "FX"
|
62
|
+
app = FX::App.new
|
63
|
+
w = EventHandler.new app
|
64
|
+
w.topwin.show(0)
|
65
|
+
app.create
|
66
|
+
app.run
|
67
|
+
end
|
Binary file
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class TestDialog
|
2
|
+
def initialize(parent)
|
3
|
+
construct_widget_tree(parent)
|
4
|
+
init if respond_to? :init
|
5
|
+
end
|
6
|
+
|
7
|
+
def construct_widget_tree(parent)
|
8
|
+
@topwin =
|
9
|
+
FX::DialogBox.new(parent) { |w|
|
10
|
+
@DialogBox = w
|
11
|
+
w.width = 200
|
12
|
+
w.shown = true
|
13
|
+
w.y = 325
|
14
|
+
w.height = 150
|
15
|
+
w.x = 540
|
16
|
+
}
|
17
|
+
end
|
18
|
+
attr_accessor :topwin,
|
19
|
+
:DialogBox,
|
20
|
+
:__foxGUIb__last__
|
21
|
+
end
|
22
|
+
|
23
|
+
# unit test
|
24
|
+
if __FILE__ == $0
|
25
|
+
require "FX"
|
26
|
+
app = App.new
|
27
|
+
w = TestDialog.new app
|
28
|
+
w.topwin.show(0)
|
29
|
+
app.create
|
30
|
+
app.run
|
31
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Copyright (c) 2004-2006 by Henon (meinrad dot recheis at gmail dot com)
|
2
|
+
|
3
|
+
$stdout.sync = true
|
4
|
+
require "guib_testdialog"
|
5
|
+
class TestDialog
|
6
|
+
def init
|
7
|
+
# exits the interpreter when the dialog is closed
|
8
|
+
@topwin.connect(SEL_CLOSE) {
|
9
|
+
puts "goodbye!"
|
10
|
+
exit(0)
|
11
|
+
}
|
12
|
+
# adding a button here manually just to show
|
13
|
+
# that you can to just anything in the extension file
|
14
|
+
Fox::FXButton.new(@topwin, "click me") { |b|
|
15
|
+
b.connect(SEL_COMMAND) {
|
16
|
+
puts "hello world!"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
# unit test just copied from the guib file
|
22
|
+
if __FILE__ == $0
|
23
|
+
require "../FX"
|
24
|
+
app = App.new
|
25
|
+
w = TestDialog.new app
|
26
|
+
w.topwin.show(0)
|
27
|
+
app.create
|
28
|
+
app.run
|
29
|
+
end
|
data/exe/foxguib
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require_relative "../foxGUIb"
|
data/foxGUIb-debug.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# Copyright (c) 2004-2006 by Henon (meinrad dot recheis at gmail dot com)
|
2
|
+
# foxGUIb debug
|
3
|
+
|
4
|
+
# TODO:
|
5
|
+
# add a libGUIb version
|
6
|
+
# scrollbar style
|
7
|
+
# terminate called after throwing an instance of 'FX::FXFontException'
|
8
|
+
|
9
|
+
# combobox and list and others: add Array-like interface
|
10
|
+
|
11
|
+
# eliminate globals. $app --> App.instance
|
12
|
+
# replace pp with yaml
|
13
|
+
# show if document is modified
|
14
|
+
# codegenerator that outputs true subclasses as opposed to a delegator, or outputs module that can be included
|
15
|
+
# review container. change container header to checker with boxstyle
|
16
|
+
# replace png dummy by tga dummy
|
17
|
+
# review img= (concerning the removal of icons)
|
18
|
+
# listitems, treeitems
|
19
|
+
# extract more docu from the fxruby api
|
20
|
+
|
21
|
+
# more TODOs:
|
22
|
+
|
23
|
+
# Also, I noticed that the code gen dialog does not automatically add .rb to my chosen class name
|
24
|
+
|
25
|
+
# generator: floatinput.rb:99: uninitialized constant MainWindow (NameError)
|
26
|
+
|
27
|
+
# removing eventhandling code leaves a single character undeletable
|
28
|
+
# codegen derive instead of embed
|
29
|
+
# 'autosave ruby class' option
|
30
|
+
# 'generate code on every save' option.
|
31
|
+
# +namespace solution would be nice.
|
32
|
+
# convert old fox-tool examples to foxguib
|
33
|
+
# schow modified and ask to save
|
34
|
+
|
35
|
+
$DEBUG = true
|
36
|
+
|
37
|
+
require "foxGUIb"
|
data/foxGUIb.rb
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
# Copyright (c) 2004-2008 by Henon (meinrad dot recheis at gmail dot com)
|
2
|
+
|
3
|
+
# foxGUIb - main script
|
4
|
+
# when started with ruby's commandline option -d output goes to $stdout otherwise to log.txt
|
5
|
+
|
6
|
+
$: << File.expand_path("src", __dir__)
|
7
|
+
$: << File.expand_path("src/gui", __dir__)
|
8
|
+
$: << File.expand_path("src/code-gen", __dir__)
|
9
|
+
|
10
|
+
require "version"
|
11
|
+
|
12
|
+
begin
|
13
|
+
require FOXGUIB_LIBRARY
|
14
|
+
rescue LoadError
|
15
|
+
puts $!
|
16
|
+
puts
|
17
|
+
puts "Possible causes of this error are:"
|
18
|
+
puts "* libGUIb is not installed"
|
19
|
+
puts "* fxruby is not installed"
|
20
|
+
puts "* fxruby gem could not be loaded because you did not start ruby with -rubygems option"
|
21
|
+
puts "* other unexpected error. please check the following backtrace to find the cause of the error."
|
22
|
+
puts
|
23
|
+
puts $!.backtrace
|
24
|
+
exit
|
25
|
+
end
|
26
|
+
|
27
|
+
STDOUT.sync = true
|
28
|
+
unless $DEBUG
|
29
|
+
$stdout = File.new("log.txt", "a")
|
30
|
+
$stdout.sync = true
|
31
|
+
end
|
32
|
+
puts "\nstarting foxGUIb #{FOXGUIB_VERSION}. #{Time.now}"
|
33
|
+
puts "\tRUBY VERSION #{RUBY_VERSION}"
|
34
|
+
puts "\tPLATFORM #{RUBY_PLATFORM}"
|
35
|
+
|
36
|
+
HOME = Dir.getwd
|
37
|
+
|
38
|
+
include FX
|
39
|
+
include Fox
|
40
|
+
puts "\tFXRuby version: #{Fox.fxrubyversion}"
|
41
|
+
puts "\tFOX version: #{Fox.fxversion}\n\n"
|
42
|
+
|
43
|
+
require "properties"
|
44
|
+
require "widget-generator"
|
45
|
+
require "mainwin"
|
46
|
+
require "docman"
|
47
|
+
require "propman"
|
48
|
+
require "widget-selector"
|
49
|
+
require "ruby_console"
|
50
|
+
require "cfgman"
|
51
|
+
|
52
|
+
STD_BACK_COLOR = FXRGB(230, 230, 230)
|
53
|
+
HEADER_COLOR = FXRGB(255, 255, 168)
|
54
|
+
|
55
|
+
App.new FOXGUIB, ""
|
56
|
+
|
57
|
+
MAINWIN = MainWin.new $app
|
58
|
+
MAINWIN.topwin.shown = false
|
59
|
+
DocMan.instance
|
60
|
+
PropMan.instance.create(width = 300)
|
61
|
+
WidgetSelector.instance
|
62
|
+
$console = Console.new(MAINWIN.topwin)
|
63
|
+
$console.nolang
|
64
|
+
$console.styled_out($console.s_op, "#{FOXGUIB} interactive ruby command console\nuse 'out(*args)' to output objects to the console.")
|
65
|
+
$console.topwin.hide
|
66
|
+
# ---
|
67
|
+
$fxapp.create
|
68
|
+
MAINWIN.topwin.resize(1000, 600)
|
69
|
+
MAINWIN.topwin.show(PLACEMENT_SCREEN)
|
70
|
+
begin
|
71
|
+
load_settings("guib.conf")
|
72
|
+
|
73
|
+
# Load files given on command line
|
74
|
+
ARGV.each do |arg|
|
75
|
+
DocMan.instance.load(arg)
|
76
|
+
end
|
77
|
+
|
78
|
+
$fxapp.run
|
79
|
+
puts "exited normally"
|
80
|
+
rescue Exception
|
81
|
+
puts "#" * 15
|
82
|
+
puts $!
|
83
|
+
puts $!.backtrace.join("\n")
|
84
|
+
puts "#" * 15
|
85
|
+
DocMan.instance.emergency_save
|
86
|
+
ensure
|
87
|
+
save_settings("guib.conf")
|
88
|
+
end
|
data/foxGUIb_win32.rbw
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "foxGUIb"
|
data/foxguib.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative "src/version"
|
2
|
+
|
3
|
+
Gem::Specification.new do |spec|
|
4
|
+
spec.name = "foxguib"
|
5
|
+
spec.version = FOXGUIB_VERSION
|
6
|
+
spec.authors = ["Meinrad Recheis aka Henon", "Lars Kanis"]
|
7
|
+
spec.email = ["meinrad.recheis@gmail.com", "lars@greiz-reinsdorf.de"]
|
8
|
+
|
9
|
+
spec.summary = "Fox GUI builder"
|
10
|
+
spec.description = "GUI builder for the Fox toolkit written in Ruby."
|
11
|
+
spec.homepage = "https://github.com/larskanis/foxGUIb"
|
12
|
+
spec.license = "Artistic License 1.0"
|
13
|
+
|
14
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
15
|
+
spec.bindir = "exe"
|
16
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
17
|
+
spec.require_paths = ["src"]
|
18
|
+
|
19
|
+
spec.required_ruby_version = [">= 2.5", "< 4.0"]
|
20
|
+
|
21
|
+
spec.add_runtime_dependency "fxruby", "~> 1.6.0"
|
22
|
+
spec.add_runtime_dependency "libguib", "~> 1.1"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", ">= 1.11", "<= 3.0"
|
25
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
26
|
+
end
|