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