Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Custom Wizard Page Operation's Run Priority


I am working on a CDT projectType that needs to have a certain
environment configured before it can be created. What I though of
doing is to add an custom wizard page using the
org.eclipse.cdt.managedbuilder.ui.newWizardPages extension, where the
user will be asked to enter the configuration for the environment.
Then I wanted to use the operationClass to process the information,
run the necessary commands and create the project using a template.
But the problem is that the operationClass is run after the project is
created, which is too late. I have several ideas on how to get around
this, but they seem a bit hacky and I'm wondering if there is a
cleaner way to make sure that operationClass runs before the project
is created.

Here is what I'm thinking of doing
1) Add a button to the custom wizard page that says "configure
environment". Clicking it will run what needs to be run and enables
the Next/Finish buttons of the wizard.

2) Add another custom process at the beginning of the template that
will somehow grab the options and run the scripts. I don't like this
approach, because I plan to create several templates for the
projectType, and I don't really want to make sure that the custom
process is included in every one of them...

On a slightly related topic, is it possible to dynamically add/delete
the custom page to the wizard? I know I can specity the projectType,
natureID and toolchainID of projects for which to display the page,
but that is not enough for what I need to do. The environment that
this page will be created for is specific to the entire workspace, so
I only need to display it the first time the user tries to create a
project. What I'm thinking of doing is showing editable text boxes if
he has not configured it yet and labels with current options if he has
configured it, but it would be even better if I could not display
anything at all.
Karol Krizka

Back to the top