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

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	Box_Data_List::refresh_related_fields(): Now 
	related fields are updated in the details view 
	when the key value changes in the record.
	Dialog_Layout_List: The edit button now edits the 
	properties of the current layout field.

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

	* glom/mode_data/box_data_list.cc:
        refresh_related_fields(): The list view now updates 
	the displayed value of related fields when you 
	change the related key value in the current record.

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

	* glom/mode_data/box_data_list.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	Db_AddDel::get_column_index() now returns a 
	list of indexes, so that set_value() updates 
	the value in all columns when a field is present 
	more than once.

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

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_data/box_data_list_related.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	Db_AddDel::set_value(), and get_value() now 
	identify the column by a LayoutItem_Field 
	instead of a numerical index, so at least 
	the inefficient index discovery is restricted 
	to one method in Db_AddDel.

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

	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
 	on_adddel_user_changed(): Editing of related fields 
	in the list view now works, using mostly copy/pasted 
	code from Box_Data_List::on_flowtable_field_edited().

2005-03-14  Murray Cumming, <murrayc@murrayc.com>

	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_design/box_db_table_relationships.cc:
	LayoutItem_Field: Add get_has_relationship_name() 
	and use it instead of !get_has_relationship().empty() 
	to reduce unnecessary string copying.

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

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/utility_widgets/flowtablewithfields.cc:
	Editing of related fields on the details view 
	now works.

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

	* glom/box_db_table.cc:
	* glom/box_db_table.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_details.h:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_design/box_db_table_relationships.cc:
	* glom/utility_widgets/db_adddel/db_adddel.cc:
	* glom/utility_widgets/db_adddel/db_adddel.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	* glom/utility_widgets/flowtablewithfields.h:
	FlowTableWithFields and Db_AddDel: Now identify 
	fields via LayoutItem_Field rather than just Field, 
	so related fields do not get confused with regular 
	fields. This should allow me to make editing of 
	related fields work soon.

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

	* examples/example_smallbusiness.glom:
	* glom/mode_data/box_data.cc:
	build_sql_select_with_where_clause(): 
	Use a LEFT OUTER JOIN for the related fields,
	because this does not hide records from 
	the parent table when the key values are bogus,
	and does not give us duplicate records.

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

	* examples/example_smallbusiness.glom:
	* glom/data_structure/layout/layoutitem.h:
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/document/document_glom.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/flowtablewithfields.cc:
	* glom/utility_widgets/flowtablewithfields.h:
	* glom/utility_widgets/layoutwidgetbase.cc:
	* glom/utility_widgets/layoutwidgetbase.h:
	Stop storing the table name in the layoutitem, 
	and saving it in the document.
	It was a nasty hack, and it's better to cache it 
	in the LayoutWidgetBase. It's only needed anyway 
	for right-click layout editing.
	Moved SQL-building code into a reusable method 
	in Box_Data and used it from both Box_Data_List and 
	Box_Data_Details. This means that the List view can 
	now also show related fields. Editing of related 
	fields does not work yet, and the SELECT statement 
	is not quite right - it sometimes gets duplicate 
	records.

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

	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_list_related.cc:
        get_fields_to_show(): Reduce code duplication 
	by calling the code in Box_Data.

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

	* examples/example_smallbusiness.glom:
	* glom/box_db_table.cc:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_design/fields/dialog_fielddefinition.cc:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
	* glom/utility_widgets/flowtablewithfields.cc:
        The Field Chooser dialog now offers fields from 
	relationships, and the field data will be properly
	displayed on the details view. Editing of related 
	fields does not work yet, and the list view can not 
	do this yet.

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

	* glom/box_db.cc:
	* glom/box_db_table.cc:
	* glom/box_db_table.h:
	* glom/mode_data/box_data.cc:
	* glom/mode_data/box_data.h:
	* glom/mode_data/box_data_details.cc:
	* glom/mode_data/box_data_list.cc:
	* glom/mode_data/box_data_list.h:
	* glom/mode_data/box_data_list_related.cc:
	* glom/mode_data/box_data_list_related.h:
	* glom/mode_data/dialog_layout.cc:
	* glom/mode_data/dialog_layout.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_details.h:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_design/fields/box_db_table_definition.cc:
	* glom/mode_design/fields/box_db_table_definition.h:
	* glom/mode_find/box_data_details_find.cc:
	* glom/mode_find/box_data_list_find.cc:
        Store vector of layouts instead of vector of fields 
        for list and details views. Field Chooser dialog 
        also uses layout items so it can edit the full 
        field information, including the relationship, 
        and the formatting in future.

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

	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	Changing the selected relationship when 
	choosing a field now changes the list of 
	available fields.

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

	* examples/example_smallbusiness.glom:
	* glom/data_structure/layout/layoutgroup.h:
	* glom/data_structure/layout/layoutitem_field.cc:
	* glom/data_structure/layout/layoutitem_field.h:
	* glom/document/document_glom.cc:
	* glom/glom.glade:
	* glom/glom_document.dtd:
	* glom/mode_data/dialog_choose_field.cc:
	* glom/mode_data/dialog_choose_field.h:
	* glom/mode_data/dialog_layout.h:
	* glom/mode_data/dialog_layout_details.cc:
	* glom/mode_data/dialog_layout_details.h:
	* glom/mode_data/dialog_layout_list.cc:
	* glom/mode_data/dialog_layout_list.h:
	* glom/mode_data/dialog_layout_list_related.cc:
	* glom/mode_data/dialog_layout_list_related.h:
	* glom/mode_data/treestore_layout.h:
	* glom/mode_design/fields/combo_textglade.cc:
	* glom/mode_design/fields/combo_textglade.h:
	* glom/utility_widgets/datawidget.cc:
	* glom/utility_widgets/datawidget.h:
        LayoutItem_Fields now contain an optional relationship_name.
        When choosing fields, you can choose the relationship.

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* Lots of use of Gtk::MessageDialog::set_secondary_text() to make 
	dialogs more HIGy, plus use of set_transient_for().

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* glom/main.cc: Attempt to use Glib::Option from glibmm 2.6, to 
	provide a --file option, for debugging. But it does not work, 
	probably because of conflicts with the libgnomeui and libgda uses of 
	argc and argv.

2005-03-11  Murray Cumming  <murrayc@murrayc.com>

	* glom now depends on gtkmm 2.6.
	* glom/utility_widgets/adddel/cellrendererlist.[h|cc]: Derive from 
	the Gtk::CellRendererCombo in gtkmm 2.6, instead of implementing 
	all this ourselves.