IDE Development
From Free Pascal wiki
Revision as of 19:44, 4 April 2008 by Mattias2 (talk | contribs) (→Multi form properties / using DataModules from other forms in the designer)
This page contains notes for lazarus core developers about ongoing development.
Multi form properties / using DataModules from other forms in the designer
Short Description
This feature allows to use components of other designer forms. A common example is to use the TDataSource on a DataModule for the DataSource property of a db control.
Working
Manual referencing via source code works.
Some features are only enabled via -dEnableMultiFormProperties.
- TPersistentPropertyEditor.GetValues - List all possible values. Check for class compatibility and if the target unit does not belong to a package that will conflict if used.
- TPersistentPropertyEditor.GetValue - Show component path
- TPersistentPropertyEditor.SetValue - search the component via the given path
- When component is deleted, the property must be set to nil - This is not the job of the IDE, but should be achieved by the normal TComponent FreeNotification feature. Maybe eventually a check could be added, if this is implemented properly and force a nil on error.
ToDo
- Add unit name to uses section and package to dependencies.
- When referenced component is deleted, the using units must be set modified.
- When target form is saved, all referring forms should be saved too, to keep consistency.
- When target form is closed, then all referring forms must be closed too. (Otherwise all properties will be set to nil, and the reference will be lost).
- When reference form is opened, then target forms must be opened too.