Changes are made in New Project Wizard
code.
Currently, all public interfaces used for wizard
are moved to org.eclipse.cdt.ui.wizards
from org.eclipse.managedbuilder.ui.
All wizard functionality is located in class
org.eclipse.cdt.ui.wizards.CDTCommonProjectWizard
There are
3 its
descendants:
org.eclipse.cdt.ui.wizards.CProjectWizard
org.eclipse.cdt.ui.wizards.CCProjectWizard
org.eclipse.cdt.ui.wizards.CDTProjectWizard
they differ only in project natures created.
No need to modify
these classes in order to integrate new wizard
functionality.
Just create
extension for the following extension
point:
org.eclipse.cdt.ui.CDTWizard
Only "class"
parameter matters now. It should implement
interface
org.eclipse.cdt.ui.wizards
.ICNewWizard
Currently, there
are 2 extensions implemented:
org.eclipse.cdt.managedbuilder.ui.wizards.
StdBuildWizard
org.eclipse.cdt.managedbuilder.ui.wizards.CNewWizard
Method createItems() is the core functionality of these
classes.
It should return an array of WizardItemData
elements.
Each element represents single TreeItem on the left
pane
of New Project Model.
Elements are ordered hierarchically on a basis
of
WizardItemData.id <-> WizardItemData.parentId
correspondence.
Elements with null parentId are added to tree
root.
WizardItemData.handler contains all project-creation
logic.
If
this field is null, corresponding tree item would do nothing
-
the
only its function may be to contain children.
Handler should implement
interface
org.eclipse.cdt.ui.wizards.ICWizardHandler
There
are the following implementors
now:
org.eclipse.cdt.ui.
wizards.CWizardHandler
not abstract but really
useless. Base
only.
o
rg.eclipse.cdt.managedbuilder.ui.wizards.MBSWizardHandler
o
rg.eclipse.cdt.managedbuilder.ui.wizards.STDWizardHandler
these
classes perform all work while project creation.
So, to
integrate new wizard feature, we need:
-
create CDTWizard extension.
-
develop ICNewWizard implementor.
-
develop one or more ICWizardHandler
implementors.
That's
all.
But note that some API changes are probable
after templates engine
integration.
-----------------------------------
With best regards, Oleg Krasilnikov
Software designer, Eclipse team.
Intel corp.
+7 8312 162 444 ext. 2587
(Russia, Nizhny Novgorod)
Hello Sheldon.
Unfortunately, CDT project creation model is "under
construction" just now.
Some serious changes are planned. See details
at:
I hope changes will finish by the end of this
week.
-----------------------------------
With best regards, Oleg Krasilnikov
Software designer, Eclipse team.
Intel corp.
+7 8312 162 444 ext. 2587
(Russia, Nizhny Novgorod)
Hi,
I am currently
using the old cdt project creation model, I have to update to the new model to
provide other options like shared library creation. Where do i start and what
are the sources i should have a look at in order to migrate to the new project
creation model.
Regards,
Sheldon
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev