зеркало из https://github.com/mozilla/pjs.git
f8d02fa8d1
r=gbarney a=edburns This checkin adds java.awt.event.MouseListener support to webclient for mozilla. The following files are include in this checkin. "A" is new file "M" is modified file. A classes_spec/org/mozilla/webclient/WCMouseEvent.java A classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java A src_moz/DOMMouseListenerImpl.cpp A src_moz/DOMMouseListenerImpl.h A src_moz/dom_util.cpp A src_moz/dom_util.h M classes_spec/org/mozilla/webclient/EventRegistration.java M classes_spec/org/mozilla/webclient/test/EMWindow.java M classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java M src_moz/DocumentLoaderObserverImpl.cpp M src_moz/DocumentLoaderObserverImpl.h M src_moz/EventRegistration.cpp M src_moz/EventRegistration.h M src_moz/Makefile.solaris M src_moz/Makefile.win M src_moz/NativeEventThread.cpp M src_moz/NavigationImpl.cpp M src_moz/RDFTreeNode.cpp M src_moz/bal_util.cpp M src_moz/jni_util.cpp M src_moz/jni_util.h M src_moz/jni_util_export.cpp M src_moz/jni_util_export.h A classes_spec/org/mozilla/webclient/WCMouseEvent.java * <P> This java.awt.event.MouseEvent subclass allows the user to access the * WebclientEvent. This eventData of this WebclientEvent, if non-null, * is a java.util.Properties instance that contains information about * this event. </P> * <P>The following are some interesting keys:</P> * <UL> * <LI> href * </LI> * <LI> #text * </LI> * </UL> A classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java * This class wraps the user provided instance of * java.awt.event.MouseListener so it can be installed as a * WebclientEventListener. Note that we implement MouseListener so we * can be detected by the webclient event system. We don't do anything * with these methods here, though. A src_moz/DOMMouseListenerImpl.cpp A src_moz/DOMMouseListenerImpl.h * This class is the shim between the mozilla listener event system for * mouse events and the java MouseListener interface. * For each of the Mouse* methods, we call the appropriate method in java. * See the implementation of MouseOver for an example. * For each mouseEvent, we create a Properties object containing * information about the event. We use methods in dom_util to do this. A src_moz/dom_util.cpp A src_moz/dom_util.h /** * Methods to simplify webclient accessing the mozilla DOM. */ M classes_spec/org/mozilla/webclient/EventRegistration.java Added support for java.awt.event.MouseListener M classes_spec/org/mozilla/webclient/test/EMWindow.java Implemented simle MouseListener M classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java Added support for java.awt.event.MouseListener M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java Added support for java.awt.event.MouseListener M src_moz/DocumentLoaderObserverImpl.cpp M src_moz/DocumentLoaderObserverImpl.h * We define a local IID to allow the addDocumentLoadListener and * addMouseListener functions in EventRegistration.{h,cpp} to * interrogate the currently installed DocumentLoaderObserver instance * in mozilla. */ #define NS_IDOCLOADEROBSERVERIMPL_IID_STR "fdadb2e0-3028-11d4-8a96-0080c7b9c5ba" #define NS_IDOCLOADEROBSERVERIMPL_IID {0xfdadb2e0, 0x3028, 0x11d4, { 0x8a, 0x96, 0x00, 0x80, 0xc7, 0xb9, 0xc5, 0xba }} /** * This class is the shim between the mozilla listener event system for * document load events and the java DocumentLoadListener interface. * For each of the On* methods, we call the appropriate method in java. * See the implementation of OnEndDocumentLoad for an example. * A DocumentLoaderObserverImpl instance has a "jobject target", which * is the Java object that should ultimately receive the events. This * target will be null if the user just wants to listen for mouse * events. It willl be non-null if the user wants to listen for * DocumentLoad events. * It also hosts a nsIDOMMouseListener instance, which piggybacks on the * nsIDocumentLoaderObserver instance. M src_moz/EventRegistration.cpp M src_moz/EventRegistration.h Add support for MouseListener M src_moz/Makefile.win Added classes for MouseListener and Dom access M src_moz/NativeEventThread.cpp Added support for MouseListener M src_moz/NavigationImpl.cpp Added call to ReleaseStringChars for bal case. M src_moz/RDFTreeNode.cpp Added call to ReleaseStringChars for bal case. M src_moz/bal_util.cpp Added #include "wchar.h" so this file compiles on Solaris. M src_moz/jni_util.cpp Added implementations for util_CreatePropertiesObject, util_DestroyPropertiesObject and util_StoreIntoPropertiesObject. M src_moz/jni_util.h /** * A JNI wrapper to create a java.util.Properties object, or the * equivalent object in the BAL case. */ jobject util_CreatePropertiesObject(JNIEnv *env, jobject reserved_NotUsed); /** * A JNI wrapper to destroy the object from CreatePropertiesObject */ void util_DestroyPropertiesObject(JNIEnv *env, jobject propertiesObject, jobject reserved_NotUsed); /** * A JNI wrapper for storing a name/value pair into the Properties * object created by CreatePropertiesObject */ void util_StoreIntoPropertiesObject(JNIEnv *env, jobject propertiesObject, jobject name, jobject value); M src_moz/jni_util_export.cpp M src_moz/jni_util_export.h Added functions for allowing the BAL user to specify functions for {creating, destroying, setting values into} properties objects. |
||
---|---|---|
.. | ||
bal | ||
bal_test | ||
classes | ||
classes_spec | ||
src | ||
src_moz | ||
Makefile.in | ||
Makefile.win | ||
README | ||
changelo |
README
Here lies the MozWebShell java wrapper to mozilla M8. Authors: Kirk Baker <kbaker@eb.com> Ian Wilkinson <iw@ennoble.co> Build hacking and packaging: Ed Burns <edburns@acm.org> Unix port: Mark Lin <mark.lin@eng.sun.com> ======================================================================== Win32 Build Directions: ======================================================================== Requirements: * built mozilla with source code from after 10/5/99 * JDK1.1.7 or greater * built org.mozilla.util java classes (see NOTE_UTIL) * Perl 5 perl.exe must be in your path How To Build: * Follow the directions in ..\README * type "nmake /f makefile.win all" and hope for the best How to Run: * once the build has successfully completed, run this batch file: .\src\WIN32_D.OBJ\runem.bat <opt: YOUR_URL> Note that YOUR_URL is probably necessary since firewall support wasn't working in M8. Problems: * clobber_all doesn't remove the .class files from dist\classes. You have to do this manually. * post to netscape.public.mozilla.java newsgroup ======================================================================== Unix Build Directions (currently only Linux, Solaris support is coming soon): ======================================================================== Requirements: * built mozilla tree for some variant of Linux * JDK1.2 with native threads support from http://www.blackdown.org (JDK1.1 doesn't seem to work) * built org.mozilla.util java classes (see NOTE_UTIL) How To Build: * Follow the directions in ../util/README * set JDKHOME to where your JDK install directory resides -> setenv JDKHOME /usr/local/jdk1.2 * cd to 'classes' and type "make -f makefile.unix" and hope for the best -> cd classes; make -f Makefile.unix * then cd to 'src' and type "make -f makefile.unix" and hope for the best -> cd src; make -f Makefile.unix How to Run: * once the build has successfully completed, run 'runem.unix' in your 'src' directory: -> cd src; ./runem.unix <YOUR_URL> Note that YOUR_URL is probably necessary since firewall support wasn't working in M8. Problems? Email mark.lin@eng.sun.com or post to netscape.public.mozilla.java. ======================================================================== NOTE_UTIL: ======================================================================== * this package depends on the org.mozilla.util classes, which can be found in the mozilla tree under mozilla\java\util. They are a separate checkout and build. Once you check out the org.mozilla.util classes, see the README in the mozilla\java\util\README. General notes: * Please update the ChangeLog (changelo) when you make changes.