Search code examples
eclipseeclipse-plugineclipse-rcpeclipse-cdt

Hi, is it possible to disable / not show a wizard under eclipse


is it possible to disable / not show a wizard under eclipse

For example : File -> New -> WizardName
Same way : File -> New -> Other -> Select a wizard -> Wizard Category Name -> WizardName

I can make the wizard not shown in Project Explorer view via propertyTesters.

But I want to disable a wizard under File -> New -> WizardName ...

How can we do this ?


Solution

  • I do think you could hide your wizard using the Activities Framework. The org.eclipse.ui.activities extension point allows you to define a set of UI contributions that can be collectively shown or hidden. An extension can also be created for a single UI contribution, like your wizard.

    You simply define an activity element using the extension, giving it an id and a name. You can also attach an enabledWhen element to the activity, allowing you to control its visibility using any core expression, including the test element which allows you to incorporate a property tester.

    <activity
        id="your.plugin.id.activities.controlwizardvisiblity"
        name="Control My Wizard Visibility">
        <enabledWhen>
            <test
                  property="your.property.tester.info">
            </test>
         </enabledWhen>
    </activity>
    

    Once your activity is defined, you can attach UI contributions to it using an activityPatternBinding element. The binding references the activity id created above and then specifies a pattern attribute in the format of:

    your.plugin.id/your.contribution.id
    

    The pattern can be a regular expression matching many UI contributions, or if you set the isEqualityPattern="false" the pattern can directly specify a single plugin id/contribution id combination. In your case, that's probably what you want to do, and it would look something like this.

    <activityPatternBinding
        activityId="your.plugin.id.activities.controlwizardvisiblity"
        isEqualityPattern="false"
        pattern="your.plugin.id/your.wizard.id">
    </activityPatternBinding>