Eclipse源代码分析部分

更新时间:2023-12-06 02:39:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Eclipse源代码分析部分

Eclipse中的将工作台部分分成了视图和编辑两个方面由:

IWorkbenchPartFactory的两个方法:createView(String,Composite,IMemento,ServiceFactory)和 createEditor(String,Composite,IMemento,ServiceFactory负责创建Eclipse中工作台的抽象接口

一、Eclipse源代码分析部分(一)

IWorkbench分析:

getDispaly()得到当前和用户交互的Display对象 getProgressService() 得到进度条的服务

addWindowListener(IWindowListener)添加一个窗口的监听器

removeWindowListener(IWindowListener) 移除一个窗口的监听器 close()关闭工作台

getActiveWorkBenchWindow()得到激活的工作台窗口

getEditorRegistry() 得到当前工作台注册了的编辑器对象IEditorRegistry

getOperationSupport()得到当前工作台可作的操作 IWorkbenchOperationSupport对象 getPerspectiveRegistry()得到当前工作台注册的透视图对象 IPerspectiveRegistry getPreferenceManager()得到当前工作台选项管理对象 PreferenceManager getSharedImages()得到当前工作台共享图像对象ISharedImages getWorkbenchWindowCount() 得到当前工作窗口数量

getWorkbenchWindows()得到当前工作台的所有工作台窗口对象IWorkbenchWindow的数组 getWorkingSetManager() 得到工作集管理器对象IWorkingSetManager

createLocalWorkingSetManager()创建一个本地工作集 管理器对象ILocalWorkingSetManager openWorkbenchWindow(String perspectiveId,

IAdaptable input)打开和创建一个工作台窗口String perspectiveId(透视图的id)IAdaptable input() showPerspective(String perspectiveId,

IWorkbenchWindow window)在工作台中显示一个透视图String perspectiveId,(透视图的id), IWorkbenchWindow window(工作台窗口)

getDecoratorManager() 得到工作台中装饰管理器对象IDecoratorManager saveAllEditors(boolean confirm)保存所有脏的编辑器到工作台

getElementFactory(sting factroyId)得到指定元素工厂id的元素工厂对象IElementFactory getActivitySupport()得到工作台 活动的支持对象IWorkbenchActivitySupport getCommandSupport()得到工作台的命令支持对象 IWorkbenchCommandSupport getContextSupport()得到工作台环紧支持对象 IWorkbenchContextSupport getThemeManager()得到工作台的主题管理器对象IThemeManager getIntroManager() 得到工作台的介绍管理器对象IIntroManager

getHelpSystem()得到工作台的帮助系统对象 IWorkbenchHelpSystem

getBrowserSupport()得到工作台的浏览支持对象 IWorkbenchBrowserSupport isClosing()工作台是否已关闭

getExtensionTracker() 得到工作台扩展跟踪对象IExtensionTracker getViewRegistry()得到工作台的视图注册器对象 IViewRegistry

getNewWizardRegistry()得到工作台的新建向导注册器对象IWizardRegistry getImportWizardRegistry() 得到工作台的导入向导注册器对象IWizardRegistry getExportWizardRegistry()得到工作台的导出向导注册 器对象IWizardRegistry

二、Eclipse源代码分析部分(二)

Eclipse中工作台Workbench分析:

createAndRunWorkbench(Display display,WorkbenchAdvisor advisor)创建并运行工作台Display display(和用户交互对象)

WorkbenchAdvisor advisor(工作台顾问对象)此方法中包括一个显示工作台runUI()方法,其中runUI()方法中有启动事件循环方法 runEventLoop(); Eclipse中IWorkbenchPage分

析:IWorkbenchPage对象是抽象了多个视图和多个编辑器的 组合方式的对象的抽象工作台页Eclipse中IWorkbenchPart分析:IWorkbenchPart对象表示为IWorkbenchPage 的任意视图和编辑器组合的的工作台部分的抽象,IWorkbenchPart被表示为IWorkbenchPage对象的一部分,Eclipse中 IExtensionRegistry分析:扩展点和扩展注册表接口

addRegistryChangeListener(IRegistryChangeListener listener, String namespace)添加一个注册改变监听器 IRegistryChangeListener listener(注册改变监听器),String namespace(命名空间) IConfigurationElement[] getConfigurationElementsFor(String extensionPointId)根据扩展ID得到配置的元素 IConfigurationElement对象

IConfigurationElement[] getConfigurationElementsFor(String namespace, String

extensionPointName)根据名字空间和扩 展点名字得到配置的元素IConfigurationElement对象 IConfigurationElement[] getConfigurationElementsFor(String namespace, String

extensionPointName, String extensionId)根据名字空间和扩展点名字和扩展点ID得到配置的元素IConfigurationElement对象

IExtension getExtension(String extensionId)根据扩展的ID得到扩展对象IExtension

IExtension getExtension(String extensionPointId, String extensionId)通过扩展点ID和扩展ID得到扩展对象IExtension

IExtension getExtension(String namespace, String extensionPointName, String extensionId)通过名字空间扩展点ID和扩展ID得到扩展对象IExtension

IExtensionPoint getExtensionPoint(String extensionPointId)通过扩展点ID得到扩展点对象

IExtensionPoint getExtensionPoint(String namespace, String extensionPointName)通过名字空间和扩展点名字得到扩展点对象

IExtensionPoint[] getExtensionPoints()得到所有扩展点对象IExtensionPoint的数组 IExtensionPoint[] getExtensionPoints(String namespace)根据名字空间得到所有扩展点 IExtensionPoint对象的数组

IExtension[] getExtensions(String namespace)根据名字空间得到所有扩展IExtension对象的数组 String[] getNamespaces()得到所有的名字空间数组

removeRegistryChangeListener(IRegistryChangeListener listener)移出一个指定的注册改变监听器 Eclipse中IConfigurationElement分析:配置的元素对象,负责创建可执行的扩展和扩展点对象 createExecutableExtension(String propertyName)根据属性名字创建可执行的扩展对象 getAttribute(String name)根据名字的到属性

String[] getAttributeNames()得到所有属性的名字

IConfigurationElement[] getChildren()得到子元素配置对象IConfigurationElement的数组 IConfigurationElement[] getChildren(String name)更具名字得到子元素配置对象IConfigurationElement的数组

IExtension getDeclaringExtension()得到一个声明了的扩展对象IExtension getName()得到这个配置元素的名字 getParent() 得到这个配置元素的父亲 getValue()得到这个配置元素的值

getNamespace()得到这个配置元素的名字空间 isValid() 该配置元素是否为空

equals(Object o)比较该配置元素是否相等

本文来源:https://www.bwwdw.com/article/5mrt.html

Top