在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Eclipse 插件开发 学习笔记 源代码

Eclipse 插件开发 学习笔记 源代码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:12.06M
  • 下载次数:9
  • 浏览次数:121
  • 发布时间:2020-07-02
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.rar
  • 所需积分:2
 

实例介绍

【实例简介】
免分资源 Eclipse插件开发学习笔记-源代码1至24章.rar
【实例截图】
【核心代码】
Eclipse插件开发学习笔记-源代码1至24章
├── chapter1-8
│   ├── ch1-8
│   │   ├── book
│   │   │   ├── ch19
│   │   │   │   └── resourcebundle
│   │   │   │   ├── list
│   │   │   │   │   ├── ListResourceBundleDemo.java
│   │   │   │   │   ├── Messages.java
│   │   │   │   │   └── Messages_zh_CN.java
│   │   │   │   └── property
│   │   │   │   ├── Messages.properties
│   │   │   │   ├── Messages_zh_CN.properties
│   │   │   │   └── PropertyResourceBundleDemo.java
│   │   │   ├── ch2
│   │   │   │   ├── ContentProposal.java
│   │   │   │   ├── FieldHelper.java
│   │   │   │   ├── HelloSWT.java
│   │   │   │   ├── image.bmp
│   │   │   │   └── saf.java
│   │   │   ├── ch3
│   │   │   │   ├── BlankWindow.java
│   │   │   │   ├── ColoredLabel.java
│   │   │   │   ├── ManualDispose.java
│   │   │   │   ├── MonitorInfo.java
│   │   │   │   ├── MyShell.java
│   │   │   │   ├── ShellDependency.java
│   │   │   │   ├── UIThread_1.java
│   │   │   │   ├── UIThread_2.java
│   │   │   │   ├── UsingFont.java
│   │   │   │   ├── UsingImage.java
│   │   │   │   ├── UsingRegion.java
│   │   │   │   ├── UsingSwing.java
│   │   │   │   ├── UsingSystemTray.java
│   │   │   │   └── buttonImage.gif
│   │   │   ├── ch4
│   │   │   │   ├── ComboCoolBar.java
│   │   │   │   ├── EnhancedToolBar.java
│   │   │   │   ├── FileDialog_1.java
│   │   │   │   ├── FileDialog_2.java
│   │   │   │   ├── FileDialog_3.java
│   │   │   │   ├── ListSelection.java
│   │   │   │   ├── MonitorCombo.java
│   │   │   │   ├── MonitorMenu.java
│   │   │   │   ├── MonitorTab.java
│   │   │   │   ├── SimpleCombo.java
│   │   │   │   ├── Snippet167.java
│   │   │   │   ├── SpecialText.java
│   │   │   │   ├── ToolBarCoolBar.java
│   │   │   │   ├── UsingButton.java
│   │   │   │   ├── UsingColorDialog.java
│   │   │   │   ├── UsingCombo.java
│   │   │   │   ├── UsingCoolBar.java
│   │   │   │   ├── UsingDirectoryDialog.java
│   │   │   │   ├── UsingFontDialog.java
│   │   │   │   ├── UsingLabel.java
│   │   │   │   ├── UsingLabel_2.java
│   │   │   │   ├── UsingList.java
│   │   │   │   ├── UsingMenu.java
│   │   │   │   ├── UsingMessageBox_1.java
│   │   │   │   ├── UsingMessageBox_2.java
│   │   │   │   ├── UsingMultiLineText.java
│   │   │   │   ├── UsingTab.java
│   │   │   │   ├── UsingText.java
│   │   │   │   ├── UsingToolbar.java
│   │   │   │   ├── demo.gif
│   │   │   │   ├── image1.bmp
│   │   │   │   ├── image2.bmp
│   │   │   │   ├── menu1.gif
│   │   │   │   ├── menu2.gif
│   │   │   │   ├── toolbar1.gif
│   │   │   │   ├── toolbar2.gif
│   │   │   │   ├── toolbar3.gif
│   │   │   │   └── toolbar4.gif
│   │   │   ├── ch5
│   │   │   │   ├── CompositeCursor.java
│   │   │   │   ├── CreateComposite.java
│   │   │   │   ├── CreatingGroup.java
│   │   │   │   ├── CreatingShellContextMenu.java
│   │   │   │   ├── MonitorShell.java
│   │   │   │   ├── MyControl.java
│   │   │   │   ├── MyData.java
│   │   │   │   ├── MyLayout.java
│   │   │   │   ├── NoRadioComposite.java
│   │   │   │   ├── ShellBackground.java
│   │   │   │   ├── ShellBackgroundMode.java
│   │   │   │   ├── ShellModality.java
│   │   │   │   ├── UsingFillLayout.java
│   │   │   │   ├── UsingFormLayout.java
│   │   │   │   ├── UsingGridLayout.java
│   │   │   │   ├── UsingMyControl.java
│   │   │   │   ├── UsingMyLayout.java
│   │   │   │   ├── UsingRowLayout.java
│   │   │   │   ├── UsingStackLayout.java
│   │   │   │   ├── cursor.gif
│   │   │   │   └── image1.bmp
│   │   │   ├── ch6
│   │   │   │   ├── AControl.java
│   │   │   │   ├── MyShell.java
│   │   │   │   └── MyShell2.java
│   │   │   ├── ch7
│   │   │   │   ├── list
│   │   │   │   │   ├── ListContentProvider.java
│   │   │   │   │   ├── ListLabelProvider.java
│   │   │   │   │   ├── ListModel.java
│   │   │   │   │   ├── User.java
│   │   │   │   │   └── UsingListViewer.java
│   │   │   │   ├── scroll
│   │   │   │   │   ├── ScrollableImageViewer.java
│   │   │   │   │   ├── UsingScrollBar.java
│   │   │   │   │   └── dddgs04.jpg
│   │   │   │   ├── table
│   │   │   │   │   ├── TableContentProvider.java
│   │   │   │   │   ├── TableLabelProvider.java
│   │   │   │   │   ├── UsingTable.java
│   │   │   │   │   ├── UsingTableViewer.java
│   │   │   │   │   ├── icon1.gif
│   │   │   │   │   └── icon2.gif
│   │   │   │   ├── texteditor
│   │   │   │   │   ├── TextEditor1.java
│   │   │   │   │   ├── TextEditor2.java
│   │   │   │   │   └── TextEditor3.java
│   │   │   │   └── tree
│   │   │   │   ├── User.java
│   │   │   │   ├── UserStructure.java
│   │   │   │   ├── UserTreeContentProvider.java
│   │   │   │   ├── UsingTree.java
│   │   │   │   └── UsingTreeViewer.java
│   │   │   └── ch8
│   │   │   ├── action
│   │   │   │   ├── ActionDemoShell.java
│   │   │   │   ├── MyAction.java
│   │   │   │   └── toolbar1.gif
│   │   │   └── event
│   │   │   ├── DrawLineInShell.java
│   │   │   └── SimulateEvent.java
│   │   └── com
│   │   └── swtdesigner
│   │   └── SWTResourceManager.java
│   └── 第1-8章程序说明.doc
├── chapter10
│   ├── 10章程序说明.doc
│   ├── 10章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   ├── Activator.class
│   │   └── views
│   │   ├── AddressView$1.class
│   │   ├── AddressView$2.class
│   │   ├── AddressView$3.class
│   │   ├── AddressView$4.class
│   │   ├── AddressView$5.class
│   │   ├── AddressView$NameSorter.class
│   │   ├── AddressView$ViewContentProvider.class
│   │   ├── AddressView$ViewLabelProvider.class
│   │   └── AddressView.class
│   ├── build.properties
│   ├── icons
│   │   └── sample.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   └── plugindev
│   └── addressbook
│   ├── Activator.java
│   └── views
│   └── AddressView.java
├── chapter11
│   ├── 11章程序说明.doc
│   ├── 11章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   ├── Activator.class
│   │   ├── actions
│   │   │   └── OpenAddressViewAction.class
│   │   ├── example
│   │   │   ├── EditorExampleAction.class
│   │   │   ├── ObjExampleAction.class
│   │   │   ├── TopEditorAction.class
│   │   │   ├── ViewExampleAction.class
│   │   │   └── ViewerExampleAction.class
│   │   └── views
│   │   ├── AddressView$1.class
│   │   ├── AddressView$2.class
│   │   ├── AddressView$3.class
│   │   ├── AddressView$4.class
│   │   ├── AddressView$5.class
│   │   ├── AddressView$NameSorter.class
│   │   ├── AddressView$ViewContentProvider.class
│   │   ├── AddressView$ViewLabelProvider.class
│   │   └── AddressView.class
│   ├── build.properties
│   ├── icons
│   │   └── sample.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   └── plugindev
│   └── addressbook
│   ├── Activator.java
│   ├── actions
│   │   └── OpenAddressViewAction.java
│   ├── example
│   │   ├── EditorExampleAction.java
│   │   ├── ObjExampleAction.java
│   │   ├── TopEditorAction.java
│   │   ├── ViewExampleAction.java
│   │   └── ViewerExampleAction.java
│   └── views
│   └── AddressView.java
├── chapter12
│   ├── 12章程序说明.doc
│   ├── 12章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   ├── Activator.class
│   │   ├── actions
│   │   │   ├── AddAddressAction.class
│   │   │   ├── AddressViewerFilterAction.class
│   │   │   ├── DeleteAddressAction.class
│   │   │   └── OpenAddressViewAction.class
│   │   ├── example
│   │   │   ├── EditorExampleAction.class
│   │   │   ├── ObjExampleAction.class
│   │   │   ├── TopEditorAction.class
│   │   │   ├── ViewExampleAction.class
│   │   │   └── ViewerExampleAction.class
│   │   ├── models
│   │   │   ├── AddressCategory$1.class
│   │   │   ├── AddressCategory$2.class
│   │   │   ├── AddressCategory$3.class
│   │   │   ├── AddressCategory$4.class
│   │   │   ├── AddressCategory$5.class
│   │   │   ├── AddressCategory$6.class
│   │   │   ├── AddressCategory$7.class
│   │   │   ├── AddressCategory$8.class
│   │   │   ├── AddressCategory$9.class
│   │   │   ├── AddressCategory.class
│   │   │   ├── AddressItem.class
│   │   │   ├── AddressItemPropertySource$1.class
│   │   │   ├── AddressItemPropertySource$2.class
│   │   │   ├── AddressItemPropertySource.class
│   │   │   ├── AddressManager.class
│   │   │   ├── AddressManagerEvent.class
│   │   │   └── AddressManagerListener.class
│   │   ├── util
│   │   │   ├── ImageCache.class
│   │   │   ├── ImageKeys.class
│   │   │   ├── StringMatcher$Position.class
│   │   │   └── StringMatcher.class
│   │   └── views
│   │   ├── AddressView$1.class
│   │   ├── AddressView$2.class
│   │   ├── AddressView$3.class
│   │   ├── AddressView$4.class
│   │   ├── AddressView$5.class
│   │   ├── AddressView$6.class
│   │   ├── AddressView$7.class
│   │   ├── AddressView$8.class
│   │   ├── AddressView.class
│   │   ├── AddressViewContentProvider.class
│   │   ├── AddressViewLabelProvider.class
│   │   ├── AddressViewerCategoryFilter.class
│   │   ├── AddressViewerSorter$1.class
│   │   ├── AddressViewerSorter$SortInfo.class
│   │   └── AddressViewerSorter.class
│   ├── build.properties
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── people.gif
│   │   └── sample.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   └── plugindev
│   └── addressbook
│   ├── Activator.java
│   ├── actions
│   │   ├── AddAddressAction.java
│   │   ├── AddressViewerFilterAction.java
│   │   ├── DeleteAddressAction.java
│   │   └── OpenAddressViewAction.java
│   ├── example
│   │   ├── EditorExampleAction.java
│   │   ├── ObjExampleAction.java
│   │   ├── TopEditorAction.java
│   │   ├── ViewExampleAction.java
│   │   └── ViewerExampleAction.java
│   ├── models
│   │   ├── AddressCategory.java
│   │   ├── AddressItem.java
│   │   ├── AddressItemPropertySource.java
│   │   ├── AddressManager.java
│   │   ├── AddressManagerEvent.java
│   │   └── AddressManagerListener.java
│   ├── util
│   │   ├── ImageCache.java
│   │   ├── ImageKeys.java
│   │   └── StringMatcher.java
│   └── views
│   ├── AddressView.java
│   ├── AddressViewContentProvider.java
│   ├── AddressViewLabelProvider.java
│   ├── AddressViewerCategoryFilter.java
│   └── AddressViewerSorter.java
├── chapter13
│   ├── 13章程序说明.doc
│   ├── 13章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   ├── Activator.class
│   │   ├── IPageLayout.class
│   │   ├── actions
│   │   │   ├── AddAddressAction.class
│   │   │   ├── AddressViewerFilterAction.class
│   │   │   ├── DeleteAddressAction.class
│   │   │   ├── OpenAddressViewAction.class
│   │   │   └── OpenFormEditorAction.class
│   │   ├── editors
│   │   │   ├── AddressFormEditor.class
│   │   │   ├── AddressFormEditorContributor.class
│   │   │   ├── MasterDetailsPage.class
│   │   │   ├── PageWithSubPages$1.class
│   │   │   ├── PageWithSubPages$2.class
│   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   ├── PageWithSubPages.class
│   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   ├── SourcePage$1.class
│   │   │   ├── SourcePage.class
│   │   │   ├── actions
│   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   └── SaveAction.class
│   │   │   └── models
│   │   │   ├── AddressList.class
│   │   │   ├── AddressListManager.class
│   │   │   ├── AddressListProperties$1.class
│   │   │   ├── AddressListProperties$2.class
│   │   │   ├── AddressListProperties.class
│   │   │   ├── AreaAddressList.class
│   │   │   ├── AreaAddressListProperties.class
│   │   │   ├── BasicAddressList.class
│   │   │   ├── BasicAddressListProperties.class
│   │   │   ├── ChoiceItemContents.class
│   │   │   ├── FormEditorInput.class
│   │   │   ├── IManagerListener.class
│   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   ├── MYXMLMemento.class
│   │   │   ├── MasterContentProvider.class
│   │   │   ├── MasterLabelProvider.class
│   │   │   ├── PhoneAddressList.class
│   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   ├── SimpleFormEditorInput.class
│   │   │   └── TextItemContents.class
│   │   ├── example
│   │   │   ├── EditorExampleAction.class
│   │   │   ├── ObjExampleAction.class
│   │   │   ├── TopEditorAction.class
│   │   │   ├── ViewExampleAction.class
│   │   │   └── ViewerExampleAction.class
│   │   ├── models
│   │   │   ├── AddressCategory$1.class
│   │   │   ├── AddressCategory$2.class
│   │   │   ├── AddressCategory$3.class
│   │   │   ├── AddressCategory$4.class
│   │   │   ├── AddressCategory$5.class
│   │   │   ├── AddressCategory$6.class
│   │   │   ├── AddressCategory$7.class
│   │   │   ├── AddressCategory$8.class
│   │   │   ├── AddressCategory$9.class
│   │   │   ├── AddressCategory.class
│   │   │   ├── AddressItem.class
│   │   │   ├── AddressItemPropertySource$1.class
│   │   │   ├── AddressItemPropertySource$2.class
│   │   │   ├── AddressItemPropertySource.class
│   │   │   ├── AddressManager.class
│   │   │   ├── AddressManagerEvent.class
│   │   │   └── AddressManagerListener.class
│   │   ├── util
│   │   │   ├── ImageCache.class
│   │   │   ├── ImageKeys.class
│   │   │   ├── Messages.class
│   │   │   ├── StringMatcher$Position.class
│   │   │   └── StringMatcher.class
│   │   └── views
│   │   ├── AddressView$1.class
│   │   ├── AddressView$2.class
│   │   ├── AddressView$3.class
│   │   ├── AddressView$4.class
│   │   ├── AddressView$5.class
│   │   ├── AddressView$6.class
│   │   ├── AddressView$7.class
│   │   ├── AddressView$8.class
│   │   ├── AddressView.class
│   │   ├── AddressViewContentProvider.class
│   │   ├── AddressViewLabelProvider.class
│   │   ├── AddressViewerCategoryFilter.class
│   │   ├── AddressViewerSorter$1.class
│   │   ├── AddressViewerSorter$SortInfo.class
│   │   └── AddressViewerSorter.class
│   ├── build.properties
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   └── plugindev
│   └── addressbook
│   ├── Activator.java
│   ├── IPageLayout.java
│   ├── actions
│   │   ├── AddAddressAction.java
│   │   ├── AddressViewerFilterAction.java
│   │   ├── DeleteAddressAction.java
│   │   ├── OpenAddressViewAction.java
│   │   └── OpenFormEditorAction.java
│   ├── editors
│   │   ├── AddressFormEditor.java
│   │   ├── AddressFormEditorContributor.java
│   │   ├── MasterDetailsPage.java
│   │   ├── PageWithSubPages.java
│   │   ├── ScrolledPropertiesBlock.java
│   │   ├── SourcePage.java
│   │   ├── actions
│   │   │   ├── RemoveAddressListAction.java
│   │   │   └── SaveAction.java
│   │   └── models
│   │   ├── AddressList.java
│   │   ├── AddressListManager.java
│   │   ├── AddressListProperties.java
│   │   ├── AreaAddressList.java
│   │   ├── AreaAddressListProperties.java
│   │   ├── BasicAddressList.java
│   │   ├── BasicAddressListProperties.java
│   │   ├── ChoiceItemContents.java
│   │   ├── FormEditorInput.java
│   │   ├── IManagerListener.java
│   │   ├── MYXMLMemento.java
│   │   ├── MasterContentProvider.java
│   │   ├── MasterLabelProvider.java
│   │   ├── PhoneAddressList.java
│   │   ├── PhoneAddressListItemProperties.java
│   │   ├── SimpleFormEditorInput.java
│   │   └── TextItemContents.java
│   ├── example
│   │   ├── EditorExampleAction.java
│   │   ├── ObjExampleAction.java
│   │   ├── TopEditorAction.java
│   │   ├── ViewExampleAction.java
│   │   └── ViewerExampleAction.java
│   ├── models
│   │   ├── AddressCategory.java
│   │   ├── AddressItem.java
│   │   ├── AddressItemPropertySource.java
│   │   ├── AddressManager.java
│   │   ├── AddressManagerEvent.java
│   │   └── AddressManagerListener.java
│   ├── util
│   │   ├── ImageCache.java
│   │   ├── ImageKeys.java
│   │   ├── Messages.java
│   │   └── StringMatcher.java
│   └── views
│   ├── AddressView.java
│   ├── AddressViewContentProvider.java
│   ├── AddressViewLabelProvider.java
│   ├── AddressViewerCategoryFilter.java
│   └── AddressViewerSorter.java
├── chapter14
│   ├── 14章程序说明.doc
│   ├── 14章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   ├── Activator.class
│   │   ├── IPageLayout.class
│   │   ├── actions
│   │   │   ├── AddAddressAction.class
│   │   │   ├── AddressViewerFilterAction.class
│   │   │   ├── DeleteAddressAction.class
│   │   │   ├── OpenAddressViewAction.class
│   │   │   └── OpenFormEditorAction.class
│   │   ├── dialogs
│   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   └── AddressViewFilterDialog.class
│   │   ├── editors
│   │   │   ├── AddressFormEditor.class
│   │   │   ├── AddressFormEditorContributor.class
│   │   │   ├── MasterDetailsPage.class
│   │   │   ├── PageWithSubPages$1.class
│   │   │   ├── PageWithSubPages$2.class
│   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   ├── PageWithSubPages.class
│   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   ├── SourcePage$1.class
│   │   │   ├── SourcePage.class
│   │   │   ├── actions
│   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   └── SaveAction.class
│   │   │   └── models
│   │   │   ├── AddressList.class
│   │   │   ├── AddressListManager.class
│   │   │   ├── AddressListProperties$1.class
│   │   │   ├── AddressListProperties$2.class
│   │   │   ├── AddressListProperties.class
│   │   │   ├── AreaAddressList.class
│   │   │   ├── AreaAddressListProperties.class
│   │   │   ├── BasicAddressList.class
│   │   │   ├── BasicAddressListProperties.class
│   │   │   ├── ChoiceItemContents.class
│   │   │   ├── FormEditorInput.class
│   │   │   ├── IManagerListener.class
│   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   ├── MYXMLMemento.class
│   │   │   ├── MasterContentProvider.class
│   │   │   ├── MasterLabelProvider.class
│   │   │   ├── PhoneAddressList.class
│   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   ├── SimpleFormEditorInput.class
│   │   │   └── TextItemContents.class
│   │   ├── example
│   │   │   ├── EditorExampleAction.class
│   │   │   ├── ObjExampleAction.class
│   │   │   ├── TopEditorAction.class
│   │   │   ├── ViewExampleAction.class
│   │   │   └── ViewerExampleAction.class
│   │   ├── models
│   │   │   ├── AddressCategory$1.class
│   │   │   ├── AddressCategory$2.class
│   │   │   ├── AddressCategory$3.class
│   │   │   ├── AddressCategory$4.class
│   │   │   ├── AddressCategory$5.class
│   │   │   ├── AddressCategory$6.class
│   │   │   ├── AddressCategory$7.class
│   │   │   ├── AddressCategory$8.class
│   │   │   ├── AddressCategory$9.class
│   │   │   ├── AddressCategory.class
│   │   │   ├── AddressItem.class
│   │   │   ├── AddressItemPropertySource$1.class
│   │   │   ├── AddressItemPropertySource$2.class
│   │   │   ├── AddressItemPropertySource.class
│   │   │   ├── AddressManager.class
│   │   │   ├── AddressManagerEvent.class
│   │   │   └── AddressManagerListener.class
│   │   ├── perspectives
│   │   │   └── AddressBookPerspectiveFactory.class
│   │   ├── util
│   │   │   ├── ImageCache.class
│   │   │   ├── ImageKeys.class
│   │   │   ├── Messages.class
│   │   │   ├── StringMatcher$Position.class
│   │   │   └── StringMatcher.class
│   │   └── views
│   │   ├── AddressView$1.class
│   │   ├── AddressView$2.class
│   │   ├── AddressView$3.class
│   │   ├── AddressView$4.class
│   │   ├── AddressView$5.class
│   │   ├── AddressView$6.class
│   │   ├── AddressView$7.class
│   │   ├── AddressView$8.class
│   │   ├── AddressView.class
│   │   ├── AddressViewContentProvider.class
│   │   ├── AddressViewLabelProvider.class
│   │   ├── AddressViewerCategoryFilter.class
│   │   ├── AddressViewerNameFilter.class
│   │   ├── AddressViewerSorter$1.class
│   │   ├── AddressViewerSorter$SortInfo.class
│   │   └── AddressViewerSorter.class
│   ├── build.properties
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   └── plugindev
│   └── addressbook
│   ├── Activator.java
│   ├── IPageLayout.java
│   ├── actions
│   │   ├── AddAddressAction.java
│   │   ├── AddressViewerFilterAction.java
│   │   ├── DeleteAddressAction.java
│   │   ├── OpenAddressViewAction.java
│   │   └── OpenFormEditorAction.java
│   ├── dialogs
│   │   └── AddressViewFilterDialog.java
│   ├── editors
│   │   ├── AddressFormEditor.java
│   │   ├── AddressFormEditorContributor.java
│   │   ├── MasterDetailsPage.java
│   │   ├── PageWithSubPages.java
│   │   ├── ScrolledPropertiesBlock.java
│   │   ├── SourcePage.java
│   │   ├── actions
│   │   │   ├── RemoveAddressListAction.java
│   │   │   └── SaveAction.java
│   │   └── models
│   │   ├── AddressList.java
│   │   ├── AddressListManager.java
│   │   ├── AddressListProperties.java
│   │   ├── AreaAddressList.java
│   │   ├── AreaAddressListProperties.java
│   │   ├── BasicAddressList.java
│   │   ├── BasicAddressListProperties.java
│   │   ├── ChoiceItemContents.java
│   │   ├── FormEditorInput.java
│   │   ├── IManagerListener.java
│   │   ├── MYXMLMemento.java
│   │   ├── MasterContentProvider.java
│   │   ├── MasterLabelProvider.java
│   │   ├── PhoneAddressList.java
│   │   ├── PhoneAddressListItemProperties.java
│   │   ├── SimpleFormEditorInput.java
│   │   └── TextItemContents.java
│   ├── example
│   │   ├── EditorExampleAction.java
│   │   ├── ObjExampleAction.java
│   │   ├── TopEditorAction.java
│   │   ├── ViewExampleAction.java
│   │   └── ViewerExampleAction.java
│   ├── models
│   │   ├── AddressCategory.java
│   │   ├── AddressItem.java
│   │   ├── AddressItemPropertySource.java
│   │   ├── AddressManager.java
│   │   ├── AddressManagerEvent.java
│   │   └── AddressManagerListener.java
│   ├── perspectives
│   │   └── AddressBookPerspectiveFactory.java
│   ├── util
│   │   ├── ImageCache.java
│   │   ├── ImageKeys.java
│   │   ├── Messages.java
│   │   └── StringMatcher.java
│   └── views
│   ├── AddressView.java
│   ├── AddressViewContentProvider.java
│   ├── AddressViewLabelProvider.java
│   ├── AddressViewerCategoryFilter.java
│   ├── AddressViewerNameFilter.java
│   └── AddressViewerSorter.java
├── chapter15
│   ├── 15章程序说明.doc
│   ├── 15章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.class
│   │   │   ├── IPageLayout.class
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.class
│   │   │   │   ├── AddressViewerFilterAction.class
│   │   │   │   ├── DeleteAddressAction.class
│   │   │   │   ├── OpenAddressViewAction.class
│   │   │   │   └── OpenFormEditorAction.class
│   │   │   ├── dialogs
│   │   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   │   └── AddressViewFilterDialog.class
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor.class
│   │   │   │   ├── AddressFormEditorContributor.class
│   │   │   │   ├── MasterDetailsPage.class
│   │   │   │   ├── PageWithSubPages$1.class
│   │   │   │   ├── PageWithSubPages$2.class
│   │   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   │   ├── PageWithSubPages.class
│   │   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   │   ├── SourcePage$1.class
│   │   │   │   ├── SourcePage.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   │   └── SaveAction.class
│   │   │   │   └── models
│   │   │   │   ├── AddressList.class
│   │   │   │   ├── AddressListManager.class
│   │   │   │   ├── AddressListProperties$1.class
│   │   │   │   ├── AddressListProperties$2.class
│   │   │   │   ├── AddressListProperties.class
│   │   │   │   ├── AreaAddressList.class
│   │   │   │   ├── AreaAddressListProperties.class
│   │   │   │   ├── BasicAddressList.class
│   │   │   │   ├── BasicAddressListProperties.class
│   │   │   │   ├── ChoiceItemContents.class
│   │   │   │   ├── FormEditorInput.class
│   │   │   │   ├── IManagerListener.class
│   │   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   │   ├── MYXMLMemento.class
│   │   │   │   ├── MasterContentProvider.class
│   │   │   │   ├── MasterLabelProvider.class
│   │   │   │   ├── PhoneAddressList.class
│   │   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   │   ├── SimpleFormEditorInput.class
│   │   │   │   └── TextItemContents.class
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.class
│   │   │   │   ├── ObjExampleAction.class
│   │   │   │   ├── TopEditorAction.class
│   │   │   │   ├── ViewExampleAction.class
│   │   │   │   └── ViewerExampleAction.class
│   │   │   ├── models
│   │   │   │   ├── AddressCategory$1.class
│   │   │   │   ├── AddressCategory$2.class
│   │   │   │   ├── AddressCategory$3.class
│   │   │   │   ├── AddressCategory$4.class
│   │   │   │   ├── AddressCategory$5.class
│   │   │   │   ├── AddressCategory$6.class
│   │   │   │   ├── AddressCategory$7.class
│   │   │   │   ├── AddressCategory$8.class
│   │   │   │   ├── AddressCategory$9.class
│   │   │   │   ├── AddressCategory.class
│   │   │   │   ├── AddressItem.class
│   │   │   │   ├── AddressItemPropertySource$1.class
│   │   │   │   ├── AddressItemPropertySource$2.class
│   │   │   │   ├── AddressItemPropertySource.class
│   │   │   │   ├── AddressManager.class
│   │   │   │   ├── AddressManagerEvent.class
│   │   │   │   └── AddressManagerListener.class
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.class
│   │   │   ├── util
│   │   │   │   ├── ImageCache.class
│   │   │   │   ├── ImageKeys.class
│   │   │   │   ├── Messages.class
│   │   │   │   ├── StringMatcher$Position.class
│   │   │   │   └── StringMatcher.class
│   │   │   ├── views
│   │   │   │   ├── AddressView$1.class
│   │   │   │   ├── AddressView$2.class
│   │   │   │   ├── AddressView$3.class
│   │   │   │   ├── AddressView$4.class
│   │   │   │   ├── AddressView$5.class
│   │   │   │   ├── AddressView$6.class
│   │   │   │   ├── AddressView$7.class
│   │   │   │   ├── AddressView$8.class
│   │   │   │   ├── AddressView.class
│   │   │   │   ├── AddressViewContentProvider.class
│   │   │   │   ├── AddressViewLabelProvider.class
│   │   │   │   ├── AddressViewerCategoryFilter.class
│   │   │   │   ├── AddressViewerNameFilter.class
│   │   │   │   ├── AddressViewerSorter$1.class
│   │   │   │   ├── AddressViewerSorter$SortInfo.class
│   │   │   │   └── AddressViewerSorter.class
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.class
│   │   │   ├── NewAddressItemWizard$1.class
│   │   │   ├── NewAddressItemWizard$2.class
│   │   │   ├── NewAddressItemWizard.class
│   │   │   ├── NewAddressItemWizardPage$1.class
│   │   │   ├── NewAddressItemWizardPage$2.class
│   │   │   ├── NewAddressItemWizardPage.class
│   │   │   └── TableViewerLabelProvider.class
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.class
│   │   ├── ResourceManager.class
│   │   ├── SWTResourceManager$1.class
│   │   ├── SWTResourceManager$2.class
│   │   ├── SWTResourceManager.class
│   │   └── preference
│   │   ├── ComboFieldEditor$1.class
│   │   └── ComboFieldEditor.class
│   ├── build.properties
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   ├── plugindev
│   │   └── addressbook
│   │   ├── Activator.java
│   │   ├── IPageLayout.java
│   │   ├── actions
│   │   │   ├── AddAddressAction.java
│   │   │   ├── AddressViewerFilterAction.java
│   │   │   ├── DeleteAddressAction.java
│   │   │   ├── OpenAddressViewAction.java
│   │   │   └── OpenFormEditorAction.java
│   │   ├── dialogs
│   │   │   └── AddressViewFilterDialog.java
│   │   ├── editors
│   │   │   ├── AddressFormEditor.java
│   │   │   ├── AddressFormEditorContributor.java
│   │   │   ├── MasterDetailsPage.java
│   │   │   ├── PageWithSubPages.java
│   │   │   ├── ScrolledPropertiesBlock.java
│   │   │   ├── SourcePage.java
│   │   │   ├── actions
│   │   │   │   ├── RemoveAddressListAction.java
│   │   │   │   └── SaveAction.java
│   │   │   └── models
│   │   │   ├── AddressList.java
│   │   │   ├── AddressListManager.java
│   │   │   ├── AddressListProperties.java
│   │   │   ├── AreaAddressList.java
│   │   │   ├── AreaAddressListProperties.java
│   │   │   ├── BasicAddressList.java
│   │   │   ├── BasicAddressListProperties.java
│   │   │   ├── ChoiceItemContents.java
│   │   │   ├── FormEditorInput.java
│   │   │   ├── IManagerListener.java
│   │   │   ├── MYXMLMemento.java
│   │   │   ├── MasterContentProvider.java
│   │   │   ├── MasterLabelProvider.java
│   │   │   ├── PhoneAddressList.java
│   │   │   ├── PhoneAddressListItemProperties.java
│   │   │   ├── SimpleFormEditorInput.java
│   │   │   └── TextItemContents.java
│   │   ├── example
│   │   │   ├── EditorExampleAction.java
│   │   │   ├── ObjExampleAction.java
│   │   │   ├── TopEditorAction.java
│   │   │   ├── ViewExampleAction.java
│   │   │   └── ViewerExampleAction.java
│   │   ├── models
│   │   │   ├── AddressCategory.java
│   │   │   ├── AddressItem.java
│   │   │   ├── AddressItemPropertySource.java
│   │   │   ├── AddressManager.java
│   │   │   ├── AddressManagerEvent.java
│   │   │   └── AddressManagerListener.java
│   │   ├── perspectives
│   │   │   └── AddressBookPerspectiveFactory.java
│   │   ├── util
│   │   │   ├── ImageCache.java
│   │   │   ├── ImageKeys.java
│   │   │   ├── Messages.java
│   │   │   └── StringMatcher.java
│   │   ├── views
│   │   │   ├── AddressView.java
│   │   │   ├── AddressViewContentProvider.java
│   │   │   ├── AddressViewLabelProvider.java
│   │   │   ├── AddressViewerCategoryFilter.java
│   │   │   ├── AddressViewerNameFilter.java
│   │   │   └── AddressViewerSorter.java
│   │   └── wizards
│   │   ├── EditListsConfigWizardPage.java
│   │   ├── NewAddressItemWizard.java
│   │   ├── NewAddressItemWizardPage.java
│   │   └── TableViewerLabelProvider.java
│   └── swtdesigner
│   ├── FieldLayoutPreferencePage.java
│   ├── ResourceManager.java
│   ├── SWTResourceManager.java
│   └── preference
│   └── ComboFieldEditor.java
├── chapter16
│   ├── 16章程序说明.doc
│   ├── 16章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.class
│   │   │   ├── IPageLayout.class
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.class
│   │   │   │   ├── AddressViewerFilterAction.class
│   │   │   │   ├── DeleteAddressAction.class
│   │   │   │   ├── OpenAddressViewAction.class
│   │   │   │   └── OpenFormEditorAction.class
│   │   │   ├── dialogs
│   │   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   │   └── AddressViewFilterDialog.class
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor$1.class
│   │   │   │   ├── AddressFormEditor.class
│   │   │   │   ├── AddressFormEditorContributor.class
│   │   │   │   ├── MasterDetailsPage.class
│   │   │   │   ├── PageWithSubPages$1.class
│   │   │   │   ├── PageWithSubPages$2.class
│   │   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   │   ├── PageWithSubPages.class
│   │   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   │   ├── ScrolledPropertiesBlock$7.class
│   │   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   │   ├── SourcePage$1.class
│   │   │   │   ├── SourcePage.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   │   └── SaveAction.class
│   │   │   │   └── models
│   │   │   │   ├── AddressList.class
│   │   │   │   ├── AddressListManager.class
│   │   │   │   ├── AddressListProperties$1.class
│   │   │   │   ├── AddressListProperties$2.class
│   │   │   │   ├── AddressListProperties.class
│   │   │   │   ├── AreaAddressList.class
│   │   │   │   ├── AreaAddressListProperties.class
│   │   │   │   ├── BasicAddressList.class
│   │   │   │   ├── BasicAddressListProperties.class
│   │   │   │   ├── ChoiceItemContents.class
│   │   │   │   ├── FormEditorInput.class
│   │   │   │   ├── IManagerListener.class
│   │   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   │   ├── MYXMLMemento.class
│   │   │   │   ├── MasterContentProvider.class
│   │   │   │   ├── MasterLabelProvider.class
│   │   │   │   ├── PhoneAddressList.class
│   │   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   │   ├── SimpleFormEditorInput.class
│   │   │   │   └── TextItemContents.class
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.class
│   │   │   │   ├── ObjExampleAction.class
│   │   │   │   ├── TopEditorAction.class
│   │   │   │   ├── ViewExampleAction.class
│   │   │   │   └── ViewerExampleAction.class
│   │   │   ├── models
│   │   │   │   ├── AddressCategory$1.class
│   │   │   │   ├── AddressCategory$2.class
│   │   │   │   ├── AddressCategory$3.class
│   │   │   │   ├── AddressCategory$4.class
│   │   │   │   ├── AddressCategory$5.class
│   │   │   │   ├── AddressCategory$6.class
│   │   │   │   ├── AddressCategory$7.class
│   │   │   │   ├── AddressCategory$8.class
│   │   │   │   ├── AddressCategory$9.class
│   │   │   │   ├── AddressCategory.class
│   │   │   │   ├── AddressItem.class
│   │   │   │   ├── AddressItemPropertySource$1.class
│   │   │   │   ├── AddressItemPropertySource$2.class
│   │   │   │   ├── AddressItemPropertySource.class
│   │   │   │   ├── AddressManager.class
│   │   │   │   ├── AddressManagerEvent.class
│   │   │   │   └── AddressManagerListener.class
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.class
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.class
│   │   │   │   ├── AddressRootPreferencePage.class
│   │   │   │   ├── EditorPrefPage.class
│   │   │   │   ├── PreferenceConstants.class
│   │   │   │   ├── PreferenceInitializer.class
│   │   │   │   └── ViewPrefPage.class
│   │   │   ├── util
│   │   │   │   ├── ImageCache.class
│   │   │   │   ├── ImageKeys.class
│   │   │   │   ├── Messages.class
│   │   │   │   ├── StringMatcher$Position.class
│   │   │   │   └── StringMatcher.class
│   │   │   ├── views
│   │   │   │   ├── AddressView$1.class
│   │   │   │   ├── AddressView$2.class
│   │   │   │   ├── AddressView$3.class
│   │   │   │   ├── AddressView$4.class
│   │   │   │   ├── AddressView$5.class
│   │   │   │   ├── AddressView$6.class
│   │   │   │   ├── AddressView$7.class
│   │   │   │   ├── AddressView$8.class
│   │   │   │   ├── AddressView$9.class
│   │   │   │   ├── AddressView.class
│   │   │   │   ├── AddressViewContentProvider.class
│   │   │   │   ├── AddressViewLabelProvider.class
│   │   │   │   ├── AddressViewerCategoryFilter.class
│   │   │   │   ├── AddressViewerNameFilter.class
│   │   │   │   ├── AddressViewerSorter$1.class
│   │   │   │   ├── AddressViewerSorter$SortInfo.class
│   │   │   │   └── AddressViewerSorter.class
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.class
│   │   │   ├── NewAddressItemWizard$1.class
│   │   │   ├── NewAddressItemWizard$2.class
│   │   │   ├── NewAddressItemWizard.class
│   │   │   ├── NewAddressItemWizardPage$1.class
│   │   │   ├── NewAddressItemWizardPage$2.class
│   │   │   ├── NewAddressItemWizardPage.class
│   │   │   └── TableViewerLabelProvider.class
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.class
│   │   ├── ResourceManager.class
│   │   ├── SWTResourceManager$1.class
│   │   ├── SWTResourceManager$2.class
│   │   ├── SWTResourceManager.class
│   │   └── preference
│   │   ├── ComboFieldEditor$1.class
│   │   └── ComboFieldEditor.class
│   ├── build.properties
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   └── src
│   └── com
│   ├── plugindev
│   │   └── addressbook
│   │   ├── Activator.java
│   │   ├── IPageLayout.java
│   │   ├── actions
│   │   │   ├── AddAddressAction.java
│   │   │   ├── AddressViewerFilterAction.java
│   │   │   ├── DeleteAddressAction.java
│   │   │   ├── OpenAddressViewAction.java
│   │   │   └── OpenFormEditorAction.java
│   │   ├── dialogs
│   │   │   └── AddressViewFilterDialog.java
│   │   ├── editors
│   │   │   ├── AddressFormEditor.java
│   │   │   ├── AddressFormEditorContributor.java
│   │   │   ├── MasterDetailsPage.java
│   │   │   ├── PageWithSubPages.java
│   │   │   ├── ScrolledPropertiesBlock.java
│   │   │   ├── SourcePage.java
│   │   │   ├── actions
│   │   │   │   ├── RemoveAddressListAction.java
│   │   │   │   └── SaveAction.java
│   │   │   └── models
│   │   │   ├── AddressList.java
│   │   │   ├── AddressListManager.java
│   │   │   ├── AddressListProperties.java
│   │   │   ├── AreaAddressList.java
│   │   │   ├── AreaAddressListProperties.java
│   │   │   ├── BasicAddressList.java
│   │   │   ├── BasicAddressListProperties.java
│   │   │   ├── ChoiceItemContents.java
│   │   │   ├── FormEditorInput.java
│   │   │   ├── IManagerListener.java
│   │   │   ├── MYXMLMemento.java
│   │   │   ├── MasterContentProvider.java
│   │   │   ├── MasterLabelProvider.java
│   │   │   ├── PhoneAddressList.java
│   │   │   ├── PhoneAddressListItemProperties.java
│   │   │   ├── SimpleFormEditorInput.java
│   │   │   └── TextItemContents.java
│   │   ├── example
│   │   │   ├── EditorExampleAction.java
│   │   │   ├── ObjExampleAction.java
│   │   │   ├── TopEditorAction.java
│   │   │   ├── ViewExampleAction.java
│   │   │   └── ViewerExampleAction.java
│   │   ├── models
│   │   │   ├── AddressCategory.java
│   │   │   ├── AddressItem.java
│   │   │   ├── AddressItemPropertySource.java
│   │   │   ├── AddressManager.java
│   │   │   ├── AddressManagerEvent.java
│   │   │   └── AddressManagerListener.java
│   │   ├── perspectives
│   │   │   └── AddressBookPerspectiveFactory.java
│   │   ├── preferences
│   │   │   ├── AddressPreferencePage.java
│   │   │   ├── AddressRootPreferencePage.java
│   │   │   ├── EditorPrefPage.java
│   │   │   ├── PreferenceConstants.java
│   │   │   ├── PreferenceInitializer.java
│   │   │   └── ViewPrefPage.java
│   │   ├── util
│   │   │   ├── ImageCache.java
│   │   │   ├── ImageKeys.java
│   │   │   ├── Messages.java
│   │   │   └── StringMatcher.java
│   │   ├── views
│   │   │   ├── AddressView.java
│   │   │   ├── AddressViewContentProvider.java
│   │   │   ├── AddressViewLabelProvider.java
│   │   │   ├── AddressViewerCategoryFilter.java
│   │   │   ├── AddressViewerNameFilter.java
│   │   │   └── AddressViewerSorter.java
│   │   └── wizards
│   │   ├── EditListsConfigWizardPage.java
│   │   ├── NewAddressItemWizard.java
│   │   ├── NewAddressItemWizardPage.java
│   │   └── TableViewerLabelProvider.java
│   └── swtdesigner
│   ├── FieldLayoutPreferencePage.java
│   ├── ResourceManager.java
│   ├── SWTResourceManager.java
│   └── preference
│   └── ComboFieldEditor.java
├── chapter17
│   ├── 17章程序说明.doc
│   ├── 17章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.class
│   │   │   ├── IPageLayout.class
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.class
│   │   │   │   ├── AddressViewerFilterAction.class
│   │   │   │   ├── CreateDefaultAddressCheatSheetAction.class
│   │   │   │   ├── DeleteAddressAction.class
│   │   │   │   ├── OpenAddressViewAction.class
│   │   │   │   └── OpenFormEditorAction.class
│   │   │   ├── dialogs
│   │   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   │   └── AddressViewFilterDialog.class
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor$1.class
│   │   │   │   ├── AddressFormEditor.class
│   │   │   │   ├── AddressFormEditorContributor.class
│   │   │   │   ├── MasterDetailsPage.class
│   │   │   │   ├── PageWithSubPages$1.class
│   │   │   │   ├── PageWithSubPages$2.class
│   │   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   │   ├── PageWithSubPages.class
│   │   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   │   ├── ScrolledPropertiesBlock$7.class
│   │   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   │   ├── SourcePage$1.class
│   │   │   │   ├── SourcePage.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   │   └── SaveAction.class
│   │   │   │   └── models
│   │   │   │   ├── AddressList.class
│   │   │   │   ├── AddressListManager.class
│   │   │   │   ├── AddressListProperties$1.class
│   │   │   │   ├── AddressListProperties$2.class
│   │   │   │   ├── AddressListProperties.class
│   │   │   │   ├── AreaAddressList.class
│   │   │   │   ├── AreaAddressListProperties.class
│   │   │   │   ├── BasicAddressList.class
│   │   │   │   ├── BasicAddressListProperties.class
│   │   │   │   ├── ChoiceItemContents.class
│   │   │   │   ├── FormEditorInput.class
│   │   │   │   ├── IManagerListener.class
│   │   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   │   ├── MYXMLMemento.class
│   │   │   │   ├── MasterContentProvider.class
│   │   │   │   ├── MasterLabelProvider.class
│   │   │   │   ├── PhoneAddressList.class
│   │   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   │   ├── SimpleFormEditorInput.class
│   │   │   │   └── TextItemContents.class
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.class
│   │   │   │   ├── ObjExampleAction.class
│   │   │   │   ├── TopEditorAction.class
│   │   │   │   ├── ViewExampleAction.class
│   │   │   │   └── ViewerExampleAction.class
│   │   │   ├── models
│   │   │   │   ├── AddressCategory$1.class
│   │   │   │   ├── AddressCategory$2.class
│   │   │   │   ├── AddressCategory$3.class
│   │   │   │   ├── AddressCategory$4.class
│   │   │   │   ├── AddressCategory$5.class
│   │   │   │   ├── AddressCategory$6.class
│   │   │   │   ├── AddressCategory$7.class
│   │   │   │   ├── AddressCategory$8.class
│   │   │   │   ├── AddressCategory$9.class
│   │   │   │   ├── AddressCategory.class
│   │   │   │   ├── AddressItem.class
│   │   │   │   ├── AddressItemPropertySource$1.class
│   │   │   │   ├── AddressItemPropertySource$2.class
│   │   │   │   ├── AddressItemPropertySource.class
│   │   │   │   ├── AddressManager.class
│   │   │   │   ├── AddressManagerEvent.class
│   │   │   │   └── AddressManagerListener.class
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.class
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.class
│   │   │   │   ├── AddressRootPreferencePage.class
│   │   │   │   ├── EditorPrefPage.class
│   │   │   │   ├── PreferenceConstants.class
│   │   │   │   ├── PreferenceInitializer.class
│   │   │   │   └── ViewPrefPage.class
│   │   │   ├── util
│   │   │   │   ├── ImageCache.class
│   │   │   │   ├── ImageKeys.class
│   │   │   │   ├── Messages.class
│   │   │   │   ├── StringMatcher$Position.class
│   │   │   │   └── StringMatcher.class
│   │   │   ├── views
│   │   │   │   ├── AddressView$1.class
│   │   │   │   ├── AddressView$10.class
│   │   │   │   ├── AddressView$11.class
│   │   │   │   ├── AddressView$2.class
│   │   │   │   ├── AddressView$3.class
│   │   │   │   ├── AddressView$4.class
│   │   │   │   ├── AddressView$5.class
│   │   │   │   ├── AddressView$6.class
│   │   │   │   ├── AddressView$7.class
│   │   │   │   ├── AddressView$8.class
│   │   │   │   ├── AddressView$9.class
│   │   │   │   ├── AddressView.class
│   │   │   │   ├── AddressViewContentProvider.class
│   │   │   │   ├── AddressViewLabelProvider.class
│   │   │   │   ├── AddressViewerCategoryFilter.class
│   │   │   │   ├── AddressViewerNameFilter.class
│   │   │   │   ├── AddressViewerSorter$1.class
│   │   │   │   ├── AddressViewerSorter$SortInfo.class
│   │   │   │   └── AddressViewerSorter.class
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.class
│   │   │   ├── NewAddressItemWizard$1.class
│   │   │   ├── NewAddressItemWizard$2.class
│   │   │   ├── NewAddressItemWizard.class
│   │   │   ├── NewAddressItemWizardPage$1.class
│   │   │   ├── NewAddressItemWizardPage$2.class
│   │   │   ├── NewAddressItemWizardPage.class
│   │   │   └── TableViewerLabelProvider.class
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.class
│   │   ├── ResourceManager.class
│   │   ├── SWTResourceManager$1.class
│   │   ├── SWTResourceManager$2.class
│   │   ├── SWTResourceManager.class
│   │   └── preference
│   │   ├── ComboFieldEditor$1.class
│   │   └── ComboFieldEditor.class
│   ├── build.properties
│   ├── content.xml
│   ├── content2.xml
│   ├── contentsum.xml
│   ├── contexts.xml
│   ├── html
│   │   ├── article.gif
│   │   ├── folder.gif
│   │   ├── index.htm
│   │   ├── 操作
│   │   │   ├── 概述
│   │   │   │   ├── 操作.files
│   │   │   │   │   ├── colorschememapping.xml
│   │   │   │   │   ├── filelist.xml
│   │   │   │   │   ├── header.htm
│   │   │   │   │   ├── item0007.xml
│   │   │   │   │   ├── props0008.xml
│   │   │   │   │   └── themedata.thmx
│   │   │   │   ├── 操作.htm
│   │   │   │   └── 操作_files
│   │   │   │   └── header.htm
│   │   │   └── 详细介绍
│   │   │   ├── 视图操作.htm
│   │   │   ├── 视图操作_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   ├── 工作台操作.htm
│   │   │   ├── 编辑器操作.htm
│   │   │   ├── 工作台操作_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   └── 编辑器操作_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   └── image004.jpg
│   │   ├── 概述
│   │   │   ├── 整体概览.files
│   │   │   │   ├── colorschememapping.xml
│   │   │   │   ├── filelist.xml
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   └── themedata.thmx
│   │   │   ├── 整体概览.htm
│   │   │   └── 整体概览_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   └── image002.jpg
│   │   ├── 定制界面
│   │   │   ├── 首选项.htm
│   │   │   └── 首选项_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   └── image006.jpg
│   │   ├── 快速开始
│   │   │   ├── 备忘单.htm
│   │   │   └── 备忘单_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   └── image006.jpg
│   │   ├── 向导和对话框
│   │   │   ├── 向导.htm
│   │   │   ├── 向导_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   ├── 对话框.files
│   │   │   │   ├── colorschememapping.xml
│   │   │   │   ├── filelist.xml
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image003.png
│   │   │   │   ├── image005.jpg
│   │   │   │   ├── image006.jpg
│   │   │   │   └── themedata.thmx
│   │   │   ├── 对话框.htm
│   │   │   └── 对话框_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   └── image004.jpg
│   │   └── 基本用户界面
│   │   ├── 视图.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   ├── image009.png
│   │   │   ├── image010.jpg
│   │   │   ├── image011.png
│   │   │   ├── image012.jpg
│   │   │   ├── image013.gif
│   │   │   ├── image014.png
│   │   │   ├── image015.jpg
│   │   │   ├── image016.png
│   │   │   ├── image017.jpg
│   │   │   └── themedata.thmx
│   │   ├── 视图.htm
│   │   ├── 视图_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   ├── image009.png
│   │   │   ├── image010.jpg
│   │   │   ├── image011.png
│   │   │   ├── image012.jpg
│   │   │   ├── image013.gif
│   │   │   ├── image014.png
│   │   │   ├── image015.jpg
│   │   │   ├── image016.png
│   │   │   └── image017.jpg
│   │   ├── 编辑器.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   └── themedata.thmx
│   │   ├── 透视图.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.png
│   │   │   ├── image003.gif
│   │   │   ├── image004.png
│   │   │   ├── image005.jpg
│   │   │   └── themedata.thmx
│   │   ├── 编辑器.htm
│   │   ├── 透视图.htm
│   │   ├── 编辑器_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   └── image008.jpg
│   │   └── 透视图_files
│   │   ├── header.htm
│   │   ├── image001.png
│   │   ├── image002.png
│   │   ├── image003.gif
│   │   ├── image004.png
│   │   └── image005.jpg
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── help
│   │   │   └── help.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   ├── src
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.java
│   │   │   ├── IPageLayout.java
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.java
│   │   │   │   ├── AddressViewerFilterAction.java
│   │   │   │   ├── CreateDefaultAddressCheatSheetAction.java
│   │   │   │   ├── DeleteAddressAction.java
│   │   │   │   ├── OpenAddressViewAction.java
│   │   │   │   └── OpenFormEditorAction.java
│   │   │   ├── dialogs
│   │   │   │   └── AddressViewFilterDialog.java
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor.java
│   │   │   │   ├── AddressFormEditorContributor.java
│   │   │   │   ├── MasterDetailsPage.java
│   │   │   │   ├── PageWithSubPages.java
│   │   │   │   ├── ScrolledPropertiesBlock.java
│   │   │   │   ├── SourcePage.java
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction.java
│   │   │   │   │   └── SaveAction.java
│   │   │   │   └── models
│   │   │   │   ├── AddressList.java
│   │   │   │   ├── AddressListManager.java
│   │   │   │   ├── AddressListProperties.java
│   │   │   │   ├── AreaAddressList.java
│   │   │   │   ├── AreaAddressListProperties.java
│   │   │   │   ├── BasicAddressList.java
│   │   │   │   ├── BasicAddressListProperties.java
│   │   │   │   ├── ChoiceItemContents.java
│   │   │   │   ├── FormEditorInput.java
│   │   │   │   ├── IManagerListener.java
│   │   │   │   ├── MYXMLMemento.java
│   │   │   │   ├── MasterContentProvider.java
│   │   │   │   ├── MasterLabelProvider.java
│   │   │   │   ├── PhoneAddressList.java
│   │   │   │   ├── PhoneAddressListItemProperties.java
│   │   │   │   ├── SimpleFormEditorInput.java
│   │   │   │   └── TextItemContents.java
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.java
│   │   │   │   ├── ObjExampleAction.java
│   │   │   │   ├── TopEditorAction.java
│   │   │   │   ├── ViewExampleAction.java
│   │   │   │   └── ViewerExampleAction.java
│   │   │   ├── models
│   │   │   │   ├── AddressCategory.java
│   │   │   │   ├── AddressItem.java
│   │   │   │   ├── AddressItemPropertySource.java
│   │   │   │   ├── AddressManager.java
│   │   │   │   ├── AddressManagerEvent.java
│   │   │   │   └── AddressManagerListener.java
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.java
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.java
│   │   │   │   ├── AddressRootPreferencePage.java
│   │   │   │   ├── EditorPrefPage.java
│   │   │   │   ├── PreferenceConstants.java
│   │   │   │   ├── PreferenceInitializer.java
│   │   │   │   └── ViewPrefPage.java
│   │   │   ├── util
│   │   │   │   ├── ImageCache.java
│   │   │   │   ├── ImageKeys.java
│   │   │   │   ├── Messages.java
│   │   │   │   └── StringMatcher.java
│   │   │   ├── views
│   │   │   │   ├── AddressView.java
│   │   │   │   ├── AddressViewContentProvider.java
│   │   │   │   ├── AddressViewLabelProvider.java
│   │   │   │   ├── AddressViewerCategoryFilter.java
│   │   │   │   ├── AddressViewerNameFilter.java
│   │   │   │   └── AddressViewerSorter.java
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.java
│   │   │   ├── NewAddressItemWizard.java
│   │   │   ├── NewAddressItemWizardPage.java
│   │   │   └── TableViewerLabelProvider.java
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.java
│   │   ├── ResourceManager.java
│   │   ├── SWTResourceManager.java
│   │   └── preference
│   │   └── ComboFieldEditor.java
│   ├── toc.xml
│   ├── tocactions.xml
│   ├── toccustomui.xml
│   ├── tocintroduction.xml
│   ├── tocquickstart.xml
│   ├── tocuicomponent.xml
│   └── tocwizardsanddialogs.xml
├── chapter18
│   ├── 18章程序说明.doc
│   ├── 18章程序说明.txt
│   └── com.plugindev.addressbook
│   ├── META-INF
│   │   └── MANIFEST.MF
│   ├── bin
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.class
│   │   │   ├── IPageLayout.class
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.class
│   │   │   │   ├── AddressViewerFilterAction.class
│   │   │   │   ├── CreateDefaultAddressCheatSheetAction.class
│   │   │   │   ├── DeleteAddressAction.class
│   │   │   │   ├── OpenAddressViewAction.class
│   │   │   │   └── OpenFormEditorAction.class
│   │   │   ├── dialogs
│   │   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   │   └── AddressViewFilterDialog.class
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor$1.class
│   │   │   │   ├── AddressFormEditor.class
│   │   │   │   ├── AddressFormEditorContributor.class
│   │   │   │   ├── MasterDetailsPage.class
│   │   │   │   ├── PageWithSubPages$1.class
│   │   │   │   ├── PageWithSubPages$2.class
│   │   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   │   ├── PageWithSubPages.class
│   │   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   │   ├── ScrolledPropertiesBlock$7.class
│   │   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   │   ├── SourcePage$1.class
│   │   │   │   ├── SourcePage.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   │   └── SaveAction.class
│   │   │   │   └── models
│   │   │   │   ├── AddressList.class
│   │   │   │   ├── AddressListManager.class
│   │   │   │   ├── AddressListProperties$1.class
│   │   │   │   ├── AddressListProperties$2.class
│   │   │   │   ├── AddressListProperties.class
│   │   │   │   ├── AreaAddressList.class
│   │   │   │   ├── AreaAddressListProperties.class
│   │   │   │   ├── BasicAddressList.class
│   │   │   │   ├── BasicAddressListProperties.class
│   │   │   │   ├── ChoiceItemContents.class
│   │   │   │   ├── FormEditorInput.class
│   │   │   │   ├── IManagerListener.class
│   │   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   │   ├── MYXMLMemento.class
│   │   │   │   ├── MasterContentProvider.class
│   │   │   │   ├── MasterLabelProvider.class
│   │   │   │   ├── PhoneAddressList.class
│   │   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   │   ├── SimpleFormEditorInput.class
│   │   │   │   └── TextItemContents.class
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.class
│   │   │   │   ├── ObjExampleAction.class
│   │   │   │   ├── TopEditorAction.class
│   │   │   │   ├── ViewExampleAction.class
│   │   │   │   └── ViewerExampleAction.class
│   │   │   ├── models
│   │   │   │   ├── AddressCategory$1.class
│   │   │   │   ├── AddressCategory$2.class
│   │   │   │   ├── AddressCategory$3.class
│   │   │   │   ├── AddressCategory$4.class
│   │   │   │   ├── AddressCategory$5.class
│   │   │   │   ├── AddressCategory$6.class
│   │   │   │   ├── AddressCategory$7.class
│   │   │   │   ├── AddressCategory$8.class
│   │   │   │   ├── AddressCategory$9.class
│   │   │   │   ├── AddressCategory.class
│   │   │   │   ├── AddressItem.class
│   │   │   │   ├── AddressItemPropertySource$1.class
│   │   │   │   ├── AddressItemPropertySource$2.class
│   │   │   │   ├── AddressItemPropertySource.class
│   │   │   │   ├── AddressManager.class
│   │   │   │   ├── AddressManagerEvent.class
│   │   │   │   └── AddressManagerListener.class
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.class
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.class
│   │   │   │   ├── AddressRootPreferencePage.class
│   │   │   │   ├── EditorPrefPage.class
│   │   │   │   ├── PreferenceConstants.class
│   │   │   │   ├── PreferenceInitializer.class
│   │   │   │   └── ViewPrefPage.class
│   │   │   ├── util
│   │   │   │   ├── ImageCache.class
│   │   │   │   ├── ImageKeys.class
│   │   │   │   ├── Messages.class
│   │   │   │   ├── StringMatcher$Position.class
│   │   │   │   └── StringMatcher.class
│   │   │   ├── views
│   │   │   │   ├── AddressView$1.class
│   │   │   │   ├── AddressView$10.class
│   │   │   │   ├── AddressView$11.class
│   │   │   │   ├── AddressView$2.class
│   │   │   │   ├── AddressView$3.class
│   │   │   │   ├── AddressView$4.class
│   │   │   │   ├── AddressView$5.class
│   │   │   │   ├── AddressView$6.class
│   │   │   │   ├── AddressView$7.class
│   │   │   │   ├── AddressView$8.class
│   │   │   │   ├── AddressView$9.class
│   │   │   │   ├── AddressView.class
│   │   │   │   ├── AddressViewContentProvider.class
│   │   │   │   ├── AddressViewLabelProvider.class
│   │   │   │   ├── AddressViewerCategoryFilter.class
│   │   │   │   ├── AddressViewerNameFilter.class
│   │   │   │   ├── AddressViewerSorter$1.class
│   │   │   │   ├── AddressViewerSorter$SortInfo.class
│   │   │   │   └── AddressViewerSorter.class
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.class
│   │   │   ├── NewAddressItemWizard$1.class
│   │   │   ├── NewAddressItemWizard$2.class
│   │   │   ├── NewAddressItemWizard.class
│   │   │   ├── NewAddressItemWizardPage$1.class
│   │   │   ├── NewAddressItemWizardPage$2.class
│   │   │   ├── NewAddressItemWizardPage.class
│   │   │   └── TableViewerLabelProvider.class
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.class
│   │   ├── ResourceManager.class
│   │   ├── SWTResourceManager$1.class
│   │   ├── SWTResourceManager$2.class
│   │   ├── SWTResourceManager.class
│   │   └── preference
│   │   ├── ComboFieldEditor$1.class
│   │   └── ComboFieldEditor.class
│   ├── build.properties
│   ├── content.xml
│   ├── content2.xml
│   ├── contentsum.xml
│   ├── contexts.xml
│   ├── html
│   │   ├── article.gif
│   │   ├── folder.gif
│   │   ├── index.htm
│   │   ├── 操作
│   │   │   ├── 概述
│   │   │   │   ├── 操作.files
│   │   │   │   │   ├── colorschememapping.xml
│   │   │   │   │   ├── filelist.xml
│   │   │   │   │   ├── header.htm
│   │   │   │   │   ├── item0007.xml
│   │   │   │   │   ├── props0008.xml
│   │   │   │   │   └── themedata.thmx
│   │   │   │   ├── 操作.htm
│   │   │   │   └── 操作_files
│   │   │   │   └── header.htm
│   │   │   └── 详细介绍
│   │   │   ├── 视图操作.htm
│   │   │   ├── 视图操作_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   ├── 工作台操作.htm
│   │   │   ├── 编辑器操作.htm
│   │   │   ├── 工作台操作_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   └── 编辑器操作_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   └── image004.jpg
│   │   ├── 概述
│   │   │   ├── 整体概览.files
│   │   │   │   ├── colorschememapping.xml
│   │   │   │   ├── filelist.xml
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   └── themedata.thmx
│   │   │   ├── 整体概览.htm
│   │   │   └── 整体概览_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   └── image002.jpg
│   │   ├── 定制界面
│   │   │   ├── 首选项.htm
│   │   │   └── 首选项_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   └── image006.jpg
│   │   ├── 快速开始
│   │   │   ├── 备忘单.htm
│   │   │   └── 备忘单_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   └── image006.jpg
│   │   ├── 向导和对话框
│   │   │   ├── 向导.htm
│   │   │   ├── 向导_files
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image002.jpg
│   │   │   │   ├── image003.png
│   │   │   │   └── image004.jpg
│   │   │   ├── 对话框.files
│   │   │   │   ├── colorschememapping.xml
│   │   │   │   ├── filelist.xml
│   │   │   │   ├── header.htm
│   │   │   │   ├── image001.png
│   │   │   │   ├── image003.png
│   │   │   │   ├── image005.jpg
│   │   │   │   ├── image006.jpg
│   │   │   │   └── themedata.thmx
│   │   │   ├── 对话框.htm
│   │   │   └── 对话框_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   └── image004.jpg
│   │   └── 基本用户界面
│   │   ├── 视图.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   ├── image009.png
│   │   │   ├── image010.jpg
│   │   │   ├── image011.png
│   │   │   ├── image012.jpg
│   │   │   ├── image013.gif
│   │   │   ├── image014.png
│   │   │   ├── image015.jpg
│   │   │   ├── image016.png
│   │   │   ├── image017.jpg
│   │   │   └── themedata.thmx
│   │   ├── 视图.htm
│   │   ├── 视图_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   ├── image009.png
│   │   │   ├── image010.jpg
│   │   │   ├── image011.png
│   │   │   ├── image012.jpg
│   │   │   ├── image013.gif
│   │   │   ├── image014.png
│   │   │   ├── image015.jpg
│   │   │   ├── image016.png
│   │   │   └── image017.jpg
│   │   ├── 编辑器.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   ├── image008.jpg
│   │   │   └── themedata.thmx
│   │   ├── 透视图.files
│   │   │   ├── colorschememapping.xml
│   │   │   ├── filelist.xml
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.png
│   │   │   ├── image003.gif
│   │   │   ├── image004.png
│   │   │   ├── image005.jpg
│   │   │   └── themedata.thmx
│   │   ├── 编辑器.htm
│   │   ├── 透视图.htm
│   │   ├── 编辑器_files
│   │   │   ├── header.htm
│   │   │   ├── image001.png
│   │   │   ├── image002.jpg
│   │   │   ├── image003.png
│   │   │   ├── image004.jpg
│   │   │   ├── image005.png
│   │   │   ├── image006.jpg
│   │   │   ├── image007.png
│   │   │   └── image008.jpg
│   │   └── 透视图_files
│   │   ├── header.htm
│   │   ├── image001.png
│   │   ├── image002.png
│   │   ├── image003.gif
│   │   ├── image004.png
│   │   └── image005.jpg
│   ├── icons
│   │   ├── Thumbs.db
│   │   ├── actions
│   │   │   ├── add.gif
│   │   │   ├── delete.gif
│   │   │   ├── delete_dis.gif
│   │   │   └── filter.gif
│   │   ├── category
│   │   │   ├── business.gif
│   │   │   ├── family.gif
│   │   │   ├── friends.gif
│   │   │   ├── lover.gif
│   │   │   ├── mate.gif
│   │   │   ├── ordinary.gif
│   │   │   ├── teacher.gif
│   │   │   ├── unknown.gif
│   │   │   └── vip.gif
│   │   ├── category.gif
│   │   ├── editors
│   │   │   ├── area.gif
│   │   │   ├── basic.gif
│   │   │   ├── close_view.gif
│   │   │   ├── contact.gif
│   │   │   ├── editor.gif
│   │   │   ├── file_obj.gif
│   │   │   ├── form_banner.gif
│   │   │   ├── help_topic.gif
│   │   │   ├── large_image.gif
│   │   │   ├── linkto_help.gif
│   │   │   ├── newprj_wiz.gif
│   │   │   ├── phone.gif
│   │   │   ├── sample.gif
│   │   │   ├── th_horizontal.gif
│   │   │   └── th_vertical.gif
│   │   ├── help
│   │   │   └── help.gif
│   │   ├── people.gif
│   │   ├── perspectives
│   │   │   └── perspective.gif
│   │   ├── preferences
│   │   │   └── contact.jpg
│   │   ├── sample.gif
│   │   └── wizards
│   │   ├── new_add_wiz.gif
│   │   └── new_wiz.gif
│   ├── plugin.xml
│   ├── src
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.java
│   │   │   ├── IPageLayout.java
│   │   │   ├── actions
│   │   │   │   ├── AddAddressAction.java
│   │   │   │   ├── AddressViewerFilterAction.java
│   │   │   │   ├── CreateDefaultAddressCheatSheetAction.java
│   │   │   │   ├── DeleteAddressAction.java
│   │   │   │   ├── OpenAddressViewAction.java
│   │   │   │   └── OpenFormEditorAction.java
│   │   │   ├── dialogs
│   │   │   │   └── AddressViewFilterDialog.java
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor.java
│   │   │   │   ├── AddressFormEditorContributor.java
│   │   │   │   ├── MasterDetailsPage.java
│   │   │   │   ├── PageWithSubPages.java
│   │   │   │   ├── ScrolledPropertiesBlock.java
│   │   │   │   ├── SourcePage.java
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction.java
│   │   │   │   │   └── SaveAction.java
│   │   │   │   └── models
│   │   │   │   ├── AddressList.java
│   │   │   │   ├── AddressListManager.java
│   │   │   │   ├── AddressListProperties.java
│   │   │   │   ├── AreaAddressList.java
│   │   │   │   ├── AreaAddressListProperties.java
│   │   │   │   ├── BasicAddressList.java
│   │   │   │   ├── BasicAddressListProperties.java
│   │   │   │   ├── ChoiceItemContents.java
│   │   │   │   ├── FormEditorInput.java
│   │   │   │   ├── IManagerListener.java
│   │   │   │   ├── MYXMLMemento.java
│   │   │   │   ├── MasterContentProvider.java
│   │   │   │   ├── MasterLabelProvider.java
│   │   │   │   ├── PhoneAddressList.java
│   │   │   │   ├── PhoneAddressListItemProperties.java
│   │   │   │   ├── SimpleFormEditorInput.java
│   │   │   │   └── TextItemContents.java
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.java
│   │   │   │   ├── ObjExampleAction.java
│   │   │   │   ├── TopEditorAction.java
│   │   │   │   ├── ViewExampleAction.java
│   │   │   │   └── ViewerExampleAction.java
│   │   │   ├── models
│   │   │   │   ├── AddressCategory.java
│   │   │   │   ├── AddressItem.java
│   │   │   │   ├── AddressItemPropertySource.java
│   │   │   │   ├── AddressManager.java
│   │   │   │   ├── AddressManagerEvent.java
│   │   │   │   └── AddressManagerListener.java
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.java
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.java
│   │   │   │   ├── AddressRootPreferencePage.java
│   │   │   │   ├── EditorPrefPage.java
│   │   │   │   ├── PreferenceConstants.java
│   │   │   │   ├── PreferenceInitializer.java
│   │   │   │   └── ViewPrefPage.java
│   │   │   ├── util
│   │   │   │   ├── ImageCache.java
│   │   │   │   ├── ImageKeys.java
│   │   │   │   ├── Messages.java
│   │   │   │   └── StringMatcher.java
│   │   │   ├── views
│   │   │   │   ├── AddressView.java
│   │   │   │   ├── AddressViewContentProvider.java
│   │   │   │   ├── AddressViewLabelProvider.java
│   │   │   │   ├── AddressViewerCategoryFilter.java
│   │   │   │   ├── AddressViewerNameFilter.java
│   │   │   │   └── AddressViewerSorter.java
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.java
│   │   │   ├── NewAddressItemWizard.java
│   │   │   ├── NewAddressItemWizardPage.java
│   │   │   └── TableViewerLabelProvider.java
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.java
│   │   ├── ResourceManager.java
│   │   ├── SWTResourceManager.java
│   │   └── preference
│   │   └── ComboFieldEditor.java
│   ├── toc.xml
│   ├── tocactions.xml
│   ├── toccustomui.xml
│   ├── tocintroduction.xml
│   ├── tocquickstart.xml
│   ├── tocuicomponent.xml
│   └── tocwizardsanddialogs.xml
├── chapter19
│   ├── com.plugindev.address
│   │   ├── build.properties
│   │   └── feature.xml
│   ├── com.plugindev.address.update
│   │   └── site.xml
│   ├── com.plugindev.addressbook
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── about.ini
│   │   ├── bin
│   │   │   └── com
│   │   │   ├── plugindev
│   │   │   │   └── addressbook
│   │   │   │   ├── Activator.class
│   │   │   │   ├── IPageLayout.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── ActionMessages.class
│   │   │   │   │   ├── AddAddressAction.class
│   │   │   │   │   ├── AddressViewerFilterAction.class
│   │   │   │   │   ├── CreateDefaultAddressCheatSheetAction.class
│   │   │   │   │   ├── DeleteAddressAction.class
│   │   │   │   │   ├── OpenAddressViewAction.class
│   │   │   │   │   ├── OpenFormEditorAction.class
│   │   │   │   │   ├── messages.properties
│   │   │   │   │   └── messages_zh_CN.properties
│   │   │   │   ├── cache
│   │   │   │   │   └── ExtCache.class
│   │   │   │   ├── dialogs
│   │   │   │   │   ├── AddressViewFilterDialog$1.class
│   │   │   │   │   ├── AddressViewFilterDialog$2.class
│   │   │   │   │   └── AddressViewFilterDialog.class
│   │   │   │   ├── editors
│   │   │   │   │   ├── AddressFormEditor$1.class
│   │   │   │   │   ├── AddressFormEditor.class
│   │   │   │   │   ├── AddressFormEditorContributor.class
│   │   │   │   │   ├── MasterDetailsPage.class
│   │   │   │   │   ├── PageWithSubPages$1.class
│   │   │   │   │   ├── PageWithSubPages$2.class
│   │   │   │   │   ├── PageWithSubPages$TextSection.class
│   │   │   │   │   ├── PageWithSubPages.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$1.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$2.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$3.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$4.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$5.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$6.class
│   │   │   │   │   ├── ScrolledPropertiesBlock$7.class
│   │   │   │   │   ├── ScrolledPropertiesBlock.class
│   │   │   │   │   ├── SourcePage$1.class
│   │   │   │   │   ├── SourcePage.class
│   │   │   │   │   ├── actions
│   │   │   │   │   │   ├── RemoveAddressListAction$1.class
│   │   │   │   │   │   ├── RemoveAddressListAction.class
│   │   │   │   │   │   └── SaveAction.class
│   │   │   │   │   └── models
│   │   │   │   │   ├── AddressList.class
│   │   │   │   │   ├── AddressListManager.class
│   │   │   │   │   ├── AddressListProperties$1.class
│   │   │   │   │   ├── AddressListProperties$2.class
│   │   │   │   │   ├── AddressListProperties.class
│   │   │   │   │   ├── AreaAddressList.class
│   │   │   │   │   ├── AreaAddressListProperties.class
│   │   │   │   │   ├── BasicAddressList.class
│   │   │   │   │   ├── BasicAddressListProperties.class
│   │   │   │   │   ├── ChoiceItemContents.class
│   │   │   │   │   ├── FormEditorInput.class
│   │   │   │   │   ├── IManagerListener.class
│   │   │   │   │   ├── MYXMLMemento$DOMWriter.class
│   │   │   │   │   ├── MYXMLMemento.class
│   │   │   │   │   ├── MasterContentProvider.class
│   │   │   │   │   ├── MasterLabelProvider.class
│   │   │   │   │   ├── PhoneAddressList.class
│   │   │   │   │   ├── PhoneAddressListItemProperties.class
│   │   │   │   │   ├── SimpleFormEditorInput.class
│   │   │   │   │   └── TextItemContents.class
│   │   │   │   ├── example
│   │   │   │   │   ├── EditorExampleAction.class
│   │   │   │   │   ├── ObjExampleAction.class
│   │   │   │   │   ├── TopEditorAction.class
│   │   │   │   │   ├── ViewExampleAction.class
│   │   │   │   │   └── ViewerExampleAction.class
│   │   │   │   ├── extension
│   │   │   │   │   ├── DemoProvider.class
│   │   │   │   │   ├── IMessageProvider.class
│   │   │   │   │   └── ShowMessageAction.class
│   │   │   │   ├── models
│   │   │   │   │   ├── AddressCategory$1.class
│   │   │   │   │   ├── AddressCategory$2.class
│   │   │   │   │   ├── AddressCategory$3.class
│   │   │   │   │   ├── AddressCategory$4.class
│   │   │   │   │   ├── AddressCategory$5.class
│   │   │   │   │   ├── AddressCategory$6.class
│   │   │   │   │   ├── AddressCategory$7.class
│   │   │   │   │   ├── AddressCategory$8.class
│   │   │   │   │   ├── AddressCategory$9.class
│   │   │   │   │   ├── AddressCategory.class
│   │   │   │   │   ├── AddressItem.class
│   │   │   │   │   ├── AddressItemPropertySource$1.class
│   │   │   │   │   ├── AddressItemPropertySource$2.class
│   │   │   │   │   ├── AddressItemPropertySource.class
│   │   │   │   │   ├── AddressManager.class
│   │   │   │   │   ├── AddressManagerEvent.class
│   │   │   │   │   └── AddressManagerListener.class
│   │   │   │   ├── perspectives
│   │   │   │   │   └── AddressBookPerspectiveFactory.class
│   │   │   │   ├── preferences
│   │   │   │   │   ├── AddressPreferencePage.class
│   │   │   │   │   ├── AddressRootPreferencePage.class
│   │   │   │   │   ├── EditorPrefPage.class
│   │   │   │   │   ├── PreferenceConstants.class
│   │   │   │   │   ├── PreferenceInitializer.class
│   │   │   │   │   └── ViewPrefPage.class
│   │   │   │   ├── util
│   │   │   │   │   ├── ImageCache.class
│   │   │   │   │   ├── ImageKeys.class
│   │   │   │   │   ├── Messages.class
│   │   │   │   │   ├── StringMatcher$Position.class
│   │   │   │   │   └── StringMatcher.class
│   │   │   │   ├── views
│   │   │   │   │   ├── AddressView$1.class
│   │   │   │   │   ├── AddressView$2.class
│   │   │   │   │   ├── AddressView$3.class
│   │   │   │   │   ├── AddressView$4.class
│   │   │   │   │   ├── AddressView$5.class
│   │   │   │   │   ├── AddressView$6.class
│   │   │   │   │   ├── AddressView$7.class
│   │   │   │   │   ├── AddressView$8.class
│   │   │   │   │   ├── AddressView$9.class
│   │   │   │   │   ├── AddressView.class
│   │   │   │   │   ├── AddressViewContentProvider.class
│   │   │   │   │   ├── AddressViewLabelProvider.class
│   │   │   │   │   ├── AddressViewerCategoryFilter.class
│   │   │   │   │   ├── AddressViewerNameFilter.class
│   │   │   │   │   ├── AddressViewerSorter$1.class
│   │   │   │   │   ├── AddressViewerSorter$SortInfo.class
│   │   │   │   │   └── AddressViewerSorter.class
│   │   │   │   └── wizards
│   │   │   │   ├── EditListsConfigWizardPage.class
│   │   │   │   ├── NewAddressItemWizard$1.class
│   │   │   │   ├── NewAddressItemWizard$2.class
│   │   │   │   ├── NewAddressItemWizard.class
│   │   │   │   ├── NewAddressItemWizardPage$1.class
│   │   │   │   ├── NewAddressItemWizardPage$2.class
│   │   │   │   ├── NewAddressItemWizardPage.class
│   │   │   │   ├── TableViewerLabelProvider.class
│   │   │   │   └── lang
│   │   │   │   ├── Messages.class
│   │   │   │   └── messages.properties
│   │   │   └── swtdesigner
│   │   │   ├── FieldLayoutPreferencePage.class
│   │   │   ├── ResourceManager.class
│   │   │   ├── SWTResourceManager$1.class
│   │   │   ├── SWTResourceManager$2.class
│   │   │   ├── SWTResourceManager.class
│   │   │   └── preference
│   │   │   ├── ComboFieldEditor$1.class
│   │   │   └── ComboFieldEditor.class
│   │   ├── build.properties
│   │   ├── content.xml
│   │   ├── icons
│   │   │   ├── Thumbs.db
│   │   │   ├── actions
│   │   │   │   ├── Thumbs.db
│   │   │   │   ├── add.gif
│   │   │   │   ├── delete.gif
│   │   │   │   ├── delete_dis.gif
│   │   │   │   └── filter.gif
│   │   │   ├── category
│   │   │   │   ├── Thumbs.db
│   │   │   │   ├── business.gif
│   │   │   │   ├── family.gif
│   │   │   │   ├── friends.gif
│   │   │   │   ├── lover.gif
│   │   │   │   ├── mate.gif
│   │   │   │   ├── ordinary.gif
│   │   │   │   ├── teacher.gif
│   │   │   │   ├── unknown.gif
│   │   │   │   └── vip.gif
│   │   │   ├── category.gif
│   │   │   ├── editors
│   │   │   │   ├── Thumbs.db
│   │   │   │   ├── area.gif
│   │   │   │   ├── basic.gif
│   │   │   │   ├── close_view.gif
│   │   │   │   ├── contact.gif
│   │   │   │   ├── editor.gif
│   │   │   │   ├── file_obj.gif
│   │   │   │   ├── form_banner.gif
│   │   │   │   ├── help_topic.gif
│   │   │   │   ├── large_image.gif
│   │   │   │   ├── linkto_help.gif
│   │   │   │   ├── newprj_wiz.gif
│   │   │   │   ├── phone.gif
│   │   │   │   ├── sample.gif
│   │   │   │   ├── th_horizontal.gif
│   │   │   │   └── th_vertical.gif
│   │   │   ├── people.gif
│   │   │   ├── perspectives
│   │   │   │   ├── Thumbs.db
│   │   │   │   └── perspective.gif
│   │   │   ├── preferences
│   │   │   │   ├── Thumbs.db
│   │   │   │   └── contact.jpg
│   │   │   ├── sample.gif
│   │   │   └── wizards
│   │   │   ├── Thumbs.db
│   │   │   ├── new_add_wiz.gif
│   │   │   └── new_wiz.gif
│   │   ├── image.gif
│   │   ├── plugin.properties
│   │   ├── plugin.xml
│   │   ├── plugin_en_US.properties
│   │   ├── schema
│   │   │   └── messages.exsd
│   │   ├── splash.bmp
│   │   └── src
│   │   └── com
│   │   ├── plugindev
│   │   │   └── addressbook
│   │   │   ├── Activator.java
│   │   │   ├── IPageLayout.java
│   │   │   ├── actions
│   │   │   │   ├── ActionMessages.java
│   │   │   │   ├── AddAddressAction.java
│   │   │   │   ├── AddressViewerFilterAction.java
│   │   │   │   ├── CreateDefaultAddressCheatSheetAction.java
│   │   │   │   ├── DeleteAddressAction.java
│   │   │   │   ├── OpenAddressViewAction.java
│   │   │   │   ├── OpenFormEditorAction.java
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   ├── cache
│   │   │   │   └── ExtCache.java
│   │   │   ├── dialogs
│   │   │   │   └── AddressViewFilterDialog.java
│   │   │   ├── editors
│   │   │   │   ├── AddressFormEditor.java
│   │   │   │   ├── AddressFormEditorContributor.java
│   │   │   │   ├── MasterDetailsPage.java
│   │   │   │   ├── PageWithSubPages.java
│   │   │   │   ├── ScrolledPropertiesBlock.java
│   │   │   │   ├── SourcePage.java
│   │   │   │   ├── actions
│   │   │   │   │   ├── RemoveAddressListAction.java
│   │   │   │   │   └── SaveAction.java
│   │   │   │   └── models
│   │   │   │   ├── AddressList.java
│   │   │   │   ├── AddressListManager.java
│   │   │   │   ├── AddressListProperties.java
│   │   │   │   ├── AreaAddressList.java
│   │   │   │   ├── AreaAddressListProperties.java
│   │   │   │   ├── BasicAddressList.java
│   │   │   │   ├── BasicAddressListProperties.java
│   │   │   │   ├── ChoiceItemContents.java
│   │   │   │   ├── FormEditorInput.java
│   │   │   │   ├── IManagerListener.java
│   │   │   │   ├── MYXMLMemento.java
│   │   │   │   ├── MasterContentProvider.java
│   │   │   │   ├── MasterLabelProvider.java
│   │   │   │   ├── PhoneAddressList.java
│   │   │   │   ├── PhoneAddressListItemProperties.java
│   │   │   │   ├── SimpleFormEditorInput.java
│   │   │   │   └── TextItemContents.java
│   │   │   ├── example
│   │   │   │   ├── EditorExampleAction.java
│   │   │   │   ├── ObjExampleAction.java
│   │   │   │   ├── TopEditorAction.java
│   │   │   │   ├── ViewExampleAction.java
│   │   │   │   └── ViewerExampleAction.java
│   │   │   ├── extension
│   │   │   │   ├── DemoProvider.java
│   │   │   │   ├── IMessageProvider.java
│   │   │   │   └── ShowMessageAction.java
│   │   │   ├── models
│   │   │   │   ├── AddressCategory.java
│   │   │   │   ├── AddressItem.java
│   │   │   │   ├── AddressItemPropertySource.java
│   │   │   │   ├── AddressManager.java
│   │   │   │   ├── AddressManagerEvent.java
│   │   │   │   └── AddressManagerListener.java
│   │   │   ├── perspectives
│   │   │   │   └── AddressBookPerspectiveFactory.java
│   │   │   ├── preferences
│   │   │   │   ├── AddressPreferencePage.java
│   │   │   │   ├── AddressRootPreferencePage.java
│   │   │   │   ├── EditorPrefPage.java
│   │   │   │   ├── PreferenceConstants.java
│   │   │   │   ├── PreferenceInitializer.java
│   │   │   │   └── ViewPrefPage.java
│   │   │   ├── util
│   │   │   │   ├── ImageCache.java
│   │   │   │   ├── ImageKeys.java
│   │   │   │   ├── Messages.java
│   │   │   │   └── StringMatcher.java
│   │   │   ├── views
│   │   │   │   ├── AddressView.java
│   │   │   │   ├── AddressViewContentProvider.java
│   │   │   │   ├── AddressViewLabelProvider.java
│   │   │   │   ├── AddressViewerCategoryFilter.java
│   │   │   │   ├── AddressViewerNameFilter.java
│   │   │   │   └── AddressViewerSorter.java
│   │   │   └── wizards
│   │   │   ├── EditListsConfigWizardPage.java
│   │   │   ├── NewAddressItemWizard.java
│   │   │   ├── NewAddressItemWizardPage.java
│   │   │   ├── TableViewerLabelProvider.java
│   │   │   └── lang
│   │   │   ├── Messages.java
│   │   │   └── messages.properties
│   │   └── swtdesigner
│   │   ├── FieldLayoutPreferencePage.java
│   │   ├── ResourceManager.java
│   │   ├── SWTResourceManager.java
│   │   └── preference
│   │   └── ComboFieldEditor.java
│   ├── com.plugindev.addressbook.nl
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── com
│   │   │   └── plugindev
│   │   │   └── addressbook
│   │   │   └── wizards
│   │   │   └── lang
│   │   │   └── messages_en_US.properties
│   │   ├── build.properties
│   │   └── src
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   └── wizards
│   │   └── lang
│   │   └── messages_en_US.properties
│   ├── com.plugindev.addressbook.nljp
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── com
│   │   │   └── plugindev
│   │   │   └── addressbook
│   │   │   └── wizards
│   │   │   └── lang
│   │   │   └── messages_jp_JP.properties
│   │   ├── build.properties
│   │   └── src
│   │   └── com
│   │   └── plugindev
│   │   └── addressbook
│   │   └── wizards
│   │   └── lang
│   │   └── messages_jp_JP.properties
│   └── 第19章程序说明.doc
├── chapter20
│   ├── com.plugindev.rcp
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── about.ini
│   │   ├── bin
│   │   │   └── com
│   │   │   └── plugindev
│   │   │   └── rcp
│   │   │   ├── Activator.class
│   │   │   ├── Application.class
│   │   │   ├── ApplicationActionBarAdvisor.class
│   │   │   ├── ApplicationWorkbenchAdvisor.class
│   │   │   ├── ApplicationWorkbenchWindowAdvisor.class
│   │   │   ├── Messages.class
│   │   │   ├── actions
│   │   │   │   └── UpdateAction.class
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   ├── build.properties
│   │   ├── conceptToc.xml
│   │   ├── content
│   │   │   ├── page1.xhtml
│   │   │   ├── page2.xhtml
│   │   │   └── root.xhtml
│   │   ├── default.product
│   │   ├── doc.zip
│   │   ├── icons
│   │   │   ├── icon16.bmp
│   │   │   ├── icon32.bmp
│   │   │   ├── icon48.bmp
│   │   │   ├── sample.gif
│   │   │   └── splash.bmp
│   │   ├── index.xml
│   │   ├── introContent.xml
│   │   ├── introToc.xml
│   │   ├── plugin.properties
│   │   ├── plugin.xml
│   │   ├── plugin_zh_CN.properties
│   │   ├── src
│   │   │   └── com
│   │   │   └── plugindev
│   │   │   └── rcp
│   │   │   ├── Activator.java
│   │   │   ├── Application.java
│   │   │   ├── ApplicationActionBarAdvisor.java
│   │   │   ├── ApplicationWorkbenchAdvisor.java
│   │   │   ├── ApplicationWorkbenchWindowAdvisor.java
│   │   │   ├── Messages.java
│   │   │   ├── actions
│   │   │   │   └── UpdateAction.java
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   ├── taskToc.xml
│   │   └── toc.xml
│   ├── rcpdev.rcpdemo
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── rcpdemo
│   │   │   ├── Activator.class
│   │   │   ├── Application.class
│   │   │   ├── ApplicationActionBarAdvisor.class
│   │   │   ├── ApplicationWorkbenchAdvisor.class
│   │   │   ├── ApplicationWorkbenchWindowAdvisor.class
│   │   │   ├── Perspective.class
│   │   │   └── views
│   │   │   └── SampleView.class
│   │   ├── build.properties
│   │   ├── icons
│   │   │   ├── alt_about.gif
│   │   │   ├── alt_launcher.icns
│   │   │   ├── alt_launcher.ico
│   │   │   ├── alt_launcher.xpm
│   │   │   ├── alt_window_16.gif
│   │   │   ├── alt_window_32.gif
│   │   │   └── splash.bmp
│   │   ├── new.product
│   │   ├── plugin.xml
│   │   └── src
│   │   └── rcpdev
│   │   └── rcpdemo
│   │   ├── Activator.java
│   │   ├── Application.java
│   │   ├── ApplicationActionBarAdvisor.java
│   │   ├── ApplicationWorkbenchAdvisor.java
│   │   ├── ApplicationWorkbenchWindowAdvisor.java
│   │   ├── Perspective.java
│   │   └── views
│   │   └── SampleView.java
│   └── 第20章程序说明.doc
├── chapter21
│   ├── HelloDraw2d
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   ├── hellodraw2d
│   │   │   │   └── Activator.class
│   │   │   └── sample
│   │   │   ├── BackgroundLayer.class
│   │   │   ├── HelloWorld.class
│   │   │   └── RoundRectangleFigure.class
│   │   ├── build.properties
│   │   └── src
│   │   ├── hellodraw2d
│   │   │   └── Activator.java
│   │   └── sample
│   │   ├── BackgroundLayer.java
│   │   ├── HelloWorld.java
│   │   └── RoundRectangleFigure.java
│   └── 第21章程序说明.doc
├── chapter22
│   ├── HelloGEF
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── hellogef
│   │   │   ├── Activator.class
│   │   │   ├── action
│   │   │   │   └── DiagramActionBarContributor.class
│   │   │   ├── command
│   │   │   │   ├── CreateConnectionCommand.class
│   │   │   │   ├── CreateNodeCommand.class
│   │   │   │   ├── DeleteConnectionCommand.class
│   │   │   │   ├── DeleteNodeCommand.class
│   │   │   │   ├── MoveNodeCommand.class
│   │   │   │   ├── ReconnectSourceCommand.class
│   │   │   │   └── RenameNodeCommand.class
│   │   │   ├── control
│   │   │   │   ├── ConnectionPart.class
│   │   │   │   ├── DiagramPart.class
│   │   │   │   ├── DiagramTreeEditPart.class
│   │   │   │   ├── NodeCellEditorLocator.class
│   │   │   │   ├── NodeDirectEditManager.class
│   │   │   │   ├── NodePart.class
│   │   │   │   ├── NodeTreeEditPart.class
│   │   │   │   ├── PartFactory.class
│   │   │   │   └── TreePartFactory.class
│   │   │   ├── editors
│   │   │   │   ├── BackgroundLayer.class
│   │   │   │   ├── DiagramTemplateTransferDropTargetListener.class
│   │   │   │   ├── HelloEditor$OutlinePage.class
│   │   │   │   ├── HelloEditor.class
│   │   │   │   └── MyRootEditPart.class
│   │   │   ├── factory
│   │   │   │   ├── ElementFactory.class
│   │   │   │   └── PaletteFactory.class
│   │   │   ├── model
│   │   │   │   ├── AbstractModel.class
│   │   │   │   ├── ConnectionModel.class
│   │   │   │   ├── Diagram.class
│   │   │   │   └── NodeModel.class
│   │   │   ├── policy
│   │   │   │   ├── ConnectionEditPolicy.class
│   │   │   │   ├── DiagramLayoutEditPolicy.class
│   │   │   │   ├── NodeDirectEditPolicy.class
│   │   │   │   ├── NodeEditPolicy.class
│   │   │   │   └── NodeGraphicalNodeEditPolicy.class
│   │   │   ├── tools
│   │   │   │   └── STextPropertyDescriptor.class
│   │   │   └── view
│   │   │   └── NodeFigure.class
│   │   ├── build.properties
│   │   ├── icons
│   │   │   ├── Thumbs.db
│   │   │   └── sample.gif
│   │   ├── plugin.xml
│   │   └── src
│   │   └── hellogef
│   │   ├── Activator.java
│   │   ├── action
│   │   │   └── DiagramActionBarContributor.java
│   │   ├── command
│   │   │   ├── CreateConnectionCommand.java
│   │   │   ├── CreateNodeCommand.java
│   │   │   ├── DeleteConnectionCommand.java
│   │   │   ├── DeleteNodeCommand.java
│   │   │   ├── MoveNodeCommand.java
│   │   │   ├── ReconnectSourceCommand.java
│   │   │   └── RenameNodeCommand.java
│   │   ├── control
│   │   │   ├── ConnectionPart.java
│   │   │   ├── DiagramPart.java
│   │   │   ├── DiagramTreeEditPart.java
│   │   │   ├── NodeCellEditorLocator.java
│   │   │   ├── NodeDirectEditManager.java
│   │   │   ├── NodePart.java
│   │   │   ├── NodeTreeEditPart.java
│   │   │   ├── PartFactory.java
│   │   │   └── TreePartFactory.java
│   │   ├── editors
│   │   │   ├── BackgroundLayer.java
│   │   │   ├── DiagramTemplateTransferDropTargetListener.java
│   │   │   ├── HelloEditor.java
│   │   │   └── MyRootEditPart.java
│   │   ├── factory
│   │   │   ├── ElementFactory.java
│   │   │   └── PaletteFactory.java
│   │   ├── model
│   │   │   ├── AbstractModel.java
│   │   │   ├── ConnectionModel.java
│   │   │   ├── Diagram.java
│   │   │   └── NodeModel.java
│   │   ├── policy
│   │   │   ├── ConnectionEditPolicy.java
│   │   │   ├── DiagramLayoutEditPolicy.java
│   │   │   ├── NodeDirectEditPolicy.java
│   │   │   ├── NodeEditPolicy.java
│   │   │   └── NodeGraphicalNodeEditPolicy.java
│   │   ├── tools
│   │   │   └── STextPropertyDescriptor.java
│   │   └── view
│   │   └── NodeFigure.java
│   └── 第22章程序说明.doc
├── chapter23
│   ├── 23章程序说明.doc
│   └── ch23
│   ├── contact.sql
│   ├── rcpdev.adapter
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── adapter
│   │   │   ├── Activator.class
│   │   │   ├── Adapter.class
│   │   │   ├── AdapterStartup.class
│   │   │   ├── job
│   │   │   │   └── AdapterJob.class
│   │   │   └── lang
│   │   │   ├── Messages.class
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   ├── build.properties
│   │   ├── icons
│   │   │   └── sample.gif
│   │   ├── plugin.xml
│   │   └── src
│   │   └── rcpdev
│   │   └── adapter
│   │   ├── Activator.java
│   │   ├── Adapter.java
│   │   ├── AdapterStartup.java
│   │   ├── job
│   │   │   └── AdapterJob.java
│   │   └── lang
│   │   ├── Messages.java
│   │   ├── messages.properties
│   │   └── messages_zh_CN.properties
│   ├── rcpdev.application
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── application
│   │   │   ├── Activator.class
│   │   │   ├── Application.class
│   │   │   ├── ApplicationActionBarAdvisor.class
│   │   │   ├── ApplicationWorkbenchAdvisor.class
│   │   │   ├── ApplicationWorkbenchWindowAdvisor.class
│   │   │   └── Perspective.class
│   │   ├── build.properties
│   │   ├── icons
│   │   │   ├── alt_about.gif
│   │   │   ├── alt_launcher.icns
│   │   │   ├── alt_launcher.ico
│   │   │   ├── alt_launcher.xpm
│   │   │   ├── alt_window_16.gif
│   │   │   ├── alt_window_32.gif
│   │   │   └── splash.bmp
│   │   ├── new.product
│   │   ├── plugin.xml
│   │   └── src
│   │   └── rcpdev
│   │   └── application
│   │   ├── Activator.java
│   │   ├── Application.java
│   │   ├── ApplicationActionBarAdvisor.java
│   │   ├── ApplicationWorkbenchAdvisor.java
│   │   ├── ApplicationWorkbenchWindowAdvisor.java
│   │   └── Perspective.java
│   ├── rcpdev.common.core
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── common
│   │   │   └── core
│   │   │   ├── Activator.class
│   │   │   ├── mediator
│   │   │   │   ├── IMediatorReceiver.class
│   │   │   │   ├── IMediatorSender.class
│   │   │   │   ├── Mediator.class
│   │   │   │   └── MediatorPCSupport.class
│   │   │   └── utils
│   │   │   ├── BeanAccess.class
│   │   │   ├── DateUtils.class
│   │   │   ├── MiscUtils.class
│   │   │   ├── StringUtils.class
│   │   │   └── sort
│   │   │   ├── HeapSorter.class
│   │   │   ├── QuickSorter.class
│   │   │   ├── Sorter.class
│   │   │   └── SorterUtil.class
│   │   ├── build.properties
│   │   └── src
│   │   └── rcpdev
│   │   └── common
│   │   └── core
│   │   ├── Activator.java
│   │   ├── mediator
│   │   │   ├── IMediatorReceiver.java
│   │   │   ├── IMediatorSender.java
│   │   │   ├── Mediator.java
│   │   │   └── MediatorPCSupport.java
│   │   └── utils
│   │   ├── BeanAccess.java
│   │   ├── DateUtils.java
│   │   ├── MiscUtils.java
│   │   ├── StringUtils.java
│   │   └── sort
│   │   ├── HeapSorter.java
│   │   ├── QuickSorter.java
│   │   ├── Sorter.java
│   │   └── SorterUtil.java
│   ├── rcpdev.common.ui
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── common
│   │   │   └── ui
│   │   │   ├── Activator.class
│   │   │   ├── databinding
│   │   │   │   ├── AbstractBean.class
│   │   │   │   ├── BindingManager.class
│   │   │   │   ├── ChecksBinding.class
│   │   │   │   ├── ComboBinding.class
│   │   │   │   ├── ComboBinding2.class
│   │   │   │   ├── ControlBinding.class
│   │   │   │   ├── DateTextBinding.class
│   │   │   │   ├── IBinding.class
│   │   │   │   ├── LabelBinding.class
│   │   │   │   ├── RadiosBinding.class
│   │   │   │   ├── TextBinding.class
│   │   │   │   └── demo
│   │   │   │   ├── DemoBean.class
│   │   │   │   ├── DemoShell$1.class
│   │   │   │   └── DemoShell.class
│   │   │   ├── javabeans
│   │   │   │   ├── AbstractComposite.class
│   │   │   │   ├── CalendarComposite$1.class
│   │   │   │   ├── CalendarComposite$2.class
│   │   │   │   ├── CalendarComposite$3.class
│   │   │   │   ├── CalendarComposite$MouseMonitor.class
│   │   │   │   ├── CalendarComposite.class
│   │   │   │   ├── DateTextField$1.class
│   │   │   │   ├── DateTextField$CalendarShell$1.class
│   │   │   │   ├── DateTextField$CalendarShell.class
│   │   │   │   ├── DateTextField$DateTextFieldBinding.class
│   │   │   │   ├── DateTextField.class
│   │   │   │   └── text
│   │   │   │   ├── TextVerifier$DoubleCheck.class
│   │   │   │   ├── TextVerifier$IntCheck.class
│   │   │   │   └── TextVerifier.class
│   │   │   ├── lang
│   │   │   │   ├── Messages.class
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   └── viewers
│   │   │   └── AbstractContentProvider.class
│   │   ├── build.properties
│   │   ├── plugin.xml
│   │   └── src
│   │   └── rcpdev
│   │   └── common
│   │   └── ui
│   │   ├── Activator.java
│   │   ├── databinding
│   │   │   ├── AbstractBean.java
│   │   │   ├── BindingManager.java
│   │   │   ├── ChecksBinding.java
│   │   │   ├── ComboBinding.java
│   │   │   ├── ComboBinding2.java
│   │   │   ├── ControlBinding.java
│   │   │   ├── DateTextBinding.java
│   │   │   ├── IBinding.java
│   │   │   ├── LabelBinding.java
│   │   │   ├── RadiosBinding.java
│   │   │   ├── TextBinding.java
│   │   │   └── demo
│   │   │   ├── DemoBean.java
│   │   │   └── DemoShell.java
│   │   ├── javabeans
│   │   │   ├── AbstractComposite.java
│   │   │   ├── CalendarComposite.java
│   │   │   ├── DateTextField.java
│   │   │   └── text
│   │   │   └── TextVerifier.java
│   │   ├── lang
│   │   │   ├── Messages.java
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   └── viewers
│   │   └── AbstractContentProvider.java
│   ├── rcpdev.contact.core
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── contact
│   │   │   └── core
│   │   │   ├── Activator.class
│   │   │   ├── model
│   │   │   │   ├── BizObject.class
│   │   │   │   ├── CommonObject.class
│   │   │   │   ├── contact
│   │   │   │   │   ├── Address.class
│   │   │   │   │   ├── Contact.class
│   │   │   │   │   ├── Email.class
│   │   │   │   │   └── Phone.class
│   │   │   │   └── support
│   │   │   │   └── Category.class
│   │   │   └── persistence
│   │   │   ├── ContactFacadeException.class
│   │   │   ├── ContactFacadeFactory.class
│   │   │   ├── ContactFacadeMock.class
│   │   │   └── IContactFacade.class
│   │   ├── build.properties
│   │   ├── plugin.xml
│   │   └── src
│   │   └── rcpdev
│   │   └── contact
│   │   └── core
│   │   ├── Activator.java
│   │   ├── model
│   │   │   ├── BizObject.java
│   │   │   ├── CommonObject.java
│   │   │   ├── contact
│   │   │   │   ├── Address.java
│   │   │   │   ├── Contact.java
│   │   │   │   ├── Email.java
│   │   │   │   └── Phone.java
│   │   │   └── support
│   │   │   └── Category.java
│   │   └── persistence
│   │   ├── ContactFacadeException.java
│   │   ├── ContactFacadeFactory.java
│   │   ├── ContactFacadeMock.java
│   │   └── IContactFacade.java
│   ├── rcpdev.contact.persistence
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   ├── com
│   │   │   │   └── swtdesigner
│   │   │   │   ├── ResourceManager.class
│   │   │   │   ├── SWTResourceManager$1.class
│   │   │   │   └── SWTResourceManager.class
│   │   │   └── rcpdev
│   │   │   └── contact
│   │   │   └── persistence
│   │   │   ├── Activator.class
│   │   │   ├── TopLinkContactFacade.class
│   │   │   ├── core
│   │   │   │   ├── TopLinkContactFacadeException.class
│   │   │   │   ├── project
│   │   │   │   │   └── ContactProject.class
│   │   │   │   └── session
│   │   │   │   └── TopLinkSessionProvider.class
│   │   │   └── preferences
│   │   │   ├── MySQLPreferencePage.class
│   │   │   ├── PreferenceConstants.class
│   │   │   └── PreferenceInitializer.class
│   │   ├── build.properties
│   │   ├── plugin.xml
│   │   └── src
│   │   ├── com
│   │   │   └── swtdesigner
│   │   │   ├── ResourceManager.java
│   │   │   └── SWTResourceManager.java
│   │   └── rcpdev
│   │   └── contact
│   │   └── persistence
│   │   ├── Activator.java
│   │   ├── TopLinkContactFacade.java
│   │   ├── core
│   │   │   ├── TopLinkContactFacadeException.java
│   │   │   ├── project
│   │   │   │   └── ContactProject.java
│   │   │   └── session
│   │   │   └── TopLinkSessionProvider.java
│   │   └── preferences
│   │   ├── MySQLPreferencePage.java
│   │   ├── PreferenceConstants.java
│   │   └── PreferenceInitializer.java
│   ├── rcpdev.contact.ui
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   ├── com
│   │   │   │   └── swtdesigner
│   │   │   │   ├── ResourceManager.class
│   │   │   │   ├── SWTResourceManager$1.class
│   │   │   │   └── SWTResourceManager.class
│   │   │   └── rcpdev
│   │   │   └── contact
│   │   │   └── ui
│   │   │   ├── Activator.class
│   │   │   ├── actions
│   │   │   │   ├── contact
│   │   │   │   │   ├── ContactAction.class
│   │   │   │   │   ├── CreateContactAction.class
│   │   │   │   │   ├── CreateContactEditorAction.class
│   │   │   │   │   ├── DeleteContactAction.class
│   │   │   │   │   └── EditContactAction.class
│   │   │   │   └── lang
│   │   │   │   ├── Messages.class
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   ├── common
│   │   │   │   ├── AddressComposite.class
│   │   │   │   ├── CalendarDialog$1.class
│   │   │   │   ├── CalendarDialog$2.class
│   │   │   │   ├── CalendarDialog$ModifyAdapter.class
│   │   │   │   ├── CalendarDialog$MouseAdapter.class
│   │   │   │   ├── CalendarDialog.class
│   │   │   │   ├── DropdownLabel$1.class
│   │   │   │   ├── DropdownLabel$2.class
│   │   │   │   ├── DropdownLabel.class
│   │   │   │   ├── DropdownLink$1.class
│   │   │   │   ├── DropdownLink$2.class
│   │   │   │   ├── DropdownLink.class
│   │   │   │   ├── IUserObjectProvider.class
│   │   │   │   ├── ModelComposite.class
│   │   │   │   ├── lang
│   │   │   │   │   ├── Messages.class
│   │   │   │   │   ├── messages.properties
│   │   │   │   │   └── messages_zh_CN.properties
│   │   │   │   ├── mp
│   │   │   │   │   ├── IDetailsPart.class
│   │   │   │   │   ├── IMasterPart.class
│   │   │   │   │   ├── MultiPageBlock$BlockBinding.class
│   │   │   │   │   ├── MultiPageBlock.class
│   │   │   │   │   ├── MultiPageComposite$MPCoBinding.class
│   │   │   │   │   ├── MultiPageComposite.class
│   │   │   │   │   └── MultiPageControl.class
│   │   │   │   └── provider
│   │   │   │   └── AbstractContentProvider.class
│   │   │   ├── editors
│   │   │   │   ├── contact
│   │   │   │   │   ├── ContactEditor$1.class
│   │   │   │   │   ├── ContactEditor$2.class
│   │   │   │   │   ├── ContactEditor.class
│   │   │   │   │   ├── ContactEditorActionBarContributor.class
│   │   │   │   │   ├── ContactEditorInput.class
│   │   │   │   │   ├── DetailComposite.class
│   │   │   │   │   ├── GeneralInfoComposite$1.class
│   │   │   │   │   ├── GeneralInfoComposite$2.class
│   │   │   │   │   ├── GeneralInfoComposite$3.class
│   │   │   │   │   ├── GeneralInfoComposite.class
│   │   │   │   │   └── category
│   │   │   │   │   ├── CategoryBean$CategoryItem.class
│   │   │   │   │   ├── CategoryBean.class
│   │   │   │   │   ├── CategoryComposite$1.class
│   │   │   │   │   ├── CategoryComposite.class
│   │   │   │   │   ├── CategoryContentProvider.class
│   │   │   │   │   ├── CategoryDialog.class
│   │   │   │   │   └── CategoryTableLabelProvider.class
│   │   │   │   └── lang
│   │   │   │   ├── Messages.class
│   │   │   │   └── messages.properties
│   │   │   ├── jobs
│   │   │   │   ├── ContactJob.class
│   │   │   │   ├── DeleteContactJob.class
│   │   │   │   ├── EditContactJob.class
│   │   │   │   ├── LoadContactJob$1.class
│   │   │   │   ├── LoadContactJob.class
│   │   │   │   ├── LoadPreferenceJob.class
│   │   │   │   ├── SaveCategoryJob.class
│   │   │   │   ├── SaveContactJob.class
│   │   │   │   ├── SearchContactJob$1.class
│   │   │   │   ├── SearchContactJob.class
│   │   │   │   └── StorageRule.class
│   │   │   ├── preferences
│   │   │   │   ├── CategoryBean.class
│   │   │   │   ├── CategoryContentProvider.class
│   │   │   │   ├── CategoryLabelProvider.class
│   │   │   │   ├── CategoryPreferencePage$1.class
│   │   │   │   ├── CategoryPreferencePage$2.class
│   │   │   │   ├── CategoryPreferencePage$3.class
│   │   │   │   ├── CategoryPreferencePage.class
│   │   │   │   ├── ContactPreferencePage.class
│   │   │   │   ├── InputBean.class
│   │   │   │   └── InputDialog.class
│   │   │   └── views
│   │   │   ├── common
│   │   │   │   ├── ContactComparator.class
│   │   │   │   ├── ContactComparator2.class
│   │   │   │   ├── ContactLabelProvider.class
│   │   │   │   └── SelectionMonitor.class
│   │   │   ├── contact
│   │   │   │   ├── ContactView$1.class
│   │   │   │   ├── ContactView$2.class
│   │   │   │   ├── ContactView$3.class
│   │   │   │   ├── ContactView.class
│   │   │   │   ├── ContactViewBean.class
│   │   │   │   └── provider
│   │   │   │   └── ContactContentProvider.class
│   │   │   ├── lang
│   │   │   │   ├── Messages.class
│   │   │   │   └── messages.properties
│   │   │   └── search
│   │   │   ├── SearchBean.class
│   │   │   ├── SearchComposite.class
│   │   │   ├── SearchContactView$1.class
│   │   │   ├── SearchContactView$2.class
│   │   │   ├── SearchContactView.class
│   │   │   ├── SearchResultBean.class
│   │   │   └── provider
│   │   │   └── SearchContactContentProvider.class
│   │   ├── build.properties
│   │   ├── html
│   │   │   ├── intro
│   │   │   │   ├── all_view.html
│   │   │   │   ├── intro.html
│   │   │   │   ├── main_interface.html
│   │   │   │   └── todo_view.html
│   │   │   ├── main.html
│   │   │   ├── maintopic.html
│   │   │   ├── subtopic.html
│   │   │   ├── task
│   │   │   │   ├── create.html
│   │   │   │   ├── intro.html
│   │   │   │   ├── search_update.html
│   │   │   │   └── todolist.html
│   │   │   └── toc.html
│   │   ├── icons
│   │   │   ├── Thumbs.db
│   │   │   ├── contact_delete_item.gif
│   │   │   ├── contact_edit_item.gif
│   │   │   ├── contact_editor.gif
│   │   │   ├── contact_new_item.gif
│   │   │   ├── contact_view.gif
│   │   │   ├── find_view.gif
│   │   │   ├── main_perspective.gif
│   │   │   ├── new.gif
│   │   │   ├── refresh.gif
│   │   │   └── sample.gif
│   │   ├── intro.xml
│   │   ├── main.xml
│   │   ├── plugin.xml
│   │   ├── src
│   │   │   ├── com
│   │   │   │   └── swtdesigner
│   │   │   │   ├── ResourceManager.java
│   │   │   │   └── SWTResourceManager.java
│   │   │   └── rcpdev
│   │   │   └── contact
│   │   │   └── ui
│   │   │   ├── Activator.java
│   │   │   ├── actions
│   │   │   │   ├── contact
│   │   │   │   │   ├── ContactAction.java
│   │   │   │   │   ├── CreateContactAction.java
│   │   │   │   │   ├── CreateContactEditorAction.java
│   │   │   │   │   ├── DeleteContactAction.java
│   │   │   │   │   └── EditContactAction.java
│   │   │   │   └── lang
│   │   │   │   ├── Messages.java
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   ├── common
│   │   │   │   ├── AddressComposite.java
│   │   │   │   ├── CalendarDialog.java
│   │   │   │   ├── DropdownLabel.java
│   │   │   │   ├── DropdownLink.java
│   │   │   │   ├── IUserObjectProvider.java
│   │   │   │   ├── ModelComposite.java
│   │   │   │   ├── lang
│   │   │   │   │   ├── Messages.java
│   │   │   │   │   ├── messages.properties
│   │   │   │   │   └── messages_zh_CN.properties
│   │   │   │   ├── mp
│   │   │   │   │   ├── IDetailsPart.java
│   │   │   │   │   ├── IMasterPart.java
│   │   │   │   │   ├── MultiPageBlock.java
│   │   │   │   │   ├── MultiPageComposite.java
│   │   │   │   │   └── MultiPageControl.java
│   │   │   │   └── provider
│   │   │   │   └── AbstractContentProvider.java
│   │   │   ├── editors
│   │   │   │   ├── contact
│   │   │   │   │   ├── ContactEditor.java
│   │   │   │   │   ├── ContactEditorActionBarContributor.java
│   │   │   │   │   ├── ContactEditorInput.java
│   │   │   │   │   ├── DetailComposite.java
│   │   │   │   │   ├── GeneralInfoComposite.java
│   │   │   │   │   └── category
│   │   │   │   │   ├── CategoryBean.java
│   │   │   │   │   ├── CategoryComposite.java
│   │   │   │   │   ├── CategoryContentProvider.java
│   │   │   │   │   ├── CategoryDialog.java
│   │   │   │   │   └── CategoryTableLabelProvider.java
│   │   │   │   └── lang
│   │   │   │   ├── Messages.java
│   │   │   │   └── messages.properties
│   │   │   ├── jobs
│   │   │   │   ├── ContactJob.java
│   │   │   │   ├── DeleteContactJob.java
│   │   │   │   ├── EditContactJob.java
│   │   │   │   ├── LoadContactJob.java
│   │   │   │   ├── LoadPreferenceJob.java
│   │   │   │   ├── SaveCategoryJob.java
│   │   │   │   ├── SaveContactJob.java
│   │   │   │   ├── SearchContactJob.java
│   │   │   │   └── StorageRule.java
│   │   │   ├── preferences
│   │   │   │   ├── CategoryBean.java
│   │   │   │   ├── CategoryContentProvider.java
│   │   │   │   ├── CategoryLabelProvider.java
│   │   │   │   ├── CategoryPreferencePage.java
│   │   │   │   ├── ContactPreferencePage.java
│   │   │   │   ├── InputBean.java
│   │   │   │   └── InputDialog.java
│   │   │   └── views
│   │   │   ├── common
│   │   │   │   ├── ContactComparator.java
│   │   │   │   ├── ContactComparator2.java
│   │   │   │   ├── ContactLabelProvider.java
│   │   │   │   └── SelectionMonitor.java
│   │   │   ├── contact
│   │   │   │   ├── ContactView.java
│   │   │   │   ├── ContactViewBean.java
│   │   │   │   └── provider
│   │   │   │   └── ContactContentProvider.java
│   │   │   ├── lang
│   │   │   │   ├── Messages.java
│   │   │   │   └── messages.properties
│   │   │   └── search
│   │   │   ├── SearchBean.java
│   │   │   ├── SearchComposite.java
│   │   │   ├── SearchContactView.java
│   │   │   ├── SearchResultBean.java
│   │   │   └── provider
│   │   │   └── SearchContactContentProvider.java
│   │   └── task.xml
│   ├── rcpdev.thirdparty
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── thirdparty
│   │   │   └── Activator.class
│   │   ├── build.properties
│   │   ├── commons-jxpath-1.2.jar
│   │   ├── mysql-connector-java-3.0.15-ga-bin.jar
│   │   ├── src
│   │   │   └── rcpdev
│   │   │   └── thirdparty
│   │   │   └── Activator.java
│   │   └── toplink.jar
│   ├── rcpdev.todo.core
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   └── rcpdev
│   │   │   └── todo
│   │   │   └── core
│   │   │   ├── Activator.class
│   │   │   ├── model
│   │   │   │   ├── TodoItem.class
│   │   │   │   └── series
│   │   │   │   ├── SeriesInfo.class
│   │   │   │   ├── TodoSeries.class
│   │   │   │   └── info
│   │   │   │   ├── DayInfo.class
│   │   │   │   ├── MonthInfo.class
│   │   │   │   ├── WeekInfo.class
│   │   │   │   └── YearInfo.class
│   │   │   └── storage
│   │   │   ├── ITodoFacade.class
│   │   │   ├── TodoFacadeException.class
│   │   │   ├── TodoFacadeFactory.class
│   │   │   └── TodoFacadeMock.class
│   │   ├── build.properties
│   │   ├── plugin.xml
│   │   ├── schema
│   │   │   └── facade.exsd
│   │   └── src
│   │   └── rcpdev
│   │   └── todo
│   │   └── core
│   │   ├── Activator.java
│   │   ├── model
│   │   │   ├── TodoItem.java
│   │   │   └── series
│   │   │   ├── SeriesInfo.java
│   │   │   ├── TodoSeries.java
│   │   │   └── info
│   │   │   ├── DayInfo.java
│   │   │   ├── MonthInfo.java
│   │   │   ├── WeekInfo.java
│   │   │   └── YearInfo.java
│   │   └── storage
│   │   ├── ITodoFacade.java
│   │   ├── TodoFacadeException.java
│   │   ├── TodoFacadeFactory.java
│   │   └── TodoFacadeMock.java
│   ├── rcpdev.todo.persistence
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   ├── com
│   │   │   │   └── swtdesigner
│   │   │   │   ├── ResourceManager.class
│   │   │   │   ├── SWTResourceManager$1.class
│   │   │   │   └── SWTResourceManager.class
│   │   │   └── rcpdev
│   │   │   └── todo
│   │   │   └── persistence
│   │   │   ├── Activator.class
│   │   │   ├── TopLinkTodoFacade.class
│   │   │   ├── core
│   │   │   │   ├── TopLinkTodoFacadeException.class
│   │   │   │   ├── project
│   │   │   │   │   ├── AfterLoad.class
│   │   │   │   │   ├── TodoProject.class
│   │   │   │   │   └── WeekDataConverter.class
│   │   │   │   └── session
│   │   │   │   └── TopLinkSessionProvider.class
│   │   │   ├── lang
│   │   │   │   ├── Messages.class
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   └── preferences
│   │   │   ├── MySQLPreferencePage.class
│   │   │   ├── PreferenceConstants.class
│   │   │   ├── PreferenceInitializer.class
│   │   │   └── TodoPreferencePage.class
│   │   ├── build.properties
│   │   ├── images
│   │   │   └── logo.JPG
│   │   ├── plugin.xml
│   │   └── src
│   │   ├── com
│   │   │   └── swtdesigner
│   │   │   ├── ResourceManager.java
│   │   │   └── SWTResourceManager.java
│   │   └── rcpdev
│   │   └── todo
│   │   └── persistence
│   │   ├── Activator.java
│   │   ├── TopLinkTodoFacade.java
│   │   ├── core
│   │   │   ├── TopLinkTodoFacadeException.java
│   │   │   ├── project
│   │   │   │   ├── AfterLoad.java
│   │   │   │   ├── TodoProject.java
│   │   │   │   └── WeekDataConverter.java
│   │   │   └── session
│   │   │   └── TopLinkSessionProvider.java
│   │   ├── lang
│   │   │   ├── Messages.java
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   └── preferences
│   │   ├── MySQLPreferencePage.java
│   │   ├── PreferenceConstants.java
│   │   ├── PreferenceInitializer.java
│   │   └── TodoPreferencePage.java
│   ├── rcpdev.todo.ui
│   │   ├── META-INF
│   │   │   └── MANIFEST.MF
│   │   ├── bin
│   │   │   ├── com
│   │   │   │   └── swtdesigner
│   │   │   │   ├── ResourceManager.class
│   │   │   │   ├── SWTResourceManager$1.class
│   │   │   │   └── SWTResourceManager.class
│   │   │   └── rcpdev
│   │   │   └── todo
│   │   │   └── ui
│   │   │   ├── Activator.class
│   │   │   ├── calendar
│   │   │   │   └── CalendarView.class
│   │   │   ├── lang
│   │   │   │   ├── Messages.class
│   │   │   │   ├── messages.properties
│   │   │   │   └── messages_zh_CN.properties
│   │   │   └── todolist
│   │   │   ├── actions
│   │   │   │   └── CreateTodoEditorAction.class
│   │   │   ├── common
│   │   │   │   └── beans
│   │   │   │   └── todoitem
│   │   │   │   ├── StackBinding.class
│   │   │   │   ├── TestShell$1.class
│   │   │   │   ├── TestShell$2.class
│   │   │   │   ├── TestShell.class
│   │   │   │   ├── TodoItemBasicInfoComposite.class
│   │   │   │   ├── TodoItemBean.class
│   │   │   │   ├── TodoItemSeriesInfoComposite$1.class
│   │   │   │   ├── TodoItemSeriesInfoComposite$2.class
│   │   │   │   ├── TodoItemSeriesInfoComposite$3.class
│   │   │   │   └── TodoItemSeriesInfoComposite.class
│   │   │   ├── editors
│   │   │   │   ├── TodoItemEditor.class
│   │   │   │   ├── TodoItemEditorInput.class
│   │   │   │   └── jobs
│   │   │   │   └── SaveTodoItemJob.class
│   │   │   ├── provider
│   │   │   │   ├── TodoListContentProvider.class
│   │   │   │   └── TodoListLabelProvider.class
│   │   │   ├── utils
│   │   │   │   └── TimeConverter.class
│   │   │   ├── views
│   │   │   │   ├── TodoListBean.class
│   │   │   │   ├── TodoListView$1.class
│   │   │   │   ├── TodoListView$2.class
│   │   │   │   ├── TodoListView$3.class
│   │   │   │   ├── TodoListView$4.class
│   │   │   │   ├── TodoListView$5.class
│   │   │   │   ├── TodoListView$EditItemAction.class
│   │   │   │   ├── TodoListView.class
│   │   │   │   ├── actions
│   │   │   │   │   ├── DeleteItemAction.class
│   │   │   │   │   ├── ItemOperationAction.class
│   │   │   │   │   ├── Main.class
│   │   │   │   │   ├── NewItemAction.class
│   │   │   │   │   └── SelectItemMessageBox.class
│   │   │   │   └── jobs
│   │   │   │   ├── CreateTodoItemJob.class
│   │   │   │   ├── DeleteTodoItemJob.class
│   │   │   │   ├── EditTodoItemJob.class
│   │   │   │   ├── ItemOperationJob$RunDialogAction.class
│   │   │   │   ├── ItemOperationJob.class
│   │   │   │   ├── LoadTodoItemJob$1.class
│   │   │   │   ├── LoadTodoItemJob.class
│   │   │   │   ├── MarkCurrentItemJob.class
│   │   │   │   ├── SelectEditTypeDialog$1.class
│   │   │   │   ├── SelectEditTypeDialog$2.class
│   │   │   │   ├── SelectEditTypeDialog.class
│   │   │   │   ├── SelectModifyTypeDialog$1.class
│   │   │   │   ├── SelectModifyTypeDialog$2.class
│   │   │   │   └── SelectModifyTypeDialog.class
│   │   │   └── wizards
│   │   │   ├── NewItemWizard.class
│   │   │   ├── NewItemWizardPage1.class
│   │   │   ├── NewItemWizardPage2.class
│   │   │   └── WizardTestShell.class
│   │   ├── build.properties
│   │   ├── icons
│   │   │   ├── calendar_view.GIF
│   │   │   ├── todo_delete_item.gif
│   │   │   ├── todo_edit_item.gif
│   │   │   ├── todo_editor.gif
│   │   │   ├── todo_new_item.gif
│   │   │   └── todo_view.gif
│   │   ├── plugin.xml
│   │   └── src
│   │   ├── com
│   │   │   └── swtdesigner
│   │   │   ├── ResourceManager.java
│   │   │   └── SWTResourceManager.java
│   │   └── rcpdev
│   │   └── todo
│   │   └── ui
│   │   ├── Activator.java
│   │   ├── calendar
│   │   │   └── CalendarView.java
│   │   ├── lang
│   │   │   ├── Messages.java
│   │   │   ├── messages.properties
│   │   │   └── messages_zh_CN.properties
│   │   └── todolist
│   │   ├── actions
│   │   │   └── CreateTodoEditorAction.java
│   │   ├── common
│   │   │   └── beans
│   │   │   └── todoitem
│   │   │   ├── StackBinding.java
│   │   │   ├── TestShell.java
│   │   │   ├── TodoItemBasicInfoComposite.java
│   │   │   ├── TodoItemBean.java
│   │   │   └── TodoItemSeriesInfoComposite.java
│   │   ├── editors
│   │   │   ├── TodoItemEditor.java
│   │   │   ├── TodoItemEditorInput.java
│   │   │   └── jobs
│   │   │   └── SaveTodoItemJob.java
│   │   ├── provider
│   │   │   ├── TodoListContentProvider.java
│   │   │   └── TodoListLabelProvider.java
│   │   ├── utils
│   │   │   └── TimeConverter.java
│   │   ├── views
│   │   │   ├── TodoListBean.java
│   │   │   ├── TodoListView.java
│   │   │   ├── actions
│   │   │   │   ├── DeleteItemAction.java
│   │   │   │   ├── ItemOperationAction.java
│   │   │   │   ├── Main.java
│   │   │   │   ├── NewItemAction.java
│   │   │   │   └── SelectItemMessageBox.java
│   │   │   └── jobs
│   │   │   ├── CreateTodoItemJob.java
│   │   │   ├── DeleteTodoItemJob.java
│   │   │   ├── EditTodoItemJob.java
│   │   │   ├── ItemOperationJob.java
│   │   │   ├── LoadTodoItemJob.java
│   │   │   ├── MarkCurrentItemJob.java
│   │   │   ├── SelectEditTypeDialog.java
│   │   │   └── SelectModifyTypeDialog.java
│   │   └── wizards
│   │   ├── NewItemWizard.java
│   │   ├── NewItemWizardPage1.java
│   │   ├── NewItemWizardPage2.java
│   │   └── WizardTestShell.java
│   └── todo.sql
├── chapter24
│   ├── GefExample
│   │   ├── bin
│   │   │   └── com
│   │   │   └── example
│   │   │   ├── GefExamplePlugin.class
│   │   │   ├── actions
│   │   │   │   └── DiagramActionBarContributor.class
│   │   │   ├── commands
│   │   │   │   ├── ChangeNodeConstraintCommand.class
│   │   │   │   ├── CreateConnectionCommand.class
│   │   │   │   ├── CreateNodeCommand.class
│   │   │   │   ├── CreateStepCommand.class
│   │   │   │   ├── CreateSubTransNodeCommand.class
│   │   │   │   ├── DeleteConnectionCommand.class
│   │   │   │   ├── DeleteNodeCommand.class
│   │   │   │   ├── DeleteStepCommand.class
│   │   │   │   └── MoveNodeCommand.class
│   │   │   ├── dnd
│   │   │   │   └── DiagramTemplateTransferDropTargetListener.class
│   │   │   ├── figures
│   │   │   │   ├── BorderAnchor.class
│   │   │   │   ├── MappingConnection.class
│   │   │   │   ├── StepFigure.class
│   │   │   │   ├── SubTransContainerBorder.class
│   │   │   │   ├── SubTransContainerFigure.class
│   │   │   │   ├── SubTransModelFigure.class
│   │   │   │   ├── TreeItemFigure$1.class
│   │   │   │   └── TreeItemFigure.class
│   │   │   ├── image
│   │   │   │   ├── IconFactory.class
│   │   │   │   ├── ImageConstants.class
│   │   │   │   ├── add.gif
│   │   │   │   ├── column.gif
│   │   │   │   ├── dbinput.gif
│   │   │   │   ├── logo.gif
│   │   │   │   ├── mini.gif
│   │   │   │   ├── minus.gif
│   │   │   │   ├── root.gif
│   │   │   │   ├── subtransmodel.gif
│   │   │   │   └── table.gif
│   │   │   ├── model
│   │   │   │   ├── FConnection.class
│   │   │   │   ├── FElement.class
│   │   │   │   ├── FNode.class
│   │   │   │   ├── FStepModel.class
│   │   │   │   ├── FSubTransModel.class
│   │   │   │   ├── FTransModel.class
│   │   │   │   └── TreeItemModel.class
│   │   │   ├── parts
│   │   │   │   ├── AbstractPart.class
│   │   │   │   ├── ConnectionPart.class
│   │   │   │   ├── PartFactory.class
│   │   │   │   ├── StepPart.class
│   │   │   │   ├── SubTransModelPart.class
│   │   │   │   ├── TransModelPart.class
│   │   │   │   └── TreeItemPart.class
│   │   │   ├── policies
│   │   │   │   ├── ConnectionEditPolicy.class
│   │   │   │   ├── NodeDirectEditPolicy.class
│   │   │   │   ├── NodeEditPolicy.class
│   │   │   │   ├── NodeGraphicalNodeEditPolicy.class
│   │   │   │   ├── StepEditPolicy.class
│   │   │   │   ├── SubTransLayoutEditPolicy.class
│   │   │   │   └── TranModelLayoutEditPolicy.class
│   │   │   ├── tools
│   │   │   │   ├── ElementFactory.class
│   │   │   │   ├── PaletteFactory.class
│   │   │   │   ├── STextPropertyDescriptor.class
│   │   │   │   └── StepFactory.class
│   │   │   └── ui
│   │   │   ├── BackgroundLayer.class
│   │   │   ├── MyRootEditPart.class
│   │   │   ├── PracticeEditor$1.class
│   │   │   ├── PracticeEditor$2.class
│   │   │   ├── PracticeEditor.class
│   │   │   └── ShowMessage.class
│   │   ├── build.properties
│   │   ├── logo.gif
│   │   ├── plugin.xml
│   │   └── src
│   │   └── com
│   │   └── example
│   │   ├── GefExamplePlugin.java
│   │   ├── actions
│   │   │   └── DiagramActionBarContributor.java
│   │   ├── commands
│   │   │   ├── ChangeNodeConstraintCommand.java
│   │   │   ├── CreateConnectionCommand.java
│   │   │   ├── CreateNodeCommand.java
│   │   │   ├── CreateStepCommand.java
│   │   │   ├── CreateSubTransNodeCommand.java
│   │   │   ├── DeleteConnectionCommand.java
│   │   │   ├── DeleteNodeCommand.java
│   │   │   ├── DeleteStepCommand.java
│   │   │   └── MoveNodeCommand.java
│   │   ├── dnd
│   │   │   └── DiagramTemplateTransferDropTargetListener.java
│   │   ├── figures
│   │   │   ├── BorderAnchor.java
│   │   │   ├── MappingConnection.java
│   │   │   ├── StepFigure.java
│   │   │   ├── SubTransContainerBorder.java
│   │   │   ├── SubTransContainerFigure.java
│   │   │   ├── SubTransModelFigure.java
│   │   │   └── TreeItemFigure.java
│   │   ├── image
│   │   │   ├── IconFactory.java
│   │   │   ├── ImageConstants.java
│   │   │   ├── add.gif
│   │   │   ├── column.gif
│   │   │   ├── dbinput.gif
│   │   │   ├── logo.gif
│   │   │   ├── mini.gif
│   │   │   ├── minus.gif
│   │   │   ├── root.gif
│   │   │   ├── subtransmodel.gif
│   │   │   └── table.gif
│   │   ├── model
│   │   │   ├── FConnection.java
│   │   │   ├── FElement.java
│   │   │   ├── FNode.java
│   │   │   ├── FStepModel.java
│   │   │   ├── FSubTransModel.java
│   │   │   ├── FTransModel.java
│   │   │   └── TreeItemModel.java
│   │   ├── parts
│   │   │   ├── AbstractPart.java
│   │   │   ├── ConnectionPart.java
│   │   │   ├── PartFactory.java
│   │   │   ├── StepPart.java
│   │   │   ├── SubTransModelPart.java
│   │   │   ├── TransModelPart.java
│   │   │   └── TreeItemPart.java
│   │   ├── policies
│   │   │   ├── ConnectionEditPolicy.java
│   │   │   ├── NodeDirectEditPolicy.java
│   │   │   ├── NodeEditPolicy.java
│   │   │   ├── NodeGraphicalNodeEditPolicy.java
│   │   │   ├── StepEditPolicy.java
│   │   │   ├── SubTransLayoutEditPolicy.java
│   │   │   └── TranModelLayoutEditPolicy.java
│   │   ├── tools
│   │   │   ├── ElementFactory.java
│   │   │   ├── PaletteFactory.java
│   │   │   ├── STextPropertyDescriptor.java
│   │   │   └── StepFactory.java
│   │   └── ui
│   │   ├── BackgroundLayer.java
│   │   ├── MyRootEditPart.java
│   │   ├── PracticeEditor.java
│   │   └── ShowMessage.java
│   └── 第24章程序说明.doc
├── readme.txt
└── 读者交流区B.doc

818 directories, 2957 files

标签:

实例下载地址

Eclipse 插件开发 学习笔记 源代码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警