Commit graph

63 commits

Author SHA1 Message Date
dchandler
08e4e2fc57 Added a flexible mechanism for persistent boolean-, integer-, and
string-valued preferences built atop java.util.Properties.

How it works: the jvm is asked first, and then the user's prefs file, if it exists,
then the system-wide prefs file, and then the built-in preferences.  Finally, for
robustness, a default may be optionally hard-coded in the source.

I made several things configurable, too:

the default Tibetan keyboard
the default font sizes and faces
whether you want developer-only features enabled
Savant's file extension (.savant)
etc.

The only known problems are the following:

The default location for the user's preferences file is windows-specific,
arbitrary, and not in the user documentation.  Likewise for the location of the
system-wide preferences file.  You can change them using 'java -D', though.

There is no "Save preferences" option yet, and closing the program does
not save preferences either.
2002-10-14 04:06:05 +00:00
dchandler
b914309dba Got rid of Javadoc warnings by rephrasing things. Fixed a broken Javadoc
link.
2002-10-14 00:19:30 +00:00
dchandler
00d5dd86c3 The javadocs' external links were busted, so now we do a -link, not a
-linkoffline, by default.

The four Tibetan keyboards are described in four RTF files, these are now
handled in Jskad's build.
2002-10-13 20:44:31 +00:00
dchandler
0668a1b378 Added RTF files describing the four Tibetan keyboards that Jskad supports. 2002-10-13 20:43:11 +00:00
dchandler
f2e1041ab9 The "Info" menu contains four new items, descriptions of each of the four
supported Tibetan keyboards.
2002-10-13 20:42:23 +00:00
dchandler
795e50161d The code that brings up the "About" and "Help" windows has been cleanly
factored out because Jskad uses it too (for keyboard mapping descriptions).
2002-10-13 20:41:40 +00:00
dchandler
1c946ebab1 These classes contain the code that brings up the "About" and "Help"
windows in SavantShell.  It is now cleanly factored out because Jskad
uses it too (for keyboard mapping descriptions.
2002-10-13 20:40:24 +00:00
dchandler
f32b1053c1 Updated to use the new log file facility. 2002-10-13 19:23:34 +00:00
dchandler
02e55d6819 There is now a status bar in Jskad unless you set a system property stating
that you don't want one.  It's on by default.

If you set another system property, every keypress in "Tibetan" input mode
causes an update to the status bar.  The messages are for developers, not
users, so this option is off by default.

Updated to use the new log file facility.
2002-10-13 19:22:56 +00:00
dchandler
a2dc57313a Added a class representing a GUI element, a status bar.
Added great flexibility to the code that creates the log file.  It is property
driven at present, and the default behavior is the same as the old default
behavior, except that a message is printed to standard output telling the
user which log file is being used, and that they should include its contents
in bug reports.

You can log to the temporary directory, a directory of your choice, or (by
default) the current directory.  Edward's related feature request can now
quickly be fulfilled.
2002-10-13 19:19:47 +00:00
dchandler
4f9bdab7f7 Changed a /* */ comment to a Javadoc (/** */) comment. 2002-10-13 19:13:59 +00:00
dchandler
3f9e23cdcd Changed many /* */ comments regarding fields to Javadoc (/** */)
comments.

Reformatted the code in processTibetan() in an attempt to understand what
it does.  I'll soon commit some code that updates a status bar with "what
Jskad is thinking" in this maze of control flow.
2002-10-13 18:40:07 +00:00
dchandler
7bf2a0e574 Changed a linked list to an array. Performance is drastically better. Try
holding down the 'f' key right after startup in the old version, and you'll see
it bog down quickly.  This will never bog down.
2002-10-13 01:07:38 +00:00
dchandler
aafcd89440 The docs in the comments of build.xml regarding cutting a Java Web Start
release have been updated.  The .war file is now deleted after the build
mines it for the goodies.  If we use Tomcat or another app server down the
road, we'll be ready to go.
2002-10-12 20:01:04 +00:00
dchandler
d50b41b87f The build system now creates Java Web Start releases for all four programs.
At present, dist/*.jnlp refer to my own personal web server, and the build
system is aware of my personal keystore because creating a JWS release
involves signing JARs.  It will be very simple to change this once we have
a real PKI certificate and once we deploy on thdl.org.

Note that Savant and QuillDriver's releases are only half-done right now;
they do not include the XML and JMF libraries yet.
2002-10-12 18:30:14 +00:00
dchandler
5cfd45cf32 Formatted to 80 columns in honor of the punch card.
Added BinaryFileGenerator to the DictionarySearchStandalone JAR at
Andres' request.
2002-10-12 03:11:51 +00:00
dchandler
b2e97f6b98 Added a file explaining how the build process uses this directory, and how
it benefits you the developer.
2002-10-12 03:08:14 +00:00
amontano
2f21cd29f9 updating acip's import stuff from BinaryFileGenerator 2002-10-12 01:53:17 +00:00
dchandler
4e10517b71 I factored out some subtasks that were repeated throughout.
The binary JARs now contain license docs.

There are now four builds for the four faces of the translation tool.

By default, class files will now be compiled for the 1.1 JVM, even if you
use J2SDK 1.4 to compile them.  'ant -Dtarget.jvm=1.2' gives you 1.4's
default.  I'm not sure what 1.2 buys us, but it means we don't work on
a large number of JVMs in the field.
2002-10-10 06:00:32 +00:00
dchandler
77e29329ca This information is now embedded directly in the Ant buildfile, build.xml. 2002-10-10 04:30:58 +00:00
amontano
af35c02995 nothing really... 2002-10-09 00:14:44 +00:00
amontano
c22f7b0127 now can process acip dictionaries with -acip "secret" option 2002-10-09 00:13:27 +00:00
amontano
e0e125c76f includes static methods used by BinaryFileGenerator 2002-10-09 00:11:15 +00:00
amontano
e5dcfadf17 Although not used by the tool, it is handy for manipulating acip files. 2002-10-09 00:10:26 +00:00
eg3p
60b10453b3 Manifest for all versions of translation tool. 2002-10-08 15:03:22 +00:00
dchandler
755a6be6fd The source release now contains docs/*package-list so that
'ant private-javadocs' will work.

Removed Jskad's source release.  We'll have an all-in-one source
release (for now, anyway).
2002-10-06 20:42:02 +00:00
dchandler
403f21c8db Added Javadoc files overview.html and several package.html files.
Added a "Quit" option to Savant's File menu.  Factored out the Close
option in doing so.

Exceptions in many action listeners are now handled by
org.thdl.util.ThdlActionListener or org.thdl.util.ThdlAbstractAction.

Many exceptions that we used to just log now optionally cause aborts.
This option is on by default for developers using 'ant savant-run'-style
targets, but it is off for users.

An erroneous CLASSPATH now causes a useful error message in almost
all situations.

Fixed some typos and bad links in Javadoc comments.

Added a simple assertion facility, but the overhead is suffered even in
release builds.

Factored out the code that sets up log files like savant.log and jskad.log.
2002-10-06 18:23:27 +00:00
dchandler
14adf0d607 No longer used by the Ant build file (../build.xml). Ant has a <manifest> task
that we use instead.
2002-10-06 17:59:04 +00:00
dchandler
31bfe278ea Now copies over everything necessary to the bin directories.
Added a 'releases' target that builds Javadocs, binary JARs, and a source
zipfile.  It generates double-clickable Jskad and translation tool JARs, but it
does NOT generate double-clickable Savant or QuillDriver jars because
that would require putting jdom/xalan/xml-apis/xercesImpl/jmf JARs onto
the Class-path attribute in the manifest files.  That would be a relative path,
though, and until we have an installer, I don't know what to put in there.

That means that, for now, you invoke Savant with
  'java -cp jdom.jar;jmf.jar;....;Savant-2002XXXX.jar
           org.thdl.savant.SavantShell'

BUT, I've added targets to run all four programs: savant-run, qd-run, tt-run,
and jskad-run.

No longer uses manifests/*.  Ant has a <manifest> task that we use instead.

Now uses the source/overview.html file in Javadoc builds.
2002-10-06 17:54:01 +00:00
amontano
503ec28b5e start of acip code. 2002-10-06 16:17:56 +00:00
dchandler
78a76eec55 Previously, all but the last line had \r\r\n line feeds, which is neither DOS
nor MAC nor Unix nor anything else.  That last line must have been the
thing that made CVS's import choke.

Now these have correct line feeds--\r\n on DOS/Win32, \n on Unix, \r on
Mac.
2002-10-05 20:20:49 +00:00
dchandler
c23c083ae3 Uses periods rather than slashes in order to be consistent with the other
manifest files.
2002-10-05 06:38:28 +00:00
dchandler
6646b360fb Now builds the translation tool, both with and without servlets.
Puts all JARs in extensions on the CLASSPATH.

Manifest files from manifests/ are now used when building the distributions.
2002-10-05 06:36:23 +00:00
dchandler
b96c4bcbaa Fixed two typos.
The SF.net website and the thdltools-devel mailing list are now mentioned.
2002-10-05 03:27:39 +00:00
eg3p
888611fde0 Manifest for desktop version of the Translation Tool. 2002-10-04 20:02:57 +00:00
eg3p
dcfbbc5693 Manifest for application version of QuillDriver. 2002-10-04 19:38:57 +00:00
eg3p
d0871258ad Manifest for application version of Savant. 2002-10-04 19:37:17 +00:00
eg3p
5fe8f75052 Manifest for application version of Jskad. 2002-10-04 19:16:54 +00:00
dchandler
5d7a5aab84 Added two RTF files necessary for running Savant. 2002-10-04 13:30:09 +00:00
dchandler
635b707067 Thanks to the TeeStream, standard output and standard error are now
written to, in addition to writing to the .log file.
2002-10-04 04:52:41 +00:00
dchandler
ef60ccb31b This class allows for writing a message to two streams at once, like the Unix
utility 'tee'.
2002-10-04 04:51:28 +00:00
dchandler
859a7731fb More robust--handles the case when tibwn.ini cannot be found. 2002-10-04 04:37:32 +00:00
dchandler
3006b120dc More robust--handles the case when Savant's RTF files cannot be found. 2002-10-04 04:27:31 +00:00
dchandler
baf7a7c17d Now invokes javac with the -g option by default.
Better in several ways.  Aware of the translation tool, though targets for the
translation tool do not yet exist.
2002-10-04 04:24:45 +00:00
dchandler
f796a44967 Fixed the 'ant jskad-compile' target. I swear it worked once, but I have not
a clue why.  Running ant with 1.3.1 vs. 1.4, maybe?
2002-10-04 03:24:27 +00:00
eg3p
f968d42b55 Andres Montano's Translation Tool code 2002-10-03 19:28:09 +00:00
eg3p
63316fecf4 Info re/AMP license which applies to org.thdl.scanner 2002-10-03 19:23:19 +00:00
dchandler
6a32f90249 Fixed a couple of dependencies; fixed some typos. 2002-10-03 02:55:19 +00:00
dchandler
86dd05a8c0 Testing CVSROOT/log* e-mail script. 2002-10-03 02:29:30 +00:00
dchandler
c339e89529 Testing CVSROOT/log* e-mail script. 2002-10-03 02:11:33 +00:00