Eclipse源代码分析部分(一)
Eclipse中的将工作台部分分成了视图和编辑两个方面由IWorkbenchPartFactory的两个方法createView(String,Composite,IMemento,ServiceFactory)和createEditor(String,Composite,IMemento,ServiceFactory负责创建
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
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();
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)添加一个注册改变监听器
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)比较该配置元素是否相等
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)比较该配置元素是否相等