Re: [Lazarus] Multi-Device Designer

2015-02-26 Thread Kostas Michalopoulos
I cannot run the demos since Java now blocks everything that hasn't
submitted to the certificate mafia - apparently that was easier than Oracle
sandboxing their VM, but i took a look on the PDF. And sadly this isn't a
real solution.

This only solves issues like positioning, but doesn't solve issues like
having the File - Exit menu item being hidden in Mac builds, the Apple
menu (where the Quit menu item should be in Mac) being hidden in Windows
and Linux builds, using Cmd as a shortcut prefix instead of Ctrl, using
different images for Windows, Linux and OS X (since all these three OSes
have different design styles - ok Linux and Windows can share theirs, but
OS X icons tends to be larger and usually the toolbars have less buttons),
etc.

In fact personally i'd be against such quick fix solutions because
they'll provide less incentive to do the right thing later.


On Thu, Feb 26, 2015 at 11:49 AM, Graeme Geldenhuys 
mailingli...@geldenhuys.co.uk wrote:

 On 2015-02-25 14:05, Kostas Michalopoulos wrote:
  Even if Lazarus sticks to desktop only stuff, Windows,
  Linux and OS X (...especially OS X) have different conventions when it
  comes to layout, icons, spacing, etc and at the moment the only solution
 is
  either ignore them (and have your program look awful under OS X)

 There is an alternative solution. In the fpGUI project we have ongoing
 efforts to port/implement a Object Pascal version of the java MIG Layout
 Manager. One of MIG's many features is support for OS specific
 conventions like spacing, button order etc.

   http://www.miglayout.com/

 If you can, run the Swing Demo to see what everything MIG can do. Part
 of the demo is the OS specific conventions.


 Regards,
   - Graeme -

 --
 fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
 http://fpgui.sourceforge.net/

 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-26 Thread Graeme Geldenhuys
On 2015-02-25 14:05, Kostas Michalopoulos wrote:
 Even if Lazarus sticks to desktop only stuff, Windows,
 Linux and OS X (...especially OS X) have different conventions when it
 comes to layout, icons, spacing, etc and at the moment the only solution is
 either ignore them (and have your program look awful under OS X)

There is an alternative solution. In the fpGUI project we have ongoing
efforts to port/implement a Object Pascal version of the java MIG Layout
Manager. One of MIG's many features is support for OS specific
conventions like spacing, button order etc.

  http://www.miglayout.com/

If you can, run the Swing Demo to see what everything MIG can do. Part
of the demo is the OS specific conventions.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Graeme Geldenhuys
On 2015-02-25 11:39, Michael Schnell wrote:
 On 02/25/2015 12:26 PM, Michael Schnell wrote:
 I once found the source code of the original library...
 GLScene.

You mean this...  [http://sourceforge.net/projects/glscene/]

I think you got confused. FireMonkey originated from KSDev's product
called VGScene. --- [http://en.wikipedia.org/wiki/FireMonkey]


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Mattias Gaertner
On Wed, 25 Feb 2015 10:35:04 +
Graeme Geldenhuys mailingli...@geldenhuys.co.uk wrote:

 On 2015-02-25 09:53, Michael Schnell wrote:
  While (AFAIK, not having watched, yet) in Delphi XE this is only 
  possible with FireMonkey
 
 Correct, the Delphi video was just for the FireMonkey toolkit - hence my
 comment if LCL is only meant for desktop development (like VCL). I don't
 know what LCL is targeting these days... still only VCL compatibility,
 or slowly moving towards FMX compatibility.
 
 Is the LCL-CustomDrawn widgetset maybe meant as the target for FMX
 compatibility?

I doubt that we can make the LCL FireMonkey compatible.
For the features you saw in the video customdrawn controls are needed.
So I guess LCL-Customdrawn could be used for that.

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Martin Schreiber
On Wednesday 25 February 2015 14:02:33 Mattias Gaertner wrote:
 On Wed, 25 Feb 2015 10:39:12 +

 Graeme Geldenhuys mailingli...@geldenhuys.co.uk wrote:
  On 2015-02-25 09:31, Mattias Gaertner wrote:
   Of course you can use VFI to create custom views - for
   different platforms, devices, releases or whatever
   flavors.
 
  But the difference between Delphi and Lazarus would be how you reference
  those forms. In Delphi FMX (as far as I understand) you would simply
  reference your form as SomeForm - regardless of the target device. FMX
  would resolve that automatically to the correct device specific
  implementation if one exists.

 I guess, but I only saw the promotion video, so maybe it is not that
 simple.

 If someone wants the same in Lazarus:

 For example the {$R *.iPhone4in.fmx IOS} directive can be replaced with
 {$ifdef iphonesim}{$R *.iphone4in.lfm}{$endif}

 The LCL (or msegui or whatever GUI lib) needs to be extended to search
 and load the second lfm resource. That needs only a few lines of code.

 And finally the IDE needs to be extended to load/update the secondary
 lfm.

  Whereas in Lazarus LCL's VFI you would have different units and
  different form names for each target. So you would have to wrap all
  those in IFDEF's. Is this correct?

 Well, you could do it without IFDEFs, but then all resources are
 compiled into the binary. Or you can load the lfm files via another
 mechanism.

MSEi18n actually works with such an approach. It builds different 
resource-dll's/so's for different languages based on master form resource 
files (MSEgui counterpart of Lazarus *.lfm files) and a property table with a 
column for every language. The application loads the coresponding dll/so 
based on the language settings.
Several years ago MSEi18n already has been used to adapt the gui of an 
application for different display environments:
http://wiki.freepascal.org/MSEide__MSEgui#An_embedded_system

It is planned to extend MSEi18n with a form designer in order to edit the 
widget properties graphically.

Martin

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Graeme Geldenhuys
On 2015-02-25 09:31, Mattias Gaertner wrote:
 Of course you can use VFI to create custom views - for
 different platforms, devices, releases or whatever
 flavors.

But the difference between Delphi and Lazarus would be how you reference
those forms. In Delphi FMX (as far as I understand) you would simply
reference your form as SomeForm - regardless of the target device. FMX
would resolve that automatically to the correct device specific
implementation if one exists.

Whereas in Lazarus LCL's VFI you would have different units and
different form names for each target. So you would have to wrap all
those in IFDEF's. Is this correct?

 flexible), but the LCL will still use the native controls, so the
 preview is limited.

Understood.



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 11:35 AM, Graeme Geldenhuys wrote:
Is the LCL-CustomDrawn widgetset maybe meant as the target for FMX 
compatibility?

Do you think it _should_ ?

Do you see a real advantage with FireMonkey ? (I did not even do a 
hallo world with same.)


In fact, AFAIK, the FM library once was a freely available library that 
should be usable with fpc. So FM on fpc should be just around the 
corner, if anybody like it.


-Michael


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Sven Barth
Am 25.02.2015 11:35 schrieb Graeme Geldenhuys 
mailingli...@geldenhuys.co.uk:

 On 2015-02-25 09:53, Michael Schnell wrote:
  While (AFAIK, not having watched, yet) in Delphi XE this is only
  possible with FireMonkey

 Correct, the Delphi video was just for the FireMonkey toolkit - hence my
 comment if LCL is only meant for desktop development (like VCL). I don't
 know what LCL is targeting these days... still only VCL compatibility,
 or slowly moving towards FMX compatibility.

 Is the LCL-CustomDrawn widgetset maybe meant as the target for FMX
 compatibility?

Delphi's VCL was not portable to anything else than Windows, which is why
Embarcadero added FireMonkey. The LCL however /is/ portable so we don't
need FM and can instead improve the LCL to handle this better including
native look and feel.

Regards,
Sven
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Graeme Geldenhuys
On 2015-02-25 10:40, Michael Schnell wrote:
 On 02/25/2015 11:35 AM, Graeme Geldenhuys wrote:
 Is the LCL-CustomDrawn widgetset maybe meant as the target for FMX 
 compatibility?
 Do you think it _should_ ?

I honestly don't know what LCL-CustomDrawn is targeting. It also isn't
in a usable state at the moment and still needs a lot of development
before it is usable.


 Do you see a real advantage with FireMonkey ?

Well, considering that VCL is _very_ Windows specific, Delphi needed
something different to target other platforms. FireMonkey toolkit was
their ticket.  CLX could also have been their answer (as Qt runs on
pretty much every platform out there), but Borland/CodeGear/EMB long
forgot about CLX.

 In fact, AFAIK, the FM library once was a freely available library that 
 should be usable with fpc.

I'm pretty sure FMX now uses many Delphi specific features that wouldn't
make it compilable with FPC any more. I also don't know (but would like
to find out) if Delphi includes full source code of FMX - in case
somebody wanted to try and do a personal port to FPC.



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Graeme Geldenhuys
On 2015-02-25 10:46, Sven Barth wrote:
 we don't
 need FM and can instead improve the LCL to handle this better including
 native look and feel.

Okay, so does that mean currently LCL can't target Android or iOS, but
the possibility could exist in the future?  The reason I say this is
because to date there is no LCL-iOS or LCL-Android widgetset to choose
as a target.

I haven't really tracked the progress of LCL over the last couple of
years. So I'm just trying to compare Delphi and Lazarus to see how they
compare for multi-platform and multi-device development. I'm trying to
see if Lazarus is a viable option for a future project, or am I better
off spending the small fortune and buy a copy of Delphi XE7 (or
AppMethod). Maybe alternatives like Xamarin is an option too, but I
would like to keep to the Object Pascal language if possible.

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 08:05 AM, Graeme Geldenhuys wrote:

I just found this very interesting video about Delphi XE7 (or AppMethod)
and how the form designer can design for multiple device targets. Very
clever usage of Visual Form Inheritance.

   https://www.youtube.com/watch?v=fmA7KLlOR1U

How does Lazarus IDE (or LCL) handle this? Can you develop for multiple
targets with a single source code base? Or is this beyond the scope of
LCL (eg: LCL is only meant for desktop apps)?

While (AFAIK, not having watched, yet) in Delphi XE this is only 
possible with FireMonkey, and hence porting existing Desktop 
VCL-applications to other platforms is close to impossible, with Lazarus 
compiling for all supported platforms should be possible using the the 
LCL that is rather similar to the Delphi VCL.


So - disregarding technical details - Lazarus should be better regarding 
portability.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Mattias Gaertner
On Wed, 25 Feb 2015 07:05:20 +
Graeme Geldenhuys mailingli...@geldenhuys.co.uk wrote:

 Hi,
 
 I just found this very interesting video about Delphi XE7 (or AppMethod)
 and how the form designer can design for multiple device targets. Very
 clever usage of Visual Form Inheritance.
 
   https://www.youtube.com/watch?v=fmA7KLlOR1U
 
 How does Lazarus IDE (or LCL) handle this? Can you develop for multiple
 targets with a single source code base? Or is this beyond the scope of
 LCL (eg: LCL is only meant for desktop apps)?

Of course you can use VFI to create custom views - for
different platforms, devices, releases or whatever
flavors.
XE7 took a common case - devices - and made that simpler by having only
one unit and load a second resource automatically.
Theoretically Lazarus could be extended to do the same (or more
flexible), but the LCL will still use the native controls, so the
preview is limited.

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread patspiper

On 25/02/15 13:02, Graeme Geldenhuys wrote:

On 2015-02-25 10:46, Sven Barth wrote:

we don't
need FM and can instead improve the LCL to handle this better including
native look and feel.

Okay, so does that mean currently LCL can't target Android or iOS, but
the possibility could exist in the future?  The reason I say this is
because to date there is no LCL-iOS or LCL-Android widgetset to choose
as a target.

I haven't really tracked the progress of LCL over the last couple of
years. So I'm just trying to compare Delphi and Lazarus to see how they
compare for multi-platform and multi-device development. I'm trying to
see if Lazarus is a viable option for a future project, or am I better
off spending the small fortune and buy a copy of Delphi XE7 (or
AppMethod). Maybe alternatives like Xamarin is an option too, but I
would like to keep to the Object Pascal language if possible.
Check out LazAndroidModuleWizard. Quite promising for Android apps but 
not LCL compatible.


http://forum.lazarus.freepascal.org/index.php?topic=21919.0
https://github.com/jmpessoa/lazandroidmodulewizard

Stephano

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 11:49 AM, Graeme Geldenhuys wrote:
I honestly don't know what LCL-CustomDrawn is targeting. It also isn't 
in a usable state at the moment and still needs a lot of development 
before it is usable. 
AFAIK, CustomDrawn is trying to restrict the necessary functionality of 
an external WidgetSet to as little objects as possible and build up all 
GUI elements from this in Delphi code.

Do you see a real advantage with FireMonkey ?

Well, considering that VCL is _very_ Windows specific,
IMHO the LCL proves that close to all VCL features can be done as good 
(or even better) with other Widgets sets than just Windows.

Delphi needed
something different to target other platforms. FireMonkey toolkit was
their ticket.  CLX could also have been their answer (as Qt runs on
pretty much every platform out there), but Borland/CodeGear/EMB long
forgot about CLX.
Borland failed with trying to port the VCL with Kylix, but IMHO Lazarus 
does an excellent job with the same task.



In fact, AFAIK, the FM library once was a freely available library that
should be usable with fpc.

I'm pretty sure FMX now uses many Delphi specific features that wouldn't
make it compilable with FPC any more.
I can't think of any language features that would make this necessary. 
Did they update the X86 compiler greatly making it decently incompatible 
to fpc ?



I also don't know (but would like
to find out) if Delphi includes full source code of FMX - in case
somebody wanted to try and do a personal port to FPC.
I once found the source code of the original library (before bought by 
Embarcadero). I'm not sure if I saved it. But of course they tried to 
remove it from the Internet after they changed the license.


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 12:26 PM, Michael Schnell wrote:

I once found the source code of the original library...

DXScene.

I do have some DX files fetched at that time. I did not ever open the 
ZIPs :-(


-Michael


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 12:26 PM, Michael Schnell wrote:

I once found the source code of the original library...

GLScene.

I do have some GL files fetched at that time. I did not ever open the 
ZIPs


-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Graeme Geldenhuys
On 2015-02-25 11:26, Michael Schnell wrote:
 Well, considering that VCL is _very_ Windows specific,
 IMHO the LCL proves that close to all VCL features can be done as good 
 (or even better) with other Widgets sets than just Windows.

I agree that the Lazarus team did a very good job, but I still consider
the LCL design to Windows centric (by looking at what I had to implement
to get LCL-fpGUI to work). And as you might guess, the reason I started
fpGUI Toolkit is because LCL was (and still is - in my opinion) too
limiting for some of the application I had to develop over the last 5
years. Your mileage my vary.

 Borland failed with trying to port the VCL with Kylix,

No, they failed to market Kylix correctly, thus lost interest too
quickly. To date there are still companies [though getting less] like
Scooter Software that use Kylix and CLX. The Kylix IDE was a bigger
problem than the actual CLX toolkit.

Either way, we are straying from the topic at hand.


 I can't think of any language features that would make this necessary.

I guess the only way to find out is to buy a copy of XE7 and try to
compile FMX with FPC.



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-25 Thread Michael Schnell

On 02/25/2015 12:26 PM, Michael Schnell wrote:
 But of course they tried to remove it from the Internet after they 
changed the license.



Hmmm:

http://sourceforge.net/projects/glscene/Last Update: 2015-01-27

-Michael
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Multi-Device Designer

2015-02-24 Thread Marcos Almeida Azevedo
I only use Lazarus for desktop apps.  But I haven't checked most features
it offers

On Wed, Feb 25, 2015 at 3:05 PM, Graeme Geldenhuys 
mailingli...@geldenhuys.co.uk wrote:

 Hi,

 I just found this very interesting video about Delphi XE7 (or AppMethod)
 and how the form designer can design for multiple device targets. Very
 clever usage of Visual Form Inheritance.

   https://www.youtube.com/watch?v=fmA7KLlOR1U

 How does Lazarus IDE (or LCL) handle this? Can you develop for multiple
 targets with a single source code base? Or is this beyond the scope of
 LCL (eg: LCL is only meant for desktop apps)?


 Regards,
   - Graeme -

 --
 fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
 http://fpgui.sourceforge.net/

 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus




-- 
Marcos | I love PHP, Linux, and Java
http://javadevnotes.com/java-double-to-string-examples
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Multi-Device Designer

2015-02-24 Thread Graeme Geldenhuys
Hi,

I just found this very interesting video about Delphi XE7 (or AppMethod)
and how the form designer can design for multiple device targets. Very
clever usage of Visual Form Inheritance.

  https://www.youtube.com/watch?v=fmA7KLlOR1U

How does Lazarus IDE (or LCL) handle this? Can you develop for multiple
targets with a single source code base? Or is this beyond the scope of
LCL (eg: LCL is only meant for desktop apps)?


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus