1App::Asciio(3)        User Contributed Perl Documentation       App::Asciio(3)
2
3
4

NAME

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

SYNOPSIS

32               $> perl asciio.pl
33

DESCRIPTION

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

DOCUMENTATION

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

EXAMPLES

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

DEPENDENCIES

208       gnome libraries, gtk, gtk-perl, perl
209

BUGS AND LIMITATIONS

211       Undoubtedly many as I wrote this as a fun little project where I used
212       no design nor 'methodic' whatsoever.
213

AUTHOR

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

SUPPORTED OSes

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

Mac OsX

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

other unices

279       YMMV, install gtk-perl and AsciiO from cpan.
280

SEE ALSO

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)
Impressum