'+---------------+---------------------------------------------------+
'| ###### ###### | .--. . .-. |
'| ## ## ## # | | )| ( ) o |
'| ## ## ## | |--' |--. .-. `-. . .-...--.--. .-. |
'| ###### ## | | \ | |( )( ) | ( || | |( ) |
'| ## ## | ' `' `-`-' `-'-' `-`-`|' ' `-`-'`- |
'| ## ## # | ._.' |
'| ## ###### | Sources & Documents placed under the MIT License. |
'+---------------+---------------------------------------------------+
'| |
'| === GuiTools-Info.html === |
'| |
'| == Some general informations you should know before you start... |
'| |
'+-------------------------------------------------------------------+
'| Done by RhoSigma, R.Heyder, provided AS IS, use at your own risk. |
'| Find me in the QB64 Forum or mail to support@rhosigma-cw.net for |
'| any questions or suggestions. Thanx for your interest in my work. |
'+-------------------------------------------------------------------+
This is a Windows only project, as some WinAPI calls are used in the file GuiAppFrame.h and some other WinAPI calls in the DECLARE LIBRARY block in file GuiAppFrame.bi.
However, according to a forum member, the Windows version of QB64 runs very fine under Linux or MacOS, if you have installed Wine on your system. If this is an option for you, then you can also use the GuiTools Framework within the QB64 Windows version on your Linux/MacOS system.
Please move the QB64GuiTools folder with its entire contents into your QB64 folder (where qb64.exe is located in). I also recommend to keep the inner folder structure in order to maintain the internal linkage between all referenced files ($INCLUDE, DECLARE LIBRARY etc.).
You may safely use the "Output EXE to source folder" compiler option of the QB64 IDE (see Run menu) with GuiTools, as long as you reference your own external files relative to your EXE location, when trying to open them.
Except the contents of the images subfolder, all files in the QB64GuiTools folder and its subfolders are placed under the MIT License.
For more informations on the current development state, changes and/or bugfixes please consult the "HISTORY" section in the file docs\ReleaseNotes.txt.
If you can't longer wait to start your own experiments with GuiTools after finish reading of this HTML document, then your next required reading should be docs\QuickIntro.txt, which gives you the most compact description of usage.
dev_framework
This is the heart of the GuiTools Framework, it contains all files (.h / .bi / .bm) which are required for development and which will be included by the various application sources.
dev_storage
Various test and helper stuff which came out of the GuiTools development. You do not really need this for making your own Apps, but maybe you're interested to have a look on it.
docs (GuiToolsFramework.pdf, KnownTags.txt, ReleaseNotes.txt)
Various describing documents for the GuiTools Framework. This is still a work in progress. If you have questions about anything what's not yet documented in any source, HTML or PDF file, then please don't hesitate to ask for help in the forums or via e-mail (support@rhosigma-cw.net).
images
A small collection of images, which can be used by the Apps. Place more images into this folder if required. When publishing your Apps, then bundle this folder with your EXE. If you don't wanna bundle the entire images folder, then feel free to leave out the unused images. If you otherwise only need a few images, then the best way would be to embed these images directly into your EXE and temporarily write them back at runtime on any user's computer (see src_MakeDATA and src_MakeCARR below for creation of those embedded files and the "Init/Exit handler" section in your applications for the writeback & cleanup). The embedding method is also useful to make sure, that certain images are always available on any computer.
license
This folder contains all the required licenses and copyright notices for the GuiTools Framework. You should always bundle this folder with your EXE, when publishing your Apps.
src_GuiApp (QuickIntro.txt)
A ready to use template/skeleton for your own Apps. It's best to leave this all as is and rather make a copy of this entire folder for each new App which you create. For demo purposes it just defines a window background and a Quit button, which you may either delete or redefine for your needs. Also the Info, Problem/Warning and Error icons (eg. for MessageBoxes) are already embedded (saved in the inline subfolder and $INCLUDEd at the end of the GuiApp.bas file).
src_GuiAppDemo
The sources of a complex showcase example for the GuiTools Framework. You'll also find a lot of useful comments and hints within these source files, which you probably find nowhere else in the documentation.
src_MultiWinDemo (GuiViews-API.txt)
The sources of a simple showcase example for GuiViews, which is GuiTools its own multiple forms/windows system available since v0.12 of the Framework.
Additional to its defined purpose, the following programs/sources can also serve as real world examples, which you can analyze to learn more about how to do a complex GuiTools Application.
src_GTPrefsEditor
The source code of the GuiTools Preferences Editor. With this program users may easily alterate the internal default settings of all GuiTools object classes and also change the used default color scheme. The chosen settings are permanently saved into the current user's "%localappdata%" folder and all GuiTools based applications will automatically use it without the need to recompile the Apps. Hence every user can create his own desired look, which all GuiTools applications will follow, doesn't matter what colors or object background images were originally defined and used by the application developer.
src_MakeDATA
This is a simple File To DATA converter with LZW packing support. You may use this to create a DATA block out of a given file, so you can embed it in your program and write it back on any computer when needed. The DATAs are written into a .bm file together with a ready to use write back FUNCTION. You just need to $INCLUDE this .bm file at the end your program and call the write back FUNCTION (preferably in the "Init Handler" section).
src_MakeCARR
This is a simple File To C-Array converter with LZW packing support. It's very similar to the above, but here the given file is converted into a C-Array, which is included into your program via a C-header file. Although it's a bit harder to follow/understand by a pure BASIC hobbyist, it offers some advantages, such as saving space (EXE size) and more speed for both, the compiling process and the write back function. Two files are created, the .h file, which contains the C-Array and some functions, and a respective .bm file which needs to be $INCLUDEd with your program and does provide the FUNCTION to write back the Array (preferably called in the "Init Handler" section).
src_Xxx
There may be more source folders, each of it containing a real world application made with the GuiTools Framework.