[lazarus] Who is the controlling 'native' widget set in LCL?
Hi, I'm not trying to start a flame war, I would simply like to understand the thinking and decision process of the core lazarus developers regarding the LCL features. I'm sure any developer using LCL would like the following answers as well. For more background on this issue see the mantis bug report: http://bugs.freepascal.org/view.php?id=9285 In summary. TButton.Color is not available in LCL because Win32 doesn't allow a button face to change color without custom drawing. Yet other widget sets do like Qt and GTK1. Comments from Paul: Kylix = qt = library that draw widgets itself Win32 = library that also has some mids about widget drawing Why LCL should invent hacks to force win32 draw color buttons? If win32 does not want to do that why LCL should have ability to override designed by ms devels way of button drawing? LCL is library of native widgets = library that uses abilities of underlying libraries. If they (win32 or other) doesnot support something then LCL should not invent own ways. My opinion - this issue should be closed. Comments from Me: -- Ok, so LCL uses native widgets - I get that. Well, Qt is a supported widget set of LCL. So Qt should in all respects be consider 'native'. So now, because Win32 doesn't allow Button.Color, Qt may not use Button.Color either! That's a bit unfair. The LCL now limits developers only to what Win32 can do! What happened to LCL being cross-platform? What about the features of other underlying native widget sets? Is Win32 the controlling widget set for LCL. If Win32 doesn't support something, neither may the other widget sets? So, my question again: Is Win32 the controlling widget set in LCL? Is Win32 the deciding widget set for what is allowed in the LCL? If Win32 doesn't support it, it's not going to be supported in the LCL - even if the other native widget sets support a function? How do the core developers decide what is allowed in the LCL and what isn't? What criteria do they use? As a extra argument to Paul: MS developers decided not support MouseEnter and MouseLeave OS level events in Win32. Other widget sets do. Borland even had to hack their own support for it in the VCL. Then in Windows XP and Vista the Microsoft developers show that a 'hot' state over buttons are cool, yet the underlying Win32 still doesn't support MouseEnter and MouseLeave OS events! I wouldn't stake my life on what MS developers decided is good! They sometimes come up with pretty shitty ideas of what they think is right! Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Who is the controlling 'native' widget set in LCL?
Graeme Geldenhuys schrieb: So, my question again: Is Win32 the controlling widget set in LCL? Is Win32 the deciding widget set for what is allowed in the LCL? If Win32 doesn't support it, it's not going to be supported in the LCL - even if the other native widget sets support a function? I guess in case of doubts, the VCL is the reference. If one wants to explore all features of a certain widget set, he has simply to use a direct interface to the widget set. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Who is the controlling 'native' widget set in LCL?
Graeme Geldenhuys wrote: Hi, I'm not trying to start a flame war, I would simply like to understand the thinking and decision process of the core lazarus developers regarding the LCL features. I'm sure any developer using LCL would like the following answers as well. For more background on this issue see the mantis bug report: http://bugs.freepascal.org/view.php?id=9285 In summary. TButton.Color is not available in LCL because Win32 doesn't allow a button face to change color without custom drawing. Yet other widget sets do like Qt and GTK1. That problem has been havily discussed in lazarus-dev list and we came to the conclusion that such properties should be in LCL, but on the other hand they must be marked some way in object inspector as non cross platform. Best regards, Paul Ishenin. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Who is the controlling 'native' widget set in LCL?
On 07/02/2008, Paul Ishenin [EMAIL PROTECTED] wrote: In summary. TButton.Color is not available in LCL because Win32 doesn't allow a button face to change color without custom drawing. Yet other widget sets do like Qt and GTK1. That problem has been havily discussed in lazarus-dev list and we came to the conclusion that such properties should be in LCL, but on the other hand they must be marked some way in object inspector as non cross platform. My apologies. I didn't know of a 'lazarus-dev' mailing list. When was this decided, in the last 7 days? Because from your comment in he mantis bug report dated 2008-02-01 (7 days ago), your clearly stated that it _shouldn't_ be supported. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Who is the controlling 'native' widget set in LCL?
Zitat von Graeme Geldenhuys [EMAIL PROTECTED]: On 07/02/2008, Paul Ishenin [EMAIL PROTECTED] wrote: In summary. TButton.Color is not available in LCL because Win32 doesn't allow a button face to change color without custom drawing. Yet other widget sets do like Qt and GTK1. That problem has been havily discussed in lazarus-dev list and we came to the conclusion that such properties should be in LCL, but on the other hand they must be marked some way in object inspector as non cross platform. My apologies. I didn't know of a 'lazarus-dev' mailing list. When was this decided, in the last 7 days? Because from your comment in he mantis bug report dated 2008-02-01 (7 days ago), your clearly stated that it _shouldn't_ be supported. Here is a small abstract about the current state of the discussion: Some properties can not be supported on some widgetsets, because it would require a lot of work, which no laz devel wants to do. OTOH some native features are so great, that the LCL should support them, but only on a subset of the widgetsets. The main problem is how can the programmer see, what property/method is available on what platform. The documentation is a good place, but not sufficient. It should be marked in the OI and identifier completion as well. The information can not be stored in the LCL alone and must be readable when cross designing. So one solution could be a xml file in each widgetset. This kind of information is needed by other libs as well. For example database front/backends. So maybe a more generic solution is needed. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives