profligacy 0.2-jruby

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/COPYING +55 -0
  2. data/LICENSE +55 -0
  3. data/README +22 -0
  4. data/Rakefile +48 -0
  5. data/doc/rdoc/classes/Proc.html +152 -0
  6. data/doc/rdoc/classes/Proc.src/M000001.html +18 -0
  7. data/doc/rdoc/classes/Proc.src/M000002.html +18 -0
  8. data/doc/rdoc/classes/Profligacy.html +111 -0
  9. data/doc/rdoc/classes/Profligacy/Swing.html +113 -0
  10. data/doc/rdoc/classes/Profligacy/Swing/Build.html +238 -0
  11. data/doc/rdoc/classes/Profligacy/Swing/Build.src/M000003.html +23 -0
  12. data/doc/rdoc/classes/Profligacy/Swing/Build.src/M000004.html +18 -0
  13. data/doc/rdoc/classes/Profligacy/Swing/Build.src/M000005.html +45 -0
  14. data/doc/rdoc/classes/Profligacy/Swing/Build.src/M000006.html +18 -0
  15. data/doc/rdoc/classes/Profligacy/Swing/Build.src/M000007.html +22 -0
  16. data/doc/rdoc/classes/Profligacy/Swing/Listeners.html +123 -0
  17. data/doc/rdoc/classes/Profligacy/Swing/RunnableProc.html +161 -0
  18. data/doc/rdoc/classes/Profligacy/Swing/RunnableProc.src/M000008.html +18 -0
  19. data/doc/rdoc/classes/Profligacy/Swing/RunnableProc.src/M000009.html +18 -0
  20. data/doc/rdoc/created.rid +1 -0
  21. data/doc/rdoc/files/COPYING.html +168 -0
  22. data/doc/rdoc/files/LICENSE.html +168 -0
  23. data/doc/rdoc/files/README.html +127 -0
  24. data/doc/rdoc/files/lib/profligacy/swing_rb.html +108 -0
  25. data/doc/rdoc/fr_class_index.html +32 -0
  26. data/doc/rdoc/fr_file_index.html +30 -0
  27. data/doc/rdoc/fr_method_index.html +35 -0
  28. data/doc/rdoc/index.html +24 -0
  29. data/doc/rdoc/rdoc-style.css +208 -0
  30. data/examples/prefuse_sample.rb +62 -0
  31. data/examples/swing1.rb +19 -0
  32. data/examples/swing2.rb +26 -0
  33. data/examples/swing3.rb +38 -0
  34. data/examples/swing4.rb +34 -0
  35. data/examples/swing5.rb +31 -0
  36. data/examples/swing6.rb +33 -0
  37. data/examples/swing7.rb +37 -0
  38. data/examples/swing8.rb +64 -0
  39. data/lib/profligacy/swing.rb +139 -0
  40. data/tools/rakehelp.rb +121 -0
  41. metadata +88 -0
@@ -0,0 +1,35 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/Profligacy/Swing/Build.html#M000005">build (Profligacy::Swing::Build)</a><br />
24
+ <a href="classes/Profligacy/Swing/Build.html#M000007">each_or_one (Profligacy::Swing::Build)</a><br />
25
+ <a href="classes/Profligacy/Swing/Build.html#M000004">interactions (Profligacy::Swing::Build)</a><br />
26
+ <a href="classes/Profligacy/Swing/Build.html#M000006">method_missing (Profligacy::Swing::Build)</a><br />
27
+ <a href="classes/Profligacy/Swing/Build.html#M000003">new (Profligacy::Swing::Build)</a><br />
28
+ <a href="classes/Profligacy/Swing/RunnableProc.html#M000008">new (Profligacy::Swing::RunnableProc)</a><br />
29
+ <a href="classes/Profligacy/Swing/RunnableProc.html#M000009">run (Profligacy::Swing::RunnableProc)</a><br />
30
+ <a href="classes/Proc.html#M000001">to_listener (Proc)</a><br />
31
+ <a href="classes/Proc.html#M000002">to_runnable (Proc)</a><br />
32
+ </div>
33
+ </div>
34
+ </body>
35
+ </html>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
+
6
+ <!--
7
+
8
+ RDoc Documentation
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>RDoc Documentation</title>
14
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
+ </head>
16
+ <frameset rows="20%, 80%">
17
+ <frameset cols="25%,35%,45%">
18
+ <frame src="fr_file_index.html" title="Files" name="Files" />
19
+ <frame src="fr_class_index.html" name="Classes" />
20
+ <frame src="fr_method_index.html" name="Methods" />
21
+ </frameset>
22
+ <frame src="files/README.html" name="docwin" />
23
+ </frameset>
24
+ </html>
@@ -0,0 +1,208 @@
1
+
2
+ body {
3
+ font-family: Verdana,Arial,Helvetica,sans-serif;
4
+ font-size: 90%;
5
+ margin: 0;
6
+ margin-left: 40px;
7
+ padding: 0;
8
+ background: white;
9
+ }
10
+
11
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
+ h1 { font-size: 150%; }
13
+ h2,h3,h4 { margin-top: 1em; }
14
+
15
+ a { background: #eef; color: #039; text-decoration: none; }
16
+ a:hover { background: #039; color: #eef; }
17
+
18
+ /* Override the base stylesheet's Anchor inside a table cell */
19
+ td > a {
20
+ background: transparent;
21
+ color: #039;
22
+ text-decoration: none;
23
+ }
24
+
25
+ /* and inside a section title */
26
+ .section-title > a {
27
+ background: transparent;
28
+ color: #eee;
29
+ text-decoration: none;
30
+ }
31
+
32
+ /* === Structural elements =================================== */
33
+
34
+ div#index {
35
+ margin: 0;
36
+ margin-left: -40px;
37
+ padding: 0;
38
+ font-size: 90%;
39
+ }
40
+
41
+
42
+ div#index a {
43
+ margin-left: 0.7em;
44
+ }
45
+
46
+ div#index .section-bar {
47
+ margin-left: 0px;
48
+ padding-left: 0.7em;
49
+ background: #ccc;
50
+ font-size: small;
51
+ }
52
+
53
+
54
+ div#classHeader, div#fileHeader {
55
+ width: auto;
56
+ color: white;
57
+ padding: 0.5em 1.5em 0.5em 1.5em;
58
+ margin: 0;
59
+ margin-left: -40px;
60
+ border-bottom: 3px solid #006;
61
+ }
62
+
63
+ div#classHeader a, div#fileHeader a {
64
+ background: inherit;
65
+ color: white;
66
+ }
67
+
68
+ div#classHeader td, div#fileHeader td {
69
+ background: inherit;
70
+ color: white;
71
+ }
72
+
73
+
74
+ div#fileHeader {
75
+ background: #057;
76
+ }
77
+
78
+ div#classHeader {
79
+ background: #048;
80
+ }
81
+
82
+
83
+ .class-name-in-header {
84
+ font-size: 180%;
85
+ font-weight: bold;
86
+ }
87
+
88
+
89
+ div#bodyContent {
90
+ padding: 0 1.5em 0 1.5em;
91
+ }
92
+
93
+ div#description {
94
+ padding: 0.5em 1.5em;
95
+ background: #efefef;
96
+ border: 1px dotted #999;
97
+ }
98
+
99
+ div#description h1,h2,h3,h4,h5,h6 {
100
+ color: #125;;
101
+ background: transparent;
102
+ }
103
+
104
+ div#validator-badges {
105
+ text-align: center;
106
+ }
107
+ div#validator-badges img { border: 0; }
108
+
109
+ div#copyright {
110
+ color: #333;
111
+ background: #efefef;
112
+ font: 0.75em sans-serif;
113
+ margin-top: 5em;
114
+ margin-bottom: 0;
115
+ padding: 0.5em 2em;
116
+ }
117
+
118
+
119
+ /* === Classes =================================== */
120
+
121
+ table.header-table {
122
+ color: white;
123
+ font-size: small;
124
+ }
125
+
126
+ .type-note {
127
+ font-size: small;
128
+ color: #DEDEDE;
129
+ }
130
+
131
+ .xxsection-bar {
132
+ background: #eee;
133
+ color: #333;
134
+ padding: 3px;
135
+ }
136
+
137
+ .section-bar {
138
+ color: #333;
139
+ border-bottom: 1px solid #999;
140
+ margin-left: -20px;
141
+ }
142
+
143
+
144
+ .section-title {
145
+ background: #79a;
146
+ color: #eee;
147
+ padding: 3px;
148
+ margin-top: 2em;
149
+ margin-left: -30px;
150
+ border: 1px solid #999;
151
+ }
152
+
153
+ .top-aligned-row { vertical-align: top }
154
+ .bottom-aligned-row { vertical-align: bottom }
155
+
156
+ /* --- Context section classes ----------------------- */
157
+
158
+ .context-row { }
159
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
+ .context-item-value { font-size: small; color: #448; }
161
+ .context-item-desc { color: #333; padding-left: 2em; }
162
+
163
+ /* --- Method classes -------------------------- */
164
+ .method-detail {
165
+ background: #efefef;
166
+ padding: 0;
167
+ margin-top: 0.5em;
168
+ margin-bottom: 1em;
169
+ border: 1px dotted #ccc;
170
+ }
171
+ .method-heading {
172
+ color: black;
173
+ background: #ccc;
174
+ border-bottom: 1px solid #666;
175
+ padding: 0.2em 0.5em 0 0.5em;
176
+ }
177
+ .method-signature { color: black; background: inherit; }
178
+ .method-name { font-weight: bold; }
179
+ .method-args { font-style: italic; }
180
+ .method-description { padding: 0 0.5em 0 0.5em; }
181
+
182
+ /* --- Source code sections -------------------- */
183
+
184
+ a.source-toggle { font-size: 90%; }
185
+ div.method-source-code {
186
+ background: #262626;
187
+ color: #ffdead;
188
+ margin: 1em;
189
+ padding: 0.5em;
190
+ border: 1px dashed #999;
191
+ overflow: hidden;
192
+ }
193
+
194
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
+
196
+ /* --- Ruby keyword styles --------------------- */
197
+
198
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
+
200
+ .ruby-constant { color: #7fffd4; background: transparent; }
201
+ .ruby-keyword { color: #00ffff; background: transparent; }
202
+ .ruby-ivar { color: #eedd82; background: transparent; }
203
+ .ruby-operator { color: #00ffee; background: transparent; }
204
+ .ruby-identifier { color: #ffdead; background: transparent; }
205
+ .ruby-node { color: #ffa07a; background: transparent; }
206
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
+ .ruby-regexp { color: #ffa07a; background: transparent; }
208
+ .ruby-value { color: #7fffd4; background: transparent; }
@@ -0,0 +1,62 @@
1
+ require 'profligacy/swing'
2
+ require 'prefuse'
3
+
4
+ import 'javax.swing.JFrame'
5
+
6
+ module PrefuseTest
7
+ include_package 'prefuse'
8
+ include_package 'prefuse.activity'
9
+ include_package 'prefuse.data'
10
+ include_package 'prefuse.data.io'
11
+ include_package 'prefuse.action'
12
+ include_package 'prefuse.action.assignment'
13
+ include_package 'prefuse.action.layout.graph'
14
+ include_package 'prefuse.controls'
15
+ include_package 'prefuse.render'
16
+ include_package 'prefuse.util'
17
+ include_package 'prefuse.visual'
18
+
19
+
20
+ graph = GraphMLReader.new.readGraph("socialnet.xml")
21
+ vis = Visualization.new
22
+ vis.add "graph", graph
23
+ vis.setInteractive("graph.edges", nil, false)
24
+
25
+ r = LabelRenderer.new "name"
26
+ r.set_rounded_corner(8,8)
27
+
28
+ vis.renderer_factory = DefaultRendererFactory.new(r)
29
+
30
+ palette = [
31
+ ColorLib.rgb(255,180,180),
32
+ ColorLib.rgb(190,190,255)
33
+ ].to_java :int
34
+
35
+ fill = DataColorAction.new "graph.nodes", "gender", Constants::NOMINAL, VisualItem::FILLCOLOR, palette
36
+ text = ColorAction.new "graph.nodes", VisualItem::TEXTCOLOR, ColorLib.gray(0)
37
+ edges = ColorAction.new "graph.edges", VisualItem::STROKECOLOR, ColorLib.gray(200)
38
+
39
+ color = ActionList.new
40
+ color.add(fill)
41
+ color.add(text)
42
+ color.add(edges)
43
+
44
+ layout = ActionList.new(Activity::INFINITY)
45
+ layout.add(ForceDirectedLayout.new("graph"))
46
+ layout.add(RepaintAction.new)
47
+
48
+ vis.putAction("color", color)
49
+ vis.putAction("layout", layout)
50
+
51
+ d = Display.new(vis)
52
+ d.setSize 1024,768
53
+ d.addControlListener(DragControl.new)
54
+ d.addControlListener(PanControl.new)
55
+ d.addControlListener(ZoomControl.new)
56
+
57
+ @ui = SwingHelp::Build.new(JFrame, :data) {|c,i| c.data = d }
58
+ @ui.build("Prefuse Example").default_close_operation = JFrame::EXIT_ON_CLOSE
59
+
60
+ vis.run("color")
61
+ vis.run("layout")
62
+ end
@@ -0,0 +1,19 @@
1
+ require 'java'
2
+ require 'profligacy/swing'
3
+
4
+ import 'javax.swing.JFrame'
5
+ import 'javax.swing.JLabel'
6
+
7
+ class SwingDemo
8
+ def initialize
9
+ jfrm = JFrame.new "A Simple Demo"
10
+ jfrm.setSize(275,100)
11
+ jfrm.default_close_operation = JFrame::EXIT_ON_CLOSE
12
+ jlab = JLabel.new " Swing powers the modern Java GUI"
13
+ jfrm.add jlab
14
+ jfrm.pack
15
+ jfrm.visible = true
16
+ end
17
+ end
18
+
19
+ SwingUtilities.invoke_later proc { SwingDemo.new }.to_runnable
@@ -0,0 +1,26 @@
1
+ require 'profligacy/swing'
2
+
3
+ module Buttons
4
+ class ButtonDemo
5
+ include_package 'javax.swing'
6
+ include_package 'java.awt'
7
+ include Profligacy
8
+
9
+ def initialize
10
+ @ui = Swing::Build.new JFrame, :first, :second, :lab do |c,i|
11
+ c.lab = JLabel.new "Press A Button."
12
+ c.first = JButton.new "First"
13
+ c.second = JButton.new "Second"
14
+
15
+ i.first = { :action => proc {|t,e| c.lab.text = "First pressed." } }
16
+ i.second = { :action => proc {|t,e| c.lab.text = "Second pressed." } }
17
+ end
18
+
19
+ @ui.layout = FlowLayout.new
20
+ @ui.build("The Sample Layout").default_close_operation = JFrame::EXIT_ON_CLOSE
21
+ end
22
+ end
23
+ end
24
+
25
+ SwingUtilities.invoke_later proc { Buttons::ButtonDemo.new }.to_runnable
26
+
@@ -0,0 +1,38 @@
1
+ require 'profligacy/swing'
2
+
3
+ class StopWatch
4
+ include_package 'javax.swing'
5
+ import 'java.awt.FlowLayout'
6
+ include Profligacy
7
+
8
+ def initialize
9
+ @ui = Swing::Build.new JFrame, :start, :stop, :lab do |c,i|
10
+ c.start = JButton.new "Start"
11
+ c.stop = JButton.new "Stop"
12
+ c.lab = JLabel.new "Press Start to begin timing."
13
+
14
+ i.start = { :action => method(:start) }
15
+ i.stop = { :action => method(:stop) }
16
+ end
17
+
18
+ @ui.layout = FlowLayout.new
19
+ @ui.build("Stop Watch").default_close_operation = JFrame::EXIT_ON_CLOSE
20
+ end
21
+
22
+ def start(type, event)
23
+ @ui.lab.text = "Stopwatch is running..."
24
+ @time = Time.new
25
+ end
26
+
27
+ def stop(type, event)
28
+ if @time
29
+ @ui.lab.text = "#{Time.now.to_i - @time.to_i} seconds."
30
+ else
31
+ @ui.lab.text = "Start the watch first."
32
+ end
33
+ @time = nil
34
+ end
35
+ end
36
+
37
+ SwingUtilities.invoke_later proc { StopWatch.new }.to_runnable
38
+
@@ -0,0 +1,34 @@
1
+ require 'profligacy/swing'
2
+
3
+ class AlignLabelDemo
4
+ include_package 'javax.swing'
5
+ include_package 'java.awt'
6
+ include_package 'javax.swing.border'
7
+ include SwingConstants
8
+ include Profligacy
9
+
10
+ def initialize
11
+ border = BorderFactory.createEtchedBorder
12
+
13
+ @ui = Swing::Build.new JFrame, :labels do |c,i|
14
+ c.labels = [
15
+ [:LEFT, :TOP], [:CENTER, :TOP], [:RIGHT, :TOP],
16
+ [:LEFT, :CENTER], [:CENTER, :CENTER], [:RIGHT, :CENTER],
17
+ [:LEFT, :BOTTOM], [:CENTER, :BOTTOM], [:RIGHT, :BOTTOM]
18
+ ].collect do |horiz,vert|
19
+ lab = JLabel.new "#{horiz},#{vert}", AlignLabelDemo.const_get(horiz)
20
+ lab.border = border
21
+ lab.vertical_alignment = AlignLabelDemo.const_get(vert)
22
+ lab
23
+ end
24
+ end
25
+
26
+ @ui.layout = GridLayout.new(3,3,4,4)
27
+ frame = @ui.build("Label Play")
28
+ frame.content_pane.border = BorderFactory.createEmptyBorder 4,4,4,4
29
+ frame.default_close_operation = JFrame::EXIT_ON_CLOSE
30
+ end
31
+ end
32
+
33
+
34
+ SwingUtilities.invoke_later proc { AlignLabelDemo.new }.to_runnable