[Lazarus] Completely solve the GTK trouble

jiaxing ruan ruanjiaxing1234 at outlook.com
Tue Apr 14 13:37:16 CEST 2020


I skipped the Lua part in my binding because I think it will not needed for Free Pascal. Don't know if we would have any use for it.

About 1: Could we do canvas drawing with IUPCD? It use CD (Canvas Draw) graphic library, also developed by the same developer. Note that IUPCD is shipped with IUP itself, we don't need to install a separate library CD.

About 2: I don't know about that. But I think there should be way to do absolute layout with IUP. Could you check it again? I have never use absolute position with IUP, though.

I don't want it to replace GTK2 interface. But the GTK3 interface is definitely bad. I want to use IUP as an abstract layer on top of GTK. IUP, something not changed much, ontop of GTK, something changes rapidly. It will save us a lot of maintenance job in the future. It's my reasoning.

________________________________
From: lazarus <lazarus-bounces at lists.lazarus-ide.org> on behalf of Michael Van Canneyt via lazarus <lazarus at lists.lazarus-ide.org>
Sent: Tuesday, April 14, 2020 6:08 PM
To: zeljko via lazarus <lazarus at lists.lazarus-ide.org>
Cc: Michael Van Canneyt <michael at freepascal.org>
Subject: Re: [Lazarus] Completely solve the GTK trouble



On Tue, 14 Apr 2020, zeljko via lazarus wrote:

> On 4/14/20 10:07 AM, jiaxing ruan via lazarus wrote:
>> Do you need tester? I can help with testing. But anything needs more
>> knowledge I afraid I can't.
>>
>> Anyway, did we at any time found it's tired to catch up with GTK? May be
>> we could keep the current GTK3 interface. But my suggestion also deal
>> with GTK4, GTK5... One IUP interface, we could choose the appropriate
>> GTK version. IUP currently supports both GTK2 and GTK3 and the API still
>> the same. What I appreciate IUP is it focuses on a stable API. As I
>> said, programs written for IUP 3.15 still compile and run fine with IUP
>> 3.27. Investing on an IUP interface rather than GTK4, GTK5... interface
>> is the most reasonable way to go.
>
> Never heard about IUP, but maybe we can get ideas for various gtk3
> implementations from IUP. Maybe you should provide direct link to IUP
> library, not to your h2pas conversion.

See
http://webserver2.tecgraf.puc-rio.br/iup/

I looked into it.
Seems to me that a small OOP wrapper around the iup headers is a good idea.
The LUA bindings add some nice ideas, it looks like what we know as properties.

What does worry me in this widgetset is that there are 2 things missing:
1. a canvas for regular controls. There is a canvas, but is a separate control,
   and I'm not 100% sure whether that is a requirement for a LCL widgetset.
2. No absolute positioning, which does not go well with the LCL. You need to
use existing layouters.

So for these reasons I am not yet sure it's a viable candidate for a new widgetset.
Given that and the fact it adds it adds an additional layer,
I would definitely not let it replace the existing GTK2/GTK3 interfaces.

Michael.


Michael.
--
_______________________________________________
lazarus mailing list
lazarus at lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200414/125f60cb/attachment-0001.html>


More information about the lazarus mailing list