| 1 | ========================== |
| 2 | Ekit README |
| 3 | ========================== |
| 4 | |
| 5 | Ekit v0.9g (C)2000-2003 Howard Kistler/hexidec codex |
| 6 | App/Applet for editing and saving HTML in a Java text component. |
| 7 | |
| 8 | |
| 9 | ABOUT |
| 10 | -------------------------- |
| 11 | |
| 12 | Ekit is a program & applet that uses the Java 2 libraries to create an HTML |
| 13 | editor. The Ekit standalone also allows for HTML to be loaded and saved, as |
| 14 | well as serialized and saved as an RTF. It is currently an advanced beta, |
| 15 | and most features work fine. |
| 16 | |
| 17 | Updates to this and other hexidec codex projects can be found here: |
| 18 | |
| 19 | http://www.hexidec.com/ |
| 20 | |
| 21 | Please feel free to share any enhancements or bug reports with me at: |
| 22 | |
| 23 | hexidec@telepath.com |
| 24 | |
| 25 | |
| 26 | ABOUT LICENSE |
| 27 | -------------------------- |
| 28 | |
| 29 | Ekit was originally distributed under the GPL license. However, it was brought |
| 30 | to my attention that the GPL license is not suited for programs that link to |
| 31 | non-GPL libraries, such as Ekit does by linking to the Sun Swing library. |
| 32 | Hence, I have changed the licensing on Ekit to the LGPL, which is more |
| 33 | appropriate. This should not impact any Ekit users adversely, as anyone who |
| 34 | was using it before under the GPL can still do so without any conflicts under |
| 35 | the LGPL. In addition, this opens up Ekit for use with more projects which |
| 36 | might contain some proprietary libraries of their own as well. It is my |
| 37 | intention through this change to make Ekit conform better to open source |
| 38 | licensing and to make Ekit more available and accessible to developers and |
| 39 | users, and I think by switching to the LGPL all of these criteria are thus met. |
| 40 | |
| 41 | I am aware that releasing a product under the GPL is supposed to be an |
| 42 | "irreversible" process. However, as this product was in violation of the |
| 43 | stricter terms of the GPL, this reassignment to LGPL is not a change so much |
| 44 | as a correction of licensing. |
| 45 | |
| 46 | |
| 47 | REQUIREMENTS |
| 48 | -------------------------- |
| 49 | |
| 50 | Ekit requires the following software: |
| 51 | - Java 2 (Sun JDK 1.3 or later, or compatible variant) |
| 52 | - Swing Library (standard with Java 2) |
| 53 | |
| 54 | EkitApplet requires the following software: |
| 55 | - Browser with Java Plug-in 1.3 or later |
| 56 | |
| 57 | Sun JDK Standard Edition Homepage : http://java.sun.com/j2se/ |
| 58 | Sun JDK 1.3 available here : http://java.sun.com/j2se/1.3/ |
| 59 | Sun JDK 1.4 available here : http://java.sun.com/j2se/1.4/ |
| 60 | |
| 61 | |
| 62 | FILES |
| 63 | -------------------------- |
| 64 | |
| 65 | These are the base class source files: |
| 66 | |
| 67 | EkitCore.java - Source for the core Ekit functionality |
| 68 | Ekit.java - Source for Ekit application shell |
| 69 | EkitApplet.java - Source for EkitApplet shell |
| 70 | |
| 71 | EkitCore is replaced by one of these two core files during compilation: |
| 72 | |
| 73 | EkitCore_Basic.java - The standard Ekit core. |
| 74 | EkitCore_Spell.java - The core plus supports for the Jazzy spellchecker. |
| 75 | |
| 76 | The "action" subdirectory contains these action class sources: |
| 77 | |
| 78 | CustomAction.java - Special situation actions (like anchor insertion) |
| 79 | FormatAction.java - General text format actions (like subscript) |
| 80 | ListAutomationAction.java - Bulleted/Numbered List creation actions |
| 81 | StylesAction.java - CSS Style actions |
| 82 | |
| 83 | The "component" subdirectory contains these component class sources: |
| 84 | |
| 85 | ExtendedHTMLDocument.java - HTMLDocument with custom functionality |
| 86 | ExtendedHTMLEditorKit.java - HTMLEditorKit with custom functionality |
| 87 | FileDialog.java - Dialog for loading files from server |
| 88 | FontSelectorDialog.java - Dialog for applying system fonts to text |
| 89 | HTMLUtilities.java - Special utility functions |
| 90 | ImageDialog - Dialog for loading images from server |
| 91 | ImageFileChooser.java - Image selector dialog |
| 92 | ImageFileChooserPreview.java - Image preview rendering panel |
| 93 | JButtonNoFocus.java - JButton that does not obtain focus |
| 94 | JComboBoxNoFocus.java - JComboBox that does not obtain focus |
| 95 | JToggleButtonNoFocus.java - JToggleButton that does not obtain focus |
| 96 | MutableFilter.java - Filetype dialog filter |
| 97 | PropertiesDialog.java - Generic parameter request dialog |
| 98 | RelativeImageView.java - HTML Image rendering component |
| 99 | SearchDialog.java - Find/Replace dialog |
| 100 | SimpleInfoDialog.java - Basic message dialog |
| 101 | TableInputDialog.java - Table specification input dialog |
| 102 | UserInputAnchorDialog.java - Custom anchor input dialog |
| 103 | UserInputDialog.java - Custom data input dialog |
| 104 | |
| 105 | There is also a copy of the TaggingDriverServlet.java source within the |
| 106 | "materials" folder. You may use this on your server for server-based file |
| 107 | and image loading. |
| 108 | |
| 109 | The "icons" subdirectory contains these custom icons for the ToolBar: |
| 110 | |
| 111 | AnchorHK.gif - "Make Anchor" ToolBar Icon |
| 112 | BoldHK.gif - "Bold Text" ToolBar Icon |
| 113 | ClearFormatHK.gif - "Clear Format Action" ToolBar Icon |
| 114 | CopyHK.gif - "Copy Action" ToolBar Icon |
| 115 | CutHK.gif - "Cut Action" ToolBar Icon |
| 116 | ItalicHK.gif - "Italicise Text" ToolBar Icon |
| 117 | NewHK.gif - "New Document" ToolBar Icon |
| 118 | OListHK.gif - "Ordered List" ToolBar Icon |
| 119 | OpenHK.gif - "Open Document" ToolBar Icon |
| 120 | PasteHK.gif - "Paste Action" ToolBar Icon |
| 121 | SaveHK.gif - "Save Document" ToolBar Icon |
| 122 | SourceHK.gif - "View Source" ToolBar Icon |
| 123 | StrikeHK.gif - "Strike Text" ToolBar Icon |
| 124 | SubHK.gif - "Subscript Text" ToolBar Icon |
| 125 | SuperHK.gif - "Superscript Text" ToolBar Icon |
| 126 | UListHK.gif - "Unordered List" ToolBar Icon |
| 127 | UnderlineHK.gif - "Underline Text" ToolBar Icon |
| 128 | |
| 129 | The "HK" suffix merely designates that they are my designs. You can replace |
| 130 | these images with your own icons if you wish. |
| 131 | |
| 132 | The "com/hexidec/util" directory contains these standard hexidec codex tools: |
| 133 | |
| 134 | Base64Codec.java - Base64 encoding/decoding class |
| 135 | Translatrix.java - Translation resource handler class |
| 136 | |
| 137 | These are the ancillary files that are included with the standard Ekit |
| 138 | source distribution: |
| 139 | |
| 140 | ekit.manifest - Jar manifest file for ekit.jar |
| 141 | MakeEkit.csh - Script to (re)build the ekit.jar file (Unix/MacOSX) |
| 142 | MakeEkitApplet.csh - Script to (re)build the ekitapplet.jar file (Unix/MacOSX) |
| 143 | MakeEkit.bat - Batch file to (re)build the ekit.jar file (Windows) |
| 144 | MakeEkitApplet.bat - Batch file to (re)build the ekitapplet.jar file (Windows) |
| 145 | MakeEkit.ant - XML file to (re)build the ekit.jar file using Ant |
| 146 | MakeEkitApplet.ant - XML file to (re)build the ekitapplet.jar file using Ant |
| 147 | ekit.css - Default CSS Stylesheet for Ekit documents |
| 148 | EkitAppletDemo.html - Example web page for displaying Ekit applet |
| 149 | RunEkit.csh - Script for launching Ekit (Unix/MacOSX) |
| 150 | RunEkit.bat - Batch file for launching Ekit (Windows) |
| 151 | README - This document |
| 152 | materials/LGPL - Copy of the Lesser GNU Public License |
| 153 | |
| 154 | The distribution also contains these pre-compiled Ekit JARs: |
| 155 | |
| 156 | Basic Version |
| 157 | |
| 158 | ekit.jar |
| 159 | ekitapplet.jar |
| 160 | |
| 161 | Spellcheck Version |
| 162 | |
| 163 | ekitspell.jar |
| 164 | ekitappletspell.jar |
| 165 | |
| 166 | NOTE : If you want to use the spellcheck versions, move or delete the basic |
| 167 | versions and rename the spellcheck versions to the basic names. So, for |
| 168 | example, ekitspell.jar should be renamed ekit.jar. |
| 169 | |
| 170 | |
| 171 | JAZZY SOURCES |
| 172 | -------------------------- |
| 173 | |
| 174 | Ekit optionally incorporates a modified subset of the Jazzy open source |
| 175 | spellchecker. The root folder of the Jazzy classes is "com/swabunga/spell". |
| 176 | You will find the following subdirectories and sources there. (See the README |
| 177 | file under the "swabunga" directory for more information.) |
| 178 | |
| 179 | The "engine" subdirectory contains the basic mechanics of the spellchecker. |
| 180 | |
| 181 | Configuration.java |
| 182 | DoubleMeta.java |
| 183 | EditDistance.java |
| 184 | GenericTransformator.java |
| 185 | PropertyConfiguration.java |
| 186 | SpellDictionary.java |
| 187 | Transformator.java |
| 188 | Word.java |
| 189 | configuration.properties |
| 190 | |
| 191 | The "dictionary" subdirectory beneath "engine" houses the available |
| 192 | dictionary files. Currently there is only an English dictionary included. |
| 193 | |
| 194 | english - English dictionary file |
| 195 | |
| 196 | The "event" sudirectory contains the various event classes and functional |
| 197 | methods for the spellchecker. |
| 198 | |
| 199 | BasicSpellCheckEvent.java |
| 200 | DocumentWordTokenizer.java |
| 201 | SpellCheckEvent.java |
| 202 | SpellCheckListener.java |
| 203 | SpellChecker.java |
| 204 | StringWordTokenizer.java |
| 205 | WordTokenizer.java |
| 206 | |
| 207 | The "swing" subdirectory contains the GUI components and message lists. |
| 208 | |
| 209 | JSpellDialog.java |
| 210 | JSpellForm.java |
| 211 | messages.properties |
| 212 | messages_sv.properties |
| 213 | |
| 214 | |
| 215 | COMPILATION (OPTIONAL) |
| 216 | -------------------------- |
| 217 | |
| 218 | If you modify the included .java files, or need to recreate the .class files, |
| 219 | use the following commands within the "source" directory to build them. All |
| 220 | commands assume you are at the top of the source tree (the directory containing |
| 221 | the "com" directory). All commands listed are one-line commands as well, though |
| 222 | some are broken to multiple lines in this file due to length. Also note that |
| 223 | the backslash ("\") character should be replaced by the appropriate path |
| 224 | separator for your operating system if it is different. |
| 225 | |
| 226 | Unix or Mac OS X users may run the MakeEkit.csh and MakeEkitApplet.csh scripts |
| 227 | from a terminal window. Remember to preface them with "./" when running from |
| 228 | within the code directory. |
| 229 | |
| 230 | Windows users may double-click the MakeEkit.bat and MakeEkitApplet.bat batch |
| 231 | files, or execute them from the command line. |
| 232 | |
| 233 | Both sets of batch files take an optional command line argument. You can enter |
| 234 | "basic" after the batch file to compile the standard Ekit classes, or enter |
| 235 | "spell" after the batch file to build in the Jazzy spellchecker classes. |
| 236 | |
| 237 | For example, here is a standard build of EkitApplet on Unix: |
| 238 | |
| 239 | MakeEkitApplet.csh |
| 240 | |
| 241 | or |
| 242 | |
| 243 | MakeEkitApplet.csh basic |
| 244 | |
| 245 | Here is an example of building Ekit with spellchecking on Windows: |
| 246 | |
| 247 | MakeEkit.bat spell |
| 248 | |
| 249 | Apache Ant (http://jakarta.apache.org/ant/) users may use the included .ant XML |
| 250 | files to compile and build the Ekit jar files with Ant. |
| 251 | |
| 252 | You may manually compile Ekit with the following command: |
| 253 | |
| 254 | Unix/MacOSX javac com/hexidec/ekit/Ekit.java |
| 255 | Windows javac com\hexidec\ekit\Ekit.java |
| 256 | Apache Ant ant -buildfile MakeEkit.ant |
| 257 | |
| 258 | You may manually compile EkitApplet with the following command: |
| 259 | |
| 260 | Unix/MacOSX javac com/hexidec/ekit/EkitApplet.java |
| 261 | Windows javac com\hexidec\ekit\EkitApplet.java |
| 262 | Apache Ant ant -buildfile MakeEkitApplet.ant |
| 263 | |
| 264 | Ekit takes no special arguments during compile. The above command assumes your |
| 265 | Java development environment is configured according to minimal standards and |
| 266 | can locate the relevant Java core files properly. |
| 267 | |
| 268 | View the .csh or .bat files for the proper syntax to manually create the jar |
| 269 | files under your OS. |
| 270 | |
| 271 | |
| 272 | EXECUTION (APP) |
| 273 | -------------------------- |
| 274 | |
| 275 | All users with properly configured systems will be able to launch Ekit by |
| 276 | double-clicking on the "ekit.jar" file. Unix/MacOSX users may lanuch Ekit with |
| 277 | the "RunEkit.csh" script. Windows users may launch Ekit by double-clicking the |
| 278 | batch file "RunEkit.bat". |
| 279 | |
| 280 | You may manually execute Ekit from the command line with the following command |
| 281 | from within the directory containing the ekit.jar file: |
| 282 | |
| 283 | java -jar ekit.jar com.hexidec.ekit.Ekit |
| 284 | [-t/T] [-s/S] [-m/M] [-x/X] [-d/D] |
| 285 | [-fHTMLfile] [-cCSSfile] [-rRawHTML] [-lLangcode] |
| 286 | |
| 287 | Note that your CLASSPATH settings should include the "current directory" |
| 288 | specifier "." for this to work. |
| 289 | |
| 290 | The [optional] command line arguments are: |
| 291 | |
| 292 | -t/-T : Show/Hide the ToolBar (Show by default) |
| 293 | -s/-S : Show/Hide the Source window (Hide by default) |
| 294 | -m/-M : Show/Omit Menu icons (Show by default) |
| 295 | -x/-X : Exclusive Edit Mode On/Off (On by default) |
| 296 | -b/-B : Document is/isn't Base64 encoded (Isn't by default) |
| 297 | -d/-D : Show/Hide the Debug menu (Hide by default) |
| 298 | -f : Load the HTML document specified by HTMLfile |
| 299 | -c : Load the CSS stylesheet specified by CSSfile |
| 300 | -r : Load the raw HTML string specified by RawHTML |
| 301 | -l : Start Ekit in the language specified by Langcode* |
| 302 | |
| 303 | [* Langcode is a combination of the 2-letter language and country codes, in the |
| 304 | format "xx_XX", where xx is the language code and XX is the country code. For |
| 305 | example, the Langcode for English/United States is "en_US", English/United |
| 306 | Kingdom is "en_UK", and German/Germany is "de_DE". Note that there must be |
| 307 | a matching "LanguageResources_xx_XX.properties" file in the com/hexidec/ekit |
| 308 | directory for the language you want to use. Missing language files, and |
| 309 | existing language files that may be missing words in use, will take words from |
| 310 | the "LanguageResources.properties" file, which contains default words in |
| 311 | "en_US" encoding marked with a trailing asterisk.] |
| 312 | |
| 313 | So, for example, to start Ekit with the ToolBar hidden, the Source window |
| 314 | showing, and pre-load it with the "Home.html" document and "Styles.css" |
| 315 | stylesheet, you would enter: |
| 316 | |
| 317 | java -jar ekit.jar com.hexidec.ekit.Ekit -T -s -fHome.html -cStyles.css |
| 318 | |
| 319 | To start Ekit with a short example HTML document written as a raw string, you |
| 320 | could enter: |
| 321 | |
| 322 | java -jar ekit.jar com.hexidec.ekit.Ekit -r"<HTML><BODY>This is a <B>test |
| 323 | </B></BODY></HTML>" |
| 324 | |
| 325 | To start Ekit with the Italian/Italy language file: |
| 326 | |
| 327 | java -jar ekit.jar com.hexidec.ekit.Ekit -lit_IT |
| 328 | |
| 329 | Note that you shouldn't have to specify the language setting if you want Ekit |
| 330 | to run in your native language, provided there is an appropriate language file |
| 331 | in the com/hexidec/ekit directory and your Java environment is configured to |
| 332 | use your language by default. |
| 333 | |
| 334 | |
| 335 | EXECUTION (APPLET) |
| 336 | -------------------------- |
| 337 | |
| 338 | Embed the Ekit applet in a web page and view in an appropriate browser. |
| 339 | The jar file should be included in the directory with the web page and |
| 340 | it should also be "visible" to the web server. |
| 341 | |
| 342 | The included "EkitAppletDemo.html" page contains the code necessary to |
| 343 | view the applet properly. You may use this as the basis for including |
| 344 | Ekit in your own web pages. |
| 345 | |
| 346 | |
| 347 | COMMAND SUMMARY |
| 348 | -------------------------- |
| 349 | |
| 350 | File Menu |
| 351 | |
| 352 | New Document - Create new document (clear current one if exists). |
| 353 | Open Document - Load an HTML document into the editor. |
| 354 | Open Stylesheet - Load CSS stylesheet and apply it to the current document. |
| 355 | Open Base64 Document - Load a Base64 encoded document into the editor. |
| 356 | Save - Save the current document (prompts for filename if new document). |
| 357 | Save As - Save the document with the name specified in the file chooser. |
| 358 | Save Body - Save the document after deleting the HEAD element. |
| 359 | Save RTF - Save the document in Rich Text Format (RTF). |
| 360 | Save Base64 - Save the document in Base64 encoding. |
| 361 | Serialize - Save the document in the default Java serialization form. |
| 362 | Read From Ser - Load a serialized document into the editor. |
| 363 | Exit - Close the app (you will lose any unsaved work). |
| 364 | |
| 365 | Edit Menu |
| 366 | |
| 367 | Cut - Remove the selected text and place it in the clipboard. |
| 368 | Copy - Place a copy of the selected text in the clipboard. |
| 369 | Paste - Place the contents of clipboard into the document at the current |
| 370 | cursor position. |
| 371 | Undo - Undo the previous action (some may not be undoable). |
| 372 | Redo - Redo the last undone action (some may not be redoable). |
| 373 | Select All - Select all the text in the editor. |
| 374 | Select Paragraph - Select the paragraph at the current cursor postion. |
| 375 | Select Line - Select the line at the current cursor postion. |
| 376 | Select Word - Select the word at the current cursor postion. |
| 377 | |
| 378 | View Menu |
| 379 | |
| 380 | Toolbar - Toggles display of the ToolBar. |
| 381 | Source - Toggles display of the Source window, where the HTML can be |
| 382 | observed and directly manipulated. |
| 383 | |
| 384 | Font Menu |
| 385 | |
| 386 | Bold - Bold the selected text. |
| 387 | Italic - Italicise the selected text. |
| 388 | Underline - Underline the selected text. |
| 389 | Strike-through - Strike through the selected text. |
| 390 | Big - Increase the font size of the selected text. |
| 391 | Small - Decrease the font size of the selected text. |
| 392 | Superscript - Change the selected text to superscripted text. |
| 393 | Subscript - Change the selected text to subscripted text. |
| 394 | Monospaced - Render the select text in the Monospaced font. |
| 395 | Sans-serif - Render the select text in the Sans-serif font. |
| 396 | Serif - Render the select text in the Serif font. |
| 397 | Color Submenu |
| 398 | Aqua - Color the selected text aqua. |
| 399 | Black - Color the selected text black. |
| 400 | Blue - Color the selected text blue. |
| 401 | Fuschia - Color the selected text fuschia. |
| 402 | Gray - Color the selected text gray. |
| 403 | Green - Color the selected text green. |
| 404 | Lime - Color the selected text lime. |
| 405 | Maroon - Color the selected text maroon. |
| 406 | Navy - Color the selected text navy. |
| 407 | Olive - Color the selected text olive. |
| 408 | Purple - Color the selected text purple. |
| 409 | Red - Color the selected text red. |
| 410 | Silver - Color the selected text silver. |
| 411 | Teal - Color the selected text teal. |
| 412 | White - Color the selected text white. |
| 413 | Yellow - Color the selected text yellow. |
| 414 | |
| 415 | Format Menu |
| 416 | |
| 417 | Align Submenu |
| 418 | Align Left - Left align the selected text (may include unselected text |
| 419 | that is part of the element) |
| 420 | Align Center - Center align the selected text (same proviso as Left) |
| 421 | Align Right - Right align the selected text (same proviso as Left) |
| 422 | Align Justified - Justify the selected text (same proviso as Left) |
| 423 | Heading Submenu |
| 424 | Heading 1 - Render the selected text in the HTML <H1> style. |
| 425 | Heading 2 - Render the selected text in the HTML <H2> style. |
| 426 | Heading 3 - Render the selected text in the HTML <H3> style. |
| 427 | Heading 4 - Render the selected text in the HTML <H4> style. |
| 428 | Heading 5 - Render the selected text in the HTML <H5> style. |
| 429 | Heading 6 - Render the selected text in the HTML <H6> style. |
| 430 | Unordered List - Convert the selected text to an unordered (bulleted) |
| 431 | list. New list items are created at each paragraph mark in the text. |
| 432 | Ordered List - Convert the selected text to an ordered (numeric) |
| 433 | list. New list items are created at each paragraph mark in the text. |
| 434 | List Item - Convert the selected text to a list item (will create an |
| 435 | enclosing unordered list if not part of a defined list). |
| 436 | Blockquote - Place the selected text inside BLOCKQUOTE tags. |
| 437 | Pre - Place the selected text inside PRE (preformat) tags. |
| 438 | Span - Place the selected text inside SPAN tags. |
| 439 | Clear Format - Remove markup from elements. |
| 440 | |
| 441 | Insert Menu |
| 442 | |
| 443 | Anchor - Convert the selected text to a hyperlink after specifying the URL |
| 444 | in the pop-up dialog |
| 445 | Break - Insert an HTML break <BR> element |
| 446 | Nonbreaking Space - Inst an HTML non-breaking space ( ) metacharacter |
| 447 | Horizontal Rule - Insert an HTML horizontal rule <HR> element |
| 448 | Insert Local Image - Insert an image from file chooser pop-up |
| 449 | Insert Image From Server - Insert an image from server (requires server |
| 450 | image app to be runnning) |
| 451 | |
| 452 | Table Menu |
| 453 | |
| 454 | Table - Insert a table based on settings in pop-up |
| 455 | Insert Row - Insert a row in the current table |
| 456 | Insert Column - Insert a column in the current table |
| 457 | Delete Row - Delete a row in the current table |
| 458 | Delete Column - Delete a column in the current table |
| 459 | |
| 460 | Forms Menu |
| 461 | |
| 462 | Insert Form - Add the surrounding FORM tags for an HTML form |
| 463 | Text Field - Insert an HTML Text Field <INPUT TYPE="text"> |
| 464 | Text Area - Insert an HTML Text Area <TEXTAREA></TEXTAREA> |
| 465 | Checkbox - Insert an HTML Checkbox <INPUT TYPE="checkbox"> |
| 466 | Text Field - Insert an HTML Radio Button <INPUT TYPE="radio"> |
| 467 | Button - Insert an HTML Button <INPUT TYPE="button"> (NON-RENDERING!) |
| 468 | Submit Button - Insert an HTML Submit Button <INPUT TYPE="submit"> |
| 469 | Resest Button - Insert an HTML Reset Button <INPUT TYPE="reset"> |
| 470 | |
| 471 | Help Menu |
| 472 | |
| 473 | About - Displays the Ekit About information dialog |
| 474 | |
| 475 | Debug Menu |
| 476 | |
| 477 | Describe Doc - Describe the document nodes to the console window |
| 478 | Describe CSS - Describe the stylesheet properties to the console window |
| 479 | What Tags? - List the node tags applied to the element under the cursor |
| 480 | |
| 481 | |
| 482 | VERSION HISTORY |
| 483 | -------------------------- |
| 484 | |
| 485 | 0.1 (08/08/2000) |
| 486 | - initial creation |
| 487 | 0.2 (08/24/2000) |
| 488 | - added tag attribute management |
| 489 | - added anchors |
| 490 | - cleaned up menu actions |
| 491 | 0.3 (08/30/2000) |
| 492 | - added appName & currentFile |
| 493 | - added Save menu item |
| 494 | - added updateTitle method |
| 495 | - changed to only empty constructor |
| 496 | - added refreshOnUpdate() optional refresh code |
| 497 | 0.4 (08/31/2000) |
| 498 | - added table insertion (experimental) |
| 499 | - added image insertion (experimental) |
| 500 | 0.45 (09/05/2000) |
| 501 | - added list formatting |
| 502 | - added break insertion |
| 503 | - added horizontal rule insertion |
| 504 | - added purgeUndos() convenience method for resetting the UndoManager |
| 505 | - changed "load" commands to "open" commands |
| 506 | (more in line with current application conventions) |
| 507 | - merged some menus so that they no longer build an explicit JMenuItem |
| 508 | (sacrifices some readability for object allocation improvements) |
| 509 | 0.5 (09/18/2000) |
| 510 | - added CSS support |
| 511 | - moved calls to JFileChooser to a reusable method |
| 512 | - moved "debug" types of functions to their own menu |
| 513 | - renamed the "Styles" menu "Format", so as not to be confused with |
| 514 | StyleSheet Styles |
| 515 | 0.6 (09/29/2000) |
| 516 | - added optional ToolBar |
| 517 | - added table row, table cell, and table-within-table insertion |
| 518 | - vastly improved break & horizontal rule insertion |
| 519 | - allow pre-loading of HTML document and CSS stylesheet from command line |
| 520 | - centralized exception handling |
| 521 | - fixed getFileFromChooser method to correctly display OPEN/SAVE dialogs |
| 522 | - now exists as a JAR file |
| 523 | 0.7 (11/03/2000) |
| 524 | - added Source window for viewing/editing HTML tags |
| 525 | - added Shift-Return insertion of BR tags |
| 526 | 0.8 (05/05/2001) |
| 527 | - added JButtonNoFocus inner class to keep toolbar buttons from taking |
| 528 | focus from editor canvas |
| 529 | - added JToggleButtonNoFocus inner class for toolbar elements that indicate |
| 530 | toggle-state features (such as View Source) |
| 531 | 0.9 (01/06/2002) |
| 532 | - added mnemonics for menu items (this also removed need for KeyListener) |
| 533 | - added View menu |
| 534 | - added Help menu |
| 535 | - added table settings dialog |
| 536 | - added Internationalization capabilities |
| 537 | - added language files for Italian, German, Spanish, Portuguese, and |
| 538 | Slovenian |
| 539 | - fixed lack of repaint after cancelling "Open Stylesheet" |
| 540 | - Debug menu now optional, defaults to OFF |
| 541 | - moved View Source and Edit Mode to new View menu |
| 542 | 0.9a (02/02/2002) |
| 543 | - added image rendering & image selector |
| 544 | - image types supported : JPEG, GIF, & PNG |
| 545 | - added fix for dealing with HTML character encoding issue |
| 546 | 0.9b (03/08/2002) |
| 547 | - added CSS style selector |
| 548 | - added more standard HTML tags : STRONG, EM, BLOCKQUOTE, PRE, and TT |
| 549 | 0.9c (03/23/2002) |
| 550 | - added Search menu and Find/Replace functions |
| 551 | - added auto-bulleted lists |
| 552 | - added warning dialog for actions that fail |
| 553 | - split-pane divider now remembers its position |
| 554 | - changed and consolidated some menus |
| 555 | - altered "Save Body" method to work more as expected |
| 556 | 0.9d (09/24/2002) |
| 557 | - added language files for French and Norwegian |
| 558 | - broke out inner classes to separate component classes |
| 559 | - added EkitCallback class to allow easier access by shared components |
| 560 | - much improved Anchor handling and formatting |
| 561 | - changes to get app to work on JDK 1.4 |
| 562 | 0.9e (10/26/2002) |
| 563 | - Ekit split into core (EkitCore) and shell (Ekit, EkitApplet) classes |
| 564 | - added language files for Finnish and Dutch |
| 565 | - added support for HTML forms and form elements |
| 566 | - added <STRIKE> tag support |
| 567 | - font familes and <HR> insertion now through inherent editor actions |
| 568 | - "Insert Table Row" now inserts the correct number of cells |
| 569 | - added generic PropertiesDialog |
| 570 | - SimpleInfoDialog auto-centers and allows different dialog types |
| 571 | - added calls to build semi-custom menus and toolbars |
| 572 | - removed EkitCallback (obsolesced by EkitCore) |
| 573 | - Change of license to LGPL (see ABOUT LICENSE section) |
| 574 | 0.9f (11/25/2002) |
| 575 | - optional integration of Jazzy spellchecker |
| 576 | - addition of font selector |
| 577 | - greater menu customization |
| 578 | 0.9g (5/5/2003) |
| 579 | - can load and save documents in Base64 encoded format |
| 580 | - bulleted lists now create new entries upon hitting ENTER |
| 581 | - added color picker to font selector |
| 582 | - support for access to the System Clipboard |
| 583 | - support for loading images from server via servlet |
| 584 | - added dispose() method to core |
| 585 | - added more insert and delete options for tables |
| 586 | - tables now have their own menu and better functionality |
| 587 | - fixed problem with IMG tag SRC URLs containing spaces |
| 588 | - fixed the getDocumentBody error where the contents did not reflect |
| 589 | the current document |
| 590 | - fixed the known memory/resource leaks caused by the SpellChecker |
| 591 | - added language files for Spanish (Mexican), Hungarian and Chinese |
| 592 | |
| 593 | NOTE: The following items work in Ekit but not yet in EkitApplet, due to the |
| 594 | applet security model: |
| 595 | |
| 596 | - Insert Image (Images referenced via a URL should work, though) |
| 597 | - Copy & Paste from system clipboard |
| 598 | - Access of local files |
| 599 | |
| 600 | We are looking into ways to make these features available. The probable |
| 601 | solution will be to obtain a security certificate. |
| 602 | |
| 603 | |
| 604 | CONTRIBUTORS |
| 605 | -------------------------- |
| 606 | |
| 607 | Thanks to the many people who have downloaded and used Ekit, as well as |
| 608 | providing valuable feedback. The following people have made additional |
| 609 | contributions to Ekit. (List in is chronological order of contribution.) |
| 610 | |
| 611 | Yaodong Liu (yaodongliu@yahoo.com) |
| 612 | - CSS Support Code |
| 613 | - HTML Insertion Support Code |
| 614 | Gyoergy Magoss (GYOERGY.MAGOSS@bhf-bank.com) |
| 615 | - Table Support Code |
| 616 | Oliver Moser (omoser@dkf.de) |
| 617 | - HTML Insertion Support Code |
| 618 | Michael Goldberg (MGoldberg@yet2.com) |
| 619 | - README Support |
| 620 | Cecile Rostaing (cecile.rostaing@free.fr) |
| 621 | - Feature Suggestions |
| 622 | Thomas Gauweiler (gauweiler@fzi.de) |
| 623 | - EkitAppletDemo2.html & ShowAppletOutput.php demo files |
| 624 | Frits Jalvingh (jal@grimor.com) |
| 625 | - Correct image rendering and character encoding support |
| 626 | - CSS Styles Selector |
| 627 | - Original ExtendedHTMLEditorKit & RelativeImageView classes |
| 628 | - Original ImageFileChooser & ImageFileChooserPreview classes |
| 629 | Ruud Noordermeer (ruud.noordermeer@back2front.nl) |
| 630 | - Fix for split-pane rendering issue in EkitApplet |
| 631 | Mindaugas Idzelis (aim4min@users.sourceforge.net) |
| 632 | - Provided the excellent Jazzy spellchecker |
| 633 | Raymond Penners (dotsphinx@users.sourceforge.net) |
| 634 | - Fix for IMG tag SRC URLs containing spaces |
| 635 | Steve Birmingham (steve.birmingham@c3bgroup.com) |
| 636 | - Server image support classes and methods |
| 637 | - Color picker code in font dialog |
| 638 | - Numerous bug fixes, including the dispose() for the SpellChecker |
| 639 | Rafael Cieplinski (cieplinski@web.de) |
| 640 | - Better auto-bulleting function |
| 641 | - Improved table handling |
| 642 | - Original HTMLUtilities class |
| 643 | Nico Mack (nico.mack@mmp.lu) |
| 644 | - System clipboard access code |
| 645 | - Other bug fixes |
| 646 | |
| 647 | |
| 648 | TRANSLATIONS |
| 649 | -------------------------- |
| 650 | |
| 651 | Thanks also to the people who volunteered to translate Ekit into their |
| 652 | languages. The following people have made translations available. |
| 653 | (List in is chronological order of contribution. Any current errors in the |
| 654 | language files are most likely do to my own attempts to add new terms to them, |
| 655 | and I appreciate receiving any corrections.) |
| 656 | |
| 657 | Nick Schwendener (nschwendener@vtxnet.ch) |
| 658 | - Italian |
| 659 | LanguageResources_it_CH.properties |
| 660 | LanguageResources_it_IT.properties |
| 661 | Gyoergy Magoss (GYOERGY.MAGOSS@bhf-bank.com) |
| 662 | - German |
| 663 | LanguageResources_de_DE.properties |
| 664 | Jesus Escanero (jescanero@yahoo.es) |
| 665 | - Spanish |
| 666 | LanguageResources_es_ES.properties |
| 667 | Fernando Luiz (responsavel2@hotmail.com) |
| 668 | - Portuguese |
| 669 | LanguageResources_pt_BR.properties |
| 670 | LanguageResources_pt_PT.properties |
| 671 | Jernej Vicic (jernej@activetools.si) |
| 672 | - Slovenian |
| 673 | LanguageResources_sl_SI.properties |
| 674 | Gerald Estadieu (gerald.estadieu@cem-macau.com) |
| 675 | - French |
| 676 | LanguageResources_fr_FR.properties |
| 677 | Anders Bjorvand (anders@kommunion.no) |
| 678 | - Norwegian |
| 679 | LanguageResources_no_NO.properties |
| 680 | Vesa Kotilainen (vesa.kotilainen@sonera.com) |
| 681 | - Finnish |
| 682 | LanguageResources_fi_FI.properties |
| 683 | Mark de Haan (mark@starwave.nl) |
| 684 | - Dutch |
| 685 | LanguageResources_nl_NL.properties |
| 686 | Samuel Dmaz |
| 687 | - Spanish (Mexican) |
| 688 | LanguageResources_es_MX.properties |
| 689 | Tamás Érdfalvi (devnull@eagent.hu) |
| 690 | - Hungarian |
| 691 | LanguageResources_hu_HU.properties |
| 692 | Yang Yu (yangyu@users.sourceforge.net) |
| 693 | - Chinese |
| 694 | LanguageResources_zh_CN.properties |