FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades HarbourBuilder — IDE Visual Multiplataforma para Harbour (avance importante)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
HarbourBuilder — IDE Visual Multiplataforma para Harbour (avance importante)
Posted: Sat Apr 04, 2026 05:04 AM

Hola a todos,

Quiero compartir el progreso de HarbourBuilder, un IDE visual open-source para Harbour inspirado en Borland C++Builder / Lazarus.

El objetivo es sencillo: diseñar formularios visualmente, escribir event handlers en Harbour, y ejecutar nativamente en Windows, macOS y Linux — mismo código, controles nativos en cada plataforma.

=== Qué funciona hoy ===

EDITOR DE CODIGO (Scintilla en las 3 plataformas):

  • Scintilla 5.5+ con lexer C++ adaptado para sintaxis Harbour
  • Syntax highlighting: keywords (azul bold), commands (teal), comments (verde italic), strings (naranja), numbers (verde claro), preprocessor (magenta)
  • Code folding inteligente para Harbour (function/class/if/for/while/switch)
  • Bracket matching, bookmarks (Ctrl+0..9), code snippets (8 plantillas)
  • Auto-indent, auto-complete (150+ keywords y funciones Harbour)
  • Go-to-definition (F12), barra de estado (Ln/Col/INS/UTF-8)
  • Panel de mensajes con errores clickables (salta a la línea del error)
  • Build incremental (solo recompila lo que cambió)

DISEÑADOR VISUAL DE FORMULARIOS:

  • Diseñador WYSIWYG con grid de puntos, snap-to-grid (8px)
  • Drag, resize (8 handles), rubber band multi-selección
  • Copiar/Pegar controles, Alinear y Distribuir (8 modos)
  • Historial de undo (50 pasos) para operaciones de diseño
  • Sincronización bidireccional: cambios en el diseñador actualizan el código y viceversa

INSPECTOR DE OBJETOS:

  • Pestañas de Propiedades y Eventos con grid categorizado
  • Editores dropdown para propiedades enum (BorderStyle, Position, WindowState...)
  • Selector de color, selector de fuente, edición inline
  • Validación de propiedades (rangos numéricos, nombres no vacíos)
  • Doble-click en evento → genera handler automáticamente

109 COMPONENTES en 14 pestañas de paleta:

  • Standard, Additional, Native, System, Dialogs
  • Data Access (DBF y SQLite funcionando, MySQL/PostgreSQL/etc. en stubs)
  • Data Controls (TBrowse, DBGrid, DBNavigator, DBEdit...)
  • Internet, Threading, AI, ERP, Printing

DEPURADOR IN-PROCESS:

  • Compila a bytecode .hrb (harbour -gh -b)
  • Ejecuta dentro de la propia VM Harbour del IDE
  • Hook de debug (hb_dbg_SetEntry) intercepta cada línea de código
  • Step Into, Step Over, Continue, Stop
  • Inspección de variables locales, Call Stack, Breakpoints, Output
  • La UI se mantiene responsiva durante la pausa

CARACTERISTICAS ADICIONALES DEL IDE:

  • Panel de AI Assistant (integración con Ollama, 6 modelos)
  • Diálogo de colores del editor (4 presets: Dark/Light/Monokai/Solarized)
  • Opciones de proyecto (4 pestañas: Harbour/Compilador/Linker/Directorios)
  • Inspector de proyecto con vista de árbol
  • Editor de tab order
  • Dark mode en todas las plataformas
  • Toolbar doble con botones de archivo/edición y debug

BASE DE DATOS:

  • TDBFTable: DBF nativo via Harbour RDD (crear, leer, escribir, indexar)
  • TSQLite: soporte completo SQLite3 (tablas, transacciones, queries)
  • API unificada TDatabase — cambiar de backend = una sola línea
  • Data Controls: TDataSource, TDBNavigator, TDBEdit, TDBText, TDBComboBox

=== Estado por plataforma ===

PlataformaBackendEstado
WindowsWin32 API + Scintilla DLLIDE completo
macOSCocoa/AppKit + ScintillaIDE completo
LinuxGTK3 + ScintillaIDE completo

Las tres plataformas están en paridad de features: cero stubs placeholder, todos los menús y botones de toolbar funcionales.

=== Cómo probarlo ===

Repositorio: https://github.com/FiveTechSoft/HarbourBuilder

Requisitos: compilador Harbour 3.2 + herramientas de la plataforma (Xcode CLT en Mac, GCC + GTK3-dev en Linux, BCC en Windows).

Compilar:
macOS: cd samples && ./build_mac.sh
Linux: cd samples && ./build_gtk.sh
Windows: build_win.bat

=== Qué viene después ===

  • Diseñador Visual de Reportes (estilo FastReport/Crystal)
  • Herencia de formularios
  • Binding completo para MySQL/PostgreSQL
  • Depurador pipe-based para ejecutables compilados

Todo el proyecto ha sido vibe coded al 100% usando Claude Code.

¡Cualquier feedback, pruebas y contribuciones son bienvenidos!

Antonio Linares
https://github.com/FiveTechSoft/HarbourBuilder

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion