HarbourBuilder Documentation
The most powerful cross-platform visual IDE for Harbour. Build native applications for Windows macOS Linux with a single codebase.
Architecture
#xcommand (compile-time)"] B --> C["Harbour OOP Layer
TForm, TControl, TToolBar"] C --> D["HB_FUNC Bridge
UI_FormNew, UI_SetProp, UI_OnEvent"] D --> E1["Win32 API
C++ (CreateWindowEx)"] D --> E2["Cocoa/AppKit
Objective-C (NSView)"] D --> E3["GTK3
C (GtkWidget)"] D --> E4["Android
JNI (android.widget.*)"] style A fill:#58a6ff,stroke:#388bfd,color:#0d1117 style D fill:#3fb950,stroke:#2ea043,color:#0d1117 style E1 fill:#0078d4,stroke:#005a9e,color:#fff style E2 fill:#555,stroke:#333,color:#fff style E3 fill:#e95420,stroke:#c34113,color:#fff style E4 fill:#34c759,stroke:#1a8d4d,color:#0d1117
Component Palette
130 controls across 16 tabs — the most complete component palette of any Harbour IDE:
| Tab | Controls | Count |
|---|---|---|
| Standard | Label, Edit, Memo, Button, CheckBox, RadioButton, ListBox, ComboBox, GroupBox, Panel, ScrollBar | 11 |
| Additional | BitBtn, SpeedButton, Image, Shape, Bevel, MaskEdit, StringGrid, ScrollBox, StaticText, LabeledEdit | 10 |
| Native | TabControl, TreeView, ListView, ProgressBar, RichEdit, TrackBar, UpDown, DateTimePicker, MonthCalendar | 9 |
| System | Timer, PaintBox | 2 |
| Dialogs | OpenDialog, SaveDialog, FontDialog, ColorDialog, FindDialog, ReplaceDialog | 6 |
| Data Access | DBFTable, MySQL, MariaDB, PostgreSQL, SQLite, Firebird, SQLServer, Oracle, MongoDB | 9 |
| Data Controls | TBrowse, DBGrid, DBNavigator, DBText, DBEdit, DBComboBox, DBCheckBox, DBImage | 8 |
| Printing | Printer, Report, Labels, PrintPreview, PageSetup, PrintDialog, ReportViewer, BarcodePrinter | 8 |
| Internet | WebView, WebServer, WebSocket, HttpClient, FtpClient, SmtpClient, TcpServer, TcpClient, UdpSocket | 9 |
| Threading | Thread, Mutex, Semaphore, CriticalSection, ThreadPool, AtomicInt, CondVar, Channel | 8 |
| AI | OpenAI, Gemini, Claude, DeepSeek, Grok, Ollama, Transformer, Whisper, Embeddings | 9 |
| Connectivity | Python, Swift, Go, Node, Rust, Java, DotNet, Lua, Ruby | 9 |
| Git | GitRepo, GitCommit, GitBranch, GitLog, GitDiff, GitRemote, GitStash, GitTag, GitBlame, GitMerge | 10 |
| ERP / Business | Preprocessor, ScriptEngine, ReportDesigner, Barcode, PDFGenerator, ExcelExport, AuditLog, Permissions, Currency, TaxEngine, Dashboard, Scheduler | 12 |
Total: 130 controls — all available on Windows, macOS, and Linux.
Key Features
Visual Form Designer
WYSIWYG form designer with dot grid, selection handles, rubber band selection, drag & drop from component palette, and real-time code generation.
Two-Way Tools
Changes in the designer instantly update the code editor, and vice versa. Your METHOD implementations are always preserved during code regeneration.
Built-in AI Assistant
Local AI coding assistant powered by Ollama. Ask questions about Harbour, get code suggestions, refactor code, and fix errors — all without an internet connection.
Integrated Debugger
Step-by-step execution (F7/F8), breakpoints (F9), variable inspection, call stack, and watch window — all integrated into the code editor.
Quick Example
#include "hbbuilder.ch" function Main() local oForm, oBtn DEFINE FORM oForm TITLE "Hello World" ; SIZE 400, 300 FONT "Segoe UI", 10 @ 120, 140 BUTTON oBtn PROMPT "Click Me!" ; OF oForm SIZE 120, 32 oBtn:OnClick := { || MsgInfo( "Hello from HarbourBuilder!" ) } ACTIVATE FORM oForm CENTERED return nil
This code runs identically on Windows, macOS, and Linux — with native controls on each platform.
HarbourBuilder was built entirely with AI assistance — from the C++ core and native backends to the Harbour OOP layer and the visual designer. A new paradigm in software development.