TUI for Harbour (text user interface)

795 views
Skip to first unread message

Diego Pego

unread,
Nov 24, 2016, 9:11:28 AM11/24/16
to Harbour Users
Anyone interested on a TUI for Harbour?
I created a library, and if there is interest, I might port it to a open source project. (on spare time)

The forms can fit the screen size or have fixed size.
After the form is generated from text, you can access all the components, gets, labels and change all properties. and use classic programming with @ say/get.
You can create forms using text modeling, like this:

"+-RESIZEABLE BOX WITH TITLE                             -+"
"A get:{<this represents a get. size defined by braces>}   "
"Checkbox:{x}                                              "
"Password:{*             }                                 "
"DropDown:{              }                                 "
"+-RH <RH tag define RESIZE HORIZONTALLY to fit screen   -+"

There is another part of this lib, not integrated yet, that allow to create framed and unframed containers.
All components coordinates are based on x, y, width, height instead of classic y1, x1, y2, x2
The containers use properties to allow grip and align to top, right, left, bottom, center, all
Have frame (box) and padding.
Within containers, you can insert other containers, use classic programming with @ say/get or use the components already available:
  • box
  • memo edit/memo say
  • table
  • alert (with timer)
  • get
  • tbrowse
The container coordinates can be used to position classical @say/get like this: obox:ui:x, obox:ui:y, obox:ui:w, obox:ui:h

I don't use windows, because I don't need them, but it can be done.

Screenshot of a working form: Looks the same on windows and linux. over ssh also off course.



Domenico D'Oria

unread,
Dec 28, 2017, 2:57:33 AM12/28/17
to Harbour Users
Hi Diego

can you send/share some pictures of your Text User Interface

long life and prosper

TIA
Message has been deleted

Diego Pego

unread,
Dec 28, 2017, 8:27:16 AM12/28/17
to Harbour Users
Sure! I think I posted the original screenshot larger than 50k. Sorry about that.


Andrés González

unread,
Dec 28, 2017, 8:47:13 AM12/28/17
to Harbour Users
I'm interested. Some question, is possible to ressalt some text like #text or @email?

--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-users+unsubscribe@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Domenico D'Oria

unread,
Dec 28, 2017, 11:46:21 AM12/28/17
to Harbour Users
Hi Diego

thank for the picture

can i see how is a browse, a  menu whuth a submenu

As i want to test it on a Linux and Freebsd OS can you share some source


long life  and prosper

TIA


Message has been deleted

Diego Pego

unread,
Dec 28, 2017, 2:35:29 PM12/28/17
to Harbour Users
Yes, with simple changes on the screen processing engine, located at: 
method PaintGets(modoGet) class audi_form



FIrst of all, I'm sorry because this code was not meant to be a public library, so it was deeply binded to my main codebase.
Also it was using XHB lib.
I cleaned it the best way could in the short time that I have. so it could work on pure Harbour.
Also, some functions like hb_default, I had to create because my main code is sill written in hb3.0 
I think you can borrow the main Idea to write your own, clean interface. That being said, the only interesting code is at formutil_class.prg
The rest are just common knowledge for drawing boxes and choice menu.

There are some comments and variable names in portuguese
Anyway, I hope it helps you someway and I will answer if you have any questions the best way I can.


to compile:
hbmk2 aud_form.prg formutil_class.prg pseudo_lib.prg


Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
formutil_class.prg
pseudo_lib.prg
aud_form.prg

Bruno Luciani

unread,
Dec 28, 2017, 3:12:22 PM12/28/17
to harbour-users
HI Diego , could you pass a prg with an example of use of this TUI ?

Thanks

Bruno


Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Bruno Luciani
Area Ingenieria
Brawnius Tecnologia y Servicios 
BWS Central de Monitoreo
San Francisco Javier 1066
Ramallo - 03407-422178/422185
www.brawnius.com.ar
www.bwsalarmas.com.ar

mvg

unread,
Feb 14, 2025, 2:20:11 PM2/14/25
to Harbour Users
Hello Diego,

can your talk more about the TUI Lib, I have interest in it

thanks

Marcelo




--
Bruno Luciani
Area Ingenieria
Brawnius Tecnologia y Servicios 
BWS Central de Monitoreo
San Francisco Javier 1066
Ramallo - 03407-422178/422185
www.brawnius.com.ar
www.bwsalarmas.com.ar

Daniel Lopes Filho

unread,
Feb 14, 2025, 2:26:50 PM2/14/25
to harbou...@googlegroups.com
experimente essa lib usando qt 
  try this library using qt.  



---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.


--
Lopes Informática
67-9-9202-9422 (tim)
67-9-9676-8637 (vivo/whatsapp)

mvg

unread,
Feb 14, 2025, 2:51:12 PM2/14/25
to Harbour Users
Daniel, thanks for repliying, I'm looking for a lib for Text User Interface Dev, thanks for the info

saludos

Marcelo

Reply all
Reply to author
Forward
0 new messages