Evolution Plugin Development Manual

Novell, Inc.

Michael Zucchi


Table of Contents

Preface
1. Conventions
1.1. XML Annotation
I. EPlugin
1. Introduction
1. Plugin System
2. Loaders
3. Hooks
4. Managers
5. Items
6. Targets
2. Plugin Loaders
1. Base Plugin
1.1. Definition of a Plugin
2. Shared Library Loader
2.1. Definition
2.2. Invocation
3. Mono Assembly Loader
3.1. Definition
3.2. Invocation
3. Plugin Hooks
1. Popup Menus
1.1. Defining a popup hook
1.2. Merging Plugin Items
2. Main menus
2.1. Defining a menu hook
2.2. Merging Plugin Items
3. Configuration Pages and Wizards
3.1. Defining a configuration page hook
3.2. Generating Configuration Pages
4. Events
4.1. Defining an event hook
5. Mail Formatter
5.1. Defining a formatter hook
5.2. The formatting process
II. Evolution Hook Points.
4. Mail Hooks
1. Popup menus
1.1. Folder Tree Context Menu
1.2. Message List Context Menu
1.3. Inline URI Context Menu
1.4. Inline Object Context Menu
1.5. Attachment Button Context Menu
1.6. Composer Attachment Bar Context Menu
1.7. Internal popup menus
1.8. Mail Popup Targets
2. Main menus
2.1. Main Mail Menu
2.2. Standalone Mssage View Menu
2.3. Mail Menu Targets
3. Config Windows and Druids
3.1. Mail Preferences Page
3.2. Mail Account Editor
3.3. New Mail Account Druid
3.4. Folder Properties Window
3.5. Mail Composer Preferences
3.6. Mail Config Targets
4. Events
4.1. message.reading
4.2. folder.changed
4.3. Mail Event Targets
5. Formatters
5.1. Base Formatter
5.2. HTML Formatter
5.3. HTML Display Formatter
5.4. HTML Print Formatter
5.5. Mail Quote Formatter
5.6. Mail Formatter Targets
5. Contacts Hooks
1. Popup menus
1.1. Calendar Popup Targets
2. Main menus
2.1. Contacts Menu Targets
3. Config Windows and Druids
3.1. Contacts Config Targets
4. Events
6. Calendar Hooks
1. Popup menus
1.1. Calendar Main View Context Menu
1.2. Calendar Source Selector Context Menu
1.3. Calendar Main View Context Menu
1.4. Tasks Source Selector Context Menu
1.5. Calendar Popup Targets
2. Main menus
2.1. Calendar Menu Targets
3. Config Windows and Druids
3.1. Calendar Config Targets
4. Events
7. Shell Hooks
1. Main menus
1.1. Shell Main Menu
2. Events
2.1. Shell online state changed
III. Reference
8. EPlugin
9. EPopup
10. EMenu
11. EConfig
12. EEvent
13. EMFormat

List of Figures

3.1. Merging a menu with many items selected.
3.2. Merging a menu with one item selected.
3.3. Event and Data Flow in EMConfig
3.4. The application defined, unaltered configuration page.
3.5. A plugin adding a new section to an existing page.
3.6. A plugin inserting a new page for its settings.