PageRenderTime 22ms CodeModel.GetById 13ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms


HTML | 38 lines | 35 code | 3 blank | 0 comment | 0 complexity | 74eb7cfcc798abd147c47f0ca2531cb6 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.65.1"><link rel="home" href="index.html" title="jEdit 4.2 User's Guide"><link rel="up" href="writing-plugins-part.html" title="Part IV. Writing Plugins"><link rel="previous" href="plugin-intro.html" title="Chapter 17. 
 3Introducing the Plugin API"><link rel="next" href="plugin-load.html" title="
 5How 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></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="sect1"><a href="plugin-load.html">
 7How 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-editbus.html">The EditBus</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-actions.html">The Action Catalog</a></span></li><li><span class="sect1"><a href="plugin-implement-dockables.html">The Dockable Window Catalog</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">Compiling the Plugin</a></span></li><li><span class="sect1"><a href="plugin-implement-reloading.html">Reloading the Plugin</a></span></li></ul></div><p>
 8  There are many applications for the leading operating systems that
 9  provide a &#8220;<span class="quote">scratch-pad</span>&#8221; or &#8220;<span class="quote">sticky note</span>&#8221;
10  facility for the desktop display. A similar type of facility operating
11  within the jEdit display would be a convenience. The use of dockable
12  windows would allow the notepad to be displayed or hidden with a single
13  mouse click or keypress (if a keyboard shortcut were defined). The
14  contents of the notepad could be saved at program exit (or, if earlier,
15  deactivation of the plugin) and retrieved at program startup or plugin
16  activation.
18  We will keep the capabilities of this plugin modest, but a few
19  other features would be worthwhile. The user should be able to write
20  the contents of the notepad to storage on demand.  It should also be
21  possible to choose the name and location of the file that will be
22  used to hold the notepad text.  This would allow the user to load
23  other files into the notepad display.  The path of the notepad file
24  should be displayed in the plugin window, but will give the user the
25  option to hide the file name. Finally, there should be an action
26  by which a single click or keypress would cause the contents of the
27  notepad to be written to the new text buffer for further processing.
29  The full source code for QuickNotepad is contained in jEdit's
30  source code distribution.  We will provide excerpts in this discussion
31  where it is helpful to illustrate specific points. You are invited
32  to obtain the source code for further study or to use as a starting point
33  for your own plugin.
34</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. 
36Introducing 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"> 
38How Plugins are Loaded</td></tr></table></div></body></html>