[Lazarus] Simplest way to update a .lfm using a Component Editor

Marcos Douglas B. Santos md at delfire.net
Fri May 20 17:38:19 CEST 2022


On Fri, May 20, 2022 at 12:00 PM Marcos Douglas B. Santos
<md at delfire.net> wrote:
>
> On Fri, May 20, 2022 at 11:50 AM Mattias Gaertner via lazarus
> <lazarus at lists.lazarus-ide.org> wrote:
> >
> > On Fri, 20 May 2022 11:28:59 -0300
> > "Marcos Douglas B. Santos via lazarus" <lazarus at lists.lazarus-ide.org>
> > wrote:
> >
> > > Hello,
> > > I wrote a component which has a Component Editor.
> > > How is the simplest way to update the .lfm form, using this Component
> > > Editor?
> >
> > What do you mean with "update the lfm"?
>
> If the Component Editor (CE) changes some property on its owner
> (component), it doesn't reflect on form .lfm where this component is.
> If the CE changes something, I would like that the IDE enabled "Save
> button"; then, saving the form .lfm, it will be modified.
>
> For example, I was search some example on fieldseditor, fieldslist,
> newfield units—as the "Field Editor" creates fields in .lfm when user
> close it—uses a lot FDesigner instance such
> FDesigner.PropertyEditorHook.PersistendAdded, FDesigner.Modified, etc

Ok, I realized that my problem depends on the case. Another Component
Editor (CE), for another component works.
So, I think I need to give more details: the problem occurs using a CE
for a ToolBar descendent.
The CE can add/delete/order the buttons. After user close CE using
mrOK, the code remove all buttons, then include new ones
https://github.com/tranquilit/pltis_uicomponents/blob/master/src/standard/tis.ui.toolbar.editor.pas#L146-L166
but it doesn't reflect on IDE.

Marcos Douglas


More information about the lazarus mailing list