[Lazarus] Object Inspector reuse ?
Michael Van Canneyt
michael at freepascal.org
Thu Sep 8 09:13:49 CEST 2016
On Thu, 8 Sep 2016, Mattias Gaertner wrote:
> On Thu, 8 Sep 2016 08:04:18 +0200 (CEST)
> Michael Van Canneyt <michael at freepascal.org> wrote:
>
>> [...]
>> // IMPORTANT: the object inspector is a tool and can be used in other programs
>> // too. Don't put Lazarus IDE specific things here.
>>
>> If you look at the above 'Important' warning and then look below:
>>
>> [...]
>> // IdeIntf
>> IDEImagesIntf, IDEHelpIntf, ObjInspStrConsts,
>> PropEdits, PropEditUtils, ComponentTreeView, OIFavoriteProperties,
>> ListViewPropEdit, ImageListEditor, ComponentEditors, ChangeParentDlg;
>>
>>
>> Everything below "IdeIntf" seems quite "Lazarus IDE specific" to me.
>> So the 'Important' warning can be removed, it is useless.
>
> These are property editors for the FCL/LCL types and the component tree
> view. They are LCL specific, not IDE specific.
I beg to differ somwhat....
A quick glance reveals that they reference for example the help system of the IDE.
IDEWindowIntf is also not really something I want in my end-user binary.
I can probably find more..
> If you don't need the LCL editors, it should be easy to add some IFDEFs.
That will create a serious mess, because for my project I would need to
enable the define, and when compiling the IDE the define must be disabled
etc.
IMHO Better is to have a TBaseObjectInspector/TIDEObjectInspector approach:
a base class that can be used without all (or most of) the IDEIntf stuff,
and a descendent that uses the IDE stuff to provide additional functionality.
As far as I can see, the only needed thing is the PropEdits unit, since that
is what is needed to enable property editors.
Michael.
More information about the Lazarus
mailing list