App-Asciio
view release on metacpan or search on metacpan
- but we must not be intruisive
- md5 ??
re-parsable asciio output with minimal data
read
http://www-cs-students.stanford.edu/~amitp/gameprog.html
Path finding, see ISBN 2550-0124977820
add actions:
- select all elements connected to currently selected element(s)
- select all elemet connected to the element under the pointer
- expend selection level with '+', also implement '-', '*', ...
- optimize current arrow (A* pathfinder)
- click + key on arrow adds a 'flex' point
what's new section
night colors don't change the ruler colors
? generate "nice looking" graph
- interface to ditaa
- HTML document?!
copy to clipboard removes empty lines at the begining of the buffer
two section arrow middle connector keeps horizontal with linked element
this would reduce the amount of changes that need to be done manually
Curses UI
tutorial
add offset input to multiple element creation window
slide mode
accept a directory as input
show slides based on sort order or order.slide.txt
allow saving of modified slides
allow deletion and insertion of slides
what if the slides are under git control?
extra window to show slide order and modify it (and the slides maybe)
extra slide menu (through actions)
open
save
insert
delete
arrow menu not working
document what ascii_events should contain
links to gtk doc
should the content itself be defined in the derived class?
split into two distributions?
=> easier for those who want to build another interface
setup/actions manipulating asciio object directely move to asciio
transparent background for cmd output
width > spaces == transparent
spaces => transparent
0 => transparent
merge arrows and split arrow
arrow merge object
like a single character text but nicer to use with arrows
or merge arrow connections directely (weld them together)
multi-ended connectors
add remove end from multi ended connectors
start and end connectors should have different colors
copy elements to the system clipboard to allow copies between instances
handle multiple versions with one of the following mechanisms:
- embed git::PurePerl
- use PAR
- multiple directories
Display version somewhere
connected, non auto-connect, arrows loose their connection if the connectee is resized
=> this is because resize doesn't keep the connection. The
canonizer reconnects elements but non auto-connect objects are not handled by the canonizer
=> make canonizer re connect to the same place instead for changing the connector
magnet object for ESD
reload color options after loading file
display_grid + element_backgound_color
search for stripe class in the setup directory
or list the directories in the setup
or add the directory as setup data and 'use lib'
let actions load stencils
forward KB + mouse events to stripes objects
table object
bulleted lists and otherwise formatted text
record box object
save as pdf and printing
more than one resize handle
zoom on pointer
#not ctl to zoom
panning
scrollbars
autosave
connector grouping
#stencil directory
#if a directory is listed in the stencil section of the setup file,
all the stencils in that directory are loaded
#directory name should be added to the element name
#ASCII in the context menue should be replaced by stencils or whatever directory is the root
#network stencils
missing small wireless
#auto stencil
stencils are 'run' this means that they can be created from other data
#remove section at the begining of the arrow
#add section at the begining of the arrow
=> auto connection works but moving the connected object -> error
#dialogs
#button missing icons
!assign ctl + enter as OK in edit boxes
=> alt + C
#vertical text
!signing objects and diagrams?
#toggle grid
#text object should be resized to the text size when created
#allow non auto-connect to be one character around the object instead for _on_ the object
=> this could be handled by the box object
- the box object is asked to match a connector
- the box object can dynamically create a connector
- if the box object is resized, the connectors can be moved
the connectors can remember their position if the
box object is resized again
- new connection should connect new connectors
=> we need to know who we are connecting to
=> or this could be done by the asciio object
- asciio asks the box to add a connection
this let ascioo decide where they should be placed instead for
deciding it's around the box
- the user can add connectors with the same mechanism
- the connector must be handled when resizing the box object
by the box object or by the connector itself
#Box added via 'B' shortcut should be selected
#reselect elements after quick link
#select text an focus in text editing window
#error: title has frame when text doesn't
#link to camel box
#background color, grid color
#save file in exit dialog
#continuation _from_ diagonal is not correct
!allow diagonals in setup
#diagonal lines
#error: connector character is wrong
#dynamically choose if the arrow allows diagonal or not (keyboard)
#handle error when running external command
Can't exec "dsq": No such file or directory at '/devel/perl_modules/App/Asciio/blib/lib/App/Asciio/setup//actions/unsorted.pl' line 365.
Use of uninitialized value in split at /devel/perl_modules/App/Asciio/blib/lib/App/Asciio/stripes/editable_box2.pm line 50.
#paste at the mouse position
#per arrow autoconnect
#dynamically add connectors
#copy selected elements to clipboard
#move ruler line definition to the setup
allow removal of rulers
allow specific location of rulers
#dynamically generate GROUP_COLORS
#figlet support
Done via external command
Emanuel Haupt <ehaupt@freebsd.org>
Useless use of a constant in void context at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 177.
hundreds of :
Use of uninitialized value in substitution (s///) at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 93.
Use of uninitialized value in concatenation (.) or string at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 95.
Use of uninitialized value in string ne at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 154.
Use of uninitialized value in string eq at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 163.
Use of uninitialized value in string ne at /usr/lib64/perl5/site_perl/5.8.8/Text/FIGlet.pm line 200.
#non connecting section wirl arrows
#external command output
Emanuel Haupt <ehaupt@freebsd.org>
#screencast demo
#remove section
#export png
#possibility to close the application from a script
#return edits the currently selected box
#error: targets are not opened
#register_action_handlers return own data not the evaled package
connection seems to be wrong as it moves with the copied element but is not connected
difficult to reproduce
#shortcut to change the direction of an arrow instead for using wirl
!auto connect with quick link uses the closest to the pointer
give hint to wirl creation
=> better to be consistent. preference can be given in actions/mouse.pl
#action shortcut should not be gtk dependent
# remove redo_stack_maximum_size
#action should register a name we can call them with instead for calling them by keyboard mapping
#move %loaded_types in gpad_io to object
#save file sets title, or not
#gpad format is unreadable anyway, compress
#gpade import/export
remove gpade from gpad
# importer can set the title
#open save POD
#use work directory
#remove all unecessary use from the action files
#open save export as plugins
#saving as xx.txt will not save anything in gpad anymore
! add --setup to locate the setup directory
=> use file::Repository
=> use getopt
#override/move gpad internally set variables with variables set in the setup files
#=> wait till tab to space is defined
#command to generate a stencil ready definition from the current state of an object
=> load multiple stencils and keep the filesystem structure in the popup menues
=> allow shortcut to be associated with the stencil elements (by name and in setup files)
#drawing arrow into box connects the arrow
#transfor tabs to space
#only allow start-end connectors to link for multiwirl
but allow moving of the intermediate connectors
#shortcut that adds elements but opens the edit dialog directly before inserting the object
should this be the default for object creation from stencils?
=> shall we add a EDIT_ON_CREATE fields=
#ctl + shift + arrows => connect arrows as connect boxes does
#color groups when using solid background
=> through a get_element_background_color
#error shift plus select area doesn't work
#do notshow resize rectangle if attribut is not set
#error after aligning box centers, the connectors are real weird in if_elsif.gpad
#verify all the '* $character_' and '\ $character_'
#editing box breaks the connections
#?use DTD::GTK for dumps
!? table element
=> user defined plugin in the future
!one character element should move not resize
#keyboard mapping
#automatic moving of start connector is weird
=> $moved_connector_name
#-init
#export is broken since 'save as'
#handle file save properly
#save unnamed to new name OK
#save unnamed to old name ASK FOR OVERRIDE PERMISSION
#save named DO NOT ASK NAME
#save as WORKS as save UNAMED
#save mark document as NOT MODIFIED (check undo still works)
#redo
#quick insert for text (same as quick insert for boxes)
#save element's X Y in character sizes
#access stencil elements by name
!add module with shared constants (ie setup)
=> later
#update_diagram should be configurable
make a module so we can optimize a connection at the time
canonize uses $self for character size only
? ask for the optimal connection before creating it
#subs to connect specific connectors wherever the elements are and they are sized
#script using cononize_connection doesn't work, path was changed
#make a script library
!update_diagram should be called when running in script mode
let the script writer decide if they want "optimized" connections or not
# proper setup structure
( run in 1.613 second using v1.01-cache-2.11-cpan-140bd7fdf52 )