TODO file of LabPlot:
*********************
####################################################
BUGS:	(O-open, V-verified, F-feedback,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 CRASH : starting 1.4.0 on Slackware
		=> remove /usr/lib/qt/plugins
	C compile 1.4.0 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 use "make -f Makefile.cvs" for 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."	=> ignore it
	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 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 for Applications
	U RH 9: ./.libs/libLabPlot.so: undefined reference to `__ctype_b' (kdelibs not compiled with system glibc 2.3.2)
		older RH 9 RPM crashes on glibc 2.3.2 systems
	U Legend box of surface plot not good (only label length is used !) (Legend::draw())
	U file info of binary data is taken by ImageMagick (FileInfoDialog.cc:77)
	U svg export : date+drawCurves+legend are one element
	U Simple/Surface Style tab in Configure dialog wont resize correct
	------------------------------------------------------------------------------------------
	V removing rows in big table is very slow
		-> new LTable should solve this
	V label position not shown when enabling axis (AxesDialog : enable axis; apply)
	V 3D plot : -> use QWT3D plot when possible
		V mouse shifting of axis label is totally broken
		V range for box style not enough for boxes
		V tic label of axes are overlapping
		V from spreadsheet (3d.dat) looks bad
			-> set line type to NoCurve
		V with masked points looks bad
		O use default style from 3d.dat too (symbol)
	V Surface plot : legend border not drawn with no graph
	V sqrt scale incorrect ? (distants 0-1 and 2-3 are equal !)
	V log scale doesnt work if xmin<=0
		* mouse zoom in log scale doesnt work if minx<=0
		* +/-, etc. zoom
	F import file foo.dat problems (mixed ' ' & , separation)
	F save polish label not correct
	---------------------------------------------------------------------------------------------------------------
##################################################################
LabPlot 1.5.0
------------------

BUGS:
	F segfault on surface plot
	O Mathieu's questions
	
-7	* enable X,X,1/X,1/X weighting for nonlinear fit / regression (linear/nonlinear)
		* implement custom weight function too
-6	* black and white feature (see xmgrace)
		* apply different symbol/line style option/black&white
-5	* graph list:edit data	-> use Spreadsheet with all functions instead
-4	* optional show residuals in nonlinear fit / regression 
-3	* correct enable/disable analysis functions with active sheet (spreadsheet or worksheet)
-2	* graph list : use destination for cloning graphs, etc.
-1	* convert s-p-201.dat to matrix (split after every 200 lines)
0	* remove VTK/GRASS stuff, GRASS example
1	* speed/memory optimization :
		* LTable
			* simplify : DataSource/VectorDataSource	-> LTable
			* (see Roberts mail (AirLineFit))
			old : >5min, 395M  new : 1:03 min, 102M
			* fill random/row number
			* check all functions !
2	* improve parser 
		* catch "1+." problem (inf-loop, should be a syntax error)
		* catch "1+foo" problem (foo not defined, should be a syntax error)
3	* improve Explorer
		* delete items
		* clone graphs/plots
		* copy/move graphs between plots/ plots between worksheets
4	* improve bar charts (stacked, horizontal, ... )	-> see notes
		* each box another color	-> Style::autocolor (good also for Symbols)
		* grouped data	: a1b1c1d1,a2b2c2d2,...	+legend
		* stacked data : a1b1c1,a2b2c2 + legend
5	* configure LabPlot (ConfigureDialog)
			* default axis settings : main/tics/grid+border
			* default graph settings : parameter/annotate value
			* default worksheet settings
			* default plot settings
			* standard font
			* number of recent files
			(* save data in project as link (yes/no))
			(* open new Plot in active Worksheet or in new Worksheet)
6	* Analysis :
		* average		all selected cols/graphs		mask GRAPH4D
		* smooth		all selected cols/graphs		mask GRAPH3D  GRAPH4D
		* compress	all selected cols/graphs		mask GRAPH4D
		* period		all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* seasonal	all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* prune		all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* hist		all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* peak		all selected cols/graphs		mask spread GRAPH3D  GRAPHM  GRAPH4D
		* diff		all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* int			all selected cols/graphs		GRAPH3D GRAPHM GRAPH4D
		* regression	all selected cols/graphs		spread x-y-z matrix/image
		* fft			all selected cols/graphs		mask spread GRAPH3D  GRAPHM  GRAPH4D
		* fit			all selected cols/graphs		spread x-y-z matrix/image
		* interpolation	all selected cols/graphs		mask GRAPH3D  GRAPHM  GRAPH4D
		* convolution 	all selected cols/graphs		mask spread GRAPH3D  GRAPHM  GRAPH4D
7	* fill between range
		* Range::type : x-range, y-range
		* only fill range under curve
8	* PlotQWT3D
		-> see qtiplot
		* axes label : pos, boxed, rotation
		* title : boxed, rotation
		* legend color, title, ...
		* graph list : show/hide, statistics
		* print to printer
		* save via pstoedit,ImageMagick, direct ps/eps/pdf
		* custom plotstyle (boxes, etc.)
		* multiplot with qwt3d plot (Plot::savePixmap() ???)
		* grid/border : (minor grid border, border color, smooth lines)
		* open dialogs with mouse
		* speed mode
		* axis : range, scale (LOG,LN,SQRT), shift, number/label gap
		* axis tic label : format, prec, position, prefix, suffix, length
		* ranges : change range : zoom,scale, etc.
		* grid ?
		* base line ?
		* x-y-z data : not only points style
		* support errorbars
			* error plot ?
		* vector plot
		* more then one graph
			U add function/data in qwt3d graphlist
10	* mask matrix data :
			* Matrix::masked ??? : double -> Value(double v, bool masked)
			* plot from spreadsheet
			* 2d surface plot
			* mask data with mouse (maskPlot)
			* mask in graphlist
11	* use "texvc" for rendering latex text ? : $ texvc /tmp math "y=|\Phi_\alpha|^2 x+2"
		* option : bool tex_label
		* configure: search for texvc, ocaml (for included texvc source)
12	* filter (bandpass, bandstop, highpass, lowpass, noise, ...)
13	* wavlet transform (check for gsl >=1.6)

	* check sqrt scale/ new 1/x scale ?
	* improve KPart for LabPlot
	* browse on the fly (Daniel)
	* A new feature allowing to edit, modify or delete the "user defined fits" (inside Labplot) would be appreciated.
	* read date format "2000/12/24" ("Temperatur.dat")
	* get the index of the double clicked object (for object dialog list index)
	* check discontinuities [-2:2] (x*exp(x/(x*x-1)))
	* support waterfall plot (see matlab)
	* 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
	* SPREADSHEET :
		* select destination for new graphs in spreadsheet
		* data set operations (from analysis) of columns
		* format in spreadsheet	(show as ..., convert isodate->double, double->isodate, ....)
	* Symbols
		* more symbols : N types (...)
		* more fills : 16 types (center, corner,...)
		* character as symbols
		* opaque symbols
		* (x/y/x,y) values as symbol
	* test LabPlot API
		* improve doxygen documentation
		* example program
		* Koffice part ?

misc:
	SAVE/OPEN :	version 21
		* masking in spreadsheet
		* save data file externally ? (separate from project file)
		* PlotGRASS
			* gisbase, gisrc, location
####################
GUI/Application:
***************
	* nicer dialogs
		* exclusive buttongroups (enable/disable) when needed
		* completion of line edits (filename)	: use KDECompletion ? (filename, ...)
	* use QSA :
		* use QSA workbench
		* default Plot Style/Symbol : check for scripting plots
		* 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
			(* define analysis plugins)
			(* define fit functions)
			( undo/redo function)
			* ...
	* LabPlotDialog : copyright infos, some library versions (pstoedit,netcdf)
	* include kghostview menus and toolbars, etc. in print preview (see kgv_part.rc)
		-> how to delete gv part gui elements ?
I/O:
****
	* create eps files with correct text (useful for psfrag) : how to ???
	* 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
		* ignore columns
		* multiple column files (NXY)	-> XYYYYY... / YYYYYYYY, X-index
		* read/dump matrix data from/to netcdf/cdf (also images)
		* progress when exporting data
		* only export selected region
		* export to audio
			* option : 8/16 bit
			* option : sample format
		* import spreadsheet formats
			-> see import/export filter of starspread, kspread
		* binary data	:
			* Filter "LeCroy binary" -> too complicated
			* "HP binary"
		* more audio formats (using libsndfile or sox)
			* mp3		-> libmp3 ?, libmad ?
			* ogg		-> libogg ?, sox -> wav
			* flac, shn	-> ?
		* other data file support -> examples/fileformats/
			* piolib, boomerang and blast (see kst)
			* zip, rar,... compressed data
			* matlab, maple , mathematica
		* real time data import
	* import project files
		* grace, kst, kpl, qtiplot

drawing/ data manipulation :
****************************
	* move marker with mouse
	* image profiling (vertical/horizontal profiles)
	* autocolor  (use number of graphs for default color when creating new graph)
		-> what about user defined style ?
	* audio file data editing like normal audio programs
		* fade in / fade out
		* ...
	* Plots :
		* set drawing object relative to graph (fixed to axes)
		* axis position (left,center,right)
		* period or comma as decimal point (configure LabPlot)
		* broken axes
		* gradient plot / graph background, fill
			-> use QBrush of Qt 4.0 version ?
		* zoom-plot (extra plot as zoom of another plot)
		* legend  :
			* background
			* multiline
		* 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
		* 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 3d	-> better use QWT 3D 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
			* 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/rotation
		* polar plot
			* coordinates
			* plot minor tics, minor grid
			* tic label gap/rotation
			* tic width/grid/border properties
			(* axes scale )
		* ternary Plot :
			* coordinates
			* tic label precision + format
			* 3 custom axes label
			* tic label gap
			* tic width/grid/border properties
			(* draw minor tics, grid)
			(* use axis scale)
		* more plot types
			* Pie3D plot
			* Polar3D plot	(r,theta,phi)
			* xy chart (xmgrace)
			* smith plot
			* implicit plot (x+2*y=1)
			* space curve (sin(t),t=0..10) (cylindrical coordinates r,phi,z)
			* rose plot (polar histogram)	[-> wind directions]
			* polar contour
		* support x=f(y) plots (f(x)=sin(y))
	Axes :
		* axis tic label format :
			* PI (0,PI,2PI)
			* hexadecimal, binary (000 001 010 011 100 101 110 111)
			* degree (210'33'')
		* fast 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 :
		-> see kst plugins
		* tests (statistics) [use a library ?]
		* correlation
			* crosscorrelation
			* autocorrelation
		* root find
		* periodigram
		* FFT
			* inverse ( gsl_fft_complex_inverse/ fftw REDFT00,RODFT00, etc.)
			* data window
			// halflen (all values)
			// amp_correction
		* nonlinear fitting
			* guess initial parameters
		* 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 
		* smooth Savitzky-Golay (point-wise polynomial fit/ see Numerical Recipes)
	misc :
		* arrange plots axes to axes |1|2|3|4|
		* world/viewport coordinates
			* range from 2..4 in graph
		* select range by mouse

misc :
*****
	* use STL contructs for some critical objects (see C++-Unleashed & SGI docu)
	* animations

	Docs :
	* Tutorial : * worksheet,plot,graph label,tics,etc.
	* add more "WhatsThis" infos
