diff options
Diffstat (limited to 'kig/TODO')
-rw-r--r-- | kig/TODO | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/kig/TODO b/kig/TODO new file mode 100644 index 00000000..8acd9949 --- /dev/null +++ b/kig/TODO @@ -0,0 +1,157 @@ +* bugs + +- There is a pretty strange bug in kig when you use the accel keys. + Open Kig, type p to start constructing a point. Click somewhere to + construct one. Now click p again, and press escape to cancel the + construction. It will not work, and you will have to construct as + many points as times you pressed escape ( or perhaps the times you + pressed esc square or sth like that ). Anyway, this is due to how + Kig works with some strange Qt event loop stuff to make its modes + work, along with a strange way in kaccel of working. I have a + patch against kdecore/kaccel.cpp that should fix it, but the real + fix is to get rid of the entire event loop stuff and think of a + better way to manage all this. pino: seems pressing the stop button + n times, where n are the times you pressed escape, cancel all the + constructions, so the problem is the behaviour of escape. + +- The polar coordinate system blocks Kig when zooming. Select the + polar coordinate system, use the Select shown area tool ( or your + favorite zooming tool ) and select a specific part of the document. + Smaller parts of the document cause bigger problems. pino: this is + due to the polar grid: try to make zoom if there is no grid. + +* I/O: filters, exporters, ... + +- add other command line options, like:<br /> + -e, --export-to FORMAT file.kig => Kig will export file.kig ( or any + other supported format ) into file.ext ( even more than one file ). + The output format depends on the FORMAT string. domi: this is more + difficult, because the export plugins require extra parameters. + E.g. the ImageExporter needs an image size etc. + +- filters: more input filters; improve the existent ones ( see + filters/*-filter-status.txt ); add the possibility to ignore errors + on loading + +- "export to *": add stuff like java applets, kmplot documents, etc... + +* objects + +- Two new transformations: projection on a line, orthogonally and + according to a given direction. As a mathematician, I'm supposed to + have a grudge against these, as they don't fit the definition for + affine transformations ( the matrix has to be regular ) ;), but I + suppose high-school students may find them useful. However,they + would give rather useless results for e.g. lines ( all curves are + almost always projected on a line, segment or ray that you wouldn't + see because it's equal to the line we project upon ). It would be + useful for points though. + +- make DoubleImp a "visible" object with uses like Dr. Geo numeric + values. + +- Provide some nice stuff for differential geometry: velocity vector + of a curve, curvature vector, osculating parabole. Most of this is + not too difficult to implement, but very cool :) + +- create a formula label to display math formulas in the document, and + allow for importing from/exporting to other formula formats such as + KFormula, OOFormula and MathML. + +- other types of fillable shapes, like arc sector, arc segment... + +- defined integrals, as a particular case of filled shapes. + +- improve *a lot* the transformation support for cubics. + +* GUI + +- make stuff from RMB menu's accessible from other places as well. + +- Add the possibility to select, via new dialog, one or more types of + object. + +- add a magnifying glass/zoom window to magnify "on-the-fly" a part of + the document. + +- improve the KTextEditor interface in the script code wizard. + +- make the dialogs not pop up over the main window. + +- add QTooltip and QWhatsThis to the widgets in the various dialogs + (export dialogs, types dialog, ...) + +* core + +- When selecting an argument of a certain type, maybe we should check + whether the required arguments are really there, before telling the + user to select them. Then we could give an error telling the user + to first construct the other objects. An exception should be made + for points of course. + +- Add the possibility to attach text label also to angles. + +- add the possibility to transform more than one object at one time, + using the popup menu. For example, I select two circles, I choose + Transform->Translate form the RMB menu and then Kig should ask me for + a vector to use to translate all the selected objects. + +- add support for work with other measure units (cm, inches, etc...) + than just pixels... + +- extend ObjectFactory::sensiblePointCalcer to also construct + intersection points of stuff... (pino: done for lines) + +- when moving an object that wants to move its parents, try to check if + it is itself not an indirect child of one of the parents it is + trying to move, and forbid the move in that case, as it will lead + to chaotic behaviour. I am not sure if this is really well + possible, but I have to look at it. + +- add intersection types: arc-arc; arc-conic; arc-cubic; conic-cubic; + cubic-cubic; locus-other object. + +- rework the ObjectConstructor and GUIAction stuff into something more + general, and more clean. See the comment for + ObjectConstructor::constructMode(). + +- figure out a way to allow the user to enable and disable certain + features. E.g. I have been asked to allow the user to limit himself + to compass-ruler constructions.. + +- add another viewmode ( which would be completely orthogonal to the + KigMode concept ), where you can more clearly see the dependencies + in a figure. Something with colours, numberings, and/or a tree-like + text representation of the dependencies.. + +* scripting + +- Python scripting: export cubics for real, improve existing API. + +- make the scripting system work more like the macro system. Make it + a way to define new object types that can be reused more than once, + instead of making it just a way to add *one* object. + +- support for more scripting languages than just Python. + +* other + +- document mathematical i18n strings, so that the translators have a + clue about how to translate them ! + +- write cabri-filter-status.txt. + +- add "Tools": easy tools designed for geometry, like Angle converter and + so on... + +- save a "session", i.e.: record how a document is moved, and save it to + e.g. a flash file or something like that. + +- koffice support ? + +* future ? + +- there should be a way to link a figure to a (html?) file containing + exercises. Teachers would be able to create exercises for Kig. + I'm thinking of doing this with HTML (& KHTML) + scripting ( but + this is _distant_ future.. ) |