Future Plans

- Make QtiPlot easier to extend and maintain by modularizing it. For example, ideally it should be possible to implement new plot or marker types without modifying existing classes (think of plug-ins here).
- Unify naming of some methods and variables with class names.
- Add generic plug-in support, support for implementing extensions in Python, a full-featured multi-level undo/redo framework (-> visitor pattern). [ undo/redo assigned to thzs; plug-in/Python extension support assigned to knut ]
- Revise some internal APIs that use undocumented protocols for the strings that get passed around. Wherever possible, consistency should be checked at compile-time. This would also probably eliminate the need to place restrictions on object/column names.
- Switch file format to a completely XML-based one so we can write a more robust parser based on Qt's XML support. Legacy support for the old format could be a plug-in. See whether we can make use of the XML save/restore interface planned for Qwt. Wait for the new XML reader in Qt 4.3 or use SAX?
- Document as much as possible using doxygen and write simple demo plug-ins.
- Modularize the build process so that Python support could use SIP's build system instead of the current hacks. Support for muParser, liborigin and zlib could also be split out into plug-ins on the basis that you shouldn't have to install libraries you don't use. Also reduces compile times during bugfixing. [ assigned to knut ]
- Change some internal APIs that depend on the notion of a selected/current item. This will lead to a cleaner and simpler interface for plug-ins and Python scripts.

Note about modularization: this is mainly about internal reorganizations. Most of the current features should remain part of the main executable, but use interfaces similar or identical to those used by plug-ins. This should ease maintanance and make adding new features to the core application a no-brainer once they're available as plug-ins. Support for Python, liborigin and zlib could be real, external plug-ins since many people probably don't need them, but this can be decided shortly before distribution and ideally by modifying just a few lines in a build script.

# Features

- Waterfall plots
- Polar charts
- Ternary plots
- Improved data analysis: base-line detection tool, more built-in fit functions...
- Improved import of Origin project files
- More import/export filters including Open Document spreadsheets (plugin)

See also
  ApplicationWindow, MultiLayer, Graph, Graph3D, ImageMarker, Legend, MyWidget, SelectionMoveResizer, MyParser, Note, ScriptEdit, Table