Mercurial > lasercutter
diff src/clojure/contrib/javadoc/browse_ui.clj @ 10:ef7dbbd6452c
added clojure source goodness
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 21 Aug 2010 06:25:44 -0400 |
parents | |
children |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/clojure/contrib/javadoc/browse_ui.clj Sat Aug 21 06:25:44 2010 -0400 1.3 @@ -0,0 +1,31 @@ 1.4 +;;; browse_ui.clj -- starts a swing web browser :-( 1.5 + 1.6 +; Copyright (c) Christophe Grand, December 2008. All rights reserved. 1.7 +; The use and distribution terms for this software are covered by the 1.8 +; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 1.9 +; which can be found in the file epl-v10.html at the root of this 1.10 +; distribution. 1.11 +; By using this software in any fashion, you are agreeing to be bound by 1.12 +; the terms of this license. 1.13 +; You must not remove this notice, or any other, from this software. 1.14 + 1.15 +(ns ^{:deprecated "1.2"} 1.16 + clojure.contrib.javadoc.browse-ui) 1.17 + 1.18 +(defn open-url-in-swing 1.19 + "Opens url (a string) in a Swing window." 1.20 + [url] 1.21 + (let [htmlpane (javax.swing.JEditorPane. url)] 1.22 + (.setEditable htmlpane false) 1.23 + (.addHyperlinkListener htmlpane 1.24 + (proxy [javax.swing.event.HyperlinkListener] [] 1.25 + (hyperlinkUpdate [^javax.swing.event.HyperlinkEvent e] 1.26 + (when (= (.getEventType e) (. javax.swing.event.HyperlinkEvent$EventType ACTIVATED)) 1.27 + (if (instance? javax.swing.text.html.HTMLFrameHyperlinkEvent e) 1.28 + (-> htmlpane .getDocument (.processHTMLFrameHyperlinkEvent e)) 1.29 + (.setPage htmlpane (.getURL e))))))) 1.30 + (doto (javax.swing.JFrame.) 1.31 + (.setContentPane (javax.swing.JScrollPane. htmlpane)) 1.32 + (.setBounds 32 32 700 900) 1.33 + (.show)))) 1.34 +