[fd2536]: docs / users-guide.xml Maximize Restore History

Download this file

users-guide.xml    903 lines (798 with data), 30.8 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
<?xml version="1.0"?>
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='http://www.docbook.org/xsd/4.4/docbook.xsd' >
<!-- ProjectViewer plugin user's guide -->
<!-- (C) 2001,2002,2003 Marcelo Vanzin, Stefan Kost -->
<!-- jEdit buffer-local properties: -->
<!-- :indentSize=2:noTabs=false:folding=sidekick: -->
<bookinfo>
<title>Project Viewer plugin</title>
<authorgroup>
<author><firstname>Dale</firstname><surname>Anson</surname></author>
<author><firstname>Kevin</firstname><surname>Burton</surname></author>
<author><firstname>Stefan</firstname><surname>Kost</surname></author>
<author><firstname>Matthew</firstname><surname>Payne</surname></author>
<author><firstname>Marcelo</firstname><surname>Vanzin</surname></author>
<author><firstname>Calvin</firstname><surname>Yu</surname></author>
</authorgroup>
<legalnotice>
<title>Legal Notice</title>
<para>
Permission is granted to copy, distribute and/or modify
this document under the terms of the GNU Free
Documentation License, Version 1.1 or any later version
published by the Free Software Foundation; with no
<quote>Invariant Sections</quote>,
<quote>Front-Cover Texts</quote> or
<quote>Back-Cover Texts</quote>,
each as defined in the license.
A copy of the license can be found in the file
<filename>COPYING.DOC.txt</filename> included with jEdit.
</para>
</legalnotice>
</bookinfo>
<chapter id="presentation">
<title>Presentation</title>
<para>
The Project Viewer plugin allows to define groups of files
as projects.
</para>
<bridgehead renderas='sect3'>What is a project?</bridgehead>
<para>
A project is a group of files. It has a name, a root
directory, and an optional URL Root, along with other
options that can be made available by other plugins.
</para>
<para>
Files in a project are not restricted to the project root:
any file can be added to the project (or to any directory in
the project), allowing you to organize your files however
you find most convenient, independently of the file system
layout. The project root and the files and directories below
it have a special treatment not given to others, though.
</para>
<para>
If a project is intented for website development, setting
the URL Root will enable project files to be launched in a
web browser. Suppose the project root also correlates to
the URL <literal>http://localhost/myproject/</literal> currently running on a
web server, launching the file "hello.jsp" will launch the
web browser with the URL
<literal>http://localhost/myproject/hello.jsp</literal>.
</para>
</chapter>
<chapter id="usage">
<title>Using the Project Viewer plugin</title>
<para>
The plugin interface consists of a a menu containing the
currently available projects (accessible through the button
labeled with the current active node), and the project's
views.
</para>
<para>
To open a Project Viewer window, you'll need to choose the
<guimenuitem>Open Project Viewer</guimenuitem> action from the plugin's menu.
Optionally, you can go to the <guimenuitem>Global Options</guimenuitem> dialog in
jEdit, and dock the window in your favorite position (in the
<guimenuitem>Docking</guimenuitem> tab). Note that activating a project or group
using the plugin menu will not open a Project Viewer window
if one is not already opened.
</para>
<section><title>Creating your first project</title>
<para>
Create a project by right-clicking on a project group and
choosing "Add Project", or navigating the project tree
in jEdit's "Plugins -> Project Viewer" menu.
</para>
</section>
<section><title>Organizing Your Projects</title>
<para>
Project Viewer allows you to organize your projects into
groups. You can create as many groups as you with in an
hierarchical manner, by using the "Add group here" command
in the tree's context menu, or choosing the "New group here"
entry from under the desired group in the projects menu.
</para>
<para>
As with projects, it is possible to have groups as the root
of the tree shown in the dockable window. For this, just
choose a group from the projects menu to make it active.
Some plugin functionality is not available when in this
mode.
</para>
<para>
You can also move projects and groups to other locations in
your group hierarchy by using the "Move to..." command in
the tree's context menu and choosing the desired destination
from the displayed menu.
</para>
</section>
<section><title>Switching projects with keyboard </title>
<para>
As you create more and more projects, you will want to be
able to switch between them without using the mouse.
Project Viewer offers many keyboard-friendly ways of
switching projects.
</para>
<orderedlist>
<listitem>
<para>
If you want to use standard Swing shortcuts and arrow
keys to navigate through the Project tree, you should
also bind Project Viewer actions <guimenu>Open Parent
Group</guimenu> and <guimenu>Open Group or
Project</guimenu> to keyboard shortcuts (alt-up and
alt-down suggested). While you are there, don't forget
to bind a shortcut for ProjectViewer itself.
</para>
</listitem>
<listitem>
<para>
Each project and group gets its own "direct switch"
action. You can bind these actions to keyboard shortcuts
by selecting the <emphasis>Project Viewer: Project
Actions</emphasis> action set from the <guimenu>Global
options -&gt; ShortCuts panel -&gt; Edit
shortcuts:</guimenu> combobox.
</para>
</listitem>
<listitem>
<para>
The FastOpen plugin offers more convenient and/or
mouse-free ways of switching between files and projects,
and is an extension to ProjectViewer.
</para>
</listitem>
</orderedlist>
</section>
<section><title>The Project Views</title>
<para>
There are four possible views of the files on a project: the
"Folders" view, which shows the files as if in a file
manager, organised in directories. The "Files" view, which
shows all the project's files in a flat list. The "Working
Files", which shows the project files currently opened in jEdit. And
the "Compact View", which compresses subdirectories into
top-level nodes, showing a structure similar to the java
package naming.
</para>
<para>
The files in the different views are colored according to
the patterns and colors you have choosen for the
filesystem-browser. Furthermore currently open files are
highlighted by underlining their names.
</para>
<para>
You can interact with the project tree in several ways:
</para>
<itemizedlist>
<listitem>
<para>
Double clicking on a file will cause it to be opened in
a jEdit buffer. If the file is already open, then
ProjectViewer follows the FileSystemBrowser
configuration option to decide whether to close it or
not.
</para>
</listitem>
<listitem>
<para>
Middle-clicking on a file does the same as
double-clicking, except it will always close open files.
</para>
</listitem>
<listitem>
<para>
The right mouse button shows a context menu with options
related to the current selection on the tree, allowing
you to remove files or directories from a project,
deleting them from the disk, or rename them, among many
other options.
</para>
</listitem>
<listitem>
<para>
Dragging a file from the trees and dropping it on
jEdit's text area will cause the file to be opened.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>Importing Files</title>
<para>
In the import dialog (available by choosing "Add files"
from the right-click menu), you can choose any files to be
imported to the selected node (the one where you clicked to
get the context menu). The same filters available when doing
the initial import for the project are available in the file
chooser.
</para>
<para>
You may choose any files and directories to import, even
files and directories that are not "children" of the
selected node in the file system layout. This allows you to
organize your files in any way you want. You may even enter
the name of a non-existant file in the file chooser: it will
be treated as a directory, and even though the directory
does not exist on disk, you'll have the same functionality
for it as you have for other directories in your project.
</para>
<para>
The file import dialog is a standard jEdit VFS file chooser
with a few added options to control the behavior of the
import process. These options are:
</para>
<itemizedlist>
<listitem>
<para>
Traverse directories: if a directory is chosen to be
imported, this option will cause all files and directories
under the chosen directories to also be imported, as long
as they fit the chosen filter.
</para>
</listitem>
<listitem>
<para>
Flatten file paths: when traversing directories, you may
choose to import all the files into a single node, insted
of generating a directory tree.
</para>
</listitem>
<listitem>
<para>
Keep Project Tree: if you choose to import files several
leves under the chosen node, this option will make all
parent nodes be added to the project too, making the
project's layout follow the filesystem layout. This is
selected by default.
</para>
</listitem>
<listitem>
<para>
Import into new node: this will create a new node under
which you are importing files, and all newly added files
and directories will be placed under this new node.
</para>
</listitem>
<listitem>
<para>
Filter settings: when traversing directories, you may
choose from some existing file filters to choose the
files to be imported, or create your custom file filter
on the fly by providing globs for files to be included
and directories to be ignored. For more information
about the glob syntax, see "Import Options" under
the "Customization" chapter.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>Commands available in the context menu</title>
<para>
The context menu provides context-sensitive options based on
the current tree selection. The following commands can be
found in the context menu (some of them have already been
explained above):
</para>
<itemizedlist>
<listitem>
<para>
Add files: pops a file chooser from where you can
choose any files or directories to import. These
will be imported <emphasis>into the selected
node</emphasis>, disregarding the file system
layout. If importing directories, you'll be prompted
if you want to do it recursively using one of the
available filters.
</para>
</listitem>
<listitem>
<para>
Add files from VFS: lets you select files from a
jEdit VFS (Virtual File System), such as FTP. If you
choose local files, ProjectViewer will add standard
files instead of VFS files. The functionality of VFS
files in ProjectViewer is rather limited when
compared to standard files.
</para>
</listitem>
<listitem>
<para>
Re-import files: this command will remove all files
and directories below the project root, and re-read
the file structure from disk according to the
selected filter (which can be chosen from the dialog
that pops up). It will also analyze directories not
under the project root: it will re-import existing
directories and remove stale files from "virtual"
directories.
</para>
</listitem>
<listitem>
<para>
Update VCS Status: this command is available only if the
project has specified a version control system. This command
forces an update of the version control status for every
file in the project. This is useful for projects that may
have files that are updated outside of jEdit.
</para>
</listitem>
<listitem>
<para>
Remove from project: this will remove the selected
node from the project to which it belongs. It is
also possible to remove multiple nodes at once.
</para>
</listitem>
<listitem>
<para>
Delete from disk: this is only shown for files to
which you have write permission. Choosing it will
cause the files to be deleted from disk and removed
from the project.
</para>
</listitem>
<listitem>
<para>
Rename: this will prompt you for a new name for the
selected node. If you check the "Don't change name
on disk" option, only the node name on the tree will
be changed; the file on disk will keep its current
name.
</para>
</listitem>
<listitem>
<para>
Archive project: this will prompt you for a file
name. A JAR archive will be created containing all
files below the project root.
</para>
</listitem>
<listitem>
<para>
Preview in browser: this will open the file in the
configured web browser. If a project URL is set,
files below the project root will be redirected to
the given URL; in other cases, the "file://"
protocol will be used. The part of the file path
corresponding to the project root will be removed
when opening the file relatively to the project URL.
</para>
</listitem>
<listitem>
<para>
Open with: this will open the selected file in a
configured application associated with its extension
(configured in the Project Viewer's plugin options).
If no application is configured for the selected
file, selecting this option will prompt you to
choose an application.
</para>
</listitem>
<listitem>
<para>
Node Properties: this shows a dialog with information
about the selected node. For example, for file nodes,
you can get information collected from the filesystem.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>Using PV commands from jEdit</title>
<para>
Some commands are also available as jEdit actions so that
shortcuts can be assigned to them. You can check all the
possible commands available as actions by going to the
"Shortcuts" panel in the jEdit options dialog, and selecting
the ProjectViewer plugin.
</para>
<para>
When executing a command using a shortcut, you may notice
that sometimes no action is performed and an error message
appears in the status bar. This means that the action is not
available for the current selection in the tree. To check
which actions are available for the selected node(s), check
the context menu by clicking the node with the right mouse
button.
</para>
</section>
<section><title>Third party plugins commands</title>
<para>
Project Viewer can be extended by other plugins; they can
add properties to a project and define new actions for nodes
in the tree. Consult each plugins documentation for
information about possible commands available for the
Project Viewer plugin.
</para>
<para>
For developers go to chapter <link linkend="developer"
endterm="developer.title"/> to get some starting help fo how to
cooperate with the Project Viewer plugin.
</para>
</section>
</chapter>
<chapter id="customization">
<title>Customization</title>
<para>
Several options are configurable from the jEdit options
dialog. There are options to control the GUI of the plugin,
and internal behaviour when executing several actions. The
options are:
</para>
<section><title>General Behaviour Options</title>
<itemizedlist>
<listitem>
<para>
<guimenuitem>Use external applications by default</guimenuitem>: if selected,
files that are open from the tree (by either
double-clicking or middle-clicking) will be opened
using the external application configured for the
file's extension, if any. If no application is
found, it will be opened in jEdit. You can still
open the file in jEdit by dragging the file node
onto jEdit's text area. When opening in an external
application, you'll lose support for auto-closing
the file on project file, auto-loading the file when
the project is re-activated and the file node won't
be underlined, indicating it is opened..
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Close files on project change</guimenuitem>: if selected, files
from the current project that are opened in jEdit
will be closed when you switch to another project.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Remember open files</guimenuitem>: if selected, files opened in
the current project will be re-opened when you
select the same project in a later moment, even
between different jEdit sessions.
</para>
</listitem>
<listitem><para>
<guimenuitem>Use variable-prefixed paths when storing project data:</guimenuitem>
If selected, will use paths prefixed with environment variables,
if appropriate variables are found in memory. This makes it possible to move
project data from one machine to another when the absolute paths
differ, but the paths relative to a variable remain the same.
Using jEdit 5.2 or later, it is also possible to use this feature
to share the same settings files between Windows and non-Windows systems.
</para></listitem>
<listitem>
<para>
<guimenuitem>Auto-remove non-existant files from project</guimenuitem>: if selected,
each file in the project is verified to exist when
the project loads. If the file does not exist, it is
removed from the project.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Ask to import new files</guimenuitem>: if "Always" is selected,
every time you save a file located below the active
project's root, and the file is not yet part of the
project, you'll be asked whether you want to import
it. Selecting "Once per session" will ask only one
time during the time the current project stays
active. "Never" will disable this feature. "Auto
import" will automatically add to the project any
saved files which are under the project root and are
not currently part of the project.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>GUI Options</title>
<itemizedlist>
<listitem>
<para>
<guimenuitem>Show toolbar</guimenuitem>: whether to show the plugin's toolbar
or not. The toolbar is automatically hidden when no
tree is selected for showing, regardless of this
option.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show folders tree</guimenuitem>: if the "Folders" tree view should
be shown.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show files tree</guimenuitem>: if the "Files" tree view should be
shown. Disabling this view can greatly improve
performance when your projects have many files.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show working files tree</guimenuitem>: if the "Working Files" tree
view should be shown.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show all open files</guimenuitem>: if the "Working Files" tree
is shown, checking this will also show all open files in
the current View, whether the files are in the project or
not.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show compact tree</guimenuitem>: whether the "Compact" tree view
should be shown.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show filtered tree</guimenuitem>: whether the "Filtered" tree view
should be shown.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Use system icons for files</guimenuitem>: instead of using jEdit's
icons, uses the system provided icon for each
individual files. The jEdit icon will still be used
when the file is opened. On some systems, the system
icons may not be accessible from Java, so this
option may not work as expected.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Show project (or group) name in the view's title bar:</guimenuitem>
if selected, the jEdit window title will be updated
with information about the currently active project
or group in that window.
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Follow active node in tree:</guimenuitem> this option will make PV
automatically select the node corresponding to the
active buffer as you switch between buffers.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>Import Options</title>
<para>
This controls the behaviour of the "Import settings" filter
available when importing files.
</para>
<itemizedlist>
<listitem>
<para>
<guimenuitem>Files to include:</guimenuitem> a list of globs that match files
you want to include in a project (e.g., "*.html",
"*.java", "README*"). If you want to exclude files
from the automatic import, prepend the glob with the
"!" character (e.g., "!*.class").
</para>
</listitem>
<listitem>
<para>
<guimenuitem>Directories to ignore:</guimenuitem> space-separated list of globs
to match directory names to ignore when doing
automatic import of files. No files within
directories whose names are listed here will be
imported.
</para>
</listitem>
</itemizedlist>
</section>
<section><title>Editing the context menu</title>
<para>
ProjectViewer provides an interface similar to jEdit's
context menu editor, where you can add actions to be
displayed in the trees' context menus. You can't remove the
default entries in the context menu, but any action
available to jEdit can be added. It's important to notice
that adding an action to the context menu won't make it
"Project Viewer aware": unless the action is specifically
written to interface with ProjectViewer, it will work the
same way as it would if executed from any other place (such
as the jEdit toolbar or menu).
</para>
</section>
<section><title>File Associations</title>
<para> If the option <guimenuitem>Use Desktop File Associations</guimenuitem> is checked,
then the desktop's chosen application will be used to launch a
program on the selected file in ProjectViewer. Otherwise,
The <guimenuitem>External Applications</guimenuitem> option pane can be used to
register applications you want to use for specific file
type, accessible through the <guimenuitem>Open with...</guimenuitem> context menu
command for files. Just add a file name glob and choose the
application you wish to use for that entry.
</para>
</section>
<section><title>Filtered View</title>
<para>
The filtered view allows you to group files according to
their names. To create a filter, go to the Plugin Options
and choose the "Filtered view" pane, or go to the project
properties dialog and choose the "Filtered view" pane, to
create project-specific filters.
</para>
<para>
To create a filter, provide a file name glob (see jEdit's
documentation for the supported glob syntax) and a name for
the filter. If the <guimenuitem>Show filtered tree</guimenuitem> option is enabled,
a new "virtual directory" with the filter name will be
available in the <guimenuitem>Filtered</guimenuitem> tab of the ProjectViewer window,
containig all file names that match the glob. Files that
match more than one filter will be listed several times
in this view.
</para>
</section>
</chapter>
<chapter id="developer">
<title id="developer.title">Developer Documentation</title>
<para>
There is comprehensive documentation included with the
source distribution in Javadoc format. Just download the
source from the jEdit GIT repository and create the
documentation by executing the "javadoc" Ant task in the
Project Viewer directory. Documentation will be created
under the directory "build/docs/javadoc". Or access the
<ulink url="javadoc/index.html">bundled documentation</ulink>.
</para>
<para>
Among many classes and methods declared as <code>public</code>,
the majority should not be called from outside
<code>projectviewer</code> package. They are declared
<code>public</code> only because the main package consists of
several subpackages and these classes and methods must be
accessible between these packages. Safely used may be the following
apis:
<itemizedlist>
<listitem><para>Types exposed through events</para></listitem>
<listitem><para>Constructions used in
<filename>actions.xml</filename></para></listitem>
</itemizedlist>
Before using a particular method or class, refer to its javadoc.
An index of public api is being created in javadoc of
<code>projectviewer.PVActions</code> class.
</para>
<para>
The Project Viewer source also contains a second plugin that
is used for debugging purposes. This plugin uses all the
extension APIs provided by ProjectViewer to add extra
functionality. The source for this plugin is available
in the "pvdebug" directory in the source tree; you can
use that source as an example of how to code your
extensions.
</para>
<para>
External plugins can interact with the Project Viewer plugin in
various ways:
<itemizedlist>
<listitem><para>By providing project specific properties: properties</para></listitem>
<listitem><para>By creating new node types: nodes</para></listitem>
<listitem><para>By creating node-specific actions: actions</para></listitem>
<listitem><para>By listening to Project Viewer events
<footnote><para>
For details on how to do this, check the
package summary for
<ulink url="javadoc/projectviewer/event/package-summary.html">projectviewer.Event</ulink>
in the javadocs. </para></footnote>
</para></listitem>
</itemizedlist>
</para>
<section id="developer-common-tasks">
<title id="developer-common-tasks.title">
Common task for interacting with projectviewer
</title>
<section id="developer-checkpv">
<title id="developer-checkpv.title">Checking if projectviewer is available</title>
<para>
The method described here requires a jEdit with version > 4.2preX. </para>
<informalexample>
<programlisting>
EditPlugin pv = jEdit.getPlugin("projectviewer.ProjectPlugin", false);
if (pv != null) {
// we can use the projectviewer plugin
}
</programlisting>
</informalexample>
</section>
<section id="developer-prjfile">
<title id="developer-prjfile.title">Getting the project the a given file belongs to</title>
<informalexample>
<programlisting>
ProjectManager pm = ProjectManager.getInstance();
// then use java.util.Iterator getProjects();
// and foreach project use VPTNode node=prj.getChildNode(java.lang.String path);
</programlisting>
</informalexample>
</section>
<section id="developer-prjview">
<title id="developer-prjview.title">Getting the project of the given view</title>
<informalexample>
<programlisting>
VPTProject prj = ProjectViewer.getActiveProject(org.gjt.sp.jedit.View aView);
ProjectViewer pv = ProjectViewer.getViewer(org.gjt.sp.jedit.View view);
</programlisting>
</informalexample>
</section>
</section>
</chapter>
<chapter id="troubleshooting">
<title>Troubleshooting</title>
<bridgehead renderas='sect3'>Large projects</bridgehead>
<para>
Large projects can take some time to load, especially over a
network connection if the "delete non-existant files"
configuration option is enabled. This is due to asking whether
the file exists for each file in the project, which can be
slow in some systems.
</para>
<bridgehead renderas='sect3'>Multiple Viewer in same jEdit View</bridgehead>
<para>
jEdit allows multiple instances of the same dockable for the
same view. Project Viewer does not support this feature and
will issue an error message if you try to open two Project
Viewer windows in the same view.
</para>
</chapter>
<chapter id="license">
<title>License</title>
<para>
The source code is distributed under the GPL.
Please see
<ulink url="http://www.fsf.org/copyleft/gpl.html">
http://www.fsf.org/copyleft/gpl.html
</ulink>
</para>
</chapter>
<chapter id="feedback">
<title>Feedback</title>
<para>
The preferred way to send bug reports is to use the
<ulink url="http://sourceforge.net/tracker/?atid=565475&amp;group_id=588">
Sourceforge Plugin Bugs Tracker
</ulink>.
Please start the report subject with the text "ProjectViewer:".
</para>
<para>You can also write to:</para>
<itemizedlist>
<listitem>
<para>
jEdit-users mailing-list
<email>jedit-users@lists.sourceforge.net</email>;
</para>
</listitem>
<listitem>
<para>
or jEdit-devel mailing-list
<email>jedit-devel@lists.sourceforge.net</email>.
</para>
</listitem>
</itemizedlist>
</chapter>
<chapter id="changelog">
<title> Changelog </title>
<para> For the full changelog, click <ulink url="docs/CHANGELOG.txt">here</ulink>. </para>
</chapter>
<chapter id="credits">
<title>Credits</title>
<itemizedlist>
<listitem>
<para>
ProjectViewer was previously (up to 1.0.2) maintained by Calvin Yu
</para>
</listitem>
<listitem>
<para>
ProjectViewer was originally developed Kevin A. Burton
</para>
</listitem>
</itemizedlist>
</chapter>
</book>