Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-03

New LCL-CustomDrawn mailling list

24 messages · 7 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mark Morgan Lloyd
to Sven Barth
Sven Barth wrote 12 lines
Am 21.03.2012 17:30, schrieb Mark Morgan Lloyd: > Felipe Monteiro de Carvalho wrote: >> Hello, >> >> We have a new mailling list to discuss the new CustomDrawn widgetset > > Is this distinct from fpgui, or are the two related? > This should answer your question: http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface

So in particular: "fpGUI would need extensive changes to work in platforms which do not have native sub-controls, for example Android, linux framebuffer, OpenGL"

OK, so that's fairly conclusive. But I'm afraid I won't be going there for the moment due to pressure of work etc.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Felipe Monteiro de Carvalho
to Mark Morgan Lloyd: Is this distinct from fpgui, or are the two related? Mark Morgan Lloyd markMLl .AT.…
Mark Morgan Lloyd wrote
Is this distinct from fpgui, or are the two related?

I wrote 99% of the code from zero here, but I did copy (of course with many modifications) the X11 backend from
sourceforge.net/projects/fpgfx/ which is the pre-2007 code from fpgui. I have always wanted to get rid of Gtk and move the LCL to a customdrawn solution, and already in 2006/2007 I worked for a short time in fpgui with exactly this aim (see
http://www.ohloh.net/p/fpgui/contributors ), but gave up on it and from then on I worked mostly in the LCL native interfaces. Then MS killed WinCE which ment that I wasted years developing LCL-WinCE and saw it killed without a blink and this led me to reactivate my old idea, which always was the LCL running in a pure Pascal customdrawn toolkit which can support all major desktop and smartphone platforms. So I restarted from zero with the knowledge I acquired in the mean time and I steadly advanced. First building the TCD controls, then the entire regions system for capturing events and clipping the drawing, then wrote a non-native Canvas, then the Android backend, etc, etc, and I finally achieved what I always wanted since 2006 at least:

http://wiki.lazarus.freepascal.org/Image:Lazclock_customdrawn.png http://wiki.lazarus.freepascal.org/Image:Custom_drawn_android_test1.png

And in the end is what people really want: the full LCL running everywhere and they have it =) Right now my main focus is Android, because there is a really strong demand for this from the community and I am writing a native drawer to implement the Android look.

For a comparison over the tecnical point of view see:

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface#Comparison_of_LCL-CustomDrawn_and_LCL-fpGUI

Ah, and the traditional invitation: patches are welcome =)

Felipe Monteiro de Carvalho

Reply by email

Mark Morgan Lloyd
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 35 lines
On Wed, Mar 21, 2012 at 5:30 PM, Mark Morgan Lloyd wrote: > Is this distinct from fpgui, or are the two related? I wrote 99% of the code from zero here, but I did copy (of course with many modifications) the X11 backend from sourceforge.net/projects/fpgfx/ which is the pre-2007 code from fpgui. I have always wanted to get rid of Gtk and move the LCL to a customdrawn solution, and already in 2006/2007 I worked for a short time in fpgui with exactly this aim (see http://www.ohloh.net/p/fpgui/contributors ), but gave up on it and from then on I worked mostly in the LCL native interfaces. Then MS killed WinCE which ment that I wasted years developing LCL-WinCE and saw it killed without a blink and this led me to reactivate my old idea, which always was the LCL running in a pure Pascal customdrawn toolkit which can support all major desktop and smartphone platforms. So I restarted from zero with the knowledge I acquired in the mean time and I steadly advanced. First building the TCD controls, then the entire regions system for capturing events and clipping the drawing, then wrote a non-native Canvas, then the Android backend, etc, etc, and I finally achieved what I always wanted since 2006 at least: http://wiki.lazarus.freepascal.org/Image:Lazclock_customdrawn.png http://wiki.lazarus.freepascal.org/Image:Custom_drawn_android_test1.png And in the end is what people really want: the full LCL running everywhere and they have it =) Right now my main focus is Android, because there is a really strong demand for this from the community and I am writing a native drawer to implement the Android look. For a comparison over the tecnical point of view see: http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface#Comparison_of_LCL-CustomDrawn_and_LCL-fpGUI Ah, and the traditional invitation: patches are welcome =)

Thanks Felipe, that does sound particularly interesting and I certainly think it's a useful part of the overall project.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Marcos Douglas
to Felipe Monteiro de Carvalho: On Wed, Mar 21, 2012 at 5:30 PM, Mark Morgan Lloyd I wrote 99% of the code from zero…
Felipe Monteiro de Carvalho wrote 35 lines
On Wed, Mar 21, 2012 at 5:30 PM, Mark Morgan Lloyd wrote: > Is this distinct from fpgui, or are the two related? I wrote 99% of the code from zero here, but I did copy (of course with many modifications) the X11 backend from sourceforge.net/projects/fpgfx/ which is the pre-2007 code from fpgui. I have always wanted to get rid of Gtk and move the LCL to a customdrawn solution, and already in 2006/2007 I worked for a short time in fpgui with exactly this aim (see http://www.ohloh.net/p/fpgui/contributors ), but gave up on it and from then on I worked mostly in the LCL native interfaces. Then MS killed WinCE which ment that I wasted years developing LCL-WinCE and saw it killed without a blink and this led me to reactivate my old idea, which always was the LCL running in a pure Pascal customdrawn toolkit which can support all major desktop and smartphone platforms. So I restarted from zero with the knowledge I acquired in the mean time and I steadly advanced. First building the TCD controls, then the entire regions system for capturing events and clipping the drawing, then wrote a non-native Canvas, then the Android backend, etc, etc, and I finally achieved what I always wanted since 2006 at least: http://wiki.lazarus.freepascal.org/Image:Lazclock_customdrawn.png http://wiki.lazarus.freepascal.org/Image:Custom_drawn_android_test1.png And in the end is what people really want: the full LCL running everywhere and they have it =) Right now my main focus is Android, because there is a really strong demand for this from the community and I am writing a native drawer to implement the Android look. For a comparison over the tecnical point of view see: http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface#Comparison_of_LCL-CustomDrawn_and_LCL-fpGUI Ah, and the traditional invitation: patches are welcome =)

I not know CD and fpGUI as I know LCL/VCL, but I have one question: If fpGUI has the same idea, i.e., custom draw widgets that have the same appearance in any OS, why do not use it? Maybe a fork, if you do not have the same ideas than Graeme.

Anyway, that's a good job. Congratulations.

Marcos Douglas

Reply by email

Felipe Monteiro de Carvalho
to Marcos Douglas
Marcos Douglas wrote
I not know CD and fpGUI as I know LCL/VCL, but I have one question: If fpGUI has the same idea, i.e., custom draw widgets that have the same appearance in any OS, why do not use it? Maybe a fork, if you do not have the same ideas than Graeme.

Your question is answered in the FAQ of LCL-CustomDrawn:

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface#Comparison_of_LCL-CustomDrawn_and_LCL-fpGUI

Felipe Monteiro de Carvalho

Reply by email

Sven Barth
to Felipe Monteiro de Carvalho: On Wed, Mar 21, 2012 at 5:30 PM, Mark Morgan Lloyd I wrote 99% of the code from zero…
Felipe Monteiro de Carvalho wrote
Then MS killed WinCE which ment that I wasted years developing LCL-WinCE and saw it killed without a blink

While I agree with you about the suprising end of Windows Mobile I don't think that your time was that much wasted. Without your support for WinCE I would not have been able to write our company application using Lazarus and also this way Lazarus can pose as one of the few RAD IDEs for Windows Mobile (or is it the only one even?). It might not mean much for many people (or even developers), but for me it's important to show what Lazarus (together with FPC) is capable of.

Show quoted text 8 lines
and this led me to reactivate my old idea, which always was the LCL running in a pure Pascal customdrawn toolkit which can support all major desktop and smartphone platforms. So I restarted from zero with the knowledge I acquired in the mean time and I steadly advanced. First building the TCD controls, then the entire regions system for capturing events and clipping the drawing, then wrote a non-native Canvas, then the Android backend, etc, etc, and I finally achieved what I always wanted since 2006 at least:

I still plan to test the CustomDrawn widgetset with the components we use in our business application to estimate whether a port to Android would be worthwile (and I'm looking forward to test it ;) ). The only thing I miss currently (please correct me here if that changed already) are main menus (I don't know regarding other components).

Regards,
Sven

Reply by email

Felipe Monteiro de Carvalho
to Sven Barth
Sven Barth wrote
The only thing I miss currently (please correct me here if that changed already) are main menus (I don't know regarding other components).

Basic support for Android native menus is easy, I even already have a initial code for this, it should be finished in the next few days.

From your side what would really help at the moment would be a new

target operating system "android" implemented in FPC trunk which is an exact copy of the linux operating system target except with these 2 revisions reverted from the android target:

16981 and 19036

These 2 revisions completely destroyed Android support in FPC and I was forced to make my own FPC branches because of them =(

Felipe Monteiro de Carvalho

Reply by email

Marco van de Voort
to Sven Barth: While I agree with you about the suprising end of Windows Mobile I don't think that your…
Sven Barth wrote 7 lines
While I agree with you about the suprising end of Windows Mobile I don't think that your time was that much wasted. Without your support for WinCE I would not have been able to write our company application using Lazarus and also this way Lazarus can pose as one of the few RAD IDEs for Windows Mobile (or is it the only one even?). It might not mean much for many people (or even developers), but for me it's important to show what Lazarus (together with FPC) is capable of.

I'd like to note that with a former employee, e did bid for porting the client part of a Delphi app to wince (but didn't get the bid in the end).

As for the rest: chose your platforms carefully can be a different solution, which is why I avoid android till it comes in more stable waters (if ever)

Reply by email

Sven Barth
to Felipe Monteiro de Carvalho: Basic support for Android native menus is easy, I even already have a initial code for…
Felipe Monteiro de Carvalho wrote 8 lines
On Wed, Mar 21, 2012 at 9:36 PM, Sven Barth wrote: > The only thing I miss > currently (please correct me here if that changed already) are main menus (I > don't know regarding other components). Basic support for Android native menus is easy, I even already have a initial code for this, it should be finished in the next few days.

Nice :D

Show quoted text 10 lines
> From your side what would really help at the moment would be a new target operating system "android" implemented in FPC trunk which is an exact copy of the linux operating system target except with these 2 revisions reverted from the android target: 16981 and 19036 These 2 revisions completely destroyed Android support in FPC and I was forced to make my own FPC branches because of them =(

There is already work going on for an Android target. I don't know how well it comes along though.

Regards,
Sven

Reply by email

Sven Barth
to Marco van de Voort: I'd like to note that with a former employee, e did bid for porting the client part of a…
Marco van de Voort wrote 14 lines
On Wed, Mar 21, 2012 at 09:36:53PM +0100, Sven Barth wrote: > While I agree with you about the suprising end of Windows Mobile I don't > think that your time was that much wasted. Without your support for > WinCE I would not have been able to write our company application using > Lazarus and also this way Lazarus can pose as one of the few RAD IDEs > for Windows Mobile (or is it the only one even?). It might not mean much > for many people (or even developers), but for me it's important to show > what Lazarus (together with FPC) is capable of. I'd like to note that with a former employee, e did bid for porting the client part of a Delphi app to wince (but didn't get the bid in the end). As for the rest: chose your platforms carefully can be a different solution, which is why I avoid android till it comes in more stable waters (if ever)

I don't think that there is much choice for us regarding the target platform. You need to know that I'm talking about industrial devices here. Devices that are a bit more "tough" than usual smart phones and contain things like barcode scanners. Currently most vendors use Windows Mobile here (most prominent is Motorola Solutions with their Symbol series), but with the decline of that operating system the next best one for such devices is Android. This is also one of the reasons why we can't do a web interface for this: We need to access the (propritary) scanner hardware. Another reason is that some of our customers don't want a Wifi, etc. connection in their factories, etc. so a web service/page isn't an option then.

Regards,
Sven

Reply by email

Graeme Geldenhuys
to Mark Morgan Lloyd: So in particular: "fpGUI would need extensive changes to work in platforms which do not…
Mark Morgan Lloyd wrote 5 lines
So in particular: "fpGUI would need extensive changes to work in platforms which do not have native sub-controls, for example Android, linux framebuffer, OpenGL"

I would like to beg to differ on that quoted statement. It's not that hard to build that support back into the latest fpGUI. [maybe it's hard for somebody that doesn't know fpGUI code] I'm actually considering adding such support again [one window handle per form], because I want to support the Linux FrameBuffer and OpenGL in fpGUI in the near future. With the new 2D graphics engine built into fpGUI, adding such support would be even easier than before.

Alternatively, there is also a older fpGUI (v0.4_fixes branch) which uses a single window handle per form. The v0.4 branch doesn't contain all the latest fpGUI features, but I do keep it up to date with the latest FPC compilers.

PS:
I also updated that wiki page comparison grid. There was some outdated formation about fpGUI.

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Graeme Geldenhuys
to Felipe Monteiro de Carvalho: On Wed, Mar 21, 2012 at 5:30 PM, Mark Morgan Lloyd I wrote 99% of the code from zero…
Felipe Monteiro de Carvalho wrote
then wrote a non-native Canvas, then the Android backend, etc, etc, and I finally achieved what I always wanted since 2006 at least:

Can the Lazarus IDE now be compiled with the CustomDrawn widgetset, instead of GTK2, Qt4 etc? That would be cool if it is possible.

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Sven Barth
to Graeme Geldenhuys
Graeme Geldenhuys wrote 8 lines
On 21 March 2012 19:19, Felipe Monteiro de Carvalho <felipemonteiro.carvalho at ...> wrote: > then wrote a non-native Canvas, then the Android backend, etc, etc, > and I finally achieved what I always wanted since 2006 at least: Can the Lazarus IDE now be compiled with the CustomDrawn widgetset, instead of GTK2, Qt4 etc? That would be cool if it is possible.

From what I know about the CustomDrawn widgetset it's still to early (see my mail regarding the menus). But this would definitely be very cool on X11 based systems and I hope that Felipe and Co. will make this possible :D

Regards,
Sven

Reply by email

Graeme Geldenhuys
to Sven Barth
Sven Barth wrote
From what I know about the CustomDrawn widgetset it's still to early (see my mail regarding the menus). But this would definitely be very cool on X11 based systems and I hope that Felipe and Co. will make this possible :D

OK, thanks.

@Felipe
How did you handle Drag-n-Drop support is the CustomDrawn widgetset? Are you using each platform's native DND specifications / API, or did you implement something yourself (like the limited in-app DND only like what Delphi does). For interacting with other applications, using the native API will be a requirement. Also X11's DND specification requires a window handle per widget (but yes, toolkits like Qt4 and now GTK2 have overcome this with many hacks like "fake" window handles etc).

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Mark Morgan Lloyd
to Sven Barth: I don't think that there is much choice for us regarding the target platform. You need to…
Sven Barth wrote 29 lines
Am 22.03.2012 08:54, schrieb Marco van de Voort: > On Wed, Mar 21, 2012 at 09:36:53PM +0100, Sven Barth wrote: >> While I agree with you about the suprising end of Windows Mobile I don't >> think that your time was that much wasted. Without your support for >> WinCE I would not have been able to write our company application using >> Lazarus and also this way Lazarus can pose as one of the few RAD IDEs >> for Windows Mobile (or is it the only one even?). It might not mean much >> for many people (or even developers), but for me it's important to show >> what Lazarus (together with FPC) is capable of. > > I'd like to note that with a former employee, e did bid for porting the > client part of a Delphi app to wince (but didn't get the bid in the end). > > As for the rest: chose your platforms carefully can be a different > solution, > which is why I avoid android till it comes in more stable waters (if > ever) I don't think that there is much choice for us regarding the target platform. You need to know that I'm talking about industrial devices here. Devices that are a bit more "tough" than usual smart phones and contain things like barcode scanners. Currently most vendors use Windows Mobile here (most prominent is Motorola Solutions with their Symbol series), but with the decline of that operating system the next best one for such devices is Android. This is also one of the reasons why we can't do a web interface for this: We need to access the (propritary) scanner hardware. Another reason is that some of our customers don't want a Wifi, etc. connection in their factories, etc. so a web service/page isn't an option then.

Unfortunately, most hardware designers don't have a clue when it comes to designing in an industrial level of robustness- we've seen forklifts put through wall-mounted boxes and shovels used to operate membrane keyboards. The result is that very often the only kit that's tough enough to do the job doesn't have enough of a UI for modern development tools.

Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues]

Reply by email

Felipe Monteiro de Carvalho
to Graeme Geldenhuys: OK, thanks. @Felipe How did you handle Drag-n-Drop support is the CustomDrawn widgetset?…
Graeme Geldenhuys wrote
> From what I know about the CustomDrawn widgetset it's still to early (see my > mail regarding the menus). But this would definitely be very cool on X11 > based systems and I hope that Felipe and Co. will make this possible :D

I will try this year to get the IDE partially working with it, at least I want the native menus, all dialogs, SynEdit and VoiceOver accessibility working in Mac OS X. I don't have plans for designer support right now.

@Felipe How did you handle Drag-n-Drop support is the CustomDrawn widgetset?

It is not currently implemented (and not a priority for me)

Felipe Monteiro de Carvalho

Reply by email

Sven Barth
to Mark Morgan Lloyd: Unfortunately, most hardware designers don't have a clue when it comes to designing in an…
Mark Morgan Lloyd wrote 41 lines
Sven Barth wrote: > Am 22.03.2012 08:54, schrieb Marco van de Voort: >> On Wed, Mar 21, 2012 at 09:36:53PM +0100, Sven Barth wrote: >>> While I agree with you about the suprising end of Windows Mobile I >>> don't >>> think that your time was that much wasted. Without your support for >>> WinCE I would not have been able to write our company application using >>> Lazarus and also this way Lazarus can pose as one of the few RAD IDEs >>> for Windows Mobile (or is it the only one even?). It might not mean >>> much >>> for many people (or even developers), but for me it's important to show >>> what Lazarus (together with FPC) is capable of. >> >> I'd like to note that with a former employee, e did bid for porting the >> client part of a Delphi app to wince (but didn't get the bid in the >> end). >> >> As for the rest: chose your platforms carefully can be a different >> solution, >> which is why I avoid android till it comes in more stable waters (if >> ever) > > I don't think that there is much choice for us regarding the target > platform. You need to know that I'm talking about industrial devices > here. Devices that are a bit more "tough" than usual smart phones and > contain things like barcode scanners. Currently most vendors use > Windows Mobile here (most prominent is Motorola Solutions with their > Symbol series), but with the decline of that operating system the next > best one for such devices is Android. This is also one of the reasons > why we can't do a web interface for this: We need to access the > (propritary) scanner hardware. Another reason is that some of our > customers don't want a Wifi, etc. connection in their factories, etc. > so a web service/page isn't an option then. Unfortunately, most hardware designers don't have a clue when it comes to designing in an industrial level of robustness- we've seen forklifts put through wall-mounted boxes and shovels used to operate membrane keyboards. The result is that very often the only kit that's tough enough to do the job doesn't have enough of a UI for modern development tools.

Our company itself is not buying the hardware. We are only supporting certain kinds of devices (currently only Windows Mobile 5.0 to 6.5.3 ones from Symbol (now Motorola Solutions)) and provide the software to our customers if they need it.

We also have a true robust device as well though, but that is only - as you also mentioned - an embedded device with a custom programming environment and rather restricted interaction capabilities (compared to the Windows Mobile devices).

Regards,
Sven

Reply by email

Sven Barth
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 7 lines
On Thu, Mar 22, 2012 at 9:09 AM, Sven Barth wrote: > There is already work going on for an Android target. I don't know how well > it comes along though. Are you sure that there is work going on on this? Could you point at any revisions?

There was a mail on core some weeks ago by the same developer that has your bug assigned: http://bugs.freepascal.org/view.php?id=20726

It seems that he's working locally only though for now, so I can't point you to revisions.

Regards,
Sven

Reply by email