summaryrefslogtreecommitdiffstats
path: root/kig/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'kig/TODO')
-rw-r--r--kig/TODO157
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.. )