2002-07-30  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterDialog),
	SciParam/notebook.py (ParameterNotebookDialog): added pos and size
	arguments, removed vbox.Fit(self) to stay at given size, style is now
	passed correctly to wxDialog.

	* doc/classes.html: documented modules control and notebook.

	* SciParam/range.py (SetRange): don't convert range to lowercase.
	(GetRange): return internal representation of range.
	(__eq__): use new GetRange().
	(__str__): don't use new GetRange().
	(_test): test __eq__().

	* doc/classes.html: documented modules range, distribution, parameter.

	* setup.py: bumped version to "0.9.0"

2002-07-29  Thomas Koester  <tkoester@intevation.de>

	* doc/guielements.html: description of features.

	* SciParam/parameter.py (SciParam): description is now optional.

	* doc/create_parameters.html: added some content.

	* TODO: new todos.

	* SciParam/notebook.py (ParameterNotebookDialog): don't use
	SetDimensions.
	(_TestApp): use list of tuples instead of lists for pages.

	* SciParam/control.py (ParameterGrid, ParameterDialog),
	SciParam/notebook.py (ParameterNotebookPage, ParameterNotebook,
	ParameterNotebookDialog): number of columns defaults to 1 now.

	* doc/examples/parameter_example.py, doc/examples/notebook_example.py,
	doc/create_parameters.html, doc/create_gui.html: added sample code.

	* doc/classes.html, doc/create_gui.html, doc/create_parameters.html,
	doc/guielements.html, doc/index.html, doc/install.html: added colors
	for html page and syntax highlighting.

2002-07-26  Thomas Koester  <tkoester@intevation.de>

	* doc/index.html: Page listing documentation and links.
	Added license section.

	* setup.py: changed thuban reference to 'the software', added
	CVS keywords.

	* doc/install.html: installation instructions

	* doc/guielements.html, doc/create_parameters.html,
	doc/create_gui.html, doc/classes.html: documentation templates

	* SciParam/control.py (ParameterGrid): find location of required.xpm
	via __file__ variable. Set __file__ = sys.argv[0] if run as script.

	* doc/guielements.html: added screenshots and descriptions.

	* doc/index.html, doc/install.html, doc/create_parameters.html,
	doc/guielements.html:
	changed "Using the GUI elements" to "SciParam GUI features".

	* doc/shots/choice_long.png, doc/shots/choice_short.png,
	doc/shots/details.png, doc/shots/dialog.png,
	doc/shots/distributed.png, doc/shots/error.png,
	doc/shots/notebook.png, doc/shots/required_icon.png,
	doc/shots/warning.png: new linux screenshots.

2002-07-25  Bernhard Herzog  <bh@intevation.de>

	* setup.py: Add SciParam/required.xpm
	(sciparam_install_data): Our own install_data command
	to put the xpm-file into the package directory on installation

2002-07-25  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterGrid): always load required.xpm
	from package directory.

	* TODO: new file

	* MANIFEST.in: added TODO, doc/ and SciParam/required.xpm

	* README: filled with content.

	* SciParam/control.py, SciParam/notebook.py: moved declaration of
	sample parameters to _TestApp.OnInit(), to make setlocale happen
	before reading floats.

2002-07-24  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterDetailsBox.connect_distribution):
	don't resize distChoice, because this doesn't look good with wxPython
	2.2.9 on Linux.

	* SciParam/parameter.py (SciParam),
	SciParam/control.py (ParameterGrid): added a required flag to
	parameters, which will be displayed in front of the entry controls.
	* SciParam/required.xpm: new bitmap to show required flag.

	* SciParam/control.py (ParameterGrid): added tooltip to icon.

	* SciParam/control.py, SciParam/notebook.py: new sample parameters.

2002-07-23  Thomas Koester  <tkoester@intevation.de>

	* SciParam/distribution.py (Distribution.parameter): mapping from
	distribution type to texts for needed parameters.

	* SciParam/parameter.py (convert): now raises ValueError if it
	can't convert a string or number to internal representation.
	(normalize): convert string to normalized string or return default.
	(DistParam): many fixes.
	(ChoiceParam): now keys and (unique) values are valid for setting
	a value.

	* SciParam/control.py (ParameterDistributionDialog): new dialog:
	input of distribution parameters like mean value and std. deviation
	(ParameterDetailsBox.OnDistChoice): call ParameterDistributionDialog
	for new distribution parameters.
	(ParameterValidator.Validate): check for minimum value in another
	TextCtrl; needed for uniform distribution.
	(ParameterCtrl.OnKillFocus, ParameterCtrl.SetValue): new handling
	for changes in parameter module.
	(ParameterChoice1): removed.

	* SciParam/control.py (ParameterValidator.Validate): catch exceptions
	for invalid characters and display an error dialog.
	Add distribution type where appropriate.
	Removed ranges from error/warning dialog to keep it simple.

	* SciParam/parameter.py (DistParam.is1distinrange): check if
	distribution is valid/usual; called by is1inrange.

	* SciParam/parameter.py (ChoiceParam): support for long lists.
	* SciParam/control.py (ParameterLongChoice): revived ParameterChoice1
	to support lists of choices which are too long for radiobuttons.
	(ParameterDetailsBox): initialize distChoice with long list of
	Distribution.types, because Windows doesn't resize it later.
	Resize distChoice after changing the list of choices.

2002-07-19  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py, SciParam/notebook.py: adjust Layout for long
	names and descriptions of parameters.

	* SciParam/control.py: preliminary support for selecting distribution
	type with DistParam parameters.

	* SciParam/__init__.py: added DistParam and Distribution.

	* SciParam/notebook.py: added tests for DistParam.

	* SciParam/distribution.py: when initialized with another instance
	as argument, return a copy of this Distribution instance.

	* SciParam/parameter.py: many changes for DistParam.convert() and
	DistParam.string(). is1valid and is1usual now call is1inrange().

	* SciParam/control.py (ParameterCtrl.SetValue): more support for
	DistParam.

	* SciParam/parameter.py: don't return 'unknown' for converting of
	invalid values.

2002-07-18  Thomas Koester  <tkoester@intevation.de>

	* SciParam/__init__.py: import only needed classes.

	* SciParam/parameter.py, SciParam/control.py: removed support for
	obsolete Parameter class.

	* SciParam/distribution.py: new class Distribution
	* SciParam/parameter.py: new class DistParam
	* SciParam/control.py: tests for DistParam

	* SciParam/control.py, SciParam/notebook.py: find parameters from
	list instead of from controls in test.

2002-07-17  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py: alternative implementation of ParameterChoice
	and ParameterChoiceValidator with wxRadioButton; check if using
	ParameterChoiceValidator is safe.

	* SciParam/control.py (ChoiceParam): made refocus work.

2002-07-16  Thomas Koester  <tkoester@intevation.de>

	* SciParam/parameter.py: renamed xyzParameter to xyzParam.

	* SciParam/control.py (_TestApp), SciParam/notebook.py (_TestApp):
	tests with FloatParam and IntParam.

	* SciParam/control.py (ParameterDetailsBox): don't use wxID_APPLY
	as ID for 'Apply Default', because this makes Validate shout.

	* SciParam/parameter.py (SciParam): moved convert() from FloatParam,
	__setattr__() always calls convert() for setting value now.

	* SciParam/parameter.py (FloatParam, IntParam): now support long
	integer values.

	* SciParam/parameter.py (ChoiceParam): implemented

	* SciParam/control.py (_TestApp), SciParam/notebook.py (_TestApp):
	tests with ChoiceParam.

	* SciParam/control.py (ParameterGrid): use ParameterChoiceCtrl.
	(ParameterChoiceCtrl): Control for ChoiceParam.
	(ParameterChoiceValidator): Validator for ParameterChoiceCtrl,
	this still crashes with wxWindows 2.2.9.2, but works with 2.3.x

	* SciParam/parameter.py (ChoiceParam): use self.string() instead of
	str() to handle unknown values.

2002-07-15  Thomas Koester  <tkoester@intevation.de>

	* SciParam/parameter.py (_test): use english instead of german.

	* SciParam/range.py, SciParam/parameter.py: seperated Range class
	from parameter module.

	* SciParam/parameter.py: rewritten to support more than just floats:
	FloatParameter and StringParameter should already work.
	New methods: isvalid(), isusual(), range()

	* SciParam/control.py (ParameterDetailsBox.connect): use new
	Parameter method range
	(ParameterValidator.Validate): use new methods isvalid, isusual

	* SciParam/parameter.py: use empty string as default for unit and
	comment.
	(SciParameter.isunknown): new method; isvalid and isusual now return
	true if value is unknown.
	(SciParameter.isunknown): FloatParameter will now convert strings
	on it's own.

	* SciParam/control.py (ParameterCtrl.GetValue): removed, this is
	handled by FloatParameter now.
	(ParameterCtrl.SetValue): removed float conversion.
	(ParameterDetailsBox.OnButton): use str(default) for SetValue

	* SciParam/control.py (ParameterGrid.AddParameter): now handles real
	parameters in a list.

	* SciParam/control.py (_TestApp), SciParam/notebook.py (_TestApp):
	added test with StringParameter.

	* SciParam/control.py (ParameterValidator.Validate,
	ParameterCtrl.SetValue, ParameterCtrl.OnKillFocus): update "unknown"
	and warning/error colors in SetValue, not in Validate.

	* SciParam/parameter.py (IntParameter): new class for integers.

	* SciParam/range.py (Range): added support for scientific notation.

2002-07-13  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterGrid.__init__): replaced ugly while
	loop with for+range().

2002-07-11  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterValidator.Validate): optional
	argument 'errordialog' to disable popup windows on errors/warnings.
	(ParameterCtrl.OnKillFocus): do validation without popups here to
	change the control background color to yellow/red on warning/error.
	(ParameterCtrl.OnSetFocus): removed validation.

	* SciParam/notebook.py (ParameterNotebookDialog.OnButtonOK): handle
	validation inside the dialog because automatic recursive validation
	is currently broken in wxPython.

	* SciParam/control.py (ParameterCtrl.OnKillFocus): unset selection
	when control looses focus.

	* SciParam/notebook.py (ParameterNotebookDialog.OnSetFocus): set
	input focus to a ParameterCtrl when the notebook gets focus.

	* SciParam/control.py (ParameterDetailsBox.OnKillFocus): check if
	there already is a ParameterCtrl.

	* SciParam/parameter.py: use float("1e1000") instead of 1e1000 for
	infinity to make Windows Python bytecode compiler happy.

	* SciParam/control.py (ParameterDetailsBox.connect): don't show
	empty descriptions.

	* SciParam/parameter.py (Range.__eq__, Range.__ne__): added equal and
	not-equal comparison methods.

	* SciParam/control.py (ParameterDetailsBox.connect): don't show
	unlimited ranges.

2002-07-10  Bernhard Herzog  <bh@intevation.de>

	* MANIFEST.in, setup.py: New files for distutils

	* MANIFEST.in: Add ChangeLog

	* SciParam/__init__.py: Turn SciParam into an actual Python
	package

2002-07-10  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (ParameterDialog): number of columns changable

	* SciParam/notebook.py: Place Ok and Cancel buttons outside notebook.
	(_TestNotebook): renamed to ParameterNotebook; loop to generate more
	than one notebook page.
	(_TestFrame, _TestPanel): dropped in favour of ParameterNotebookDialog.
	(ParameterNotebookDialog): do things the right way

	* SciParam/control.py (ParameterGrid.refocus),
	SciParam/notebook.py (ParameterNotebook.OnNotebookPageChanged):
	Set focus to the previously active control, if it is available.

	* SciParam/notebook.py (ParameterNotebookPage.__init__): call
	InitDialog to send parameter values to their controls.
	(ParameterNotebook.OnNotebookPageChanging): Validate parameters
	before changing tabs.
	(ParameterNotebookDialog): added third sample notebook page.

	* SciParam/control.py (ParameterCtrl.OnSetFocus): set focus to next
	control after warning range error message is answered with 'Yes'.

	* SciParam/notebook.py (ParameterNotebookDialog.__init__,
	_TestApp.OnInit): Print parameter values returned by dialog.

2002-07-09  Thomas Koester  <tkoester@intevation.de>

	* SciParam/control.py (_TestFrame): dropped in favour of
	ParameterDialog.
	(_TestApp): use ParameterDialog to handle parameter list.
	(ParameterDialog): use vbox.Fit method to make Windows draw the
	window correctly.

2002-06-20  Jan-Oliver Wagner  <jan@intevation.de>

	* ChangeLog: started
