Re: [lazarus] History of the widget set design?

2007-04-05 Thread Graeme Geldenhuys

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?

2007-04-04 Thread Graeme Geldenhuys

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?

2007-04-04 Thread Felipe Monteiro de Carvalho

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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Lord Satan
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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Andrew Haines
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?

2007-04-03 Thread Charl van Jaarsveldt

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?

2007-04-03 Thread Florian Klaempfl
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?

2007-04-03 Thread Sergei Gorelkin
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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Al Boldi
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?

2007-04-03 Thread Florian Klaempfl
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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Marco van de Voort
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?

2007-04-03 Thread Den Jean
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?

2007-04-03 Thread Micha Nelissen
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?

2007-04-03 Thread Graeme Geldenhuys

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?

2007-04-03 Thread Lord Satan
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?

2007-04-02 Thread Florian Klaempfl
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?

2007-04-02 Thread Felipe Monteiro de Carvalho

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?

2007-04-02 Thread Steven Graham

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?

2007-04-02 Thread Hess, Philip J
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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Burkhard Carstens
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?

2007-04-02 Thread Razvan Adrian Bogdan

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?

2007-04-02 Thread Florian Klaempfl
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?

2007-04-02 Thread Den Jean
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?

2007-04-02 Thread Florian Klaempfl
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?

2007-04-02 Thread Hess, Philip J
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?

2007-04-02 Thread Micha Nelissen
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?

2007-04-02 Thread Felipe Monteiro de Carvalho

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?

2007-04-02 Thread Felipe Monteiro de Carvalho

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?

2007-04-02 Thread Marco van de Voort
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?

2007-04-02 Thread Steven Graham

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?

2007-04-02 Thread Michael Van Canneyt


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?

2007-04-02 Thread Burkhard Carstens
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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Marc Weustink
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?

2007-04-02 Thread Hess, Philip J
 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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Hess, Philip J

 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?

2007-04-02 Thread Graeme Geldenhuys

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?

2007-04-02 Thread Marc Weustink
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?

2007-04-02 Thread 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.



-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?

2007-04-02 Thread Albert Zeyer
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?

2007-04-02 Thread Luiz Americo Pereira Camara

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?

2007-04-02 Thread Luiz Americo Pereira Camara

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?

2007-04-02 Thread Lord Satan
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?

2007-04-02 Thread Lord Satan
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?

2007-04-02 Thread Andrew Haines
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