[Lazarus] Deleting items in OI

Juha Manninen juha.manninen62 at gmail.com
Tue Nov 28 13:10:04 CET 2017


On Sat, Nov 25, 2017 at 8:21 PM, Vojtěch Čihák via Lazarus
<lazarus at lists.lazarus-ide.org> wrote:
> I just have some more info. Everything was OK to revision 52209.
> OI was completly broken between 52210 and 52229 (components didn't appear at all).
> Revision 52230 improved OI but deleting didn't work as described in previous
> mails, it's up to now.

Yes, those were my commits. Sorry I did not answer earlier, something
always came up when I planned to study the issue.
The changes were more or less valid. At least they fixed bugs and
optimized the updates.
However your usage of TPropertyEditorHook looks suspicious and
counter-intuitive:

  aHook.PersistentDeleting(aECTab);
  aECTC.DeleteTab(aECTC.TabIndex);
  aHook.SelectOnlyThis(aECTC.Tabs);  { force the OI to refresh }

Calling aHook.DeletePersistent() would be intuitive. It that is not
possible in your case, then we should improve the API.
Something like "StartDeletingPersistent()" + "EndDeletingPersistent()"
pair maybe.
How about calling aHook.Modified?
What would be the most intuitive API in your opinion?

Juha


More information about the Lazarus mailing list