Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: LonelySTar on December 01, 2005, 05:40:57 pm
-
Is there any handbook/reference on how to write a plugin?
If I need a specific function, how can I find out how to do it?
Thanks!
-
http://wiki.codeblocks.org/index.php?title=Creating_a_simple_%22Hello_World%22_plugin
-
Well, that gives an outline for how to write a plugin. Usefull but not enought.
At present, I want to know How a plugin can find out the filenames and directories of all files in the project. How is that done and how did you find out?
Thanks!
Nathan
-
How is that done and how did you find out?
:D I guess, I have my ways ;)
-
LonelySTar: Download the codeblocks sourcecode and study the SDK, specially the headers - of these, pay attention to the ones that end with "manager".
-
(I started this post before the last two were posted. I'll post it as it's somewhat more detailed ;))
Well, that gives an outline for how to write a plugin. Usefull but not enought.
At present, I want to know How a plugin can find out the filenames and directories of all files in the project. How is that done and how did you find out?
Thanks!
Nathan
Manager::Get()->GetProjectManager() returns a ProjectManager*.
ProjectManager::GetProjects() returns a ProjectsArray* (IIRC basically the wx-version of std::vector<cbProject*>, but without iterators)
cbProject::GetFilesCount() returns the number of files in a project.
cbProject::GetFile(int index) returns a ProjectFile*.
From there ProjectFile::file or ProjectFile::relativeFilename should be able to help you.
Now where did I find all this?
Well, I started looking in sdk/projectmanager.h, and went from there. Like Rick said: look at the managers ;). The only time I actually had to perform a search for the next file was when I got to ProjectFile, which is conveniently located in sdk/projectbuildtarget.h :roll:.
The SDK headers are quite helpful, but you can always get doxygen and process sdk.doxy for a HTML version with hyperlinks :).
-
Thanks for all your help!
-
You might want to try THIS (http://forums.codeblocks.org/index.php?topic=1358.0).
-
You might want to try THIS (http://forums.codeblocks.org/index.php?topic=1358.0).
Beware though: that's for RC2, there have been a lot of changes since then in SVN. So if you're using the SVN version of C::B I would recommend generating the documentation yourself, though you can probably use the last link in the post Takeshi mentioned to do so.
-
Exactly.
Though it would be good if we can have online docs autogenerated from SVN.
-
Though it would be good if we can have online docs autogenerated from SVN.
Now there's a good use for cron if I ever saw one 8).