Re: [lazarus] History of the widget set design?
On 4/4/07, Felipe Monteiro de Carvalho [EMAIL PROTECTED] wrote: On 4/4/07, Graeme Geldenhuys [EMAIL PROTECTED] wrote: I'll keep plugging away at fpGUI and end this thread here. Thanks to all that joined in, it was fun. Sorry for my poor english, but plugging away at means that you will continue working on fpGUI or that you will stop working on it? :-) No problem. It means I will continue working on fpGUI. I still feel for my target market fpGUI has more advantages (when it's feature complete that is). -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/4/07, Lord Satan [EMAIL PROTECTED] wrote: I get the slight feeling that this 'discussion' drifts away from being related to Lazarus at all. Or is there any point? Agree... It seems there are many people that will be hard pressed in using a Object Pascal widgets set for whatever reason. I don't get it, but hey - that's just me. :-) It now makes sense why projects like Kylix, MSEgui, fpGUI, LPTK, eLiquid have a small following. It's not that the projects are sub-standard of anything, but rather that the developers are stubborn in trying something different (even if it could be better and make their life easier) or don't work on many commercial grade cross platform applications. I'll keep plugging away at fpGUI and end this thread here. Thanks to all that joined in, it was fun. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/4/07, Graeme Geldenhuys [EMAIL PROTECTED] wrote: I'll keep plugging away at fpGUI and end this thread here. Thanks to all that joined in, it was fun. Sorry for my poor english, but plugging away at means that you will continue working on fpGUI or that you will stop working on it? -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Lord Satan [EMAIL PROTECTED] wrote: If the user has the choice between native and non native most will choose the native one. The same reason why KDE-guys use mostly QT apps and Gnome ones use mostly GTK apps. Maybe I'm just different. I use Ubuntu, which comes default with Gnome, yet I use quite a few KDE or Qt apps like Kate, esvn and Kile to name a few. I use a mixed bag, whatever does the job best! Btw are there any screenshots or even better a working example of fpGUI in action? All I know about it is what I read on this list but I have no clue what it looks like and how it feels. Have a look at the fpGUI website. Those screenshots are a bit old, but will give you a good idea. Half those screenshots show the Windows 9x theme (under Linux), the other half show the GFX backend doing painting. http://opensoft.homeip.net/fpgui/ As those screenshots show, getting the Windows look is really easy. And seeing the 95% of the world use Windows, you'll make many people feel right at home. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Lord Satan [EMAIL PROTECTED] wrote: But the developer plans native widget support for the next major version of Pixel and looking at the screenshots I know why users demand it. Nonetheless you are right that it could be a gain for Lazarus. Nobody has seen the code of eLiquid, so nobody other that it's author can currently say what eLiquid can do, how themeable it is, etc. Judging from the screenshots of Pixel alone, it looks pretty flexible. The author has mentioned a few years back already that he would like to document eLiquid and maybe open-source it. Nothing has happened yet, so I wouldn't hold my breath. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Andrew Haines [EMAIL PROTECTED] wrote: Part of the reason for that, is that there is a lot of old code that was written before the redesign of the underlying interface to the native widgets. And at least for gtk1, it misses some functionality that is Do you know the status of GTK2? Is it workable yet and not just for a Hello World app? The last time I tried it (a few months back) it wasn't close to ready, so switched immediately back to GTK1. Where are most of the Lazarus GTK development being concentrated on at the moment GTK1 or GTK2? -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Tue, 3 Apr 2007 08:43:50 +0200 Graeme Geldenhuys [EMAIL PROTECTED] wrote: On 4/3/07, Lord Satan [EMAIL PROTECTED] wrote: If the user has the choice between native and non native most will choose the native one. The same reason why KDE-guys use mostly QT apps and Gnome ones use mostly GTK apps. Maybe I'm just different. I use Ubuntu, which comes default with Gnome, yet I use quite a few KDE or Qt apps like Kate, esvn and Kile to name a few. I use a mixed bag, whatever does the job best! Many people use a mixed bag, but never close to hals QT half GTK. As those screenshots show, getting the Windows look is really easy. Of course it is easy as it looks as ugly as my GTK Lazarus (for some unknown reason I cannot use GTK pixmap themes). Is there theme support planed? It will be really hard to get Mac OS X users to use apps that look like this. They want that all their apps look the same and that is true for me, too, but I am a gfx guy so I like nice looks more than other people. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Lord Satan [EMAIL PROTECTED] wrote: Of course it is easy as it looks as ugly as my GTK Lazarus (for some unknown reason I cannot use GTK pixmap themes). As I said those screenshots are old and from Linux when fpGUI didn't have Xft (anti-aliased font) support. The latest fpGUI has anti-aliased font support. I'm working on a pixmap based theme for fpGUI. That way graphics artists can create themes instead of developers via code. As for you Lazarus GTK Pixmap's problem. Have you got the GTK1 Pixmaps theme engine installed (not just the themes). I had the same problem under Ubuntu. I could install Pixmap based themes, but no affect under Lazarus or any GTK1 based apps. After running Lazarus from the command line, GTK gave me a error message saying it couldn't find some pixmap engine .so files. Used apt-get, installed it, and now my themes work. :-) It will be really hard to get Mac OS X users to use apps that look like this. They want that all their apps look the same and that is true for me, too I'm taking it on step at a time and prioritising according to my current needs. At the moment I have no need for OSX support. All my clients are on Linux or Windows only. Hopefully some day I'll get to it, but I have more pressing needs to fulfil first. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys wrote: On 4/3/07, Andrew Haines [EMAIL PROTECTED] wrote: Part of the reason for that, is that there is a lot of old code that was written before the redesign of the underlying interface to the native widgets. And at least for gtk1, it misses some functionality that is Do you know the status of GTK2? Is it workable yet and not just for a Hello World app? The last time I tried it (a few months back) it wasn't close to ready, so switched immediately back to GTK1. Where are most of the Lazarus GTK development being concentrated on at the moment GTK1 or GTK2? I am using lazarus compiled with gtk2 exclusively. It rarely crashes. There are lots of gtk-warning and gtk-critical messages that appear on the console, but most of them are for signals trying to be used on widgets that don't accept them. I would say gtk2 is beyond a HelloWorld application. As far as where development is being concentrated, I can't say. Most of the work I do on lazarus is related gtk2 of late, but I only work at it in my spare time, like most contributors, so how much is done is not constant. Andrew _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Graeme Geldenhuys [EMAIL PROTECTED] wrote: On 4/2/07, Felipe Monteiro de Carvalho [EMAIL PROTECTED] wrote: Yes, but I think that if the application is used only in enterprises and such, the users probably won´t care. And then the enterprise will be more interrested in productivity then in a confortable user interface experience. Exactly! I can think of many examples where Enterprise applications don't even come close to resembling the native platform at all, but yet companies like Microsoft (Media Player 9, Office XP 2007, Outlook), Sun (Java) and IBM (Java, Lotus SmartSuite) sell those and nobody complains. Good point. I have been flying around quite a bit in the last few years and whenever I am at a travel agent, I see the same UI: a command line console thing in a window (they use the most cryptic commands I have ever seen). I took the time to ask one or two of them what they think of that UI as opposed to a more windows-like UI and they said that it quite simply much faster even though it has a higher learning curve. So I agree, in a corporate environment the productivity is MUCH more important. I think the user's experience is still very important, but when a choice needs to be made between the two, productivity would have to win. Charl -- I love deadlines. I especially love the whooshing sound they make as they fly by. - Douglas Adams
Re: [lazarus] History of the widget set design?
Andrew Haines schrieb: Graeme Geldenhuys wrote: On 4/3/07, Andrew Haines [EMAIL PROTECTED] wrote: Part of the reason for that, is that there is a lot of old code that was written before the redesign of the underlying interface to the native widgets. And at least for gtk1, it misses some functionality that is Do you know the status of GTK2? Is it workable yet and not just for a Hello World app? The last time I tried it (a few months back) it wasn't close to ready, so switched immediately back to GTK1. Where are most of the Lazarus GTK development being concentrated on at the moment GTK1 or GTK2? I am using lazarus compiled with gtk2 exclusively. It rarely crashes. There are lots of gtk-warning and gtk-critical messages that appear on the console, but most of them are for signals trying to be used on widgets that don't accept them. I would say gtk2 is beyond a HelloWorld application. For me lazarus itself compiled with gtk2 works fine with a few glitches. As far as where development is being concentrated, I can't say. Most of the work I do on lazarus is related gtk2 of late, but I only work at it in my spare time, like most contributors, so how much is done is not constant. Andrew _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Tuesday, April 03, 2007, 10:43:50 AM, Graeme wrote: GG Have a look at the fpGUI website. Those screenshots are a bit old, GG but will give you a good idea. GG Half those screenshots show the Windows 9x theme (under Linux), the GG other half show the GFX backend doing painting. GG http://opensoft.homeip.net/fpgui/ GG As those screenshots show, getting the Windows look is really easy. GG And seeing the 95% of the world use Windows, you'll make many people GG feel right at home. Unfortunately, not. By now fpGUI has (most of) the look, but does not have the feel. For example: - The caret does not blink in Edit field. Enter 'i', put a caret over it and you'll have no idea of what is behind the caret. Note that in Windows that 'i' will be visible even when the caret blinks on. - Clicking second time on ComboBox dropdown arrow does not close it as one would expect (the third click, however, closes the combo). - When dragging a scrollbar thumb, if you drag mouse off the scrollbar, it stops scrolling and, moreover, reverts to position where the dragging was started. - It ignores Windows settings for hiding keyboard cues and focus rectangles. And there are tons of similar issues, which make any fpGUI app feel extermely alien in Windows. As a programmer, I can say that fixing such issues is actually a much harder and boring job than what you had already done. Nevertheless, you are on a really good way with the fpGUI! Being free of legacy bugs and external dependencies, and at the same time compatible with VCL to a certain degree, it has real potential to eventually become a very useful library. -- Best regards, Sergei _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Sergei Gorelkin [EMAIL PROTECTED] wrote: Unfortunately, not. By now fpGUI has (most of) the look, but does not have the feel. For example: I was only making a statement against the look. I know the 'feel' as a lot more outstanding. Thanks for your observations though. I'll add them to my Windows todo list. As a non-windows user any such hints are welcome and appreciated. of legacy bugs and external dependencies, and at the same time compatible with VCL to a certain degree, it has real potential to At first I wasn't steering towards VCL compatibility, but I have changed my mind since. I think getting fpGUI more VCL compatible will help attract more users of fpGUI and minimize the learning curve. I'm not aiming for 100% VCL compatible either, as I think some things in the VCL can be improved on, and will implement those in fpGUI. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Sergei Gorelkin wrote: And there are tons of similar issues, which make any fpGUI app feel extermely alien in Windows. As a programmer, I can say that fixing such issues is actually a much harder and boring job than what you had already done. Agreed. Nevertheless, you are on a really good way with the fpGUI! Being free of legacy bugs and external dependencies, and at the same time compatible with VCL to a certain degree, it has real potential to eventually become a very useful library. Great things do start small, and actually evolving slowly is one great recipe for success. Keep up the good work, and make sure that improvements aren't at the cost of quality, as in: Quality comes first, looks are second. Thanks! -- Al _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys schrieb: On 4/3/07, Sergei Gorelkin [EMAIL PROTECTED] wrote: Unfortunately, not. By now fpGUI has (most of) the look, but does not have the feel. For example: I was only making a statement against the look. I know the 'feel' as a lot more outstanding. Thanks for your observations though. I'll add them to my Windows todo list. As a non-windows user any such hints are welcome and appreciated. of legacy bugs and external dependencies, and at the same time compatible with VCL to a certain degree, it has real potential to At first I wasn't steering towards VCL compatibility, but I have changed my mind since. I think getting fpGUI more VCL compatible will help attract more users of fpGUI and minimize the learning curve. I'm not aiming for 100% VCL compatible either, as I think some things in the VCL can be improved on, and will implement those in fpGUI. If you don't want VCL compatibility, then better help with msegui. MSEgui/ide is already an excellent non native/non vcl compatible gui development system. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Florian Klaempfl [EMAIL PROTECTED] wrote: If you don't want VCL compatibility, then better help with msegui. MSEgui/ide is already an excellent non native/non vcl compatible gui development system. I have previously had a look at MSEgui and Martin has a _very_ unique coding style that is really hard to read (except for him). This is a great pity. The other issue I have is that it is nothing like the VCL, so the learning curve is huge. Saying that, the feature list in MSEgui/ide is very impressive. My plans with fpGUI is having a much closer compatibility with the VCL and implement extensions to that. Things like extra constructors, etc like Qt has. This allows you to create GUI's real quick from code without the need of a Form Designer (yet). Obviously the Layout Managers in fpGUI go a long way in helping the developer as well. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Mon, Apr 02, 2007 at 11:07:21PM +0200, Graeme Geldenhuys wrote: And non native widget differ much in little things. tab order, key bindings, resize behaviour, speed These are all things that can be addressed in the painting backend and event handling code of the supported platforms. Yes. And because that is so easy, the look and feel of *nix is so much better :_) IOW, that is a stopgap emulation at best, and often doesn't adhere to global OS settings. I think it is much harder to get C++ widget sets to play along in our Object Pascal world than to modify some backend Object Pascal code. Except for QT I don't know C++ widget sets worth mentioning. The rest is all procedural interface. (and even QT can be proceduralised) _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Tuesday 03 April 2007 00:22, Hess, Philip J wrote: A Mac feels much more alive than other computers. For example, when logging in if you mistype your password the login dialog briefly wiggles you can have that too in Mandrake. (mandriva-kdm or so), perhaps Mac stole this from linux :-; from side to side as if shaking its head no at you. You get the point instantly. On other systems you would get a error dialog popping up, which you would then have to close before you could re-enter your password. -Original Message- From: Graeme Geldenhuys [mailto:[EMAIL PROTECTED] Sent: Monday, April 02, 2007 5:57 PM To: lazarus@miraclec.com Subject: Re: [lazarus] History of the widget set design? On 4/2/07, Hess, Philip J [EMAIL PROTECTED] wrote: Example: OS X pulsing button. You might spend a lot of effort trying to reproduce this in the painting backend, whereas by using the native I'm afraid I can't comment on OSX and will take you word for it. The only time I have seen OSX, was in their cool ads and in screenshots - and the buttons didn't pulsate there. :-) I really need to get my hands on a Mac some time... _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys wrote: On 4/2/07, Micha Nelissen [EMAIL PROTECTED] wrote: IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. Tell that to all the KDE or Qt users out there! I really don't get this argument? Why wouldn't you? If I am a KDE user, then any Qt app will appear native to me; so I don't get your point ? Think of what a widget set is (referring to the visual aspects only). It's a set of drawing instructions, to paint a component on a canvas. It's that simple. Now if you take the time with a custom written widget set, you can paint exactly like that. The end-user wouldn't even know. This is simply too naive. You can see the difference, although it might only one be pixel. the title bar (because the app was running under Linux). I believe later versions of QThemed actually hooked into the themes engine of WinXP, to do the painting without the need for composite images. Using WinXP theming engine is indeed possible, but will blow up your binary size, since you are including two painting engines then; regular windows and windows xp. Windows Vista is going to be different still, quite possibly. Implementing themes like Win2000, Win98 or Motif is even easier. I haven't yet seen a good emulation of those, though. Changing only the painting backend is much easier (100s of times) then writing a new widgetset interface. Of course it's easier; but IMHO it's also ugly/uglier. Uglier than the current LCL interface? With units like gtkproc or gtkwinapi, etc. ;-) gtkproc is probably helper procedures, gtkwinapi is implementation of common winapi functions for gtk ... Still I was talking about ugly in the UI aspect, not necessarily the implementation. The gtk interface is not pretty, and needs some cleaning, but that's life of any software project in the long run. Micha _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/3/07, Micha Nelissen [EMAIL PROTECTED] wrote: IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. Tell that to all the KDE or Qt users out there! I really don't get this argument? Why wouldn't you? If I am a KDE user, then any Qt app will appear native to me; so I don't get your point ? Qt draws all it's own widgets. It isn't a wrapper for native widget sets. Your statement was the if it was custom drawn, you wouldn't use it. Well Qt is custom draw, KDE is based on Qt, so that is custom drawn. Now how many KDE and Qt users are out there. A lot!! They all seem happy to use a custom drawn widget set, so why wouldn't you? This is simply too naive. You can see the difference, although it might only one be pixel. The QThemed unit I used under Kylix came with the Blue and Silver WinXP themes (as composite images). Those where actual screenshots of the WinXP components (or more precisely the parts that make up the components) and them painted on a CLX form. They where identical, to the pixel. This is exactly what I am working on for fpGUI as well. From a looks point of view, they user will _not_ know the difference. I can't speak for other GUI toolkits, their quality of work (mimicking the running platform) could be sub-standard. GTK under Windows come to mind - they did a terrible job. Using WinXP theming engine is indeed possible, but will blow up your binary size, since you are including two painting engines then; regular Not really, the unit is around 65k in size (1200 lines of code) to hook into the XP theme engine. Implementing themes like Win2000, Win98 or Motif is even easier. I haven't yet seen a good emulation of those, though. Watch this space... :-) -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Tue, 3 Apr 2007 23:49:51 +0200 Graeme Geldenhuys [EMAIL PROTECTED] wrote: Tell that to all the KDE or Qt users out there! I really don't get this argument? Why wouldn't you? If I am a KDE user, then any Qt app will appear native to me; so I don't get your point ? Qt draws all it's own widgets. It isn't a wrapper for native widget sets. Your statement was the if it was custom drawn, you wouldn't use it. Well Qt is custom draw, KDE is based on Qt, so that is custom drawn. Now how many KDE and Qt users are out there. A lot!! They all seem happy to use a custom drawn widget set, so why wouldn't you? QT is as native as it gets for KDE users. Same with GTK and Gnome. Or Enlightenment and its widgetset. Following your reasoning every widgetset on *nix is custom drawn. Sorry, but you have no point at all. On *nix the desktop enviroment determines what's native. *nix system are different in that respect as the widgetsets are not tied to the OS like on Mac or Win. I get the slight feeling that this 'discussion' drifts away from being related to Lazarus at all. Or is there any point? _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys schrieb: Your input would be greatly appreciated. Afaik Lazarus has two goals: being VCL compatible and using the native widget sets of a platform. Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent behaviour across platforms is nice for the developer but the users don't like it. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Florian Klaempfl [EMAIL PROTECTED] wrote: Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent behaviour across platforms is nice for the developer but the users don't like it. A little bit out of the original thema, but the greatest number of feature requests I get on the Virtual Magnifying Glass are things that are very platform specific, and really cannot be implemented cross-platform. So most of the IFDEFs are in place because users actually want platform specific behavior! Of course this isn´t so nice for the developers =) -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Florian Klaempfl wrote: Graeme Geldenhuys schrieb: Your input would be greatly appreciated. Afaik Lazarus has two goals: being VCL compatible and using the native widget sets of a platform. Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent behaviour across platforms is nice for the developer but the users don't like it. agreed, people prefer consistency between programs on the same platform rather than between platforms. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
Use native controls: LCL, wxWidgets Implement custom controls: Qt, GTK At first glance Qt looks like a great choice and is probably worth every penny of its commercial license to the developer who needs a solid, small, fast UI library that looks similar across platforms. But Felipe and I discovered that there are still some oddball things with Qt, particularly on OS X. We never could figure out how to draw buttons reliably os OS X with the Qt widgetset since Qt appears to determine button size and shape on its own. At the other end there's GTK and X11, which just look plain weird on OS X. You can see the difference from native Carbon and Cocoa apps a mile away. Most Mac users would shy away from software that looks like this and one could argue that producing a GTK-based app for OS X doesn't satisfy the requirements of a project that specifies OS X support. GTK2 looks better on OS X but still looks alien in places, plus is very slow and requires large external libraries be present that are never found on OS X. One reason why Lazarus apps on Windows look almost identical to Delphi apps is because the LCL uses the same underlying Windows controls that VCL uses. This will always remain one of the first points of comparison between Lazarus and Delphi by prospective developers, i.e., how does it look? I believe one of the reasons why there aren't more Mac developers using Lazarus is that they can't see past the initial shocking look of Lazarus under GTK and X11. But hope is in the wings: Tom G. is making great progress on the native Carbon widgetset using the underlying native Carbon controls and maybe one day this point will be moot. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Florian Klaempfl [EMAIL PROTECTED] wrote: Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent Getting a native look is easy. QThemes (or something like that) was a add on unit for CLX which could make a Kylix application look exactly like XP (blue and silver themes) and exactly like a few GTK themes. As far as I can see, getting the look of Windows and most probably the behaviour as well would be a priority. I don't even run Windows on any of my computers (I'm a Linux guy), but do understand the reality that Windows is the dominant platform (no matter how much I hate it). As for GTK and KDE. Does anybody actually know what the widgets are supposed to look like? Lets take Gnome based distro's as an example. Redhat, Ubuntu, Debian, Suse just to name a few all have different default themes. Then run something like 'xman' which looks like the stone ages. I don't think any *nix user can complain about look and feel. There is *no* standard look and feel or behaviour on it. I use Linux 24/7 and that's reality I live with. Giving the behaviour of Windows widgets should please 95% of the target market. After all, a ComboBox is a ComboBox. Making the object pascal widget set themeable would solve the other problems. I'm not being unrealistic. Our company targets a corporate environment - very different from the home/hobby user. Integrating with that environment, which is predominantly Windows, the obvious choice would be to mimic the Windows behaviour. The path of least resistance! As they switch users to Linux, those users will be familiar with the widget set behaviour. Also in our environment, those users will be spending 9-5 in our application and occasionally switch to check emails or browse the web. Letting those users experience the same behaviour under Windows and Linux in critical. After all, it's the same application. That brings me to another point. If those users can browse the web, they can handle slightly different looking applications (on different platforms). Their is no consistent look for web pages, but yet the whole world can use it. As I mentioned in my first post, I'm only concerned with the commercial environment. We want a standard set of widgets we can use in our applications. No 3rd Party widgets like fancy calendar edit boxes, funky treeviews or calculator edit boxes, etc.. We already burnt our fingers with that one in our previous Delphi projects. This thread is to try and find out what it would take to get us to that standard set of widgets. And if it makes the developer's life a bit easier along the way, so much the better - after all, time is money. Regards, Graeme. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Am Montag, 2. April 2007 17:37 schrieb Graeme Geldenhuys: Hi, Was any study (or prototypes) done to help make the choice on how Lazarus would implement widget sets? For example: 1) Wrapping existing native widgets with the LCL (as is currently done) vs Writing a native (object pascal) widget sets from scratch (like fpGUI or MSEgui) and implementing the same compatible VCL interface for that widget set. 2) Ease of supporting new platforms. Using the current LCL (wrapping native widgets) vs having a native (object pascal) widget set, and only having to port the painting backend. I can think of many more such test cases... One vs Another. My main reason for asking, is to find out if there was a definitive reason why the Lazarus project decided on rather wrapping existing platform widgets in a LCL compared to writing a widget set from scratch. Our company is trying to determine if it will be a viable option to hire a few developers to finish the fpGUI project and interface fpGUI with Lazarus. Obviously to the extent that Lazarus itself compiles and runs using the fpGUI widget set. We don't want to branch Lazarus though. This is primary to get Lazarus ready for our commercial projects. I got pretty frustrated with Lazarus today and how the behaviour of widget sets differ between platforms. [It's been one of THOSE days!] The other obvious choice for would be to hire some full time developers to only work on Lazarus and sort out the issues we are experiencing. I can justify the expense compared to buying licenses of Delphi. Lazarus gives us a lot more flexibility. IDE wise and supported platforms. In my research so far I think Qt got it right. Implementing their own widget set, allowing them to handle all widget internals - events, painting, behaviour on different platform, etc.. With the fpGUI project I am experience that same result. Your input would be greatly appreciated. Graeme, I share your frustration! First time I experienced this problem was, when I tried to port a Delphi VCL app into a Delphi CLX app in the hope, I could compile it with kylix then. E.g. in VCL SpeedButton.OnClick happens after speedbutton.down property is updated but in CLX OnClick happens before down is updated (or the other way around). However, with win32/gtk LCL this is even worse... seems like one never knows, whether an event was fired before or after .. Long story short: If you make fpGUI production ready, I'll buy it. regards Burkhard _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Get the best of all worlds, having a custom widgetset means one can change it's behavior and even use native themes if required or maybe even linking to existing engines like GTK-QT engine does providing QT look for GTK apps using the QT engine, probably windows widgets have the behavior most people expect, looks is customizable by themes, even GNOME and KDE mimic some windows behaviour, the one platform that has most different behaviour from win, gtk, qt might be OSX wich should probably have a more Mac-ish behaviour but custom widgets doesn't necesarily mean different looks from native apps, instead one may chose how the app will look, for example multimedia apps like winamp/xmms, mplayer, xine and some others, also ones using custom advanced widgets not found in the widgetset, they may be set to look differently but they cam also be made to look very similar to the existing widgetsets. Razvan _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys schrieb: On 4/2/07, Florian Klaempfl [EMAIL PROTECTED] wrote: Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent Getting a native look is easy. QThemes (or something like that) was a add on unit for CLX which could make a Kylix application look exactly like XP (blue and silver themes) and exactly like a few GTK themes. Maybe on the first glance, but you usually discover very quickly that an application is not native either because of the behaviour or because you don't use a standard theme. Don't get me wrong: native widget support and own drawn widgets are simply something different. Some people want native widgets others don't care. The same applies to vcl compatibility: some people want it others don't care. Lazarus went probably the hard way (native controls and vcl compatibility) because this is what the most users want but I think user drawn controls would be a valuable contribution to lazarus especially because you could create applications with very little external dependencies. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Monday 02 April 2007 17:46, Florian Klaempfl wrote: convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent ??? Qt uses Windows XP style engine on windows so it really looks like any other real windows XP app. For other windows versions there is the general windows style. Qt on linux looks like linux (Gtk/Gnome theme and Kde _IS_ Qt) Even the order of the buttons Ok and Cancel are integrated with the environment Kde (Ok first) or Gnome (Cancel first) see http://doc.trolltech.com/4.2/qt4-2-intro.html themelist: Windows XP: http://doc.trolltech.com/4.2/qwindowsxpstyle.html Windows : http://doc.trolltech.com/4.2/qwindowsstyle.html Cleanlook (Gtk Gnome): http://doc.trolltech.com/4.2/qcleanlooksstyle.html Mac: http://doc.trolltech.com/4.2/qmacstyle.html Plastique : http://doc.trolltech.com/4.2/qplastiquestyle.html CDE:http://doc.trolltech.com/4.2/qcdestyle.html Motif: http://doc.trolltech.com/4.2/qmotifstyle.html so there is a big effort to look native on every platform. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Den Jean schrieb: On Monday 02 April 2007 17:46, Florian Klaempfl wrote: convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent ??? Qt uses Windows XP style engine on windows so it really looks like any other real windows XP app. Well, last time I tried (I use XP but with classic style) it looked and behaved somehow like windows, but it felt still like an emulation like e.g. OpenOffice. For other windows versions there is the general windows style. Qt on linux looks like linux (Gtk/Gnome theme and Kde _IS_ Qt) That's true thought I don't like KDE. Even the order of the buttons Ok and Cancel are integrated with the environment Kde (Ok first) or Gnome (Cancel first) see http://doc.trolltech.com/4.2/qt4-2-intro.html themelist: Windows XP: http://doc.trolltech.com/4.2/qwindowsxpstyle.html Windows : http://doc.trolltech.com/4.2/qwindowsstyle.html Modelled after Windows but looks different in detail. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
Mac: http://doc.trolltech.com/4.2/qmacstyle.html: Widget size - Mac OS X allows widgets to have specific fixed sizes. Qt does not fully implement this behavior so as to maintain cross-platform compatibility. As a result some widgets sizes may be inappropriate (and subsequently not rendered correctly by the HITheme APIs). (my emphasis)
Re: [lazarus] History of the widget set design?
Burkhard Carstens wrote: However, with win32/gtk LCL this is even worse... seems like one never knows, whether an event was fired before or after .. These are all bugs. The developer interface should be as consistent as possible, yet the look and feel for the user as native as possible. Problem is that the order of events is not documented (since they are delphi internals), and we should do this as we go along; this requires some discipline however. The wiki could be a good place to store these events plus their relationship to programmer and user actions. It would make porting to a new platform a lot easier as well. Micha _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
One thing that is probably missing on the analisys about building fpGUI vs. fixing Lazarus bugs is how much effort is there in making each of those things. I won´t pretend to have an ready answer, but I would say this is the most important question when choosing which one to do, if you consider that both are acceptable solutions. My experience about this is dubious. On one side fixing lazarus bugs is hard. On the other LCL is extremely extensive, so building a new widgetset interface takes a lot of time. For the particular case of Graeme I have a small tendency to say the fpgui solution is better, because once done it will remain done, and will always be fully compatible across all platforms. Any work to make win32 and gtk interfaces perfectly even will have to be repeated later for carbon, and for all other widgetsets that appear on the future. Changing only the painting backend is much easier (100s of times) then writing a new widgetset interface. Of course others will say that this solution doesn´t apply to every one, but hey, we are talking about the specific case of Graeme =) -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Micha Nelissen [EMAIL PROTECTED] wrote: IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. Yes, but I think that if the application is used only in enterprises and such, the users probably won´t care. And then the enterprise will be more interrested in productivity then in a confortable user interface experience. -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Mon, Apr 02, 2007 at 07:00:16PM +0200, Graeme Geldenhuys wrote: Having native controls is simply something people request. Just try to convince somebody to use a Qt or GTK application on Windows or MacOS. They will tell you always it looks and behaves strange. Consistent Getting a native look is easy. QThemes (or something like that) was a add on unit for CLX which could make a Kylix application look exactly like XP (blue and silver themes) and exactly like a few GTK themes. I think a native feel is at least as, if not more important, than the look. And non native widget differ much in little things. tab order, key bindings, resize behaviour, speed (non native widgets often feel sluggish) _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Marco van de Voort wrote: And non native widget differ much in little things. tab order, key bindings, resize behaviour, speed (non native widgets often feel sluggish) This sluggishness always puts me off _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Mon, 2 Apr 2007, Felipe Monteiro de Carvalho wrote: On 4/2/07, Micha Nelissen [EMAIL PROTECTED] wrote: IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. Yes, but I think that if the application is used only in enterprises and such, the users probably won´t care. And then the enterprise will be more interrested in productivity then in a confortable user interface experience. Oh yes. Just look at the DB2 management apps. Horrible UI stuff, but written in Java, so cross-platform :/ Michael.
Re: [lazarus] History of the widget set design?
Am Montag, 2. April 2007 21:54 schrieb Micha Nelissen: Felipe Monteiro de Carvalho wrote: For the particular case of Graeme I have a small tendency to say the fpgui solution is better, IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. because once done it will remain done, and This has to do with the missing documentation I was talking about. But in general, things don't break that often, do they ? We 'only' need some more investigation and effort to get things more consistent API wise. Changing only the painting backend is much easier (100s of times) then writing a new widgetset interface. Of course it's easier; but IMHO it's also ugly/uglier. hmm, I prefer a ugly but working solution over a potentially beautifull but unusabel (from programmes pov) one. Of course consistently working native widget bindings would be the best, but as said before, fpGUI can be ported quickly and easily. It might even serve as reference, how/when events should occour .. And last but not least, there are things that can't be done with one widget set or another (see current AllocHwnd discussion) .. Burkhard _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Micha Nelissen [EMAIL PROTECTED] wrote: IMHO, a custom drawn widgetset is never better; as user I would refuse to use it, unless forced to. Tell that to all the KDE or Qt users out there! I really don't get this argument? Why wouldn't you? Think of what a widget set is (referring to the visual aspects only). It's a set of drawing instructions, to paint a component on a canvas. It's that simple. Now if you take the time with a custom written widget set, you can paint exactly like that. The end-user wouldn't even know. The QThemed unit I used with Kylix and CLX, used composite screenshot images of the different parts of the WinXP themes. I studied the look in detail using xmag (sorry Felipe, didn't know about Magnifier then smile) and couldn't tell the difference, other than the title bar (because the app was running under Linux). I believe later versions of QThemed actually hooked into the themes engine of WinXP, to do the painting without the need for composite images. Implementing themes like Win2000, Win98 or Motif is even easier. Changing only the painting backend is much easier (100s of times) then writing a new widgetset interface. Of course it's easier; but IMHO it's also ugly/uglier. Uglier than the current LCL interface? With units like gtkproc or gtkwinapi, etc. ;-) Compare that to the backend of fpGUI. [http://fpgui.svn.sourceforge.net/viewvc/fpgui/trunk/gfx/] -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Marco van de Voort [EMAIL PROTECTED] wrote: I think a native feel is at least as, if not more important, than the look. I agree with you and with what Burkhard Carstens said. I would rather take a working but ugly widget set and build it from there. And non native widget differ much in little things. tab order, key bindings, resize behaviour, speed These are all things that can be addressed in the painting backend and event handling code of the supported platforms. I think it is much harder to get C++ widget sets to play along in our Object Pascal world than to modify some backend Object Pascal code. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Felipe Monteiro de Carvalho [EMAIL PROTECTED] wrote: Yes, but I think that if the application is used only in enterprises and such, the users probably won´t care. And then the enterprise will be more interrested in productivity then in a confortable user interface experience. Exactly! I can think of many examples where Enterprise applications don't even come close to resembling the native platform at all, but yet companies like Microsoft (Media Player 9, Office XP 2007, Outlook), Sun (Java) and IBM (Java, Lotus SmartSuite) sell those and nobody complains. -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Burkhard Carstens [EMAIL PROTECTED] wrote: hmm, I prefer a ugly but working solution over a potentially beautifull but unusabel (from programmes pov) one. Dito Of course consistently working native widget bindings would be the best, but as said before, fpGUI can be ported quickly and easily. It might even serve as reference, how/when events should occour .. Exactly. All events, plus everything alse will be in the widget set's full control. Not to mention much less code layers and a lot smaller 3rd Party library dependencies! -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys wrote: Hi, Was any study (or prototypes) done to help make the choice on how Lazarus would implement widget sets? THere was no study, however during the years, the inner workings of the LCL - Widgetset changed (and is still changing). For example: 1) Wrapping existing native widgets with the LCL (as is currently done) vs Writing a native (object pascal) widget sets from scratch (like fpGUI or MSEgui) and implementing the same compatible VCL interface for that widget set. As Florian already said, we choose for a native widgetset. That was at that time one of the key points why I joined toe project. 2) Ease of supporting new platforms. Using the current LCL (wrapping native widgets) vs having a native (object pascal) widget set, and only having to port the painting backend. This is the same as 1). The ease of supporting new platforms was not an issue at that time. The whole widgetset interface code has grown bigger than we imagined at that time. I can think of many more such test cases... One vs Another. My main There is only one testcase and you are using it. You cannot conclude a thing from writing only a hello world app. The advantages will only show if you did the complete thing. But that doesn't matter, native widgets was one of the keypoints. reason for asking, is to find out if there was a definitive reason why the Lazarus project decided on rather wrapping existing platform widgets in a LCL compared to writing a widget set from scratch. Our company is trying to determine if it will be a viable option to hire a few developers to finish the fpGUI project and interface fpGUI with Lazarus. Obviously to the extent that Lazarus itself compiles and runs using the fpGUI widget set. We don't want to branch Lazarus though. Coding own crossplatform widgetset is one, adding it to lazarus is another thing. However with fulltime devels, who know the widgetset and the LCL it should be doable (note that I'm originally a win16/32 api person, without gtk or carbon experience, so I need to read a lot on those interfaces) This is primary to get Lazarus ready for our commercial projects. I got pretty frustrated with Lazarus today and how the behaviour of widget sets differ between platforms. [It's been one of THOSE days!] Document those differences ! If they are unknown they won't get solved. The other obvious choice for would be to hire some full time developers to only work on Lazarus and sort out the issues we are experiencing. I can justify the expense compared to buying licenses of Delphi. Lazarus gives us a lot more flexibility. IDE wise and supported platforms. In my research so far I think Qt got it right. Implementing their own widget set, allowing them to handle all widget internals - events, painting, behaviour on different platform, etc.. With the fpGUI project I am experience that same result. Yes, and thats for me one of the reasons why I try to avoid Qt apps under windows if I have a choice. They feel different/primitive Marc _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
These are all things that can be addressed in the painting backend and event handling code of the supported platforms. I think it is much harder to get C++ widget sets to play along in our Object Pascal world than to modify some backend Object Pascal code. Example: OS X pulsing button. You might spend a lot of effort trying to reproduce this in the painting backend, whereas by using the native button control it only takes a few lines of code. See TCarbonButton in carbonprivate.pp. Carbon is a C-based interface, not C++. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Marc Weustink [EMAIL PROTECTED] wrote: THere was no study, however during the years, the inner workings of the LCL - Widgetset changed (and is still changing). I can imagine the inner workings changing - it is a mamoth task to bind all those native widget sets. As Florian already said, we choose for a native widgetset. That was at that time one of the key points why I joined toe project. I would have thought for a project the size of Lazarus, there would have been some prototypes and documentation to evaluate the pros and cons of either going native or writing from scratch. And there being a definitive reason why picking the one over the other - rather than, it's just what everybody wanted. Maybe it's just me being used to the commercial environment where planning and fact finding documentation is a requirement before development starts. :-) behaviour of widget sets differ between platforms. [It's been one of THOSE days!] Document those differences ! If they are unknown they won't get solved. After posting so many questions and bug reports in one day, I start feeling like a nagging nanny. :-) Either way, I will start reporting the difference instead of just trying to work around them. Yes, and thats for me one of the reasons why I try to avoid Qt apps under windows if I have a choice. They feel different/primitive Seeing that you are a windows person Open Windows Media Player. Any version from v8 onwards. How native does that look or feel compared to the rest of the OS. So why may Microsoft get away with it and others not? fpGUI in its invinite state looks a lot more native that Windows Media Player (I've got WMP 8 infront of me). -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Hess, Philip J [EMAIL PROTECTED] wrote: Example: OS X pulsing button. You might spend a lot of effort trying to reproduce this in the painting backend, whereas by using the native I'm afraid I can't comment on OSX and will take you word for it. The only time I have seen OSX, was in their cool ads and in screenshots - and the buttons didn't pulsate there. :-) I really need to get my hands on a Mac some time... -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
Exactly. All events, plus everything alse will be in the widget set's full control. Not to mention much less code layers and a lot smaller 3rd Party library dependencies! Maybe some of the problems with LCL behavior is with GTK. There's an awful lot of code there compared to the other widgetsets. Of course the Qt and Carbon widgetsets aren't finished yet, but it's hard to imagine their codebases ever looking like GTK's. The Qt and Carbon widgetset code looks pretty maintainable, primarily because they rely so heavily on full-featured native API's, meaning a lot of code isn't necessary to do many things. (Don't include qt4.pas or FPCMacOSAll.pas in the widgetset code size since those files were auto-generated rather than hand coded.) Perhaps the biggest benefit of FpGUI would be simply to deprecate the GTK and GTK2 widgetsets. If as you say that Linux users (those poor souls in their lower-case world) don't care as much about how an app looks, then they should be satisifed with an X11-based widgetset that doesn't require any additional libraries to be installed. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On 4/2/07, Luiz Americo Pereira Camara [EMAIL PROTECTED] wrote: A interesting point is that popular apps, even Microsoft ones, like Windows Media Player, Windows Messenger, Firefox, WinAmp do not have the native look. They are written with another toolkit, or use custom draw controls. And don't for get the millions of corporate users using Office and Outlook! All non-standard GUI's. Umm, thinking about it now, I have to agree with Marco about non-standard GUI's being sluggish. Outlook is a dog!! :-) [...sorry, I'll play nice...] -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Graeme Geldenhuys wrote: On 4/2/07, Marc Weustink [EMAIL PROTECTED] wrote: THere was no study, however during the years, the inner workings of the LCL - Widgetset changed (and is still changing). I can imagine the inner workings changing - it is a mamoth task to bind all those native widget sets. As Florian already said, we choose for a native widgetset. That was at that time one of the key points why I joined toe project. I would have thought for a project the size of Lazarus, there would have been some prototypes and documentation to evaluate the pros and cons of either going native or writing from scratch. And there being a definitive reason why picking the one over the other - rather than, it's just what everybody wanted. Maybe it's just me being used to the commercial environment where planning and fact finding documentation is a requirement before development starts. :-) Such things take a lot of time even in a commercial environment. And there was no question wther or not using a native widgetset. behaviour of widget sets differ between platforms. [It's been one of THOSE days!] Document those differences ! If they are unknown they won't get solved. After posting so many questions and bug reports in one day, I start feeling like a nagging nanny. :-) Either way, I will start reporting the difference instead of just trying to work around them. It may like that way, but at least I (don't know other devels) don't use all ins and outs of lazarus. My primary usage is Editor, Codetools, Debugger. Yes, and thats for me one of the reasons why I try to avoid Qt apps under windows if I have a choice. They feel different/primitive Seeing that you are a windows person Open Windows Media Player. Any version from v8 onwards. How native does that look or feel compared to the rest of the OS. So why may Microsoft get away with it and others not? fpGUI in its invinite state looks a lot more native that Windows Media Player (I've got WMP 8 infront of me). Ehm... will it surprise you if I tell you that for most media player stuff I open mplayer2.exe ? (which is also my default player) And that I use the corporate skin for WM10 ? Marc _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
A Mac feels much more alive than other computers. For example, when logging in if you mistype your password the login dialog briefly wiggles from side to side as if shaking its head no at you. You get the point instantly. On other systems you would get a error dialog popping up, which you would then have to close before you could re-enter your password. -Original Message- From: Graeme Geldenhuys [mailto:[EMAIL PROTECTED] Sent: Monday, April 02, 2007 5:57 PM To: lazarus@miraclec.com Subject: Re: [lazarus] History of the widget set design? On 4/2/07, Hess, Philip J [EMAIL PROTECTED] wrote: Example: OS X pulsing button. You might spend a lot of effort trying to reproduce this in the painting backend, whereas by using the native I'm afraid I can't comment on OSX and will take you word for it. The only time I have seen OSX, was in their cool ads and in screenshots - and the buttons didn't pulsate there. :-) I really need to get my hands on a Mac some time... -- Graeme Geldenhuys There's no place like S34° 03.168' E018° 49.342' _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] History of the widget set design?
Am Montag, den 02.04.2007, 18:22 -0400 schrieb Hess, Philip J: A Mac feels much more alive than other computers. For example, when logging in if you mistype your password the login dialog briefly wiggles from side to side as if shaking its head no at you. You get the point instantly. On other systems you would get a error dialog popping up, which you would then have to close before you could re-enter your password. You have this also in Gnome 2.16. But I am realy sure they got their idea from Apple... :) -Original Message- From: Graeme Geldenhuys [mailto:[EMAIL PROTECTED] Sent: Monday, April 02, 2007 5:57 PM To: lazarus@miraclec.com Subject: Re: [lazarus] History of the widget set design? On 4/2/07, Hess, Philip J [EMAIL PROTECTED] wrote: Example: OS X pulsing button. You might spend a lot of effort trying to reproduce this in the painting backend, whereas by using the native I'm afraid I can't comment on OSX and will take you word for it. The only time I have seen OSX, was in their cool ads and in screenshots - and the buttons didn't pulsate there. :-) I really need to get my hands on a Mac some time... smiley-3.png Description: PNG image
Re: [lazarus] History of the widget set design?
Micha Nelissen wrote: Burkhard Carstens wrote: However, with win32/gtk LCL this is even worse... seems like one never knows, whether an event was fired before or after .. These are all bugs. The developer interface should be as consistent as possible, yet the look and feel for the user as native as possible. Problem is that the order of events is not documented (since they are delphi internals), and we should do this as we go along; this requires some discipline however. The wiki could be a good place to store these events plus their relationship to programmer and user actions. It would make porting to a new platform a lot easier as well. I agree that documenting the LCL behavior is a good thing and could improve the Lazarus quality. As a example if a Delphi feature is not doable in LCL, just document and show an alternative (like done for TBitmap.Scanline). Another point is defining the set of features/controls provided by LCL: - Is necessary TCListBox? - Is already deprecated in GTK and TListView fills the function with advantages - Is necessary TPairSplitter? - AFAIK it was introduced only because TSplitter was not available - It could be implemented as a package - Should non visual code like *CriticalSection functions be in LCL? - SyncObjs already exists and can be used in a more elegant way - Imagine the pain to implement them in a crossplatform widgetset like QT, fpGUI, or even GTK2? Removing the unnecessary, duplicate functions/components, not doable features would help in the development and maintenance of Lazarus, not to say the code size. Of course this could not be done immediately, would be something after a 1.0 release with 2.0 in mind. Luiz _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Luiz Americo Pereira Camara wrote: An example of a widgetset that looks good is eLiquid from Pixel editor. In this interview ( http://www.linuxinterviews.com/index.php?option=com_contenttask=viewid=14Itemid=2 ) the Pixel developer considered Open Source eLiquid. The main concern was documentation. If this occurs would be of great value to fpc/Lazarus community. Luiz _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Mon, 2 Apr 2007 23:51:10 +0200 Graeme Geldenhuys [EMAIL PROTECTED] wrote: Seeing that you are a windows person Open Windows Media Player. Any version from v8 onwards. How native does that look or feel compared to the rest of the OS. So why may Microsoft get away with it and others not? fpGUI in its invinite state looks a lot more native that Windows Media Player (I've got WMP 8 infront of me). Take a look at any other Music/Video-Player. They all started out trying to mimic some kind of HiFi/Video equipment and users want them to look fancy. Why do you think are there millions of mplayer or xine skins? Same for xmms. That's all because they are Media-Apps and used by Joe Sixpack all day long (the same reason why every crappy shareware app comes with it's own skin). So the Mediaplayer is by far the worst example for an application that does not use the native widget set. Are there any serious apps using the WMP widgetset? No? Thought so. I can see that for your purpose a non native widget set may be The Best Thing(tm). But for Lazarus as a whole the current practice of using native widgetsets is IMHO much better. Being able to achieve a native look and feel on the supported plattforms is just great. If the user has the choice between native and non native most will choose the native one. The same reason why KDE-guys use mostly QT apps and Gnome ones use mostly GTK apps. Btw are there any screenshots or even better a working example of fpGUI in action? All I know about it is what I read on this list but I have no clue what it looks like and how it feels. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
On Mon, 02 Apr 2007 19:45:48 -0300 Luiz Americo Pereira Camara [EMAIL PROTECTED] wrote: Luiz Americo Pereira Camara wrote: An example of a widgetset that looks good is eLiquid from Pixel editor. In this interview ( http://www.linuxinterviews.com/index.php?option=com_contenttask=viewid=14Itemid=2 ) the Pixel developer considered Open Source eLiquid. The main concern was documentation. If this occurs would be of great value to fpc/Lazarus community. Luiz But the developer plans native widget support for the next major version of Pixel and looking at the screenshots I know why users demand it. Nonetheless you are right that it could be a gain for Lazarus. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] History of the widget set design?
Hess, Philip J wrote: Maybe some of the problems with LCL behavior is with GTK. There's an awful lot of code there compared to the other widgetsets. Of course the Qt and Carbon widgetsets aren't finished yet, but it's hard to imagine their codebases ever looking like GTK's. The Qt and Carbon widgetset code looks pretty maintainable, primarily because they rely so heavily on full-featured native API's, meaning a lot of code isn't necessary to do many things. Part of the reason for that, is that there is a lot of old code that was written before the redesign of the underlying interface to the native widgets. And at least for gtk1, it misses some functionality that is needed to be emulated for the lcl(like z order handling or window maximizing.) I know the resize event handling and the keypress handling in gtk1 to make the lcl happy is quite complex. Andrew _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives