| package-info.java |
1 /** 2 This package contains the BookDataDisplay interface which is designed to 3 allow GUI components to choose between the methods they use to display BookData 4 objects. 5 6 <br/> 7 There are several implementation of this interface in sub-packages. 8 <ul> 9 <li>textpane - A simple unscrolled implementation that uses a JDK HTML widget.</li> 10 <li>proxy - A handy base class to simplify adding features to another 11 implementation of BookDataDisplay</li> 12 <li>scrolled - Builds on proxy to scroll child BookDataDisplays. Generally the 13 child will be a textpane implementation.</li> 14 <li>tab - Splits a display into a number of tabs so arbitarily large pasasges 15 can be viewed without scrolling or memory problems.</li> 16 <li>splitlist - presents the parts of a passage as a list from which individual 17 keys can be selected for viewing.</li> 18 </ul> 19 20 21 <br/> 22 We have spent some time investigating alternatives to the JDK HTML widget. 23 The requirements were: 24 <ul> 25 <li>work using OSIS input</li> 26 <li>be easily understood for the developer (which fairly much means HTML)</li> 27 <li>work over webstart</li> 28 <li>be freely re-distributable</li> 29 <li>allow some DHTML like flexibility</li> 30 </ul> 31 32 <p> 33 <b>JRex (Embed Mozilla)</b><br/> 34 Very good html displayer, but probably very complex to get working and 35 installed, especially over WebStart. JNI+webstart anyone? 36 See <a href="http://jrex.mozdev.org/index.html">mozdev</a>. 37 </p> 38 39 <p> 40 <b>Jazilla (Mozilla re-write in Java)</b><br/> 41 Interesting project, but one that seems more interested in XUL than the Java 42 renderer, proceeding slowly. 43 See <a href="http://jazilla.mcbridematt.sniperhq.net/">their home page</a>. 44 </p> 45 46 <p> 47 <b>JXWB (OSS Java Browser)</b><br/> 48 Commercial software made free. Works well with Swing (includes customized 49 implementations of javax.swing.text.Document and javax.swing.text.EditorKit) 50 Things have moved on quite a bit recently. 51 See <a href="http://sourceforge.net/projects/jxwb">JXWB on SourceForge</a> 52 </p> 53 54 <p> 55 <b>SWT Browser Component</b><br/> 56 Don't think we could easily embed an SWT component in swing (since SWT is 57 heavyweight in AWT speak) and I don't particularly want to re-write the whole 58 app in SWT. However there are 2 projects to allow use of SWT from a swing API. 59 <a ref="http://swingwt.sourceforge.net/">SwingWT</a> is a swing-like proxy to 60 SWT and <a href="http://chrriis.brainlex.com/projects/mastercl/">MasterCL</a> 61 will allow you to dynamically swap package names to make the whole of swing use 62 SWT dynamically. 63 It is possible to use SWT from webstart - 64 <a href="http://irate.sf.net/">irate radio</a> does it although their build 65 scripts are not very helpful. 66 </p> 67 68 <p> 69 <b>FOP -> PNG</b><br/> 70 FOP is XSL:FO renderer that can create PDFs and various graphics files. 71 Could give very slick output, but not at all dynamic, quite slow and FO is not 72 easy to use. Probably not one of the best ideas for normal rendering. 73 See <a href="http://xml.apache.org/fop/index.html">FOP at Apache</a>. 74 </p> 75 76 <p> 77 <b>Dynamic Swing GUI</b><br/> 78 There are plenty of XML->Swing converters. JDK 1.4 even includes one. 79 Maybe we could write a OSIS->SwingXML converter in XSL and then render OSIS 80 text in swing components. Could be very fancy. XSL could be complex. 81 </p> 82 * 83 */ 84 package org.crosswire.bibledesktop.display; 85