Lazarus
Programming => Widgetset => Other => Topic started by: dieselnutjob on April 08, 2014, 10:57:34 pm
-
I have been developing a complex piece of software for some time, but the interesting thing is that the gui is not complex at all. Basically it polls functions in another unit looking for text to slap into a memo or a gridlist, and it sends requests to functions if the user clicks on a button.
The other unit is actually in a different thread so that users can go mental on the gui and it won't stall the main logic of the software (it communicates with another device so I can't have it freeze up).
I haven't changed the gui for a long time, all my work these days is on the backend protocols in the non gui units.
Today I started having a play with fpgui. I got it working on windows vista. I got it working on Linux. I'm quite impressed and I think it would be a good fit for my software as it only uses a few buttons, memos and comboboxes.
I like the fact that it doesn't need gtk or qt
However I don't own a Mac. I will have to borrow a Mac to compile and test. My current software worked on a mac last time I checked.
Is there anything that will be a problem about fpgui on a Mac? My customers probably aren't that bothered what it looks like as long as it works.
Will a windows app compiled on Vista or 7 with fpgui also work if the .exe is given to a customer with Windows 98 ( I have some )?
thanks for any opinions, Philip
-
Is there anything that will be a problem about fpgui on a Mac? My customers probably aren't that bothered what it looks like as long as it works.
Will a windows app compiled on Vista or 7 with fpgui also work if the .exe is given to a customer with Windows 98 ( I have some )?
fpGUI:
Tested on OSX => no problem.
Tested compiled on Win7 and run on Win98/Vista/2000 => no problem.
Tested on Linux 32 and 64 bit => no problem.
Tested on FreeBSD => No problem:
fpGUIlib:
Tested with Java/Android => no problem.
Tested with Python => no problem.
Tested with CNet => no problem.
Tested with Delphi => no problem.
Tested with Basic => no problem.
;)
-
thanks, that is encouraging
another question
should I be looking at custom drawn controls? I only first read about it 10 minutes ago. Seems to have similar advantages.
easier or harder to do than fpgui?
-
should I be looking at custom drawn controls? I only first read about it 10 minutes ago. Seems to have similar advantages.
fpGUI is totally independent and does not need LCL.
fpGUI is 100 % pure fpc from a to Z.
Once compiled, your application does not need any dependencies.
The size of your exe will be less than 1/2 the size of equivalent LCL application.
easier or harder to do than fpgui?
fpGUI is really easy.
Hum, Custom Draw maybe too, i do not know... :-X
-
will I still need "Apple Developer Tools" ?
-
thanks, that is encouraging
another question
should I be looking at custom drawn controls? I only first read about it 10 minutes ago. Seems to have similar advantages.
easier or harder to do than fpgui?
If my understanding is correct, FpGui/MseIde and 'custom drawn' are essentially doing the same thing. They both are 'LCL-less' drawing. The Custom Draw route is a more low level approach (no ide), where FpGui and MseIde are providing you with a custom ide with their own components.
-
is MSEIDE using fpgui under the hood? or something else?
on the MSEIDE site says it only works in WIndows / Linux but if it is just fpgui underneath....
-
is MSEIDE using fpgui under the hood? or something else?
on the MSEIDE site says it only works in WIndows / Linux but if it is just fpgui underneath....
No, MseIde and Fpgui are separate IDE's and implement their own 'custom drawn' implementation. MseIde is much is the more mature implementation and was here before Fpgui. MseIde is quite impressive. Industrial grade stuff.
Fpgui is an MseIde equivalent which is breaking new ground on the graphics side. Fpgui is using Aggpas as a backend for drawing, which does sub-pixel accuracy drawing. Stunning graphics like Photoshop quality. Sort of bare-metal, direct to X11 compositing. No heavy middle layers (Gtk/Qt).
-
is MSEIDE using fpgui under the hood? or something else?
No, AFAIK fpGUI takes a bit inspiration (or maybe some code) a long time ago from mseGUI, but today they're totally different.
-
If my understanding is correct, FpGui/MseIde and 'custom drawn' are essentially doing the same thing. They both are 'LCL-less' drawing.
Yes and No. fpGUI and MSEgui are independent projects with no dependencies on LCL. They both talk directly to low level OS API's, but have a developer friendly API hiding the need to learning the low level OS API's. They included a full set of widgets/controls to write advance applications too.
"Custom Drawn" (if I am referring to the same thing you are) is custom drawing using LCL's Canvas class - thus a dependency on LCL. There was an attempt to make a LCL-CustomDrawn widgetset (widgets/controls like buttons, comboboxes etc), but it didn't get very far, and last I checked, what was there was still very buggy and alpha state.
-
is MSEIDE using fpgui under the hood? or something else?
No, MSEide uses its related MSEgui framework. The full project name is actually "MSEide+MSegui".
on the MSEIDE site says it only works in WIndows / Linux but if it is just fpgui underneath....
MSEide+MSEgui only targets 32-bit Windows and Linux as the official supported platforms. FreeBSD, MacOSX and 64-bit are not supported.
-
MseIde and Fpgui are separate IDE's and implement their own 'custom drawn' implementation.
This is not correct.
MSEide is an IDE. MSEgui and fpGUI are graphics/widgetset frameworks that are 100% implemented in Object Pascal and supply a full range of custom drawn widgets/controls. fpGUI also includes a customised AggPas backend, which gives advanced 2D graphics capabilities and can completely bypass the graphics painting requirements of X11 or GDI.
fpGUI doesn't force dependency on any specific IDE - that is one of its design goals. You can develop your fpGUI-based applications using Lazarus IDE, MSEide, Geany, Notepad, gEdit, vi etc. Your choice! Yes, fpGUI includes an IDE application, but that is more of an "advanced demo application" - meant to demonstrate more complex usage of fpGUI (because I can't share my commercial work with the public). Maybe someday the demo IDE application will become a fully functioning IDE, but that is not its current intent. fpGUI also includes other handy applications like DocView (help file viewer) and UIDesigner (visual forms designer) - but again, you are not forced to use these.
-
No, AFAIK fpGUI takes a bit inspiration (or maybe some code) a long time ago from mseGUI, but today they're totally different.
No not at all. I worked on fpGUI for about 2 years before I even heard of MSEide+MSEgui. I take my fpGUI inspiration from many places, but mostly from Qt and Java.
-
MSEide+MSEgui officially supports Linux X86-64 since version 3.0.
-
MSEide+MSEgui officially supports Linux X86-64 since version 3.0.
Good to know, thanks for clarifying that.
-
Note that the FPC 2.6.x series formally isn't supported for win98 (though afaik there are 3rd party builds that are)
-
I don't need the compiler or an IDE to work on Windows 98. I'm currently developing on a Vista laptop. If I can compile on Vista or 7 and give the exe to a customer running 98 then that will be fine.
-
is MSEIDE using fpgui under the hood? or something else?
No, AFAIK fpGUI takes a bit inspiration (or maybe some code) a long time ago from mseGUI,
I think this is unlikely: fpGUI has a long history even before Graeme started to work on it. Its roots go back to the KCL being developed in 1999/2000 (?).
-
I think this is unlikely: fpGUI has a long history even before Graeme started to work on it. Its roots go back to the KCL being developed in 1999/2000 (?).
IIRC KCL (and Kassandra the IDE) was more VCL/LCL like. Sebastian then wanted something he could bring quicker to market and was frustrated with time that it took to do somewhat useful VCL emulation and first created fpgtk. Later he generalized that a bit and added windows support and that became fpgui. That was 2000-2001 I think and kcl-kassandra before 2000.
After 2003-2004 (win32 port was added by Micha in that period) he thought Lazarus was making good progress and dropped maintaining the fp* stuff. I don't know if fpde has been used for the main docs by Michael, or only for other projects.
fpgtk is still in the FPC tree because it was used for a few GUI utils in the FPC tree, like FPDE, the fpdoc editor. Hasn't seen any action except minimal changes to keep them running. FPDE is still in utils/fpdoc/fpde. I'm not sure if there is a package still using it, a doc editor has been integrated with Lazarus now.
-
I don't need the compiler or an IDE to work on Windows 98. I'm currently developing on a Vista laptop. If I can compile on Vista or 7 and give the exe to a customer running 98 then that will be fine.
I do exactly that, and my applications run without problems.
-
after a few days of solid coding (and no divorce by some miracle) I have now converted my entire project to fpgui.
this is a project with I think over 10,000 lines of code and four different threads
one is a gui
one polls the gui to make it poll the backend and update the gui
one talks to a car (so numerous proprietary protocol stacks for different car ECUs)
one talks to the interface box between the pc and the car
so far it works fine on windows and Linux, and yes the exe is a lot smaller
I think I'm going to stick with this. Thanks fpgui guys!
Interestingly a bug has disappeared as well. With the normal Lazarus stuff I was getting random clicks on the first column of a stringgrid as rows were added (at least I think that is what was happening). With fpgui the problem has disappeared.
-
another mac os x question
to compile my program on Mac OS X,
I guess I install lazarus and fpc first using mac installers as normal
then open my lpi file
then I have to do "Package" then "Add Package File"
for Windows I have been opening fpgui\src\corelib\gdi\fpggui_tookit.lpk
for Linux I have been opening fpgui\src\corelib\x11\fpggui_tookit.lpk
what do I do in Mac OS Lazarus IDE?
thanks