`
zhaozhongwei
  • 浏览: 52747 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

org.eclipse.core.expressions.propertyTesters

阅读更多

   <extension point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
        id="org.eclipse.jdt.core.javaElementPropertyTester"
        class="org.eclipse.jdt.internal.core.manipulation.JavaElementPropertyTester"
        namespace="org.eclipse.jdt.core"
        properties="name,isInJavaProject,isInJavaProjectWithNature,isOnClasspath,hasTypeOnClasspath,inSourceFolder,inArchive,inExternalArchive,projectOption"
        type="org.eclipse.jdt.core.IJavaElement"/>
   </extension>

 

用法:

                  <adapt type="org.eclipse.jdt.core.IJavaElement">
                   <test property="org.eclipse.jdt.core.isInJavaProject"/>
                  </adapt>

 

 

         <enabledWhen>
            <and>
        <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
        <not>
          <test property="org.eclipse.jdt.core.inSourceFolder"/>
        </not>
      </and>
         </enabledWhen>

JavaElementPropertyTester继承PropertyTester,实现test方法,被test的对象是第一个参数,property如isInJavaProject,inSourceFolder是第二个参数,第三个参数是参数,第四个参数是期望值,如:

         <enabledWhen>
       <adapt type="org.eclipse.core.resources.IProject">
            <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
       </adapt>        
         </enabledWhen>

 

里面的value是第四个参数

 

 

 

点右键出现的properties是通过org.eclipse.ui.propertyPages来扩展的

 

 

 

 

 

 

   <extension point="org.eclipse.ui.commands">

      <command
            name="%ActionDefinition.stepIntoSelection.name"
            description="%ActionDefinition.stepIntoSelection.description"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.jdt.debug.ui.commands.StepIntoSelection">
      </command>

   </extension>

 

   <extension point="org.eclipse.ui.bindings">
      <key
            sequence="M1+F5"
            contextId="org.eclipse.debug.ui.debugging"
            commandId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>

   </extension>

 

 

         <action
               class="org.eclipse.jdt.internal.debug.ui.actions.StepIntoSelectionActionDelegate"
               definitionId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection"
               enablesFor="*"
               helpContextId="step_into_selection_action_context"
               id="org.eclipse.jdt.debug.ui.cuPopup.StepIntoSelection"
               label="%stepIntoSelectionAction.label"
               menubarPath="additions">
         </action>

 

definitionId是commandId

 

 

 

codeassist与ContentAssistAction,ContentAssistant,CompletionProposalPopup,显示的是CompletionProposalPopup#fProposalShell

 

 

 

Using Fast Views in Eclipse RCP

In Adding the error view to RCP application one commenter asked how he could add a view as a fast view to an Eclipse RCP application.

To add views as fast view to your RCP application you have to do two things:

1.) Add your view as “fast” via the perspective extension point

 

 

2.) Activate the FastViewBar via the ApplicationWorkbenchWindow Advisor (configurer.setShowFastViewBars(true);)

package de.vogella.test;

import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        super(configurer);
    }

    @Override
	public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
        return new ApplicationActionBarAdvisor(configurer);
    }

    @Override
	public void preWindowOpen() {
    	IWorkbenchWindowConfigurer configurer = getWindowConfigurer();

    	configurer.setInitialSize(new Point(1024, 800));
		configurer.setShowStatusLine(true);
		configurer.setTitle("Network Analyser");
		configurer.setShowFastViewBars(true);
    }

}

This should be sufficient to show your view in your RCP application in the fast view pane.

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics