A simple developer tool for adding, editing and exporting documentation for one or more Fox Modules.
WARNING: The actual version is not yet ready to be used.
https://www.youtube.com/watch?v=J8tuOmkc5YA
This section describes how to setup the project using Eclipse.
You should be able to use an alternative IDE, such as NetBean. You however will need some libraries from Eclipse.
Download Eclipse from http://www.eclipse.org/downloads/
This project has been build with JFace/SWT using WindowBuilder. You'll also need a couple of libraries from this plugin.
Install it using the Eclipse Wizard Help
-> Install New Software...
.
You'll find the URL to add here : http://www.eclipse.org/windowbuilder/download.php
- Get the code from Github
- In Eclipse, create a new SWT/Jface Java Project (from
File
->New
->Other
) - Set the project location to the local copy of the code
FoxyDocs a library called Databinding included in Eclipse. Add it to the Build Path following these steps :
- Open the project's Properties
- Go to the tab
Libraries
withinJava Build Path
- Click on
Add External JARs
- Browse to the Eclipse install directory (such ash /opt/eclipse or C:\Program Files\eclipse)
- Open the
plugins
folder - Add every jars containing
databinding
In the future, the relevant JARs will be added in the lib directory so we won't depend on an Eclipse installation.
- Open a folder containing Fox Module (Ctrl + O)
- Browse to each module to add proper documentation for each entry.
- Green Tick : entry completed
- Red Dash : partial entry
- Red Cross : missing entry
- If the file is locked (grey icon), unlock it with SVN or Preforce.
- Save the files (Ctrl + S)
- Export the directory to HTML (Ctrl + H) or the currently open module to PDF (Ctrl + P)
- The Pretty Print function does not align with the XMLSpy one
- Adding or removing folders or files within the opened folder may behave improperly
- The user can select multiple text fields at the same time
- Comments within a documentation node are not accessible
- There is no CSS nor image in the PDF export
- It is not possible to export an entire directory as PDF
- After saving a file, the currently opened entry is not highlighted anymore
- You can close an unsaved tab without any warning
The static assets such as XSL and images are stored in lib/assets.jar
with the following structure:
\_ img \_ actions \_ ... All actions images (save, open, etc..) \_ icons \_ ... All other useful icons \_ xsl \_ bg.png Background image for the HTML report \_ index.html Frame set for the HTML report \_ listing.xsl XSL for the list of modules \_ logo.png FOXopen logo \_ module.xsl XSL for extracting the documentation out of a FOX module \_ style.css Cascading style sheet for index.html \_ summary.html Module specification container \_ xhtml2fo.xsl XSL to convert a XHTML document to FOP for PDF export
Those assets can be loaded directly from the similar structure in lib
or from assets.jar
.
All sources in src/org/eclipse/wb
are automaticly imported by Eclipse when adding databinding libraries. Those files are not to be modified.
Structure inside src/net/foxopen/foxydocs
:
foxydocs \_ FoxyDocs.java Main class; starts the GUI \_ model \_ ... Model files for databinding \_ utils \_ Export.java Generates the HTML or PDF report \_ Loader.java Load all FOX modules from a folder \_ Logger.java Log a message into the terminal \_ ResourceManager.java Handle static ressources (please see the static assets section \_ WatchDog.java Watch for files to be modified into a folder (similar to Clobber \_ WatchDogEventHandler.java Handle the events raised by the watch dog \_ view \_ .. GUI elements
- Pierre-Dominique Putallaz
- Mike Leonard
- William Friesen
- XML-Region-Analyzer : https://github.com/vincent-zurczak/Xml-Region-Analyzer
- FOP 1.1
- jConfig
- jDom2
Copyright (c) 2013, Fivium Ltd. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of Fivium Ltd nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.