Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 74 lines (47 sloc) 2.999 kb
c4fbc21 Dave Ray notes
authored
1 _Note that current development is on the *develop* branch, not master_
2
426da21 Dave Ray fix link. :(
authored
3 There's now a [Google Group] (https://groups.google.com/group/seesaw-clj) for discussion and questions.
39c617f Dave Ray Note google group.
authored
4
6a9c005 Dave Ray Update readme
authored
5 # Seesaw: Clojure + UI
cdb4045 Dave Ray readme and various cleanup
authored
6
6a9c005 Dave Ray Update readme
authored
7 _"killing CamelCase, proxy and reify, one class at a time"_
27ed119 Dave Ray Bump version to 1.0.0 for a release. More readme stuff. Removed clojure-...
authored
8
6a9c005 Dave Ray Update readme
authored
9 *_Seesaw's experimental and subject to radical change_*
10
11 _*See [the Seesaw Wiki] (https://github.com/daveray/seesaw/wiki) for more detailed docs*_
12
13 Seesaw is a library/DSL for constructing user interfaces in Clojure. It happens to be built on Swing, but please don't hold that against it. It's an experiment to see what I can do to make user interface development funner in Clojure. It's kinda inspired by [Shoes](http://shoesrb.com/), [Stuart Sierra's Swing posts](http://stuartsierra.com/tag/swing), etc. [clojure.contrib.swing-utils](http://richhickey.github.com/clojure-contrib/swing-utils-api.html) is useful, but minimal and still means a lot of "Java-in-Clojure" coding.
cdb4045 Dave Ray readme and various cleanup
authored
14
e5e53e5 Dave Ray Moved most stuff over to the wiki. README was getting unwieldy.
authored
15
97c54c9 Dave Ray Lein getting started...
authored
16 ## TL;DR
17
18 Here's how you use Seesaw with [Leiningen] (https://github.com/technomancy/leiningen)
19
20 Install `lein` as described and then:
21
22 $ lein new hello-seesaw
23 $ cd hello-seesaw
24
25 Add Seesaw to `project.clj`
26
27 (defproject hello-seesaw "1.0.0-SNAPSHOT"
28 :description "FIXME: write"
29 :dependencies [[org.clojure/clojure "1.2.0"]
30 [org.clojure/clojure-contrib "1.2.0"]
bfe3669 Dave Ray Figuring out this whole versioning/release process.
authored
31 [seesaw "1.0.1"]])
32
4b13830 Dave Ray add a note about bleeding edge
authored
33 _Replace the Seesaw version with whatever the latest version tag is in case I forget to update this. See below!_
97c54c9 Dave Ray Lein getting started...
authored
34
35 Now edit the generated `src/hello_seesaw/core.clj` file:
36
37 (ns hello-seesaw.core
38 (:use seesaw.core))
39
40 (defn -main [& args]
41 (invoke-later
42 (frame :title "Hello",
43 :content "Hello, Seesaw",
44 :on-close :exit)))
45
46 Now run it:
47
48 $ lein run -m hello-seesaw.core
49
4b13830 Dave Ray add a note about bleeding edge
authored
50 *NOTE:* As mentioned above, Seesaw is experimental and changing daily. Thus, there's a good chance that what's on clojars and what's written here are out of sync. Here's how you can run against the bleeding edge of Seesaw:
51
d0962ce Dave Ray Mention dev branch
authored
52 * Clone Seesaw from github. Fork if you like. *Switch to the "develop" branch.*
4b13830 Dave Ray add a note about bleeding edge
authored
53 * In your Seesaw checkout, run `lein install` to build it
54 * In your project's `project.clj` file, change the Seesaw version to `X.Y.Z-SNAPSHOT` to match whatever's in Seesaw's `project.clj`.
55 * Run `lein deps`
56 * Move along
97c54c9 Dave Ray Lein getting started...
authored
57
a159b03 Dave Ray removed dumb boolean literal tests
authored
58 ## TODO
59
1008435 Dave Ray Readme updates.
authored
60 * A non-trivial example app to see if this stuff holds up
7b575f4 Dave Ray Basic GridBagLayout (form-panel) support. Needs some thought.
authored
61 * GridBagLayout needs more work
fd2c9c0 Dave Ray XML in a JTree example.
authored
62 * Graphics - I'd rather not wrap the entire Java2D API if there's already something out there (maybe processing?) that does that.
1008435 Dave Ray Readme updates.
authored
63 * Structural manip - add/remove widgets to containers.
64 * Selectors - select widgets by class, data, etc.
a159b03 Dave Ray removed dumb boolean literal tests
authored
65 * Styling
b264998 Dave Ray update readme
authored
66 * Some kind of ToModel protocol for auto-converting Clojure data-structures to Swing models.
1008435 Dave Ray Readme updates.
authored
67 * Investigate how a framework like [cljque] (https://github.com/stuartsierra/cljque) might fit in with Seesaw
a159b03 Dave Ray removed dumb boolean literal tests
authored
68
cdb4045 Dave Ray readme and various cleanup
authored
69 ## License
70
71 Copyright (C) 2011 Dave Ray
72
73 Distributed under the Eclipse Public License, the same as Clojure.
Something went wrong with that request. Please try again.