Zitat von Graeme Geldenhuys <[EMAIL PROTECTED]>:

> Hi,
>
> This is not really related to Lazarus, but only me asking for advice
> from developers that handled this issue before that I have now.
>
> I created (ported) a very basic GUI Designer for the fpGUI toolkit.
> Purely for the purpose of speeding up some form designs. It generates
> the Form and containing components as code in a source unit. Not as a
> external *.lfm file like Lazarus and Delphi does.  The designer
> inserts Begin/End comment markers to know what section it maintains
> and supports multiple forms in a single source unit.
>
> I use Form Inheritance a lot in my applications.  Currently my GUI
> Designer doesn't support Visual Form Inheritance, though it doesn't
> crash reading and building the form either.  I would like to implement
> VFI in my GUI Designer, but have a few questions.
>
> What is the process flow Lazarus uses to build up a designer form that
> implements form inheritance?
>
> eg:
>   * The order of loading the form into the gui designer form?

It loads the ancestor first. They are created hidden if needed, so you may not
see them.


>   * How does it know which unit contains the parent class?

Basically it parses the source and searches for the unit with the right class
and .lfm file. It has some fallbacks in case of errors in code.


>   * How does it track changes made to components implemented in the
> parent class?

It does not yet. I already have some experimental code for this, but it needs
completion and integration into the IDE. The MSEGUI seems to use its property
hooks and always streams the complete form, which works good for small forms
and normal property editors.


>   * How does it know what components are from parent forms and what
> are newly introduced?

It searches the component name in the ancestor instance.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to