On Thu, 8 Sep 2016, Mattias Gaertner wrote:
On Thu, 8 Sep 2016 08:04:18 +0200 (CEST)
Michael Van Canneyt <[email protected]> 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.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus-ide.org/listinfo/lazarus