TODO file of LabPlot:
*********************
####################################################
Translations:
*************
		Messages:				Handbook:
		de	: 884/884 (100%)		1558/1558 (100%)
		it	: 874/878 (100%)		in progress
		ru	: 612/878 (70%)
		fr	: 21/878 (2%)
####################################################
Packages :	check compiling, update spec, build-script, build package
***********
	SuSE 9.1	:	1.4.0		OK
	SuSE 9.2	:	1.4.0		OK
	FC 3		:	1.4.0		OK
	RH 9		:	1.4.0		OK
	SW 10		:	1.4.0		OK
	MDK 10.1	:	1.4.0		OK
	MDK 10		:	1.4.0		OK
	MDK 10 full	:	build package	...
	X 2.0		:	build package
	G 2004.2	:	compiled 31.10.04
	FreeBSD 4.X	:	QT<0x030100
	FreeBSD 5.X	:
	KNOPPIX		:
	KANOTIX 	:
####################################################
BUGS:	(O-open, V-verified, A-analysed, C-closed, U-unsolved)
	---------------------------------------------------------------------------------------------------------------
	C SuSE 9.0 : text rotation crashes LabPlot (y-Axis) (see QT example "xform")
		=> use updated qt packages (single letters are still not rotated here)
	C compile on Gentoo : "/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/libstdc++.la: No such file or directory"
			make a link to /usr/lib/gcc-lib/i686-pc-linux-gnu
	C "make -f Makefile.cvs" to correct icon installation
	---------------------------------------------------------------------------------------------------------------
	U kpart in konqueror won't resize => use reload function
	U opening from commandline : maximize doesn't work correct	=> resize after opening
	U print preview : "qDrawShadePanel() Invalid parameters."	=> just ignore it
	U "make -j N with N>1 -> link error	"ld: cannot find -lLabPlot"	=> call "make" again
	U LabPlot crashes when libraries are compiled with icc
	U draw brush in legend of surface plot ( legend uses drawLine for every color : brush not possible ! )
	U KImageIO:: export to eps 	-> no settings (color,format, size) ?? (Worksheet::Export())
	U "Warning: Linking the executable LabPlot against the loadable module libLabPlot.so is not portable!"
	U Spreadsheet:table : TAB -> next row, move with arrows doesnt work
	U SuSE 9.1 : drawing problem (x=y=0) -> see print preview (Plot2D::drawBorder setPen() !)
	U setting colum label of column > 0 in QTable doesnt work (SuSE 9.1/QT 3.3.1) (ImportDialog)
	U CRASH : closing LabPlot after using "new" in QT script
	------------------------------------------------------------------------------------------
	V 3D mouse shifting of axis label is totally broken
	V 3D plot range for box style not enough for boxes
	V 3D tic label of axes are overlapping
	V label position not shown when enabling axis (AxesDialog : enable axis; apply)
	V GRASS plot :
		V CRASH : opening GRASS Data Dialog
		V CRASH : GRASS example (Axis::scale())
		O problems when updating graph list when changing GRASS graph
	V sqrt scale incorrect (distants 0-1 and 2-3 are equal !)
	V direct exported pdf is buggy
	V Legend box of surface plot not good (only label length is used !) (Legend::draw())
	V Surface plot : legend border not drawn with no graph
	V FC 3 : print preview doesnt work
	---------------------------------------------------------------------------------------------------------------
##################################################################
LabPlot 1.4.1
*************
0.	* upper case "svg" and "pic" menus
1.	* speed mode : draw only 100/10x10 points of every data set
		* speed measurements (speed mode)	-> read & write points/sec, etc.
		* customize nr of points for speed mode (Settings->Configure LabPlot)
2.	* improve bar charts (stacked, horizontal, ... )
		-> see notes
3.	* improve surface plot
		* filled contour plot / contour label
		* new NCAR Plot ? (see c_cbex01.c example)
		-> produce gmeta, "ctrans -d sgi gmeta >gmeta.sgi", read sgi file
4.	* support waterfall plot (see matlab)
5.	* "data mode" : bound cursor to curve (see kst), show data points (coordinates)

	* axes dialog of datetime axis shown double range (how to specify range?) 
	* templates for plot options (symbol,line, colors, ...)
	* Analysis :
		* average		all selected cols/graphs		GRAPH4D GRAPHIMAGE
		* smooth		all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* prune		all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* hist		all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* diff		all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* int			all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* reg	ression	all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* fft			all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* fit			all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* interpolation	all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
		* convolution 	all selected cols/graphs		GRAPH3D  GRAPHM  GRAPH4D GRAPHIMAGE
	* SPREADSHEET :
		* double click on column title to open properties dialog
		* data set operations (analysis) of columns
		* add "3D Plot (Matrix)" option in Spreadsheet
		* plot line data (from selected rows)
		* analysis :  fft, regression, convolution, fit
	* data/import dialog :
		* import filter (LeCroy -> column title, date , ... / HP Data / Tektronix Scopes / ...)
		* read/write binary data	
	* use QSA :
		* use QSA workbench
		* make LabPlot scriptable
			* get active Worksheet/Spreadsheet from MainWin !!!
			* Worksheet : ...
			* Plot : ...
			* MainWin : print, ... -> KPrintDialog
			* DumpDialog
			* GraphListDialog, Project info dialog, ...
			* function dialog, data dialog
			* settings dialogs (title,legend,axes dialog)
			* analysis functions
			* worksheet dialog, plot dialog
			* ...
	* fill between range
		* Range::type : x-range, y-range
		* range-fill under curve
	* mouse zoom : separate x, y
	* use QDateTimeEdit/QDateEdit for editing date(time) data?
		* datetime line edits, ranges, ...
	* markers (distance, values) (bound to values)
	* multiline legend
	* PlotQWT3D
		* range / base line
		* x-y-z data : not only points style
		* error plot
		* vector plot
		* more then one graph
	* improve 3d plot	-> better use QWT3D Plot
		* y axes tic scale + rounding bug
		* 3D error plots :
			* DataDialog : "x-y-z-dz" (GRAPH4D : 3D error)
			* plot in Plot3D.cc
		* baseline 3d
		* xy-region for 3d integration, fit, etc.
		* convert 3d type to matrix (NX=64 & NY=1 -> NX=NY=8)
		* connect type 3d data points in 3d plot
		* 3d data -> set nx, ny
		* 3d matrix display : use nx and ny
		* correct boxes style
			* change x,y actranges (not ranges !)
		* known 3D bugs
	* use QSA :
		(* define analysis plugins)
		(* define fit functions)
		( undo/redo function)
	* create eps files with correct text (useful for psfrag) : ???
	* completion of line edits (filename)
		* use KDECompletion ? (filename, ...)
	* set/save standard font in "configure LabPlot"
	* get the index of the double clicked object (for object dialog list index)
	* check discontinuities (x*exp(x/(x*x-1)))
	* LabPlotDialog : copyright infos, some library versions (pstoedit,netcdf,GRASS)
	* +,- zoom (5%)	-> see grace
	* improve Explorer
		* delete items
		* exchange graphs between plots
		* exchange plots between worksheets
	* GRASS Plot :
		* plot type
			* plot raster layer
			* plot site layer
		* range ?
misc:
	SAVE/OPEN :
		* save data file externally ? (separate from project file)
		* PlotGRASS
			* gisbase, gisrc, location
	* test LabPlot API
		* improve doxygen documentation
		* example program
	* compiling :
		* Worksheet.cc:1398: warning: statement with no effect
		* care about compiler warnings
	* packages :
		* dead links to LabPlot.1 when LabPlot.1.gz is installed
			-> install labplot.1 not as link
		
####################
GUI/Application:
***************
	* open dialog with new plot ?
		-> data or function ? / "insert from function or data ?"
	* Symbols
		* character as symbols
		* opaque symbols
		* (x/y/x,y) values as symbol
		* more symbols : 26 types (...)
		* more fills : 16 types (center, corner,...)
	* new method for Point2D *data = new Point2D[MAX_POINTS], etc.
		-> use number of lines of a data file ? / resize if points > MAX_POINTS
	* nicer dialogs
		* exclusive buttongroups (enable/disable) when needed
	* bounded value line edits -> slider	(QSlider)
	* include kghostview menus and toolbars, etc. in print preview (see kgv_part.rc)
		-> how to delete gv part gui elements ?
	* configure LabPlot
		* <Action name="worksheet"/>
			before Action "plot" in LabPlotui.rc	(2 times)
		* ConfigureDialog
			* number of recent files
			* units ?, colors ?
			(* save data in project as link (yes/no))
			(* open new Plot in active Worksheet or in new Worksheet)
			(* Identity ?)
		* Template for Plot ?
			* axes, fonts, colors
I/O:
****
	* GraphIMAGE : 
		(* hdf5-1.6.1 (h5utils-1.9), more image formats ? (see xv, tnimage, gimp) )
		(* use KImageIO::pattern	(filter for all image files when opening) )
		(* ImageDialog : add more methods (see ImageListDialog.cc) )
	* GRAPH2DL, GRAPH3DL
		-> x-y-label, x-y-z-label
		* use for pie plot segment label, 2d annotate label 
	* set cbi-->currentItem with re-read data dialog
	* seperate data file from project file
		* saving a data file name in a project file instead of the data itself
		* hotlink data
	* contour & density plots from x-y-z ?
	* IMPORT/EXPORT
		* multiple column files (NXY)
		* read/dump matrix data from/to netcdf/cdf (also images)
		* progress when exporting data
		* export to audio
			* option : 8/16 bit
			* option : sample format
		* import spreadsheet formats
			-> see export filter of staroffice, kspread
			* kspread, staroffice
		* only export selected region
		* more audio formats (using libsndfile or sox)
			* mp3		-> libmp3 ?, libmad ?
			* ogg		-> libogg ?, sox -> wav
			* flac, shn	-> ?
		* binary/other data file support -> examples/fileformats/
			* piolib, boomerang and blast (see kst)
			* zip, rar,... compressed
			* matlab, maple , mathematica
			* (origin), (sigmaplot)
		* real time data import
	* import project files
		* grace, kst, kpl, qtiplot
		* (origin), (sigmaplot)

drawing/ data manipulation :
****************************
	* image profiling (vertical/horizontal profiles)
	* audio file data editing like normal audio programs
	plots :
		* coordinates for ternary plot, polar plot
		* set drawing object relative to graph (fixed to axes)
		* axis position (left,center,right)
		* mask data points : exclude from plotting
		* period or comma as decimal point (configure LabPlot)
		* broken axes
		* fills
			* gradient fill
			* fill region only
		* gradient plot background / graph background, etc.
			-> use QBrush of qt 4.0 version ?
		* zoom plot (extra plot as zoom of another plot)
		* legend background/gradient
		* annotated values :
			* use own format and rounding (see axes settings)
			* rotation
			* size, color, font
		* handle log axis errorbar problems (y=1,dy=2, etc. )
		* place legend automatical in a corner
		* border, tics, grid thickness
		* surface plots :
			* third type : vector field plot, windbarbs
				* data format ?
			* more than 1 graph
			* reading x-y-z data	(gyrodata.dat)
			* filled contour
			* scaled values (z-Axis)
				* logarithmic z-axis ? (legend)
				(contour lines 1e0,1e1,1e2,1e3 )
			* read date/time matrix
			* contour level label
			* improve  legend (0..1)
				* KGradientSelector
				* rbg vs hsv
		* plot qwt 3d
			* axes label : pos, boxed, rotation
			* title : boxed, rotation
			* legend color, title, ...
			* graph list : show/hide, statistics
			* print to printer
			* save via pstoedit,ImageMagick
			* custom plotstyle (boxes, etc.)
			* multiplot with qwt3d plot (Plot::savePixmap() ???)
			* grid/border : (minor grid border, border color, smooth lines)
			* open dialogs with mouse
			* axis : range, scale (LOG,LN,SQRT), shift, number/label gap
			* axis tic label : format, prec, position, prefix, suffix, length
		* plot 3d
			* fill with colors (z-value,colorscale), contour (new style type ?)
			* transparent filling (no hidden3d)
		* pie plot
			* explode segments
			* segment label
			* segment legend
			* brush
			* scale pie % with plot
			* legend (1 - 12 %, 2 - 27 %,...)
			* round % (using precision ?)
			* tic label gap
		* polar plot
			* plot minor tics, minor grid
			* tic label gap
			(* axes scale )
		* Ternary Plot :
			* tic label precision + format
			* 3 custom axes label
			* tic label gap
			(* draw minor tics, grid)
			(* use axis scale)
		* GRASS Plot :
			* vector : info, statistics
			* Range ?
			* zoom (x,y,z, +,-), shift
			* GRASSDialog	: all values (like FunctionDialog)
			* layer selection list
				/pub/sw/grass-5.0.3/src/general/manage/inter/list.c
		* more plot types
			* Pie3D plot
			* Polar3D plot	(r,theta,phi)
			* GIS Plot :
				* GDAL/OGR library	->
					* GeoTiff, Erdas Imagine, Arc/info binary/ascii, SDTS raster, USGS ascii, grass raster, ...
				* see QGIS: ESRI shape files (*.shp)
			* xy chart (xmgrace)
			* smith plot
			* implicit plot (x+2*y=1)
			* space curve (sin(t),t=0..10) (cylinder coordinates r,phi,z)
			* rose plot (polar histogram)	[-> wind directions]
			* polar contour
		* fill only region of a graph
		* support x=f(y) plots (f(x)=sin(y))
		* select datapoints with cursor
		* plotting surface : use pixmap and put it on the screen
		* scale plots with worksheet (fullscreen, lower, resize)
(		* PlotGL : (see knewplot, QT 3 book, qt examples/opengl)
			* zoom with mouse (mid mouse ), move with mouse(right mouse)
			* axes
				* tics
				* tic label
				* axes label
			* draw data : ...
			* grap pixmap (see glpixmap example) )
	axes :
		* axis tic label format :
			* PI (0,PI,2PI)
			* hexadecimal, binary (000 001 010 011 100 101 110 111)
			* degree (210'33'')
		* axis tic label rotation : PlotPie, PlotPolar 
		* flip x-y graph
		* shifting 3d axes with mouse
		* db axis scale (exp+log)
		* reciprocal (1/x) scale
		* shifting of 3d Axes with mouse ?
		* grid, ticks and numbers : in or out of plotarea
		* 3D axes scale	log10,log2,ln,sqrt
			* axes x,y,z	(Plot3D.cc::drawAxes())
			* data	(Plot3D.cc::drawCurves())
			* special axes tic label
		* minor tic label (?)	(for log10)
		* use major tic number (?)
	* extract feature (see grace)
	analysis :
		* filter (bandpass, bandstop, highpass, lowpass, noise, ...)
		* tests (statistics) [library ?]
		* correlation
			* crosscorrelation
			* autocorrelation
		* periodigram
		* seasonal differences y[i]-y[i-n], n - period
		* FFT
			* inverse ( gsl_fft_complex_inverse/ fftw REDFT00,RODFT00, etc.)
			* data window
			// halflen (all values)
			// amp_correction
		* nonlinear fitting
			* custom fit function
			* guess initial parameters
		* regression :
			* non linear	:
				* a*x^b,a*exp(b*x),a+b*ln(x),1/(a+b*x)
			* weighted	:
				* 1/dy^2 (2derr), custom (function)
			* 2derr data -> weight = 1/dy^2
		* differences		(dy(x))
			* use gsl numeric differences
		* integrate
			* gsl numerical integration
			* weighted
			* use the correct function if available	(checkbox) -> undefinite integral (?)
		* histogram :
			* weighted	: gsl_histogram_accumulate (h,x,weight)
				-> weight what ?
		* (de)convolution of two data sets
			* use fftw too
			* use mixed radix fft 
		* extrapolate ?
		* peak find
		* filter (band pass, high pass, low pass, ...)
		* smooth Savitzky-Golay (point-wise polynomial fit)
	misc :
		* arrange plots axes to axes |1|2|3|4|
		* world/viewport coordinates
			* range from 2..4 in graph
		* fill of steps and boxes
		* supporting errorbars in 3D
		* 3D view changes (angles)
		* select range by mouse
		* lens (zoom by mousearea)
		* Style in Dialog : show symbols (draw it)

misc :
*****
	* tex style support for strings
	* use STL contructs for some critical objects (see C++-Unleashed & SGI docu)
	* C functions -> C++ (sprintf, etc.)
	* animations

	Docs :
	* more languages (using dictionaries ?)
	* Tutorial :
		* worksheet,plot,graph label,tics,etc.
	* add more "WhatsThis" infos
