Difference between revisions of "Newsgroup summaries:mozilla-dev-embedding:2006-10-06"

From CDOT Wiki
Jump to: navigation, search
m (Javascript callback function with C++ embedding)
Line 36: Line 36:
 
         }
 
         }
 
</pre>
 
</pre>
===Javascript callback function with C++ embedding===
+
===How to map a javascript function to a C++ function===
 
Define an XPCOM class  defining the function you'll be doing in javascript. Then pass the object to your XPCOM coded object and call it from C++. You can find this answered repeated and with an example  [http://groups.google.com/group/mozilla.dev.embedding/browse_thread/thread/af33a04e00387f5d/34d897200d736061#34d897200d736061  here]
 
Define an XPCOM class  defining the function you'll be doing in javascript. Then pass the object to your XPCOM coded object and call it from C++. You can find this answered repeated and with an example  [http://groups.google.com/group/mozilla.dev.embedding/browse_thread/thread/af33a04e00387f5d/34d897200d736061#34d897200d736061  here]

Revision as of 15:49, 6 October 2006

How to customize document retrieval

One method is to implement your own protocol method. You can find more information on adding new protocols here

How to embedding mozilla inside of Java

There hasn't been any good code examples found. However, there is a stripped down, uncommented code with eclipse libraries in this thread. Here is the code :

import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.MozillaBrowser;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.mozilla.xpcom.nsIDOMDocument;

public class Test {
        public static void main(String args[]) {
                Display display = new Display();
                Shell shell = new Shell(display);

                final MozillaBrowser browser = new MozillaBrowser(shell,WT.BORDER);
                browser.setUrl("http://www.google.com");
                browser.addProgressListener(new ProgressListener() {
                        public void changed(ProgressEvent event) {
                        }

                        public void completed(ProgressEvent event) {
                            nsIDOMDocument doc = browser.getDocument();
                                System.out.println(doc);
                        }
                });

                while (!shell.isDisposed()) {
                        if (!display.readAndDispatch()) {
                                display.sleep();
                        }
                }
        }

How to map a javascript function to a C++ function

Define an XPCOM class defining the function you'll be doing in javascript. Then pass the object to your XPCOM coded object and call it from C++. You can find this answered repeated and with an example here