- bug, wishes, errmsgs-fixes concering the interpreter HAS TO RESULT IN HUGE REFACTORING
- spice up the errormessage window with my great ideas ON HOLD
>>>>> BUGs::Urgent
cies> currently no urgent bugs that i know of. except for:
THERE IS NO HELP ON THE ERROR DIALOG! (nor on the ColorPicker Dialog and the Configure Dlg)
this is needed for help button references
>>>>> BUGs::Big
- I porbably have to refine the way error message get emitted, problems: Ugly-, short-, technical messages.
I'll have to:
- try to break up/refine the most common errors
- Reformulate all the error messages after simulating them
- have links in there to corresponing help pages --> see WISHes
- Maybe more LONGER, desciptive error messages should be triggered by the 'Help on Error", these messages should be stored in/out-side of the executer/parser, but maybe even better, the errormsg file. I18n should then be easy, and it should supply richtext ((k)html) + links to the manual. (this could be in the same dialog)
- errmsgs should maybe be filtered since there is quite some garbage in the errors that come back.
- possible no newlines in a command this could make the error messages more specific/descriptive. DONE
>>>>> BUGs::Regular
cies: get all the commands in the logokeywords.*.xml file working properly, and remove the commands that are not needed:
Need to work eventually:
- input (without window, grabKeyEvents... not easy :)
- sprite* (i'll maybe look into this when i have Qt3.3 which fixes the nasty crashbug that came across)
- 'speed' will come later [seperate 'move' methods have to be made inaddition to the line methods]
would be nice (not in yet):
- message, just a dialog with sone user defined text
- and a dialog that return a bool (YesNoDlg)
- more drawing functions, use directly from QCanvas; like: filled circle, filled square, filled triangle
- more expressers: isString, isNumber, isRound
- round()
- true and fasle as cunfiguarables ---> in highlightstyle as Fat/grey
- <joke> and what about a 'goto' command ( you can never make them mistakes young enough, muahoahoaaaa >:-} ) </joke> well?
- use qt-richtext <qt></qt> in dialogs etc.
>>>>> BUGs::Small
have the slow-execution cursor stop at more places like: inputwindow, inline functions
if the inputwindow is canceled the returned value is empty. Yet we need to be a hybrid string ("") or number (0).
when aborting execution dont say "Done." in the statusbar
Maybe change the location of the Logo highlightstyles
>>>>> BUGs::Unconfirmed
annma can you go though the next 2 bugs and supply some more info bout them to me? tnx
- The documentation of "not" seems wrong. Should it be a unary <-- annma
operator?
- German examples are twice the same (ask Matthias) <--annma
>>>>> WISHes::important
cies> refactor the interpreter so it is easier to add new commands (using meta programming)
>>>>> WISHes::less important but nice
I saw the KD Executer talk on the aKademy... I (cies) want KD Executer tests for KTurtle to better manage the quality! [ maybe this is important, :) ]
the default font can be a bit bigger and sans serif, and default the <tab> on 2 spaces
have a context menu on right-click in the canvas to save the drawing (right-click -> Save Canvas). cies: then also put "print canvas" and "fullscreen" in there
have the coords of the pixel under the mouse on the canvas in the statusbar
CLI-file-selection (for mimetype eaz)
cies: a fontchooser would be fun
30/12/2003 annma: for the editor font? I can do it ---> default editor font should be bigger and sans serif
04/01/2003 we'll see after the editor part is done
>>>>> WISHes::still subject to discussion
commands do not follow usual commands like forward is FD, reference: http://asijonline.net/ep/logo/logo_com.htm
-is there a logo standardisation? Compatibility is something that i (cies) would think is overdone. Logo is only used for a short moment, to learn programming; it will never produce real-world programs. So?
Preview in konqueror: (from IRC discussion about the preview thing a mimetype and a litle kpart-previewer would not be too dificult wouldn't it
<TSDgeos> you could put the widget you use in klogo in the kpart in read only mode
<polux> yeah good idea, instead of including it as a katepart, making a kturtlepart)
<cies> we could but what is the use of it? will it help to fulfill kturtles objectives?
After a conversiation with lypanov I came to the conclusion that making the executer 'statefull' is a very by thing! So I take the cheap approach using kapp->processEvents();... Maybe someday, later, I'll do it neatly -- the lypanov pointed out. FIXED
annma - 29th December 2003
about the resizing
I think the canvas size should fill all the right side under the toolbar when KTurtle is started. When resizing the window with the mouse, the canvas grows bigger, everything resize smoothly (-> resizeEvent( QResizeEvent * )).
You can leave the resizing option of the canvas in the Settings but only for having the canvas bigger. That would mean setting minimums in the config dialog.
cies: Sorry i have to disagree, let me explain: a lot of logoscripts will be written on a certain canvas size, if the canvas is made bigger the script will give 'broken' output. I also dont have a way to update the 'wrapping' if a canvas is resized. IMHO the canvassize should be changed by a command, nl. canvassize x,y -- which works on my side of mother earth :-) IMHO all changes to the canvas MUST be done by commands and not by clicky-clicky... Putting the 'initial canvas size' in the settings window is only for the teatcher to setup all his computers.
Sorry for beeing so inflexible... *Really* I am still open for discussion! :-) I just have developed a certain vision of KTurtle's future that is really hard to let go.
(annma 30/12/2003 ok then, but the config option should be made clearer that the new canvas size will be next start)
Annma: Idea from my daughter: have a Tux and a Konqui as alternate turtle for the cursor. I don't know if it's possible and if you like it ;)
cies: That is a good plan! I have tux allready in my sprites dir (I'm a fan too!)... but there's one nice thing about the turtle: this animal is very regocnisable from above, and the head points in the direction of movement. Tux is more a front faced character, so nice would be to have an option to put the automatic turning off, and to have a different method to turn tux by command. [please note that i wont do any extra work on getting qt3.3 (needed for sprites), it comes when it comes]
>>>> RECENTLY FIXED BUGs
- settings->configure cauzes crash FIXED thanks to Martijn Klingens -> move "LanguageLabel = new QLabel(kcfg_LanguageComboBox..." down a few lines (after kcfg_LanguageComboBox is init'ed) BACKPORT
- default language translation somehow doesnt work, it seems NO Logo language is selected at all FIXED
- this also results in no examples FIXED
- About the language: when user is set to fr (not fr_FR but fr like me being in Canada), the parsing does not work because Settings::LogoLanguage() is set to fr and NOT to fr_FR.
Syntax highlighting does not work for fr DONE annma
- cies: Make the interpreter (stolen from wsbasic.sf.net) (executer, parser, lexer, number and treenode) more native Qt. Right now they are a mixture of standard-CLI-C++ and Qt thingies (i put the Qt thingies there). I tried do that but i found that i'm not comfortable with the concept of streams -- which are used a lot in the interpreter. Especially streaming TQString was an obstacle i couldnt take. DONE
>>>>> after this is done we can also make the ()[],.""-configurable
With long lines and wrapping the canvas can get into a endless loop -> 100%CPU, i tried a lot to fix this allready, maybe my solution needs some tuning :).
Maybe i should just catch errors and break that endless loop :) FIXED!!! FINALLY