On Wed, 12 Aug 2015 21:16:22 +0200 Marc Santhoff <[email protected]> wrote:
>[...] > 1. Is it correct that to make an extension basically all I have to do is > write the code that > - adds a menu entry for starting the code > - save it as a lazarus package and check "register in ide" (or the > like ;) > and that's the basis for doing something useful? Yes, see for example examples/exploremenu. > 2. When I want the user to select a form for the ide expert to work on, > a list of available forms is needed. Is iterating over all the projects > files and getting the form of a file the right way to go? It depends on what you mean with "available". For example a project can also access the forms of packages. > Additionally if yes: > > The code there: > > http://wiki.lazarus.freepascal.org/Extending_the_IDE#Get_unit.2C_designer.2C_form_of_a_file > > looks OK, but doesn't it open all the files of a project? It opens all forms of the project. > And does > > // get form > aForm:=aDesigner.Form; > > give NIL if the file has no form? aDesigner will be nil. > 3. How do I create a new component on a form? > For doing so one would need at least a reference to the active form and > second a reference to the active component to use as parent. Adding a component can be complex. See designer/designer.pp TDesigner.MouseUpOnControl AddComponent. > Afterwards, will the new component created and have owner, parent and > essential properties set and then added, like I would do in any other > program creating components in code at runtime or is there another way > (sth. like "IDEDoCreateComponetntAndAdd(newcomponent.class)")? Maybe such a function can be added to the IDEIntf. Can you give some more details what you are trying to achieve? > If there is an example doing all of this stuff, please point me there. > After browsing some intresting names in lazarus/examples I haven't found > what's missing. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
