The GUI/IDE war

659 views
Skip to first unread message

Anxo

unread,
Feb 22, 2018, 10:40:19 AM2/22/18
to harbou...@googlegroups.com

Hello all:

 

First, sorry for my english.

 

I know that this topic has been much talked about in this list.

 

I would like to ask you the following question. If today you had to choose a GUI and an IDE to move your old clipper programs to a graphical environment which GUI / IDE would choose and why?

 

There are many options, some only for Windows environment and other multiplatform, some open source and free and others for payment.

 

From my point of view, one of the problems of Harbour is the multitude of GUIs / IDEs available to users. This, in principle, may seem like a great advantage, it translates into the dispersion of users in different graphic environments, which greatly hinders the continuity and improvement of each one of them.


It is not about choosing the best GUI / IDE for the development of applications (although it would be the best), but choosing the one that will be used by the majority, to join forces and promote among all.

 

I remember that the Beta video system was much better than the VHS, but commercially the VHS triumphed and the beta died. Everyone used VHS.

 

Many times it is not important which system is better, but in which system we are going to collaborate to add forces and obtain a RAD with its own IDE that allows us to advance more quickly in the final objective.

I see many interesting projects unemployed, probably because of lack of interest in them and I see others. from my point of view less interesting, but that agglutinate more users. I have developments in HWGUI, HMG, OOHG and this is not operational.

 

Julio Cesar said “Divide and you will win” “Divide et impera” and that is what we have done to ourselves and what prevents us from competing with other unified systems.

 

I know it's too late for this debate. The fragmentation of the users in different GUIs and the weight of the software already developed makes any change very difficult, but if you had to start now, what would you do and why?

 

Would it be possible to unify the efforts made in the different GUIs into a common one?
Would it be possible to translate from one GUI to another?
Can we work together and join forces? We have the tools.

 

Thanks.

Daniele Calanca

unread,
Feb 22, 2018, 12:39:02 PM2/22/18
to harbou...@googlegroups.com
>I would like to ask you the following question. If today you had to choose a GUI and an IDE to move your old clipper programs to a graphical environment which GUI / IDE would choose and why?

it's a tough question...

I've used the marinas-ide to port an old clipper program and make it work  under 64 bits environment..

I can't say if it's the better choice.. I can only say that with non experience at all it has been relatively easy

Massimo Belgrano

unread,
Feb 22, 2018, 1:02:58 PM2/22/18
to harbou...@googlegroups.com
i use qtcontrib and hbide because is based on qt and can give advantages from the evolution of qt and also multiplatform mobile 

https://groups.google.com/forum/#!forum/qtcontribs

Mail priva di virus. www.avast.com

--
--
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.



--
Massimo Belgrano
Delta Informatica S.r.l. (Cliccami per scoprire 

Daniele Campagna

unread,
Feb 22, 2018, 1:05:55 PM2/22/18
to harbou...@googlegroups.com
On 02/22/2018 04:40 PM, Anxo wrote:
I would like to ask you the following question. If today you had to choose a GUI and an IDE to move your old clipper programs to a graphical environment which GUI / IDE would choose and why?

 


The better answer I can give is: it depends.

If I were in the situation of having time, no pressure at all and being unwilling to spend money, I'd go for wxwidgets. I don't know it but it seems promising.

Or maybe QT: it's difficult to think that this would be a wrong move: widely used, stable, and very well-written in the opinion of many competent people.

Both these solutions seem to require a fair amount of study, anyway: if I were in a hurry and in need of a stable, quick, easy solution, I'd go for HMG.

Willing to spend some money I would choose Fivewin.

And other concerns arise if one needs Linux/Windows interoperability.

In short, this is probably a reason for having more than one GUI library. What are you looking for?

Dan

PS I omitted to cite the things I actually studied and tried...

Domenico D'Oria

unread,
Feb 23, 2018, 3:16:18 AM2/23/18
to Harbour Users
Hi Danca i'm just curious about your studies and try attempts...

please show or explain us your attempts.

regards

Domenico


Dušan D. Majkić

unread,
Feb 23, 2018, 4:38:24 AM2/23/18
to Harbour Users
As we tried all Danielle mentioned. Here are some observations

* QtContribs - gives a lot, for free (untill you need commercial Qt)
You can design almost every bit, use css, even use QML and js.
Pritpal did a great job connecting legacy text UI to Qt, and
you have full access to whole Qt - very powerful.
There is installer with HB, QT, hbqt, IDE and samples.

Note: It is complex. You need to deploy a number of heavy dll-s
or pay for Qt. Last qtcontribs installer is from 2013. You need to
build qtcontribs yourself for newer versions. You need to
learn basics of Qt (not that hard, online docs are great).

* FWH - popular, has a very alive support forum. Everything
builds in one exe plus a few additional libs if you use them.

FWH prefer BCC, and lately MSVC. We have a license and
Antonio was very helpful with a number of our requests
which is extremely important.

We saw a great oportunity to have FWH built with HB Nightly,
but that seems not yet possible. Even with newer MinGW (6.3.0)
we are having issues to build HB(+contribs+openssl+curl)
Note: every issue with building HB is solved in Victors hb34,
but that project is now archived.

Also FWH tends to include a lot of 3p libs as-is, which souds
great, but we would prefer if FWH could focus more on core
GUI (hb+compilers+GUI), than on things like tensorflow which
is huge in every way - size, docs, support, complexity, but
not that much UI related, or even usable in classic HB App.

* HMG / HMG Extended

Mostly BCC based, with HMG slowed down development.
Extended is alive, but since it is BCC first, with contib builds for BCC101,
it was not that interesting to us.

There are also a few other projects we tried, that are in active development:

* HwGUI is free nice and clean. Can be found here
https://sourceforge.net/projects/hwgui/
It is smaller than others, but it will easy build from source without issues.

* Xailer has commercial version with Delphi-like GUI, editor, etc..
We migrated to their FRX FastReport lib from late Sergeys FRH.
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Harbour Users" group.
> Unsubscribe: harbour-user...@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-user...@googlegroups.com.

Daniele Campagna

unread,
Feb 23, 2018, 5:46:11 AM2/23/18
to harbou...@googlegroups.com
Well I am an ex-clipperhead, of course. My first attempt was with
Fivewin with Clipper. I was impressed by the library but found a problem
that annoyed me a lot, the different resolution of windows vs dialogs.
It was a problem because I had created in the years a library of
functions to have a data-driven UI, so that all the definitions for
browse and record display/edit are in a file that acts more or less as a
resource file in Windows. I wanted to do the same with Windows, with the
goal to have exactly the same behavior for a CUI or a GUI program, using
the very same files. It was complicated because in a record view
definition, some field contents refer to other databases, that can be
opened with indexes or not, etc. Lookout tables, to be clear.

The resolution of dialogs is 5/9 of the windows (IIRC, or something
similar). It is not a bug of Fivewin, it's an oddity of Windows itself.
I found later a version (6) free and continued to experiment with
Harbour (I started with version 0.38 :-) ). If I have a label at
coordinates 10,10 (console screen) I want under Windows it to be placed
at equivalent position (in a window/dialog) and must recalculate in
pixel the position. Moreover, the resolution changes between define time
and when one tries to modify the dialog content after it is created. A
mess. Anyway the thing worked, more or less. After that, recent Harbour
version are no more compatibles with Fivewin 6 so the show stopped.

Anyway I had no real need to switch to Windows so did not want to spend
money for Fivewin. Fivewin is a stable, well written and well documented
product. It's a very interesting library. Maybe it was not optimal for
the strange thing I was trying to do, but for pure Windows programming
from scratch it is a great tool. At the time it had no IDE, but maybe
things have changed in between.

When, later, I found HWGUI it seemed the perfect choice. I had began to
think that a GUI environment compatible with both Windows and Linux
would have been the right one. It seemed that Kresin had the intention
to create a Linux version, too, so I began to study.
With HWGUI I created the functions that accomplish the goal described
before. The pixels are always the same, and even if there were a lot of
bugs, scarce documentation and I had to write ridiculously complex code,
it worked (with version 2.17 of HWGUI). It costed me a lot of effort.
HWGUI is similar to Fivewin, but it was years light behind it.

In the meantime, while I was still studying and having headaches on
HWGUI, I began to feel the pressure to modernize some of my programs. I
was using Harbour or xHarbour, and found the incredible solution of
GTWVW, available for xHarbour only at the time (xHarbour 0.99). This is
really something unconventional and in my opinion genial. OK, it was
only Windows, and it was clear from the start that a Linux version was
out of question. But I was able to give a Windows look (more or less...)
to my console programs with only a few months of studying and coding. A
miracle. And then, I discovered that GTWVW is compatible with HWGUI, so
I could mix the two, and integrate the functions that finally were at
production stage in my programs. I still have a couple of programs
around with GTWVW+HWGUI. I was using HWGUI before the comeback of
Kresin, that changed a lot of things, and stick to version 2.17 if and
when I recompile them, so I don't know how it is now.

When I needed to write a program capable of managing images I faced the
complete lack of documentation of HWGUI. There was an image manipulation
program in the samples, but it was full of undocumented functions. A
very similar program was present in the samples directory of Fivewin,
clear, documented and understandable. I finally abandoned HWGUI after
that. The idea to spend even only a part of the time I had invested for
the previous work, just to understand how the functions work, not
mentioning the risk to find some bug, discouraged me.

To have an idea of the bugs of HWGUI: the function to choose a file (a
call to a Windows API function) can pass a parameter to stay in the
current directory, or switch to the directory where resides the file
that was choosen. Try to imagine the time I had to spend to understand
what the hell was happening, and why sometimes after having chosen a
file the program crashed, being unable to find its databases. I had to
look at sources, look at how the Windows function works (with no
knowledge of C nor of Windows API) and ended being astonished for the
way the function was implemented. I couldn't believe it. As a workaround
I had to reset manually curdir() after the function call. Go figure!

I tried HMG instead. Ta-dah. I had seen that stuff but never really got
interested. It was Windows-only, so of scarce interest. But I had a new
project and HMG is easy. Very easy. Ok, maybe it is not the best tool
available, and its implementation is a bit strange, but, boys, it works,
it's stable, it's easy and it's well documented. It cannot coexist with
GTWVW, so I had to abandon my usual library for dialog design, and start
from scratch, but for the kind of program I was writing it was not a big
issue, so... at work.
In a few days I was able to start to tinker, and I must say that HMG
offers a very quick learning curve, until you want to deepen its
internals, then of course there are intricacies.
I was able to create a working program quite acceptable, even if it
hasn't the look'n feel of the latest .NET programs. Who cares?

I am very positive about HMG, but it is not Linux compatible, so I am
considering to make the last effort and find the right GUI library...
the one easy, interoperable, modern, powerful, bug-free and... not
expensive.
I am considering wxwidgets and QT. Let's see.

I hope that my experience can be of help to someone. And now, have your
hard times studying and experimenting!

Dan

Juan Francolino

unread,
Feb 23, 2018, 8:16:31 AM2/23/18
to harbou...@googlegroups.com

Hi,

The date of the last Qtcontribs installer is November 10, 2017.

https://sourceforge.net/projects/qtcontribs/

Regards,

Juan Francolino

Dušan D. Majkić

unread,
Feb 23, 2018, 8:36:25 AM2/23/18
to Harbour Users
I was refering to installer exe which is from 2015. Eg. this:

https://sourceforge.net/projects/qtcontribs/files/QtContribs_Mingw-492_Qt-550_r417_Setup.exe/download

Newer files are zipped static builds, which require Qt subscription to
distribute.

Regards.

Francesco Perillo

unread,
Feb 23, 2018, 8:40:08 AM2/23/18
to harbou...@googlegroups.com
It takes no more than 20 minutes to rebuild hbQt on a decent computer...


> 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

> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Harbour Users" group.

> 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

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

--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.

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.

Daniele Campagna

unread,
Feb 23, 2018, 8:42:34 AM2/23/18
to harbou...@googlegroups.com
On 02/23/2018 10:37 AM, Dušan D. Majkić wrote:
> * HMG / HMG Extended
>
> Mostly BCC based, with HMG slowed down development.
> Extended is alive, but since it is BCC first, with contib builds for BCC101,
> it was not that interesting to us.
HMG is minGW-based. It includes Harbour and minGW, and a IDE. There is
also OOHG, Object oriented MiniGUI (HMG has a pseudo-OO syntax).

IIRC HMG Extended is BCC-based.

Dan

Dušan D. Majkić

unread,
Feb 23, 2018, 9:23:55 AM2/23/18
to Harbour Users
Francesco, I agree. That is what I do.
>> > Unsubscribe: harbour-user...@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-user...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> > --
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Harbour Users" group.
>> > Unsubscribe: harbour-user...@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-user...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Harbour Users" group.
>> Unsubscribe: harbour-user...@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-user...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Harbour Users" group.
> Unsubscribe: harbour-user...@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-user...@googlegroups.com.

Anxo

unread,
Feb 26, 2018, 3:28:42 PM2/26/18
to harbou...@googlegroups.com
Hi Dan:

Thank you very much for your input. More or less we have all crossed that ocean.

Regardless of whether we use Windows, Linux or both, I think we would all like a multiplatform GUI working with the same sources (or with minimal changes) and with RAD tools that facilitate the design of forms and the inclusion of visual components at design time and allowing OOP. Also be as documented as possible.

With these premises, we have HWGui, QT (HBQT, QTContribs), WxWidgets (WxHarbour). Any more?

All of them have their own designer, although I do not know the ease to be used from the application code.

Qt and WxWidGets have very complete designers, but I do not know to what extent they can be used from QtContribs or WxHarbour.

As a designer, I like Xailer designer very much, similar to Delphi designer, which is one of the best from my point of view, but Xailer only works in Windows and it is paid.

For me to pay is not the problem, we work for money and a job well done (and Xailer is well done) must be remunerated, but it is not multiplatform. And having access to sources is also very important.

My personal opinion opts for HWGui, but I recognize that it lacks the necessary documentation and community support to turn it into the tool that we are all looking for. No additional libraries, fast, with a visual designer capable of growing in components, properties and methods, multiplatform with small changes and also with access to the source code. The lack of support and documentation many times (as Dan says) makes us lose a lot of time, but we can only thank A.Kresin and HWGui community for his incredible work.

Having said that, I would opt for any multiplatform GUI, OOP, with form designer, free or paid, that was adopted by the Harbour community, which would facilitate joining forces to row all in the same direction.

We all have programs developed in different GUIs and choosing with that background is never objective, so I asked what GUI you would choose if it were the first time you transferred a Clipper program to a graphic environment.

Surely at this point it is utopian, but Harbour needs an approved GUI. I can not imagine Delphi or Visual Basic working with different GUIs, they just would not triumph and divide the community, which is what is happening to us with Harbour.

Sooner or later, Harbour will have to opt for a single GUI solution accepted and supported by the community, without prejudice to existing ones, if we want to continue using this way of programming we love.

Thanks.

-----Mensaje original-----
De: harbou...@googlegroups.com [mailto:harbou...@googlegroups.com] En nombre de Daniele Campagna
Enviado el: viernes, 23 de febrero de 2018 11:46
Para: harbou...@googlegroups.com
Asunto: Re: [harbour-users] The GUI/IDE war

Davor Siklic

unread,
Feb 26, 2018, 6:59:04 PM2/26/18
to Harbour Users


Dne pondělí 26. února 2018 21:28:42 UTC+1 Anxo napsal(a):
Hi Dan:

Thank you very much for your input. More or less we have all crossed that ocean.

Regardless of whether we use Windows, Linux or both, I think we would all like a multiplatform GUI working with the same sources (or with minimal changes) and with RAD tools that facilitate the design of forms and the inclusion of visual components at design time and allowing OOP. Also be as documented as possible.

With these premises, we have HWGui, QT (HBQT, QTContribs), WxWidgets (WxHarbour).  Any more?

As Daniele  say on beginning don't forget  marinas-ide (http://www.marinas-gui.org) , open source, multi platform, well documented. I think that can be good starting point for IDE.
I used primary on Linux  and working well. Example application (https://github.com/lynx68/fenix) interesting for learning and maybe usable for somebody, please enjoy the dev. team

regards
Davor

Anxo

unread,
Feb 26, 2018, 8:33:41 PM2/26/18
to harbou...@googlegroups.com

Hi:

 

As far as I know, Marinas has its own IDE, but it does not have a visual form designer, so i did not include it in the GUIs list, but it fulfills the rest of the requirements.

 

Thanks.

W.

unread,
Feb 27, 2018, 12:04:28 PM2/27/18
to Harbour Users


W dniu czwartek, 22 lutego 2018 16:40:19 UTC+1 użytkownik Anxo napisał:


Would it be possible to unify the efforts made in the different GUIs into a common one?
Would it be possible to translate from one GUI to another?
Can we work together and join forces? We have the tools.

 

Thanks.


IMHO, the effort that went into QT should have gone to wxWidgets, as they fit much more to Harbour philisophy. But most people were went about QT rich feature set. That richness unfortunately is not without a cost... Troubles with rebuilding, troubles with stability, no static linking with open source license.

Ideas? What would be nice is GTWVW-like terminal using wxWidgets, HWGUI wxWidgets edition for compatibility and real effort enhancing already good wxHarbour library.

regards,
w.
Reply all
Reply to author
Forward
0 new messages