Commit graph

781 commits

Author SHA1 Message Date
dchandler
4eda412cb5 The enter and tab keys were causing edits regardless of setEditable(false);
this is now fixed.

Minor clean-up resulting from my aborted refactoring of the keyboard event
handling code.
2002-10-22 03:53:33 +00:00
dchandler
6a8753df3b Updated this to keep up with the new documentation on our build systems. 2002-10-20 22:40:49 +00:00
dchandler
4c0026ab4f Removed the old installKeyboard routines. 2002-10-20 08:25:10 +00:00
dchandler
dc53ded878 Adding a new Tibetan keyboard now requires merely copying and pasting
3 lines.  Quick reference .rtf files (on the Info menu) are optional.

Added a first try at an ACIP keyboard.  At the very least, ACIP's "GHA"
is busted.
2002-10-20 08:02:16 +00:00
dchandler
2a923f83f8 Added a first attempt at an ACIP keyboard following their document
http://www.asianclassics.org/download/tibetancode/ticode.pdf
2002-10-20 07:59:25 +00:00
dchandler
0097be4266 Fixed bug 617156, "DuffPane ignores setEditable(false)".
I fixed this the easy way, by checking the value of isEditable() before
cutting, pasting, or adding typed text.  I may have missed a spot, but
checking at a lower level is a bit less efficient.

Fixing this the hard way, the keymaps-and-overridden-default-action way,
seems like it will make the code uglier, not cleaner.  And it won't get us
closer to fixing the killer bug, 614475, "Improper Line Wrapping".
2002-10-20 05:54:29 +00:00
dchandler
79776d44f9 Added the media player preference to the system default preferences file. 2002-10-19 03:29:52 +00:00
dchandler
44524d3c89 Bulletproofed so that this can run in the presence of a security manager. 2002-10-19 02:27:14 +00:00
dchandler
ef4ce16a0f Formatted these to look good in our Java RTF panes.
Formatter the 28 consonants in the canonical way, 7.5 rows.
2002-10-19 02:20:19 +00:00
amontano
8be8924cfc accepting both acip and wylie now 2002-10-18 23:28:49 +00:00
eg3p
836604a97a I added keyboard accelerator shortcuts for most menu options,
and fixed aspects of QD's QT for Java component. At the moment
there are two classes, SmartQT4JPlayer and SmartJMFPlayer, that
both extend SmartMoviePanel, an abstract class extending Panel.
If it would be better to make SmartMoviePanel an interface that
would only require minor changes.

You can switch back and forth between JMF and QT4J from the
menu bar, or you can type:

java -Dthdl.media.player=qt4j/jmf -jar QuillDriver.jar

Note that the QT4J module crashes sometimes before it can open
the video file. I'm not sure why.
2002-10-18 16:11:50 +00:00
eg3p
77ba841c6e no message 2002-10-18 15:50:35 +00:00
dchandler
7f24759ff6 You can now easily extend the classpath by putting .zip files into
extensions/drop-ins/.
2002-10-18 02:57:57 +00:00
eg3p
2ea513bab8 Began implementing Quicktime for Java (QT4J) option in QD. As it is, Mac OS goes to Quicktime, while Windows goes to JMF. QT player stills needs some work. 2002-10-15 21:22:59 +00:00
eg3p
7cb7f14759 Changed qd-compile to compile org/thdl/tib/text/TibetanHTML.java, necessary for xsl transformations. 2002-10-15 21:14:31 +00:00
dchandler
eeabe3df80 Leave the Java Web Start WAR file on disk unless ant is invoked with the
-Ddelete.the.war= option.

Added 'ant -Dkeystore=foo' and 'ant -Dkey.alias' properties to ease
the creation of Java Web Start releases.
2002-10-15 02:14:54 +00:00
amontano
32c9c95129 good solution for g suffix problem in the acip dictionary. Perhaps solves 90% of the ambiguous cases! 2002-10-14 21:08:19 +00:00
dchandler
cfa4ba4fdb Fixed Javadoc comment. 2002-10-14 05:23:58 +00:00
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