Skip to content

Instantly share code, notes, and snippets.

@weissjeffm
Created February 22, 2013 17:06
Show Gist options
  • Save weissjeffm/5014962 to your computer and use it in GitHub Desktop.
Save weissjeffm/5014962 to your computer and use it in GitHub Desktop.
repl session so i can remember how this works
; nREPL 0.1.7-preview
user> (use 'seesaw.core)
nil
user> (def myframe (frame :title "Hello" :on-close :exit))
#'user/myframe
user> (import com.mxgraph.view.mxGraph)
com.mxgraph.view.mxGraph
user> (def mygraph (mxGraph.))
#'user/mygraph
user> (defn display [content]
(config! f :content content)
content)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: f in this context, compiling:(NO_SOURCE_PATH:2)
user> (defn display [content]
(config! myframe :content content)
content)
#'user/display
user> (pack! myframe)
#<JFrame$Tag$a79ba523 seesaw.core.proxy$javax.swing.JFrame$Tag$a79ba523[frame0,0,18,0x0,hidden,layout=java.awt.BorderLayout,title=Hello,resizable,normal,defaultCloseOperation=EXIT_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]>
user> (display! myframe)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: display! in this context, compiling:(NO_SOURCE_PATH:1)
user> (show! myframe)
#<JFrame$Tag$a79ba523 seesaw.core.proxy$javax.swing.JFrame$Tag$a79ba523[frame0,0,18,1x1,layout=java.awt.BorderLayout,title=Hello,resizable,iconified,defaultCloseOperation=EXIT_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]>
user> (display (scrollable (com.mxgraph.swing.mxGraphComponent. mygraph)))
#<JScrollPane$Tag$a79ba523 seesaw.core.proxy$javax.swing.JScrollPane$Tag$a79ba523[,0,0,1048x1660,layout=javax.swing.ScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder@177cb778,flags=328,maximumSize=,minimumSize=,preferredSize=,columnHeader=,horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=,upperLeft=,upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,1,1,1045x1657,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=,scrollUnderway=false],viewportBorder=]>
user> (-> mygraph .getModel .beginUpdate)
nil
user> (def parent (.getDefaultParent mygraph))
#'user/parent
user> (def v1 (.insertVertex parent null "hello!" 20 20 80 30))
CompilerException java.lang.RuntimeException: Unable to resolve symbol: null in this context, compiling:(NO_SOURCE_PATH:1)
user> (def v1 (.insertVertex parent nil "hello!" 20 20 80 30))
IllegalArgumentException No matching method found: insertVertex for class com.mxgraph.model.mxCell clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)
user> (def v1 (.insertVertex mygraph parent nil "hello!" 20 20 80 30))
#'user/v1
user> (def v2 (.insertVertex mygraph parent nil "wassup!" 240 150 80 30))
#'user/v2
user> (.insertEdge mygraph parent nil "Edge" v1 v2)
#<mxCell com.mxgraph.model.mxCell@2b6aca37>
user> (-> mygraph .getModel .endUpdate)
nil
user>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment