[Lazarus] fpGUI

Graeme Geldenhuys graemeg.lists at gmail.com
Sun Jan 16 18:50:20 CET 2011


On Sun, 2011-01-16 at 16:33 +0100, Marco van de Voort wrote:
> Anyway, one can indeed use pseudo directives for this. But the parser still
> needs to be hardened against accidental edits.

Why must I harden the UI Designer's parser. The UI Designer generates
source code and reads ui source code - it's been good enough for the
last 2-3 years. If there was accidental edits or invalid object pascal
code, the FPC compiler will detect that. As I said, the UI setup code is
rather basic - not nearly as complex as other business object rules etc.
I've created quite complex UI's in our products over the last 2-3 years
and the fpGUI UI Designer coped just fine with it.


> Moreover, I still fail to see the advantage at all.

Read your emails :) There are pros and cons for both options, I get
that. I simply find the pros more to my style of working.

* UI is in private section of a form class by default. A rather basic
  OOP principle - only make public what you need public.
* I can search and replace properties or components very easily. 
  eg: Lazarus and MSEide default to searching *.pp and *.pas files -
  which is where my UI code lives.
* I can tweak a property value without having to switch to a UI Designer
* Lazarus IDE codefolds the AfterCreate method by default, so as not to
  obfuscate my hand-written code. Thanks to whoever implemented regions.
* I have less files to manage in a project or a VCS.
* Tracking the history in a VCS is much simple. Code and UI in one unit.
* All related code is in the related unit - not split over multiple
  files. This goes hand-in-hand with the previous point.
* I can use code templates to quickly generate parts of my UI that
  normally have a consistent layout. This is great for quick demos etc.
  It like having code templates in the visual designer (I think Delphi
  actually had such a feature)
* Multiple forms in a single unit.
* I'm able to use new or "unknown to the ui designer" components. No
  extra install required [which could lead to a bugy UI designer].
  Seeing that I have created so many gui components already, this is
  very handy while developing those components.
* A guaranteed creation order of components

...for more see my previous messages, I can't remember everything now.


-- 
Regards,
 - Graeme -

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





More information about the Lazarus mailing list