RE: [cdt-dev] Custom Wizard Page Operation's Run Priority
Look in the cdt cvs repository. HEAD > org.eclipse.cdt > xlc > all the
xlc projects including source.
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Karol Krizka
Sent: Monday, June 16, 2008 12:36 PM
To: CDT General developers list.
Subject: Re: [cdt-dev] Custom Wizard Page Operation's Run Priority
On Sun, Jun 15, 2008 at 2:50 PM, Hilliard, Bill
> Have you looked at the optional IBM XLC support? The
> org.eclipse.cdt.managedbuilder.xlc.ui plugin seems to do something
> to what you want. It extends the new project wizard to add a page
> allows the user to specify the path to and the version of the IBM
That might be very close to what I need to do (actually, my wizard
page looks exactly (literally) as theirs). Do you know if it's
possible to get the source of that plugin? Importing it as source has
only the manifest and I can't find it in the CVS report.
> Hope that helps (and sorry for duplication if someone already
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
> On Behalf Of Karol Krizka
> Sent: Sunday, June 15, 2008 1:29 AM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] Custom Wizard Page Operation's Run Priority
> Thanks for the reply! (more below)
> On Fri, Jun 13, 2008 at 10:31 AM, Alex Chapiro <achapiro@xxxxxxx>
>> Karol Krizka wrote:
>>> 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
>>> user will be asked to enter the configuration for the environment.
>> Actually, you shouldn't create new dialogs, it's already there. You
> can see
>> it if you on Select Configuration page press Advanced Settings
> I'm not making new dialogs, just extending the existing ones.
>> tricky thing is if you'd like calculate environment using some basic
>> parameters. In this case you can use class which implements
>> IConfigurationEnvironmentVariableSupplier interface. In my case for
>> I calculate environment from platform, compiler version, language
>> something else. To simplify users task I let him edit these more
>> parameters on the extra tab property page, then reevaluate
>> (automatically). On the other hand user can edit environment
>> Anyway, I couldn't do these changes without changing of CDT stuff.
> I'm already using that class during the build process. I just needed
> to extend the wizard page to get a few options to create the
> environment. The environment variables are set using a bash script,
> and the location of the script is what I need to get from the user.
>>> 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
>>> created, which is too late. I have several ideas on how to get
>>> 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.
>> This functionality exists in MBS and "almost" works. MBSWizardHandler
>> doCustom method. To do extra work during project creation I had to
>> invisible custom page and added custom operation to it. It works
> smooth now,
>> but unfortunately I had to change CDT stuff once again (not much, I
> Ah, I'll take a look at that method.
>>> 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
>>> 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,
>>> 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
>>> he has not configured it yet and labels with current options if he
>>> configured it, but it would be even better if I could not display
>>> anything at all.
>> Yes, you can manipulate pages visibility as well as re-evaluate
>> previous and next pages
> I was afraid someone would suggest that. :P I guess I could do some
> "splicing" to remove the page after it was loaded. I'll play a bit
> around with it.
> Karol Krizka
> cdt-dev mailing list
> cdt-dev mailing list
cdt-dev mailing list