1App::Asciio(3) User Contributed Perl Documentation App::Asciio(3)
2
3
4
6 App::Asciio - Plain ASCII diagram
7
8 | | | |
9 | | | | | |
10 | | | | | |
11 v | v | v |
12 v v v
13 _____ _____
14 /\ _ \ /\ __ \
15 \ \ \_\ \ ___ ___ _ _\ \ \ \ \
16 -----> \ \ __ \ / __\ / ___\/\ \/\ \ \ \ \ \ ----->
17 \ \ \ \ \/\__, \/\ \___' \ \ \ \ \ \_\ \
18 \ \_\ \_\/\____/\ \____/\ \_\ \_\ \_____\
19 \/_/\/_/\/___/ \/___/ \/_/\/_/\/_____/
20
21 | | | |
22 | | | | | | |
23 v | | | v | |
24 | v | | |
25 v | | v
26 v v
27 (\_/)
28 (O.o) ASCII world domination is near!
29 (> <)
30
32 $> perl asciio.pl
33
35 This gtk2-perl application allows you to draw ASCII diagrams in a
36 modern (but simple) graphical application. The ASCII graphs can be
37 saved as ASCII or in a format that allows you to modify them later.
38
39 Thanks to all the Perl-QA hackathon 2008 in Oslo for pushing me to do
40 an early release.
41
42 Special thanks go to the Muppet and the gtk-perl group, Gabor Szabo for
43 his help and advices.
44
45 Adam Kennedy coined the cool name.
46
47 Sometimes a diagram is worth a lot of text in a source code file. It
48 has always been painfull to do ASCII diagrams by hand.
49
51 Asciio user interface
52 .-----------------------------------------------------------------.
53 | Asciio |
54 |-----------------------------------------------------------------|
55 | ............................................................... |
56 | ..............-------------..------------..--------------...... |
57 | .............| stencils > || asciio > || box |..... |
58 | .............| Rulers > || computer > || text |..... |
59 | .............| File > || people > || wirl_arrow |..... |
60 grid---------->.......'-------------'| divers > || axis |..... |
61 | ............................'------------'| boxes > |..... |
62 | ......................^...................| rulers > |..... |
63 | ......................|...................'--------------'..... |
64 | ......................|........................................ |
65 | ......................|........................................ |
66 | ......................|........................................ |
67 | ......................|........................................ |
68 '-----------------------|-----------------------------------------'
69 |
70 |
71 context menu
72
73 context menu
74 The context menu allows to access to asciio commands. ASCII is used to
75 insert ASCII elements.
76
77 keyboard shortcuts
78 All the keyboad commands definitions can be found under
79 asciio/setup/actions/. Among the commands implemented are:
80
81 · select all
82
83 · delete
84
85 · undo
86
87 · group/ungroup
88
89 · open / save
90
91 · local clipboard operations
92
93 A window displaying the currently available commands is displayed if
94 you press K.
95
96 elements
97 There but a few elements implemented at the moment.
98
99 wirl arrow
100
101 An arrow that tries to do what you want. Try rotating the end clockwise
102 then counter clockwise to see how it acts
103
104 ^
105 |
106 | --------.
107 | |
108 '------- |
109 |
110 O-------------X / |
111 / |
112 / |
113 / v
114 /
115 /
116 v
117
118 box and text
119
120 Both are implemented within the same code. Try double clicking on a box
121 to see what you can do with it.
122
123 .----------.
124 | title |
125 .----------. |----------| ************
126 | | | body 1 | * *
127 '----------' | body 2 | ************
128 '----------'
129 anything in a box
130 (\_/) |
131 edit_me (O.o) <------------'
132 (> <)
133
134 your own stencils
135
136 Take a look at setup/stencils/computer for a stencil example. Stencils
137 lites in setup/setup.ini will be loaded when Asciio starts.
138
139 your own element type
140
141 For simple elemnts, put your design in a box. that should cover 90% of
142 anyone's needs. You can look in lib/stripes for element implementation
143 examples.
144
145 exporting to ASCII
146 You can export to a file in ASCII format but using the .txt extension.
147
148 Exporting to the clipboard is done with ctl + e.
149
151 User code ^ ^ OS code
152 \ /
153 \ /
154 \ /
155 User code <----Mode----->OS code
156 / \
157 / \
158 / \
159 User code v v OS code
160
161
162
163
164 .---. .---. .---. .---. .---. .---.
165 OS API '---' '---' '---' '---' '---' '---'
166 | | | | | |
167 v v | v | v
168 .------------. | .-----------. | .-----.
169 | Filesystem | | | Scheduler | | | MMU |
170 '------------' | '-----------' | '-----'
171 | | | |
172 v | | v
173 .----. | | .---------.
174 | IO |<----' | | Network |
175 '----' | '---------'
176 | | |
177 v v v
178 .---------------------------------------.
179 | HAL |
180 '---------------------------------------'
181
182
183
184
185 .---------. .---------.
186 | State 1 | | State 2 |
187 '---------' '---------'
188 ^ \ ^ \
189 / \ / \
190 / \ / \
191 / \ / \
192 / \ / \
193 / v v
194 ****** ****** ******
195 * T1 * * T2 * * T3 *
196 ****** ****** ******
197 ^ ^ /
198 \ \ /
199 \ \ /
200 \ \ / stimuli
201 \ \ /
202 \ \ v
203 \ .---------.
204 '--------| State 3 |
205 '---------'
206
208 gnome libraries, gtk, gtk-perl, perl
209
211 Undoubtedly many as I wrote this as a fun little project where I used
212 no design nor 'methodic' whatsoever.
213
215 Khemir Nadim ibn Hamouda
216 CPAN ID: NKH
217 mailto:nadim@khemir.net
218
220 This program is free software; you can redistribute it and/or modify it
221 under the same terms as Perl itself.
222
224 Gentoo
225 I run gentoo, packages to install gtk-perl exist. Install Ascii with
226 cpan.
227
228 FreeBSD
229 FreeBSD users can now install asciio either by package:
230
231 $ pkg_add -r asciio
232
233 or from source (out of the ports system) by:
234
235 $ cd /usr/ports/graphics/asciio $ make install clean
236
237 Thanks to Emanuel Haupt.
238
239 Ubuntu and Debian
240 Ports are on the way.
241
242 Windows
243 AsciiO is part of camelbox and can be found here:
244 <http://code.google.com/p/camelbox/>. Install, run AsciiO from the
245 'bin' directory.
246
247 .-------------------------------.
248 / /|
249 / camelbox for win32 / |
250 / / |
251 / / |
252 .-------------------------------. |
253 | ______\\_, | |
254 | (_. _ o_ _/ | |
255 | '-' \_. / | |
256 | / / | |
257 | / / .--. .--. | |
258 | ( ( / '' \/ '' \ " | |
259 | \ \_.' \ ) | |
260 | || _ './ | |
261 | |\ \ ___.'\ / | |
262 | '-./ .' \ |/ | |
263 | \| / )|\ | |
264 | |/ // \\ | .
265 | |\ __// \\__ | /
266 | //\\ /__/ mrf\__| | /
267 | .--_/ \_--. | /
268 | /__/ \__\ |/
269 '-------------------------------'
270
271 camelbox is a great distribution for windows. I hope it will merge with
272 X-berry series of Perl distributions.
273
275 This works too (and I have screenshots to prove it :). I don't own a
276 mac and the mac user hasn't send me how to do it yet.
277
279 YMMV, install gtk-perl and AsciiO from cpan.
280
282 http://www.jave.de
283 http://search.cpan.org/~osfameron/Text-JavE-0.0.2/JavE.pm
284 http://ditaa.sourceforge.net/
285 http://www.codeproject.com/KB/macros/codeplotter.aspx
286 http://search.cpan.org/~jpierce/Text-FIGlet-1.06/FIGlet.pm
287 http://www.fossildraw.com/?gclid=CLanxZXxoJECFRYYEAodnBS8Dg (doesn't always respond)
288
289 http://www.ascii-art.de (used some entries as base for the network stencil)
290 http://c2.com/cgi/wiki?UmlAsciiArt
291 http://www.textfiles.com/art/
292 http://www2.b3ta.com/_bunny/texbunny.gif
293
294
295 *\o_ _o/*
296 / * * \
297 <\ *\o/* />
298 )
299 o/* / > *\o
300 <\ />
301 __o */\ /\* o__
302 * /> <\ *
303 /\* __o_ _o__ */\
304 * / * * \ *
305 <\ />
306 *\o/*
307 ejm97 __)__
308
309
310
311perl v5.12.0 2010-04-29 App::Asciio(3)