Warning, /education/kturtle/TODO.md is written in an unsupported language. File is not indexed.

0001 
0002  = kturtle meeting 26oct09 (niels, cies) =
0003 
0004 - QTextDocument to replace QString in the tokenizer for full unicode support
0005 - DBUS interface for SVG
0006 - ask HIG/celeste about 'Switch application Language'
0007 - cmd language selection _only_ as commandline option
0008 
0009 
0010  = KTurtle TODOs =
0011 
0012 Besides this document you can find TODO items in the code (try grepping for 'TODO'), in the BUGS file and on bugs.kde.org.
0013 
0014  == general ==
0015  * complain about the 'Switch Application Language...' in the Help menu (help center always uses system language)
0016  * Run action group has WhatIsThis, but it doesnt work -- file a bug...
0017  * no secret that i dont like WhatIsThis, it cannot even refer by a link to the Handbook! (useless piece of s***)
0018  * dowload some other LOGO programming manuals that are targetted at young crowd, use these while editing the handbook
0019 
0020  == mainwindow ==
0021  * have a look at KDE's new build-in 'Switch Application Language...', could it fully replace ours.
0022  * make fullscreen mode (hide all GUI elements but the canvas during execution)
0023  * printing dialogs may need some finetuning (like: further kdeification, overwrite protection, etc.)
0024  * do reordering (in stead of duping) when adding already existing recent file items
0025  * disable most of the actions (like File, Edit, Canvas and more) while executing (BUG in bugzilla)
0026  * clean up export methods: make all KUrl aware, and make the dialog generic
0027  * split the context help functionality out of mainwindow
0028 
0029  == interpreter ==
0030  * finish unittests
0031  * fix failing unittests (division by zero, sqrt of a negtive)
0032  * maybe make some switch statement to flip between DEG and RAD
0033  * profile the whole thing... just curiosity -- how much time is spend in what functions
0034  * commandline invoke doesnt handle local files well (like: ../script.turtle)
0035  * make state of more things available to the executer
0036     - add get* commands (get_penwidth or getpenwidth)
0037     - allow argumment over(under)loading, $pw = penwidth
0038     - make state avalable as variables ($_penwidth, $_x, $_x = 100, etc)
0039     - one get command that takes a string (get "penwidth")
0040 
0041  == canvas ==
0042  * context menu (right click) for export and print
0043  * DON'T add wrapping functionality (not a ToDo, but a DontDo)
0044  * GraphicsView not as deterministic in painting as a pixel raster (double lines look more thick)
0045 
0046  == editor ==
0047  * finish context help (F2) action -- work on the handbook
0048  * disable save (not saveAs), or make it work properly for examples
0049  * save can be disabled after a code has been saved
0050 
0051  == handbook ==
0052  * maybe a section on parenthesis and/or scopes
0053  * spellchecking
0054 
0055  == PR ==
0056  * make wikipedia page nicer (screenshots, etc.)
0057  * release a pre-release
0058  * maybe: team up with windows/osx team for a kturtle only installers
0059  * a page (wiki?) for childrens and teachers manual + translations + translators info [or docbook; KDE translated] (userbase??)
0060  * get someone with some english writing/ marketing writing skills to write a small, medium and long intro to kturtle
0061  * use these new writings in: handbook, main.cpp, kde-apps, wikipedia, edu.kde.org/kturtle
0062 
0063  == website ==
0064  * move all screenies to userbase
0065 
0066  == maybe someday's ==
0067  * refactor the generators ruby code
0068  * create a generated parser (yacc/bison style; Qt has a parser generator, KDevelop has one too)
0069 
0070 
0071 
0072 
0073 PLAN: SOLVE GENERAL AMBIGUITY REGARDING THE TOKEN thingy
0074 right now token types are used all over the place. this is not the right way because:
0075  - Token types should be used for tokenizing of the string only. (ie: fw,{,"s",$a, ,#littlecomment,2.2,EOL,+,= are tokens)
0076  - right now their are also used as TreeNode types (ie: Scope, Root, ArgumentList)
0077  - and they are used as translatables in the translation lookup table (especially $,.,# are not tokens by them selves)
0078 currently this is not really a problem -- it works. yet it is not 'how it should be'.
0079 fixing this involves a big rewrite of the generator code, which result may be a major refactor of the interpreter.