Marc Weustink ha scritto:
Giuliano Colla wrote:
Felipe Monteiro de Carvalho ha scritto:
Try and convince Lazarus developers to follow a route which makes it possible for a lot of people like me to actively contribute instead of just feeling helpless and whine.

What route do you suggest ?

I understand that using a ready made widgetset is a good way to start a project which otherwise would appear a titanic task. But once the project has started consolidating, as it has, I believe it should be wise to reconsider the initial choices.

I see that work is being done to remove functions from LCL and move them to widgesets. The route I suggest is the opposite: the maximum of functionalities should be in LCL, and widgetset should provide the bare minimum.

The advantages are:
One code base to maintain instead of many.
A cleaner code organization. Widgetset just paints, LCL does the work.
Cleaner code, free of bug prone callbacks from widgetset.
Code more readable, encouraging contribution from Pascal-addict users not deep enough in each widgetset C++ intricacies, whims and bugs.
Consistent behavior in different platforms.
A code base ready for Lazarus native widgets, getting rid of GTK, QT, etc. heavy and buggy libraries.

It appears that this is not the way core developers want to go, but I can always suggest it. Then it's up to them to drop the matter or give it a second thought.

That's the point. Attempting to fix z-order in GTK2, which is a minimum requirement in order to make a real world application work, requires to study gtk2 in detail.

Whatever model you come up with, be it native contols or customdrawn controls, as soon as there is a bug on OS/widget level, you need to understand that level.


You're right, but the more intricate is the pattern, the more difficult is the approach. I've fixed a number of Kylix bugs in a fraction of the time it just took me just to locate in Lazarus the gkt functions involved in a bug.

Moreover you may be forced to modify something in LCL, which will doubtless break gtk1, Qt, Carbon, windows, WINCE etc. (I see it happen every day) So you must study gtk1 in detail (loss of time because gtk1 is long dead), Qt, Carbon (I don't have a Mac), windows API's etc. It's above me. And apparently above Lazarus team.

Now you're taking the extreme route, this doesn't happen that often. However if there is a bug in the LCL it needs to be fixed. It's to noones advantage that every widgetset has to work around tose bugs.


The problem isn't a bug in LCL. The problem is a bug (or just a poorly implemented feature) in the widgetset which can't be solved at widgetset level, and therefore requires an LCL workaround, which in turn breaks other things. I've seen that happen quite often.

Still we are happy to receive patches aginst gtk2+lcl in this case. It may only take longer before things are applied since more ppl are involved to fix other widgetsets.


I perfectly understand that GTK2 is a low priority, and I can see from svn logs that nobody is actively working on it. I raised the question only because Felipe appeared to believe that gtk2 is usable, which in my opinion isn't. I can live without gtk2 so I just check it from time to time.

That's why
I claim that the "native widget" route is a dead end.

That's your claim, not ours.


I know, and I tried to support my claim with arguments. Whenever a feature is moved from LCL to widgetset, all widgetset related portions must be updated, and this multiplies the problems given the limited resources available.


See above. If something is within my reach, I attempt to fix it. If it's above my reach I can only whine.

You can also help with small testcases and such exactly pinpointing the problem. Whining won't help anyone, only you loose. (I will certainly not inspire me to help you)


Most of the times, when I point a problem is just to help Lazarus to be a better product. If it's something I really need, I try to locate the cause and either fix it myself, or give the developers all useful information to fix it with minimum loss of time. Back about GTK2, I don't need it, I don't need help on it, but I feel it right to let you know the impression one gets when trying to use it. And it seems to me that it's one more argument in favor of my point of view.

However, that's just my point of view.
Lazarus team has made an excellent work with an amazing IDE, and therefore deserves all my respect, whatever they decide to do, and I'll continue to contribute, within the limits of my time and my skills.

Thanks

Giuliano

--
Giuliano Colla

Whenever people agree with me, I always feel I must be wrong (O. Wilde)

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to