Import of Ekit 0.9h EKIT_0_9H
authorJeremy Laine <jeremy.laine@m4x.org>
Thu, 19 Aug 2004 00:44:51 +0000 (00:44 +0000)
committerJeremy Laine <jeremy.laine@m4x.org>
Thu, 19 Aug 2004 00:44:51 +0000 (00:44 +0000)
38 files changed:
ekit/EkitAppletDemo.html
ekit/MakeEkit.bat
ekit/MakeEkit.csh
ekit/MakeEkitApplet.bat
ekit/MakeEkitApplet.csh
ekit/com/hexidec/ekit/Ekit.java
ekit/com/hexidec/ekit/LanguageResources.properties
ekit/com/hexidec/ekit/LanguageResources_de_DE.properties
ekit/com/hexidec/ekit/LanguageResources_en_UK.properties
ekit/com/hexidec/ekit/LanguageResources_en_US.properties
ekit/com/hexidec/ekit/LanguageResources_es_ES.properties
ekit/com/hexidec/ekit/LanguageResources_es_MX.properties
ekit/com/hexidec/ekit/LanguageResources_fr_FR.properties
ekit/com/hexidec/ekit/LanguageResources_it_CH.properties
ekit/com/hexidec/ekit/LanguageResources_it_IT.properties
ekit/com/hexidec/ekit/README
ekit/com/hexidec/ekit/TreePilot.properties
ekit/com/hexidec/ekit/action/CustomAction.java
ekit/com/hexidec/ekit/action/FormatAction.java
ekit/com/hexidec/ekit/action/ListAutomationAction.java
ekit/com/hexidec/ekit/action/StylesAction.java
ekit/com/hexidec/ekit/component/ExtendedHTMLDocument.java
ekit/com/hexidec/ekit/component/FileDialog.java
ekit/com/hexidec/ekit/component/HTMLUtilities.java
ekit/com/hexidec/ekit/component/ImageDialog.java
ekit/com/hexidec/ekit/component/ImageFileChooser.java
ekit/com/hexidec/ekit/component/ImageFileChooserPreview.java
ekit/com/hexidec/ekit/component/JButtonNoFocus.java
ekit/com/hexidec/ekit/component/JComboBoxNoFocus.java
ekit/com/hexidec/ekit/component/JToggleButtonNoFocus.java
ekit/com/hexidec/ekit/component/MutableFilter.java
ekit/com/hexidec/ekit/component/SearchDialog.java
ekit/com/hexidec/ekit/component/SimpleInfoDialog.java
ekit/com/hexidec/ekit/component/TableInputDialog.java
ekit/com/hexidec/ekit/component/UserInputAnchorDialog.java
ekit/com/hexidec/ekit/component/UserInputDialog.java
ekit/com/hexidec/ekit/ekit.manifest
ekit/ekit.css

index 9736cfc..ccaec5e 100644 (file)
-<HTML>\r
-<HEAD>\r
-<TITLE>Ekit Applet Demo</TITLE>\r
-</HEAD>\r
-<BODY>\r
-<H1>Ekit Applet Demo</H1>\r
-<BR>\r
-<SCRIPT LANGUAGE="JavaScript">\r
-       var _info = navigator.userAgent;\r
-       var _ns = false;\r
-       var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);\r
-</SCRIPT>\r
-<SCRIPT LANGUAGE="JavaScript1.1">\r
-       var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0)));\r
-</SCRIPT>\r
-<SCRIPT LANGUAGE="JavaScript">\r
-       if      (_ie == true) document.writeln('<OBJECT ID="Ekit" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="560" HEIGHT="400" codebase="http://java.sun.com/products/plugin/1.4/jinstall-14-win32.cab#Version=1,4,0,0"><NOEMBED><XMP>');\r
-       else if (_ns == true) document.writeln('<EMBED NAME="Ekit" type="application/x-java-applet;version=1.4" CODE="com.hexidec.ekit.EkitApplet.class" ARCHIVE="ekitapplet.jar" WIDTH="560" HEIGHT="400" SCRIPTABLE="true" pluginspage="http://java.sun.com/products/plugin/1.4/plugin-install.html"><NOEMBED><XMP>');\r
-</SCRIPT>\r
-<APPLET CODEBASE="." CODE="com.hexidec.ekit.EkitApplet.class" ARCHIVE="ekitapplet.jar" NAME="Ekit" WIDTH="560" HEIGHT="400" MAYSCRIPT></XMP>\r
-       <PARAM NAME="codebase" VALUE=".">\r
-       <PARAM NAME="code" VALUE="com.hexidec.ekit.EkitApplet.class">\r
-       <PARAM NAME="archive" VALUE="ekitapplet.jar">\r
-       <PARAM NAME="name" VALUE="Ekit">\r
-       <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">\r
-       <PARAM NAME="scriptable" VALUE="true">\r
-       <PARAM NAME="DOCUMENT" VALUE="PGh0bWw+DQogIDxoZWFkPg0KICAgIA0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxoMj4NCiAgICAgIEVraXQgMC45Zw0KICAgIDwvaDI+DQogICAgPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Yj5UYWJsZXM8L2I+DQogICAgICAgIDwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Zm9udCBjb2xvcj0iIzAwODAwMCI+SW5zZXJ0PC9mb250Pi88Zm9udCBjb2xvcj0iIzgwMDAwMCI+RGVsZXRlPC9mb250Pg0KIFJvd3MgJmFtcDsgQ29sdW1ucw0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPg0KICAgICAgICAgIDxiPkxpc3RzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGk+QXV0b21hdGljYWxseTwvaT4gY3JlYXRlIG5ldyBidWxsZXRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGI+RG9jdW1lbnRzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgTG9hZCBhbmQgU2F2ZSA8YmlnPjxmb250IGZhY2U9IkFtZWxpYSBCVCI+QmFzZTY0PC9mb250PjwvYmlnPiANCiAgICAgICAgICBlbmNvZGVkIHRleHRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogICAgPHVsPg0KICAgICAgPGxpPg0KICAgICAgICBQb3dlcmZ1bA0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgRmxleGlibGUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIEZyZWUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIFNvdXJjZSBpbmNsdWRlZA0KICAgICAgPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPg0KICAgICAgJiMxNjA7DQogICAgPC9wPg0KICA8L2JvZHk+DQo8L2h0bWw+DQo=">\r
-       <PARAM NAME="BASE64" VALUE="true">\r
-       <PARAM NAME="STYLESHEET" VALUE="ekit.css">\r
-       <PARAM NAME="LANGCODE" VALUE="en">\r
-       <PARAM NAME="LANGCOUNTRY" VALUE="US">\r
-       <PARAM NAME="TOOLBAR" VALUE="true">\r
-       <PARAM NAME="SOURCEVIEW" VALUE="false">\r
-       <PARAM NAME="EXCLUSIVE" VALUE="true">\r
-       <PARAM NAME="MENUICONS" VALUE="true">\r
-       <PARAM NAME="MENU_EDIT" VALUE="true">\r
-       <PARAM NAME="MENU_VIEW" VALUE="true">\r
-       <PARAM NAME="MENU_FONT" VALUE="true">\r
-       <PARAM NAME="MENU_FORMAT" VALUE="true">\r
-       <PARAM NAME="MENU_INSERT" VALUE="true">\r
-       <PARAM NAME="MENU_TABLE" VALUE="true">\r
-       <PARAM NAME="MENU_FORMS" VALUE="true">\r
-       <PARAM NAME="MENU_SEARCH" VALUE="true">\r
-       <PARAM NAME="MENU_TOOLS" VALUE="true">\r
-       <PARAM NAME="MENU_HELP" VALUE="true">\r
-</APPLET>\r
-</NOEMBED></EMBED></OBJECT>\r
-</BODY>\r
-</HTML>\r
+<HTML>
+<HEAD>
+<TITLE>Ekit Applet Demo</TITLE>
+</HEAD>
+<BODY>
+<H1>Ekit Applet Demo</H1>
+<BR>
+<BODY TEXT="#000000" BGCOLOR="#ffffff" LINK="#334499" ALINK="#afafdf" VLINK="#5577bb" MARGINWIDTH="0" MARGINHEIGHT="0" TOPMARGIN="0" LEFTMARGIN="0">
+       <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
+               <TR>
+                       <TD class="descript">&nbsp;<BR>NOTICE : This demo and/or the copy function may not work on your browser, depending on how well it conforms to Java and JavaScript standards. However, this does not mean that you cannot code the page differently to work on your configuration.<BR>&nbsp;<HR WIDTH="100%" NOSHADE>&nbsp;<BR></TD>
+               </TR>
+               <TR>
+                       <TD ALIGN="CENTER">
+                               <SCRIPT LANGUAGE="JavaScript">
+                                       function copyText()
+                                       {
+                                               document.forms["EkitDemoForm"].TextViewer.value=document.applets["Ekit"].getDocumentText();
+                                       }
+                               </SCRIPT>
+                               <FORM NAME="EkitDemoForm">
+                               <!--"CONVERTED_APPLET"-->
+                               <!-- HTML CONVERTER -->
+                               <SCRIPT LANGUAGE="JavaScript"><!--
+                                       var _info=navigator.userAgent; 
+                                       var _ns=false; 
+                                       var _ns6=false;
+                                       var _ie=(_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
+                               //--></SCRIPT>
+                               <COMMENT>
+                               <SCRIPT LANGUAGE="JavaScript1.1"><!--
+                                       var _ns=(navigator.appName.indexOf("Netscape") >=0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
+                                       var _ns6=((_ns==true) && (_info.indexOf("Mozilla/5") >=0));
+                               //--></SCRIPT>
+                               </COMMENT>
+                               <SCRIPT LANGUAGE="JavaScript"><!--
+                                       if (_ie==true) document.writeln('<OBJECT ID="Ekit" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="560" HEIGHT="400" NAME="Ekit" codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
+                                       else if (_ns==true && _ns6==false) document.writeln('<EMBED type="application/x-java-applet;version=1.4" code="com.hexidec.ekit.EkitApplet.class" archive="ekitapplet.jar" name="Ekit" width="560" height="400" mayscript=true scriptable="true" codebase="." DOCUMENT="PGh0bWw+DQogIDxoZWFkPg0KICAgIA0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxoMj4NCiAgICAgIEVraXQgMC45Zw0KICAgIDwvaDI+DQogICAgPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Yj5UYWJsZXM8L2I+DQogICAgICAgIDwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Zm9udCBjb2xvcj0iIzAwODAwMCI+SW5zZXJ0PC9mb250Pi88Zm9udCBjb2xvcj0iIzgwMDAwMCI+RGVsZXRlPC9mb250Pg0KIFJvd3MgJmFtcDsgQ29sdW1ucw0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPg0KICAgICAgICAgIDxiPkxpc3RzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGk+QXV0b21hdGljYWxseTwvaT4gY3JlYXRlIG5ldyBidWxsZXRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGI+RG9jdW1lbnRzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgTG9hZCBhbmQgU2F2ZSA8YmlnPjxmb250IGZhY2U9IkFtZWxpYSBCVCI+QmFzZTY0PC9mb250PjwvYmlnPiANCiAgICAgICAgICBlbmNvZGVkIHRleHRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogICAgPHVsPg0KICAgICAgPGxpPg0KICAgICAgICBQb3dlcmZ1bA0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgRmxleGlibGUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIEZyZWUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIFNvdXJjZSBpbmNsdWRlZA0KICAgICAgPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPg0KICAgICAgJiMxNjA7DQogICAgPC9wPg0KICA8L2JvZHk+DQo8L2h0bWw+DQo=" BASE64="true" STYLESHEET="ekit.css" LANGCODE="en" LANGCOUNTRY="US" TOOLBAR="true" TOOLBARMULTI="true" SOURCEVIEW="false" EXCLUSIVE="true" SPELLCHECK="false" MENUICONS="true" MENU_EDIT="true" MENU_VIEW="true" MENU_FONT="true" MENU_FORMAT="true" MENU_INSERT="true" MENU_TABLE="true" MENU_FORMS="true" MENU_SEARCH="true" MENU_TOOLS="true" MENU_HELP="true" pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
+                               //--></SCRIPT>
+                               <APPLET CODE="com.hexidec.ekit.EkitApplet.class" ARCHIVE="ekitapplet.jar" WIDTH="560" HEIGHT="400" NAME="Ekit" MAYSCRIPT=true></XMP>
+                                       <PARAM NAME="codebase" VALUE=".">
+                                       <PARAM NAME="code" VALUE="com.hexidec.ekit.EkitApplet.class">
+                                       <PARAM NAME="archive" VALUE="ekitapplet.jar">
+                                       <PARAM NAME="name" VALUE="Ekit">
+                                       <PARAM NAME="MAYSCRIPT" VALUE=true>
+                                       <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
+                                       <PARAM NAME="scriptable" VALUE="true">
+                                       <PARAM NAME="DOCUMENT" VALUE="PGh0bWw+DQogIDxoZWFkPg0KICAgIA0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxoMj4NCiAgICAgIEVraXQgMC45Zw0KICAgIDwvaDI+DQogICAgPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Yj5UYWJsZXM8L2I+DQogICAgICAgIDwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Zm9udCBjb2xvcj0iIzAwODAwMCI+SW5zZXJ0PC9mb250Pi88Zm9udCBjb2xvcj0iIzgwMDAwMCI+RGVsZXRlPC9mb250Pg0KIFJvd3MgJmFtcDsgQ29sdW1ucw0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPg0KICAgICAgICAgIDxiPkxpc3RzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGk+QXV0b21hdGljYWxseTwvaT4gY3JlYXRlIG5ldyBidWxsZXRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGI+RG9jdW1lbnRzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgTG9hZCBhbmQgU2F2ZSA8YmlnPjxmb250IGZhY2U9IkFtZWxpYSBCVCI+QmFzZTY0PC9mb250PjwvYmlnPiANCiAgICAgICAgICBlbmNvZGVkIHRleHRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogICAgPHVsPg0KICAgICAgPGxpPg0KICAgICAgICBQb3dlcmZ1bA0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgRmxleGlibGUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIEZyZWUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIFNvdXJjZSBpbmNsdWRlZA0KICAgICAgPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPg0KICAgICAgJiMxNjA7DQogICAgPC9wPg0KICA8L2JvZHk+DQo8L2h0bWw+DQo=">
+                                       <PARAM NAME="BASE64" VALUE="true">
+                                       <PARAM NAME="STYLESHEET" VALUE="ekit.css">
+                                       <PARAM NAME="LANGCODE" VALUE="en">
+                                       <PARAM NAME="LANGCOUNTRY" VALUE="US">
+                                       <PARAM NAME="TOOLBAR" VALUE="true">
+                                       <PARAM NAME="TOOLBARMULTI" VALUE="true">
+                                       <PARAM NAME="SOURCEVIEW" VALUE="false">
+                                       <PARAM NAME="EXCLUSIVE" VALUE="true">
+                                       <PARAM NAME="SPELLCHECK" VALUE="false">
+                                       <PARAM NAME="MENUICONS" VALUE="true">
+                                       <PARAM NAME="MENU_EDIT" VALUE="true">
+                                       <PARAM NAME="MENU_VIEW" VALUE="true">
+                                       <PARAM NAME="MENU_FONT" VALUE="true">
+                                       <PARAM NAME="MENU_FORMAT" VALUE="true">
+                                       <PARAM NAME="MENU_INSERT" VALUE="true">
+                                       <PARAM NAME="MENU_TABLE" VALUE="true">
+                                       <PARAM NAME="MENU_FORMS" VALUE="true">
+                                       <PARAM NAME="MENU_SEARCH" VALUE="true">
+                                       <PARAM NAME="MENU_TOOLS" VALUE="true">
+                                       <PARAM NAME="MENU_HELP" VALUE="true">
+                               </XMP>
+                               </APPLET>
+                               </NOEMBED>
+                               </EMBED>
+                               </OBJECT>
+                               <!--
+                               <APPLET CODE="com.hexidec.ekit.EkitApplet.class" ARCHIVE="ekitapplet.jar" WIDTH="560" HEIGHT="400" NAME="Ekit" MAYSCRIPT=true>
+                                       <PARAM NAME="codebase" VALUE=".">
+                                       <PARAM NAME="code" VALUE="com.hexidec.ekit.EkitApplet.class">
+                                       <PARAM NAME="archive" VALUE="ekitapplet.jar">
+                                       <PARAM NAME="name" VALUE="Ekit">
+                                       <PARAM NAME="MAYSCRIPT" VALUE=true>
+                                       <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
+                                       <PARAM NAME="scriptable" VALUE="true">
+                                       <PARAM NAME="DOCUMENT" VALUE="PGh0bWw+DQogIDxoZWFkPg0KICAgIA0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgIDxoMj4NCiAgICAgIEVraXQgMC45Zw0KICAgIDwvaDI+DQogICAgPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjgwJSI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Yj5UYWJsZXM8L2I+DQogICAgICAgIDwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgICA8Zm9udCBjb2xvcj0iIzAwODAwMCI+SW5zZXJ0PC9mb250Pi88Zm9udCBjb2xvcj0iIzgwMDAwMCI+RGVsZXRlPC9mb250Pg0KIFJvd3MgJmFtcDsgQ29sdW1ucw0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPg0KICAgICAgICAgIDxiPkxpc3RzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGk+QXV0b21hdGljYWxseTwvaT4gY3JlYXRlIG5ldyBidWxsZXRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgPGI+RG9jdW1lbnRzPC9iPg0KICAgICAgICA8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgICAgTG9hZCBhbmQgU2F2ZSA8YmlnPjxmb250IGZhY2U9IkFtZWxpYSBCVCI+QmFzZTY0PC9mb250PjwvYmlnPiANCiAgICAgICAgICBlbmNvZGVkIHRleHRzDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGFibGU+DQogICAgPHVsPg0KICAgICAgPGxpPg0KICAgICAgICBQb3dlcmZ1bA0KICAgICAgPC9saT4NCiAgICAgIDxsaT4NCiAgICAgICAgRmxleGlibGUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIEZyZWUNCiAgICAgIDwvbGk+DQogICAgICA8bGk+DQogICAgICAgIFNvdXJjZSBpbmNsdWRlZA0KICAgICAgPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPg0KICAgICAgJiMxNjA7DQogICAgPC9wPg0KICA8L2JvZHk+DQo8L2h0bWw+DQo=">
+                                       <PARAM NAME="BASE64" VALUE="true">
+                                       <PARAM NAME="STYLESHEET" VALUE="ekit.css">
+                                       <PARAM NAME="LANGCODE" VALUE="en">
+                                       <PARAM NAME="LANGCOUNTRY" VALUE="US">
+                                       <PARAM NAME="TOOLBAR" VALUE="true">
+                                       <PARAM NAME="TOOLBARMULTI" VALUE="true">
+                                       <PARAM NAME="SOURCEVIEW" VALUE="false">
+                                       <PARAM NAME="EXCLUSIVE" VALUE="true">
+                                       <PARAM NAME="SPELLCHECK" VALUE="false">
+                                       <PARAM NAME="MENUICONS" VALUE="true">
+                                       <PARAM NAME="MENU_EDIT" VALUE="true">
+                                       <PARAM NAME="MENU_VIEW" VALUE="true">
+                                       <PARAM NAME="MENU_FONT" VALUE="true">
+                                       <PARAM NAME="MENU_FORMAT" VALUE="true">
+                                       <PARAM NAME="MENU_INSERT" VALUE="true">
+                                       <PARAM NAME="MENU_TABLE" VALUE="true">
+                                       <PARAM NAME="MENU_FORMS" VALUE="true">
+                                       <PARAM NAME="MENU_SEARCH" VALUE="true">
+                                       <PARAM NAME="MENU_TOOLS" VALUE="true">
+                                       <PARAM NAME="MENU_HELP" VALUE="true">
+                               </XMP>
+                               </APPLET>
+                               -->
+                               <!--"END_CONVERTED_APPLET"-->
+                                       <BR>&nbsp;<BR>
+                                       <INPUT TYPE="button" VALUE="Copy Document To Text Area" onClick="copyText();">
+                                       <BR>&nbsp;<BR>
+                                       <TEXTAREA NAME="TextViewer" COLS="80" ROWS="20"></TEXTAREA>
+                                       <BR>&nbsp;<BR>
+                               </FORM>
+                       </TD>
+               </TR>
+       </TABLE>
+</BODY>
+</HTML>
index 312b315..b1018ca 100755 (executable)
@@ -1,61 +1,61 @@
-@set inputmode=mode%1
-@if %inputmode% == modespell goto spellmaker
-@goto basicmaker
-:basicmaker
-  @echo =========================
-  @echo Basic version compilation
-  @echo =========================
-  @set compilemode=basic
-  @set additionalfiles=
-  @echo [] creating core...
-  @copy /Y com\hexidec\ekit\EkitCore_Basic.java com\hexidec\ekit\EkitCore.java
-  @if errorlevel 2 goto failure
-  @goto compilecore
-:spellmaker
-  @echo ==============================
-  @echo Spellcheck version compilation
-  @echo ==============================
-  @set compilemode=spell
-  @set additionalfiles=com\swabunga\spell\engine\*.class com\swabunga\spell\engine\*.properties com\swabunga\spell\engine\dictionary\* com\swabunga\spell\event\*.class com\swabunga\spell\swing\*.class com\swabunga\spell\swing\*.properties
-  @echo [] creating core...
-  @copy /Y com\hexidec\ekit\EkitCore_Spell.java com\hexidec\ekit\EkitCore.java
-  @if errorlevel 2 goto failure
-  @goto compilecore
-:compilecore
-  @echo [] compiling core...
-  @javac -deprecation com\hexidec\ekit\EkitCore.java
-  @if errorlevel 1 goto failure
-  @goto compileapp
-:compileapp
-  @echo [] compiling application...
-  @javac com\hexidec\ekit\Ekit.java
-  @if errorlevel 2 goto failure
-  @goto makejar
-:makejar
-  @echo [] jarring...
-  @jar cmf com\hexidec\ekit\ekit.manifest ekit.jar com\hexidec\ekit\*.class com\hexidec\ekit\action\*.class com\hexidec\ekit\component\*.class com\hexidec\ekit\icons\*.gif com\hexidec\ekit\*.properties com\hexidec\util\Base64Codec.class com\hexidec\util\Translatrix.class %additionalfiles%
-  @if errorlevel 1 goto failure
-  @goto cleanup
-:failure
-  @echo [*] make failed with an error level of %errorlevel%
-  @goto cleanup
-:cleanup
-  @echo [] cleaning up Ekit classes...
-  @del com\hexidec\ekit\*.class
-  @del com\hexidec\ekit\action\*.class
-  @del com\hexidec\ekit\component\*.class
-  @del com\hexidec\util\Base64Codec.class
-  @del com\hexidec\util\Translatrix.class
-  @if %compilemode% == spell goto spellpurge
-  @goto finish
-:spellpurge
-  @echo [] cleaning up spellcheck classes...
-  @del com\swabunga\spell\engine\*.class
-  @del com\swabunga\spell\event\*.class
-  @del com\swabunga\spell\swing\*.class
-  @goto finish
-:finish
-  @set inputmode=
-  @set compilemode=
-  @set additionalfiles=
-  @echo [] finished
+@set inputmode=mode%1\r
+@if %inputmode% == modespell goto spellmaker\r
+@goto basicmaker\r
+:basicmaker\r
+  @echo =========================\r
+  @echo Basic version compilation\r
+  @echo =========================\r
+  @set compilemode=basic\r
+  @set additionalfiles=com\swabunga\spell\event\SpellCheckListener.class\r
+  @goto compilecore\r
+:spellmaker\r
+  @echo ==============================\r
+  @echo Spellcheck version compilation\r
+  @echo ==============================\r
+  @set compilemode=spell\r
+  @set additionalfiles=com\swabunga\spell\engine\*.class com\swabunga\spell\engine\*.properties com\swabunga\spell\engine\dictionary\* com\swabunga\spell\event\*.class com\swabunga\spell\swing\*.class com\swabunga\spell\swing\*.properties\r
+  @goto compilecore\r
+:compilecore\r
+  @echo [] compiling core...\r
+  @javac -deprecation com\hexidec\ekit\EkitCore.java\r
+  @if errorlevel 1 goto failure\r
+  @if %inputmode% == modespell goto compilespellcore\r
+  @goto compileapp\r
+:compilespellcore\r
+  @echo [] compiling spellcheck extended core...\r
+  @javac com\hexidec\ekit\EkitCoreSpell.java\r
+  @if errorlevel 1 goto failure\r
+  @goto compileapp\r
+:compileapp\r
+  @echo [] compiling application...\r
+  @javac com\hexidec\ekit\Ekit.java\r
+  @if errorlevel 2 goto failure\r
+  @goto makejar\r
+:makejar\r
+  @echo [] jarring...\r
+  @jar cmf com\hexidec\ekit\ekit.manifest ekit.jar com\hexidec\ekit\*.class com\hexidec\ekit\action\*.class com\hexidec\ekit\component\*.class com\hexidec\ekit\icons\*.gif com\hexidec\ekit\*.properties com\hexidec\util\Base64Codec.class com\hexidec\util\Translatrix.class %additionalfiles%\r
+  @if errorlevel 1 goto failure\r
+  @goto cleanup\r
+:failure\r
+  @echo [*] make failed with an error level of %errorlevel%\r
+  @goto cleanup\r
+:cleanup\r
+  @echo [] cleaning up Ekit classes...\r
+  @del com\hexidec\ekit\*.class\r
+  @del com\hexidec\ekit\action\*.class\r
+  @del com\hexidec\ekit\component\*.class\r
+  @del com\hexidec\util\Base64Codec.class\r
+  @del com\hexidec\util\Translatrix.class\r
+  @del com\swabunga\spell\event\*.class\r
+  @if %compilemode% == spell goto spellpurge\r
+  @goto finish\r
+:spellpurge\r
+  @echo [] cleaning up spellcheck classes...\r
+  @del com\swabunga\spell\engine\*.class\r
+  @del com\swabunga\spell\swing\*.class\r
+  @goto finish\r
+:finish\r
+  @set inputmode=\r
+  @set compilemode=\r
+  @set additionalfiles=\r
+  @echo [] finished\r
index 464b042..f744ade 100755 (executable)
@@ -1,63 +1,66 @@
-#! /bin/csh
-set inputmode=mode$1
-if $inputmode == modespell goto spellmaker
-goto basicmaker
-basicmaker:
-  echo =========================
-  echo Basic version compilation
-  echo =========================
-  set mode=basic
-  echo [] creating core...
-  cp com/hexidec/ekit/EkitCore_Basic.java com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compilecore
-  goto failure
-spellmaker:
-  echo ==============================
-  echo Spellcheck version compilation
-  echo ==============================
-  set mode=spell
-  echo [] creating core...
-  cp com/hexidec/ekit/EkitCore_Spell.java com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compilecore
-  goto failure
-compilecore:
-  echo [] compiling core...
-  javac com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compileapp
-  goto failure
-compileapp:
-  echo [] compiling application...
-  javac com/hexidec/ekit/Ekit.java
-  if $status == 0 goto makejar
-  goto failure
-makejar:
-  echo [] jarring...
-  if $mode == basic jar cmf com/hexidec/ekit/ekit.manifest ekit.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties
-  if $mode == spell jar cmf com/hexidec/ekit/ekit.manifest ekit.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties com/swabunga/spell/engine/*.class com/swabunga/spell/engine/*.properties com/swabunga/spell/engine/dictionary/* com/swabunga/spell/event/*.class com/swabunga/spell/swing/*.class com/swabunga/spell/swing/*.properties
-  if $status == 0 goto modjar
-  goto failure
-modjar:
-  echo [] modifying jar permissions...
-  chmod 755 ekit.jar
-  if $status == 0 goto cleanup
-  goto failure
-cleanup:
-  echo [] cleaning up Ekit classes...
-  rm com/hexidec/ekit/*.class
-  rm com/hexidec/ekit/action/*.class
-  rm com/hexidec/ekit/component/*.class
-  rm com/hexidec/util/Base64Codec.class
-  rm com/hexidec/util/Translatrix.class
-  if $mode == spell goto spellpurge
-  goto finish
-spellpurge:
-  echo [] cleaning up spellcheck classes...
-  rm com/swabunga/spell/engine/*.class
-  rm com/swabunga/spell/event/*.class
-  rm com/swabunga/spell/swing/*.class
-  goto finish
-failure:
-  echo [*] make failed with an error level of $status
-  goto finish
-finish:
-  echo [] finished
+#! /bin/csh\r
+set inputmode=mode$1\r
+if $inputmode == modespell goto spellmaker\r
+goto basicmaker\r
+basicmaker:\r
+  echo =========================\r
+  echo Basic version compilation\r
+  echo =========================\r
+  set compilemode=basic\r
+  set additionalfiles=com/swabunga/spell/event/SpellCheckListener.class\r
+  goto compilecore\r
+spellmaker:\r
+  echo ==============================\r
+  echo Spellcheck version compilation\r
+  echo ==============================\r
+  set compilemode=spell\r
+  set additionalfiles="com/swabunga/spell/engine/*.class com/swabunga/spell/engine/*.properties com/swabunga/spell/engine/dictionary/* com/swabunga/spell/event/*.class com/swabunga/spell/swing/*.class com/swabunga/spell/swing/*.properties"\r
+  goto compilecore\r
+compilecore:\r
+  echo [] compiling core...\r
+  javac -deprecation com/hexidec/ekit/EkitCore.java\r
+  if $status == 0 goto compilecheck\r
+  goto failure\r
+compilecheck:\r
+  if $inputmode == modespell goto compilespellcore\r
+  goto compileapp\r
+compilespellcore:\r
+  echo [] compiling spellchecker core...\r
+  javac -deprecation com/hexidec/ekit/EkitCoreSpell.java\r
+  if $status == 0 goto compileapp\r
+  goto failure\r
+compileapp:\r
+  echo [] compiling application...\r
+  javac -deprecation com/hexidec/ekit/Ekit.java\r
+  if $status == 0 goto makejar\r
+  goto failure\r
+makejar:\r
+  echo [] jarring...\r
+  jar cmf com/hexidec/ekit/ekit.manifest ekit.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties $additionalfiles\r
+  if $status == 0 goto modjar\r
+  goto failure\r
+modjar:\r
+  echo [] modifying jar permissions...\r
+  chmod 755 ekit.jar\r
+  if $status == 0 goto cleanup\r
+  goto failure\r
+cleanup:\r
+  echo [] cleaning up Ekit classes...\r
+  rm com/hexidec/ekit/*.class\r
+  rm com/hexidec/ekit/action/*.class\r
+  rm com/hexidec/ekit/component/*.class\r
+  rm com/hexidec/util/Base64Codec.class\r
+  rm com/hexidec/util/Translatrix.class\r
+  rm com/swabunga/spell/event/*.class\r
+  if $compilemode == spell goto spellpurge\r
+  goto finish\r
+spellpurge:\r
+  echo [] cleaning up spellcheck classes...\r
+  rm com/swabunga/spell/engine/*.class\r
+  rm com/swabunga/spell/swing/*.class\r
+  goto finish\r
+failure:\r
+  echo [*] make failed with an error level of $status\r
+  goto finish\r
+finish:\r
+  echo [] finished\r
index 16e929c..8b9a8dd 100755 (executable)
@@ -5,25 +5,25 @@
   @echo =========================\r
   @echo Basic version compilation\r
   @echo =========================\r
-  @set mode=basic\r
-  @set additionalfiles=\r
-  @echo [] creating core...\r
-  @copy /Y com\hexidec\ekit\EkitCore_Basic.java com\hexidec\ekit\EkitCore.java\r
-  @if errorlevel 1 goto failure\r
+  @set compilemode=basic\r
+  @set additionalfiles=com\swabunga\spell\event\SpellCheckListener.class\r
   @goto compilecore\r
 :spellmaker\r
   @echo ==============================\r
   @echo Spellcheck version compilation\r
   @echo ==============================\r
-  @set mode=spell\r
+  @set compilemode=spell\r
   @set additionalfiles=com\swabunga\spell\engine\*.class com\swabunga\spell\engine\*.properties com\swabunga\spell\engine\dictionary\* com\swabunga\spell\event\*.class com\swabunga\spell\swing\*.class com\swabunga\spell\swing\*.properties\r
-  @echo [] creating core...\r
-  @copy /Y com\hexidec\ekit\EkitCore_Spell.java com\hexidec\ekit\EkitCore.java\r
-  @if errorlevel 1 goto failure\r
   @goto compilecore\r
 :compilecore\r
   @echo [] compiling core...\r
-  @javac com\hexidec\ekit\EkitCore.java\r
+  @javac -deprecation com\hexidec\ekit\EkitCore.java\r
+  @if errorlevel 1 goto failure\r
+  @if %inputmode% == modespell goto compilespellcore\r
+  @goto compileapp\r
+:compilespellcore\r
+  @echo [] compiling spellcheck extended core...\r
+  @javac com\hexidec\ekit\EkitCoreSpell.java\r
   @if errorlevel 1 goto failure\r
   @goto compileapp\r
 :compileapp\r
@@ -46,7 +46,7 @@
   @del com\hexidec\ekit\component\*.class\r
   @del com\hexidec\util\Base64Codec.class\r
   @del com\hexidec\util\Translatrix.class\r
-  @if %mode% == spell goto spellpurge\r
+  @if %compilemode% == spell goto spellpurge\r
   @goto finish\r
 :spellpurge\r
   @echo [] cleaning up spellcheck classes...\r
@@ -55,4 +55,7 @@
   @del com\swabunga\spell\swing\*.class\r
   @goto finish\r
 :finish\r
+  @set inputmode=\r
+  @set compilemode=\r
+  @set additionalfiles=\r
   @echo [] finished\r
index b7c2b8a..1c66326 100755 (executable)
@@ -1,63 +1,66 @@
-#! /bin/csh
-set inputmode=mode$1
-if $inputmode == modespell goto spellmaker
-goto basicmaker
-basicmaker:
-  echo =========================
-  echo Basic version compilation
-  echo =========================
-  set mode=basic
-  echo [] creating core...
-  cp com/hexidec/ekit/EkitCore_Basic.java com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compilecore
-  goto failure
-spellmaker:
-  echo ==============================
-  echo Spellcheck version compilation
-  echo ==============================
-  set mode=spell
-  echo [] creating core...
-  cp com/hexidec/ekit/EkitCore_Spell.java com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compilecore
-  goto failure
-compilecore:
-  echo [] compiling core...
-  javac com/hexidec/ekit/EkitCore.java
-  if $status == 0 goto compileapp
-  goto failure
-compileapp:
-  echo [] compiling application...
-  javac com/hexidec/ekit/EkitApplet.java
-  if $status == 0 goto makejar
-  goto failure
-makejar:
-  echo [] jarring...
-  if $mode == basic jar cf ekitapplet.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties
-  if $mode == spell jar cf ekitapplet.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties com/swabunga/spell/engine/*.class com/swabunga/spell/engine/*.properties com/swabunga/spell/engine/dictionary/* com/swabunga/spell/event/*.class com/swabunga/spell/swing/*.class com/swabunga/spell/swing/*.properties
-  if $status == 0 goto modjar
-  goto failure
-modjar:
-  echo [] modifying jar permissions...
-  chmod 755 ekitapplet.jar
-  if $status == 0 goto cleanup
-  goto failure
-cleanup:
-  echo [] cleaning up Ekit classes...
-  rm com/hexidec/ekit/*.class
-  rm com/hexidec/ekit/action/*.class
-  rm com/hexidec/ekit/component/*.class
-  rm com/hexidec/util/Base64Codec.class
-  rm com/hexidec/util/Translatrix.class
-  if $mode == spell goto spellpurge
-  goto finish
-spellpurge:
-  echo [] cleaning up spellcheck classes...
-  rm com/swabunga/spell/engine/*.class
-  rm com/swabunga/spell/event/*.class
-  rm com/swabunga/spell/swing/*.class
-  goto finish
-failure:
-  echo [*] make failed with an error level of $status
-  goto finish
-finish:
-  echo [] finished
+#! /bin/csh\r
+set inputmode=mode$1\r
+if $inputmode == modespell goto spellmaker\r
+goto basicmaker\r
+basicmaker:\r
+  echo =========================\r
+  echo Basic version compilation\r
+  echo =========================\r
+  set compilemode=basic\r
+  set additionalfiles=com/swabunga/spell/event/SpellCheckListener.class\r
+  goto compilecore\r
+spellmaker:\r
+  echo ==============================\r
+  echo Spellcheck version compilation\r
+  echo ==============================\r
+  set compilemode=spell\r
+  set additionalfiles="com/swabunga/spell/engine/*.class com/swabunga/spell/engine/*.properties com/swabunga/spell/engine/dictionary/* com/swabunga/spell/event/*.class com/swabunga/spell/swing/*.class com/swabunga/spell/swing/*.properties"\r
+  goto compilecore\r
+compilecore:\r
+  echo [] compiling core...\r
+  javac -deprecation com/hexidec/ekit/EkitCore.java\r
+  if $status == 0 goto compilecheck\r
+  goto failure\r
+compilecheck:\r
+  if $inputmode == modespell goto compilespellcore\r
+  goto compileapp\r
+compilespellcore:\r
+  echo [] compiling spellchecker core...\r
+  javac -deprecation com/hexidec/ekit/EkitCoreSpell.java\r
+  if $status == 0 goto compileapp\r
+  goto failure\r
+compileapp:\r
+  echo [] compiling applet...\r
+  javac -deprecation com/hexidec/ekit/EkitApplet.java\r
+  if $status == 0 goto makejar\r
+  goto failure\r
+makejar:\r
+  echo [] jarring...\r
+  jar cf ekitapplet.jar com/hexidec/ekit/*.class com/hexidec/ekit/action/*.class com/hexidec/ekit/component/*.class com/hexidec/util/Base64Codec.class com/hexidec/util/Translatrix.class com/hexidec/ekit/icons/*.gif com/hexidec/ekit/*.properties $additionalfiles\r
+  if $status == 0 goto modjar\r
+  goto failure\r
+modjar:\r
+  echo [] modifying jar permissions...\r
+  chmod 755 ekitapplet.jar\r
+  if $status == 0 goto cleanup\r
+  goto failure\r
+cleanup:\r
+  echo [] cleaning up Ekit classes...\r
+  rm com/hexidec/ekit/*.class\r
+  rm com/hexidec/ekit/action/*.class\r
+  rm com/hexidec/ekit/component/*.class\r
+  rm com/hexidec/util/Base64Codec.class\r
+  rm com/hexidec/util/Translatrix.class\r
+  rm com/swabunga/spell/event/*.class\r
+  if $compilemode == spell goto spellpurge\r
+  goto finish\r
+spellpurge:\r
+  echo [] cleaning up spellcheck classes...\r
+  rm com/swabunga/spell/engine/*.class\r
+  rm com/swabunga/spell/swing/*.class\r
+  goto finish\r
+failure:\r
+  echo [*] make failed with an error level of $status\r
+  goto finish\r
+finish:\r
+  echo [] finished\r
index b72c209..15c7c6d 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 Ekit - Java Swing HTML Editor & Viewer
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
@@ -22,21 +22,29 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 package com.hexidec.ekit;
 
 import java.awt.BorderLayout;
+import java.awt.GridLayout;
+import java.awt.GridBagLayout;
+import java.awt.GridBagConstraints;
 import java.awt.event.WindowEvent;
 import java.awt.event.WindowListener;
 import java.io.File;
+import java.io.FileWriter;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.Vector;
 import java.io.FileWriter;
 import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JToolBar;
 
 import com.hexidec.ekit.EkitCore;
+import com.hexidec.ekit.EkitCoreSpell;
 
 /** Ekit
   * App for editing and saving HTML in a Java text component
   *
   * @author Howard Kistler
-  * @version 0.9e
+  * @version 0.9h
   *
   * REQUIREMENTS
   * Java 2 (JDK 1.3 or 1.4)
@@ -54,7 +62,7 @@ public class Ekit extends JFrame implements WindowListener
          * @param sStyleSheet       [String]  A CSS stylesheet to load in the editor upon startup.
          * @param sRawDocument      [String]  A document encoded as a String to load in the editor upon startup.
          * @param urlStyleSheet     [URL]     A URL reference to the CSS style sheet.
-         * @param showToolBar       [boolean] Specifies whether the app should include the toolbar.
+         * @param includeToolBar    [boolean] Specifies whether the app should include the toolbar.
          * @param showViewSource    [boolean] Specifies whether or not to show the View Source window on startup.
          * @param showMenuIcons     [boolean] Specifies whether or not to show icon pictures in menus.
          * @param editModeExclusive [boolean] Specifies whether or not to use exclusive edit mode (recommended on).
@@ -62,19 +70,63 @@ public class Ekit extends JFrame implements WindowListener
          * @param sCountry          [String]  The country portion of the Internationalization Locale to run Ekit in.
          * @param base64            [boolean] Specifies whether the raw document is Base64 encoded or not.
          * @param debugMode         [boolean] Specifies whether to show the Debug menu or not.
+         * @param useSpellChecker   [boolean] Specifies whether to include the spellchecker or not.
+         * @param multiBar          [boolean] Specifies whether to use multiple toolbars or one big toolbar.
          */
-       public Ekit(String sDocument, String sStyleSheet, String sRawDocument, URL urlStyleSheet, boolean showToolBar, boolean showViewSource, boolean showMenuIcons, boolean editModeExclusive, String sLanguage, String sCountry, boolean base64, boolean debugMode)
+       public Ekit(String sDocument, String sStyleSheet, String sRawDocument, URL urlStyleSheet, boolean includeToolBar, boolean showViewSource, boolean showMenuIcons, boolean editModeExclusive, String sLanguage, String sCountry, boolean base64, boolean debugMode, boolean useSpellChecker, boolean multiBar)
        {
-               ekitCore = new EkitCore(sDocument, sStyleSheet, sRawDocument, urlStyleSheet, showViewSource, showMenuIcons, editModeExclusive, sLanguage, sCountry, base64, debugMode);
+               if(useSpellChecker)
+               {
+                       ekitCore = new EkitCoreSpell(sDocument, sStyleSheet, sRawDocument, urlStyleSheet, includeToolBar, showViewSource, showMenuIcons, editModeExclusive, sLanguage, sCountry, base64, debugMode, true, multiBar);
+               }
+               else
+               {
+                       ekitCore = new EkitCore(sDocument, sStyleSheet, sRawDocument, urlStyleSheet, includeToolBar, showViewSource, showMenuIcons, editModeExclusive, sLanguage, sCountry, base64, debugMode, false, multiBar);
+               }
 
                ekitCore.setFrame(this);
 
                /* Add the components to the app */
-               this.getContentPane().setLayout(new BorderLayout());
-               this.getContentPane().add(ekitCore, BorderLayout.CENTER);
-               if(showToolBar)
+               if(includeToolBar)
                {
-                       this.getContentPane().add(ekitCore.getToolBar(showToolBar), BorderLayout.NORTH);
+                       if(multiBar)
+                       {
+                               this.getContentPane().setLayout(new GridBagLayout());
+                               GridBagConstraints gbc = new GridBagConstraints();
+                               gbc.fill       = GridBagConstraints.HORIZONTAL;
+                               gbc.anchor     = GridBagConstraints.NORTH;
+                               gbc.gridheight = 1;
+                               gbc.gridwidth  = 1;
+                               gbc.weightx    = 1.0;
+                               gbc.weighty    = 0.0;
+                               gbc.gridx      = 1;
+
+                               gbc.gridy      = 1;
+                               this.getContentPane().add(ekitCore.getToolBarMain(includeToolBar), gbc);
+
+                               gbc.gridy      = 2;
+                               this.getContentPane().add(ekitCore.getToolBarFormat(includeToolBar), gbc);
+
+                               gbc.gridy      = 3;
+                               this.getContentPane().add(ekitCore.getToolBarStyles(includeToolBar), gbc);
+
+                               gbc.anchor     = GridBagConstraints.SOUTH;
+                               gbc.fill       = GridBagConstraints.BOTH;
+                               gbc.weighty    = 1.0;
+                               gbc.gridy      = 4;
+                               this.getContentPane().add(ekitCore, gbc);
+                       }
+                       else
+                       {
+                               this.getContentPane().setLayout(new BorderLayout());
+                               this.getContentPane().add(ekitCore, BorderLayout.CENTER);
+                               this.getContentPane().add(ekitCore.getToolBar(includeToolBar), BorderLayout.NORTH);
+                       }
+               }
+               else
+               {
+                       this.getContentPane().setLayout(new BorderLayout());
+                       this.getContentPane().add(ekitCore, BorderLayout.CENTER);
                }
 
                this.setJMenuBar(ekitCore.getMenuBar());
@@ -88,7 +140,7 @@ public class Ekit extends JFrame implements WindowListener
 
        public Ekit()
        {
-               this(null, null, null, null, true, false, true, true, null, null, false, false);
+               this(null, null, null, null, true, false, true, true, null, null, false, false, false, false);
        }
 
        /* WindowListener methods */
@@ -111,6 +163,35 @@ public class Ekit extends JFrame implements WindowListener
                this.setTitle(ekitCore.getAppName() + (currentFile == null ? "" : " - " + currentFile.getName()));
        }
 
+       /** Usage method
+         */
+       public static void usage()
+       {
+               System.out.println("usage: com.hexidec.ekit.Ekit [-t|t+|T] [-s|S] [-m|M] [-x|X] [-b|B] [-v|V] [-fFILE] [-cCSS] [-rRAW] [-uURL] [-lLANG] [-d|D]");
+               System.out.println("       Each option contained in [] brackets is optional,");
+               System.out.println("       and can be one of the values separated be the | pipe.");
+               System.out.println("       Each option must be proceeded by a - hyphen.");
+               System.out.println("       The options are:");
+               System.out.println("         t|t+|T : -t = single toolbar, -t+ = multiple toolbars, -T = no toolbar");
+               System.out.println("         s|S    : -s = show source window on startup, -S hide source window");
+               System.out.println("         m|M    : -m = show icons on menus, -M no menu icons");
+               System.out.println("         x|X    : -x = exclusive document/source windows, -X use split window");
+               System.out.println("         b|B    : -b = use Base64 document encoding, -B use regular encoding");
+               System.out.println("         v|V    : -v = include spell checker, -V omit spell checker");
+               System.out.println("         -fFILE : load HTML document on startup (replace FILE with file name)");
+               System.out.println("         -cCSS  : load CSS stylesheet on startup (replace CSS with file name)");
+               System.out.println("         -rRAW  : load raw document on startup (replace RAW with file name)");
+               System.out.println("         -uURL  : load document at URL on startup (replace URL with file URL)");
+               System.out.println("         -lLANG : specify the starting language (defaults to your locale)");
+               System.out.println("                    replace LANG with xx_XX format (i.e., US English is en_US)");
+               System.out.println("         -d|D   : -d = DEBUG mode on, -D DEBUG mode off (developers only)");
+               System.out.println("         -h|H|? : print out this help information");
+               System.out.println("         ");
+               System.out.println("The defaults settings are equivalent to: -t -S -m -x -B -V -D");
+               System.out.println("         ");
+               System.out.println("For further information, read the README file.");
+       }
+
        /** Main method
          */
        public static void main(String[] args)
@@ -129,9 +210,17 @@ public class Ekit extends JFrame implements WindowListener
                        String sCtry = null;
                        boolean base64 = false;
                        boolean debugOn = false;
+                       boolean spellCheck = false;
+                       boolean multibar = false;
                        for(int i = 0; i < args.length; i++)
                        {
-                               if     (args[i].equals("-t"))     { includeToolBar = true; }
+                               if     (args[i].equals("-h") || args[i].equals("-H") || args[i].equals("-?"))
+                               {
+                                       usage();
+                                       System.exit(0);
+                               }
+                               else if(args[i].equals("-t"))     { includeToolBar = true; }
+                               else if(args[i].equals("-t+"))    { includeToolBar = true; multibar = true; }
                                else if(args[i].equals("-T"))     { includeToolBar = false; }
                                else if(args[i].equals("-s"))     { includeViewSource = true; }
                                else if(args[i].equals("-S"))     { includeViewSource = false; }
@@ -144,6 +233,8 @@ public class Ekit extends JFrame implements WindowListener
                                else if(args[i].startsWith("-f")) { sDocument = args[i].substring(2, args[i].length()); }
                                else if(args[i].startsWith("-c")) { sStyleSheet = args[i].substring(2, args[i].length()); }
                                else if(args[i].startsWith("-r")) { sRawDocument = args[i].substring(2, args[i].length()); }
+                               else if(args[i].equals("-v"))     { spellCheck = true; }
+                               else if(args[i].equals("-V"))     { spellCheck = false; }
                                else if(args[i].startsWith("-u"))
                                {
                                        try
@@ -166,7 +257,7 @@ public class Ekit extends JFrame implements WindowListener
                                else if(args[i].equals("-d"))     { debugOn = true; }
                                else if(args[i].equals("-D"))     { debugOn = false; }
                        }
-                       Ekit ekit = new Ekit(sDocument, sStyleSheet, sRawDocument, urlStyleSheet, includeToolBar, includeViewSource, includeMenuIcons, modeExclusive, sLang, sCtry, base64, debugOn);
+                       Ekit ekit = new Ekit(sDocument, sStyleSheet, sRawDocument, urlStyleSheet, includeToolBar, includeViewSource, includeMenuIcons, modeExclusive, sLang, sCtry, base64, debugOn, spellCheck, multibar);
                }
                else
                {
index 149e865..9b340af 100644 (file)
@@ -1,53 +1,13 @@
-File=File*
-New=New*
-NewDocument=New Document*
-OpenDocument=Open Document*
-OpenBase64Document=Open Base64 Document*
-OpenStyle=Open Stylesheet*
-SaveDocument=Save Document*
-Save=Save*
-SaveAs=Save As*
-SaveBody=Save Body*
-SaveRTF=Save RTF*
-SaveB64=Save Base64*
-Serialize=Serialize*
-ReadFromSer=Read From Ser*
-Exit=Exit*
-Edit=Edit*
-Cut=Cut*
-Copy=Copy*
-Paste=Paste*
-Undo=Undo*
-Redo=Redo*
-SelectAll=Select All*
-SelectParagraph=Select Paragraph*
-SelectLine=Select Line*
-SelectWord=Select Word*
-View=View*
-ViewToolbar=Toolbar*
-ViewSource=Source*
-EditMode=Edit Mode*
-Font=Font*
-FontBold=Bold*
-FontItalic=Italic*
-FontUnderline=Underline*
-FontStrike=Strike-through*
-FontSize=Size*
-FontSize1=Smallest*
-FontSize2=Smaller*
-FontSize3=Small*
-FontSize4=Regular*
-FontSize5=Large*
-FontSize6=Larger*
-FontSize7=Largest*
-FontMonospaced=Monospaced*
-FontSansserif=Sans-Serif*
-FontSerif=Serif*
-FontSelect=Select Font*
-FontDialogTitle=Select Font*
-FontSample=Font Sample*
+About=About*
+AboutMessage=Ekit (c)2000-2004 Howard Kistler\nhexidec codex\nwww.hexidec.com
+Align=Align*
+AlignCenter=Align Center*
+AlignJustified=Align Justified*
+AlignLeft=Align Left*
+AlignRight=Align Right*
+AnchorDialogTitle=Anchor Reference*
+AskNewDocument=Create new blank document?*
 Color=Color*
-CustomColor=Custom*
 ColorAqua=Aqua*
 ColorBlack=Black*
 ColorBlue=Blue*
@@ -64,106 +24,155 @@ ColorSilver=Silver*
 ColorTeal=Teal*
 ColorWhite=White*
 ColorYellow=Yellow*
+Contents=Contents*
+Copy=Copy*
+CustomColor=Custom*
+Cut=Cut*
+Debug=Debug*
+DeleteTableColumn=Delete Column*
+DeleteTableRow=Delete Row*
+DescribeCSS=Describe CSS*
+DescribeDoc=Describe Doc*
+DialogAccept=Accept*
+DialogCancel=Cancel*
+DialogClose=Close*
+DictionaryFile=english
+Edit=Edit*
+EditMode=Edit Mode*
+Error=Error*
+ErrorBadLocationException=Bad Location Exception occurred.*
+ErrorCannotConvertToList=Cannot convert the selected text to a list.*
+ErrorIOException=IO Exception occurred.*
+ErrorNestedListsNotSupported=Lists cannot be created inside other lists.*
+ErrorNoMatchFound=No match found*
+ErrorNoOccurencesFound=No occurrences found*
+ErrorNoTextSelected=No text was selected.*
+ErrorRuntimeException=Runtime Exception occurred.*
+Exit=Exit*
+File=File*
+FiletypeB64=Base64 Files*
+FiletypeCSS=CSS Files*
+FiletypeHTML=HTML Files*
+FiletypeIMG=Images*
+FiletypeRTF=RTF Files*
+FiletypeSer=Serialized Files*
+Font=Font*
+FontBold=Bold*
+FontDialogTitle=Select Font*
+FontItalic=Italic*
+FontMonospaced=Monospaced*
+FontSample=Font Sample*
+FontSansserif=Sans-Serif*
+FontSelect=Select Font*
+FontSerif=Serif*
+FontSize1=Smallest*
+FontSize2=Smaller*
+FontSize3=Small*
+FontSize4=Regular*
+FontSize5=Large*
+FontSize6=Larger*
+FontSize7=Largest*
+FontSize=Size*
+FontStrike=Strike-through*
+FontSubscript=Subscript*
+FontSuperscript=Superscript*
+FontUnderline=Underline*
 Format=Format*
 FormatBig=Big*
+FormatBlockquote=Blockquote*
+FormatClear=Clear Format*
+FormatEmphasis=Emphasis*
+FormatPre=Preformatted*
 FormatSmall=Small*
-FontSuperscript=Superscript*
-FontSubscript=Subscript*
-Heading=Heading*
+FormatSpan=Span*
+FormatStrong=Strong*
+FormatTT=Typewritten*
+FormButton=Button*
+FormButtonReset=Reset Button*
+FormButtonSubmit=Submit Button*
+FormCheckbox=Checkbox*
+FormDialogTitle=Properties For Form Element*
+FormInsertForm=Insert Form*
+FormPassword=Password*
+FormRadio=Radio Button*
+Forms=Forms*
+FormTextarea=Text Area*
+FormTextfield=Text Field*
 Heading1=Heading 1*
 Heading2=Heading 2*
 Heading3=Heading 3*
 Heading4=Heading 4*
 Heading5=Heading 5*
 Heading6=Heading 6*
-ListUnordered=Unordered List*
-ListOrdered=Ordered List*
-ListItem=List Item*
-FormatBlockquote=Blockquote*
-FormatPre=Preformatted*
-FormatSpan=Span*
-FormatStrong=Strong*
-FormatEmphasis=Emphasis*
-FormatTT=Typewritten*
-FormatClear=Clear Format*
-Align=Align*
-AlignLeft=Align Left*
-AlignCenter=Align Center*
-AlignRight=Align Right*
-AlignJustified=Align Justified*
+Heading=Heading*
+Help=Help*
+ImageDialogTitle=Select Image To Insert*
+Index=Index*
 Insert=Insert*
 InsertAnchor=Anchor*
 InsertBreak=Break*
 InsertHorizontalRule=Horizontal Rule*
 InsertLocalImage=Image From File*
-InsertServerImage=Image From Server*
 InsertNBSP=Nonbreaking Space*
-Table=Table*
+InsertServerImage=Image From Server*
+InsertSymbol=Symbol...*
 InsertTable=Create Table*
-InsertTableRow=Insert Row*
 InsertTableColumn=Insert Column*
-DeleteTableRow=Delete Row*
-DeleteTableColumn=Delete Column*
-Debug=Debug*
-DescribeDoc=Describe Doc*
-DescribeCSS=Describe CSS*
-WhatTags=What Tags?*
-ToolAnchor=Insert Anchor*
-AnchorDialogTitle=Anchor Reference*
-ImageDialogTitle=Select Image To Insert*
-TableDialogTitle=Table Properties*
-DialogAccept=Accept*
-DialogCancel=Cancel*
-DialogClose=Close*
-TableRows=Table Rows*
-TableColumns=Table Columns*
-TableBorder=Border Width*
-TableCellSpacing=Cell Spacing*
-TableCellPadding=Cell Padding*
-UndoError=Unable to undo*
+InsertTableRow=Insert Row*
+ListItem=List Item*
+ListOrdered=Ordered List*
+ListUnordered=Unordered List*
+New=New*
+NewDocument=New Document*
+NoCSSStyle=(none)*
+OpenBase64Document=Open Base64 Document*
+OpenDocument=Open Document*
+OpenStyle=Open Stylesheet*
+Paste=Paste*
+PickCSSStyle=CSS Style*
+ReadFromSer=Read From Ser*
+Redo=Redo*
 RedoError=Unable to redo*
-Help=Help*
-About=About*
-AboutMessage=Ekit (c)2000-2003 Howard Kistler\nhexidec codex\nwww.hexidec.com
-Index=Index*
-Contents=Contents*
+Save=Save*
+SaveAs=Save As*
+SaveB64=Save Base64*
+SaveBody=Save Body*
+SaveDocument=Save Document*
+SaveRTF=Save RTF*
 Search=Search*
+SearchCaseSensitive=Case Sensitive*
+SearchDialogTitle=Search*
 SearchFind=Find*
 SearchFindAgain=Find Again*
 SearchReplace=Replace*
-SearchDialogTitle=Search*
-SearchCaseSensitive=Case Sensitive*
-SearchStartAtTop=Start At Top*
 SearchReplaceAll=Replace All*
-Forms=Forms*
-FormInsertForm=Insert Form*
-FormTextfield=Text Field*
-FormTextarea=Text Area*
-FormCheckbox=Checkbox*
-FormRadio=Radio Button*
-FormPassword=Password*
-FormButton=Button*
-FormButtonSubmit=Submit Button*
-FormButtonReset=Reset Button*
-FormDialogTitle=Properties For Form Element*
+SearchStartAtTop=Start At Top*
+SelectAll=Select All*
+SelectLine=Select Line*
+SelectorToolCSSStyles=Style:*
+SelectParagraph=Select Paragraph*
+SelectWord=Select Word*
+Serialize=Serialize*
+SymbolDialogTitle=Symbol Insert*
+Symbols=\u2122\u00a9\u00ae\u2020\u20ac\u00a2\u00a3\u00a5\u00b1\u00d7\u00f7\u00bc\u00bd\u00be\u00b0\u00b5\u00b9\u00b2\u00b3\u00b4\u2018\u2019\u201c\u201d
+Table=Table*
+TableBorder=Border Width*
+TableCellPadding=Cell Padding*
+TableCellSpacing=Cell Spacing*
+TableColumns=Table Columns*
+TableDialogTitle=Table Properties*
+TableRows=Table Rows*
+ToolAnchor=Insert Anchor*
 Tools=Tools*
 ToolSpellcheck=Spellchecker*
 ToolSpellcheckDialog=Check Spelling*
-FiletypeHTML=HTML Files*
-FiletypeCSS=CSS Files*
-FiletypeRTF=RTF Files*
-FiletypeB64=Base64 Files*
-FiletypeSer=Serialized Files*
-FiletypeIMG=Images*
-NoCSSStyle=(none)*
-Error=Error*
-ErrorNoTextSelected=No text was selected.*
-ErrorNoOccurencesFound=No occurrences found*
-ErrorNoMatchFound=No match found*
-ErrorCannotConvertToList=Cannot convert the selected text to a list.*
-ErrorNestedListsNotSupported=Lists cannot be created inside other lists.*
-ErrorRuntimeException=Runtime Exception occurred.*
-ErrorIOException=IO Exception occurred.*
-ErrorBadLocationException=Bad Location Exception occurred.*
-AskNewDocument=Create new blank document?*
-DictionaryFile=english
\ No newline at end of file
+Undo=Undo*
+UndoError=Unable to undo*
+View=View*
+ViewSource=Source*
+ViewToolbar=Toolbar*
+ViewToolbarFormat=Format*
+ViewToolbarMain=Main*
+ViewToolbars=Toolbars*
+ViewToolbarStyles=Styles*
+WhatTags=What Tags?*
index c84d1ce..d200b31 100644 (file)
@@ -1,37 +1,10 @@
-File=Datei
-New=Neu
-NewDocument=Datei neu
-OpenDocument=Datei öffnen
-OpenStyle=Formatvorlage öffnen
-SaveDocument=Datei speichern
-Save=Speichern
-SaveAs=Speichern als
-SaveBody=Body speichern
-SaveRTF=Speichern RTF
-Serialize=Serialisieren
-ReadFromSer=Serialisierte Datei lesen
-Exit=Beenden
-Edit=Bearbeiten
-Cut=Ausschneiden
-Copy=Kopieren
-Paste=Einfügen
-Undo=Rückgängig
-Redo=Wiederholen
-SelectAll=Alles markieren
-SelectParagraph=Absatz markieren
-SelectLine=Zeile markieren
-SelectWord=Wort markieren
-View=Ansicht
-ViewToolbar=Symbolleisten
-ViewSource=Quelltext
-EditMode=Bearbeiten Modus
-Font=Schriftart
-FontBold=Fett
-FontItalic=Kursiv
-FontUnderline=Unterstrichen
-FontMonospaced=Nicht Proportional
-FontSansserif=Serifenlos
-FontSerif=Mit Serifen
+About=Informationen
+Align=Ausrichtung
+AlignCenter=Ausrichtung Mitte
+AlignJustified=Blocksatz
+AlignLeft=Ausrichtung Links
+AlignRight=Ausrichtung Rechts
+AnchorDialogTitle=Anker Bezug
 Color=Farbe
 ColorAqua=Cyan
 ColorBlack=Schwarz
@@ -49,73 +22,105 @@ ColorSilver=Silber
 ColorTeal=Teal
 ColorWhite=Weiß
 ColorYellow=Gelb
+Contents=Inhalt
+Copy=Kopieren
+Cut=Ausschneiden
+Debug=Debug
+DescribeCSS=Beschreibe CSS
+DescribeDoc=Beschreibe Dokument
+DialogAccept=Akzeptieren
+DialogAccept=Bestätigen
+DialogCancel=Abbrechen
+DialogCancel=Annullieren
+DialogClose=Entlass
+Edit=Bearbeiten
+EditMode=Bearbeiten Modus
+ErrorCannotConvertToList=Kann nicht den auserwählten Text in eine Liste umwandeln.
+ErrorNoMatchFound=Kein zusammenpassender Text gefunden
+ErrorNoOccurencesFound=Keine Vorkommen fanden
+ErrorNoTextSelected=Kein Text wurde auserwählt.
+Exit=Beenden
+File=Datei
+FiletypeCSS=CSS Akten
+FiletypeHTML=HTML Akten
+FiletypeIMG=Abbildungen
+FiletypeRTF=RTF Akten
+FiletypeSer=Serialisierte Akten
+Font=Schriftart
+FontBold=Fett
+FontItalic=Kursiv
+FontMonospaced=Nicht Proportional
+FontSansserif=Serifenlos
+FontSerif=Mit Serifen
+FontSubscript=Tiefgestellt
+FontSuperscript=Hochgestellt
+FontUnderline=Unterstrichen
 Format=Format
 FormatBig=Groß
+FormatClear=Formatierungen aufheben
 FormatSmall=Klein
-FontSuperscript=Hochgestellt
-FontSubscript=Tiefgestellt
-Heading=Überschrift
+FormatSpan=Span
 Heading1=Überschrift 1
 Heading2=Überschrift 2
 Heading3=Überschrift 3
 Heading4=Überschrift 4
 Heading5=Überschrift 5
 Heading6=Überschrift 6
-ListUnordered=Ungeordnete Liste
-ListOrdered=Geordnete Liste
-ListItem=Listeneintrag
-ListUnorderedItem=Einfügen Ungeordnete Listeneintrag
-ListOrderedItem=Einfügen Geordnete Listeneintrag
-FormatSpan=Span
-FormatClear=Formatierungen aufheben
-Align=Ausrichtung
-AlignLeft=Ausrichtung Links
-AlignCenter=Ausrichtung Mitte
-AlignRight=Ausrichtung Rechts
-AlignJustified=Blocksatz
+Heading=Überschrift
+Help=Hilfe
+Index=Index
 Insert=Einfügen
 InsertAnchor=Anker
 InsertBreak=Zeilenumbruch
 InsertHorizontalRule=Waagerechte Linie
 InsertLocalImage=Bild
 InsertTable=Tabelle
-InsertTableRow=Tabellenreihe
 InsertTableCell=Tabellenzelle
-Debug=Debug
-DescribeDoc=Beschreibe Dokument
-DescribeCSS=Beschreibe CSS
-WhatTags=Welche Tags?
-ToolAnchor=Anker einfügen
-AnchorDialogTitle=Anker Bezug
-TableDialogTitle=Tabelleneigenschaften
-DialogAccept=Akzeptieren
-DialogCancel=Abbrechen
-TableRows=Tabellenzeilen
-TableColumns=Tabellenspalten
-TableBorder=Rahmenbreite
-DialogAccept=Bestätigen
-DialogCancel=Annullieren
-DialogClose=Entlass
-UndoError=Rückgängig nicht möglich
+InsertTableRow=Tabellenreihe
+ListItem=Listeneintrag
+ListOrdered=Geordnete Liste
+ListOrderedItem=Einfügen Geordnete Listeneintrag
+ListUnordered=Ungeordnete Liste
+ListUnorderedItem=Einfügen Ungeordnete Listeneintrag
+New=Neu
+NewDocument=Datei neu
+NoCSSStyle=(keine)
+OpenDocument=Datei öffnen
+OpenStyle=Formatvorlage öffnen
+Paste=Einfügen
+ReadFromSer=Serialisierte Datei lesen
+Redo=Wiederholen
 RedoError=Wiederholen nicht möglich
-Help=Hilfe
-About=Informationen
-Index=Index
-Contents=Inhalt
+Save=Speichern
+SaveAs=Speichern als
+SaveBody=Body speichern
+SaveDocument=Datei speichern
+SaveRTF=Speichern RTF
 Search=Suchen
+SearchDialogTitle=Suchen
 SearchFind=Finden
 SearchFindAgain=Finden Wieder
 SearchReplace=Ersetzen
-SearchDialogTitle=Suchen
-SearchStartAtTop=Anfang Oben
 SearchReplaceAll=Ersetzen Sie Alle
-FiletypeHTML=HTML Akten
-FiletypeCSS=CSS Akten
-FiletypeRTF=RTF Akten
-FiletypeSer=Serialisierte Akten
-FiletypeIMG=Abbildungen
-NoCSSStyle=(keine)
-ErrorNoTextSelected=Kein Text wurde auserwählt.
-ErrorNoOccurencesFound=Keine Vorkommen fanden
-ErrorNoMatchFound=Kein zusammenpassender Text gefunden
-ErrorCannotConvertToList=Kann nicht den auserwählten Text in eine Liste umwandeln.
+SearchStartAtTop=Anfang Oben
+SelectAll=Alles markieren
+SelectLine=Zeile markieren
+SelectParagraph=Absatz markieren
+SelectWord=Wort markieren
+SelectorToolCSSStyles=Art:
+Serialize=Serialisieren
+TableBorder=Rahmenbreite
+TableColumns=Tabellenspalten
+TableDialogTitle=Tabelleneigenschaften
+TableRows=Tabellenzeilen
+ToolAnchor=Anker einfügen
+Undo=Rückgängig
+UndoError=Rückgängig nicht möglich
+View=Ansicht
+ViewSource=Quelltext
+ViewToolbar=Symbolleisten
+ViewToolbarFormat=Format
+ViewToolbarMain=Hauptsächlich
+ViewToolbarStyles=Arten
+ViewToolbars=Symbolleisten
+WhatTags=Welche Tags?
index 60fa3d4..2710a72 100644 (file)
@@ -1,55 +1,12 @@
-File=File
-New=New
-NewDocument=New Document
-OpenDocument=Open Document
-OpenBase64Document=Open Base64 Document
-OpenStyle=Open Stylesheet
-SaveDocument=Save Document
-Save=Save
-SaveAs=Save As
-SaveBody=Save Body
-SaveRTF=Save RTF
-SaveB64=Save Base64
-Serialize=Serialise
-ReadFromSer=Read From Ser
-Exit=Exit
-Edit=Edit
-Cut=Cut
-Copy=Copy
-Paste=Paste
-Undo=Undo
-Redo=Redo
-SelectAll=Select All
-SelectParagraph=Select Paragraph
-SelectLine=Select Line
-SelectWord=Select Word
-View=View
-ViewToolbar=Toolbar
-ViewSource=Source
-EditMode=Edit Mode
-Font=Font
-FontBold=Bold
-FontItalic=Italic
-FontUnderline=Underline
-FontStrike=Strike-through
-FontSize=Size
-FontSize1=Smallest
-FontSize2=Smaller
-FontSize3=Small
-FontSize4=Regular
-FontSize5=Large
-FontSize6=Larger
-FontSize7=Largest
-FontMonospaced=Monospaced
-FontSansserif=Sans-Serif
-FontSerif=Serif
-FontSuperscript=Superscript
-FontSubscript=Subscript
-FontSelect=Select Font
-FontDialogTitle=Select Font
-FontSample=Font Sample
+About=About
+Align=Align
+AlignCenter=Align Center
+AlignJustified=Align Justified
+AlignLeft=Align Left
+AlignRight=Align Right
+AnchorDialogTitle=Anchor Reference
+AskNewDocument=Create new blank document?
 Color=Colour
-CustomColor=Custom
 ColorAqua=Aqua
 ColorBlack=Black
 ColorBlue=Blue
@@ -66,104 +23,153 @@ ColorSilver=Silver
 ColorTeal=Teal
 ColorWhite=White
 ColorYellow=Yellow
+Contents=Contents
+Copy=Copy
+CustomColor=Custom
+Cut=Cut
+Debug=Debug
+DeleteTableColumn=Delete Column
+DeleteTableRow=Delete Row
+DescribeCSS=Describe CSS
+DescribeDoc=Describe Doc
+DialogAccept=Accept
+DialogCancel=Cancel
+DialogClose=Close
+DictionaryFile=english
+Edit=Edit
+EditMode=Edit Mode
+Error=Error
+ErrorBadLocationException=Bad Location Exception occurred.
+ErrorCannotConvertToList=Cannot convert the selected text to a list.
+ErrorIOException=IO Exception occurred.
+ErrorNestedListsNotSupported=Lists cannot be created inside other lists.
+ErrorNoMatchFound=No match found
+ErrorNoOccurencesFound=No occurrences found
+ErrorNoTextSelected=No text was selected.
+ErrorRuntimeException=Runtime Exception occurred.
+Exit=Exit
+File=File
+FiletypeB64=Base64 Files
+FiletypeCSS=CSS Files
+FiletypeHTML=HTML Files
+FiletypeIMG=Images
+FiletypeRTF=RTF Files
+FiletypeSer=Serialised Files
+Font=Font
+FontBold=Bold
+FontDialogTitle=Select Font
+FontItalic=Italic
+FontMonospaced=Monospaced
+FontSample=Font Sample
+FontSansserif=Sans-Serif
+FontSelect=Select Font
+FontSerif=Serif
+FontSize1=Smallest
+FontSize2=Smaller
+FontSize3=Small
+FontSize4=Regular
+FontSize5=Large
+FontSize6=Larger
+FontSize7=Largest
+FontSize=Size
+FontStrike=Strike-through
+FontSubscript=Subscript
+FontSuperscript=Superscript
+FontUnderline=Underline
 Format=Format
 FormatBig=Big
-FormatSmall=Small
-FormatSpan=Span
 FormatBlockquote=Blockquote
+FormatClear=Clear Format
+FormatEmphasis=Emphasis
 FormatPre=Preformatted
+FormatSmall=Small
+FormatSpan=Span
 FormatStrong=Strong
-FormatEmphasis=Emphasis
 FormatTT=Typewritten
-FormatClear=Clear Format
-Heading=Heading
+FormButton=Button
+FormButtonReset=Reset Button
+FormButtonSubmit=Submit Button
+FormCheckbox=Checkbox
+FormDialogTitle=Properties For Form Element
+FormInsertForm=Insert Form
+FormPassword=Password
+FormRadio=Radio Button
+Forms=Forms
+FormTextarea=Text Area
+FormTextfield=Text Field
 Heading1=Heading 1
 Heading2=Heading 2
 Heading3=Heading 3
 Heading4=Heading 4
 Heading5=Heading 5
 Heading6=Heading 6
-ListUnordered=Unordered List
-ListOrdered=Ordered List
-ListItem=List Item
-Align=Align
-AlignLeft=Align Left
-AlignCenter=Align Center
-AlignRight=Align Right
-AlignJustified=Align Justified
+Heading=Heading
+Help=Help
+ImageDialogTitle=Select Image To Insert
+Index=Index
 Insert=Insert
 InsertAnchor=Anchor
 InsertBreak=Break
 InsertHorizontalRule=Horizontal Rule
 InsertLocalImage=Image From File
-InsertServerImage=Image From Server
 InsertNBSP=Nonbreaking Space
-Table=Table
+InsertServerImage=Image From Server
+InsertSymbol=Symbol...
 InsertTable=Create Table
-InsertTableRow=Insert Row
 InsertTableColumn=Insert Column
-DeleteTableRow=Delete Row
-DeleteTableColumn=Delete Column
-Debug=Debug
-DescribeDoc=Describe Doc
-DescribeCSS=Describe CSS
-WhatTags=What Tags?
-ToolAnchor=Insert Anchor
-AnchorDialogTitle=Anchor Reference
-ImageDialogTitle=Select Image To Insert
-TableDialogTitle=Table Properties
-DialogAccept=Accept
-DialogCancel=Cancel
-DialogClose=Close
-TableRows=Table Rows
-TableColumns=Table Columns
-TableBorder=Border Width
-TableCellSpacing=Cell Spacing
-TableCellPadding=Cell Padding
-UndoError=Unable to undo
+InsertTableRow=Insert Row
+ListItem=List Item
+ListOrdered=Ordered List
+ListUnordered=Unordered List
+New=New
+NewDocument=New Document
+NoCSSStyle=(none)
+OpenBase64Document=Open Base64 Document
+OpenDocument=Open Document
+OpenStyle=Open Stylesheet
+Paste=Paste
+ReadFromSer=Read From Ser
+Redo=Redo
 RedoError=Unable to redo
-Help=Help
-About=About
-AboutMessage=Ekit (c)2000-2003 Howard Kistler\nhexidec codex\nwww.hexidec.com
-Index=Index
-Contents=Contents
+Save=Save
+SaveAs=Save As
+SaveB64=Save Base64
+SaveBody=Save Body
+SaveDocument=Save Document
+SaveRTF=Save RTF
 Search=Search
+SearchCaseSensitive=Case Sensitive
+SearchDialogTitle=Search
 SearchFind=Find
 SearchFindAgain=Find Again
 SearchReplace=Replace
-SearchDialogTitle=Search
-SearchCaseSensitive=Case Sensitive
-SearchStartAtTop=Start At Top
 SearchReplaceAll=Replace All
-Forms=Forms
-FormInsertForm=Insert Form
-FormTextfield=Text Field
-FormTextarea=Text Area
-FormCheckbox=Checkbox
-FormRadio=Radio Button
-FormPassword=Password
-FormButton=Button
-FormButtonSubmit=Submit Button
-FormButtonReset=Reset Button
-FormDialogTitle=Properties For Form Element
+SearchStartAtTop=Start At Top
+SelectAll=Select All
+SelectLine=Select Line
+SelectorToolCSSStyles=Style:
+SelectParagraph=Select Paragraph
+SelectWord=Select Word
+Serialize=Serialise
+SymbolDialogTitle=Symbol Insert
+Table=Table
+TableBorder=Border Width
+TableCellPadding=Cell Padding
+TableCellSpacing=Cell Spacing
+TableColumns=Table Columns
+TableDialogTitle=Table Properties
+TableRows=Table Rows
+ToolAnchor=Insert Anchor
 Tools=Tools
 ToolSpellcheck=Spellchecker
 ToolSpellcheckDialog=Check Spelling
-FiletypeHTML=HTML Files
-FiletypeCSS=CSS Files
-FiletypeRTF=RTF Files
-FiletypeB64=Base64 Files
-FiletypeSer=Serialised Files
-FiletypeIMG=Images
-NoCSSStyle=(none)
-Error=Error
-ErrorNoTextSelected=No text was selected.
-ErrorNoOccurencesFound=No occurrences found
-ErrorNoMatchFound=No match found
-ErrorCannotConvertToList=Cannot convert the selected text to a list.
-ErrorNestedListsNotSupported=Lists cannot be created inside other lists.
-ErrorRuntimeException=Runtime Exception occurred.
-ErrorIOException=IO Exception occurred.
-ErrorBadLocationException=Bad Location Exception occurred.
-AskNewDocument=Create new blank document?
-DictionaryFile=english
\ No newline at end of file
+Undo=Undo
+UndoError=Unable to undo
+View=View
+ViewSource=Source
+ViewToolbar=Toolbar
+ViewToolbarFormat=Format
+ViewToolbarMain=Main
+ViewToolbars=Toolbars
+ViewToolbarStyles=Styles
+WhatTags=What Tags?
index 48a4a4c..1830457 100644 (file)
@@ -1,55 +1,12 @@
-File=File
-New=New
-NewDocument=New Document
-OpenDocument=Open Document
-OpenBase64Document=Open Base64 Document
-OpenStyle=Open Stylesheet
-SaveDocument=Save Document
-Save=Save
-SaveAs=Save As
-SaveBody=Save Body
-SaveRTF=Save RTF
-SaveB64=Save Base64
-Serialize=Serialize
-ReadFromSer=Read From Ser
-Exit=Exit
-Edit=Edit
-Cut=Cut
-Copy=Copy
-Paste=Paste
-Undo=Undo
-Redo=Redo
-SelectAll=Select All
-SelectParagraph=Select Paragraph
-SelectLine=Select Line
-SelectWord=Select Word
-View=View
-ViewToolbar=Toolbar
-ViewSource=Source
-EditMode=Edit Mode
-Font=Font
-FontBold=Bold
-FontItalic=Italic
-FontUnderline=Underline
-FontStrike=Strike-through
-FontSize=Size
-FontSize1=Smallest
-FontSize2=Smaller
-FontSize3=Small
-FontSize4=Regular
-FontSize5=Large
-FontSize6=Larger
-FontSize7=Largest
-FontMonospaced=Monospaced
-FontSansserif=Sans-Serif
-FontSerif=Serif
-FontSuperscript=Superscript
-FontSubscript=Subscript
-FontSelect=Select Font
-FontDialogTitle=Select Font
-FontSample=Font Sample
+About=About
+Align=Align
+AlignCenter=Align Center
+AlignJustified=Align Justified
+AlignLeft=Align Left
+AlignRight=Align Right
+AnchorDialogTitle=Anchor Reference
+AskNewDocument=Create new blank document?
 Color=Color
-CustomColor=Custom
 ColorAqua=Aqua
 ColorBlack=Black
 ColorBlue=Blue
@@ -66,104 +23,153 @@ ColorSilver=Silver
 ColorTeal=Teal
 ColorWhite=White
 ColorYellow=Yellow
+Contents=Contents
+Copy=Copy
+CustomColor=Custom
+Cut=Cut
+Debug=Debug
+DeleteTableColumn=Delete Column
+DeleteTableRow=Delete Row
+DescribeCSS=Describe CSS
+DescribeDoc=Describe Doc
+DialogAccept=Accept
+DialogCancel=Cancel
+DialogClose=Close
+DictionaryFile=english
+Edit=Edit
+EditMode=Edit Mode
+Error=Error
+ErrorBadLocationException=Bad Location Exception occurred.
+ErrorCannotConvertToList=Cannot convert the selected text to a list.
+ErrorIOException=IO Exception occurred.
+ErrorNestedListsNotSupported=Lists cannot be created inside other lists.
+ErrorNoMatchFound=No match found
+ErrorNoOccurencesFound=No occurrences found
+ErrorNoTextSelected=No text was selected.
+ErrorRuntimeException=Runtime Exception occurred.
+Exit=Exit
+File=File
+FiletypeB64=Base64 Files
+FiletypeCSS=CSS Files
+FiletypeHTML=HTML Files
+FiletypeIMG=Images
+FiletypeRTF=RTF Files
+FiletypeSer=Serialized Files
+Font=Font
+FontBold=Bold
+FontDialogTitle=Select Font
+FontItalic=Italic
+FontMonospaced=Monospaced
+FontSample=Font Sample
+FontSansserif=Sans-Serif
+FontSelect=Select Font
+FontSerif=Serif
+FontSize1=Smallest
+FontSize2=Smaller
+FontSize3=Small
+FontSize4=Regular
+FontSize5=Large
+FontSize6=Larger
+FontSize7=Largest
+FontSize=Size
+FontStrike=Strike-through
+FontSubscript=Subscript
+FontSuperscript=Superscript
+FontUnderline=Underline
 Format=Format
 FormatBig=Big
-FormatSmall=Small
-FormatSpan=Span
 FormatBlockquote=Blockquote
+FormatClear=Clear Format
+FormatEmphasis=Emphasis
 FormatPre=Preformatted
+FormatSmall=Small
+FormatSpan=Span
 FormatStrong=Strong
-FormatEmphasis=Emphasis
 FormatTT=Typewritten
-FormatClear=Clear Format
-Heading=Heading
+FormButton=Button
+FormButtonReset=Reset Button
+FormButtonSubmit=Submit Button
+FormCheckbox=Checkbox
+FormDialogTitle=Properties For Form Element
+FormInsertForm=Insert Form
+FormPassword=Password
+FormRadio=Radio Button
+Forms=Forms
+FormTextarea=Text Area
+FormTextfield=Text Field
 Heading1=Heading 1
 Heading2=Heading 2
 Heading3=Heading 3
 Heading4=Heading 4
 Heading5=Heading 5
 Heading6=Heading 6
-ListUnordered=Unordered List
-ListOrdered=Ordered List
-ListItem=List Item
-Align=Align
-AlignLeft=Align Left
-AlignCenter=Align Center
-AlignRight=Align Right
-AlignJustified=Align Justified
+Heading=Heading
+Help=Help
+ImageDialogTitle=Select Image To Insert
+Index=Index
 Insert=Insert
 InsertAnchor=Anchor
 InsertBreak=Break
 InsertHorizontalRule=Horizontal Rule
 InsertLocalImage=Image From File
-InsertServerImage=Image From Server
 InsertNBSP=Nonbreaking Space
-Table=Table
+InsertServerImage=Image From Server
+InsertSymbol=Symbol...
 InsertTable=Create Table
-InsertTableRow=Insert Row
 InsertTableColumn=Insert Column
-DeleteTableRow=Delete Row
-DeleteTableColumn=Delete Column
-Debug=Debug
-DescribeDoc=Describe Doc
-DescribeCSS=Describe CSS
-WhatTags=What Tags?
-ToolAnchor=Insert Anchor
-AnchorDialogTitle=Anchor Reference
-ImageDialogTitle=Select Image To Insert
-TableDialogTitle=Table Properties
-DialogAccept=Accept
-DialogCancel=Cancel
-DialogClose=Close
-TableRows=Table Rows
-TableColumns=Table Columns
-TableBorder=Border Width
-TableCellSpacing=Cell Spacing
-TableCellPadding=Cell Padding
-UndoError=Unable to undo
+InsertTableRow=Insert Row
+ListItem=List Item
+ListOrdered=Ordered List
+ListUnordered=Unordered List
+New=New
+NewDocument=New Document
+NoCSSStyle=(none)
+OpenBase64Document=Open Base64 Document
+OpenDocument=Open Document
+OpenStyle=Open Stylesheet
+Paste=Paste
+ReadFromSer=Read From Ser
+Redo=Redo
 RedoError=Unable to redo
-Help=Help
-About=About
-AboutMessage=Ekit (c)2000-2003 Howard Kistler\nhexidec codex\nwww.hexidec.com
-Index=Index
-Contents=Contents
+Save=Save
+SaveAs=Save As
+SaveB64=Save Base64
+SaveBody=Save Body
+SaveDocument=Save Document
+SaveRTF=Save RTF
 Search=Search
+SearchCaseSensitive=Case Sensitive
+SearchDialogTitle=Search
 SearchFind=Find
 SearchFindAgain=Find Again
 SearchReplace=Replace
-SearchDialogTitle=Search
-SearchCaseSensitive=Case Sensitive
-SearchStartAtTop=Start At Top
 SearchReplaceAll=Replace All
-Forms=Forms
-FormInsertForm=Insert Form
-FormTextfield=Text Field
-FormTextarea=Text Area
-FormCheckbox=Checkbox
-FormRadio=Radio Button
-FormPassword=Password
-FormButton=Button
-FormButtonSubmit=Submit Button
-FormButtonReset=Reset Button
-FormDialogTitle=Properties For Form Element
+SearchStartAtTop=Start At Top
+SelectAll=Select All
+SelectLine=Select Line
+SelectorToolCSSStyles=Style:
+SelectParagraph=Select Paragraph
+SelectWord=Select Word
+Serialize=Serialize
+SymbolDialogTitle=Symbol Insert
+Table=Table
+TableBorder=Border Width
+TableCellPadding=Cell Padding
+TableCellSpacing=Cell Spacing
+TableColumns=Table Columns
+TableDialogTitle=Table Properties
+TableRows=Table Rows
+ToolAnchor=Insert Anchor
 Tools=Tools
 ToolSpellcheck=Spellchecker
 ToolSpellcheckDialog=Check Spelling
-FiletypeHTML=HTML Files
-FiletypeCSS=CSS Files
-FiletypeRTF=RTF Files
-FiletypeB64=Base64 Files
-FiletypeSer=Serialized Files
-FiletypeIMG=Images
-NoCSSStyle=(none)
-Error=Error
-ErrorNoTextSelected=No text was selected.
-ErrorNoOccurencesFound=No occurrences found
-ErrorNoMatchFound=No match found
-ErrorCannotConvertToList=Cannot convert the selected text to a list.
-ErrorNestedListsNotSupported=Lists cannot be created inside other lists.
-ErrorRuntimeException=Runtime Exception occurred.
-ErrorIOException=IO Exception occurred.
-ErrorBadLocationException=Bad Location Exception occurred.
-AskNewDocument=Create new blank document?
-DictionaryFile=english
\ No newline at end of file
+Undo=Undo
+UndoError=Unable to undo
+View=View
+ViewSource=Source
+ViewToolbar=Toolbar
+ViewToolbarFormat=Format
+ViewToolbarMain=Main
+ViewToolbars=Toolbars
+ViewToolbarStyles=Styles
+WhatTags=What Tags?
index 6c830bf..76b167a 100644 (file)
@@ -1,49 +1,12 @@
-File=Archivo
-New=Nuevo
-NewDocument=Nuevo Documento
-OpenDocument=Abrir Documento
-OpenBase64Document=Abrir Documento Base64
-OpenStyle=Abrir Hoja de Estilo
-SaveDocument=Guardar Documento
-Save=Guardar
-SaveAs=Guardar como
-SaveBody=Guardar Contenido
-SaveRTF=Guardar RTF
-SaveB64=Guardar Base64
-Serialize=Serializar
-ReadFromSer=Importar Serializado
-Exit=Salir
-Edit=Editar
-Cut=Cortar
-Copy=Copiar
-Paste=Pegar
-Undo=Deshacer
-Redo=Rehacer
-SelectAll=Seleccionar Todo
-SelectParagraph=Seleccionar Párrafo
-SelectLine=Seleccionar Línea
-SelectWord=Seleccionar Palabra
-View=Ver
-ViewToolbar=Barra de herramientas
-ViewSource=Ver Código Fuente
-EditMode=Modo de Edición
-Font=Fuente
-FontBold=Negrita
-FontItalic=Cursiva
-FontUnderline=Subrayado
-FontSize=Size
-FontSize1=Muy Pequeño
-FontSize2=Más Pequeño
-FontSize3=Pequeño
-FontSize4=Normal
-FontSize5=Grande
-FontSize6=Más Grande
-FontSize7=Muy Grande
-FontMonospaced=Monoespaciada
-FontSansserif=Sans-Serif
-FontSerif=Serif
-FontSuperscript=Superíndice
-FontSubscript=Subíndice
+About=Acerca de...
+Align=Alineación
+AlignCenter=Centrar
+AlignJustified=Justificar
+AlignLeft=Alinear a la izquierda
+AlignRight=Alinear a la derecha
+AnchorDialogTitle=Insertar hipervínculo
+AskNewDocument=¿Crear nuevo documento en blanco?
+Cancel=Cancelar
 Color=Color
 ColorAqua=Ciánico
 ColorBlack=Negro
@@ -61,66 +24,160 @@ ColorSilver=Plata
 ColorTeal=Teal
 ColorWhite=Blanco
 ColorYellow=Amarillo
+Contents=Contenidos
+Copy=Copiar
+CustomColor=Paleta de colores
+Cut=Cortar
+Debug=Depurar
+DeleteTableColumn=Borrar columna
+DeleteTableRow=Borrar fila
+DescribeCSS=Describir CSS
+DescribeDoc=Describir doc...
+DialogAccept=Aceptar
+DialogCancel=Cancelar
+DialogClose=Cerrar
+DictionaryFile=spanish
+Edit=Editar
+EditMode=Modo de edición
+Error=Error
+ErrorBadLocationException=Error del tipo Location Exception.
+ErrorCannotConvertToList=No se puede convertir el texto seleccionado en una lista.
+ErrorIOException=Error del tipo IO Exception.
+ErrorNestedListsNotSupported=Las listas no pueden ser creadas dentro de otras listas.
+ErrorNoMatchFound=No se encontró el elemento buscado
+ErrorNoOccurencesFound=No se encontró el elemento buscado
+ErrorNoTextSelected=No hay texto seleccionado
+ErrorRuntimeException=Ha ocurrido un error en tiempo de ejecución.
+Exit=Salir
+File=Fichero
+FiletypeB64=Ficheros Base64
+FiletypeCSS=Ficheros CSS
+FiletypeHTML=Ficheros HTML
+FiletypeIMG=Imagenes
+FiletypeRTF=Ficheros RTF
+FiletypeSer=Ficheros Serializados
+Font=Fuente
+FontBold=Negrita
+FontDialogTitle=Seleccionar fuente
+FontItalic=Cursiva
+FontMonospaced=Monoespaciada
+FontSample=Ejemplo de fuente
+FontSansserif=Sans-Serif
+FontSelect=Seleccionar fuente
+FontSerif=Serif
+FontSize1=El más pequeño
+FontSize2=Más pequeño
+FontSize3=Pequeño
+FontSize4=Normal
+FontSize5=Grande
+FontSize6=Más grande
+FontSize7=El más grande
+FontSize=Tamaño
+FontStrike=Tachado
+FontSubscript=Subíndice
+FontSuperscript=Superíndice
+FontUnderline=Subrayado
 Format=Formato
 FormatBig=Grande
+FormatBlockquote=Párrafo tabulado
+FormatClear=Borrar formato
+FormatEmphasis=Énfasis
+FormatPre=Texto preformateado
 FormatSmall=Pequeño
-Heading=Encabezado
+FormatSpan=Agrupar (Span)
+FormatStrong=Destacado
+FormatTT=Teletipo
+FormButton=Botón
+FormButtonReset=Botón de Reset
+FormButtonSubmit=Botón de Submit
+FormCheckbox=Casilla de verificación
+FormDialogTitle=Propiedades formulario
+FormInsertForm=Insertar formulario
+FormPassword=Password
+FormRadio=Botón de opción
+Forms=Formulario
+FormTextarea=Área de texto
+FormTextfield=Campo de texto
 Heading1=Encabezado 1
 Heading2=Encabezado 2
 Heading3=Encabezado 3
 Heading4=Encabezado 4
 Heading5=Encabezado 5
 Heading6=Encabezado 6
-ListUnordered=Lista No ordenada
-ListOrdered=Lista Ordenada
-ListItem=Elemento Lista
-ListUnorderedItem=Insertar Elemento No ordenada
-ListOrderedItem=Insertar Elemento Ordenada
-FormatSpan=Agrupar(Span)
-FormatClear=Eliminar Formato
-Align=Alinear
-AlignLeft=Alinear a la Izquierda
-AlignCenter=Centrar
-AlignRight=Alinear a la Derecha
-AlignJustified=Justificar
-Insert=Insertar
-InsertAnchor=Enlace
-InsertBreak=Salto de Línea
-InsertHorizontalRule=Línea Horizontal
-InsertLocalImage=Imagen
-InsertTable=Tabla
-InsertTableRow=Fila Tabla
-InsertTableColumn=Columna Tabla
-InsertTableCell=Celda Tabla
-Debug=Depurar
-DescribeDoc=Describir Doc
-DescribeCSS=Describir CSS
-WhatTags=¿Qué Etiquetas?
-ToolAnchor=Insertar Enlace(Link)
-AnchorDialogTitle=Destino del Enlace(Link)
-TableDialogTitle=Propiedades de la Tabla
-DialogAccept=Aceptar
-DialogCancel=Cancelar
-DialogClose=Cierren
-TableRows=Filas de la Tabla
-TableColumns=Columnas de la Tabla
-TableBorder=Anchura del Borde
-UndoError=Imposible deshacer
-RedoError=Imposible rehacer
+Heading=Encabezado
 Help=Ayuda
-About=Información
-Index=Índice
-Contents=Contenido
-Search=Búsqueda
-SearchFind=Hallazgo
-SearchFindAgain=Hallazgo Otra Vez
-SearchReplace=Substituye
-SearchDialogTitle=Búsqueda
-SearchStartAtTop=Comienzo En La Parte Superior
-SearchReplaceAll=Substituye Todos
-FiletypeHTML=Archivos del HTML
-FiletypeCSS=Archivos del CSS
-FiletypeRTF=Archivos del RTF
-FiletypeSer=Archivos del Serializado
-FiletypeIMG=Cuadros
-NoCSSStyle=(ningunos)
+ImageDialogTitle=Selecciona una imagen para insertar
+IndentLeft=Reducir sangría
+IndentRight=Aumentar sangría
+Index=Indice
+Insert=Insertar
+InsertAnchor=Insertar hipervínculo
+InsertBreak=Salto de línea
+InsertCharacter=Caracter especial
+InsertCharacterDialogTitle=Insertar caracter especial
+InsertCharacterLabel=Insertar
+InsertHorizontalRule=Línea horizontal
+InsertLocalImage=Imagen desde fichero
+InsertNBSP=Espacio indivisible
+InsertServerImage=Imagen desde servidor
+InsertTable=Crear tabla
+InsertTableCell=Insertar celda
+InsertTableColumn=Insertar columna
+InsertTableRow=Insertar fila
+ListItem=Elemento de la lista
+ListOrdered=Lista ordenada
+ListUnordered=Lista no ordenada
+New=Nuevo
+NewDocument=Nuevo documento
+NoCSSStyle=(ninguno)
+Ok=OK
+OpenBase64Document=Abrir documento Base64
+OpenDocument=Abrir documento
+OpenStyle=Abrir hoja de estilo
+Paste=Pegar
+ReadFromSer=Leer desde ser...
+Redo=Rehacer
+RedoError=No es posible rehacer
+RemoveLink=Quitar hipervínculo
+Save=Guardar
+SaveAs=Guardar como...
+SaveB64=Guardar Base64
+SaveBody=Guardar contenido
+SaveDocument=Guardar documento
+SaveRTF=Guardar RTF
+Search=Buscar
+SearchCaseSensitive=Sensible a mayusculas
+SearchDialogTitle=Buscar
+SearchFind=Buscar
+SearchFindAgain=Buscar siguiente
+SearchReplace=Reemplazar
+SearchReplaceAll=Reemplazar todos
+SearchStartAtTop=Comenzar arriba
+SelectAll=Seleccionar todo
+SelectLine=Seleccionar línea
+SelectorToolCSSStyles=Estilo:
+SelectParagraph=Seleccionar párrafo
+SelectWord=Seleccionar palabra
+Serialize=Serializar
+ServerFiles=Ficheros del servidor...
+Table=Tabla
+TableBorder=Ancho del borde
+TableCellPadding=CellPadding
+TableCellSpacing=CellSpacing
+TableColumns=Columnas de la tabla
+TableDialogTitle=Propiedades de la tabla
+TableRows=Filas de la tabla
+ToolAnchor=Insertar hipervínculo
+Tools=Herramientas
+ToolSpellcheck=Corrector ortográfico
+ToolSpellcheckDialog=Comprobar ortografía
+Undo=Deshacer
+UndoError=No es posible deshacer
+View=Ver
+ViewSource=Código fuente
+ViewToolbar=Barra de herramientas
+ViewToolbarFormat=Formato
+ViewToolbarMain=Principal
+ViewToolbars=Barras de herramientas
+ViewToolbarStyles=Estilos
+WhatTags=¿Qué etiquetas?
index ce6c9c1..acac3d8 100644 (file)
@@ -1,39 +1,10 @@
-File=Archivo
-New=Nuevo
-NewDocument=Nuevo Documento
-OpenDocument=Abrir Documento
-OpenStyle=Abrir Hoja de Estilo
-SaveDocument=Guardar Documento
-Save=Guardar
-SaveAs=Guardar como
-SaveBody=Guardar Contenido
-SaveRTF=Guardar RTF
-Serialize=Serializar
-ReadFromSer=Importar Serializado
-Exit=Salir
-Edit=Editar
-Cut=Cortar
-Copy=Copiar
-Paste=Pegar
-Undo=Deshacer
-Redo=Rehacer
-SelectAll=Seleccionar Todo
-SelectParagraph=Seleccionar Párrafo
-SelectLine=Seleccionar Línea
-SelectWord=Seleccionar Palabra
-View=Ver
-ViewToolbar=Barra de herramientas
-ViewSource=Ver Código Fuente
-EditMode=Modo de Edición
-Font=Fuente
-FontBold=Negrita
-FontItalic=Cursiva
-FontUnderline=Subrayado
-FontStrike=Tachado
-FontMonospaced=Mono-Espaciada
-FontSansserif=Sans-Serif
-FontSerif=Serif
-FontSelect=Seleccionar Fuente
+About=Información
+Align=Alinear
+AlignCenter=Centrar
+AlignJustified=Justificar
+AlignLeft=Alinear a la Izquierda
+AlignRight=Alinear a la Derecha
+AnchorDialogTitle=Destino del Enlace(Link)
 Color=Color
 ColorAqua=Ciánico
 ColorBlack=Negro
@@ -51,75 +22,108 @@ ColorSilver=Plata
 ColorTeal=Teal
 ColorWhite=Blanco
 ColorYellow=Amarillo
+Contents=Contenido
+Copy=Copiar
+Cut=Cortar
+Debug=Depurar
+DescribeCSS=Describir CSS
+DescribeDoc=Describir Doc
+DialogAccept=Aceptar
+DialogCancel=Cancelar
+DialogClose=Cerrar
+Edit=Editar
+EditMode=Modo de Edición
+ErrorNoMatchFound=No se encontró.
+ErrorNoOccurencesFound=No se encontraró ocurrencias.
+ErrorNoTextSelected=No se seleccionó texto alguno.
+Exit=Salir
+File=Archivo
+FiletypeCSS=Archivos del CSS
+FiletypeHTML=Archivos del HTML
+FiletypeIMG=Cuadros
+FiletypeRTF=Archivos del RTF
+FiletypeSer=Archivos del Serializado
+Font=Fuente
+FontBold=Negrita
+FontItalic=Cursiva
+FontMonospaced=Mono-Espaciada
+FontSansserif=Sans-Serif
+FontSelect=Seleccionar Fuente
+FontSerif=Serif
+FontStrike=Tachado
+FontSubscript=Subíndice
+FontSuperscript=Superíndice
+FontUnderline=Subrayado
 Format=Formato
 FormatBig=Grande
+FormatClear=Eliminar Formato
 FormatSmall=Pequeño
-FontSuperscript=Superíndice
-FontSubscript=Subíndice
-Heading=Encabezado
+FormatSpan=Agrupar(Span)
 Heading1=Encabezado 1
 Heading2=Encabezado 2
 Heading3=Encabezado 3
 Heading4=Encabezado 4
 Heading5=Encabezado 5
 Heading6=Encabezado 6
-ListUnordered=Lista No ordenada
-ListOrdered=Lista Ordenada
-ListItem=Elemento Lista
-ListUnorderedItem=Insertar Elemento No ordenada
-ListOrderedItem=Insertar Elemento Ordenada
-FormatSpan=Agrupar(Span)
-FormatClear=Eliminar Formato
-Align=Alinear
-AlignLeft=Alinear a la Izquierda
-AlignCenter=Centrar
-AlignRight=Alinear a la Derecha
-AlignJustified=Justificar
+Heading=Encabezado
+Help=Ayuda
+ImageDialogTitle=Seleccione la Imagen a insertar.
+Index=Índice
 Insert=Insertar
 InsertAnchor=Liga
 InsertBreak=Salto de Línea
-InsertNBSP=Espacio blanco HTML (&nbsp;)
 InsertHorizontalRule=Línea Horizontal
 InsertImage=Imagen
+InsertNBSP=Espacio blanco HTML (&nbsp;)
 InsertTable=Tabla
-InsertTableRow=Fila Tabla
 InsertTableCell=Celda Tabla
-Debug=Depurar
-DescribeDoc=Describir Doc
-DescribeCSS=Describir CSS
-WhatTags=¿Qué Etiquetas?
-ToolAnchor=Insertar Enlace(Link)
-AnchorDialogTitle=Destino del Enlace(Link)
-TableDialogTitle=Propiedades de la Tabla
-DialogAccept=Aceptar
-DialogCancel=Cancelar
-DialogClose=Cerrar
-TableRows=Filas de la Tabla
-TableColumns=Columnas de la Tabla
-TableBorder=Anchura del Borde
-UndoError=Imposible deshacer
+InsertTableRow=Fila Tabla
+ListItem=Elemento Lista
+ListOrdered=Lista Ordenada
+ListOrderedItem=Insertar Elemento Ordenada
+ListUnordered=Lista No ordenada
+ListUnorderedItem=Insertar Elemento No ordenada
+New=Nuevo
+NewDocument=Nuevo Documento
+NoCSSStyle=(ningunos)
+OpenDocument=Abrir Documento
+OpenStyle=Abrir Hoja de Estilo
+Paste=Pegar
+ReadFromSer=Importar Serializado
+Redo=Rehacer
 RedoError=Imposible rehacer
-Help=Ayuda
-About=Información
-Index=Índice
-ImageDialogTitle=Seleccione la Imagen a insertar.
-Contents=Contenido
+Save=Guardar
+SaveAs=Guardar como
+SaveBody=Guardar Contenido
+SaveDocument=Guardar Documento
+SaveRTF=Guardar RTF
 Search=Búsqueda
-SearchFind=Buscar
 SearchCaseSensitive=Coincidir mayúsculas y minusculas
+SearchDialogTitle=Búsqueda
+SearchFind=Buscar
 SearchFindAgain=Buscar Otra Vez
 SearchReplace=Remplaza
-SearchDialogTitle=Búsqueda
-SearchStartAtTop=Comenzar en La Parte Superior
 SearchReplaceAll=Substituye Todos
-FiletypeHTML=Archivos del HTML
-FiletypeCSS=Archivos del CSS
-FiletypeRTF=Archivos del RTF
-FiletypeSer=Archivos del Serializado
-FiletypeIMG=Cuadros
-NoCSSStyle=(ningunos)
-ErrorNoTextSelected=No se seleccionó texto alguno.
-ErrorNoOccurencesFound=No se encontraró ocurrencias.
-ErrorNoMatchFound=No se encontró.
+SearchStartAtTop=Comenzar en La Parte Superior
+SelectAll=Seleccionar Todo
+SelectLine=Seleccionar Línea
+SelectorToolCSSStyles=Estilo:
+SelectParagraph=Seleccionar Párrafo
+SelectWord=Seleccionar Palabra
+Serialize=Serializar
+TableBorder=Anchura del Borde
+TableColumns=Columnas de la Tabla
+TableDialogTitle=Propiedades de la Tabla
 TableDialogTitle=Propiedades de la Tabla
-
+TableRows=Filas de la Tabla
+ToolAnchor=Insertar Enlace(Link)
+Undo=Deshacer
+UndoError=Imposible deshacer
+View=Ver
+ViewSource=Ver Código Fuente
+ViewToolbar=Barra de herramientas
+ViewToolbarFormat=Formato
+ViewToolbarMain=Principal
+ViewToolbars=Barras de herramientas
+ViewToolbarStyles=Estilos
+WhatTags=¿Qué Etiquetas?
index 0b8af22..7d22887 100644 (file)
@@ -1,37 +1,11 @@
-File=Fichier
-New=Nouveau
-NewDocument=Nouveau Document
-OpenDocument=Ouvrir le Document
-OpenStyle=Ouvrez une Feuille de Style
-SaveDocument=Sauvegarder le Document
-Save=Enregistrer
-SaveAs=Enregistrer Sous
-SaveBody=Enregistrer Le Corps
-SaveRTF=Enregistrer en RTF
-Serialize=Serialize
-ReadFromSer=Lire de Serialize
-Exit=Quitter
-Edit=Editer
-Cut=Couper
-Copy=Copier
-Paste=Coller
-Undo=Défaire
-Redo=Refaire
-SelectAll=Sélectionner Tout
-SelectParagraph=Sélectionner Le Paragraphe
-SelectLine=Sélectionner La Ligne
-SelectWord=Sélectionner Le Mot
-View=Affichage
-ViewToolbar=Barre d'outils
-ViewSource=Code Source
-EditMode=Mode Edition
-Font=Police
-FontBold=Gras
-FontItalic=Italique
-FontUnderline=Souligner
-FontMonospaced=Monospace
-FontSansserif=Sans-Serif
-FontSerif=Serif
+About=À propos...
+Align=Aligner
+AlignCenter=Centrer
+AlignJustified=Justifié
+AlignLeft=Aligner à gauche
+AlignRight=Aligner à droite
+AnchorDialogTitle=Référence de l'ancre
+AskNewDocument=Créer un nouveau document?
 Color=Couleur
 ColorAqua=Cyan
 ColorBlack=Noir
@@ -39,78 +13,163 @@ ColorBlue=Bleu
 ColorFuschia=Fuschia
 ColorGray=Gris
 ColorGreen=Vert
-ColorLime=Lime
+ColorLime=Citron
 ColorMaroon=Écarlate
 ColorNavy=Marine
 ColorOlive=Olive
 ColorPurple=Pourpre
 ColorRed=Rouge
 ColorSilver=Argent
-ColorTeal=Teal
+ColorTeal=Vert bleu
 ColorWhite=Blanc
 ColorYellow=Jaune
-Format=Format
+Contents=Contenu
+Copy=Copier
+CustomColor=Personnaliser
+Cut=Couper
+Debug=Deboggage
+DeleteTableColumn=Effacer la colonne
+DeleteTableRow=Effacer la ligne
+DescribeCSS=Décrire le CSS
+DescribeDoc=Décrire le document
+DialogAccept=OK
+DialogCancel=Annulation
+DialogClose=Fermer
+DictionaryFile=french
+Edit=Éditer
+EditMode=Mode édition
+Error=Erreur
+ErrorBadLocationException=Une erreur de d'allocation est survenue.
+ErrorCannotConvertToList=Impossible de convertir le texte selectionné en liste.
+ErrorIOException=Une erreur Entrée/Sortie est survenue.
+ErrorNestedListsNotSupported=Des listes ne peuvent être créées à l'intérieur d'autres listes.
+ErrorNoMatchFound=Rien trouvé
+ErrorNoOccurencesFound=Aucune occurrence trouvé
+ErrorNoTextSelected=Aucun texte n'a été sélectionné.
+ErrorRuntimeException=Une erreur d'éxecution est survenue.
+Exit=Quitter
+File=Fichier
+FiletypeB64=Fichiers Base64
+FiletypeCSS=Fichiers CSS
+FiletypeHTML=Fichiers HTML
+FiletypeIMG=Fichiers Images
+FiletypeRTF=Fichiers RTF
+FiletypeSer=Fichiers Serialisés
+Font=Police
+FontBold=Gras
+FontDialogTitle=Choisir la police
+FontFace=Sélection de police
+FontItalic=Italique
+FontMonospaced=Monospace
+FontSample=Prévisualisation
+FontSansserif=Sans-Serif
+FontSelect=Choisir la police
+FontSerif=Serif
+FontSize1=La plus petite
+FontSize2=Plus petite
+FontSize3=Petite
+FontSize4=Normal
+FontSize5=Grande
+FontSize6=Plus grande
+FontSize7=La plus grande
+FontSize=Taille
+FontStrike=Barré
+FontSubscript=Indice inférieur
+FontSuperscript=Indice supérieur
+FontUnderline=Souligné
+Format=Formatter
 FormatBig=Grand
+FormatBlockquote=Retrait
+FormatClear=Supprimer le format
+FormatEmphasis=Italique
+FormatPre=Préformatté
 FormatSmall=Petit
-FontSuperscript=Indice supérieur
-FontSubscript=Indice inférieur
-Heading=Entête
+FormatSpan=Balise Span
+FormatStrong=Gras
+FormatTT=Courrier
+FormButton=Bouton
+FormButtonReset=Bouton remise-à-zéro
+FormButtonSubmit=Bouton soumettre
+FormCheckbox=Case à cocher
+FormDialogTitle=Propriétiés du formulaire
+FormInsertForm=Insérer un formulaire
+FormPassword=Mot de passe
+FormRadio=Bouton radio
+Forms=Formulaire
+FormTextarea=Zone de texte
+FormTextfield=Champ texte
 Heading1=Entête 1
 Heading2=Entête 2
 Heading3=Entête 3
 Heading4=Entête 4
 Heading5=Entête 5
 Heading6=Entête 6
-ListUnordered=Liste Non Ordonnée
-ListOrdered=Liste Ordonnée
-ListItem=Article d'une Liste
-ListUnorderedItem=Insertion Article Non Ordonnée
-ListOrderedItem=Insertion Article Ordonnée
-FormatSpan=balise Span
-FormatClear=Supprimer Format
-Align=Aligner
-AlignLeft=Aligner à Gauche
-AlignCenter=Centrer
-AlignRight=Aligner à Droite
-AlignJustified=Justifié
+Heading=Entête
+Help=Aide
+ImageDialogTitle=Choisir une image à insérer
+Index=Index
 Insert=Insertion
 InsertAnchor=Ancre
 InsertBreak=Coupure
-InsertHorizontalRule=Ligne Horizontale
+InsertHorizontalRule=Ligne horizontale
 InsertLocalImage=Image
+InsertNBSP=Espace insécable
+InsertServerImage=Image sur le serveur
 InsertTable=Tableau
-InsertTableRow=Rangée du Tableau
-InsertTableCell=Cellule du Tableau
-Debug=Deboggage
-DescribeDoc=Décrire le Document
-DescribeCSS=Décrire le CSS
-WhatTags=Liste des balises
-ToolAnchor=Inserer balise anchre
-AnchorDialogTitle=Référence de l'Ancre
-TableDialogTitle=Propriétés du Tableau
-DialogAccept=Accepter
-DialogCancel=Annulation
-DialogClose=Fermez
-TableRows=Rangées du Tableau
-TableColumns=Colonnes du Tableau
-TableBorder=Bordures du Tableau
-UndoError=Impossible de défaire
-RedoError=Impossible de refaire
-Help=Aide
-About=L'information
-Index=Index
-Contents=Contenu
+InsertTableCell=Cellule du tableau
+InsertTableColumn=Insérer une colonne
+InsertTableRow=Insérer une ligne
+ListItem=Article d'une Liste
+ListOrdered=Liste numérotée
+ListUnordered=Liste avec puces
+New=Nouveau
+NewDocument=Nouveau document
+NoCSSStyle=(aucun)
+OpenBase64Document=Ouvrir un document Base64
+OpenDocument=Ouvrir un document
+OpenStyle=Ouvrir une feuille de style
+Paste=Coller
+ReadFromSer=Lire un fichier sérializé
+Redo=Répeter
+RedoError=Impossible de répeter
+Save=Enregistrer
+SaveAs=Enregistrer sous...
+SaveB64=Sauvegarder sous Base64
+SaveBody=Enregistrer le corps
+SaveDocument=Sauvegarder le Document
+SaveRTF=Enregistrer en RTF
 Search=Recherche
-SearchFind=Trouvez
-SearchFindAgain=Trouvez Encore
-SearchReplace=Remplacez
+SearchCaseSensitive=Sensible à la case
 SearchDialogTitle=Recherche
-SearchStartAtTop=Début En Haut
-SearchReplaceAll=Remplacez Tous
-FiletypeHTML=Dossiers de HTML
-FiletypeCSS=Dossiers de CSS
-FiletypeRTF=Dossiers de RTF
-FiletypeSer=Dossiers de Serialize
-FiletypeIMG=Images
-NoCSSStyle=(aucun)
-ErrorNoTextSelected=Aucun texte n'a été choisi.
+SearchFind=Rechercher
+SearchFindAgain=Rechercher le suivant
+SearchReplace=Remplacer
+SearchReplaceAll=Tout remplacer
+SearchStartAtTop=Démarrer du haut
+SelectAll=Tout sélectionner
+SelectLine=Sélectionner la ligne
+SelectorToolCSSStyles=Style:
+SelectParagraph=Sélectionner le paragraphe
+SelectWord=Sélectionner le mot
+Serialize=Sérialiser
+Table=Tableau
+TableBorder=Bordures du Tableau
+TableCellPadding=Cell Padding
+TableCellSpacing=Cell Spacing
+TableColumns=Colonnes du Tableau
+TableDialogTitle=Propriétés du Tableau
+TableRows=Rangées du Tableau
+ToolAnchor=Insérer ancre
+Tools=Outils
+ToolSpellcheck=Orthographe
+ToolSpellcheckDialog=Vérifier l'orthographe
+Undo=Annuler
+UndoError=Impossible d'annuler
+View=Affichage
+ViewSource=Code source
+ViewToolbar=Barre d'outils
+ViewToolbarFormat=Formatter
+ViewToolbarMain=Principal
+ViewToolbars=Barres d'outil
+ViewToolbarStyles=Styles
+WhatTags=Liste des balises
index d120c25..c04bf5d 100644 (file)
@@ -1,36 +1,10 @@
-File=File
-New=Nuovo
-NewDocument=Nuovo Documento
-OpenDocument=Apri Documento
-OpenStyle=Apri Stile
-SaveDocument=Salva Documento
-Save=Salva
-SaveAs=Salva come
-SaveBody=Salva Body
-SaveRTF=Salva RTF
-Serialize=Salva Serializzabile
-ReadFromSer=leggi Serializzabile
-Exit=Esci
-Edit=Modifica
-Cut=Taglia
-Copy=Copia
-Paste=Incolla
-Undo=Annulla
-Redo=Ripristina
-SelectAll=Seleziona Tutto
-SelectParagraph=Seleziona Paragrafo
-SelectLine=Seleziona Riga
-SelectWord=Seleziona Parola
-View=Guarda*
-ViewSource=Fonte*
-EditMode=Modificabile
-Font=Carattere
-FontBold=Grassetto
-FontItalic=Corsivo
-FontUnderline=Sottolineato
-FontMonospaced=Courier
-FontSansserif=Sans Serif
-FontSerif=Serif
+About=Informazioni
+Align=Alinea
+AlignCenter=Alinea Centrato
+AlignJustified=Alinea Giustificato
+AlignLeft=Alinea Sinistra
+AlignRight=Alinea Destra
+AnchorDialogTitle=Ancora di Referenza
 Color=Colore
 ColorAqua=Ciano
 ColorBlack=Nero
@@ -48,67 +22,99 @@ ColorSilver=Argento
 ColorTeal=Teal
 ColorWhite=Bianco
 ColorYellow=Giallo
+Contents=Contenti
+Copy=Copia
+Cut=Taglia
+Debug=Debug
+DescribeCSS=Descrizione CSS
+DescribeDoc=Descrizione Doc
+DialogAccept=Accetta
+DialogCancel=Cancella
+DialogClose=Chiuda
+Edit=Modifica
+EditMode=Modificabile
+Exit=Esci
+File=File
+FiletypeCSS=Documenti del CSS
+FiletypeHTML=Documenti del HTML
+FiletypeIMG=Immagini
+FiletypeRTF=Documenti del RTF
+FiletypeSer=Documenti del Serialized
+Font=Carattere
+FontBold=Grassetto
+FontItalic=Corsivo
+FontMonospaced=Courier
+FontSansserif=Sans Serif
+FontSerif=Serif
+FontSubscript=Pendice
+FontSuperscript=Apice
+FontUnderline=Sottolineato
 Format=Formato
 FormatBig=Grande
+FormatClear=Annulla Formato
 FormatSmall=Piccolo
-FontSuperscript=Apice
-FontSubscript=Pendice
-Heading=Grandezza
+FormatSpan=Applica Stile
 Heading1=Grandezza 1
 Heading2=Grandezza 2
 Heading3=Grandezza 3
 Heading4=Grandezza 4
 Heading5=Grandezza 5
 Heading6=Grandezza 6
-ListUnordered=Lista Disordinata
-ListOrdered=Lista Ordinata
-ListItem=Lista Elementi
-ListUnorderedItem=Inserisci Elementi Disordinata
-ListOrderedItem=Inserisci Elementi Ordinata
-FormatSpan=Applica Stile
-FormatClear=Annulla Formato
-Align=Alinea
-AlignLeft=Alinea Sinistra
-AlignCenter=Alinea Centrato
-AlignRight=Alinea Destra
-AlignJustified=Alinea Giustificato
+Heading=Grandezza
+Help=Aiuto
+Index=Indice
 Insert=Inserisci
 InsertAnchor=Ancora
 InsertBreak=A Capo
 InsertHorizontalRule=Barra orizzontale
 InsertLocalImage=Immagine
 InsertTable=Tabella
-InsertTableRow=Inserisci Riga
 InsertTableCell=Inserisci Cella
-Debug=Debug
-DescribeDoc=Descrizione Doc
-DescribeCSS=Descrizione CSS
-WhatTags=Che Tag è?
-ToolAnchor=Inserisci Ancora
-AnchorDialogTitle=Ancora di Referenza
-TableDialogTitle=Proprietà Tabella
-DialogAccept=Accetta
-DialogCancel=Cancella
-DialogClose=Chiuda
-TableRows=Righe Tabella
-TableColumns=Colonne Tabella
-TableBorder=Spessore Bordo
-UndoError=Impossibile Annullare
+InsertTableRow=Inserisci Riga
+ListItem=Lista Elementi
+ListOrdered=Lista Ordinata
+ListOrderedItem=Inserisci Elementi Ordinata
+ListUnordered=Lista Disordinata
+ListUnorderedItem=Inserisci Elementi Disordinata
+New=Nuovo
+NewDocument=Nuovo Documento
+NoCSSStyle=(nessun)
+OpenDocument=Apri Documento
+OpenStyle=Apri Stile
+Paste=Incolla
+ReadFromSer=leggi Serializzabile
+Redo=Ripristina
 RedoError=Impossibile Ripristinare
-Help=Aiuto
-About=Informazioni
-Index=Indice
-Contents=Contenti
+Save=Salva
+SaveAs=Salva come
+SaveBody=Salva Body
+SaveDocument=Salva Documento
+SaveRTF=Salva RTF
 Search=Ricerca
+SearchDialogTitle=Ricerca
 SearchFind=Trovi
 SearchFindAgain=Trovi Ancora
 SearchReplace=Sostituisca
-SearchDialogTitle=Ricerca
-SearchStartAtTop=Inizio In Cima
 SearchReplaceAll=Sostituisca Tutti
-FiletypeHTML=Documenti del HTML
-FiletypeCSS=Documenti del CSS
-FiletypeRTF=Documenti del RTF
-FiletypeSer=Documenti del Serialized
-FiletypeIMG=Immagini
-NoCSSStyle=(nessun)
+SearchStartAtTop=Inizio In Cima
+SelectAll=Seleziona Tutto
+SelectLine=Seleziona Riga
+SelectorToolCSSStyles=Stile:
+SelectParagraph=Seleziona Paragrafo
+SelectWord=Seleziona Parola
+Serialize=Salva Serializzabile
+TableBorder=Spessore Bordo
+TableColumns=Colonne Tabella
+TableDialogTitle=Proprietà Tabella
+TableRows=Righe Tabella
+ToolAnchor=Inserisci Ancora
+Undo=Annulla
+UndoError=Impossibile Annullare
+View=Guarda
+ViewSource=Fonte
+ViewToolbar=Barra dell'attrezzo
+ViewToolbarFormat=Formato
+ViewToolbarMain=Principale
+ViewToolbars=Barre dell'attrezzo
+ViewToolbarStyles=Stili
+WhatTags=Che Tag è?
index d120c25..c04bf5d 100644 (file)
@@ -1,36 +1,10 @@
-File=File
-New=Nuovo
-NewDocument=Nuovo Documento
-OpenDocument=Apri Documento
-OpenStyle=Apri Stile
-SaveDocument=Salva Documento
-Save=Salva
-SaveAs=Salva come
-SaveBody=Salva Body
-SaveRTF=Salva RTF
-Serialize=Salva Serializzabile
-ReadFromSer=leggi Serializzabile
-Exit=Esci
-Edit=Modifica
-Cut=Taglia
-Copy=Copia
-Paste=Incolla
-Undo=Annulla
-Redo=Ripristina
-SelectAll=Seleziona Tutto
-SelectParagraph=Seleziona Paragrafo
-SelectLine=Seleziona Riga
-SelectWord=Seleziona Parola
-View=Guarda*
-ViewSource=Fonte*
-EditMode=Modificabile
-Font=Carattere
-FontBold=Grassetto
-FontItalic=Corsivo
-FontUnderline=Sottolineato
-FontMonospaced=Courier
-FontSansserif=Sans Serif
-FontSerif=Serif
+About=Informazioni
+Align=Alinea
+AlignCenter=Alinea Centrato
+AlignJustified=Alinea Giustificato
+AlignLeft=Alinea Sinistra
+AlignRight=Alinea Destra
+AnchorDialogTitle=Ancora di Referenza
 Color=Colore
 ColorAqua=Ciano
 ColorBlack=Nero
@@ -48,67 +22,99 @@ ColorSilver=Argento
 ColorTeal=Teal
 ColorWhite=Bianco
 ColorYellow=Giallo
+Contents=Contenti
+Copy=Copia
+Cut=Taglia
+Debug=Debug
+DescribeCSS=Descrizione CSS
+DescribeDoc=Descrizione Doc
+DialogAccept=Accetta
+DialogCancel=Cancella
+DialogClose=Chiuda
+Edit=Modifica
+EditMode=Modificabile
+Exit=Esci
+File=File
+FiletypeCSS=Documenti del CSS
+FiletypeHTML=Documenti del HTML
+FiletypeIMG=Immagini
+FiletypeRTF=Documenti del RTF
+FiletypeSer=Documenti del Serialized
+Font=Carattere
+FontBold=Grassetto
+FontItalic=Corsivo
+FontMonospaced=Courier
+FontSansserif=Sans Serif
+FontSerif=Serif
+FontSubscript=Pendice
+FontSuperscript=Apice
+FontUnderline=Sottolineato
 Format=Formato
 FormatBig=Grande
+FormatClear=Annulla Formato
 FormatSmall=Piccolo
-FontSuperscript=Apice
-FontSubscript=Pendice
-Heading=Grandezza
+FormatSpan=Applica Stile
 Heading1=Grandezza 1
 Heading2=Grandezza 2
 Heading3=Grandezza 3
 Heading4=Grandezza 4
 Heading5=Grandezza 5
 Heading6=Grandezza 6
-ListUnordered=Lista Disordinata
-ListOrdered=Lista Ordinata
-ListItem=Lista Elementi
-ListUnorderedItem=Inserisci Elementi Disordinata
-ListOrderedItem=Inserisci Elementi Ordinata
-FormatSpan=Applica Stile
-FormatClear=Annulla Formato
-Align=Alinea
-AlignLeft=Alinea Sinistra
-AlignCenter=Alinea Centrato
-AlignRight=Alinea Destra
-AlignJustified=Alinea Giustificato
+Heading=Grandezza
+Help=Aiuto
+Index=Indice
 Insert=Inserisci
 InsertAnchor=Ancora
 InsertBreak=A Capo
 InsertHorizontalRule=Barra orizzontale
 InsertLocalImage=Immagine
 InsertTable=Tabella
-InsertTableRow=Inserisci Riga
 InsertTableCell=Inserisci Cella
-Debug=Debug
-DescribeDoc=Descrizione Doc
-DescribeCSS=Descrizione CSS
-WhatTags=Che Tag è?
-ToolAnchor=Inserisci Ancora
-AnchorDialogTitle=Ancora di Referenza
-TableDialogTitle=Proprietà Tabella
-DialogAccept=Accetta
-DialogCancel=Cancella
-DialogClose=Chiuda
-TableRows=Righe Tabella
-TableColumns=Colonne Tabella
-TableBorder=Spessore Bordo
-UndoError=Impossibile Annullare
+InsertTableRow=Inserisci Riga
+ListItem=Lista Elementi
+ListOrdered=Lista Ordinata
+ListOrderedItem=Inserisci Elementi Ordinata
+ListUnordered=Lista Disordinata
+ListUnorderedItem=Inserisci Elementi Disordinata
+New=Nuovo
+NewDocument=Nuovo Documento
+NoCSSStyle=(nessun)
+OpenDocument=Apri Documento
+OpenStyle=Apri Stile
+Paste=Incolla
+ReadFromSer=leggi Serializzabile
+Redo=Ripristina
 RedoError=Impossibile Ripristinare
-Help=Aiuto
-About=Informazioni
-Index=Indice
-Contents=Contenti
+Save=Salva
+SaveAs=Salva come
+SaveBody=Salva Body
+SaveDocument=Salva Documento
+SaveRTF=Salva RTF
 Search=Ricerca
+SearchDialogTitle=Ricerca
 SearchFind=Trovi
 SearchFindAgain=Trovi Ancora
 SearchReplace=Sostituisca
-SearchDialogTitle=Ricerca
-SearchStartAtTop=Inizio In Cima
 SearchReplaceAll=Sostituisca Tutti
-FiletypeHTML=Documenti del HTML
-FiletypeCSS=Documenti del CSS
-FiletypeRTF=Documenti del RTF
-FiletypeSer=Documenti del Serialized
-FiletypeIMG=Immagini
-NoCSSStyle=(nessun)
+SearchStartAtTop=Inizio In Cima
+SelectAll=Seleziona Tutto
+SelectLine=Seleziona Riga
+SelectorToolCSSStyles=Stile:
+SelectParagraph=Seleziona Paragrafo
+SelectWord=Seleziona Parola
+Serialize=Salva Serializzabile
+TableBorder=Spessore Bordo
+TableColumns=Colonne Tabella
+TableDialogTitle=Proprietà Tabella
+TableRows=Righe Tabella
+ToolAnchor=Inserisci Ancora
+Undo=Annulla
+UndoError=Impossibile Annullare
+View=Guarda
+ViewSource=Fonte
+ViewToolbar=Barra dell'attrezzo
+ViewToolbarFormat=Formato
+ViewToolbarMain=Principale
+ViewToolbars=Barre dell'attrezzo
+ViewToolbarStyles=Stili
+WhatTags=Che Tag è?
index 6f011ce..b1a7e5a 100644 (file)
@@ -2,7 +2,7 @@
 Ekit README
 ==========================
 
-Ekit v0.9g (C)2000-2003 Howard Kistler/hexidec codex
+Ekit v0.9h (C)2000-2004 Howard Kistler/hexidec codex
 App/Applet for editing and saving HTML in a Java text component.
 
 
@@ -39,9 +39,9 @@ licensing and to make Ekit more available and accessible to developers and
 users, and I think by switching to the LGPL all of these criteria are thus met.
 
 I am aware that releasing a product under the GPL is supposed to be an
-"irreversible" process. However, as this product was in violation of the
-stricter terms of the GPL, this reassignment to LGPL is not a change so much
-as a correction of licensing.
+"irreversible" process. However, as this product was probably in violation of
+the stricter terms of the GPL, this reassignment to LGPL is not a change so
+much as a correction of licensing.
 
 
 REQUIREMENTS
@@ -64,14 +64,10 @@ FILES
 
 These are the base class source files:
 
-EkitCore.java   - Source for the core Ekit functionality
-Ekit.java       - Source for Ekit application shell
-EkitApplet.java - Source for EkitApplet shell
-
-EkitCore is replaced by one of these two core files during compilation:
-
-EkitCore_Basic.java - The standard Ekit core.
-EkitCore_Spell.java - The core plus supports for the Jazzy spellchecker.
+EkitCore.java      - Source for the core Ekit functionality
+EkitCoreSpell.java - Source for extended core with spell checking
+Ekit.java          - Source for Ekit application shell
+EkitApplet.java    - Source for EkitApplet shell
 
 The "action" subdirectory contains these action class sources:
 
@@ -98,12 +94,13 @@ PropertiesDialog.java        - Generic parameter request dialog
 RelativeImageView.java       - HTML Image rendering component
 SearchDialog.java            - Find/Replace dialog
 SimpleInfoDialog.java        - Basic message dialog
+SymbolDialog.java            - Special symbol character dialog
 TableInputDialog.java        - Table specification input dialog
 UserInputAnchorDialog.java   - Custom anchor input dialog
 UserInputDialog.java         - Custom data input dialog
 
   There is also a copy of the TaggingDriverServlet.java source within the
-  "materials" folder. You may use this on your server for server-based file
+  "materials" directory. You may use this on your server for server-based file
   and image loading.
 
 The "icons" subdirectory contains these custom icons for the ToolBar:
@@ -172,7 +169,7 @@ JAZZY SOURCES
 --------------------------
 
 Ekit optionally incorporates a modified subset of the Jazzy open source
-spellchecker. The root folder of the Jazzy classes is "com/swabunga/spell".
+spellchecker. The root directory of the Jazzy classes is "com/swabunga/spell".
 You will find the following subdirectories and sources there. (See the README
 file under the "swabunga" directory for more information.)
 
@@ -442,6 +439,7 @@ Insert Menu
 
     Anchor - Convert the selected text to a hyperlink after specifying the URL
         in the pop-up dialog
+    Symbol - Insert special characters using the symbols dialog
     Break - Insert an HTML break <BR> element
     Nonbreaking Space - Inst an HTML non-breaking space (&nbsp;) metacharacter
     Horizontal Rule - Insert an HTML horizontal rule <HR> element
@@ -589,6 +587,14 @@ VERSION HISTORY
           the current document
     - fixed the known memory/resource leaks caused by the SpellChecker
     - added language files for Spanish (Mexican), Hungarian and Chinese
+0.9h (4/28/2004)
+    - new symbol insertion dialog
+    - rewritten EkitCoreSpell now extends EkitCore, adding just spell checker
+    - EkitCore includes hooks to support EkitCoreSpell
+    - source view panel replaced with JTextArea (lighter weight)
+    - StyledDocument constructors and setter method
+    - optional multiple "themed" toolbars in place of single catch-all toolbar
+    - command-line usage options available in Ekit (use -h or -? argument)
 
 NOTE: The following items work in Ekit but not yet in EkitApplet, due to the
 applet security model:
@@ -626,6 +632,9 @@ Frits Jalvingh (jal@grimor.com)
     - CSS Styles Selector
     - Original ExtendedHTMLEditorKit & RelativeImageView classes
     - Original ImageFileChooser & ImageFileChooserPreview classes
+Jerry Pommer (jpommer@brainfood.com)
+    - ExtendedHTMLDocument.java & ExtendedHTMLEditorKit.java code
+        to fix format toggling
 Ruud Noordermeer (ruud.noordermeer@back2front.nl)
     - Fix for split-pane rendering issue in EkitApplet
 Mindaugas Idzelis (aim4min@users.sourceforge.net)
@@ -643,6 +652,10 @@ Rafael Cieplinski (cieplinski@web.de)
 Nico Mack (nico.mack@mmp.lu)
     - System clipboard access code
     - Other bug fixes
+Michael Pearce (michaelgpearce@yahoo.com)
+    - Symbol insertion dialog & code
+Murray Altheim (m.altheim@open.ac.uk)
+    - StyledDocument support code
 
 
 TRANSLATIONS
@@ -661,7 +674,8 @@ Nick Schwendener (nschwendener@vtxnet.ch)
 Gyoergy Magoss (GYOERGY.MAGOSS@bhf-bank.com)
     - German
         LanguageResources_de_DE.properties
-Jesus Escanero (jescanero@yahoo.es)
+Jesus Escanero (jescanero@yahoo.es) &
+Eusebio Barriga (fametown@users.sourceforge.net)
     - Spanish
         LanguageResources_es_ES.properties
 Fernando Luiz (responsavel2@hotmail.com)
@@ -671,7 +685,8 @@ Fernando Luiz (responsavel2@hotmail.com)
 Jernej Vicic (jernej@activetools.si)
     - Slovenian
         LanguageResources_sl_SI.properties
-Gerald Estadieu (gerald.estadieu@cem-macau.com)
+Gerald Estadieu (gerald.estadieu@cem-macau.com) &
+Michael (mike@lashampoo.com)
     - French
         LanguageResources_fr_FR.properties
 Anders Bjorvand (anders@kommunion.no)
index c54b6df..ce45209 100644 (file)
@@ -1,2 +1,2 @@
-ValidFileExtensions=.doc:.htm:.pdf:.txt\r
-ValidImageExtensions=.bmp:.emf:.gif:.jpg:.pcx:.psp:.tif:.tiff:.wmf:.wpg\r
+ValidFileExtensions=.doc:.htm:.pdf:.txt
+ValidImageExtensions=.bmp:.emf:.gif:.jpg:.pcx:.psp:.tif:.tiff:.wmf:.wpg
index 0ed45f4..cc3f3f9 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 CustomAction
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 2e679ac..285518d 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 FormatAction
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 5bc4a72..ba437c6 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 ListAutomationAction
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 1f6657b..a35b868 100644 (file)
@@ -1,77 +1,77 @@
-/*\r
-GNU Lesser General Public License\r
-\r
-StylesAction\r
-Copyright (C) 2000-2003 Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.action;\r
-\r
-import java.awt.event.ActionEvent;\r
-import javax.swing.JComboBox;\r
-import javax.swing.JEditorPane;\r
-import javax.swing.text.MutableAttributeSet;\r
-import javax.swing.text.SimpleAttributeSet;\r
-import javax.swing.text.StyledEditorKit;\r
-import javax.swing.text.html.HTML;\r
-import javax.swing.text.html.HTMLEditorKit;\r
-\r
-import com.hexidec.util.Translatrix;\r
-\r
-/** Class for handling CSS style events\r
-  */\r
-public class StylesAction extends StyledEditorKit.StyledTextAction\r
-{\r
-\r
-       JComboBox parent;\r
-\r
-       public StylesAction(JComboBox myParent)\r
-       {\r
-               super("css-style");\r
-               parent = myParent;\r
-       }\r
-\r
-       public void actionPerformed(ActionEvent e)\r
-       {\r
-               if(!(this.isEnabled()))\r
-               {\r
-                       return;\r
-               }\r
-               JEditorPane editor = getEditor(e);\r
-               if(editor != null)\r
-               {\r
-                       String stylename = (String)(parent.getSelectedItem());\r
-                       if(stylename == null)\r
-                       {\r
-                               return;\r
-                       }\r
-                       else if(stylename.equals(Translatrix.getTranslationString("NoCSSStyle")))\r
-                       {\r
-                               return;\r
-                       }\r
-                       boolean replace = false;\r
-                       MutableAttributeSet     attr = null;\r
-                       SimpleAttributeSet cls = new SimpleAttributeSet();\r
-                       cls.addAttribute(HTML.Attribute.CLASS, stylename);\r
-                       attr = new SimpleAttributeSet();\r
-                       attr.addAttribute(HTML.Tag.FONT, cls);\r
-                       MutableAttributeSet inattr = ((HTMLEditorKit)(editor.getEditorKitForContentType("text/html"))).getInputAttributes();\r
-                       inattr.addAttributes(attr);\r
-                       setCharacterAttributes(editor, attr, replace);\r
-               }\r
-       }\r
-}\r
+/*
+GNU Lesser General Public License
+
+StylesAction
+Copyright (C) 2000 Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.action;
+
+import java.awt.event.ActionEvent;
+import javax.swing.JComboBox;
+import javax.swing.JEditorPane;
+import javax.swing.text.MutableAttributeSet;
+import javax.swing.text.SimpleAttributeSet;
+import javax.swing.text.StyledEditorKit;
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.HTMLEditorKit;
+
+import com.hexidec.util.Translatrix;
+
+/** Class for handling CSS style events
+  */
+public class StylesAction extends StyledEditorKit.StyledTextAction
+{
+
+       JComboBox parent;
+
+       public StylesAction(JComboBox myParent)
+       {
+               super("css-style");
+               parent = myParent;
+       }
+
+       public void actionPerformed(ActionEvent e)
+       {
+               if(!(this.isEnabled()))
+               {
+                       return;
+               }
+               JEditorPane editor = getEditor(e);
+               if(editor != null)
+               {
+                       String stylename = (String)(parent.getSelectedItem());
+                       if(stylename == null)
+                       {
+                               return;
+                       }
+                       else if(stylename.equals(Translatrix.getTranslationString("NoCSSStyle")))
+                       {
+                               return;
+                       }
+                       boolean replace = false;
+                       MutableAttributeSet     attr = null;
+                       SimpleAttributeSet cls = new SimpleAttributeSet();
+                       cls.addAttribute(HTML.Attribute.CLASS, stylename);
+                       attr = new SimpleAttributeSet();
+                       attr.addAttribute(HTML.Tag.FONT, cls);
+                       MutableAttributeSet inattr = ((HTMLEditorKit)(editor.getEditorKitForContentType("text/html"))).getInputAttributes();
+                       inattr.addAttributes(attr);
+                       setCharacterAttributes(editor, attr, replace);
+               }
+       }
+}
index 2c016db..71f44f1 100644 (file)
-package com.hexidec.ekit.component;\r
-\r
-import javax.swing.text.html.HTMLDocument;\r
-import javax.swing.text.Element;\r
-import javax.swing.text.AttributeSet;\r
-import javax.swing.text.MutableAttributeSet;\r
-import javax.swing.text.AbstractDocument;\r
-import javax.swing.text.BadLocationException;\r
-import javax.swing.undo.UndoableEdit;\r
-import javax.swing.text.html.StyleSheet;\r
-import javax.swing.text.html.HTML;\r
-import javax.swing.text.AbstractDocument.BranchElement;\r
-import java.util.Enumeration;\r
-import javax.swing.event.DocumentEvent;\r
-import javax.swing.event.UndoableEditEvent;\r
-\r
-public class ExtendedHTMLDocument\r
-    extends HTMLDocument {\r
-\r
-  public ExtendedHTMLDocument() {\r
-\r
-  }\r
-\r
-  public ExtendedHTMLDocument(AbstractDocument.Content c, StyleSheet styles) {\r
-    super(c, styles);\r
-  }\r
-\r
-  public ExtendedHTMLDocument(StyleSheet styles) {\r
-    super(styles);\r
-  }\r
-\r
-//-------------------------------------------------------------------------------------\r
-\r
-\r
-/**\r
- *\r
- * Überschreibt die Attribute des Elements.\r
- *\r
- * @param e Element bei dem die Attribute geändert werden sollen\r
- * @param a AttributeSet mit den neuen Attributen\r
- * @param tag Angabe was für ein Tag das Element ist\r
- */\r
-  public void replaceAttributes(Element e, AttributeSet a, HTML.Tag tag) {\r
-    if( (e != null) && (a != null)) {\r
-      try {\r
-       writeLock();\r
-       int start = e.getStartOffset();\r
-       DefaultDocumentEvent changes = new DefaultDocumentEvent(start,\r
-           e.getEndOffset() - start, DocumentEvent.EventType.CHANGE);\r
-       AttributeSet sCopy = a.copyAttributes();\r
-       changes.addEdit(new AttributeUndoableEdit(e, sCopy, false));\r
-       MutableAttributeSet attr = (MutableAttributeSet) e.getAttributes();\r
-       Enumeration aNames = attr.getAttributeNames();\r
-       Object value;\r
-       Object aName;\r
-       while (aNames.hasMoreElements()) {\r
-         aName = aNames.nextElement();\r
-         value = attr.getAttribute(aName);\r
-         if(value != null && !value.toString().equalsIgnoreCase(tag.toString())) {\r
-           attr.removeAttribute(aName);\r
-         }\r
-       }\r
-       attr.addAttributes(a);\r
-       changes.end();\r
-       fireChangedUpdate(changes);\r
-       fireUndoableEditUpdate(new UndoableEditEvent(this, changes));\r
-      }\r
-      finally {\r
-       writeUnlock();\r
-      }\r
-    }\r
-  }\r
-\r
-\r
-  public void removeElements(Element e, int index, int count) throws\r
-      BadLocationException {\r
-    writeLock();\r
-    int start = e.getElement(index).getStartOffset();\r
-    int end = e.getElement(index + count - 1).getEndOffset();\r
-    try {\r
-      Element[] removed = new Element[count];\r
-      Element[] added = new Element[0];\r
-      for (int counter = 0; counter < count; counter++) {\r
-       removed[counter] = e.getElement(counter + index);\r
-      }\r
-      DefaultDocumentEvent dde = new DefaultDocumentEvent(\r
-         start, end - start, DocumentEvent.EventType.REMOVE);\r
-      ( (AbstractDocument.BranchElement) e).replace(index, removed.length,\r
-         added);\r
-      dde.addEdit(new ElementEdit(e, index, removed, added));\r
-      UndoableEdit u = getContent().remove(start, end - start);\r
-      if(u != null) {\r
-       dde.addEdit(u);\r
-      }\r
-      postRemoveUpdate(dde);\r
-      dde.end();\r
-      fireRemoveUpdate(dde);\r
-      if(u != null) {\r
-       fireUndoableEditUpdate(new UndoableEditEvent(this, dde));\r
-      }\r
-    }\r
-    finally {\r
-      writeUnlock();\r
-    }\r
-  }\r
+/*
+GNU Lesser General Public License
+
+PropertiesDialog
+Copyright (C) 2003 Frits Jalvingh, Jerry Pommer & Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.util.Enumeration;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.UndoableEditEvent;
+import javax.swing.text.AbstractDocument;
+import javax.swing.text.AbstractDocument.BranchElement;
+import javax.swing.text.AttributeSet;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.Element;
+import javax.swing.text.MutableAttributeSet;
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.text.html.StyleSheet;
+import javax.swing.undo.UndoableEdit;
+
+public class ExtendedHTMLDocument extends HTMLDocument
+{
+
+  public ExtendedHTMLDocument(AbstractDocument.Content c, StyleSheet styles)
+  {
+    super(c, styles);
+  }
+
+  public ExtendedHTMLDocument(StyleSheet styles)
+  {
+    super(styles);
+  }
+
+  public ExtendedHTMLDocument() { ; }
+
+/** Überschreibt die Attribute des Elements.
+  *
+  * @param e Element bei dem die Attribute geändert werden sollen
+  * @param a AttributeSet mit den neuen Attributen
+  * @param tag Angabe was für ein Tag das Element ist
+  */
+       public void replaceAttributes(Element e, AttributeSet a, HTML.Tag tag)
+       {
+               if((e != null) && (a != null))
+               {
+                       try
+                       {
+                               writeLock();
+                               int start = e.getStartOffset();
+                               DefaultDocumentEvent changes = new DefaultDocumentEvent(start, e.getEndOffset() - start, DocumentEvent.EventType.CHANGE);
+                               AttributeSet sCopy = a.copyAttributes();
+                               changes.addEdit(new AttributeUndoableEdit(e, sCopy, false));
+                               MutableAttributeSet attr = (MutableAttributeSet) e.getAttributes();
+                               Enumeration aNames = attr.getAttributeNames();
+                               Object value;
+                               Object aName;
+                               while (aNames.hasMoreElements())
+                               {
+                                       aName = aNames.nextElement();
+                                       value = attr.getAttribute(aName);
+                                       if(value != null && !value.toString().equalsIgnoreCase(tag.toString()))
+                                       {
+                                               attr.removeAttribute(aName);
+                                       }
+                               }
+                               attr.addAttributes(a);
+                               changes.end();
+                               fireChangedUpdate(changes);
+                               fireUndoableEditUpdate(new UndoableEditEvent(this, changes));
+                       }
+                       finally
+                       {
+                               writeUnlock();
+                       }
+               }
+       }
+
+       public void removeElements(Element e, int index, int count)
+       throws BadLocationException
+       {
+               writeLock();
+               int start = e.getElement(index).getStartOffset();
+               int end = e.getElement(index + count - 1).getEndOffset();
+               try
+               {
+                       Element[] removed = new Element[count];
+                       Element[] added = new Element[0];
+                       for (int counter = 0; counter < count; counter++)
+                       {
+                               removed[counter] = e.getElement(counter + index);
+                       }
+                       DefaultDocumentEvent dde = new DefaultDocumentEvent(start, end - start, DocumentEvent.EventType.REMOVE);
+                       ((AbstractDocument.BranchElement)e).replace(index, removed.length, added);
+                       dde.addEdit(new ElementEdit(e, index, removed, added));
+                       UndoableEdit u = getContent().remove(start, end - start);
+                       if(u != null)
+                       {
+                               dde.addEdit(u);
+                       }
+                       postRemoveUpdate(dde);
+                       dde.end();
+                       fireRemoveUpdate(dde);
+                       if(u != null)
+                       {
+                               fireUndoableEditUpdate(new UndoableEditEvent(this, dde));
+                       }
+               }
+               finally
+               {
+                       writeUnlock();
+               }
+       }
 }
\ No newline at end of file
index 7dd3b2f..fb12cd8 100644 (file)
-package com.hexidec.ekit.component;\r
-\r
-import com.hexidec.ekit.EkitCore;\r
-import java.awt.event.ActionListener;\r
-import java.awt.Container;\r
-import javax.swing.border.*;\r
-import javax.swing.BorderFactory;\r
-import javax.swing.BoxLayout;\r
-import javax.swing.event.ListSelectionListener;\r
-import javax.swing.event.ListSelectionEvent;\r
-import javax.swing.JButton;\r
-import javax.swing.JDialog;\r
-import javax.swing.JList;\r
-import javax.swing.JPanel;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.ListSelectionModel;\r
-import javax.swing.SwingConstants;\r
-import javax.swing.WindowConstants;\r
-\r
-public class FileDialog extends JDialog implements ActionListener\r
-{\r
-       private EkitCore ParentEkit;\r
-       private JList FileList;\r
-       private String FileDir;\r
-       private String[]Files;\r
-       private String SelectedFile;\r
-\r
-       public FileDialog(EkitCore parentEkit, String fileDir, String[] fileList, String title, boolean modal)\r
-       {\r
-               super(parentEkit.getFrame(), title, modal);\r
-               FileDir = fileDir;\r
-               Files = fileList;\r
-               ParentEkit = parentEkit;\r
-               init();\r
-       }\r
-\r
-       public void actionPerformed(java.awt.event.ActionEvent e)\r
-       {\r
-               if(e.getActionCommand().equals("save"))\r
-               {\r
-                       hide();\r
-               }\r
-               else if(e.getActionCommand().equals("cancel"))\r
-               {\r
-                       SelectedFile = null;\r
-                       hide();\r
-               }\r
-       }\r
-\r
-       public void init()\r
-       {\r
-               SelectedFile="";\r
-               Container contentPane = getContentPane();\r
-               contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));\r
-               setBounds(100,100,300,200);\r
-               setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);\r
-\r
-               FileList = new JList(Files);\r
-               FileList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               FileList.clearSelection();\r
-            ListSelectionModel lsm = FileList.getSelectionModel();\r
-\r
-               lsm.addListSelectionListener(new ListSelectionListener() \r
-               {\r
-                       public void valueChanged(ListSelectionEvent e)\r
-                       {\r
-                               if(!e.getValueIsAdjusting())\r
-                               {\r
-                                       ListSelectionModel sm = FileList.getSelectionModel();\r
-                                       if(!sm.isSelectionEmpty())\r
-                                       {\r
-                                               SelectedFile = Files[sm.getMinSelectionIndex()];\r
-                                       }\r
-                               }\r
-                       }\r
-                               \r
-               });\r
-\r
-               JScrollPane fileScrollPane = new JScrollPane(FileList);\r
-               fileScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               JPanel centerPanel = new JPanel();\r
-               centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.X_AXIS));\r
-               centerPanel.add(fileScrollPane);\r
-               centerPanel.setBorder(BorderFactory.createTitledBorder("Files"));\r
-\r
-               JPanel buttonPanel= new JPanel();               \r
-               buttonPanel.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));\r
-\r
-               JButton saveButton = new JButton("Accept");\r
-               saveButton.setActionCommand("save");\r
-               saveButton.addActionListener(this);\r
-               JButton cancelButton = new JButton("Cancel");\r
-               cancelButton.setActionCommand("cancel");\r
-               cancelButton.addActionListener(this);\r
-\r
-               buttonPanel.add(saveButton);\r
-               buttonPanel.add(cancelButton);\r
-\r
-               contentPane.add(centerPanel);\r
-               contentPane.add(buttonPanel);\r
-               setVisible(true);\r
-    }\r
-\r
-    public String getSelectedFile()\r
-    {\r
-         if(SelectedFile != null)\r
-         {\r
-               SelectedFile = FileDir + "/" + SelectedFile;\r
-         }\r
-         return SelectedFile;\r
-    }\r
-\r
-}\r
+/*
+GNU Lesser General Public License
+
+FileDialog
+Copyright (C) 2000 Howard Kistler & other contributors
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import com.hexidec.ekit.EkitCore;
+import java.awt.event.ActionListener;
+import java.awt.Container;
+import javax.swing.border.*;
+import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
+import javax.swing.WindowConstants;
+
+public class FileDialog extends JDialog implements ActionListener
+{
+       private EkitCore ParentEkit;
+       private JList FileList;
+       private String FileDir;
+       private String[]Files;
+       private String SelectedFile;
+
+       public FileDialog(EkitCore parentEkit, String fileDir, String[] fileList, String title, boolean modal)
+       {
+               super(parentEkit.getFrame(), title, modal);
+               FileDir = fileDir;
+               Files = fileList;
+               ParentEkit = parentEkit;
+               init();
+       }
+
+       public void actionPerformed(java.awt.event.ActionEvent e)
+       {
+               if(e.getActionCommand().equals("save"))
+               {
+                       hide();
+               }
+               else if(e.getActionCommand().equals("cancel"))
+               {
+                       SelectedFile = null;
+                       hide();
+               }
+       }
+
+       public void init()
+       {
+               SelectedFile = "";
+               Container contentPane = getContentPane();
+               contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
+               setBounds(100,100,300,200);
+               setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
+
+               FileList = new JList(Files);
+               FileList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               FileList.clearSelection();
+               ListSelectionModel lsm = FileList.getSelectionModel();
+
+               lsm.addListSelectionListener(new ListSelectionListener() 
+               {
+                       public void valueChanged(ListSelectionEvent e)
+                       {
+                               if(!e.getValueIsAdjusting())
+                               {
+                                       ListSelectionModel sm = FileList.getSelectionModel();
+                                       if(!sm.isSelectionEmpty())
+                                       {
+                                               SelectedFile = Files[sm.getMinSelectionIndex()];
+                                       }
+                               }
+                       }
+               });
+
+               JScrollPane fileScrollPane = new JScrollPane(FileList);
+               fileScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               JPanel centerPanel = new JPanel();
+               centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.X_AXIS));
+               centerPanel.add(fileScrollPane);
+               centerPanel.setBorder(BorderFactory.createTitledBorder("Files"));
+
+               JPanel buttonPanel= new JPanel();               
+               buttonPanel.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
+
+               JButton saveButton = new JButton("Accept");
+               saveButton.setActionCommand("save");
+               saveButton.addActionListener(this);
+               JButton cancelButton = new JButton("Cancel");
+               cancelButton.setActionCommand("cancel");
+               cancelButton.addActionListener(this);
+
+               buttonPanel.add(saveButton);
+               buttonPanel.add(cancelButton);
+
+               contentPane.add(centerPanel);
+               contentPane.add(buttonPanel);
+               setVisible(true);
+    }
+
+       public String getSelectedFile()
+       {
+               if(SelectedFile != null)
+               {
+                       SelectedFile = FileDir + "/" + SelectedFile;
+               }
+               return SelectedFile;
+       }
+
+}
index 6298488..51644d5 100644 (file)
-/*\r
-GNU Lesser General Public License\r
-\r
-HTMLUtilities - Special Utility Functions For Ekit\r
-Copyright (C) 2003 Rafael Cieplinski, modified by Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.io.*;\r
-import java.lang.reflect.*;\r
-import java.util.*;\r
-import javax.swing.*;\r
-import javax.swing.text.*;\r
-import javax.swing.text.html.*;\r
-\r
-import com.hexidec.ekit.EkitCore;\r
-import com.hexidec.ekit.component.*;\r
-\r
-public class HTMLUtilities\r
-{\r
-       EkitCore parent;\r
-       Hashtable tags = new Hashtable();\r
-\r
-       public HTMLUtilities(EkitCore newParent)\r
-       {\r
-               parent = newParent;\r
-               HTML.Tag[] tagList = HTML.getAllTags();\r
-               for(int i = 0; i < tagList.length; i++)\r
-               {\r
-                       tags.put(tagList[i].toString(), tagList[i]);\r
-               }\r
-/*\r
-               HTML.Tag classTag = new HTML.Tag();\r
-               Field[] fields = classTag.getClass().getDeclaredFields();\r
-               for(int i = 0; i < fields.length; i++)\r
-               {\r
-                       try\r
-                       {\r
-                               System.out.println("Adding " + (String)fields[i].get(null).toString() + " => " + (HTML.Tag)fields[i].get(null));\r
-                               tags.put((String)fields[i].get(null).toString(), (HTML.Tag)fields[i].get(null));\r
-                       }\r
-                       catch (IllegalAccessException iae)\r
-                       {\r
-                       }\r
-               }\r
-*/\r
-       }\r
-\r
-       /** Diese Methode fügt durch String-Manipulation in jtpSource\r
-         * ein neues Listenelement hinzu, content ist dabei der Text der in dem neuen\r
-         * Element stehen soll\r
-         */\r
-       public void insertListElement(String content)\r
-       {\r
-               int pos = parent.getCaretPosition();\r
-               String source = parent.getSourcePane().getText();\r
-               boolean hit = false;\r
-               String idString;\r
-               int counter = 0;\r
-               do\r
-               {\r
-                       hit = false;\r
-                       idString = "diesisteineidzumsuchenimsource" + counter;\r
-                       if(source.indexOf(idString) > -1)\r
-                       {\r
-                               counter++;\r
-                               hit = true;\r
-                               if(counter > 10000)\r
-                               {\r
-                                       return;\r
-                               }\r
-                       }\r
-               } while(hit);\r
-               Element element = getListItemParent();\r
-               if(element == null)\r
-               {\r
-                       return;\r
-               }\r
-               SimpleAttributeSet sa = new SimpleAttributeSet(element.getAttributes());\r
-               sa.addAttribute("id", idString);\r
-               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, HTML.Tag.LI);\r
-               parent.refreshOnUpdate();\r
-               source = parent.getSourcePane().getText();\r
-               StringBuffer newHtmlString = new StringBuffer();\r
-               int[] positions = getPositions(element, source, true, idString);\r
-               newHtmlString.append(source.substring(0, positions[3]));\r
-               newHtmlString.append("<li>");\r
-               newHtmlString.append(content);\r
-               newHtmlString.append("</li>");\r
-               newHtmlString.append(source.substring(positions[3] + 1, source.length()));\r
-               parent.getTextPane().setText(newHtmlString.toString());\r
-               parent.refreshOnUpdate();\r
-               parent.setCaretPosition(pos - 1);\r
-               element = getListItemParent();\r
-               sa = new SimpleAttributeSet(element.getAttributes());\r
-               sa = removeAttributeByKey(sa, "id");\r
-               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, HTML.Tag.LI);\r
-       }\r
-\r
-       /** Diese Methode löscht durch Stringmanipulation in jtpSource das übergebene Element,\r
-         * Alternative für removeElement in ExtendedHTMLDocument, mit closingTag wird angegeben\r
-         * ob es ein schließenden Tag gibt\r
-         */\r
-       public void removeTag(Element element, boolean closingTag)\r
-       {\r
-               if(element == null)\r
-               {\r
-                       return;\r
-               }\r
-               int pos = parent.getCaretPosition();\r
-               HTML.Tag tag = getHTMLTag(element);\r
-               // Versieht den Tag mit einer einmaligen ID\r
-               String source = parent.getSourcePane().getText();\r
-               boolean hit = false;\r
-               String idString;\r
-               int counter = 0;\r
-               do\r
-               {\r
-                       hit = false;\r
-                       idString = "diesisteineidzumsuchenimsource" + counter;\r
-                       if(source.indexOf(idString) > -1)\r
-                       {\r
-                               counter++;\r
-                               hit = true;\r
-                               if(counter > 10000)\r
-                               {\r
-                                       return;\r
-                               }\r
-                       }\r
-               } while(hit);\r
-               SimpleAttributeSet sa = new SimpleAttributeSet(element.getAttributes());\r
-               sa.addAttribute("id", idString);\r
-               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, tag);\r
-               parent.refreshOnUpdate();\r
-               source = parent.getSourcePane().getText();\r
-               StringBuffer newHtmlString = new StringBuffer();\r
-               int[] position = getPositions(element, source, closingTag, idString);\r
-               if(position == null)\r
-               {\r
-                       return;\r
-               }\r
-               for(int i = 0; i < position.length; i++)\r
-               {\r
-                       if(position[i] < 0)\r
-                       {\r
-                               return;\r
-                       }\r
-               }\r
-               int beginStartTag = position[0];\r
-               int endStartTag = position[1];\r
-               if(closingTag)\r
-               {\r
-                       int beginEndTag = position[2];\r
-                       int endEndTag = position[3];\r
-                       newHtmlString.append(source.substring(0, beginStartTag));\r
-                       newHtmlString.append(source.substring(endStartTag, beginEndTag));\r
-                       newHtmlString.append(source.substring(endEndTag, source.length()));\r
-               }\r
-               else\r
-               {\r
-                       newHtmlString.append(source.substring(0, beginStartTag));\r
-                       newHtmlString.append(source.substring(endStartTag, source.length()));\r
-               }\r
-               parent.getTextPane().setText(newHtmlString.toString());\r
-               parent.refreshOnUpdate();\r
-       }\r
-\r
-       /** Diese Methode gibt jeweils den Start- und Endoffset des Elements\r
-         * sowie dem entsprechenden schließenden Tag zurück\r
-         */\r
-       private int[] getPositions(Element element, String source, boolean closingTag, String idString)\r
-       {\r
-               HTML.Tag tag = getHTMLTag(element);\r
-               int[] position = new int[4];\r
-               for(int i = 0; i < position.length; i++)\r
-               {\r
-                       position[i] = -1;\r
-               }\r
-               String searchString = "<" + tag.toString();\r
-               int caret = -1; // aktuelle Position im sourceString\r
-               if((caret = source.indexOf(idString)) != -1)\r
-               {\r
-                       position[0] = source.lastIndexOf("<",caret);\r
-                       position[1] = source.indexOf(">",caret)+1;\r
-               }\r
-               if(closingTag)\r
-               {\r
-                       String searchEndTagString = "</" + tag.toString() + ">";\r
-                       int hitUp = 0;\r
-                       int beginEndTag = -1;\r
-                       int endEndTag = -1;\r
-                       caret = position[1];\r
-                       boolean end = false;\r
-                       // Position des 1. Treffer auf den End-Tag wird bestimmt\r
-                       beginEndTag = source.indexOf(searchEndTagString, caret);\r
-                       endEndTag = beginEndTag + searchEndTagString.length();\r
-                       // Schleife läuft solange, bis keine neuen StartTags mehr gefunden werden\r
-                       int interncaret = position[1];\r
-                       do\r
-                       {\r
-                               int temphitpoint = -1;\r
-                               boolean flaghitup = false;\r
-                               // Schleife sucht zwischen dem Start- und End-Tag nach neuen Start-Tags\r
-                               hitUp = 0;\r
-                               do\r
-                               {\r
-                                       flaghitup = false;\r
-                                       temphitpoint = source.indexOf(searchString, interncaret);\r
-                                       if(temphitpoint > 0 && temphitpoint < beginEndTag)\r
-                                       {\r
-                                               hitUp++;\r
-                                               flaghitup = true;\r
-                                               interncaret = temphitpoint + searchString.length();\r
-                                       }\r
-                               } while(flaghitup);\r
-                               // hitUp enthält die Anzahl der neuen Start-Tags\r
-                               if(hitUp == 0)\r
-                               {\r
-                                       end = true;\r
-                               }\r
-                               else\r
-                               {\r
-                                       for(int i = 1; i <= hitUp; i++)\r
-                                       {\r
-                                               caret = endEndTag;\r
-                                               beginEndTag = source.indexOf(searchEndTagString, caret);\r
-                                               endEndTag = beginEndTag + searchEndTagString.length();\r
-                                       }\r
-                                       end = false;\r
-                               }\r
-                       } while(!end);\r
-                       if(beginEndTag < 0 | endEndTag < 0)\r
-                       {\r
-                               return null;\r
-                       }\r
-                       position[2] = beginEndTag;\r
-                       position[3] = endEndTag;\r
-               }\r
-               return position;\r
-       }\r
-\r
-       /* Diese Methode prüft ob der übergebene Tag sich in der Hierachie nach oben befindet */\r
-       public boolean checkParentsTag(HTML.Tag tag)\r
-       {\r
-               Element e = parent.getExtendedHtmlDoc().getParagraphElement(parent.getCaretPosition());\r
-               String tagString = tag.toString();\r
-               if(e.getName().equalsIgnoreCase(tag.toString()))\r
-               {\r
-                       return true;\r
-               }\r
-               do\r
-               {\r
-                       if((e = e.getParentElement()).getName().equalsIgnoreCase(tagString))\r
-                       {\r
-                               return true;\r
-                       }\r
-               } while(!(e.getName().equalsIgnoreCase("html")));\r
-               return false;\r
-       }\r
-\r
-       /* Diese Methoden geben das erste gefundende dem übergebenen tags entsprechende Element zurück */\r
-       public Element getListItemParent()\r
-       {\r
-               String listItemTag = HTML.Tag.LI.toString();\r
-               Element eleSearch = parent.getExtendedHtmlDoc().getCharacterElement(parent.getCaretPosition());\r
-               do\r
-               {\r
-                       if(listItemTag.equals(eleSearch.getName()))\r
-                       {\r
-                               return eleSearch;\r
-                       }\r
-                       eleSearch = eleSearch.getParentElement();\r
-               } while(eleSearch.getName() != HTML.Tag.HTML.toString());\r
-               return null;\r
-       }\r
-\r
-       /* Diese Methoden entfernen Attribute aus dem SimpleAttributeSet, gemäß den übergebenen Werten, und\r
-               geben das Ergebnis als SimpleAttributeSet zurück*/\r
-       public SimpleAttributeSet removeAttributeByKey(SimpleAttributeSet sourceAS, String removeKey)\r
-       {\r
-               SimpleAttributeSet temp = new SimpleAttributeSet();\r
-               temp.addAttribute(removeKey, "NULL");\r
-               return removeAttribute(sourceAS, temp);\r
-       }\r
-\r
-       public SimpleAttributeSet removeAttribute(SimpleAttributeSet sourceAS, SimpleAttributeSet removeAS)\r
-       {\r
-               try\r
-               {\r
-                       String[] sourceKeys = new String[sourceAS.getAttributeCount()];\r
-                       String[] sourceValues = new String[sourceAS.getAttributeCount()];\r
-                       Enumeration sourceEn = sourceAS.getAttributeNames();\r
-                       int i = 0;\r
-                       while(sourceEn.hasMoreElements())\r
-                       {\r
-                               Object temp = new Object();\r
-                               temp = sourceEn.nextElement();\r
-                               sourceKeys[i] = (String) temp.toString();\r
-                               sourceValues[i] = new String();\r
-                               sourceValues[i] = (String) sourceAS.getAttribute(temp).toString();\r
-                               i++;\r
-                       }\r
-                       String[] removeKeys = new String[removeAS.getAttributeCount()];\r
-                       String[] removeValues = new String[removeAS.getAttributeCount()];\r
-                       Enumeration removeEn = removeAS.getAttributeNames();\r
-                       int j = 0;\r
-                       while(removeEn.hasMoreElements())\r
-                       {\r
-                               removeKeys[j] = (String) removeEn.nextElement().toString();\r
-                               removeValues[j] = (String) removeAS.getAttribute(removeKeys[j]).toString();\r
-                               j++;\r
-                       }\r
-                       SimpleAttributeSet result = new SimpleAttributeSet();\r
-                       boolean hit = false;\r
-                       for(int countSource = 0; countSource < sourceKeys.length; countSource++)\r
-                       {\r
-                               hit = false;\r
-                               if(sourceKeys[countSource] == "name" | sourceKeys[countSource] == "resolver")\r
-                               {\r
-                                       hit = true;\r
-                               }\r
-                               else\r
-                               {\r
-                                       for(int countRemove = 0; countRemove < removeKeys.length; countRemove++)\r
-                                       {\r
-                                               if(removeKeys[countRemove] != "NULL")\r
-                                               {\r
-                                                       if(sourceKeys[countSource].toString() == removeKeys[countRemove].toString())\r
-                                                       {\r
-                                                               if(removeValues[countRemove] != "NULL")\r
-                                                               {\r
-                                                                       if(sourceValues[countSource].toString() == removeValues[countRemove].toString())\r
-                                                                       {\r
-                                                                               hit = true;\r
-                                                                       }\r
-                                                               }\r
-                                                               else if(removeValues[countRemove] == "NULL")\r
-                                                               {\r
-                                                                       hit = true;\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                               else if(removeKeys[countRemove] == "NULL")\r
-                                               {\r
-                                                       if(sourceValues[countSource].toString() == removeValues[countRemove].toString())\r
-                                                       {\r
-                                                               hit = true;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               if(!hit)\r
-                               {\r
-                                       result.addAttribute(sourceKeys[countSource].toString(), sourceValues[countSource].toString());\r
-                               }\r
-                       }\r
-                       return result;\r
-               }\r
-               catch (ClassCastException cce)\r
-               {\r
-                       return null;\r
-               }\r
-       }\r
-\r
-       /* liefert den entsprechenden HTML.Tag zum Element zurück */\r
-       public HTML.Tag getHTMLTag(Element e)\r
-       {\r
-               if(tags.containsKey(e.getName()))\r
-               {\r
-                       return (HTML.Tag)tags.get(e.getName());\r
-               }\r
-               else\r
-               {\r
-                       return null;\r
-               }\r
-       }\r
-\r
-       public String[] getUniString(int strings)\r
-       {\r
-               parent.refreshOnUpdate();\r
-               String[] result = new String[strings];\r
-               String source = parent.getSourcePane().getText();\r
-               for(int i=0; i<strings; i++)\r
-               {\r
-                       int start = -1, end = -1;\r
-                       boolean hit = false;\r
-                       String idString;\r
-                       int counter = 0;\r
-                       do\r
-                       {\r
-                               hit = false;\r
-                               idString = "diesisteineidzumsuchen" + counter + "#" + i;\r
-                               if(source.indexOf(idString) > -1)\r
-                               {\r
-                                       counter++;\r
-                                       hit = true;\r
-                                       if(counter > 10000)\r
-                                       {\r
-                                               return null;\r
-                                       }\r
-                               }\r
-                       } while(hit);\r
-                       result[i] = idString;\r
-               }\r
-               return result;\r
-       }\r
-\r
-       public void delete()\r
-       throws BadLocationException,IOException\r
-       {\r
-               JTextPane jtpMain = parent.getTextPane();\r
-               JTextPane jtpSource = parent.getSourcePane();\r
-               ExtendedHTMLDocument htmlDoc = parent.getExtendedHtmlDoc();\r
-               int selStart = jtpMain.getSelectionStart();\r
-               int selEnd = jtpMain.getSelectionEnd();\r
-               String[] posStrings = getUniString(2);\r
-               if(posStrings == null)\r
-               {\r
-                       return;\r
-               }\r
-               htmlDoc.insertString(selStart,posStrings[0],null);\r
-               htmlDoc.insertString(selEnd+posStrings[0].length(),posStrings[1],null);\r
-               parent.refreshOnUpdate();\r
-               int start = jtpSource.getText().indexOf(posStrings[0]);\r
-               int end = jtpSource.getText().indexOf(posStrings[1]);\r
-               if(start == -1 || end == -1)\r
-               {\r
-                       return;\r
-               }\r
-               String htmlString = new String();\r
-               htmlString += jtpSource.getText().substring(0,start);\r
-               htmlString += jtpSource.getText().substring(start + posStrings[0].length(), end);\r
-               htmlString += jtpSource.getText().substring(end + posStrings[1].length(), jtpSource.getText().length());\r
-               String source = htmlString;\r
-               end = end - posStrings[0].length();\r
-               htmlString = new String();\r
-               htmlString += source.substring(0,start);\r
-               htmlString += getAllTableTags(source.substring(start, end));\r
-               htmlString += source.substring(end, source.length());\r
-               parent.getTextPane().setText(htmlString);\r
-               parent.refreshOnUpdate();\r
-       }\r
-\r
-       private String getAllTableTags(String source)\r
-       throws BadLocationException,IOException\r
-       {\r
-               StringBuffer result = new StringBuffer();\r
-               int caret = -1;\r
-               do\r
-               {\r
-                       caret++;\r
-                       int[] tableCarets = new int[6];\r
-                       tableCarets[0] = source.indexOf("<table",caret);\r
-                       tableCarets[1] = source.indexOf("<tr",caret);\r
-                       tableCarets[2] = source.indexOf("<td",caret);\r
-                       tableCarets[3] = source.indexOf("</table",caret);\r
-                       tableCarets[4] = source.indexOf("</tr",caret);\r
-                       tableCarets[5] = source.indexOf("</td",caret);\r
-                       java.util.Arrays.sort(tableCarets);\r
-                       caret = -1;\r
-                       for(int i=0; i<tableCarets.length; i++)\r
-                       {\r
-                               if(tableCarets[i] >= 0)\r
-                               {\r
-                                       caret = tableCarets[i];\r
-                                       break;\r
-                               }\r
-                       }\r
-                       if(caret != -1)\r
-                       {\r
-                               result.append(source.substring(caret,source.indexOf(">",caret)+1));\r
-                       }\r
-               } while(caret != -1);\r
-               return result.toString();\r
-       }\r
-\r
+/*
+GNU Lesser General Public License
+
+HTMLUtilities - Special Utility Functions For Ekit
+Copyright (C) 2003 Rafael Cieplinski & Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+import javax.swing.*;
+import javax.swing.text.*;
+import javax.swing.text.html.*;
+
+import com.hexidec.ekit.EkitCore;
+import com.hexidec.ekit.component.*;
+
+public class HTMLUtilities
+{
+       EkitCore parent;
+       Hashtable tags = new Hashtable();
+
+       public HTMLUtilities(EkitCore newParent)
+       {
+               parent = newParent;
+               HTML.Tag[] tagList = HTML.getAllTags();
+               for(int i = 0; i < tagList.length; i++)
+               {
+                       tags.put(tagList[i].toString(), tagList[i]);
+               }
+/*
+               HTML.Tag classTag = new HTML.Tag();
+               Field[] fields = classTag.getClass().getDeclaredFields();
+               for(int i = 0; i < fields.length; i++)
+               {
+                       try
+                       {
+                               System.out.println("Adding " + (String)fields[i].get(null).toString() + " => " + (HTML.Tag)fields[i].get(null));
+                               tags.put((String)fields[i].get(null).toString(), (HTML.Tag)fields[i].get(null));
+                       }
+                       catch (IllegalAccessException iae)
+                       {
+                       }
+               }
+*/
+       }
+
+       /** Diese Methode fügt durch String-Manipulation in jtpSource
+         * ein neues Listenelement hinzu, content ist dabei der Text der in dem neuen
+         * Element stehen soll
+         */
+       public void insertListElement(String content)
+       {
+               int pos = parent.getCaretPosition();
+               String source = parent.getSourcePane().getText();
+               boolean hit = false;
+               String idString;
+               int counter = 0;
+               do
+               {
+                       hit = false;
+                       idString = "diesisteineidzumsuchenimsource" + counter;
+                       if(source.indexOf(idString) > -1)
+                       {
+                               counter++;
+                               hit = true;
+                               if(counter > 10000)
+                               {
+                                       return;
+                               }
+                       }
+               } while(hit);
+               Element element = getListItemParent();
+               if(element == null)
+               {
+                       return;
+               }
+               SimpleAttributeSet sa = new SimpleAttributeSet(element.getAttributes());
+               sa.addAttribute("id", idString);
+               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, HTML.Tag.LI);
+               parent.refreshOnUpdate();
+               source = parent.getSourcePane().getText();
+               StringBuffer newHtmlString = new StringBuffer();
+               int[] positions = getPositions(element, source, true, idString);
+               newHtmlString.append(source.substring(0, positions[3]));
+               newHtmlString.append("<li>");
+               newHtmlString.append(content);
+               newHtmlString.append("</li>");
+               newHtmlString.append(source.substring(positions[3] + 1, source.length()));
+               parent.getTextPane().setText(newHtmlString.toString());
+               parent.refreshOnUpdate();
+               parent.setCaretPosition(pos - 1);
+               element = getListItemParent();
+               sa = new SimpleAttributeSet(element.getAttributes());
+               sa = removeAttributeByKey(sa, "id");
+               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, HTML.Tag.LI);
+       }
+
+       /** Diese Methode löscht durch Stringmanipulation in jtpSource das übergebene Element,
+         * Alternative für removeElement in ExtendedHTMLDocument, mit closingTag wird angegeben
+         * ob es ein schließenden Tag gibt
+         */
+       public void removeTag(Element element, boolean closingTag)
+       {
+               if(element == null)
+               {
+                       return;
+               }
+               int pos = parent.getCaretPosition();
+               HTML.Tag tag = getHTMLTag(element);
+               // Versieht den Tag mit einer einmaligen ID
+               String source = parent.getSourcePane().getText();
+               boolean hit = false;
+               String idString;
+               int counter = 0;
+               do
+               {
+                       hit = false;
+                       idString = "diesisteineidzumsuchenimsource" + counter;
+                       if(source.indexOf(idString) > -1)
+                       {
+                               counter++;
+                               hit = true;
+                               if(counter > 10000)
+                               {
+                                       return;
+                               }
+                       }
+               } while(hit);
+               SimpleAttributeSet sa = new SimpleAttributeSet(element.getAttributes());
+               sa.addAttribute("id", idString);
+               parent.getExtendedHtmlDoc().replaceAttributes(element, sa, tag);
+               parent.refreshOnUpdate();
+               source = parent.getSourcePane().getText();
+               StringBuffer newHtmlString = new StringBuffer();
+               int[] position = getPositions(element, source, closingTag, idString);
+               if(position == null)
+               {
+                       return;
+               }
+               for(int i = 0; i < position.length; i++)
+               {
+                       if(position[i] < 0)
+                       {
+                               return;
+                       }
+               }
+               int beginStartTag = position[0];
+               int endStartTag = position[1];
+               if(closingTag)
+               {
+                       int beginEndTag = position[2];
+                       int endEndTag = position[3];
+                       newHtmlString.append(source.substring(0, beginStartTag));
+                       newHtmlString.append(source.substring(endStartTag, beginEndTag));
+                       newHtmlString.append(source.substring(endEndTag, source.length()));
+               }
+               else
+               {
+                       newHtmlString.append(source.substring(0, beginStartTag));
+                       newHtmlString.append(source.substring(endStartTag, source.length()));
+               }
+               parent.getTextPane().setText(newHtmlString.toString());
+               parent.refreshOnUpdate();
+       }
+
+       /** Diese Methode gibt jeweils den Start- und Endoffset des Elements
+         * sowie dem entsprechenden schließenden Tag zurück
+         */
+       private int[] getPositions(Element element, String source, boolean closingTag, String idString)
+       {
+               HTML.Tag tag = getHTMLTag(element);
+               int[] position = new int[4];
+               for(int i = 0; i < position.length; i++)
+               {
+                       position[i] = -1;
+               }
+               String searchString = "<" + tag.toString();
+               int caret = -1; // aktuelle Position im sourceString
+               if((caret = source.indexOf(idString)) != -1)
+               {
+                       position[0] = source.lastIndexOf("<",caret);
+                       position[1] = source.indexOf(">",caret)+1;
+               }
+               if(closingTag)
+               {
+                       String searchEndTagString = "</" + tag.toString() + ">";
+                       int hitUp = 0;
+                       int beginEndTag = -1;
+                       int endEndTag = -1;
+                       caret = position[1];
+                       boolean end = false;
+                       // Position des 1. Treffer auf den End-Tag wird bestimmt
+                       beginEndTag = source.indexOf(searchEndTagString, caret);
+                       endEndTag = beginEndTag + searchEndTagString.length();
+                       // Schleife läuft solange, bis keine neuen StartTags mehr gefunden werden
+                       int interncaret = position[1];
+                       do
+                       {
+                               int temphitpoint = -1;
+                               boolean flaghitup = false;
+                               // Schleife sucht zwischen dem Start- und End-Tag nach neuen Start-Tags
+                               hitUp = 0;
+                               do
+                               {
+                                       flaghitup = false;
+                                       temphitpoint = source.indexOf(searchString, interncaret);
+                                       if(temphitpoint > 0 && temphitpoint < beginEndTag)
+                                       {
+                                               hitUp++;
+                                               flaghitup = true;
+                                               interncaret = temphitpoint + searchString.length();
+                                       }
+                               } while(flaghitup);
+                               // hitUp enthält die Anzahl der neuen Start-Tags
+                               if(hitUp == 0)
+                               {
+                                       end = true;
+                               }
+                               else
+                               {
+                                       for(int i = 1; i <= hitUp; i++)
+                                       {
+                                               caret = endEndTag;
+                                               beginEndTag = source.indexOf(searchEndTagString, caret);
+                                               endEndTag = beginEndTag + searchEndTagString.length();
+                                       }
+                                       end = false;
+                               }
+                       } while(!end);
+                       if(beginEndTag < 0 | endEndTag < 0)
+                       {
+                               return null;
+                       }
+                       position[2] = beginEndTag;
+                       position[3] = endEndTag;
+               }
+               return position;
+       }
+
+       /* Diese Methode prüft ob der übergebene Tag sich in der Hierachie nach oben befindet */
+       public boolean checkParentsTag(HTML.Tag tag)
+       {
+               Element e = parent.getExtendedHtmlDoc().getParagraphElement(parent.getCaretPosition());
+               String tagString = tag.toString();
+               if(e.getName().equalsIgnoreCase(tag.toString()))
+               {
+                       return true;
+               }
+               do
+               {
+                       if((e = e.getParentElement()).getName().equalsIgnoreCase(tagString))
+                       {
+                               return true;
+                       }
+               } while(!(e.getName().equalsIgnoreCase("html")));
+               return false;
+       }
+
+       /* Diese Methoden geben das erste gefundende dem übergebenen tags entsprechende Element zurück */
+       public Element getListItemParent()
+       {
+               String listItemTag = HTML.Tag.LI.toString();
+               Element eleSearch = parent.getExtendedHtmlDoc().getCharacterElement(parent.getCaretPosition());
+               do
+               {
+                       if(listItemTag.equals(eleSearch.getName()))
+                       {
+                               return eleSearch;
+                       }
+                       eleSearch = eleSearch.getParentElement();
+               } while(eleSearch.getName() != HTML.Tag.HTML.toString());
+               return null;
+       }
+
+       /* Diese Methoden entfernen Attribute aus dem SimpleAttributeSet, gemäß den übergebenen Werten, und
+               geben das Ergebnis als SimpleAttributeSet zurück*/
+       public SimpleAttributeSet removeAttributeByKey(SimpleAttributeSet sourceAS, String removeKey)
+       {
+               SimpleAttributeSet temp = new SimpleAttributeSet();
+               temp.addAttribute(removeKey, "NULL");
+               return removeAttribute(sourceAS, temp);
+       }
+
+       public SimpleAttributeSet removeAttribute(SimpleAttributeSet sourceAS, SimpleAttributeSet removeAS)
+       {
+               try
+               {
+                       String[] sourceKeys = new String[sourceAS.getAttributeCount()];
+                       String[] sourceValues = new String[sourceAS.getAttributeCount()];
+                       Enumeration sourceEn = sourceAS.getAttributeNames();
+                       int i = 0;
+                       while(sourceEn.hasMoreElements())
+                       {
+                               Object temp = new Object();
+                               temp = sourceEn.nextElement();
+                               sourceKeys[i] = (String) temp.toString();
+                               sourceValues[i] = new String();
+                               sourceValues[i] = (String) sourceAS.getAttribute(temp).toString();
+                               i++;
+                       }
+                       String[] removeKeys = new String[removeAS.getAttributeCount()];
+                       String[] removeValues = new String[removeAS.getAttributeCount()];
+                       Enumeration removeEn = removeAS.getAttributeNames();
+                       int j = 0;
+                       while(removeEn.hasMoreElements())
+                       {
+                               removeKeys[j] = (String) removeEn.nextElement().toString();
+                               removeValues[j] = (String) removeAS.getAttribute(removeKeys[j]).toString();
+                               j++;
+                       }
+                       SimpleAttributeSet result = new SimpleAttributeSet();
+                       boolean hit = false;
+                       for(int countSource = 0; countSource < sourceKeys.length; countSource++)
+                       {
+                               hit = false;
+                               if(sourceKeys[countSource] == "name" | sourceKeys[countSource] == "resolver")
+                               {
+                                       hit = true;
+                               }
+                               else
+                               {
+                                       for(int countRemove = 0; countRemove < removeKeys.length; countRemove++)
+                                       {
+                                               if(removeKeys[countRemove] != "NULL")
+                                               {
+                                                       if(sourceKeys[countSource].toString() == removeKeys[countRemove].toString())
+                                                       {
+                                                               if(removeValues[countRemove] != "NULL")
+                                                               {
+                                                                       if(sourceValues[countSource].toString() == removeValues[countRemove].toString())
+                                                                       {
+                                                                               hit = true;
+                                                                       }
+                                                               }
+                                                               else if(removeValues[countRemove] == "NULL")
+                                                               {
+                                                                       hit = true;
+                                                               }
+                                                       }
+                                               }
+                                               else if(removeKeys[countRemove] == "NULL")
+                                               {
+                                                       if(sourceValues[countSource].toString() == removeValues[countRemove].toString())
+                                                       {
+                                                               hit = true;
+                                                       }
+                                               }
+                                       }
+                               }
+                               if(!hit)
+                               {
+                                       result.addAttribute(sourceKeys[countSource].toString(), sourceValues[countSource].toString());
+                               }
+                       }
+                       return result;
+               }
+               catch (ClassCastException cce)
+               {
+                       return null;
+               }
+       }
+
+       /* liefert den entsprechenden HTML.Tag zum Element zurück */
+       public HTML.Tag getHTMLTag(Element e)
+       {
+               if(tags.containsKey(e.getName()))
+               {
+                       return (HTML.Tag)tags.get(e.getName());
+               }
+               else
+               {
+                       return null;
+               }
+       }
+
+       public String[] getUniString(int strings)
+       {
+               parent.refreshOnUpdate();
+               String[] result = new String[strings];
+               String source = parent.getSourcePane().getText();
+               for(int i=0; i<strings; i++)
+               {
+                       int start = -1, end = -1;
+                       boolean hit = false;
+                       String idString;
+                       int counter = 0;
+                       do
+                       {
+                               hit = false;
+                               idString = "diesisteineidzumsuchen" + counter + "#" + i;
+                               if(source.indexOf(idString) > -1)
+                               {
+                                       counter++;
+                                       hit = true;
+                                       if(counter > 10000)
+                                       {
+                                               return null;
+                                       }
+                               }
+                       } while(hit);
+                       result[i] = idString;
+               }
+               return result;
+       }
+
+       public void delete()
+       throws BadLocationException,IOException
+       {
+               JTextPane jtpMain = parent.getTextPane();
+               JTextArea jtpSource = parent.getSourcePane();
+               ExtendedHTMLDocument htmlDoc = parent.getExtendedHtmlDoc();
+               int selStart = jtpMain.getSelectionStart();
+               int selEnd = jtpMain.getSelectionEnd();
+               String[] posStrings = getUniString(2);
+               if(posStrings == null)
+               {
+                       return;
+               }
+               htmlDoc.insertString(selStart,posStrings[0],null);
+               htmlDoc.insertString(selEnd+posStrings[0].length(),posStrings[1],null);
+               parent.refreshOnUpdate();
+               int start = jtpSource.getText().indexOf(posStrings[0]);
+               int end = jtpSource.getText().indexOf(posStrings[1]);
+               if(start == -1 || end == -1)
+               {
+                       return;
+               }
+               String htmlString = new String();
+               htmlString += jtpSource.getText().substring(0,start);
+               htmlString += jtpSource.getText().substring(start + posStrings[0].length(), end);
+               htmlString += jtpSource.getText().substring(end + posStrings[1].length(), jtpSource.getText().length());
+               String source = htmlString;
+               end = end - posStrings[0].length();
+               htmlString = new String();
+               htmlString += source.substring(0,start);
+               htmlString += getAllTableTags(source.substring(start, end));
+               htmlString += source.substring(end, source.length());
+               parent.getTextPane().setText(htmlString);
+               parent.refreshOnUpdate();
+       }
+
+       private String getAllTableTags(String source)
+       throws BadLocationException,IOException
+       {
+               StringBuffer result = new StringBuffer();
+               int caret = -1;
+               do
+               {
+                       caret++;
+                       int[] tableCarets = new int[6];
+                       tableCarets[0] = source.indexOf("<table",caret);
+                       tableCarets[1] = source.indexOf("<tr",caret);
+                       tableCarets[2] = source.indexOf("<td",caret);
+                       tableCarets[3] = source.indexOf("</table",caret);
+                       tableCarets[4] = source.indexOf("</tr",caret);
+                       tableCarets[5] = source.indexOf("</td",caret);
+                       java.util.Arrays.sort(tableCarets);
+                       caret = -1;
+                       for(int i=0; i<tableCarets.length; i++)
+                       {
+                               if(tableCarets[i] >= 0)
+                               {
+                                       caret = tableCarets[i];
+                                       break;
+                               }
+                       }
+                       if(caret != -1)
+                       {
+                               result.append(source.substring(caret,source.indexOf(">",caret)+1));
+                       }
+               } while(caret != -1);
+               return result.toString();
+       }
+
 }
\ No newline at end of file
index 7744bf7..b6ed5ba 100644 (file)
-package com.hexidec.ekit.component;\r
-\r
-import com.hexidec.ekit.EkitCore;\r
-import java.awt.Insets;\r
-import java.awt.Container;\r
-import java.awt.Cursor;\r
-import java.awt.Dimension;\r
-import java.awt.event.ActionListener;\r
-import java.awt.FlowLayout;\r
-import javax.swing.border.*;\r
-import javax.swing.BorderFactory;\r
-import javax.swing.Box;\r
-import javax.swing.BoxLayout;\r
-import javax.swing.event.ListSelectionListener;\r
-import javax.swing.event.ListSelectionEvent;\r
-import javax.swing.JButton;\r
-import javax.swing.JDialog;\r
-import javax.swing.JEditorPane;\r
-import javax.swing.JLabel;\r
-import javax.swing.JList;\r
-import javax.swing.JPanel;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JTextField;\r
-import javax.swing.JTextPane;\r
-import javax.swing.ListSelectionModel;\r
-import javax.swing.SwingConstants;\r
-import javax.swing.text.html.HTML;\r
-import javax.swing.text.html.HTMLDocument;\r
-import javax.swing.text.html.HTMLEditorKit;\r
-import javax.swing.WindowConstants;\r
-\r
-public class ImageDialog extends JDialog implements ActionListener\r
-{\r
-       private final String[]Borders = new String[] { "none", "solid", "dotted", "dashed", "double", "groove",\r
-                                                                    "ridge", "inset", "outset" };\r
-       private String[]BorderColors = new String[]  { "aqua", "black", "blue", "fuschia", "gray",\r
-                                                                    "green", "lime", "maroon", "navy", "olive",\r
-                                                                    "purple", "red", "silver", "teal", "white", "yellow" };\r
-       private String[]BorderSizes = new String[]   { "none", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };\r
-       private final String[]Wraps = new String[]   { "none", "left", "right", "top", "middle", "bottom" };\r
-       private EkitCore ParentEkit;\r
-       private ExtendedHTMLEditorKit ImageHtmlKit;\r
-       private HTMLDocument ImageHtmlDoc;\r
-       private JList WrapList;\r
-       private JList BorderList;\r
-       private JList BorderSizeList;\r
-       private JList BorderColorList;\r
-       private JList ImageList;\r
-       private JTextField ImageAltText;\r
-       private JTextField ImageWidth;\r
-       private JTextField ImageHeight;\r
-       private JEditorPane PreviewPane;\r
-       private String ImageDir;\r
-       private String[]Images;\r
-       private String PreviewImage;\r
-       private String SelectedImage;\r
-\r
-       public ImageDialog(EkitCore parentEkit, String imageDir, String[] imageList, String title, boolean modal)\r
-       {\r
-               super(parentEkit.getFrame(), title, modal);\r
-               ImageDir = imageDir;\r
-               Images = imageList;\r
-               ParentEkit = parentEkit;\r
-               SelectedImage = null;\r
-               init();\r
-       }\r
-\r
-       public void actionPerformed(java.awt.event.ActionEvent e)\r
-       {\r
-               if(e.getActionCommand().equals("apply"))\r
-               {\r
-                       ListSelectionModel sm = ImageList.getSelectionModel();\r
-                       if(sm.isSelectionEmpty())\r
-                       {\r
-                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "No image selected", SimpleInfoDialog.ERROR);\r
-                               ImageList.requestFocus();\r
-                       }\r
-                       else\r
-                       {\r
-                               if(validateControls())\r
+/*
+GNU Lesser General Public License
+
+ImageDialog
+Copyright (C) 2003 Howard Kistler & other contributors
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import com.hexidec.ekit.EkitCore;
+import java.awt.Insets;
+import java.awt.Container;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.event.ActionListener;
+import java.awt.FlowLayout;
+import javax.swing.border.*;
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JEditorPane;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.JTextPane;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.WindowConstants;
+
+public class ImageDialog extends JDialog implements ActionListener
+{
+       private final String[] Borders = new String[]
+       {
+               "none",
+               "solid",
+               "dotted",
+               "dashed",
+               "double",
+               "groove",
+               "ridge",
+               "inset",
+               "outset"
+       };
+       private String[] BorderColors = new String[]
+       {
+               "none",
+               "aqua",
+               "black",
+               "blue",
+               "fuschia",
+               "gray",
+               "green",
+               "lime",
+               "maroon",
+               "navy",
+               "olive",
+               "purple",
+               "red",
+               "silver",
+               "teal",
+               "white",
+               "yellow"
+       };
+       private String[]BorderSizes = new String[]
+       {
+               "none",
+               "1",
+               "2",
+               "3",
+               "4",
+               "5",
+               "6",
+               "7",
+               "8",
+               "9",
+               "10"
+       };
+       private final String[]Wraps = new String[]
+       {
+               "none",
+               "left",
+               "right",
+               "top",
+               "middle",
+               "bottom"
+       };
+
+       private EkitCore ParentEkit;
+       private ExtendedHTMLEditorKit ImageHtmlKit;
+       private HTMLDocument ImageHtmlDoc;
+       private JList WrapList;
+       private JList BorderList;
+       private JList BorderSizeList;
+       private JList BorderColorList;
+       private JList ImageList;
+       private JTextField ImageAltText;
+       private JTextField ImageWidth;
+       private JTextField ImageHeight;
+       private JEditorPane PreviewPane;
+
+       private String   ImageDir;
+       private String[] Images;
+       private String   PreviewImage;
+       private String   SelectedImage;
+
+       public ImageDialog(EkitCore parentEkit, String imageDir, String[] imageList, String title, boolean modal)
+       {
+               super(parentEkit.getFrame(), title, modal);
+               ImageDir = imageDir;
+               Images = imageList;
+               ParentEkit = parentEkit;
+               SelectedImage = null;
+               init();
+       }
+
+       public void actionPerformed(java.awt.event.ActionEvent e)
+       {
+               if(e.getActionCommand().equals("apply"))
+               {
+                       ListSelectionModel sm = ImageList.getSelectionModel();
+                       if(sm.isSelectionEmpty())
+                       {
+                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "No image selected", SimpleInfoDialog.ERROR);
+                               ImageList.requestFocus();
+                       }
+                       else
+                       {
+                               if(validateControls())
+                               {
+                                       previewSelectedImage();
+                               }
+                       }
+               }       
+               if(e.getActionCommand().equals("save"))
+               {
+                       ListSelectionModel sm = ImageList.getSelectionModel();
+                       if(sm.isSelectionEmpty())
+                       {
+                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "No image selected", SimpleInfoDialog.ERROR);
+                               ImageList.requestFocus();
+                       }
+                       else
+                       {
+                               if(validateControls())
+                               {
+                                       previewSelectedImage();
+                                       SelectedImage = PreviewImage;
+                                       hide();
+                               }
+                       }
+               }
+               else if(e.getActionCommand().equals("cancel"))
+               {
+                       hide();
+               }
+       }
+
+       public void init()
+       {
+               SelectedImage="";
+               Container contentPane = getContentPane();
+               contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
+               //setBounds(100,100,500,300);
+               setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
+
+               ImageList = new JList(Images);
+               ImageList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               ImageList.clearSelection();
+               ListSelectionModel lsm = ImageList.getSelectionModel();
+
+               /* Create the editor kit, document, and stylesheet */
+               PreviewPane = new JEditorPane();
+               PreviewPane.setEditable(false);
+               ImageHtmlKit = new ExtendedHTMLEditorKit();
+               ImageHtmlDoc = (HTMLDocument)(ImageHtmlKit.createDefaultDocument());
+               ImageHtmlKit.setDefaultCursor(new Cursor(Cursor.TEXT_CURSOR));
+               PreviewPane.setCaretPosition(0);
+               //PreviewPane.getDocument().addDocumentListener(this);
+               //StyleSheet styleSheet = ImageHtmlDoc.getStyleSheet();
+               //ImageStyleSheet = styleSheet;
+               lsm.addListSelectionListener(new ListSelectionListener() 
+               {
+                       public void valueChanged(ListSelectionEvent e)
+                       {
+                               if(!e.getValueIsAdjusting() && validateControls())
+                               {
+                                       previewSelectedImage();
+                               }
+                       }
+                               
+               });
+
+               JScrollPane imageScrollPane = new JScrollPane(ImageList);
+               imageScrollPane.setPreferredSize(new Dimension(200,250));
+               imageScrollPane.setMaximumSize(new Dimension(200,250));
+               imageScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               JPanel centerPanel = new JPanel();
+               centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.X_AXIS));
+               centerPanel.add(imageScrollPane);
+               centerPanel.setBorder(BorderFactory.createTitledBorder("Server Images"));
+
+               /* Set up the text pane */
+               PreviewPane.setEditorKit(ImageHtmlKit);
+               PreviewPane.setDocument(ImageHtmlDoc);
+               PreviewPane.setMargin(new Insets(4, 4, 4, 4));
+               JScrollPane previewViewport = new JScrollPane(PreviewPane);
+               previewViewport.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+               previewViewport.setPreferredSize(new Dimension(250,250));
+               centerPanel.add(previewViewport); 
+
+               JPanel controlsPanel = new JPanel();
+               controlsPanel.setLayout(new BoxLayout(controlsPanel, BoxLayout.Y_AXIS));
+               JPanel altPanel = new JPanel();
+               altPanel.setLayout(new BoxLayout(altPanel, BoxLayout.X_AXIS));
+               altPanel.add(Box.createHorizontalStrut(10));
+               JLabel imageAltTextLabel = new JLabel("Alternate Text:", SwingConstants.LEFT);    
+               altPanel.add(imageAltTextLabel);
+
+               ImageAltText = new JTextField("");
+               ImageAltText.addActionListener(this);
+               ImageAltText.setPreferredSize(new Dimension(300,25));
+               ImageAltText.setMaximumSize(new Dimension(600,25));
+               altPanel.add(ImageAltText);
+               altPanel.add(Box.createHorizontalStrut(10));
+               controlsPanel.add(altPanel);
+               controlsPanel.add(Box.createVerticalStrut(5));
+
+               JPanel dimPanel = new JPanel();
+               dimPanel.setLayout(new BoxLayout(dimPanel, BoxLayout.X_AXIS));
+               dimPanel.add(Box.createHorizontalStrut(10));
+               JLabel imageWidthLabel = new JLabel("Width:", SwingConstants.LEFT);       
+               dimPanel.add(imageWidthLabel);
+               ImageWidth = new JTextField("");
+               ImageWidth.setPreferredSize(new Dimension(40,25));
+               ImageWidth.setMaximumSize(new Dimension(40,25));
+               dimPanel.add(ImageWidth);
+               JLabel imageWidthPixels = new JLabel("pix", SwingConstants.LEFT);         
+               imageWidthPixels.setPreferredSize(new Dimension(20,10));
+               dimPanel.add(imageWidthPixels);
+               dimPanel.add(Box.createHorizontalStrut(10));
+               JLabel imageHeightLabel = new JLabel("Height:", SwingConstants.LEFT);     
+               dimPanel.add(imageHeightLabel);
+               ImageHeight = new JTextField("");
+               ImageHeight.setPreferredSize(new Dimension(40,25));
+               ImageHeight.setMaximumSize(new Dimension(40,25));
+               dimPanel.add(ImageHeight);
+               JLabel imageHeightPixels = new JLabel("pix", SwingConstants.LEFT);        
+               imageHeightPixels.setPreferredSize(new Dimension(20,10));
+               dimPanel.add(imageHeightPixels);
+               dimPanel.add(Box.createHorizontalStrut(10));
+
+               JLabel wrapLabel = new JLabel("Wrap:", SwingConstants.LEFT);
+               dimPanel.add(wrapLabel);
+               WrapList = new JList(Wraps);
+               WrapList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               WrapList.getSelectionModel().setSelectionInterval(0,0);
+               JScrollPane wrapScrollPane = new JScrollPane(WrapList);
+               wrapScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               wrapScrollPane.setPreferredSize(new Dimension(80,40));
+               wrapScrollPane.setMaximumSize(new Dimension(80,100));
+               dimPanel.add(wrapScrollPane);
+               controlsPanel.add(dimPanel);
+
+               /*
+               JPanel borderPanel = new JPanel();
+               JLabel borderStyleLabel = new JLabel("Style:", SwingConstants.LEFT);
+               borderPanel.add(borderStyleLabel);
+               BorderList = new JList(Borders);
+               BorderList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               BorderList.getSelectionModel().setSelectionInterval(0,0);
+               JScrollPane borderScrollPane = new JScrollPane(BorderList);
+               borderScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               borderScrollPane.setPreferredSize(new Dimension(80,40));
+               borderScrollPane.setMaximumSize(new Dimension(80,100));
+               borderPanel.add(borderScrollPane);
+               borderPanel.add(Box.createHorizontalStrut(5));
+               */
+
+               dimPanel.add(Box.createHorizontalStrut(5));
+               JLabel borderSizeLabel = new JLabel("Border Size:", SwingConstants.LEFT);
+               dimPanel.add(borderSizeLabel);
+               BorderSizeList = new JList(BorderSizes);
+               BorderSizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               BorderSizeList.getSelectionModel().setSelectionInterval(0,0);
+               JScrollPane borderSizeScrollPane = new JScrollPane(BorderSizeList);
+               borderSizeScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               borderSizeScrollPane.setPreferredSize(new Dimension(80,40));
+               borderSizeScrollPane.setMaximumSize(new Dimension(80,100));
+               dimPanel.add(borderSizeScrollPane);
+               dimPanel.add(Box.createHorizontalStrut(10));
+               dimPanel.add(Box.createVerticalStrut(10));
+
+               /*
+               JLabel borderColorLabel = new JLabel("Color:", SwingConstants.LEFT);
+               borderPanel.add(borderColorLabel);
+               BorderColorList = new JList(BorderColors);
+               BorderColorList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+               JScrollPane borderColorScrollPane = new JScrollPane(BorderColorList);
+               borderColorScrollPane.setAlignmentX(LEFT_ALIGNMENT);
+               borderColorScrollPane.setPreferredSize(new Dimension(80,40));
+               borderPanel.add(borderColorScrollPane);
+               controlsPanel.add(borderPanel);
+               */
+
+               JPanel buttonPanel= new JPanel();
+               buttonPanel.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
+               JButton applyButton = new JButton("Apply");
+               applyButton.setActionCommand("apply");
+               applyButton.addActionListener(this);
+
+               JButton saveButton = new JButton("Accept");
+               saveButton.setActionCommand("save");
+               saveButton.addActionListener(this);
+               JButton cancelButton = new JButton("Cancel");
+               cancelButton.setActionCommand("cancel");
+               cancelButton.addActionListener(this);
+
+               buttonPanel.add(applyButton);
+               buttonPanel.add(saveButton);
+               buttonPanel.add(cancelButton);
+
+               contentPane.add(centerPanel);
+               contentPane.add(controlsPanel);
+               contentPane.add(buttonPanel);
+               this.pack();
+               setVisible(true);
+    }
+
+    private void previewSelectedImage()
+    {
+               ListSelectionModel sm = ImageList.getSelectionModel();
+               if(!sm.isSelectionEmpty())
+               {
+                       String theImage = Images[sm.getMinSelectionIndex()];
+                       try
+                       {
+                               // Clear the preview area
+                               PreviewPane.setText("");
+                               StringBuffer attrString = new StringBuffer();
+                               if(!ImageHeight.getText().equals(""))
+                               {
+                                       attrString.append("HEIGHT=\"" + ImageHeight.getText() + "\" ");
+                               }
+                               if(!ImageWidth.getText().equals(""))
+                               {
+                                       attrString.append("WIDTH=\"" + ImageWidth.getText() + "\" ");
+                               }
+                               if(!ImageAltText.getText().equals(""))
+                               {
+                                       attrString.append("ALT=\"" + ImageAltText.getText() + "\" ");
+                               }
+                               if(!WrapList.getSelectionModel().isSelectionEmpty())
+                               {
+                                       String theWrap = Wraps[WrapList.getSelectionModel().getMinSelectionIndex()];
+                                       if(!theWrap.equals("none"))
+                                       {
+                                       attrString.append("ALIGN=\"" + theWrap + "\" ");
+                                       }
+                               }
+                               /*
+                               if(!BorderList.getSelectionModel().isSelectionEmpty())\r
                                {\r
-                                       previewSelectedImage();\r
-                               }\r
-                       }\r
-               }       \r
-               if(e.getActionCommand().equals("save"))\r
-               {\r
-                       ListSelectionModel sm = ImageList.getSelectionModel();\r
-                       if(sm.isSelectionEmpty())\r
-                       {\r
-                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "No image selected", SimpleInfoDialog.ERROR);\r
-                               ImageList.requestFocus();\r
-                       }\r
-                       else\r
-                       {\r
-                               if(validateControls())\r
-                               {\r
-                                       previewSelectedImage();\r
-                                       SelectedImage = PreviewImage;\r
-                                       hide();\r
-                               }\r
-                       }\r
-               }\r
-               else if(e.getActionCommand().equals("cancel"))\r
-               {\r
-                       hide();\r
-               }\r
-       }\r
-\r
-       public void init()\r
-       {\r
-               SelectedImage="";\r
-               Container contentPane = getContentPane();\r
-               contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));\r
-               //setBounds(100,100,500,300);\r
-               setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);\r
-\r
-               ImageList = new JList(Images);\r
-               ImageList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               ImageList.clearSelection();\r
-            ListSelectionModel lsm = ImageList.getSelectionModel();\r
-\r
-               /* Create the editor kit, document, and stylesheet */\r
-               PreviewPane = new JEditorPane();\r
-               PreviewPane.setEditable(false);\r
-               ImageHtmlKit = new ExtendedHTMLEditorKit();\r
-               ImageHtmlDoc = (HTMLDocument)(ImageHtmlKit.createDefaultDocument());\r
-               ImageHtmlKit.setDefaultCursor(new Cursor(Cursor.TEXT_CURSOR));\r
-               PreviewPane.setCaretPosition(0);\r
-               //PreviewPane.getDocument().addDocumentListener(this);\r
-               //StyleSheet styleSheet = ImageHtmlDoc.getStyleSheet();\r
-               //ImageStyleSheet = styleSheet;\r
-               lsm.addListSelectionListener(new ListSelectionListener() \r
-               {\r
-                       public void valueChanged(ListSelectionEvent e)\r
-                       {\r
-                               if(!e.getValueIsAdjusting() && validateControls())\r
-                               {\r
-                                       previewSelectedImage();\r
-                               }\r
-                       }\r
-                               \r
-               });\r
-\r
-               JScrollPane imageScrollPane = new JScrollPane(ImageList);\r
-               imageScrollPane.setPreferredSize(new Dimension(200,250));\r
-               imageScrollPane.setMaximumSize(new Dimension(200,250));\r
-               imageScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               JPanel centerPanel = new JPanel();\r
-               centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.X_AXIS));\r
-               centerPanel.add(imageScrollPane);\r
-               centerPanel.setBorder(BorderFactory.createTitledBorder("Server Images"));\r
-\r
-               /* Set up the text pane */\r
-               PreviewPane.setEditorKit(ImageHtmlKit);\r
-               PreviewPane.setDocument(ImageHtmlDoc);\r
-               PreviewPane.setMargin(new Insets(4, 4, 4, 4));\r
-               JScrollPane previewViewport = new JScrollPane(PreviewPane);\r
-               previewViewport.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);\r
-               previewViewport.setPreferredSize(new Dimension(250,250));\r
-               centerPanel.add(previewViewport); \r
-\r
-               JPanel controlsPanel = new JPanel();\r
-               controlsPanel.setLayout(new BoxLayout(controlsPanel, BoxLayout.Y_AXIS));\r
-               JPanel altPanel = new JPanel();\r
-               altPanel.setLayout(new BoxLayout(altPanel, BoxLayout.X_AXIS));\r
-               altPanel.add(Box.createHorizontalStrut(10));\r
-               JLabel imageAltTextLabel = new JLabel("Alternate Text:", SwingConstants.LEFT);    \r
-               altPanel.add(imageAltTextLabel);\r
-\r
-               ImageAltText = new JTextField("");\r
-               ImageAltText.addActionListener(this);\r
-               ImageAltText.setPreferredSize(new Dimension(300,25));\r
-               ImageAltText.setMaximumSize(new Dimension(600,25));\r
-               altPanel.add(ImageAltText);\r
-               altPanel.add(Box.createHorizontalStrut(10));\r
-               controlsPanel.add(altPanel);\r
-\r
-               controlsPanel.add(Box.createVerticalStrut(5));\r
-\r
-               JPanel dimPanel = new JPanel();\r
-               dimPanel.setLayout(new BoxLayout(dimPanel, BoxLayout.X_AXIS));\r
-               dimPanel.add(Box.createHorizontalStrut(10));\r
-               JLabel imageWidthLabel = new JLabel("Width:", SwingConstants.LEFT);       \r
-               dimPanel.add(imageWidthLabel);\r
-               ImageWidth = new JTextField("");\r
-               ImageWidth.setPreferredSize(new Dimension(40,25));\r
-               ImageWidth.setMaximumSize(new Dimension(40,25));\r
-               dimPanel.add(ImageWidth);\r
-               JLabel imageWidthPixels = new JLabel("pix", SwingConstants.LEFT);         \r
-               imageWidthPixels.setPreferredSize(new Dimension(20,10));\r
-               dimPanel.add(imageWidthPixels);\r
-               dimPanel.add(Box.createHorizontalStrut(10));\r
-               JLabel imageHeightLabel = new JLabel("Height:", SwingConstants.LEFT);     \r
-               dimPanel.add(imageHeightLabel);\r
-               ImageHeight = new JTextField("");\r
-               ImageHeight.setPreferredSize(new Dimension(40,25));\r
-               ImageHeight.setMaximumSize(new Dimension(40,25));\r
-               dimPanel.add(ImageHeight);\r
-               JLabel imageHeightPixels = new JLabel("pix", SwingConstants.LEFT);        \r
-               imageHeightPixels.setPreferredSize(new Dimension(20,10));\r
-               dimPanel.add(imageHeightPixels);\r
-               dimPanel.add(Box.createHorizontalStrut(10));\r
-\r
-               JLabel wrapLabel = new JLabel("Wrap:", SwingConstants.LEFT);\r
-               dimPanel.add(wrapLabel);\r
-               WrapList = new JList(Wraps);\r
-               WrapList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               WrapList.getSelectionModel().setSelectionInterval(0,0);\r
-               JScrollPane wrapScrollPane = new JScrollPane(WrapList);\r
-               wrapScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               wrapScrollPane.setPreferredSize(new Dimension(80,40));\r
-               wrapScrollPane.setMaximumSize(new Dimension(80,100));\r
-               dimPanel.add(wrapScrollPane);\r
-               controlsPanel.add(dimPanel);\r
-\r
-               //JPanel borderPanel = new JPanel();\r
-               //JLabel borderStyleLabel = new JLabel("Style:", SwingConstants.LEFT);\r
-               //borderPanel.add(borderStyleLabel);\r
-               //BorderList = new JList(Borders);\r
-               //BorderList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               //BorderList.getSelectionModel().setSelectionInterval(0,0);\r
-               //JScrollPane borderScrollPane = new JScrollPane(BorderList);\r
-               //borderScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               //borderScrollPane.setPreferredSize(new Dimension(80,40));\r
-               //borderScrollPane.setMaximumSize(new Dimension(80,100));\r
-               //borderPanel.add(borderScrollPane);\r
-               //borderPanel.add(Box.createHorizontalStrut(5));\r
-\r
-               dimPanel.add(Box.createHorizontalStrut(5));\r
-               JLabel borderSizeLabel = new JLabel("Border Size:", SwingConstants.LEFT);\r
-               dimPanel.add(borderSizeLabel);\r
-               BorderSizeList = new JList(BorderSizes);\r
-               BorderSizeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               BorderSizeList.getSelectionModel().setSelectionInterval(0,0);\r
-               JScrollPane borderSizeScrollPane = new JScrollPane(BorderSizeList);\r
-               borderSizeScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               borderSizeScrollPane.setPreferredSize(new Dimension(80,40));\r
-               borderSizeScrollPane.setMaximumSize(new Dimension(80,100));\r
-               dimPanel.add(borderSizeScrollPane);\r
-               dimPanel.add(Box.createHorizontalStrut(10));\r
-               dimPanel.add(Box.createVerticalStrut(10));\r
-\r
-               //JLabel borderColorLabel = new JLabel("Color:", SwingConstants.LEFT);\r
-               //borderPanel.add(borderColorLabel);\r
-               //BorderColorList = new JList(BorderColors);\r
-               //BorderColorList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-               //JScrollPane borderColorScrollPane = new JScrollPane(BorderColorList);\r
-               //borderColorScrollPane.setAlignmentX(LEFT_ALIGNMENT);\r
-               //borderColorScrollPane.setPreferredSize(new Dimension(80,40));\r
-               //borderPanel.add(borderColorScrollPane);\r
-               //controlsPanel.add(borderPanel);\r
-\r
-               JPanel buttonPanel= new JPanel();\r
-               buttonPanel.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));\r
-               JButton applyButton = new JButton("Apply");\r
-               applyButton.setActionCommand("apply");\r
-               applyButton.addActionListener(this);\r
-\r
-               JButton saveButton = new JButton("Accept");\r
-               saveButton.setActionCommand("save");\r
-               saveButton.addActionListener(this);\r
-               JButton cancelButton = new JButton("Cancel");\r
-               cancelButton.setActionCommand("cancel");\r
-               cancelButton.addActionListener(this);\r
-\r
-               buttonPanel.add(applyButton);\r
-               buttonPanel.add(saveButton);\r
-               buttonPanel.add(cancelButton);\r
-\r
-               contentPane.add(centerPanel);\r
-               contentPane.add(controlsPanel);\r
-               contentPane.add(buttonPanel);\r
-               this.pack();\r
-               setVisible(true);\r
-    }\r
-\r
-    private void previewSelectedImage()\r
-    {\r
-         ListSelectionModel sm = ImageList.getSelectionModel();\r
-         if(!sm.isSelectionEmpty())\r
-         {\r
-               String theImage = Images[sm.getMinSelectionIndex()];\r
-               try\r
-               {\r
-                       // Clear the preview area\r
-                       PreviewPane.setText("");\r
-                       StringBuffer attrString = new StringBuffer();\r
-                       if(!ImageHeight.getText().equals(""))\r
-                       {\r
-                               attrString.append("HEIGHT=\"" + ImageHeight.getText() + "\" ");\r
-                       }\r
-                       if(!ImageWidth.getText().equals(""))\r
-                       {\r
-                               attrString.append("WIDTH=\"" + ImageWidth.getText() + "\" ");\r
-                       }\r
-                       if(!ImageAltText.getText().equals(""))\r
-                       {\r
-                               attrString.append("ALT=\"" + ImageAltText.getText() + "\" ");\r
-                       }\r
-                       if(!WrapList.getSelectionModel().isSelectionEmpty())\r
-                       {\r
-                               String theWrap = Wraps[WrapList.getSelectionModel().getMinSelectionIndex()];\r
-                               if(!theWrap.equals("none"))\r
-                               {\r
-                                       attrString.append("ALIGN=\"" + theWrap + "\" ");\r
-                               }\r
-                       }\r
-                       //if(!BorderList.getSelectionModel().isSelectionEmpty())\r
-                       //{\r
-                               //String theBorder = Borders[BorderList.getSelectionModel().getMinSelectionIndex()];\r
-                               //if(!theBorder.equals("none"))\r
-                               //{\r
-                                       String borderSize = null;\r
-                                       String borderColor = null;\r
-                                       if(!BorderSizeList.getSelectionModel().isSelectionEmpty())\r
-                                       {\r
-                                               borderSize = BorderSizes[BorderSizeList.getSelectionModel().getMinSelectionIndex()];\r
-                                               if(!borderSize.equals("none"))\r
-                                                       attrString.append("BORDER=" + borderSize);\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               borderSize = BorderSizes[0];\r
-                                       }\r
-                                       //if(!BorderColorList.getSelectionModel().isSelectionEmpty())\r
-                                       //{\r
-                                       //      borderColor = BorderColors[BorderColorList.getSelectionModel().getMinSelectionIndex()];                                         \r
-                                       //}\r
-                                       //else\r
-                                       //{\r
-                                       //      borderColor = "gray";\r
-                                       //}\r
-                                       //attrString.append("STYLE=\"border: " + borderColor + " "  + borderSize + "px " + theBorder + "\"");\r
-                               //}\r
-                       //}\r
-\r
-                       \r
-                       PreviewImage = "<IMG SRC=" + ImageDir + "/" + theImage + " " + attrString.toString() + ">";\r
-                       ImageHtmlKit.insertHTML(ImageHtmlDoc, 0, PreviewImage, 0, 0, HTML.Tag.IMG);\r
-                       repaint();\r
-               }\r
-               catch(Exception ex)\r
-               {\r
-                       System.err.println("Exception previewing image");\r
-               }\r
-        }\r
-    }\r
-\r
-    private boolean validateControls()\r
-    {\r
-         boolean result = true;\r
-\r
-         if(!ImageWidth.getText().equals(""))\r
-         {\r
-               try\r
-               {\r
-                       Integer.parseInt(ImageWidth.getText());\r
-               }\r
-               catch (NumberFormatException e)\r
-               {\r
-                       result = false;\r
-                       SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "Image Width is not an integer", SimpleInfoDialog.ERROR);\r
-                       ImageWidth.requestFocus();\r
-               }\r
-         }\r
-         if( result && !ImageHeight.getText().equals(""))\r
-         {\r
-               try\r
-               {\r
-                       Integer.parseInt(ImageHeight.getText());\r
-               }\r
-               catch (NumberFormatException e)\r
-               {\r
-                       result = false;\r
-                       SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "Image Height is not an integer", SimpleInfoDialog.ERROR);\r
-                       ImageHeight.requestFocus();\r
-               }\r
-         }\r
-\r
-        return result;\r
-    }\r
-\r
-    public String getSelectedImage()\r
-    {\r
-         return SelectedImage;\r
-    }  \r
-}\r
+                                       String theBorder = Borders[BorderList.getSelectionModel().getMinSelectionIndex()];\r
+                                       if(!theBorder.equals("none"))\r
+                                       {
+                               */\r
+                               String borderSize = null;
+                               String borderColor = null;
+                               if(!BorderSizeList.getSelectionModel().isSelectionEmpty())
+                               {
+                                       borderSize = BorderSizes[BorderSizeList.getSelectionModel().getMinSelectionIndex()];
+                                       if(!borderSize.equals("none"))
+                                       {
+                                               attrString.append("BORDER=" + borderSize);
+                                       }
+                               }
+                               else
+                               {
+                                       borderSize = BorderSizes[0];
+                               }
+                               /*
+                                               if(!BorderColorList.getSelectionModel().isSelectionEmpty())
+                                               {
+                                                       borderColor = BorderColors[BorderColorList.getSelectionModel().getMinSelectionIndex()];                                         
+                                               }
+                                               else
+                                               {
+                                                       borderColor = "gray";
+                                               }
+                                               attrString.append("STYLE=\"border: " + borderColor + " "  + borderSize + "px " + theBorder + "\"");
+                                       }
+                               }
+                               */
+                               PreviewImage = "<IMG SRC=" + ImageDir + "/" + theImage + " " + attrString.toString() + ">";
+                               ImageHtmlKit.insertHTML(ImageHtmlDoc, 0, PreviewImage, 0, 0, HTML.Tag.IMG);
+                               repaint();
+                       }
+                       catch(Exception ex)
+                       {
+                               System.err.println("Exception previewing image");
+                       }
+               }
+       }
+
+       private boolean validateControls()
+       {
+               boolean result = true;
+               if(!ImageWidth.getText().equals(""))
+               {
+                       try
+                       {
+                               Integer.parseInt(ImageWidth.getText());
+                       }
+                       catch (NumberFormatException e)
+                       {
+                               result = false;
+                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "Image Width is not an integer", SimpleInfoDialog.ERROR);
+                               ImageWidth.requestFocus();
+                       }
+               }
+               if( result && !ImageHeight.getText().equals(""))
+               {
+                       try
+                       {
+                               Integer.parseInt(ImageHeight.getText());
+                       }
+                       catch (NumberFormatException e)
+                       {
+                               result = false;
+                               SimpleInfoDialog sidAbout = new SimpleInfoDialog(ParentEkit.getFrame(), "Error", true, "Image Height is not an integer", SimpleInfoDialog.ERROR);
+                               ImageHeight.requestFocus();
+                       }
+               }
+               return result;
+       }
+
+    public String getSelectedImage()
+    {
+         return SelectedImage;
+    }  
+}
index ad1618c..82d1694 100644 (file)
@@ -1,54 +1,54 @@
-/*\r
-GNU Lesser General Public License\r
-\r
-ImageFileChooser\r
-Copyright (C) 2000-2002  Frits Jalvingh & Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.io.File;\r
-import javax.swing.JFileChooser;\r
-\r
-/** Class for providing a chooser that lets the user select an image to insert\r
-  */\r
-public class ImageFileChooser extends JFileChooser\r
-{\r
-       /** Constructor that takes a default directory to start in, specified as a File\r
-         * @param File with the default path\r
-         */\r
-       public ImageFileChooser(File fileCurrentDirectory)\r
-       {\r
-               this.setCurrentDirectory(fileCurrentDirectory);\r
-               this.setAccessory(new ImageFileChooserPreview(this));\r
-   }\r
-\r
-       /** Constructor that takes a default directory to start in, specified as a String\r
-         * @param String current directory path.\r
-         */\r
-       public ImageFileChooser(String strCurrentPath)\r
-       {\r
-               this(new File(strCurrentPath));\r
-       }\r
-\r
-       /** Empty constructor\r
-         */\r
-       public ImageFileChooser()\r
-       {\r
-               this((File)null);\r
-       }\r
-}\r
+/*
+GNU Lesser General Public License
+
+ImageFileChooser
+Copyright (C) 2000  Frits Jalvingh & Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.io.File;
+import javax.swing.JFileChooser;
+
+/** Class for providing a chooser that lets the user select an image to insert
+  */
+public class ImageFileChooser extends JFileChooser
+{
+       /** Constructor that takes a default directory to start in, specified as a File
+         * @param File with the default path
+         */
+       public ImageFileChooser(File fileCurrentDirectory)
+       {
+               this.setCurrentDirectory(fileCurrentDirectory);
+               this.setAccessory(new ImageFileChooserPreview(this));
+   }
+
+       /** Constructor that takes a default directory to start in, specified as a String
+         * @param String current directory path.
+         */
+       public ImageFileChooser(String strCurrentPath)
+       {
+               this(new File(strCurrentPath));
+       }
+
+       /** Empty constructor
+         */
+       public ImageFileChooser()
+       {
+               this((File)null);
+       }
+}
index 307aa7e..2ff8d90 100644 (file)
-/*\r
-GNU Lesser General Public License\r
-\r
-ImageFileChooserPreview\r
-Copyright (C) 2000-2002  Frits Jalvingh & Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.awt.Dimension;\r
-import java.awt.Graphics;\r
-import java.awt.Image;\r
-import java.io.File;\r
-import javax.swing.ImageIcon;\r
-import javax.swing.JComponent;\r
-import javax.swing.JFileChooser;\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\r
-\r
-/** Class provides a preview window for the selected image file\r
-  */\r
-class ImageFileChooserPreview extends JComponent implements PropertyChangeListener\r
-{\r
-       private static final int previewWidth  = 100;\r
-       private static final int previewHeight = 100;\r
-\r
-       private ImageIcon imageThumb = null;\r
-       private File imageFile = null;\r
-\r
-       /** This class requires a file chooser to register with so this class will\r
-         * be notified when a new file is selected in the browser.\r
-         * @param JFileChooser that this preview window is used in.\r
-         */\r
-       public ImageFileChooserPreview(JFileChooser parent)\r
-       {\r
-               setPreferredSize(new Dimension(previewWidth , previewHeight));\r
-               parent.addPropertyChangeListener(this);\r
-       }\r
-\r
-       /** Loads a new image into the preview window, and scales it if necessary.\r
-         */\r
-       public void loadImage()\r
-       {\r
-               if(imageFile == null)\r
-               {\r
-                       imageThumb = null;\r
-                       return;\r
-               }\r
-               imageThumb = new ImageIcon(imageFile.getPath());\r
-\r
-               // Check if thumb requires scaling\r
-               if(imageThumb.getIconHeight() < previewHeight && imageThumb.getIconWidth() < previewWidth)\r
-               {\r
-                       return;\r
-               }\r
-               int     w = previewWidth;\r
-               int     h = previewHeight;\r
-               if(imageThumb.getIconHeight() > imageThumb.getIconWidth())\r
-               {\r
-                       w = -1;\r
-               }\r
-               else\r
-               {\r
-                       h = -1;\r
-               }\r
-               imageThumb = new ImageIcon(imageThumb.getImage().getScaledInstance(w, h, Image.SCALE_DEFAULT));\r
-       }\r
-\r
-       /** Callback (event handler) to indicate that a property of the\r
-         * JFileChooser has changed. If the selected file has changed cause a new\r
-         * thumbnail to load.\r
-         */\r
-       public void propertyChange(PropertyChangeEvent e)\r
-       {\r
-               if(e.getPropertyName().equals(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY))\r
-               {\r
-                       imageFile = (File)e.getNewValue();\r
-                       if(isShowing())\r
-                       {\r
-                               loadImage();\r
-                               repaint();\r
-                       }\r
-               }\r
-       }\r
-\r
-       /** Paints the icon of the current image, if one's present..\r
-         * @param Graphics object to use when painting the component.\r
-         */\r
-       public void paintComponent(Graphics g)\r
-       {\r
-               if(imageThumb == null)\r
-               {\r
-                       loadImage();\r
-               }\r
-               if(imageThumb == null)\r
-               {\r
-                       return;\r
-               }\r
-               int     x = (getWidth() - imageThumb.getIconWidth()) / 2;\r
-               int     y = (getHeight() - imageThumb.getIconHeight()) / 2;\r
-               if(y < 0)\r
-               {\r
-                       y = 0;\r
-               }\r
-               if(x < 5)\r
-               {\r
-                       x = 5;\r
-               }\r
-               imageThumb.paintIcon(this, g, x, y);\r
-       }\r
-}\r
-\r
+/*
+GNU Lesser General Public License
+
+ImageFileChooserPreview
+Copyright (C) 2000  Frits Jalvingh & Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.io.File;
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.JFileChooser;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+/** Class provides a preview window for the selected image file
+  */
+class ImageFileChooserPreview extends JComponent implements PropertyChangeListener
+{
+       private static final int previewWidth  = 100;
+       private static final int previewHeight = 100;
+
+       private ImageIcon imageThumb = null;
+       private File imageFile = null;
+
+       /** This class requires a file chooser to register with so this class will
+         * be notified when a new file is selected in the browser.
+         * @param JFileChooser that this preview window is used in.
+         */
+       public ImageFileChooserPreview(JFileChooser parent)
+       {
+               setPreferredSize(new Dimension(previewWidth , previewHeight));
+               parent.addPropertyChangeListener(this);
+       }
+
+       /** Loads a new image into the preview window, and scales it if necessary.
+         */
+       public void loadImage()
+       {
+               if(imageFile == null)
+               {
+                       imageThumb = null;
+                       return;
+               }
+               imageThumb = new ImageIcon(imageFile.getPath());
+
+               // Check if thumb requires scaling
+               if(imageThumb.getIconHeight() < previewHeight && imageThumb.getIconWidth() < previewWidth)
+               {
+                       return;
+               }
+               int     w = previewWidth;
+               int     h = previewHeight;
+               if(imageThumb.getIconHeight() > imageThumb.getIconWidth())
+               {
+                       w = -1;
+               }
+               else
+               {
+                       h = -1;
+               }
+               imageThumb = new ImageIcon(imageThumb.getImage().getScaledInstance(w, h, Image.SCALE_DEFAULT));
+       }
+
+       /** Callback (event handler) to indicate that a property of the
+         * JFileChooser has changed. If the selected file has changed cause a new
+         * thumbnail to load.
+         */
+       public void propertyChange(PropertyChangeEvent e)
+       {
+               if(e.getPropertyName().equals(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY))
+               {
+                       imageFile = (File)e.getNewValue();
+                       if(isShowing())
+                       {
+                               loadImage();
+                               repaint();
+                       }
+               }
+       }
+
+       /** Paints the icon of the current image, if one's present..
+         * @param Graphics object to use when painting the component.
+         */
+       public void paintComponent(Graphics g)
+       {
+               if(imageThumb == null)
+               {
+                       loadImage();
+               }
+               if(imageThumb == null)
+               {
+                       return;
+               }
+               int     x = (getWidth() - imageThumb.getIconWidth()) / 2;
+               int     y = (getHeight() - imageThumb.getIconHeight()) / 2;
+               if(y < 0)
+               {
+                       y = 0;
+               }
+               if(x < 5)
+               {
+                       x = 5;
+               }
+               imageThumb.paintIcon(this, g, x, y);
+       }
+}
+
index 79e3524..c482368 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 JButtonNoFocus
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 2b38567..50ba27e 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 JComboBoxNoFocus
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 991c20f..01c69df 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 JToggleButtonNoFocus
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 2d9d4af..7560dae 100644 (file)
@@ -1,77 +1,77 @@
-/*\r
-GNU Lesser General Public License\r
-\r
-MutableFilter\r
-Copyright (C) 2000-2003 Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.io.File;\r
-import javax.swing.filechooser.FileFilter;\r
-\r
-/** Class for providing JFileChooser with a FileFilter\r
-  */\r
-public class MutableFilter extends FileFilter\r
-{\r
-       private String[] acceptableExtensions;\r
-       private String descriptor;\r
-\r
-       public MutableFilter(String[] exts, String desc)\r
-       {\r
-               acceptableExtensions = exts;\r
-               StringBuffer strbDesc = new StringBuffer(desc + " (");\r
-               for(int i = 0; i < acceptableExtensions.length; i++)\r
-               {\r
-                       if(i > 0) { strbDesc.append(", "); }\r
-                       strbDesc.append("*." + acceptableExtensions[i]);\r
-               }\r
-               strbDesc.append(")");\r
-               descriptor = strbDesc.toString();\r
-       }\r
-\r
-       public boolean accept(File file)\r
-       {\r
-               if(file.isDirectory())\r
-               {\r
-                       return true;\r
-               }\r
-               String fileName = file.getName();\r
-               String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()).toLowerCase();\r
-               if(fileExt != null)\r
-               {\r
-                       for(int i = 0; i < acceptableExtensions.length; i++)\r
-                       {\r
-                               if(fileExt.equals(acceptableExtensions[i]))\r
-                               {\r
-                                       return true;\r
-                               }\r
-                       }\r
-                       return false;\r
-               }\r
-               else\r
-               {\r
-                       return false;\r
-               }\r
-       }\r
-\r
-       public String getDescription()\r
-       {\r
-               return descriptor;\r
-       }\r
-}\r
-\r
+/*
+GNU Lesser General Public License
+
+MutableFilter
+Copyright (C) 2000 Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.io.File;
+import javax.swing.filechooser.FileFilter;
+
+/** Class for providing JFileChooser with a FileFilter
+  */
+public class MutableFilter extends FileFilter
+{
+       private String[] acceptableExtensions;
+       private String descriptor;
+
+       public MutableFilter(String[] exts, String desc)
+       {
+               acceptableExtensions = exts;
+               StringBuffer strbDesc = new StringBuffer(desc + " (");
+               for(int i = 0; i < acceptableExtensions.length; i++)
+               {
+                       if(i > 0) { strbDesc.append(", "); }
+                       strbDesc.append("*." + acceptableExtensions[i]);
+               }
+               strbDesc.append(")");
+               descriptor = strbDesc.toString();
+       }
+
+       public boolean accept(File file)
+       {
+               if(file.isDirectory())
+               {
+                       return true;
+               }
+               String fileName = file.getName();
+               String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()).toLowerCase();
+               if(fileExt != null)
+               {
+                       for(int i = 0; i < acceptableExtensions.length; i++)
+                       {
+                               if(fileExt.equals(acceptableExtensions[i]))
+                               {
+                                       return true;
+                               }
+                       }
+                       return false;
+               }
+               else
+               {
+                       return false;
+               }
+       }
+
+       public String getDescription()
+       {
+               return descriptor;
+       }
+}
+
index cd6623e..ce2c49e 100644 (file)
-/*\r
-GNU Lesser General Public License\r
-\r
-SearchDialog\r
-Copyright (C) 2000-2003 Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.awt.Frame;\r
-import java.awt.event.WindowAdapter;\r
-import java.awt.event.WindowEvent;\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JDialog;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JTextField;\r
-\r
-import com.hexidec.util.Translatrix;\r
-\r
-/** Class for providing a dialog that lets the user specify arguments for\r
-  * the Search Find/Replace functions\r
-  */\r
-public class SearchDialog extends JDialog\r
-{\r
-       private String inputFindTerm    = (String)null;\r
-       private String inputReplaceTerm = (String)null;\r
-       private boolean bCaseSensitive  = false;\r
-       private boolean bStartAtTop     = false;\r
-       private boolean bReplaceAll     = false;\r
-       private JOptionPane jOptionPane;\r
-\r
-       public SearchDialog(Frame parent, String title, boolean bModal, boolean bIsReplace, boolean bCaseSetting, boolean bTopSetting)\r
-       {\r
-               super(parent, title, bModal);\r
-               final boolean isReplaceDialog    = bIsReplace;\r
-               final JTextField jtxfFindTerm    = new JTextField(3);\r
-               final JTextField jtxfReplaceTerm = new JTextField(3);\r
-               final JCheckBox  jchkCase        = new JCheckBox(Translatrix.getTranslationString("SearchCaseSensitive"), bCaseSetting);\r
-               final JCheckBox  jchkTop         = new JCheckBox(Translatrix.getTranslationString("SearchStartAtTop"), bTopSetting);\r
-               final JCheckBox  jchkAll         = new JCheckBox(Translatrix.getTranslationString("SearchReplaceAll"), false);\r
-               final Object[] buttonLabels      = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };\r
-               if(bIsReplace)\r
-               {\r
-                       Object[] panelContents = {\r
-                               Translatrix.getTranslationString("SearchFind"),\r
-                               jtxfFindTerm,\r
-                               Translatrix.getTranslationString("SearchReplace"),\r
-                               jtxfReplaceTerm,\r
-                               jchkAll,\r
-                               jchkCase,\r
-                               jchkTop\r
-                       };\r
-                       jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);\r
-               }\r
-               else\r
-               {\r
-                       Object[] panelContents = {\r
-                               Translatrix.getTranslationString("SearchFind"),\r
-                               jtxfFindTerm,\r
-                               jchkCase,\r
-                               jchkTop\r
-                       };\r
-                       jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);\r
-               }\r
-               setContentPane(jOptionPane);\r
-               setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);\r
-\r
-               addWindowListener(new WindowAdapter() {\r
-                       public void windowClosing(WindowEvent we)\r
-                       {\r
-                               jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));\r
-                       }\r
-               });\r
-\r
-               jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {\r
-                       public void propertyChange(PropertyChangeEvent e)\r
-                       {\r
-                               String prop = e.getPropertyName();\r
-                               if(isVisible() \r
-                                       && (e.getSource() == jOptionPane)\r
-                                       && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))\r
-                               {\r
-                                       Object value = jOptionPane.getValue();\r
-                                       if(value == JOptionPane.UNINITIALIZED_VALUE)\r
-                                       {\r
-                                               return;\r
-                                       }\r
-                                       jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);\r
-                                       if(value.equals(buttonLabels[0]))\r
-                                       {\r
-                                               inputFindTerm  = jtxfFindTerm.getText();\r
-                                               bCaseSensitive = jchkCase.isSelected();\r
-                                               bStartAtTop    = jchkTop.isSelected();\r
-                                               if(isReplaceDialog)\r
-                                               {\r
-                                                       inputReplaceTerm = jtxfReplaceTerm.getText();\r
-                                                       bReplaceAll      = jchkAll.isSelected();\r
-                                               }\r
-                                               setVisible(false);\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               inputFindTerm    = (String)null;\r
-                                               inputReplaceTerm = (String)null;\r
-                                               bCaseSensitive   = false;\r
-                                               bStartAtTop      = false;\r
-                                               bReplaceAll      = false;\r
-                                               setVisible(false);\r
-                                       }\r
-                               }\r
-                       }\r
-               });\r
-               this.pack();\r
-               this.show();\r
-               jtxfFindTerm.requestFocus();\r
-       }\r
-\r
-       public String  getFindTerm()      { return inputFindTerm; }\r
-       public String  getReplaceTerm()   { return inputReplaceTerm; }\r
-       public boolean getCaseSensitive() { return bCaseSensitive; }\r
-       public boolean getStartAtTop()    { return bStartAtTop; }\r
-       public boolean getReplaceAll()    { return bReplaceAll; }\r
-}\r
-\r
+/*
+GNU Lesser General Public License
+
+SearchDialog
+Copyright (C) 2000 Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.awt.Frame;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JCheckBox;
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+
+import com.hexidec.util.Translatrix;
+
+/** Class for providing a dialog that lets the user specify arguments for
+  * the Search Find/Replace functions
+  */
+public class SearchDialog extends JDialog
+{
+       private String inputFindTerm    = (String)null;
+       private String inputReplaceTerm = (String)null;
+       private boolean bCaseSensitive  = false;
+       private boolean bStartAtTop     = false;
+       private boolean bReplaceAll     = false;
+       private JOptionPane jOptionPane;
+
+       public SearchDialog(Frame parent, String title, boolean bModal, boolean bIsReplace, boolean bCaseSetting, boolean bTopSetting)
+       {
+               super(parent, title, bModal);
+               final boolean isReplaceDialog    = bIsReplace;
+               final JTextField jtxfFindTerm    = new JTextField(3);
+               final JTextField jtxfReplaceTerm = new JTextField(3);
+               final JCheckBox  jchkCase        = new JCheckBox(Translatrix.getTranslationString("SearchCaseSensitive"), bCaseSetting);
+               final JCheckBox  jchkTop         = new JCheckBox(Translatrix.getTranslationString("SearchStartAtTop"), bTopSetting);
+               final JCheckBox  jchkAll         = new JCheckBox(Translatrix.getTranslationString("SearchReplaceAll"), false);
+               final Object[] buttonLabels      = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };
+               if(bIsReplace)
+               {
+                       Object[] panelContents = {
+                               Translatrix.getTranslationString("SearchFind"),
+                               jtxfFindTerm,
+                               Translatrix.getTranslationString("SearchReplace"),
+                               jtxfReplaceTerm,
+                               jchkAll,
+                               jchkCase,
+                               jchkTop
+                       };
+                       jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);
+               }
+               else
+               {
+                       Object[] panelContents = {
+                               Translatrix.getTranslationString("SearchFind"),
+                               jtxfFindTerm,
+                               jchkCase,
+                               jchkTop
+                       };
+                       jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);
+               }
+               setContentPane(jOptionPane);
+               setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+
+               addWindowListener(new WindowAdapter() {
+                       public void windowClosing(WindowEvent we)
+                       {
+                               jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));
+                       }
+               });
+
+               jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {
+                       public void propertyChange(PropertyChangeEvent e)
+                       {
+                               String prop = e.getPropertyName();
+                               if(isVisible() 
+                                       && (e.getSource() == jOptionPane)
+                                       && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))
+                               {
+                                       Object value = jOptionPane.getValue();
+                                       if(value == JOptionPane.UNINITIALIZED_VALUE)
+                                       {
+                                               return;
+                                       }
+                                       jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);
+                                       if(value.equals(buttonLabels[0]))
+                                       {
+                                               inputFindTerm  = jtxfFindTerm.getText();
+                                               bCaseSensitive = jchkCase.isSelected();
+                                               bStartAtTop    = jchkTop.isSelected();
+                                               if(isReplaceDialog)
+                                               {
+                                                       inputReplaceTerm = jtxfReplaceTerm.getText();
+                                                       bReplaceAll      = jchkAll.isSelected();
+                                               }
+                                               setVisible(false);
+                                       }
+                                       else
+                                       {
+                                               inputFindTerm    = (String)null;
+                                               inputReplaceTerm = (String)null;
+                                               bCaseSensitive   = false;
+                                               bStartAtTop      = false;
+                                               bReplaceAll      = false;
+                                               setVisible(false);
+                                       }
+                               }
+                       }
+               });
+               this.pack();
+               this.show();
+               jtxfFindTerm.requestFocus();
+       }
+
+       public String  getFindTerm()      { return inputFindTerm; }
+       public String  getReplaceTerm()   { return inputReplaceTerm; }
+       public boolean getCaseSensitive() { return bCaseSensitive; }
+       public boolean getStartAtTop()    { return bStartAtTop; }
+       public boolean getReplaceAll()    { return bReplaceAll; }
+}
+
index a9ce48d..77ae0ff 100644 (file)
@@ -2,7 +2,7 @@
 GNU Lesser General Public License
 
 SimpleInfoDialog
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 344f978..db8fefa 100644 (file)
@@ -1,22 +1,22 @@
 /*
-GNU General Public License
+GNU Lesser General Public License
 
 TableInputDialog
-Copyright (C) 2000-2003 Howard Kistler
+Copyright (C) 2000 Howard Kistler
 
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
+This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
 package com.hexidec.ekit.component;
index 2670194..1e51635 100644 (file)
@@ -1,8 +1,8 @@
 /*
 GNU Lesser General Public License
 
-UserInputDialog
-Copyright (C) 2000-2003 Howard Kistler
+UserInputAnchorDialog
+Copyright (C) 2000 Howard Kistler
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
index 95c976f..2beb05e 100644 (file)
-/*\r
-GNU Lesser General Public License\r
-\r
-UserInputDialog\r
-Copyright (C) 2000-2003 Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.awt.Frame;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.WindowAdapter;\r
-import java.awt.event.WindowEvent;\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\r
-import javax.swing.JDialog;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JTextField;\r
-\r
-import com.hexidec.util.Translatrix;\r
-\r
-/** Class for providing a dialog that lets the user specify values for tag attributes\r
-  */\r
-public class UserInputDialog extends JDialog\r
-{\r
-\r
-       private String inputText = new String();\r
-       private JOptionPane jOptionPane;\r
-\r
-       public UserInputDialog(Frame parent, String title, boolean bModal, String attribName, String defaultText)\r
-       {\r
-               super(parent, title, bModal);\r
-               final JTextField jtxfInput = new JTextField(32);\r
-               jtxfInput.setText(defaultText);\r
-               Object[] panelContents = { attribName, jtxfInput };\r
-               final Object[] buttonLabels = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };\r
-\r
-               jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);\r
-               setContentPane(jOptionPane);\r
-               setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);\r
-\r
-               addWindowListener(new WindowAdapter() {\r
-                       public void windowClosing(WindowEvent we)\r
-                       {\r
-                               jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));\r
-                       }\r
-               });\r
-\r
-               jtxfInput.addActionListener(new ActionListener() {\r
-                       public void actionPerformed(ActionEvent e)\r
-                       {\r
-                               jOptionPane.setValue(buttonLabels[0]);\r
-                       }\r
-               });\r
-\r
-               jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {\r
-                       public void propertyChange(PropertyChangeEvent e)\r
-                       {\r
-                               String prop = e.getPropertyName();\r
-                               if(isVisible() \r
-                                       && (e.getSource() == jOptionPane)\r
-                                       && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))\r
-                               {\r
-                                       Object value = jOptionPane.getValue();\r
-                                       if(value == JOptionPane.UNINITIALIZED_VALUE)\r
-                                       {\r
-                                               return;\r
-                                       }\r
-                                       jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);\r
-                                       if(value.equals(buttonLabels[0]))\r
-                                       {\r
-                                               inputText = jtxfInput.getText();\r
-                                               setVisible(false);\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               inputText = null;\r
-                                               setVisible(false);\r
-                                       }\r
-                               }\r
-                       }\r
-               });\r
-               this.pack();\r
-               this.show();\r
-               jtxfInput.requestFocus();\r
-       }\r
-\r
-       public UserInputDialog(Frame parent, String title, boolean bModal, String attribName)\r
-       {\r
-               this(parent, title, bModal, attribName, "");\r
-       }\r
-\r
-       public String getInputText()\r
-       {\r
-               return inputText;\r
-       }\r
-}\r
-\r
+/*
+GNU Lesser General Public License
+
+UserInputDialog
+Copyright (C) 2000 Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+package com.hexidec.ekit.component;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+
+import com.hexidec.util.Translatrix;
+
+/** Class for providing a dialog that lets the user specify values for tag attributes
+  */
+public class UserInputDialog extends JDialog
+{
+
+       private String inputText = new String();
+       private JOptionPane jOptionPane;
+
+       public UserInputDialog(Frame parent, String title, boolean bModal, String attribName, String defaultText)
+       {
+               super(parent, title, bModal);
+               final JTextField jtxfInput = new JTextField(32);
+               jtxfInput.setText(defaultText);
+               Object[] panelContents = { attribName, jtxfInput };
+               final Object[] buttonLabels = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };
+
+               jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);
+               setContentPane(jOptionPane);
+               setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+
+               addWindowListener(new WindowAdapter() {
+                       public void windowClosing(WindowEvent we)
+                       {
+                               jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));
+                       }
+               });
+
+               jtxfInput.addActionListener(new ActionListener() {
+                       public void actionPerformed(ActionEvent e)
+                       {
+                               jOptionPane.setValue(buttonLabels[0]);
+                       }
+               });
+
+               jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {
+                       public void propertyChange(PropertyChangeEvent e)
+                       {
+                               String prop = e.getPropertyName();
+                               if(isVisible() 
+                                       && (e.getSource() == jOptionPane)
+                                       && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))
+                               {
+                                       Object value = jOptionPane.getValue();
+                                       if(value == JOptionPane.UNINITIALIZED_VALUE)
+                                       {
+                                               return;
+                                       }
+                                       jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);
+                                       if(value.equals(buttonLabels[0]))
+                                       {
+                                               inputText = jtxfInput.getText();
+                                               setVisible(false);
+                                       }
+                                       else
+                                       {
+                                               inputText = null;
+                                               setVisible(false);
+                                       }
+                               }
+                       }
+               });
+               this.pack();
+               this.show();
+               jtxfInput.requestFocus();
+       }
+
+       public UserInputDialog(Frame parent, String title, boolean bModal, String attribName)
+       {
+               this(parent, title, bModal, attribName, "");
+       }
+
+       public String getInputText()
+       {
+               return inputText;
+       }
+}
+
index 1546e74..8b2535c 100644 (file)
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Specification-Title: Ekit
-Specification-Version: 0.9e
+Specification-Version: 0.9g
 Implementation-Vendor: hexidec codec (www.hexidec.com) - Howard Kistler
 Main-Class: com/hexidec/ekit/Ekit
 Created-By: 1.3.0 (Sun Microsystems Inc.)
index 09d796c..1792781 100644 (file)
@@ -3,4 +3,3 @@ h1 { color : #8f8f2f; font-family : monospaced; }
 .notice { color : #1f8f1f; }\r
 .invert { background-color: #000000; color: #ffffff; }\r
 .warning { color: #cc5555; }\r
-\r
\ No newline at end of file