1999-03-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.cc (RotationalConstantsBox): Show rotational constants
	to Hz precision.

	* editSets.cc (show): Update the list of simulations whenever we are
	shown.

1999-03-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* simulation.cc (fold): Fixed bug with profiledata array access that
	caused any non-stick folding to crash.

1999-02-28  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* drawarea.cc (paintEvent): Only paint DataSet if it has any value
	inside the DrawingArea at all.

	* dataset.cc (setData): Implemented initial guess on scaling factor.

	* krotData.h (class DataRange): Add operator== ( compare all values ).

	* workarea.cc (showCurrentRange): Implemented to show the current
	range. This shall be used to update the display whenever the current
	range ( variable current ) is changed.
	It updates both scrollbars and the drawarea currently.
	(selectRange): We use a QPopupMenu now and set the title manually.
	(So we can use clear() !)

	* drawarea.cc (newPosition): Use averaging to correctly calculate the
	current start frequency.

	* drawarea.h (class DrawArea): Delet the unused averaging variable, we
	use krotData->averaging() instead !

	* drawarea_inline.h (setDisplayRange): Check wether start is still
	in range. otherwise reset it to beginning of new range.

	* workarea.cc (findRange): Created this function to find the range a
	given frequency is containe in.

	* drawarea_inline.h (computeIntensity): Really use the whole averaging
	interval - non symmetric for even averaging values.
	The single "non-symmetric" value is taken from the blue side.

1999-02-18  Chris Schauerte  <schauert@uni-duesseldorf.de>

	* dataset_correlation.cc (fourier, realfft): Replaced 3.141592653589793
 	by Constants::pi().

1999-02-16  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* workarea.cc (selectRange): Implemented this function to show the
 	selected DataRange.
	(selectRange): Show PopUp with all available DataRanges.
	(WorkArea): Create popup in here. St up its connections.
	(WorkArea): Created this to delete the popup.
	(selectRange): Show the widget at the current cursor position. Display
	only title, separator and current ranges, this means we have to delete
 	all old entries besides the tilte/separator.

	* Makefile.am (frontend_o_SOURCES): Added scrollbar.cc

	* scrollbar.h (class KRotScrollBar): Added mousePressEvent to filter
	out right mouse button clicks. Used for range selection popup in
	WorkArea. Also signal rightMouseButtonPressed, same purpose.

1999-02-14  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* drawarea.cc (paintEvent): Fixed intensity of first drawn point; it
 	was wrong when repaining hasn't started at the very left of the canvas.

	* drawarea.h (class DrawArea): Add new slots newFrequency and
 	newIntensity.

	* workarea.cc (WorkArea): Connect the scrollba valueChanged signals to
	drawareas newIntensity and newFrequency slots.

	* transformations.cc (exec): Move setting of the current item here. It
 	isn't usefull in the constructor since then the list is usually empty,
	moreover we should reset it whenever the dialog is executed anyhow.

1999-02-12  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* krotData.h (DataRanges): Add classe DataRange and its container class
	DataRanges.

1999-02-11  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* scrollbar.h: Made KRotScrollBar a typedef for QScrollBar.

	* Makefile.am (frontend_o_SOURCES): Took out scrollbar.cc

	* krotData_inline.h (add): Use make_pair instead of explicit type
 	conversion - that doesn't work on Linux/AXP.

1999-02-11  Chris Schauerte  <schauert@uni-duesseldorf.de>

	* dataset_correlation.cc: Declared help functions as 
	static, changed data types int and unsigned long to u_int64_t,
	inserted function crosscorrelate.

1999-02-11  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* spectrum.h (loadXY): No return value any more, uses exceptions
 	instead.

	* dataset.cc (recalculateData): Correctly calculate intensities ( wrong
	brackets fixed ). Set data_vaild flag after we recalculated it !
	(saveXY): Throw exception when file cannot be opened.
	Use standard C++ I/O instead of Qt I/O.

	* mainwindow.cc (MainWindow): Generate DialogGeometricTransform child
	at construction as well.

1999-02-10  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.cc (exportXY): Adopt for new DialogSelectSet behaviour.

	* dataset.cc (saveXY): Use standard C++ lib instead of Qt.

	* spectrum.cc (loadXY): Fixed transformation to internal format.
	Also intensities are doubles now :-)

1999-02-09  Chris Schauerte  <schauert@uni-duesseldorf.de>

	* dataset_correlation.cc (autocorrelate): Function autocorrelate 
	inserted.
	
1999-02-08  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.cc (recalculateData): We only have to determine max/min, when
	maxmin_valid is false, otherwise they will still point to the correct
 	positions.

	* dataset.h (class DataSet): Make mn, mx pointers to the approbiate
	data member - so we do not need to adjust them when we rescale/shift
	the data. Add maxmin_valid flag as sign wether the mx/mn are valid.

	* dataset_inline.h (operator[]): const_cast this in case we need to
	recalculate the data. This gives us the oportunita to keep all methods
	const if they naturally are. We should only need this single const_cast
	right here. Moreover I cannot think of any DataSet that really is
 	readonly, since it won't contain any data. So teh cast should be safe ?

	* dataset.cc (difference): Consequently use STL algorithms.

1999-02-07  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.cc (integral): Added this function to calculate the integral
	of a DataSet. Uses simple trapezoid rule.
	(difference): Added this function to calculate the difference spectrum.

	* dataset_correlation.cc (crosscorrelate): Take DataSet argument.

	* spectrum.cc (Spectrum): Use STL algorithms to find minimum/maximum.
	Call setName instead of assigning the string immediately - this will
 	avoid overwriting old entries of the same name.

1999-02-06  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* Makefile.am (noinst_PROGRAMS): Generate a cumulated object file
	instead of a library - speeds up !
	(ETAGS_ARGS): Added.

	* simulation.cc (fold): Use fill_n for zero-init instead of for loop.

	* Makefile.am (libfront_a_METASOURCES): Use automoc. This also allows to
	use the dist target outside the srcdir. So we remove the dist-hook.

	* dataset_correlation.cc (autocorrelate): Use setName to avoid using an
	already existing name.

	* dataset.cc (operator=):  Substitute for loop by STL copy.
	
	* dataset_inline.h (DataSet): Substitute for loop by STL copy.
	(~DataSet): Check wether data is zero before deleting [] it.

1999-02-04  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset_correlation.cc (autocorrelate), (crosscorrelate): We have to
	return references to the new Spectra !

	* selectSet.cc (refresh): Add this function to update the dialog to the
	current state of the application. Is used for initial setup as well.

1999-02-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.cc (MainWindow): Create the SelectSet dialog once in the
 	constructor - its used quite often.

	* transformations.cc (DialogGeometryTransform): Make all input fields
	the same height.

	* drawarea.cc (DrawArea): Set background mode to NoBackground, should
	avoid (most) flickering. For my machines it actually helps a lot :-)
	(paintEvent): Dont write any message regarding no spectrum, just paint
	the backround in BackGround color instead of WindowColor to sign there
	is nothing in the canvas.

	* mainwindow.cc (crosscorrelate): Added this functionality

	* mainwindow.h (class MainWindow): Add pointer for Preferences dialog.

	* drawarea.cc (paintEvent): Use WindowColor for background drawing.

1999-02-01  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset_correlation.cc (autocorrelate): Moved this function here to
	replace autocor, removed the latter.
	Provided pseudocode for Chris to replace by here real code.
 	Autocorrelation should work out straightforward now.

1999-01-21  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* simulation.cc (fold): Change to use the stored profile date, calling
	reProfile when the profile is out of date.
	(reProfile): Added this function.
	Use max_element from STL to search for maximum of data array. I will
 	succesivly change all min/max searches to use the standarized algorithm.

	* simulation.h (class Simulation): Add storage for lineshape data, a
 	center index and a flag wether the data is valid ( up to date ).

1999-01-20  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* drawarea.h (class DrawArea): Make data area protected (was private).
	Add variable to store intensity scrollbar offset.

1999-01-19  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* krotData.cc, scrollbar64.h (INT64_MIN, INT64_MAX):
 	Check for HAVE_STDINT_H and provide an alternative definition of
	INT64_MIN and INT64_MAX otherwise.

	* krotData.cc (checkLimits): Set all limits to zero if there is no
 	dataset available, so we get a expected beaviour ( and no SIGSEGV :-).

	* workarea_inline.h (resizeEvent): Add this handler to re-adjust the
	limits, scrollbars and display.

1999-01-18  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset_inline.h (max) (min): Scale and shift the return-values !

	* krotData.cc (checkLimits): Reversed the last change, since we may
	have the highest and lowest values within one set - esp. if there is
	only one :-(

1999-01-17  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* krotData.cc (checkLimits): Check for lowest/highest intensity.
	Also we don't have to check for both extremes of each choice, since
	over all full DataSet that practically can never hold.
	Don't perform monotonicy check any more, it's redundant.

	* workarea.h (class WorkArea): Add internal entries for minimum and
 	maximum intensity and change limits() accordingly to take four
	arguments.
	Change vertical scrollbar to type QScrollBar - we don'T need th big
 	ranges of ScrollBar64 here.
	Cleanup of includes.

	* selectSet.h: Cleanup includes.
	(class DialogSelectSet): 

	* selectSet.cc (DialogSelectSet): Layout enhancements.
	(getSelection): Return an pointer to the selected DataSet ( instead of
	an reference ).

	* dataset_inline.h (operator): Shift the dataset intensity-wise _before_
	it is scaled, so the y-offset doesn't have to changed when scaling is
 	changed, what seems to happen a lot more often.

	* spectrum.cc (loadXY): Set reasonable initial intensity scaling and
	shifting values.

	* workarea.cc (limits): Simply repaint the drawarea at the end of this
	function.

	* transformations.cc (DialogGeometryTransform): Print scaling factor
	to a precision of 6 digits after the decimal separator.

1999-01-15  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* selectSet.h: (class DialogSelectSet): Rename getSelection to
	getSelectionString and create new getSelection to return the dataset
	reference.

	* transformations.cc (getCurrentSet): Use KRotData::getDataSet.

	* mainwindow.h (class MainWindow): Addded slots for auto- and cross-
	correlation.

1999-01-14  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* general, dataset.h (class DataSet): Changed data type for intensities
	to double to get higher accuracy (esp. when scaling up) !

	* dataset_inline.h (max, min): These functions now honor the intensity
 	offsets.

1999-01-13  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.h (class DataSet): Add function to return x- and y-shifts for
	display.

	* dataset_inline.h (transform): These geometric transformation values
	given here are the absolute new values now.

	* transformations.cc (doit): We need to use a pointer to the dataset
 	here, not a copy.

	* rawData.cc (linearize): freq needs to 64 bit, of course :-)

1999-01-11  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* drawarea_inline.h (computeIntensity): Check wether intensity value is
 	within visible area. Give boundary values otherwise.

	* dataset.cc (operator[]): Don't normalize or y-shift intensities,
	but give raw data modified by _users_ scaling/offset values.

	* rawData_inline.h (name): Add this function to return the filename
	of the imported data. Caution: This interferes with Qts QObject::name,
	since these are no virtual functions, it shouldnt be a problem, though.

	* krotData.h (class KRotData): Changed slots to take reference
 	arguments.

	* mainwindow.h (class MainWindow): Changed timout for temporary
 	messages to 7.5 s.
	(class MainWindow): Changed signals parameter to take references - hope
	it works.

	* mainwindow_inline.h (foldSimulations): Renamed function from
	edit Simulations to correctly show its intention.

	* transformations.cc (DialogGeometryTransform): Fixed layout
 	management.

1999-01-09  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData.h (class DialogImportRawData): signal import takes a
	const RawData& argument !

1999-01-04  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.cc (saveXY): Switched from Qt file operations to STL since
	Qt made trouble with 64 bit types on x86 again.

1999-01-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* general: Removed all cvs Id entries and replaced them approbiatly.

1998-12-21  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* rawData.h (class RawDataPoint): Switch to double to store data !
	This is needed to get a usefull averaging of the bare values, even with
 	the original values beeing pure integers.
	(class RawData): Add variable avg and function setAveraging tp store
	averaging value. Modify operator[] tp use it and provide the averaged
 	signal values.

1998-12-13  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.cc (RotationalConstantsBox), (LinearBox),
 	(CentrifugalBox), (TemperatureBox): Added units to ParameterBox tiltes.

1998-12-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.h (class OriginBox): Remove destructor. Add slot
 	unitChanged to be called whenever the unit is changed, since we need to
	save it online; it cannot be done in the constructor, because at this
 	time the config object is destroyed already. Moreover we can transform
 	the origin value on the fly.

1998-12-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* editAssignment.cc (resizeEvent): Since the list has no margin anymore
	resizeEvent needs to be adopted.

	* deleteSet.cc (DialogDeleteSet): 
	* editSets.cc (DialogFoldSet): 
	* editAssignment.cc (DialogEditSingleAssignment):
	(DialogEditAssignments): 
 	Add globally defined margin to the overall dialog layout.

	* krotData_inline.h (KRotData), (KRotData): Dont set the KConfig group
	since this is done in CalculationParameter read/write functions.

	* calculation.cc (setParameter): Add this member function to
	DialogCalculationArnirot to change the contents.

	* editAssignment.cc (edit): Check wether any assignments are available.

	* mainwindow.cc: Menu entries for editing restructured.

	* krotData_inline.h (empty): Added request for assignments.

	* mainwindow_inline.h (setFreq): Removed conditional compilation by
 	using the correct format specifier ( %Ld for long long int ). Since on
	Linux/AXP this will produce an compiler warning, I cast to long long, 
	this is actually a no-op, since long long and long are identical on this
	platform.

1998-12-01  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.cc (menu): Create sepeparate menu entries for editing of
	simulations and spectra.

	* mainwindow.h (class MainWindow): Make separate slots for editing of
	assignments, simulations, spectra.

	* krotData.cc (eraseAll): Don't ask for confirmation, that should be
 	done by the frontend already.
	Omit the checking for datasets.

	* deleteSet.cc (deleteAll): We only get here if there are some
 	datasets, so we don't need to check for that.

	* editAssignment.cc (resizeEvent): Added this to make the headers span
	the full QListView width all time.
	(DialogEditAssignments): Set to single-selection mode, because I caanot
 	fix the problems with the DialogEditSingleAssignment dialog. Needs to
	be really fixed ( using multi-selection).
	Center column contents.

1998-11-30  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* deleteSet.cc (deleteAll): Added button delete all to this dialog, put
	the needed functionality in here.

	* mainwindow.cc (menu): Removed "Delete All Sets" entry and the
	corresponding slot. Functionality moved to deleteSets.

1998-11-29  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* workarea.cc (WorkArea): Add vertical scrollbar to prepare for vertical
	offsets and scaling of datasets.

	* krotData.cc (exportAssignments): Add ofstream::out to openmode to
	really get an output. This looks like a ( egcs-1.1.1 ) ofstream-bug to
 	me.

	* lined_inline.h (setEnabled): Implement this public slot to get a
	QWidget conforming implemetation of this function.

	* calculation.cc (PageOneArnirot): Eabled "enabling" of linear
	distortion page.

	* editAssignment.cc (edit):
	(DialogEditSingleAssignment): Editing of single entries working.
	Overall editing of assignments is working satisfactrily; it needs some
	graphical / layout enhancements though. Feel free to modify the look,
	but keep functionality, please.

	* lineSelection.cc (DialogLineSelection): Layout enhancements.

1998-11-28  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* editAssignment.cc: Assignments are diplayed and can be deleted.

	* Makefile.am (BUILTSOURCES): Added forgotten editAssignment entry.

1998-11-23  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* Makefile.am (libfront_a_SOURCES): Added editAssignment files.

	* editAssignment.cc editAssignment.h (DialogEditAssignment):
 	Started this dialog. It is intended to manually edit the current 
	assignments. Probably we can use it to create different assignments
	groups.

1998-10-09  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.h (class DataSet): All integer variables containing
 	intensities are of int64_t now. Also changed the derived classes
	Simulation and Spectrum and also KRotData and RawData accordingly.
	( Fixes overflow problems for high intensities. )

1998-10-06  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.cc (importKHiDaq): Put in usefull filter rules for
 	OpenFileDialog ( All data, uncompressed data, compressed data, all ).
	(exportAssignments): Substitute QString by string.

1998-10-05  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.cc (OriginBox): Added a destructor to save the currently
	selected unit.

	* calculation.h (class DialogCalculation): We do not need any KConfig
 	object in this class, removed it.

	* calculation.cc (DialogCalculationArnirot): Ensure we see page one
 	when we first enter the dialog.
	(PageOneArnirot): Enable linear distortion checkmark.

	* calculation.h: Use Qt-1.40 include files.
	(class OriginBox): Add radiobuttons for unit-selection.

1998-10-04  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* foldSet.cc (DialogFoldSet): Completely rewritten DialogFoldSet
 	layout, based on QGridLayout now. Class interface is not altered, but
	it is derived from QDialog directly now.
	(newSet), (newShape): Rewritten to reduce redundancies and adapt the
 	new widget's internals.

	* simulation.cc (fold): Merged all folding routines ( for different
 	shapes ) into this one, since most of the code was redundant.

1998-10-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* simulation.h (class Simulation): Add scaling factor to use when
	calculating integer intensities. Currenty this is hardcoded to 1e10.
	Otherwise we will loose all intensity information due tto rounding to
	zero or one.

1998-10-01  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* krotData.h (class KRotData): Add non-const member function
	mapSimulation& simulations(). This is needed in the folding process to
 	set the lineshape parameters of the Simulations.

	* foldSet.cc (newSet): Remove default target from switch statement,
	since all possible enum values are handled.

1998-09-28  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* scrollbar64_inline.h (doIt): Stay away from INT_MIN and INT_MAX by
	more than QScrollBar::pageSize() for the QScrollBar range. Otherwise
	we will get under-/overflow with unexpected behaviour and ugly looking
	sliders running out of the scrolbar.

	* scrollbar64.cc, scrollbar64_inline.h, scrollbar64.h:
 	Renamed these files to reflect the classname.

1998-09-25  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.cc (MainWindow): Add a slot clearMessage and a timer to
 	provide our own temporary message display.
	setMessage displays a message and sets a timer to clear it later on.
	This timer connects to clear, that checks wether it is called for the
 	last message set so far and clear it.
	( This checking is done via msgCount. )

	* calculation_inline.h (setEnabled): set checkmark according to the
	given parameter.
	(enableAxisTilt): Perform a plain call to setEnabled.

	* calculation.cc (AxisTiltBox): Use Greek letters phi, theta, chi as
	labels. We use a QFont( "symbol" ) for that. I hope that font is
 	available everywhere.

	* lined.h (class ChkLblFloated) (class LblFloated) (class LblInted):
 	Added these functions to change the font to use for the label text.

1998-09-24  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* workarea.cc (class WorkArea):
	* workarea.cc (WorkArea): Use a ScrollBar64 for horizontal scrolling.

	* scrollbar.h (class ScrollBar64): Renamed this class to better show
	its purpose.

1998-09-22  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.cc (DialogCalculationArnirot): Comment all linear
 	distortion stuff out, since LinearBox::getValues is causing trouble
 	( SIGSEGV ). We do not need it now, have to look at it later.

	* calculation.h (getValues): Modify all getValues functions to really
	include all inputs.

1998-09-15  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData_inline.h (accept): Do static_casts of the enum values
	passed to KConfig::writeEntry to get rid of the compiler warnings.

	* calculation.cc (SpinStatisticBox): Switched to Inted types as these
	inputs need to be.

	* lined.h (class LblInted): Added Inted and LblInted types to input
	integer values. They are analogous to the Floated types.

1998-09-06  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.h (class ParameterBox): Add function setEnabled to support
	on/off switching inherently. If a box is disabled, it shall return
	values that do not influence the calculation ( like zeros for inertial
	constants, false for fit flags. ) ! Classes that don't have a valid use
	should make this function private ( private overloading ).

1998-09-04  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.h: Complete rewrite of these classes.
	There are general purpose classes to implement Groups and Pages of
	input and also a base class for these dialogs. Dialogs shall consist
	of several pages, each page of some ParameterBoxes. Only the top page
	might contain some special control inputs, all other pages have to
	consist of nothing else than ParameterBoxes.

1998-08-30  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* lined.h (class Floated),
 	(class LblFloated),
 	(class ChkLblFloated): Added member functions sizeHint().

1998-08-26  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.h: Updated class structure, more work is put into base
 	classes. New Dialog for jarot calculations is added.

	* mainwindow.cc (menu): Add entry jarot and corresponding slot to show
	dialog and start calculation.

1998-08-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* scrollbar.h (class ScrollBar): Added this class to provide a
 	ScrollBar that can operate on int64_t type values/ranges/steps.
	If sizeof( int ) >= sizeof( int64_t ), we typedef QScrollBar to
 	Scrollbar, otherwise this derived class is used.

	* general: Started to conditional compile due to different int/long
	sizes. Esp. printf type format specifiers need to be different for
	machines on which sizeof( int64 ) == sizeof( long ) and for which
	sizeof( int64 ) != sizeof( long ).

1998-08-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* general, dataset.h (class DataSet): Changed datatypes of start and
 	stop values to int64_t ( from sys/types.h ) to have 8 bytes on any
 	system ( esp. ix86 ).
	Changed all occurences of this frequency values to int64_t.

1998-07-24  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.h (class MainWindow): Add KConfig pointer. This points to
 	the apps KConfig object.

	* mainwindow.cc (MainWindow): Remove ourself form the list of
 	MainWindows and delete all allocated memory.
	* (closeEvent): Overload this event-handler to show dialog for user
 	confirmation. It simply accepts or ignores the close event based on the
 	user input.

	* general: Added KRotData pointer to all GUI classes, so we got really
 	rid of the global instances. Now we should be able to run several
 	instances at one time. Only remaining problem I am aware of right now
 	is the KConfig stuff.

1998-07-22  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* krotData.h krotData_inlie.h krotData.cc
 	global.h global_inline.h global.cc: Renamed class Global to KRotData.
	It is also prepared for multi-instantiation with implementation of
	multiple-MainWindow code.

	* transition.h: Added operator << and >> for QTextStreams.

	* mainwindow.h (class MainWindow): Added static member windowList to
	enable multiple MainWindows.

1998-07-20  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.h (class DataSet): Replaced all occurences of C++ strings
	and I/O stuff by QStrings and Qt I/O.

1998-07-19  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData.cc (DialogIodineFrequency, DialogFSR):
	Changed both to QGridLayout.

1998-07-18  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData_inline.h (DialogImportKHiDaq): Set checkmarks of traces
	visibility correctly.

1998-07-16  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData.h (class DialogFSR): Added this class for input of
	marker distance.

	* importRawData.cc (paintEvent): Added tests for intensity ranges of
 	all traces and handle it approbiate. This is to avoid division by zero.

1998-07-15  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* constants.h, constants.cc (Constants): Added speed of light.
 	Put in numerical values of the constants I know. Add more if you are
 	really sure they are correct.

	* rawData.cc (spectrum): Implemented data linearization.
	Only linear interpolation isimplemented yet, other interpolation
	schemes' algorithms need to put into the approbiate function bodies.

1998-07-06  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* general: Started to use KDEBUG/KASSERT macros for development output.
	The areas to use are defined in krot.h.

1998-07-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importRawData.cc (DialogIodineFrequency): New layout of that dialog.
	Now the unit to use for frequency input can be chosen within the
 	dialog.

	* importRawData.h (class DialogImportRawData): Base class for
	import-raw-data dialogs. This can be used as a generic dialog or can be
	derived for an specific behaviour.

	* mainwindow.h (class MainWindow): Added entry to import raw jba data
	and the signals and slots needed to handle such requests.

	* rawData.h (class RawData): Created this abstract base class for
	import of raw data. Derive a new class for any kind of raw data you
	want to import, define the constructor and the read-function and
	you are done.
	(class KHiDaqData) Working derived class of RawData to import KHiDaq
	data.
	(class JbaData) Implemented to import jba data. read( file ) still
	needs to be filled with code, everything else is done.

	* global.h (class Global): Added support to import raw jba data files.

	* rawData.h, rawData.cc, rawData_inline.h:
 	Renamed khidaq* to this new names since it is useful with all raw data.
	
1998-07-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation_inline.h (enableAxisTilting): 
	(enableCentrifugalDistortion): 
	(axisTiltingToggled): 
	(centrifugalDistortionToggled): Added these inline functions/slots.
	Their purpose is to enable/disable the pages corresponding to the
	switches on page general.

	* calculation.h (class PageCentrifugalDistortion): Added class for
	input of quartic terms of Watsons centrifugal distortion hamiltonian.
	(class IARPageOne): Switches for calculation parameters really turn
	on/off the approbiate pages of the tabbed dialog. This is done by
 	emitting signals to DialogCalculationIAR and calling setTabEnabled.
	(class DialogCalculationIAR): By now there are three pages: general,
	centrifugal distortion and axis tilting.

	* lined.cc (ChkLblFloated): Label part is no longer fixed size but has
 	an approbiate minimum size and no maximum size.

1998-07-01  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* lined.h: Implemented several small classes for input of floating
 	point numbers and checkmark enabling of these inputs.
	These is done by deriving QLineEdit and using validators for the
	input fields.

	* calculation.cc (PageAxisTilting): Added new class for input of
	axis tilting parameter.

1998-06-30  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* calculation.cc: Started dialog to input calculation parameter -
	right now this one is designed for IAR, but should be mostly usefull
 	for any calculation engine.

1998-06-09  Jochen Kpper  <jochen@uni-duesseldorf.de>
	
	* mainwindow.cc: Changed all uses of QFileDialog to KFileDialog for
	KDE-consistency.

1998-05-12  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* progress.h (class DialogProgress): Created this dialog to show
	the progress of any lengthy process. It should be some kind of modal
	dialog that still lets the calculation be performed, but no user
	interaction besides abortion of the lengthy process.
	To be finished, since modality-issues are not working yet.

1998-05-11  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* khidaq.h (class KHiDaq): Changed container type of marker positions
	from vector to set.

1998-05-10  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* khidaq.cc (profile): Added fourth parameter to lorentz-function,
 	which is an additive baseline shift of the intensities.
	Added  an asymmetric exponential function as a second possible profile.
	See code for the functions details.

	* khidaq.h (class KHiDaq): Added enumeration type Profile for marker
 	profiles and a variable _profile to store the actual profile in.
	Made numCoeff a non-static member to provide the possibility of using
	profiles with different numbers of coefficients.

1998-05-08  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* khidaq.h, khidaq.cc
	(calculateMarker):
	(marquartCof):
 	(marquartMinimization):
	(profile):
	Implemented non-linear least-squares fit
	( Levenberg-Marquart ) to approximate each etalon transmission peak
	by an lorentz function and take their central frequency to be the
	marker position. If the fit does not converge, the estimated position
 	is kept.
 	(estimateMarker):
 	Implemented this peak finder routine.
	First it looks for peaks in general, then it discriminates peaks
	lying to close to the previous one, and finally creeps to the maximum
	of the actual peak.

1998-05-05  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importKHiDaq.h (class DialogImportKHiDaq): More enhancements on
	KHiDaq data import. Absolute frequency assignment can be performed,
	Marker can be deleted and added !

1998-05-04  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importKHiDaq.h (class DialogImportKHiDaq + others):
	Several enhancements to the import of KHiDaq data files, especially
 	graphical topics. The data can be displayed, visibility of individual
 	traces can be set, the rough marker position estimation is working,
 	marker positions are displayed.

1998-05-03  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importKHiDaq.h (class DialogIodineFrequency): Added this class to
	let the user enter an absolute frequency. This is assigned to the
 	position he pressed the middle mouse button (what causes this dialog
	to popup).

1998-05-02  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* importKHiDaq.h (class KHiDaqDrawArea): Added this drawing canvas to
	the dialogs workarea.
	
	* importKHiDaq.h (class KHiDaqWorkArea): Added this workarea to the
	dialog.

1998-04-29  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* dataset.cc: No color selection box appears on import of an DataSet
 	any more.

	* foldSet.h (class DialogFoldSet): Added signal changed which is
 	emitted whenever the folding parameters of any set are changed.
	At least the DrawArea needs to be repainted at that point.

1998-04-28  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* global_inline.h (empty): Added argument to let the user select
	specific kinds of DataSets he wants to get informed about.
	Default argument is all DataSets.

	* global.cc: create the global object "global" right in this file
	(at top level). No creation and pointer initialization in main
	needed any more.

	* selectSet.cc (DialogSelectSet): static memeber function get Selection
	now cjhecks wether the global instance staticDialogSelectSet exists.
	It does construct it if it doesn't already.

1998-04-27  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* global.h (class Global): Created global_inline.h and put all inline
	function definitions in there. The file is included at the end of
 	global.h

1998-04-26  Jochen Kpper  <jochen@uni-duesseldorf.de>

	* mainwindow.h (call MainWindow): Added new slot quit. This is called
	when the user selects quit in the Menu and Asks for confirmation. If
	the user cancels, nothing happens, otherwise the application is
 	finished.

	* mainwindow.h (class MainWindow): Completly changed the class
	structure. Handling of menu, statusbar, and toolbar is integrated into
	the class itself. There is one DrawArea child to provide the main view.

	* mainwindow.cc (queryExit): Overloaded this KTMainWindow function to
	show a message box asking for a confirmation to exit.

	* general: Created this directory frontend, including its subdirectory
	dialogs to separate individual parts of the program from each other.
	In here goes all GUI stuff. The full GUI-API shall be given through
	class MainWindow.

	* general: Started this file. Previous comments are in ../ChangeLog.
