2002-09-09 Thomas Koester * SciParam/control.py (ParameterDialog.__init__), SciParam/notebook.py (ParameterNotebookPage.__init__): don't resize details box. * SciParam/version.py: new file containig current version number. * setup.py, SciParam/__init__.py: use version number from version.py. * SciParam/version.py: added great-er_20020909 tag to longversion. 2002-09-05 Thomas Koester * SciParam/parameter.py (ChoiceParam.__setattr__): let SciParam.__setattr__ set the default again. (SciParam.normalize): return default (usually None) if value is unknown. This prevents the default value becoming 'unknown' all the time. (_test_ChoiceParam): added test for the above change. * SciParam/control.py (_TestApp), SciParam/notebook.py (_TestApp): added default value for ChoiceParam to test the above change. 2002-09-04 Thomas Koester * SciParam/parameter.py (SciParam.__setattr__): pass default value through normalize() instead of convert(). 2002-08-28 Thomas Koester * SciParam/range.py (Range.string, Range._float2string): new functions. (Range.__str__): use Range.string() to yield more readable results. * SciParam/parameter.py (SciParam.__setattr__): pass default value through convert() to make it look nicer. * SciParam/parameter.py (ChoiceParam.__setattr__): use the old behaviour for setting default value. 2002-08-21 Jan-Oliver Wagner * SciParam/range.py (Range): Extended number_re to allow nE+nn which is equal to nEnn. (_test): Added test for such numbers. * SciParam/parameter.py (IntParam.convert): first make a float from the string to catch numbers like 1E+02 for 100 2002-08-16 Jan-Oliver Wagner * SciParam/parameter.py: added Unknown with capital U as unknown-string 2002-08-09 Jan-Oliver Wagner * SciParam/parameter.py(ChoiceParam.convert): Added name of parameter to ValueError info. 2002-08-08 Thomas Koester * SciParam/control.py: removed obsolete "import inspect". * SciParam/control.py, SciParam/notebook.py: _SPACE = 8 instead of 10. * SciParam/parameter.py (DistParam.__init__): if dist is not given or None, allow a distribution given in value. * SciParam/range.py (Range.SetRange): Range('') == Range() now. * SciParam/parameter.py (SciParam.__setattr__): if default is '', set it to None. 2002-08-07 Thomas Koester * SciParam/control.py (ParameterDistributionDialog): center Ok and Cancel button. 2002-07-31 Thomas Koester * setup.py: bumped version to "0.9.1cvs". * SciParam/control.py, SciParam/notebook.py, doc/create_gui.html, doc/create_parameters.html, doc/examples/notebook_example.py, doc/examples/parameter_example.py: use ...;oo[ instead of ...;oo] * doc/create_gui.html, doc/create_parameters.html: linked to examples. * doc/examples/notebook_example.py, doc/examples/parameter_example.py: removed CVS tags to match documentation. * MANIFEST.in: include .py examples in doc/examples. * doc/shots/win_small_warning.png, doc/index.html: windows screenshot. * README, doc/index.html, setup.py: new homepage url. * setup.py: bumped version to "0.9.1". * setup.py: bumped version to "0.9.2cvs". 2002-07-30 Thomas Koester * 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", tagged as SCIPARAM_0_9_0 2002-07-29 Thomas Koester * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * SciParam/control.py (ParameterGrid.__init__): replaced ugly while loop with for+range(). 2002-07-11 Thomas Koester * 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 * 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 * 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 * 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 * ChangeLog: started