0.8.21:

2005-04-14  Murray Cumming  <murrayc@murrayc.com>

	* glom/application.cc: Updated copyright year.
	* glom/frame_glom.cc: Use US spelling of 
	canceled. Bug #300139.

2005-04-14  Murray Cumming <murrayc@murrayc.com>

	* examples/example_smallbusiness.glom:
	Invoice details: Show the related, calculated, 
        Full Name instead of the individual name parts, now that 
       calculated fields work.
	* glom/data_structure/layout/layoutgroup.h:
	Make the items map public so we can change it more 
	efficiently.
	* glom/document/document_glom.cc:
	* glom/document/document_glom.h:
	Add fill_layout_field_details() to fill layout groups 
	with full field information.
	* glom/glom.glade:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	Added a Formatting button to show the now-separate 
	formatting dialog.
	set_document(): Get the full field information from 
	the document.
	* glom/mode_data/box_data_list.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/entryglom.cc:
	* glom/utility_widgets/layoutwidgetbase.cc:
	Move action creation into the base class instead of 
	duplicating it.

2005-04-14  Murray Cumming <murrayc@murrayc.com>

	* docs/website/screenshots/glom_data_details.png:
	* docs/website/screenshots/glom_design_layout_field_formatting.png:
	* docs/website/screenshots/glom_select_field.png:
	* docs/website/screenshots/index.html:
	Updated some screenshots and pictures.
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	Added get_record_field_values(), get_calculated_fields(), and 
	do_calculations() which use them.
	* glom/mode_data/box_data_details.cc: on_flowtable_field_changed():
	* glom/mode_data/box_data_list.cc: on_adddel_user_changed():
	Call do_calculations() to update calculated field values.

2005-04-13  Murray Cumming  <murrayc@murrayc.com>

	* docs/website/screenshots/glom_design_fields_dialog_calculated.png
	: Updated the screenshot to show these changes.
	* examples/example_smallbusiness.glom:
	Added a name_full fields to contacts, as a simple calculated-field 
	test.
	* glom/data_structure/field.cc:
	* glom/data_structure/field.h:
	Added get_caculation_fields() - it parses the python code and 
	guesses what fields are used in the calculation.
	* glom/data_structure/glomconversions.cc:
	* glom/data_structure/glomconversions.h:
	Added get_example_value(), so we have some field values for the 
	calculation test dialog.
	* glom/glom.glade:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
	* glom/mode_design/fields/dialog_fieldcalculation.h:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	Show the (according to our parsing) used fields, and show that 
	we import the glom module implicitly. 

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* glom/python_embed/glom_python.cc:
	glom_evaluate_python_function_implementation()
	Correctly check whether the result is a gda.Value 
	and process it appropriately. This now works.

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* glom/python_embed/python_module/Makefile.am:
	Link the module to the glom dependencies, to 
	avoid undefined symbols when using it from python.

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* glom/python_embed/python_module/Makefile.am:
	Use pyexec_* instead of pkpyexec_* so that the 
	module is not installed in a package sub-directory, 
	so that it can be imported.

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* glom/Makefile.am:
	* glom/python_embed/python_module/Makefile.am:
	Create glom.la, not libglom.la. That seems to be what 
	python modules do.
	* glom/python_embed/python_module/py_glom_record.cc:
	* glom/python_embed/python_module/py_glom_record.h:
	Rename the initglomRecord() method to initglom(), in 
	case that is what python is looking for. Still does 
	not work though.

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* configure.in:
	* glom/Makefile.am:
	* glom/python_embed/Makefile.am:
	* glom/python_embed/glom_python.cc:
	* glom/python_embed/python_module/Makefile.am:
	* glom/python_embed/python_module/py_glom_record.cc:
	* glom/python_embed/python_module/py_glom_record.h:
	Put the python module in a sub directory, making the 
	build easiert. Rename the python module from pyglom 
	to glom, and import that. But python still says that 
	the module does not exist when we import it.

2005-04-13  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data.cc: record_new(),
	* glom/mode_design/fields/dialog_fieldcalculation.cc:
	on_button_test(): Pass some test fields values to 
	glom_evaluate_python_function_implementation().
	* glom/python_embed/Makefile.am:
	Try to actually build and install the glom python 
	module.
	* glom/python_embed/glom_python.cc:
	* glom/python_embed/glom_python.h:
	glom_evaluate_python_function_implementation() now 
	receives a map of field values to be used by the 
	python function.
	* glom/python_embed/py_glom_record.cc:
	Add the fields attribute.

2005-04-12  Murray Cumming <murrayc@murrayc.com>

	* glom/python_embed/glom_python.cc: Get access to 
	the python gda.Value type and use it instead of 
	the hack.

2005-04-12  Murray Cumming <murrayc@murrayc.com>

	* configure.in: pkg-config check for pygtk-2.0, 
	because we need the header to access the internals 
	of the gda.Value object.
	* glom/python_embed/glom_python.cc:
	Handle the result as a gda.Value.

2005-04-10  Murray Cumming <murrayc@murrayc.com>

	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	on_adddel_user_added(): Call 
	on_adddel_user_changed() to do lookups. 
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/box_data_list_related.h:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	DbAddDel::signal_user_added(): Pass the column 
	index of the field that was filled-in to create 
	the new row.

2005-04-10  Murray Cumming <murrayc@murrayc.com>

	* po/POTFILES.in: Added files that I think 
	Christian Rose removed accidentally.

2005-04-09  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	Add get/set_hidden(), so we can add a hidden list 
	column for keys, without showing them in the UI.
	* glom/mode_data/box_data_list.cc:
	Do not create rows in the AddDel from the database - 
	allow it (the model) to fill itself.
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	Use the new explicit get_last_row() method of the model 
	instead of iterating back from end().
	* glom/utility_widgets/db_adddel/glom_db_treemodel.cc:
	* glom/utility_widgets/db_adddel/glom_db_treemodel.h:
	Constructor: create rows from the database automatically, 
	as well as allowing creating of new empty rows.

2005-04-08  Murray Cumming <murrayc@murrayc.com>

	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/data_structure/relationship.cc:
	* glom/data_structure/relationship.h:
	Added Relationship::get_name_not_empty() and used it,
	for performance, instead of getting the whole string
	just to see if it is empty.
	* glom/glom.glade:
	* glom/mode_data/Makefile.am:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/mode_data/dialog_field_layout.cc:
	* glom/mode_data/dialog_field_layout.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_details.h:
	Moved formatting options to their own dialog.
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/entryglom.cc:
	* glom/utility_widgets/entryglom.h:
	* glom/utility_widgets/layoutwidgetbase.h:
	Added a context menu item for the new layout 
	properties dialog.