PageRenderTime 156ms CodeModel.GetById 151ms app.highlight 2ms RepoModel.GetById 2ms app.codeStats 0ms


HTML | 21 lines | 21 code | 0 blank | 0 comment | 0 complexity | c0da21c813be7e82bfc64c0fce31bcf4 MD5 | raw file
 1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 18. Implementing a Simple Plugin</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="jEdit 4.3 User's Guide"><link rel="up" href="writing-plugins-part.html" title="Part IV. Writing Plugins"><link rel="prev" href="plugin-intro.html" title="Chapter 17. Introducing the Plugin API"><link rel="next" href="plugin-load.html" title="How Plugins are Loaded"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 18. Implementing a Simple Plugin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="plugin-intro.html">Prev</a> </td><th width="60%" align="center">Part IV. Writing Plugins</th><td width="20%" align="right"> <a accesskey="n" href="plugin-load.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="plugin-implement"></a>Chapter 18. Implementing a Simple Plugin</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="sect1"><a href="plugin-load.html"> How Plugins are Loaded</a></span></li><li><span class="sect1"><a href="plugin-implement-quicknotepadplugin.html">The QuickNotepadPlugin Class</a></span></li><li><span class="sect1"><a href="plugin-implement-properties.html">The Property File</a></span></li><li><span class="sect1"><a href="plugin-implement-editbus.html">The EditBus</a></span></li><li><span class="sect1"><a href="plugin-implement-actions.html">The Actions Catalog</a></span></li><li><span class="sect1"><a href="plugin-implement-dockables.html">The dockables.xml Window Catalog</a></span></li><li><span class="sect1"><a href="plugin-implement-services.html">The services.xml file</a></span></li><li><span class="sect1"><a href="plugin-implement-quicknotepad.html">The QuickNotepad Class</a></span></li><li><span class="sect1"><a href="plugin-implement-quicknotepadtoolbar.html">The QuickNotepadToolBar Class</a></span></li><li><span class="sect1"><a href="plugin-implement-options.html">The QuickNotepadOptionPane Class</a></span></li><li><span class="sect1"><a href="plugin-implement-docs.html">Plugin Documentation</a></span></li><li><span class="sect1"><a href="plugin-implement-building.html">The build.xml Ant build file</a></span></li><li><span class="sect1"><a href="plugin-implement-reloading.html">Reloading the Plugin</a></span></li><li><span class="sect1"><a href="plugin-debugging.html"> Tips for debugging plugins </a></span></li></ul></div><p>There are many applications for the leading operating systems that
 2    provide a &#8220;<span class="quote">scratch-pad</span>&#8221; or &#8220;<span class="quote">sticky note</span>&#8221; facility
 3    for the desktop display. A similar type of facility operating within the
 4    jEdit display would be a convenience. The use of dockable windows would
 5    allow the notepad to be displayed or hidden with a single mouse click or
 6    keypress (if a keyboard shortcut were defined). The contents of the notepad
 7    could be saved at program exit (or, if earlier, deactivation of the plugin)
 8    and retrieved at program startup or plugin activation.</p><p>We will keep the capabilities of this plugin modest, but a few other
 9    features would be worthwhile. The user should be able to write the contents
10    of the notepad to storage on demand. It should also be possible to choose
11    the name and location of the file that will be used to hold the notepad
12    text. This would allow the user to load other files into the notepad
13    display. The path of the notepad file should be displayed in the plugin
14    window, but will give the user the option to hide the file name. Finally,
15    there should be an action by which a single click or keypress would cause
16    the contents of the notepad to be written to the new text buffer for further
17    processing.</p><p>The full source code for QuickNotepad is contained in jEdit's source
18    code distribution. We will provide excerpts in this discussion where it is
19    helpful to illustrate specific points. You are invited to obtain the source
20    code for further study or to use as a starting point for your own
21    plugin.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="plugin-intro.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="writing-plugins-part.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="plugin-load.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 17. Introducing the Plugin API </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">  How Plugins are Loaded</td></tr></table></div></body></html>