[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-core-dev] CProject extension
|
>
> Hi,
>
> we are trying to create specific project type to extend CDT and add some
> functionalities. In this process, I tried to understand how I could
> create plugins that would extend cdt. And I have met at least one issue
> for which I didn't find a way to turn around: the CModelManager creates
> only CProject objects and therefore if I subclass CProject my object is
> never going to be created by CDT. Tell me if I miss anything ....
>
> If I understand well, to extend CDT I should create new natures, but I
> can't find how to use natures to extend the CProject. Again maybe I miss
> something here...
>
> So with all of that, I thought we could make CDT a little bit more
> generic to allow to extend CProject. I thought that the CModelManager
> could create CProject (or others) based on the Nature of the IProject. I
> guess we would need also a CNature interface to create the CProject.
>
> Does that make sense ? or did I miss anything ?
> If it makes sense, we (MontaVista) are ready to work on it and
> contribute it back to the community.
>
Cool!
> If you need more details or have questions, let me know.
>
Yes more details 8-)
What is it you want to achieve.
CProject and CModelManager are not meant to be visible nor
subclass, this is why they are in
org.eclipse.cdt.internal.core.model.*
^^^^^^^^^^^^
Notice the "internal", we could probably inforce this
by changing the class scope to be package .. but probably not practical 8)
The entry point for creating a "C Project" is via the wizards.
For example org.eclipse.cdt.ui.wizards.StdMakeProjectWizard.java
creates a C Project and set the Builder to be the default make builder
i.e. spawning("make").
Other methods are helpfull in the
org.eclipse.cdt.core.CCorePlugin
and
org.eclispse.cdt.core.model.CoreModel