### Multithreaded Application Example with HWGUI/WVG Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/HWGUI_dev.txt Demonstrates starting multiple threads to execute a 'Test' function concurrently using HWGUI's WVG driver. It includes thread creation, waiting for completion, and basic console I/O setup. ```Clipper/xBase #include "wvgparts.ch" #include "hbgtwvg.ch" #include "wvtwin.ch" ANNOUNCE HB_GTSYS REQUEST HB_GT_WVG_DEFAULT FUNCTION Main() LOCAL nCont FOR nCont = 1 TO 5 hb_ThreadStart( { || Test() } ) NEXT hb_ThreadWaitForAll() RETURN Nil FUNCTION Test() LOCAL cTexto := Space(20), cTexto2 := Space(20), GetList := {} hb_gtReload( "WVG" ) SetMode( 25, 80 ) SetColor( "W/B" ) CLS @ 12, 20 GET cTexto @ 14, 20 GET cTexto2 READ RETURN Nil ``` -------------------------------- ### Example Build Script Execution for GTK2 and GTK3 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/GTK3.txt Provides an example session demonstrating how to switch between GTK2 and GTK3 development and testing using shell scripts. This includes cleaning, building, and running sample applications. ```bash ./clean.sh ./make_gtk.sh -hb ==> GTK2 cd samples ==> edit dbview.hbp for GTK2 hbmk2 dbview.hbp ./dbview cd .. ./clean.sh ./make_gtk3.sh ==> GTK3 cd samples ==> edit dbview.hbp for GTK3 hbmk2 dbview.hbp ./dbview ... ``` -------------------------------- ### Run Post-Installation Script Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt Executes the 'postinst.hb' script located in the 'bin/win/mingw64' directory of the Harbour installation. This script typically performs final setup tasks after the main installation. ```shell ./bin/win/mingw64/hbmk2.exe ./config/postinst.hb first ``` -------------------------------- ### Hello World Program Compilation on Raspberry Pi Source: https://github.com/woodhead2019/hwgui_fork/blob/main/Install_RaspberryPi.txt A simple C++ 'Hello World' program example. It demonstrates creating a source file, compiling it using g++, and running the executable. This is used to verify the GCC installation. ```cpp #include int main() { std::cout << "Hello World!" << std::endl; return 0; } ``` ```bash nano hello.cpp g++ hello.cpp -o hello ./hello ``` -------------------------------- ### Install HWGUI Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt Executes the 'makemngw.bat' script to install the HWGUI library. The installation destination is C:\Msys64\hwgui\hwgui. Users should follow HWGUI's specific instructions for checking library presence and ignore any warnings. ```batch cd C:\Msys64\hwgui\hwgui makemngw.bat ``` -------------------------------- ### Configure Harbour and HWGUI Environment Variables (Shell Script) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt These shell script lines set up the necessary environment variables for Harbour and HWGUI. They define installation paths and update the system's PATH and LD_LIBRARY_PATH to include the compiler and library binaries. Users should modify the HARBOUR_INSTALL and HWGUI_INSTALL paths according to their system setup. ```shell # --- Harbour and HWGUI -- HARBOUR_INSTALL=$HOME/Harbour/core-master export HARBOUR_INSTALL HWGUI_INSTALL=$HOME/hwgui PATH=$PATH:$HARBOUR_INSTALL/bin/linux/gcc:$HWGUI_INSTALL/bin export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HARBOUR_INSTALL/lib/linux/gcc export LD_LIBRARY_PATH # ``` ```shell # --- Harbour and HWGUI -- HARBOUR_INSTALL=/home/cltest/Harbour/core-master HWGUI_INSTALL=$HOME/svnwork/hwgui-code/hwgui PATH=$PATH:$HARBOUR_INSTALL/bin/linux/gcc:$HWGUI_INSTALL/bin export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HARBOUR_INSTALL/lib/linux/gcc export LD_LIBRARY_PATH HB_COMPILER=gcc export HB_COMPILER HB_INSTALL_PREFIX=$HARBOUR_INSTALL export HB_INSTALL_PREFIX # ``` -------------------------------- ### GET System Implementation (Initial) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt The initial implementation of the Get system, including commands for standard GET input, checkboxes, comboboxes, and date pickers. Redefine commands are also included for dynamic updates. ```lipper /* GET system commands */ @ , GET ... REDEFINE GET ... @ , GET CHECKBOX ... REDEFINE GET CHECKBOX ... @ , GET COMBOBOX ... REDEFINE GET COMBOBOX ... @ , GET DATEPICKER ... GET RADIOGROUP ... ``` -------------------------------- ### Build a Sample Program with bld (Harbour) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command demonstrates how to build a sample HWGUI application by executing the 'bld' script with the program file name as a parameter. This is useful for testing the HWGUI installation and its features. ```batch bld a ``` -------------------------------- ### Install Harbour from Source Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Provides instructions for installing the Harbour compiler from its source code. This involves downloading the source, setting an installation prefix, and using 'make install' with root privileges. ```bash sudo su export HB_INSTALL_PREFIX=/usr/local make install exit ``` -------------------------------- ### Create MSys64 Installation Directory Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt This command creates the primary directory for the MSys2 installation on Windows. It assumes the user is at the root of the C: drive. ```batch cd \ mkdir Msys64 ``` -------------------------------- ### Install GTK Module for Sound Events on Ubuntu Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs the 'canberra-gtk-module' and 'canberra-gtk3-module' packages to resolve the 'Failed to load module "canberra-gtk-module"' error that may occur when starting HWGUI applications. ```shell sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module ``` -------------------------------- ### Compile and Run HWGUI Sample Program Source: https://github.com/woodhead2019/hwgui_fork/blob/main/Install_RaspberryPi.txt Navigates to the samples directory and compiles all HBP (Harbour Project) files using the hbmk2 utility. This is a crucial step to test the HWGUI installation. ```bash cd samples hbmk2 allhbp.hbp ``` -------------------------------- ### Compile Sample Program Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Compiles a sample HWGUI application ('demobrowsearr.prg') using the 'hbmk2' utility. This step verifies the HWGUI installation and its ability to build applications. ```bash hbmk2 demobrowsearr.prg ``` -------------------------------- ### Build HWGUI Example with hwmingnw.bat Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/MingW-GTK/Readme.txt This batch command initiates the build process for a HWGUI example using the 'hwmingnw.bat' script. The 'a' argument likely specifies the target or configuration for the build. ```batch hwmingnw.bat a ``` -------------------------------- ### Copy Make Utility Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt Copies the 'mingw32-make.exe' utility to 'make.exe' within the MSys64\bin directory. This ensures that the standard 'make' command can be used for building projects. ```batch cd bin C:\Msys64\bin>copy mingw32-make.exe make.exe cd .. ``` -------------------------------- ### Test GCC Installation Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt Verifies that the GCC compiler is installed correctly and displays its version information. This is a fundamental step to ensure the C/C++ toolchain is operational within MSys2. ```shell C:\Msys64>gcc --version ``` -------------------------------- ### Install Cheese on LINUXMint Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/qrcode/qrdecode/ReadMe.txt Installs the 'cheese' application on LINUXMint for camera testing. This is a prerequisite for ensuring the camera is functional before proceeding with barcode decoding setup. ```bash sudo apt-get install cheese ``` -------------------------------- ### Build HWGUI Sample Programs on Linux Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This script facilitates building sample HWGUI applications on Linux. Similar to library compilation, it relies on the 'HB_ROOT' environment variable to locate the Harbour installation. It is designed to work with the GTK samples found in the 'samples/gtk_samples' directory. ```bash #!/bin/bash # Set the root directory for Harbour (adjust if necessary) # export HB_ROOT=/home/me/harbour # Build a specific PRG file (e.g., sample.prg) # ./build.sh sample.prg ``` -------------------------------- ### Copy Environment Script Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt This command copies the 'pfad_msys.bat' script from the HWGUI repository's samples/dev/env directory to the base MSys64 installation directory. This script is essential for setting up the MSys2 environment paths. ```batch copy C:\path\to\HWGUI\samples\dev\env\pfad_msys.bat C:\Msys64\ ``` -------------------------------- ### Install DKMS RTL8821CE Driver Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Clones the RTL8821CE driver source, makes installation scripts executable, and installs the driver using DKMS for kernel updates on Linux systems. ```shell git clone https://github.com/tomaspinho/rtl8821ce cd rtl8821ce chmod +x dkms-install.sh chmod +x dkms-remove.sh sudo ./dkms-install.sh sudo modprobe -v 8821ce ``` -------------------------------- ### Check GNU Make Version Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/compiler/MS-VisualStudio/MS-Visual-Studio.txt This command verifies that GNU Make is installed and accessible in the system's PATH. It displays the Make version and copyright information, confirming its readiness for use in the build process. ```shell make --version ``` -------------------------------- ### Install Build Tools and GTK Development Files on LinuxMINT Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs essential build tools (build-essential, linux-headers-generic, dkms) and the GTK2 development library required for compiling GUI applications on LinuxMINT. ```shell sudo apt-get install build-essential linux-headers-generic dkms sudo apt-get install libgtk2.0-dev sudo apt install wmctrl ``` -------------------------------- ### Install Gnome Themes for GTK Compatibility Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs the 'gnome-themes-standard' package to ensure proper theme rendering and resolve the 'Unable to locate theme engine in module_path: "adwaita"' warning in GTK applications. ```shell sudo apt-get install gnome-themes-standard ``` -------------------------------- ### Install Optional X11 Development Libraries on Linux Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs optional development libraries for X11 (libxmu-dev, libxaw7-dev, libxt-dev) which may be needed to resolve dependencies for certain GUI functionalities on Linux. ```shell sudo apt-get install libxmu-dev libxaw7-dev libxt-dev ``` -------------------------------- ### Install Build Tools and GTK Development Files on Ubuntu 20.04 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs the generic Linux kernel headers and the GTK2 development library, ensuring the system is updated, for compiling GUI applications on Ubuntu 20.04. ```shell sudo apt-get install linux-headers-generic sudo apt-get update -y sudo apt-get install -y libgtk2.0-dev sudo apt install wmctrl ``` -------------------------------- ### HWGUI Tab Control Initialization Example (WinAPI) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_commands.html A conditional code snippet for initializing a Tab control, specifically for WinAPI environments. It demonstrates how to change the active page upon program start. ```HWGUI Script #ifndef __GTK__ * On WinAPI, the correct tooltip must be synchronized with the shown first tab * at program start. oTab:ChangePage(1) #endif ``` -------------------------------- ### Install Required Packages on Ubuntu (Shell Script) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This script installs essential packages required for building and running Harbour and HWGUI on Ubuntu. It includes development libraries for various graphical toolkits, utilities, and system headers. The commands update the package list before installing new software. ```shell sudo apt-get install make sudo apt-get install linux-headers-generic sudo apt-get update -y sudo apt install wmctrl sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module sudo apt-get install libxmu-dev libxaw7-dev libxt-dev sudo apt-get install gpm sudo apt-get install libgpm-dev sudo apt-get install glslang-dev sudo apt-get install xorg-dev sudo apt-get install libncurses-dev sudo apt-get install libslang2-dev sudo apt-get install libx11-dev sudo apt-get install libjpeg-dev sudo apt-get install libpcre3-dev sudo apt-get install libtiff-dev sudo apt-get install liballegro4.2-dev sudo apt-get install libcairo2-dev sudo apt-get install libcups2-dev sudo apt-get install libcurl4-gnutls-dev sudo apt-get install firebird-dev sudo apt-get install libfreeimage-dev sudo apt-get install libgs-dev sudo apt-get install libmagic-dev sudo apt-get install unixodbc-dev sudo apt-get install libpq-dev sudo apt-get install libcurl4-openssl-dev sudo apt-get install libgtk2.0-dev ``` -------------------------------- ### Update and Install Prerequisites on Raspberry Pi Source: https://github.com/woodhead2019/hwgui_fork/blob/main/Install_RaspberryPi.txt Commands to update the system's package list, upgrade installed packages, and install essential build tools and libraries like GCC, GTK2, and wmctrl. Also includes steps for installing PCRE development libraries, which are crucial for building HWGUI programs. ```bash sudo apt-get update sudo apt-get upgrade sudo apt-get update sudo apt install build-essential -y sudo apt install libpcre3 libpcre3-dev sudo apt-get install pkg-config sudo apt-get install libgtk2.0-dev libgtk-3-dev sudo apt install wmctrl sudo apt install gedit sudo apt install libpcre3 libpcre3-dev ``` -------------------------------- ### Build Harbour GTQT C Plugin Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt This command uses the 'hbmk2' tool to build the GTQT C plugin for Harbour. It attempts to autodetect the 'moc.exe' executable but may fail if required Qt environment variables (HB_WITH_QT, HB_QTPATH, HB_QTSUFFIX) are not set. ```shell C:\Msys64\harbour\core-master\bin\win\mingw64\hbmk2 -quiet -width=0 -autohbm- @hbpre -inc gtqtc/gtqtc.hbp @hbpost ``` -------------------------------- ### Install GTK3 Development Package on Ubuntu (Shell Script) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command installs the GTK3 development package required for porting applications to GTK3 on Ubuntu. It ensures that all necessary headers and libraries are available for GTK3 development. ```shell sudo apt-get install libgtk-3-dev ``` -------------------------------- ### Install imagesnap using Homebrew Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/qrcode/qrdecode/ReadMe.txt This snippet provides the commands to install the `imagesnap` utility on macOS using Homebrew. It includes the Homebrew installation script and setting up the shell environment. ```shell #!/bin/bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile brew install imagesnap ``` -------------------------------- ### Install Build Tools and GTK Development Files on Ubuntu 18 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Installs the generic Linux kernel headers and the GTK2 development library necessary for compiling GUI applications on Ubuntu 18. ```shell sudo apt-get install linux-headers-generic sudo apt-get install libgtk2.0-dev sudo apt install wmctrl ``` -------------------------------- ### Grid Demo with Postgres Library Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Examples for a grid control that utilizes the Postgres library. Requires linking `libpq.lib` and `libhbpg.lib`. This snippet is for database-integrated grids. ```PRG grid_2.prg ``` ```PRG grid_3.prg ``` -------------------------------- ### Icons and Bitmaps Demo Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Examples for displaying icons and background bitmaps. Includes variations for using hexadecimal values to represent bitmap data. ```PRG demoimage1.prg ``` ```PRG demoimage2.prg ``` -------------------------------- ### Verifying GTK2 Installation with pkg-config Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/MingW-GTK/Readme.txt Shows how to verify the GTK2 installation by using the `pkg-config` command to display compiler flags. It also includes a command to run a GTK demo application. ```shell pkg-config --cflags gtk+-2.0 gtk-demo ``` -------------------------------- ### Execute Compiled HWGUI Example Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/MingW-GTK/Readme.txt This command executes the compiled HWGUI example application, typically named 'a.exe', after it has been successfully built. ```batch a.exe ``` -------------------------------- ### Compile HWGUI on Windows with Visual C++ 2022 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This snippet outlines the steps to compile the HWGUI project on Windows using Microsoft Visual C++ 2022. It involves setting the environment variables and initiating the build process. Ensure you have Visual Studio 2022 Community Edition installed and the Harbour archive extracted to the specified location. ```bash REM Change to Harbour directory cd C:\harbour-msc\core-master REM Set environment variables for Visual C++ x86 "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 REM Start build process win-make ``` -------------------------------- ### Build HWGUI Applications using .hbp files Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This demonstrates the recommended and easier way to build HWGUI applications across all operating systems using the 'hbmk2' utility. You create a project file with a '.hbp' extension and then execute 'hbmk2' with the project file as an argument. Sample '.hbp' files are available in the utils and samples directories. ```bash hbmk2 myapp.hbp ``` -------------------------------- ### HWGUI Context-Sensitive Help Button Example Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/port.txt Illustrates how to implement a context-sensitive help button in HWGUI applications. This example shows the syntax for creating a button that calls a help function with specific parameters when clicked, providing relevant assistance based on the current dialog. ```harbour @ , BUTTON obutton3 CAPTION "Help" SIZE 80,32 ; STYLE WS_TABSTOP+BS_FLAT ; ON CLICK { || HELP("ADIFSEL",PROCLINE(),"ADIFSEL") } ``` -------------------------------- ### Menu Demos Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Examples for creating and managing menus. Includes simple menus, menus with bitmaps, handling menu items at runtime, and reading/writing XML for menu management. ```PRG demomenu.prg ``` ```PRG demomenubitmap.prg ``` ```PRG demomenumod.prg ``` ```PRG demomenuxml.prg ``` -------------------------------- ### Check Harbour Make Utility Version Source: https://github.com/woodhead2019/hwgui_fork/blob/main/Install_RaspberryPi.txt Verifies the installation and version of the Harbour Make utility (hbmk2), which is essential for building HWGUI applications. This command outputs version information and a link to the project repository. ```bash hbmk2 --version ``` -------------------------------- ### Build a Sample Program with bldmingw64 (Windows) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command builds a sample HWGUI program using the 'bldmingw64.bat' script, which is tailored for the MinGW64 environment. This script can serve as a template for building your own HWGUI applications with MinGW64. ```batch bldmingw64.bat ``` -------------------------------- ### Build HWGUI with GTK3 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt Instructions for building HWGUI using GTK3. This involves making the build script executable and running it. Compiler warnings and notes during the process can generally be ignored. Refer to the 'Readme.txt' file in the sample directories for instructions on building sample programs. ```bash chmod 755 make_gtk3.sh ./make_gtk3.sh ``` -------------------------------- ### Demo progress tool build and run Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/progressbar/Readme.txt Demonstrates how to build and run the 'demo_progres' application, which utilizes the 'progress' tool. The commands differ slightly for Windows and Linux/MacOS. ```shell hbmk2 demo_progres.hbp ./demo_progres ``` -------------------------------- ### Display GTK2 Compiler Flags Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Tests the pkgconfig setup by displaying the compiler flags required for GTK2. This verifies that GTK2 and pkgconfig are correctly installed and configured. ```bash /opt/local/bin/pkg-config --cflags gtk+-2.0 ``` -------------------------------- ### Build HWGUI Linux GTK Libraries Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This shell script builds the HWGUI libraries for the Linux GTK version. It requires the Harbour environment variable 'HB_ROOT' to be set correctly, pointing to your Harbour installation directory. The script compiles four essential libraries: libhbxml.a, libhwgui.a, libhwgdebug.a, and libprocmisc.a. ```bash #!/bin/bash # Set the root directory for Harbour (adjust if necessary) # export HB_ROOT=/home/me/harbour # Build for Harbour (default) ./make_gtk.sh -hb # To build for xHarbour, uncomment the line below and comment the one above # ./make_gtk.sh -xhb ``` -------------------------------- ### Build HWGUI with hbmk2 Utility Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This method utilizes the 'hbmk2' utility, a versatile build tool for Harbour projects. It simplifies the process by compiling applications based on a project file ('*.hbp'). This approach is cross-platform and recommended for building HWGUI applications. ```bash # To run the HWGUI build with hbmk2: ./make_hbmk.sh # To build a specific application using an .hbp file: hbmk2 myapp.hbp ``` -------------------------------- ### Navigate to HWGUI Samples Directory Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/MingW-GTK/Readme.txt This command changes the current directory to the HWGUI samples directory, a prerequisite for building and testing examples. ```batch cd C:\hwgui\hwgui-gtk\hwgui\samples\gtk_samples ``` -------------------------------- ### Browse Window Initialization Parameters Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_classes.html This method signature outlines the parameters required to initialize a new browse window instance. It includes options for type, parent window, ID, style, position, size, and various callback blocks for initialization, sizing, painting, and event handling. ```xBase New( lType, oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, oFont ; bInit, bSize, bPaint, bEnter, bGfocus, bLfocus, lNoVScroll, lNoBorder, lAppend, lAutoedit, bUpdate, bKeyDown, bPosChg, lMultiSelect, bRClick ) ``` -------------------------------- ### Enhanced GET System with PICTURE Clause Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt Extends the GET system to support a PICTURE clause, mimicking Clipper's functionality for input formatting and validation. Editing behavior is also improved to align with Clipper standards, including Insert key handling and ReadExit(). ```lipper /* New clause for GET commands */ PICTURE clause /* Dialog definition with CLIPPER clause for ENTER key navigation */ DIALOG ... CLIPPER ``` -------------------------------- ### Set MSys2 Environment Path Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt Executes the 'pfad_msys.bat' script to configure the necessary environment variables for MSys2. This is crucial for accessing MSys2 tools and compilers from the command line. ```batch C:\Msys64>pfad_msys.bat ``` -------------------------------- ### Prepare and Build HWGUI with GTK Backend Source: https://github.com/woodhead2019/hwgui_fork/blob/main/Install_RaspberryPi.txt This script prepares the environment by handling missing 'sys/io.h' and then initiates the build process for HWGUI using the GTK backend. It requires execute permissions on the script. ```bash ./missingioh.sh ./make_gtk.sh -hb ``` -------------------------------- ### NICEBUTTON Demo Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Showcases the NICEBUTTON control, a custom button style. This example highlights the visual capabilities of the button widget. ```PRG demonice.prg ``` -------------------------------- ### Build Harbour GTAlleg Plugin Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt This command attempts to build the GTAlleg plugin for Harbour using 'hbmk2'. It may report a warning or exit with an error if the Allegro dependency is missing or disabled. ```shell C:\Msys64\harbour\core-master\bin\win\mingw64\hbmk2 -quiet -width=0 -autohbm- @hbpre -inc gtalleg/gtalleg.hbp @hbpost ``` -------------------------------- ### Build progress tool for Linux/MacOS Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/progressbar/Readme.txt Instructions for building the 'progress' tool on Linux and MacOS. This involves setting paths in 'progress.hbp' and using 'hbmk2' to compile. It also covers installation into the system's PATH. ```shell hbmk2 progress.hbp cp progress ~/bin mkdir ~/bin export PATH=$PATH:/$HOME/bin sudo cp progress /usr/local/bin ``` -------------------------------- ### Get English Tooltips for Print Preview (HWGUI) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/port.txt Provides an example function `hwg_HPrinter_LangArray_EN()` that returns an array of tooltips and captions for the print preview dialog in English. This serves as a template for creating language-specific arrays. ```xBase FUNCTION hwg_HPrinter_LangArray_EN() /* Returns array with captions for titles and controls of print preview dialog in default language english. Use this code snippet as template to set to your own desired language. */ LOCAL aTooltips aTooltips := {} /* 1 */ AAdd(aTooltips,"Exit Preview") /* 2 */ AAdd(aTooltips,"Print file") /* 3 */ AAdd(aTooltips,"First page") ... ``` -------------------------------- ### Casting for 64-bit Compatibility in HWGUI Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/MinGW64/MinGW64.txt This code example illustrates a necessary type cast to ensure compatibility when porting HWGUI applications to a 64-bit environment using MinGW64. It shows how to cast a return value from hb_parni to a HMENU with an UINT_PTR cast. ```c // Original (32-bit): // HMENU hMenu = ( HMENU ) hb_parni( 2 ); // Modified for 64-bit compatibility: HMENU hMenu = ( HMENU )( UINT_PTR )hb_parni( 2 ); ``` -------------------------------- ### Get German Tooltips for Print Preview (HWGUI) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/port.txt An example function `hwg_HPrinter_LangArray_DE()` that would return an array of tooltips and captions for the print preview dialog in German. This function is intended to be a translation of the English version and is called to overwrite default messages. ```xBase FUNCTION hwg_HPrinter_LangArray_DE() * ============ German ============== .... ``` -------------------------------- ### Build Label Editor and Sample Program (MinGW32) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/hwlabel/Readme.txt Provides the build commands for the label editor ('hwlbledt.prg') and the sample program ('hwlblsample.prg') using the 'hwmk.bat' script, specifically for the MinGW32 environment. ```Batch hwmk.bat hwlbledt.prg hwmk.bat hwlblsample.prg ``` -------------------------------- ### Compile Harbour from Source Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/MSysInst.txt This process involves extracting the Harbour source code and compiling it using the 'make' command within the MSys2 environment. The binaries, including 'hbmk2', will be placed in the specified directory. Warnings during this process can often be ignored. ```shell mkdir harbour // Extract Harbour archive to C:\Msys64\harbour\core-master cd C:\Msys64\harbour\core-master make ``` -------------------------------- ### Build HWGUI Libraries with hbmk2 (Harbour) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command uses the hbmk2 utility to build several HWGUI-related libraries: hwgui.lib, procmisc.lib, hbxml.lib, and hwgdebug.lib. These are essential components for using the HWGUI library in Harbour applications. ```harbour hbmk2 hwgui.hbp procmisc.hbp hbxml.hbp hwgdebug.hbp ``` -------------------------------- ### HPanel Initialization Parameters Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_classes.html This method signature defines the parameters for creating a new HPanel instance. It includes parameters for the parent window, ID, style, dimensions, and callback blocks for initialization, sizing, painting, and color handling. ```xBase New( oWndParent, nId, nStyle, nLeft, nTop, nWidth, nHeight, bInit, bSize, bPaint, bColor, oStyle ) ``` -------------------------------- ### Context Help with Windows Help Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Demonstrates how to implement context-sensitive help using the Windows Help system. Note that `Shellexecute` may cause crashes. ```PRG helpdemo.prg ``` -------------------------------- ### Install Subversion Command Line Client on MacOS Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs the Subversion (svn) command-line client using MacPorts. After installation, the 'dbus-daemon' can be deactivated via System Settings. The installation is verified with 'svn --version'. ```shell sudo /opt/local/bin/port install subversion # Deactivate dbus-daemon in System Settings -> Login Items. svn --version ``` -------------------------------- ### Install MacPorts Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Instructions to install MacPorts, a package management system for MacOS. This is necessary for easily installing other software dependencies like GTK2 and wmctrl. ```bash sudo su installer -target / -pkg MacPorts-2.9.3-14-Sonoma.pkg exit ``` -------------------------------- ### Build Harbour with make Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/compiler/MS-VisualStudio/MS-Visual-Studio.txt This command initiates the build process for Harbour from its source code using GNU Make. It displays build information, including the host platform, shell, target platform, and compiler, along with status messages for included components like zlib and pcre. ```shell cd \harbour-msc\core-master make ``` -------------------------------- ### Install wmctrl using MacPorts Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs 'wmctrl', a utility required for displaying progress bars in HWGUI applications on non-Windows platforms. It is installed via MacPorts. ```bash sudo port install wmctrl ``` -------------------------------- ### Compile HWGUI with hbmk2 on Windows Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command compiles the main program and resource file using hbmk2, specifying include and library paths, and linking necessary HWGUI libraries. The '-gui' option is specific to Windows. ```shell hbmk2 -I%HWGUI_INSTALL%\include -L%HWGUI_INSTALL%\lib -lhwgui -lprocmisc -lhbxml -lhwgdebug -gui ``` -------------------------------- ### Install XQuartz Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs XQuartz, an X11 server for MacOS, which is necessary for GTK2 applications to run. After installation, it's important to ensure the X11 server is running. ```bash sudo installer -target / -pkg XQuartz-2.8.5.pkg ``` -------------------------------- ### Install zbar on macOS (MacPorts) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/qrcode/qrdecode/ReadMe.txt These commands install the zbar library on macOS using MacPorts. It includes updating MacPorts, installing zbar, and handling potential dependency installations. ```bash sudo port install zbar sudo port selfupdate && sudo port upgrade zbar ``` -------------------------------- ### Create Main Application Window in Harbour Source: https://context7.com/woodhead2019/hwgui_fork/llms.txt Initializes the main application window with menu, icon, and event handlers. This function demonstrates setting window properties, defining menus with actions, and activating the window. ```harbour #include "hwgui.ch" FUNCTION Main() LOCAL oMainWindow INIT WINDOW oMainWindow ; MAIN ; TITLE "My Application" ; AT 100, 100 ; SIZE 800, 600 ; ICON oIcon ; BACKCOLOR 16777215 ; ON INIT {|| hwg_MsgInfo("Window initialized")} ; ON EXIT {|| hwg_MsgYesNo("Exit application?")} MENU OF oMainWindow MENU TITLE "&File" MENUITEM "&New" ACTION CreateNew() MENUITEM "&Open" ACTION FileOpen() SEPARATOR MENUITEM "E&xit" ACTION hwg_EndWindow() ENDMENU MENU TITLE "&Help" MENUITEM "&About" ACTION ShowAbout() ENDMENU ENDMENU ACTIVATE WINDOW oMainWindow CENTER RETURN Nil ``` -------------------------------- ### Create and Activate Main HwGUI Window with Controls Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc.html This snippet demonstrates the creation of a main window in HwGUI, including setting its properties, adding standard controls (Editbox, Combobox, Button), defining a menu, and activating the window. The ON EXIT clause for the window and ON CLICK for the button show event handling. ```Harbour #include "hwgui.ch" Function Main Local oMainWnd, oFont Local aCombo := {"First","Second" } PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13 INIT WINDOW oMainWnd TITLE "Example" ; FONT oFont ; ON EXIT {||hwg_MsgYesNo("Really want to quit ?")} @ 20,10 EDITBOX "Hello, World!" SIZE 200,30 @ 270,10 COMBOBOX aCombo SIZE 100, 150 TOOLTIP "Combobox" @ 120,60 BUTTON "Close" SIZE 150,30 ; ON CLICK {||oMainWnd:Close()} MENU OF oMainWnd MENUITEM "About" ACTION hwg_MsgInfo("First HwGUI Application") ENDMENU ACTIVATE WINDOW oMainWnd hwg_writelog( "Program terminated " + Dtoc(Date()) + " at " + Time() ) Return ``` -------------------------------- ### Compiling HWGUI Sample Application Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/compiler/OpenWatcom/OpenWatcom.txt This snippet shows how to build a sample HWGUI application using the provided hbmk.bat script. It serves as a template for building custom applications and mentions potential issues with manifest files. ```shell hbmk.bat dbview.prg ``` -------------------------------- ### Install GTK3 on MacOS Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs the GTK3 library on MacOS using the MacPorts package manager. This is a prerequisite for recompiling HWGUI with GTK3 support. ```shell sudo /opt/local/bin/port install gtk3 ``` -------------------------------- ### Listbox Demos Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Showcases the functionality of listboxes. Includes a demo for a standard listbox and a multi-platform substitute using BROWSE. Also includes a sample for selecting and moving items between two listboxes. ```PRG demolistbox.prg ``` ```PRG demolistboxsub.prg ``` ```PRG demolisttwosub.prg ``` -------------------------------- ### Install GTK2 using MacPorts Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs the GTK2 development libraries using the MacPorts package manager. GTK2 is a graphical toolkit required by HWGUI on MacOS. ```bash sudo /opt/local/bin/port install gtk2 ``` -------------------------------- ### Install Xcode Command Line Tools Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs the Xcode command-line developer tools, which include essential utilities like the GCC compiler. This is a prerequisite for compiling software on MacOS. ```bash xcode-select --install ``` -------------------------------- ### HPanelSts Initialization Parameters Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_classes.html This method signature outlines the parameters for initializing a new HPanelSts object. It includes parameters for the parent window, ID, height, font, and callback blocks for initialization, painting, and styling, along with parts and text arrays. ```xBase New( oWndParent, nId, nHeight, oFont, bInit, bPaint, bcolor, oStyle, aParts ) ``` -------------------------------- ### Compile HWGUI with hbmk2 on Linux Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install.txt This command compiles the main program using hbmk2 on Linux, specifying include and library paths, and linking necessary HWGUI libraries. It includes Linux-specific preprocessor definitions. ```shell hbmk2 -I%HWGUI_INSTALL%\include -L%HWGUI_INSTALL%\lib -lhwgui -lprocmisc -lhbxml -lhwgdebug -d__LINUX__ -d__GTK__ ``` -------------------------------- ### Install pkgconfig using MacPorts Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Installs the pkgconfig utility, which helps in determining compiler and linker flags for libraries like GTK2. This is essential for correctly building applications that depend on GTK2. ```bash sudo /opt/local/bin/port install pkgconfig ``` -------------------------------- ### Build HWGUI Project with hbmk2 Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/hwlabel/Readme.txt Instructions for compiling the HWGUI project's label editor and sample applications using the hbmk2 utility. This utility is available on both Linux and Windows operating systems. ```shell hbmk2 hwlbledt.hbp hbmk2 hwlblsample.hbp ``` -------------------------------- ### Context Menu Creation with HMenu Class Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt Enables the creation of context menus using the new CONTEXT MENU command and the HMenu class. This allows for dynamic, user-initiated menus. ```lipper /* Context menu command */ CONTEXT MENU /* New class for menus */ class HMenu ``` -------------------------------- ### Pseudo Context Menu Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Shows an example of creating a pseudo context menu. This allows for custom context menu behavior without relying on native system menus. ```PRG pseudocm.prg ``` -------------------------------- ### MDI Demo using Checkbox Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt Illustrates the implementation of a Multiple Document Interface (MDI) using checkbox elements. This example shows how to manage child windows within a parent frame. ```PRG demomdi.prg ``` -------------------------------- ### Building Harbour with OpenWatcom C Compiler Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/dev/compiler/OpenWatcom/OpenWatcom.txt This snippet demonstrates the command used to build the Harbour project with the OpenWatcom C compiler. It highlights potential errors related to missing resource files when using older compiler versions. ```shell C:\Harbour_wc\core-master\bin\win\watcom\hbmk2 -quiet -width=0 -autohbm- @hbpre -inc hbrun/hbrun.hbp @hbpost Error! E060: Can't find file "../../package/harbour.ico". Error! E060: Can't find file "../../package/harbour.mft". Error! E024: Error reading temporary file "Temporary file 1 (res)": . hbmk2[hbrun]: Error: Running resource compiler. 8 hbmk2[hbrun]: Exit status: 6: failed in compilation (Harbour, C compiler, Resource compiler) ! Finished package build... make[1]: *** [first] Error 6 make: *** [contrib] Error 2 ``` -------------------------------- ### Recompile HWGUI with GTK3 on MacOS Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Cleans the build directory and recompiles the HWGUI project with GTK3 support on MacOS. This process assumes GTK3 has already been installed. ```shell ./clean.sh ./make_macgtk3.sh ``` -------------------------------- ### Create 'what' file for progress tracking (Not Windows) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/progressbar/Readme.txt Defines the syntax for creating the 'what' file used by the 'progress' tool on Linux and MacOS. This file contains the text and title for the progress dialog, separated by specific delimiters. ```harbour hb_memowrit("/tmp/what", "line 1 of the texte" + "#!" + "line 2 of the texte" + chr(10) + "title of the progress dialog") ``` -------------------------------- ### Control Creation with COLOR and BACKCOLOR Clauses Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt Most control creation commands now support COLOR and BACKCOLOR clauses, allowing direct specification of control foreground and background colors. ```lipper /* New clauses for control creation commands */ COLOR BACKCOLOR ``` -------------------------------- ### GET RADIOGROUP Command Change (Harbour) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt The syntax for the 'GET RADIOGROUP' command has been modified. It now supports an optional ' VAR' clause before the variable name ''. ```harbour the command 'GET RADIOGROUP' is changed to 'GET RADIOGROUP [ VAR ] ' ``` -------------------------------- ### Check GTK Library Flags Source: https://github.com/woodhead2019/hwgui_fork/blob/main/install-macos.txt Uses pkg-config to retrieve compiler flags for GTK2 and GTK3 libraries on MacOS. This is useful for verifying installations and configuring build systems. ```shell /opt/local/bin/pkg-config --cflags gtk+-2.0 /opt/local/bin/pkg-config --cflags gtk+-3.0 ``` -------------------------------- ### GET UPDOWN Command Syntax Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_commands.html Defines the syntax for the GET UPDOWN command, which creates an up-down (spinner) control. This command allows specifying the range, appearance, and associated event handlers. ```hwg @ , GET UPDOWN[ VAR ] RANGE , [ OF ] [ ID ] [ SIZE , ] [ WIDTH ] [ COLOR ] [ BACKCOLOR ] [ PICTURE ] [ WHEN ] [ VALID ] [ STYLE ] [ FONT ] [ TOOLTIP ] ``` -------------------------------- ### Harbour: Print Simple Document with hwgui Source: https://context7.com/woodhead2019/hwgui_fork/llms.txt Demonstrates basic printing functionality including text, lines, boxes, and different fonts. Initializes a PRINTER object, adds fonts, starts/ends document and pages, draws elements, and previews the output. Requires the hwgui library. ```harbour FUNCTION PrintingExample() LOCAL oDlg INIT DIALOG oDlg ; TITLE "Printing Demo" ; AT 200, 200 ; SIZE 400, 300 @ 50, 50 BUTTON "Print Simple Document" ; SIZE 300, 40 ; ON CLICK {|| PrintSimpleDocument()} @ 50, 110 BUTTON "Print Report with Preview" ; SIZE 300, 40 ; ON CLICK {|| PrintReportWithPreview()} @ 50, 170 BUTTON "Print Database Report" ; SIZE 300, 40 ; ON CLICK {|| PrintDatabaseReport()} @ 150, 230 BUTTON "Close" ; SIZE 100, 40 ; ON CLICK {|| hwg_EndDialog()} ACTIVATE DIALOG oDlg CENTER RETURN Nil STATIC FUNCTION PrintSimpleDocument() LOCAL oPrinter, oFont, oFontBold INIT PRINTER oPrinter NAME "Simple Document" IF oPrinter == Nil hwg_MsgStop("Failed to initialize printer!") RETURN Nil ENDIF oFont := oPrinter:AddFont("Arial", 10) oFontBold := oPrinter:AddFont("Arial", 12, 700) oPrinter:StartDoc(.T.) oPrinter:StartPage() oPrinter:Box(20, 20, oPrinter:nWidth - 20, oPrinter:nHeight - 20) oPrinter:Say("SAMPLE DOCUMENT", 100, 50, oPrinter:nWidth - 100, 80, \ DT_CENTER, oFontBold) oPrinter:Line(100, 90, oPrinter:nWidth - 100, 90) oPrinter:SetFont(oFont) oPrinter:Say("This is a sample printed document.", 100, 120) oPrinter:Say("Date: " + DToC(Date()), 100, 150) oPrinter:Say("Time: " + Time(), 100, 180) oPrinter:Say("This demonstrates basic printing capabilities:", 100, 230) oPrinter:Say("- Text output with different fonts", 120, 260) oPrinter:Say("- Lines and boxes", 120, 290) oPrinter:Say("- Page layout control", 120, 320) oPrinter:Box(100, oPrinter:nHeight - 150, oPrinter:nWidth - 100, \ oPrinter:nHeight - 100) oPrinter:Say("Footer Information", 110, oPrinter:nHeight - 135, ; oPrinter:nWidth - 110, oPrinter:nHeight - 115, DT_CENTER) oPrinter:EndPage() oPrinter:EndDoc() oPrinter:Preview() oPrinter:End() RETURN Nil ``` -------------------------------- ### GET System Clipper Compatibility (Harbour) Source: https://github.com/woodhead2019/hwgui_fork/blob/main/whatsnew.txt The GET system has been updated to be more compatible with Clipper. This aims to improve interoperability and ease migration for applications developed using the Clipper environment. ```harbour GET system now is more Clipper compatible. ``` -------------------------------- ### Open and Index DBF with Optional Indexing Source: https://github.com/woodhead2019/hwgui_fork/blob/main/utils/bincnt/Readme.txt This snippet demonstrates how to open a DBF file, optionally creating an index if it doesn't exist. It then re-opens the DBF with the index and sets the order. This is useful for efficiently accessing data within the database. ```xBase LOCAL fname := "sample" * Select a free working area SELECT 0 * open the DBF with USE &fname * Optional with index: IF .NOT. FILE(fname + INDEXEXT()) INDEX ON BIN_CITEM + BIN_CTYPE TO fname ENDIF USE * Re open DBF USE &fname INDEX fname SET ORDER TO 1 ``` -------------------------------- ### Build HwGUI Application (GTK) using Script Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc.html Builds a HwGUI application for the GTK version using the provided bash script in the 'samples/gtk_samples/' directory. Similar to Hbmk2, HB_ROOT might need to be set. ```bash samples/gtk_samples/build.sh ``` -------------------------------- ### Install ZBar Tools on Raspberry Pi Source: https://github.com/woodhead2019/hwgui_fork/blob/main/contrib/qrcode/qrdecode/ReadMe.txt Installs the 'zbar-tools' package on a Raspberry Pi 400. This package provides command-line utilities for ZBar, enabling barcode scanning functionality on the device. ```bash sudo apt install zbar-tools ``` -------------------------------- ### Bitmap Resizing Sample Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt A sample program demonstrating how to resize bitmaps, particularly for backgrounds. It includes notes about some bugs and serves as a test program. ```PRG stretch.prg ``` -------------------------------- ### Fix GCC Startup Error 0xc000007b by Modifying RC and Manifest Files Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc.html This snippet details how to resolve the 'application could not be started correctly (0xc000007b)' error in GCC by removing a specific line from .rc files and updating the processorArchitecture in the manifest file. It also shows how to load icons from files. ```text - Remove the line from all *.rc 1 24 "../image/WindowsXP.Manifest" and change concerning the following sample: CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "../image/Windows64.Manifest" CLLOG ICON resource/cllog.ico Change in the manifest file the entry processorArchitecture="x86" to "ia64" - Load icons from file in the *.rc file, for example: HWGUI ICON image\hwgui_32x32.ico ``` -------------------------------- ### GET RADIOGROUP Command Syntax Source: https://github.com/woodhead2019/hwgui_fork/blob/main/doc/hwgdoc_commands.html Provides the syntax for the GET RADIOGROUP command, used to create a group of radio buttons. It includes options for captions, window association, size, colors, and event handlers. ```hwg GET RADIOGROUP [ VAR ] [@ , GET RADIOGROUP](#_getradiogr) @ , GET RADIOGROUP [ VAR ] [ CAPTION ] [ OF ] [ ID ] [ SIZE , ] [ COLOR ] [ BACKCOLOR ] [ FONT ] [ STYLE ] [ ON INIT ] [ ON SIZE ] ``` -------------------------------- ### Tabs with Tooltips Source: https://github.com/woodhead2019/hwgui_fork/blob/main/samples/Readme.txt A sample demonstrating tabs with integrated tooltips, thanks to Alain Aupeix. This enhances user experience by providing contextual information. ```PRG demotabtool ```