/*
 * bc_ui.c - User interface object initialization functions.
 * This file was generated by `gxv' from `bc.G'.
 * DO NOT EDIT BY HAND.
 */

#include <stdio.h>
#include <sys/param.h>
#include <sys/types.h>
#include <xview/xview.h>
#include <xview/canvas.h>
#include <xview/panel.h>
#include <xview/scrollbar.h>
#include <xview/svrimage.h>
#include <xview/termsw.h>
#include <xview/text.h>
#include <xview/tty.h>
#include <xview/xv_xrect.h>
#include <xview/dragdrop.h>
#include <xview/cursor.h>
#include <gdd.h>
#include "bc_ui.h"

/*
 * Create object `save_selection_as' in the specified instance.
 */
Xv_opaque
bc_save_selection_as_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	bc_save_selection_as_item0_callback();
	extern Menu_item	bc_save_selection_as_item1_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "with abbrev ...",
			MENU_GEN_PROC, bc_save_selection_as_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "no abbrev ...",
			MENU_GEN_PROC, bc_save_selection_as_item1_callback,
			NULL,
		MENU_DEFAULT, 1,
		NULL);
	return obj;
}

/*
 * Create object `file_menu' in the specified instance.
 */
Xv_opaque
bc_file_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu		bc_file_menu_menu_callback();
	extern Menu_item	bc_file_menu_item0_callback();
	extern Menu_item	bc_file_menu_item1_callback();
	extern Menu_item	bc_file_menu_item2_callback();
	extern Menu_item	bc_file_menu_item3_callback();
	extern Menu_item	bc_file_menu_item4_callback();
	extern Menu_item	bc_file_menu_item5_callback();
	extern Menu_item	bc_file_menu_item6_callback();
	extern Menu_item	bc_file_menu_item7_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_GEN_PROC, bc_file_menu_menu_callback,
		MENU_TITLE_ITEM, "File",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "New Bib",
			MENU_GEN_PROC, bc_file_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Load Replace ...",
			MENU_GEN_PROC, bc_file_menu_item1_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Load Merge ...",
			MENU_GEN_PROC, bc_file_menu_item2_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Save",
			MENU_INACTIVE, TRUE,
			MENU_GEN_PROC, bc_file_menu_item3_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Save As ...",
			MENU_GEN_PROC, bc_file_menu_item4_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Save Selection As ...",
			MENU_GEN_PROC, bc_file_menu_item5_callback,
			MENU_PULLRIGHT, bc_save_selection_as_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Revert",
			MENU_INACTIVE, TRUE,
			MENU_GEN_PROC, bc_file_menu_item6_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Quit",
			MENU_GEN_PROC, bc_file_menu_item7_callback,
			NULL,
		MENU_DEFAULT, 3,
		MENU_GEN_PIN_WINDOW, owner, "File",
		NULL);
	return obj;
}

/*
 * Create object `edit_menu' in the specified instance.
 */
Xv_opaque
bc_edit_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu		bc_edit_menu_menu_callback();
	extern Menu_item	bc_edit_menu_item0_callback();
	extern Menu_item	bc_edit_menu_item1_callback();
	extern Menu_item	bc_edit_menu_item2_callback();
	extern Menu_item	bc_edit_menu_item3_callback();
	extern Menu_item	bc_edit_menu_item4_callback();
	extern Menu_item	bc_edit_menu_item5_callback();
	extern Menu_item	bc_edit_menu_item6_callback();
	extern Menu_item	bc_edit_menu_item7_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_GEN_PROC, bc_edit_menu_menu_callback,
		MENU_TITLE_ITEM, "Edit",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Add new bib item",
			MENU_GEN_PROC, bc_edit_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Dublicate this item",
			MENU_GEN_PROC, bc_edit_menu_item1_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Delete this item",
			MENU_GEN_PROC, bc_edit_menu_item2_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Copy this item to buffer",
			MENU_GEN_PROC, bc_edit_menu_item3_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Add this item to buffer",
			MENU_GEN_PROC, bc_edit_menu_item4_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Add Selection to buffer",
			MENU_GEN_PROC, bc_edit_menu_item5_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Paste from buffer",
			MENU_GEN_PROC, bc_edit_menu_item6_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Undo changes",
			MENU_GEN_PROC, bc_edit_menu_item7_callback,
			NULL,
		MENU_DEFAULT, 2,
		MENU_GEN_PIN_WINDOW, owner, "Edit",
		NULL);
	return obj;
}

/*
 * Create object `view_menu' in the specified instance.
 */
Xv_opaque
bc_view_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu		bc_view_menu_menu_callback();
	extern Menu_item	bc_view_menu_item0_callback();
	extern Menu_item	bc_view_menu_item1_callback();
	extern Menu_item	bc_view_menu_item2_callback();
	extern Menu_item	bc_view_menu_item3_callback();
	extern Menu_item	bc_view_menu_item4_callback();
	extern Menu_item	bc_view_menu_item5_callback();
	extern Menu_item	bc_view_menu_item6_callback();
	extern Menu_item	bc_view_menu_item7_callback();
	extern Menu_item	bc_view_menu_item8_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_GEN_PROC, bc_view_menu_menu_callback,
		MENU_TITLE_ITEM, "View",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Next",
			MENU_GEN_PROC, bc_view_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Previous",
			MENU_GEN_PROC, bc_view_menu_item1_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "List ...",
			MENU_GEN_PROC, bc_view_menu_item2_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Find ...",
			MENU_GEN_PROC, bc_view_menu_item3_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Sort ...",
			MENU_GEN_PROC, bc_view_menu_item4_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Annotation ...",
			MENU_GEN_PROC, bc_view_menu_item5_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Abbreviations ...",
			MENU_GEN_PROC, bc_view_menu_item6_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Other Fields ...",
			MENU_GEN_PROC, bc_view_menu_item7_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Clip Buffer ...",
			MENU_GEN_PROC, bc_view_menu_item8_callback,
			NULL,
		MENU_DEFAULT, 2,
		MENU_GEN_PIN_WINDOW, owner, "View",
		NULL);
	return obj;
}

/*
 * Create object `updating_menu' in the specified instance.
 */
Xv_opaque
bc_updating_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	bc_updating_menu_item0_callback();
	extern Menu_item	bc_updating_menu_item1_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_CHOICE_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_TITLE_ITEM, "Updating",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "ON",
			MENU_GEN_PROC, bc_updating_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "OFF",
			MENU_GEN_PROC, bc_updating_menu_item1_callback,
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `list_menu_show_list' in the specified instance.
 */
Xv_opaque
bc_list_menu_show_list_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	bc_list_menu_show_list_item0_callback();
	extern Menu_item	bc_list_menu_show_list_item1_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_TITLE_ITEM, "Show List",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "with Find Selections",
			MENU_GEN_PROC, bc_list_menu_show_list_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "don't touch Selections",
			MENU_GEN_PROC, bc_list_menu_show_list_item1_callback,
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `main_menu' in the specified instance.
 */
Xv_opaque
bc_main_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu		bc_main_menu_menu_callback();
	extern Menu_item	bc_main_menu_item5_callback();
	extern Menu_item	bc_main_menu_item6_callback();
	extern Menu_item	bc_main_menu_item7_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_GEN_PROC, bc_main_menu_menu_callback,
		MENU_TITLE_ITEM, "Main",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Next",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Previous",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "File",
			MENU_PULLRIGHT, bc_file_menu_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Edit",
			MENU_PULLRIGHT, bc_edit_menu_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "View",
			MENU_PULLRIGHT, bc_view_menu_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Updating",
			MENU_GEN_PROC, bc_main_menu_item5_callback,
			MENU_PULLRIGHT, bc_updating_menu_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Show List",
			MENU_GEN_PROC, bc_main_menu_item6_callback,
			MENU_PULLRIGHT, bc_list_menu_show_list_create(ip, owner),
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Properties ...",
			MENU_GEN_PROC, bc_main_menu_item7_callback,
			NULL,
		MENU_DEFAULT, 2,
		MENU_GEN_PIN_WINDOW, owner, "Main",
		NULL);
	return obj;
}

/*
 * Create object `month_menu' in the specified instance.
 */
Xv_opaque
bc_month_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	bc_month_menu_item0_callback();
	extern Menu_item	bc_month_menu_item1_callback();
	extern Menu_item	bc_month_menu_item2_callback();
	extern Menu_item	bc_month_menu_item3_callback();
	extern Menu_item	bc_month_menu_item4_callback();
	extern Menu_item	bc_month_menu_item5_callback();
	extern Menu_item	bc_month_menu_item6_callback();
	extern Menu_item	bc_month_menu_item7_callback();
	extern Menu_item	bc_month_menu_item8_callback();
	extern Menu_item	bc_month_menu_item9_callback();
	extern Menu_item	bc_month_menu_item10_callback();
	extern Menu_item	bc_month_menu_item11_callback();
	extern Menu_item	bc_month_menu_item12_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_CHOICE_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "NONE",
			MENU_GEN_PROC, bc_month_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "jan",
			MENU_GEN_PROC, bc_month_menu_item1_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "feb",
			MENU_GEN_PROC, bc_month_menu_item2_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "mar",
			MENU_GEN_PROC, bc_month_menu_item3_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "apr",
			MENU_GEN_PROC, bc_month_menu_item4_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "may",
			MENU_GEN_PROC, bc_month_menu_item5_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "jun",
			MENU_GEN_PROC, bc_month_menu_item6_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "jul",
			MENU_GEN_PROC, bc_month_menu_item7_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "aug",
			MENU_GEN_PROC, bc_month_menu_item8_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "sep",
			MENU_GEN_PROC, bc_month_menu_item9_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "oct",
			MENU_GEN_PROC, bc_month_menu_item10_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "nov",
			MENU_GEN_PROC, bc_month_menu_item11_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "dec",
			MENU_GEN_PROC, bc_month_menu_item12_callback,
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `location_menu' in the specified instance.
 */
Xv_opaque
bc_location_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	bc_location_menu_item0_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_CHOICE_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "NONE",
			MENU_GEN_PROC, bc_location_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_1",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_2",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_3",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_4",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_5",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_6",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_7",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_8",
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "DUMMY_9",
			NULL,
		MENU_DEFAULT, 1,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_menu' in the specified instance.
 */
Xv_opaque
bc_list_popup_menu_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu		bc_list_popup_menu_menu_callback();
	extern Menu_item	bc_list_popup_menu_item0_callback();
	extern Menu_item	bc_list_popup_menu_item1_callback();
	extern Menu_item	bc_list_popup_menu_item2_callback();
	extern Menu_item	bc_list_popup_menu_item3_callback();
	extern Menu_item	bc_list_popup_menu_item4_callback();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_GEN_PROC, bc_list_popup_menu_menu_callback,
		MENU_TITLE_ITEM, "Scrolling List",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Next",
			MENU_GEN_PROC, bc_list_popup_menu_item0_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Previous",
			MENU_GEN_PROC, bc_list_popup_menu_item1_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Clear All Selections",
			MENU_GEN_PROC, bc_list_popup_menu_item2_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Select All",
			MENU_GEN_PROC, bc_list_popup_menu_item3_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Hide List",
			MENU_GEN_PROC, bc_list_popup_menu_item4_callback,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Show List",
			MENU_PULLRIGHT, bc_list_menu_show_list_create(ip, owner),
			NULL,
		MENU_DEFAULT, 2,
		MENU_GEN_PIN_WINDOW, owner, "Scrolling List",
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `base_window'.
 */
bc_base_window_objects *
bc_base_window_objects_initialize(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_base_window_objects *) calloc(1, sizeof (bc_base_window_objects))))
		return (bc_base_window_objects *) NULL;
	if (!ip->base_window)
		ip->base_window = bc_base_window_base_window_create(ip, owner);
	if (!ip->base_window_controls)
		ip->base_window_controls = bc_base_window_base_window_controls_create(ip, ip->base_window);
	if (!ip->base_window_drop_target)
		ip->base_window_drop_target = bc_base_window_base_window_drop_target_create(ip, ip->base_window_controls);
	if (!ip->base_window_file_button)
		ip->base_window_file_button = bc_base_window_base_window_file_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_edit_button)
		ip->base_window_edit_button = bc_base_window_base_window_edit_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_view_button)
		ip->base_window_view_button = bc_base_window_base_window_view_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_properties_button)
		ip->base_window_properties_button = bc_base_window_base_window_properties_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_required)
		ip->base_window_message_required = bc_base_window_base_window_message_required_create(ip, ip->base_window_controls);
	if (!ip->base_window_citekey)
		ip->base_window_citekey = bc_base_window_base_window_citekey_create(ip, ip->base_window_controls);
	if (!ip->base_window_ref_type)
		ip->base_window_ref_type = bc_base_window_base_window_ref_type_create(ip, ip->base_window_controls);
	if (!ip->base_window_key)
		ip->base_window_key = bc_base_window_base_window_key_create(ip, ip->base_window_controls);
	if (!ip->base_window_address)
		ip->base_window_address = bc_base_window_base_window_address_create(ip, ip->base_window_controls);
	if (!ip->base_window_author)
		ip->base_window_author = bc_base_window_base_window_author_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_or_1)
		ip->base_window_message_or_1 = bc_base_window_base_window_message_or_1_create(ip, ip->base_window_controls);
	if (!ip->base_window_booktitle)
		ip->base_window_booktitle = bc_base_window_base_window_booktitle_create(ip, ip->base_window_controls);
	if (!ip->base_window_chapter)
		ip->base_window_chapter = bc_base_window_base_window_chapter_create(ip, ip->base_window_controls);
	if (!ip->base_window_edition)
		ip->base_window_edition = bc_base_window_base_window_edition_create(ip, ip->base_window_controls);
	if (!ip->base_window_editor)
		ip->base_window_editor = bc_base_window_base_window_editor_create(ip, ip->base_window_controls);
	if (!ip->base_window_howpublished)
		ip->base_window_howpublished = bc_base_window_base_window_howpublished_create(ip, ip->base_window_controls);
	if (!ip->base_window_institution)
		ip->base_window_institution = bc_base_window_base_window_institution_create(ip, ip->base_window_controls);
	if (!ip->base_window_journal)
		ip->base_window_journal = bc_base_window_base_window_journal_create(ip, ip->base_window_controls);
	if (!ip->base_window_note)
		ip->base_window_note = bc_base_window_base_window_note_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_or_2)
		ip->base_window_message_or_2 = bc_base_window_base_window_message_or_2_create(ip, ip->base_window_controls);
	if (!ip->base_window_number)
		ip->base_window_number = bc_base_window_base_window_number_create(ip, ip->base_window_controls);
	if (!ip->base_window_organization)
		ip->base_window_organization = bc_base_window_base_window_organization_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_and_or)
		ip->base_window_message_and_or = bc_base_window_base_window_message_and_or_create(ip, ip->base_window_controls);
	if (!ip->base_window_pages)
		ip->base_window_pages = bc_base_window_base_window_pages_create(ip, ip->base_window_controls);
	if (!ip->base_window_publisher)
		ip->base_window_publisher = bc_base_window_base_window_publisher_create(ip, ip->base_window_controls);
	if (!ip->base_window_school)
		ip->base_window_school = bc_base_window_base_window_school_create(ip, ip->base_window_controls);
	if (!ip->base_window_series)
		ip->base_window_series = bc_base_window_base_window_series_create(ip, ip->base_window_controls);
	if (!ip->base_window_title)
		ip->base_window_title = bc_base_window_base_window_title_create(ip, ip->base_window_controls);
	if (!ip->base_window_type)
		ip->base_window_type = bc_base_window_base_window_type_create(ip, ip->base_window_controls);
	if (!ip->base_window_volume)
		ip->base_window_volume = bc_base_window_base_window_volume_create(ip, ip->base_window_controls);
	if (!ip->base_window_year)
		ip->base_window_year = bc_base_window_base_window_year_create(ip, ip->base_window_controls);
	if (!ip->base_window_month_button)
		ip->base_window_month_button = bc_base_window_base_window_month_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_month)
		ip->base_window_month = bc_base_window_base_window_month_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_optionalfields)
		ip->base_window_message_optionalfields = bc_base_window_base_window_message_optionalfields_create(ip, ip->base_window_controls);
	if (!ip->base_window_message_user_fields)
		ip->base_window_message_user_fields = bc_base_window_base_window_message_user_fields_create(ip, ip->base_window_controls);
	if (!ip->base_window_location_button)
		ip->base_window_location_button = bc_base_window_base_window_location_button_create(ip, ip->base_window_controls);
	if (!ip->base_window_location)
		ip->base_window_location = bc_base_window_base_window_location_create(ip, ip->base_window_controls);
	if (!ip->base_window_crossref)
		ip->base_window_crossref = bc_base_window_base_window_crossref_create(ip, ip->base_window_controls);
	if (!ip->base_window_signature)
		ip->base_window_signature = bc_base_window_base_window_signature_create(ip, ip->base_window_controls);
	if (!ip->base_window_crindex)
		ip->base_window_crindex = bc_base_window_base_window_crindex_create(ip, ip->base_window_controls);
	if (!ip->base_window_date)
		ip->base_window_date = bc_base_window_base_window_date_create(ip, ip->base_window_controls);
	if (!ip->base_window_keywords)
		ip->base_window_keywords = bc_base_window_base_window_keywords_create(ip, ip->base_window_controls);
	if (!ip->base_window_isbn)
		ip->base_window_isbn = bc_base_window_base_window_isbn_create(ip, ip->base_window_controls);
	return ip;
}

/*
 * Create object `base_window' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	Xv_opaque		base_window_image;
	static unsigned short	base_window_bits[] = {
#include "bc.icon"
	};
	Xv_opaque		base_window_image_mask;
	static unsigned short	base_window_mask_bits[] = {
#include "bc.mask"
	};
	
	base_window_image = xv_create(XV_NULL, SERVER_IMAGE,
		SERVER_IMAGE_DEPTH, 1,
		SERVER_IMAGE_BITS, base_window_bits,
		XV_WIDTH, 64,
		XV_HEIGHT, 64,
		NULL);
	base_window_image_mask = xv_create(XV_NULL, SERVER_IMAGE,
		SERVER_IMAGE_DEPTH, 1,
		SERVER_IMAGE_BITS, base_window_mask_bits,
		XV_WIDTH, 64,
		XV_HEIGHT, 64,
		NULL);
	obj = xv_create(owner, FRAME,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 556,
		XV_HEIGHT, 638,
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_ICON, xv_create(XV_NULL, ICON,
			ICON_IMAGE, base_window_image,
			ICON_MASK_IMAGE, base_window_image_mask,
			XV_LABEL, "New",
			NULL),
		NULL);
	return obj;
}

/*
 * Create object `base_window_controls' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_controls_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Notify_value	bc_base_window_base_window_controls_event_callback();
	extern void	bc_base_window_base_window_controls_background_handler();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		WIN_BORDER, FALSE,
		NULL);
	xv_set(obj, WIN_MENU, bc_main_menu_create((caddr_t) ip, ip->base_window), NULL);
	
	xv_set(obj, PANEL_BACKGROUND_PROC, bc_base_window_base_window_controls_background_handler, NULL);
	xv_set(obj, WIN_CONSUME_EVENTS,
		WIN_MOUSE_BUTTONS,
		NULL, NULL);
	notify_interpose_event_func(obj,
		(Notify_func) bc_base_window_base_window_controls_event_callback, NOTIFY_SAFE);
	return obj;
}

/*
 * Create object `base_window_drop_target' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_drop_target_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern void	bc_base_window_drop_target_dropped_upon_handler();
	Xv_opaque	obj;
	Xv_opaque		base_window_drop_target_busy_image;
	static unsigned short	base_window_drop_target_busy_bits[] = {
#include "bc_drop_target_busy.icon"
	};
	
	base_window_drop_target_busy_image = xv_create(XV_NULL, SERVER_IMAGE,
		SERVER_IMAGE_DEPTH, 1,
		SERVER_IMAGE_BITS, base_window_drop_target_busy_bits,
		XV_WIDTH, 16,
		XV_HEIGHT, 16,
		NULL);
	obj = xv_create(owner, PANEL_DROP_TARGET,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 512,
		XV_Y, 12,
		PANEL_DROP_BUSY_GLYPH, base_window_drop_target_busy_image,
		NULL);
	
	xv_set(obj,
		PANEL_NOTIFY_PROC, gdd_drop_target_notify_proc,
		NULL);
		
	gdd_register_drop_target(obj, bc_base_window_drop_target_dropped_upon_handler, NULL);
	return obj;
}

/*
 * Create object `base_window_file_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_file_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 16,
		PANEL_LABEL_STRING, "File",
		PANEL_ITEM_MENU, bc_file_menu_create((caddr_t) ip, ip->base_window),
		NULL);
	return obj;
}

/*
 * Create object `base_window_edit_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_edit_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 86,
		XV_Y, 16,
		PANEL_LABEL_STRING, "Edit",
		PANEL_ITEM_MENU, bc_edit_menu_create((caddr_t) ip, ip->base_window),
		NULL);
	return obj;
}

/*
 * Create object `base_window_view_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_view_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 158,
		XV_Y, 16,
		PANEL_LABEL_STRING, "View",
		PANEL_ITEM_MENU, bc_view_menu_create((caddr_t) ip, ip->base_window),
		NULL);
	return obj;
}

/*
 * Create object `base_window_properties_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_properties_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_base_window_base_window_properties_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 236,
		XV_Y, 16,
		PANEL_LABEL_STRING, "Properties ...",
		PANEL_NOTIFY_PROC, bc_base_window_base_window_properties_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_required' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_required_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 30,
		XV_Y, 56,
		PANEL_LABEL_STRING, "Required fields:",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_citekey' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_citekey_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_citekey_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_citekey",
		XV_X, 312,
		XV_Y, 56,
		PANEL_VALUE_DISPLAY_LENGTH, 19,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Cite key:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_citekey_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_ref_type' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_ref_type_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_base_window_base_window_ref_type_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 14,
		XV_Y, 80,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Reference Type:",
		PANEL_NOTIFY_PROC, bc_base_window_base_window_ref_type_notify_callback,
		PANEL_CHOICE_STRING, 0, "Article",
		PANEL_VALUE, 0,
		XV_SHOW, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_key' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_key_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_key_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_key",
		XV_X, 342,
		XV_Y, 80,
		PANEL_VALUE_DISPLAY_LENGTH, 19,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Key:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_key_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_address' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_address_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_address_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_address",
		XV_X, 66,
		XV_Y, 112,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Address:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_address_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_author' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_author_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_author_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_author",
		XV_X, 57,
		XV_Y, 128,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Author(s):",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_author_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_or_1' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_or_1_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 32,
		XV_Y, 136,
		PANEL_LABEL_STRING, "OR",
		PANEL_LABEL_BOLD, FALSE,
		XV_SHOW, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_booktitle' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_booktitle_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_booktitle_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_booktitle",
		XV_X, 60,
		XV_Y, 144,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Booktitle:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_booktitle_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_chapter' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_chapter_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_chapter_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_chapter",
		XV_X, 67,
		XV_Y, 160,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Chapter:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_chapter_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_edition' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_edition_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_edition_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_edition",
		XV_X, 73,
		XV_Y, 176,
		PANEL_VALUE_DISPLAY_LENGTH, 15,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Edition:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_edition_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_editor' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_editor_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_editor_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_editor",
		XV_X, 63,
		XV_Y, 192,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Editor(s):",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_editor_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_howpublished' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_howpublished_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_howpublished_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_howpublished",
		XV_X, 18,
		XV_Y, 208,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "How published:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_howpublished_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_institution' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_institution_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_institution_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_institution",
		XV_X, 48,
		XV_Y, 224,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Institution:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_institution_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_journal' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_journal_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_journal_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_journal",
		XV_X, 70,
		XV_Y, 240,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Journal:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_journal_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_note' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_note_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_note_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_note",
		XV_X, 90,
		XV_Y, 256,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Note:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_note_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_or_2' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_or_2_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 272,
		PANEL_LABEL_STRING, "OR",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_number' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_number_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_number_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_number",
		XV_X, 66,
		XV_Y, 272,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Number:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_number_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_organization' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_organization_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_organization_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_organization",
		XV_X, 32,
		XV_Y, 288,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Organization:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_organization_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_and_or' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_and_or_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 304,
		PANEL_LABEL_STRING, "AND / OR",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_pages' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_pages_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_pages_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_pages",
		XV_X, 81,
		XV_Y, 304,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Pages:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_pages_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_publisher' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_publisher_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_publisher_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_publisher",
		XV_X, 54,
		XV_Y, 320,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Publisher:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_publisher_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_school' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_school_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_school_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_school",
		XV_X, 76,
		XV_Y, 336,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "School:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_school_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_series' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_series_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_series_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_series",
		XV_X, 77,
		XV_Y, 352,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Series:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_series_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_title' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_title_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_title_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_title",
		XV_X, 88,
		XV_Y, 368,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Title:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_title_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_type' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_type_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_type_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_type",
		XV_X, 86,
		XV_Y, 384,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Type:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_type_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_volume' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_volume_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_volume_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_volume",
		XV_X, 68,
		XV_Y, 400,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Volume:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_volume_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_year' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_year_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_year_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_year",
		XV_X, 89,
		XV_Y, 416,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Year:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_year_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_month_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_month_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_ABBREV_MENU_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_month_button",
		XV_X, 77,
		XV_Y, 432,
		PANEL_LABEL_STRING, "Month:",
		PANEL_ITEM_MENU, bc_month_menu_create((caddr_t) ip, ip->base_window),
		NULL);
	return obj;
}

/*
 * Create object `base_window_month' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_month_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_month_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_month",
		XV_X, 131,
		XV_Y, 432,
		PANEL_VALUE_DISPLAY_LENGTH, 15,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_month_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_optionalfields' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_optionalfields_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 32,
		XV_Y, 448,
		PANEL_LABEL_STRING, "Optional fields:",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_message_user_fields' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_message_user_fields_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 56,
		XV_Y, 464,
		PANEL_LABEL_STRING, "User fields:",
		PANEL_LABEL_BOLD, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `base_window_location_button' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_location_button_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_ABBREV_MENU_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_location_button",
		XV_X, 63,
		XV_Y, 480,
		PANEL_LABEL_STRING, "Location:",
		XV_SHOW, FALSE,
		PANEL_ITEM_MENU, bc_location_menu_create((caddr_t) ip, ip->base_window),
		NULL);
	return obj;
}

/*
 * Create object `base_window_location' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_location_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_location_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_location",
		XV_X, 132,
		XV_Y, 480,
		PANEL_VALUE_DISPLAY_LENGTH, 46,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_location_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_crossref' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_crossref_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_crossref_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_crossref",
		XV_X, 30,
		XV_Y, 496,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Cross ref key:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_crossref_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_signature' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_signature_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_signature_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_signature",
		XV_X, 55,
		XV_Y, 512,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Signature:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_signature_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_crindex' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_crindex_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_crindex_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_crindex",
		XV_X, 69,
		XV_Y, 528,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Crindex:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_crindex_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_date' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_date_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_date_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_date",
		XV_X, 90,
		XV_Y, 544,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Date:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_date_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_keywords' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_keywords_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_keywords_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_keywords",
		XV_X, 55,
		XV_Y, 560,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "Keywords:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_keywords_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `base_window_isbn' in the specified instance.
 */
Xv_opaque
bc_base_window_base_window_isbn_create(ip, owner)
	bc_base_window_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_base_window_base_window_isbn_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:base_window_isbn",
		XV_X, 51,
		XV_Y, 576,
		PANEL_VALUE_DISPLAY_LENGTH, 50,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LABEL_STRING, "ISSN, ISBN:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_base_window_base_window_isbn_notify_callback,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `find_popup'.
 */
bc_find_popup_objects *
bc_find_popup_objects_initialize(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_find_popup_objects *) calloc(1, sizeof (bc_find_popup_objects))))
		return (bc_find_popup_objects *) NULL;
	if (!ip->find_popup)
		ip->find_popup = bc_find_popup_find_popup_create(ip, owner);
	if (!ip->find_popup_controls)
		ip->find_popup_controls = bc_find_popup_find_popup_controls_create(ip, ip->find_popup);
	if (!ip->find_popup_ref_type)
		ip->find_popup_ref_type = bc_find_popup_find_popup_ref_type_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_message_find_field)
		ip->find_popup_message_find_field = bc_find_popup_find_popup_message_find_field_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_field_setting1)
		ip->find_popup_find_field_setting1 = bc_find_popup_find_popup_find_field_setting1_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_textfield1)
		ip->find_popup_find_textfield1 = bc_find_popup_find_popup_find_textfield1_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_field_setting2)
		ip->find_popup_find_field_setting2 = bc_find_popup_find_popup_find_field_setting2_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_textfield2)
		ip->find_popup_find_textfield2 = bc_find_popup_find_popup_find_textfield2_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_field_setting3)
		ip->find_popup_find_field_setting3 = bc_find_popup_find_popup_find_field_setting3_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_textfield3)
		ip->find_popup_find_textfield3 = bc_find_popup_find_popup_find_textfield3_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_field_setting4)
		ip->find_popup_find_field_setting4 = bc_find_popup_find_popup_find_field_setting4_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_textfield4)
		ip->find_popup_find_textfield4 = bc_find_popup_find_popup_find_textfield4_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_field_setting5)
		ip->find_popup_find_field_setting5 = bc_find_popup_find_popup_find_field_setting5_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_find_textfield5)
		ip->find_popup_find_textfield5 = bc_find_popup_find_popup_find_textfield5_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_message_year)
		ip->find_popup_message_year = bc_find_popup_find_popup_message_year_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_from_year)
		ip->find_popup_from_year = bc_find_popup_find_popup_from_year_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_to_year)
		ip->find_popup_to_year = bc_find_popup_find_popup_to_year_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_connect)
		ip->find_popup_connect = bc_find_popup_find_popup_connect_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_findmethod)
		ip->find_popup_findmethod = bc_find_popup_find_popup_findmethod_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_ignore_case)
		ip->find_popup_ignore_case = bc_find_popup_find_popup_ignore_case_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_select_in_list)
		ip->find_popup_select_in_list = bc_find_popup_find_popup_select_in_list_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_fuzzy_distance)
		ip->find_popup_fuzzy_distance = bc_find_popup_find_popup_fuzzy_distance_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_button)
		ip->find_popup_button = bc_find_popup_find_popup_button_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_cancel_button)
		ip->find_popup_cancel_button = bc_find_popup_find_popup_cancel_button_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_gauge)
		ip->find_popup_gauge = bc_find_popup_find_popup_gauge_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_previous_button)
		ip->find_popup_previous_button = bc_find_popup_find_popup_previous_button_create(ip, ip->find_popup_controls);
	if (!ip->find_popup_next_button)
		ip->find_popup_next_button = bc_find_popup_find_popup_next_button_create(ip, ip->find_popup_controls);
	return ip;
}

/*
 * Create object `find_popup' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 557,
		XV_HEIGHT, 356,
		XV_LABEL, "Find",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `find_popup_controls' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_controls_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_ref_type' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_ref_type_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 32,
		XV_Y, 8,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Reference type:",
		PANEL_CHOICE_STRING, 0, "Article",
		PANEL_DEFAULT_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_message_find_field' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_message_find_field_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 48,
		XV_Y, 36,
		PANEL_LABEL_STRING, "Find Field",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_field_setting1' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_field_setting1_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 52,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOICE_STRINGS,
			"",
			"",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_textfield1' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_textfield1_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 150,
		XV_Y, 60,
		PANEL_VALUE_DISPLAY_LENGTH, 49,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_field_setting2' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_field_setting2_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 76,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOICE_STRINGS,
			"",
			"",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_textfield2' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_textfield2_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 150,
		XV_Y, 84,
		PANEL_VALUE_DISPLAY_LENGTH, 49,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_field_setting3' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_field_setting3_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 100,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_textfield3' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_textfield3_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 150,
		XV_Y, 108,
		PANEL_VALUE_DISPLAY_LENGTH, 49,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_field_setting4' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_field_setting4_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 124,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_textfield4' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_textfield4_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 150,
		XV_Y, 132,
		PANEL_VALUE_DISPLAY_LENGTH, 49,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_field_setting5' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_field_setting5_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 148,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_find_textfield5' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_find_textfield5_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 150,
		XV_Y, 156,
		PANEL_VALUE_DISPLAY_LENGTH, 49,
		PANEL_VALUE_STORED_LENGTH, 1024,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_message_year' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_message_year_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 104,
		XV_Y, 184,
		PANEL_LABEL_STRING, "Year:",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_from_year' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_from_year_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 180,
		XV_Y, 184,
		PANEL_VALUE_DISPLAY_LENGTH, 5,
		PANEL_VALUE_STORED_LENGTH, 5,
		PANEL_LABEL_STRING, "From year:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_to_year' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_to_year_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 305,
		XV_Y, 184,
		PANEL_VALUE_DISPLAY_LENGTH, 5,
		PANEL_VALUE_STORED_LENGTH, 5,
		PANEL_LABEL_STRING, "To year:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_connect' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_connect_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 32,
		XV_Y, 224,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Connect:",
		PANEL_CHOICE_STRINGS,
			"AND",
			"OR",
			NULL,
		PANEL_DEFAULT_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_findmethod' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_findmethod_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_find_popup_find_popup_findmethod_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 184,
		XV_Y, 224,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Findmethod:",
		PANEL_NOTIFY_PROC, bc_find_popup_find_popup_findmethod_notify_callback,
		PANEL_CHOICE_STRINGS,
			"normal",
			"fuzzy",
			NULL,
		PANEL_DEFAULT_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_ignore_case' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_ignore_case_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 392,
		XV_Y, 224,
		PANEL_CHOICE_NCOLS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, " ",
		PANEL_CHOICE_STRING, 0, "Ignore case",
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_select_in_list' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_select_in_list_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 404,
		XV_Y, 248,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOICE_STRING, 0, "Select in List",
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_fuzzy_distance' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_fuzzy_distance_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 165,
		XV_Y, 252,
		PANEL_VALUE_DISPLAY_LENGTH, 1,
		PANEL_VALUE_STORED_LENGTH, 1,
		PANEL_LABEL_STRING, "fuzzy distance:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_MAX_VALUE, 8,
		PANEL_MIN_VALUE, 0,
		PANEL_VALUE, 1,
		XV_SHOW, FALSE,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_button' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_button_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_find_popup_find_popup_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 72,
		XV_Y, 284,
		PANEL_LABEL_STRING, "Find",
		PANEL_NOTIFY_PROC, bc_find_popup_find_popup_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_cancel_button' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_cancel_button_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_find_popup_find_popup_cancel_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 448,
		XV_Y, 284,
		PANEL_LABEL_STRING, "Cancel",
		PANEL_NOTIFY_PROC, bc_find_popup_find_popup_cancel_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_gauge' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_gauge_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_GAUGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 160,
		XV_Y, 288,
		PANEL_GAUGE_WIDTH, 100,
		PANEL_TICKS, 10,
		PANEL_LABEL_STRING, "Percent done:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 100,
		PANEL_VALUE, 0,
		XV_SHOW, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_previous_button' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_previous_button_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_find_popup_find_popup_previous_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 160,
		XV_Y, 320,
		PANEL_LABEL_WIDTH, 89,
		PANEL_LABEL_STRING, "Show Previous",
		XV_SHOW, FALSE,
		PANEL_NOTIFY_PROC, bc_find_popup_find_popup_previous_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `find_popup_next_button' in the specified instance.
 */
Xv_opaque
bc_find_popup_find_popup_next_button_create(ip, owner)
	bc_find_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_find_popup_find_popup_next_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 320,
		XV_Y, 320,
		PANEL_LABEL_WIDTH, 89,
		PANEL_LABEL_STRING, "   Show Next",
		XV_SHOW, FALSE,
		PANEL_NOTIFY_PROC, bc_find_popup_find_popup_next_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `list_popup'.
 */
bc_list_popup_objects *
bc_list_popup_objects_initialize(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_list_popup_objects *) calloc(1, sizeof (bc_list_popup_objects))))
		return (bc_list_popup_objects *) NULL;
	if (!ip->list_popup)
		ip->list_popup = bc_list_popup_list_popup_create(ip, owner);
	if (!ip->list_popup_controls)
		ip->list_popup_controls = bc_list_popup_list_popup_controls_create(ip, ip->list_popup);
	if (!ip->list_popup_updating)
		ip->list_popup_updating = bc_list_popup_list_popup_updating_create(ip, ip->list_popup_controls);
	if (!ip->list_popup_previous_button)
		ip->list_popup_previous_button = bc_list_popup_list_popup_previous_button_create(ip, ip->list_popup_controls);
	if (!ip->list_popup_next_button)
		ip->list_popup_next_button = bc_list_popup_list_popup_next_button_create(ip, ip->list_popup_controls);
	if (!ip->list_popup_show_button)
		ip->list_popup_show_button = bc_list_popup_list_popup_show_button_create(ip, ip->list_popup_controls);
	if (!ip->list_popup_list)
		ip->list_popup_list = bc_list_popup_list_popup_list_create(ip, ip->list_popup_controls);
	return ip;
}

/*
 * Create object `list_popup' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 212,
		XV_HEIGHT, 664,
		XV_LABEL, "Cite keys:",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `list_popup_controls' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_controls_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_updating' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_updating_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_list_popup_list_popup_updating_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 42,
		XV_Y, 8,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Updating:",
		PANEL_NOTIFY_PROC, bc_list_popup_list_popup_updating_notify_callback,
		PANEL_CHOICE_STRINGS,
			"On",
			"Off",
			NULL,
		PANEL_DEFAULT_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_previous_button' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_previous_button_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_list_popup_list_popup_previous_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 8,
		XV_Y, 40,
		PANEL_LABEL_STRING, "Previous",
		PANEL_NOTIFY_PROC, bc_list_popup_list_popup_previous_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_next_button' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_next_button_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_list_popup_list_popup_next_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 86,
		XV_Y, 40,
		PANEL_LABEL_STRING, "Next",
		PANEL_NOTIFY_PROC, bc_list_popup_list_popup_next_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_show_button' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_show_button_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_list_popup_list_popup_show_button_event_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 140,
		XV_Y, 40,
		PANEL_LABEL_STRING, "Show",
		PANEL_ITEM_MENU, bc_list_menu_show_list_create((caddr_t) ip, ip->list_popup),
		PANEL_EVENT_PROC, bc_list_popup_list_popup_show_button_event_callback,
		NULL);
	return obj;
}

/*
 * Create object `list_popup_list' in the specified instance.
 */
Xv_opaque
bc_list_popup_list_popup_list_create(ip, owner)
	bc_list_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern int		bc_list_popup_list_popup_list_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_LIST,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 8,
		XV_Y, 72,
		PANEL_LIST_WIDTH, 178,
		PANEL_LIST_DISPLAY_ROWS, 31,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_READ_ONLY, TRUE,
		PANEL_CHOOSE_ONE, FALSE,
		PANEL_CHOOSE_NONE, TRUE,
		PANEL_ITEM_MENU, bc_list_popup_menu_create((caddr_t) ip, ip->list_popup),
		PANEL_NOTIFY_PROC, bc_list_popup_list_popup_list_notify_callback,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `sort_popup'.
 */
bc_sort_popup_objects *
bc_sort_popup_objects_initialize(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_sort_popup_objects *) calloc(1, sizeof (bc_sort_popup_objects))))
		return (bc_sort_popup_objects *) NULL;
	if (!ip->sort_popup)
		ip->sort_popup = bc_sort_popup_sort_popup_create(ip, owner);
	if (!ip->sort_popup_controls)
		ip->sort_popup_controls = bc_sort_popup_sort_popup_controls_create(ip, ip->sort_popup);
	if (!ip->sort_popup_sort_field_setting)
		ip->sort_popup_sort_field_setting = bc_sort_popup_sort_popup_sort_field_setting_create(ip, ip->sort_popup_controls);
	if (!ip->sort_popup_sort_order)
		ip->sort_popup_sort_order = bc_sort_popup_sort_popup_sort_order_create(ip, ip->sort_popup_controls);
	if (!ip->sort_popup_gauge)
		ip->sort_popup_gauge = bc_sort_popup_sort_popup_gauge_create(ip, ip->sort_popup_controls);
	if (!ip->sort_popup_sort_button)
		ip->sort_popup_sort_button = bc_sort_popup_sort_popup_sort_button_create(ip, ip->sort_popup_controls);
	if (!ip->sort_popup_cancel_button)
		ip->sort_popup_cancel_button = bc_sort_popup_sort_popup_cancel_button_create(ip, ip->sort_popup_controls);
	return ip;
}

/*
 * Create object `sort_popup' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 398,
		XV_HEIGHT, 123,
		XV_LABEL, "Sort",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_CMD_PUSHPIN_IN, FALSE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `sort_popup_controls' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_controls_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `sort_popup_sort_field_setting' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_sort_field_setting_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 16,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Sort by field:",
		NULL);
	return obj;
}

/*
 * Create object `sort_popup_sort_order' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_sort_order_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:sort_popup_sort_order",
		XV_X, 208,
		XV_Y, 16,
		PANEL_CHOICE_NCOLS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_CHOOSE_NONE, FALSE,
		PANEL_LABEL_STRING, "Sort order:",
		PANEL_CHOICE_STRINGS,
			"A - Z, 1 - 9",
			"Z - A, 0 - 1",
			NULL,
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `sort_popup_gauge' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_gauge_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_GAUGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 48,
		PANEL_GAUGE_WIDTH, 100,
		PANEL_TICKS, 10,
		PANEL_LABEL_STRING, "Percent done:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 100,
		PANEL_VALUE, 0,
		XV_SHOW, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `sort_popup_sort_button' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_sort_button_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_sort_popup_sort_popup_sort_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 112,
		XV_Y, 88,
		PANEL_LABEL_STRING, "Sort",
		PANEL_NOTIFY_PROC, bc_sort_popup_sort_popup_sort_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `sort_popup_cancel_button' in the specified instance.
 */
Xv_opaque
bc_sort_popup_sort_popup_cancel_button_create(ip, owner)
	bc_sort_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_sort_popup_sort_popup_cancel_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 248,
		XV_Y, 88,
		PANEL_LABEL_STRING, "Cancel",
		PANEL_NOTIFY_PROC, bc_sort_popup_sort_popup_cancel_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `annotation_popup'.
 */
bc_annotation_popup_objects *
bc_annotation_popup_objects_initialize(ip, owner)
	bc_annotation_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_annotation_popup_objects *) calloc(1, sizeof (bc_annotation_popup_objects))))
		return (bc_annotation_popup_objects *) NULL;
	if (!ip->annotation_popup)
		ip->annotation_popup = bc_annotation_popup_annotation_popup_create(ip, owner);
	if (!ip->annotation_popup_textplane)
		ip->annotation_popup_textplane = bc_annotation_popup_annotation_popup_textplane_create(ip, ip->annotation_popup);
	return ip;
}

/*
 * Create object `annotation_popup' in the specified instance.
 */
Xv_opaque
bc_annotation_popup_annotation_popup_create(ip, owner)
	bc_annotation_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 674,
		XV_HEIGHT, 163,
		XV_LABEL, "Annotation",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `annotation_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_annotation_popup_annotation_popup_textplane_create(ip, owner)
	bc_annotation_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `ns_popup'.
 */
bc_ns_popup_objects *
bc_ns_popup_objects_initialize(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_ns_popup_objects *) calloc(1, sizeof (bc_ns_popup_objects))))
		return (bc_ns_popup_objects *) NULL;
	if (!ip->ns_popup)
		ip->ns_popup = bc_ns_popup_ns_popup_create(ip, owner);
	if (!ip->ns_popup_top_controls)
		ip->ns_popup_top_controls = bc_ns_popup_ns_popup_top_controls_create(ip, ip->ns_popup);
	if (!ip->ns_popup_message_1)
		ip->ns_popup_message_1 = bc_ns_popup_ns_popup_message_1_create(ip, ip->ns_popup_top_controls);
	if (!ip->ns_popup_message_2)
		ip->ns_popup_message_2 = bc_ns_popup_ns_popup_message_2_create(ip, ip->ns_popup_top_controls);
	if (!ip->ns_popup_textplane)
		ip->ns_popup_textplane = bc_ns_popup_ns_popup_textplane_create(ip, ip->ns_popup);
	return ip;
}

/*
 * Create object `ns_popup' in the specified instance.
 */
Xv_opaque
bc_ns_popup_ns_popup_create(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 413,
		XV_HEIGHT, 226,
		XV_LABEL, "Non-standard BiBTeX fields",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `ns_popup_top_controls' in the specified instance.
 */
Xv_opaque
bc_ns_popup_ns_popup_top_controls_create(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 56,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `ns_popup_message_1' in the specified instance.
 */
Xv_opaque
bc_ns_popup_ns_popup_message_1_create(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 65,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Enter non-standard fields here using",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `ns_popup_message_2' in the specified instance.
 */
Xv_opaque
bc_ns_popup_ns_popup_message_2_create(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 65,
		XV_Y, 24,
		PANEL_LABEL_STRING, "BiBTeX syntax: (e.g. location = \"libr\")",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `ns_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_ns_popup_ns_popup_textplane_create(ip, owner)
	bc_ns_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 45,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `clip_buffer_popup'.
 */
bc_clip_buffer_popup_objects *
bc_clip_buffer_popup_objects_initialize(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_clip_buffer_popup_objects *) calloc(1, sizeof (bc_clip_buffer_popup_objects))))
		return (bc_clip_buffer_popup_objects *) NULL;
	if (!ip->clip_buffer_popup)
		ip->clip_buffer_popup = bc_clip_buffer_popup_clip_buffer_popup_create(ip, owner);
	if (!ip->clip_buffer_popup_controls)
		ip->clip_buffer_popup_controls = bc_clip_buffer_popup_clip_buffer_popup_controls_create(ip, ip->clip_buffer_popup);
	if (!ip->clip_buffer_clear_button)
		ip->clip_buffer_clear_button = bc_clip_buffer_popup_clip_buffer_clear_button_create(ip, ip->clip_buffer_popup_controls);
	if (!ip->clip_buffer_save_button)
		ip->clip_buffer_save_button = bc_clip_buffer_popup_clip_buffer_save_button_create(ip, ip->clip_buffer_popup_controls);
	if (!ip->clip_buffer_undo_button)
		ip->clip_buffer_undo_button = bc_clip_buffer_popup_clip_buffer_undo_button_create(ip, ip->clip_buffer_popup_controls);
	if (!ip->clip_buffer_popup_textplane)
		ip->clip_buffer_popup_textplane = bc_clip_buffer_popup_clip_buffer_popup_textplane_create(ip, ip->clip_buffer_popup);
	return ip;
}

/*
 * Create object `clip_buffer_popup' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_popup_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 416,
		XV_HEIGHT, 227,
		XV_LABEL, "Bibcard Clip Buffer",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `clip_buffer_popup_controls' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_popup_controls_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 39,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `clip_buffer_clear_button' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_clear_button_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_clip_buffer_popup_clip_buffer_clear_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 144,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Clear",
		PANEL_NOTIFY_PROC, bc_clip_buffer_popup_clip_buffer_clear_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `clip_buffer_save_button' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_save_button_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_clip_buffer_popup_clip_buffer_save_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 202,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Save",
		PANEL_NOTIFY_PROC, bc_clip_buffer_popup_clip_buffer_save_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `clip_buffer_undo_button' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_undo_button_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_clip_buffer_popup_clip_buffer_undo_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 256,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Undo",
		PANEL_NOTIFY_PROC, bc_clip_buffer_popup_clip_buffer_undo_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `clip_buffer_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_clip_buffer_popup_clip_buffer_popup_textplane_create(ip, owner)
	bc_clip_buffer_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->clip_buffer_popup_controls, XV_Y) +
		      (int)xv_get(ip->clip_buffer_popup_controls, XV_HEIGHT),
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `abbrev_popup'.
 */
bc_abbrev_popup_objects *
bc_abbrev_popup_objects_initialize(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_abbrev_popup_objects *) calloc(1, sizeof (bc_abbrev_popup_objects))))
		return (bc_abbrev_popup_objects *) NULL;
	if (!ip->abbrev_popup)
		ip->abbrev_popup = bc_abbrev_popup_abbrev_popup_create(ip, owner);
	if (!ip->abrev_popup_top_controls)
		ip->abrev_popup_top_controls = bc_abbrev_popup_abrev_popup_top_controls_create(ip, ip->abbrev_popup);
	if (!ip->abbrev_popup_message_1)
		ip->abbrev_popup_message_1 = bc_abbrev_popup_abbrev_popup_message_1_create(ip, ip->abrev_popup_top_controls);
	if (!ip->abbrev_popup_message_2)
		ip->abbrev_popup_message_2 = bc_abbrev_popup_abbrev_popup_message_2_create(ip, ip->abrev_popup_top_controls);
	if (!ip->abbrev_popup_textplane)
		ip->abbrev_popup_textplane = bc_abbrev_popup_abbrev_popup_textplane_create(ip, ip->abbrev_popup);
	return ip;
}

/*
 * Create object `abbrev_popup' in the specified instance.
 */
Xv_opaque
bc_abbrev_popup_abbrev_popup_create(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 414,
		XV_HEIGHT, 223,
		XV_LABEL, "Abbreviations",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `abrev_popup_top_controls' in the specified instance.
 */
Xv_opaque
bc_abbrev_popup_abrev_popup_top_controls_create(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 40,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `abbrev_popup_message_1' in the specified instance.
 */
Xv_opaque
bc_abbrev_popup_abbrev_popup_message_1_create(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 82,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Enter abbreviations below, one per",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `abbrev_popup_message_2' in the specified instance.
 */
Xv_opaque
bc_abbrev_popup_abbrev_popup_message_2_create(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 82,
		XV_Y, 24,
		PANEL_LABEL_STRING, "line: (e.g. joj = \"Journal of Jokes\")",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `abbrev_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_abbrev_popup_abbrev_popup_textplane_create(ip, owner)
	bc_abbrev_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->abrev_popup_top_controls, XV_Y) +
		      (int)xv_get(ip->abrev_popup_top_controls, XV_HEIGHT),
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `expand_popup'.
 */
bc_expand_popup_objects *
bc_expand_popup_objects_initialize(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_expand_popup_objects *) calloc(1, sizeof (bc_expand_popup_objects))))
		return (bc_expand_popup_objects *) NULL;
	if (!ip->expand_popup)
		ip->expand_popup = bc_expand_popup_expand_popup_create(ip, owner);
	if (!ip->expand_popup_controls)
		ip->expand_popup_controls = bc_expand_popup_expand_popup_controls_create(ip, ip->expand_popup);
	if (!ip->expand_popup_enter_button)
		ip->expand_popup_enter_button = bc_expand_popup_expand_popup_enter_button_create(ip, ip->expand_popup_controls);
	if (!ip->expand_popup_cancel_button)
		ip->expand_popup_cancel_button = bc_expand_popup_expand_popup_cancel_button_create(ip, ip->expand_popup_controls);
	if (!ip->expand_popup_textplane)
		ip->expand_popup_textplane = bc_expand_popup_expand_popup_textplane_create(ip, ip->expand_popup);
	return ip;
}

/*
 * Create object `expand_popup' in the specified instance.
 */
Xv_opaque
bc_expand_popup_expand_popup_create(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 598,
		XV_HEIGHT, 164,
		XV_LABEL, "Expanded field:",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `expand_popup_controls' in the specified instance.
 */
Xv_opaque
bc_expand_popup_expand_popup_controls_create(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 35,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `expand_popup_enter_button' in the specified instance.
 */
Xv_opaque
bc_expand_popup_expand_popup_enter_button_create(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_expand_popup_expand_popup_enter_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 248,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Enter",
		PANEL_NOTIFY_PROC, bc_expand_popup_expand_popup_enter_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `expand_popup_cancel_button' in the specified instance.
 */
Xv_opaque
bc_expand_popup_expand_popup_cancel_button_create(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_expand_popup_expand_popup_cancel_button_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 344,
		XV_Y, 8,
		PANEL_LABEL_STRING, "Cancel",
		PANEL_NOTIFY_PROC, bc_expand_popup_expand_popup_cancel_button_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `expand_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_expand_popup_expand_popup_textplane_create(ip, owner)
	bc_expand_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern Notify_value	bc_expand_popup_expand_popup_textplane_event_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->expand_popup_controls, XV_Y) +
		      (int)xv_get(ip->expand_popup_controls, XV_HEIGHT),
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	xv_set(textsw_first(obj), WIN_CONSUME_EVENTS,
		WIN_MOUSE_BUTTONS,
		LOC_MOVE,
		LOC_DRAG,
		LOC_WINENTER,
		LOC_WINEXIT,
		WIN_ASCII_EVENTS,
		WIN_LEFT_KEYS,
		WIN_RIGHT_KEYS,
		WIN_TOP_KEYS,
		NULL, NULL);
	notify_interpose_event_func(textsw_first(obj),
		(Notify_func) bc_expand_popup_expand_popup_textplane_event_callback, NOTIFY_SAFE);
	return obj;
}

/*
 * Initialize an instance of object `properties_popup'.
 */
bc_properties_popup_objects *
bc_properties_popup_objects_initialize(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (bc_properties_popup_objects *) calloc(1, sizeof (bc_properties_popup_objects))))
		return (bc_properties_popup_objects *) NULL;
	if (!ip->properties_popup)
		ip->properties_popup = bc_properties_popup_properties_popup_create(ip, owner);
	if (!ip->properties_popup_controls)
		ip->properties_popup_controls = bc_properties_popup_properties_popup_controls_create(ip, ip->properties_popup);
	if (!ip->properties_popup_max_total_for_list)
		ip->properties_popup_max_total_for_list = bc_properties_popup_properties_popup_max_total_for_list_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_offset_xv_y)
		ip->properties_popup_offset_xv_y = bc_properties_popup_properties_popup_offset_xv_y_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_file_offset_token)
		ip->properties_popup_file_offset_token = bc_properties_popup_properties_popup_file_offset_token_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_file_offset_field)
		ip->properties_popup_file_offset_field = bc_properties_popup_properties_popup_file_offset_field_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_gfm_filter)
		ip->properties_popup_gfm_filter = bc_properties_popup_properties_popup_gfm_filter_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_ref_type)
		ip->properties_popup_ref_type = bc_properties_popup_properties_popup_ref_type_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_find_field1)
		ip->properties_popup_find_field1 = bc_properties_popup_properties_popup_find_field1_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_find_field2)
		ip->properties_popup_find_field2 = bc_properties_popup_properties_popup_find_field2_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_find_field3)
		ip->properties_popup_find_field3 = bc_properties_popup_properties_popup_find_field3_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_find_field4)
		ip->properties_popup_find_field4 = bc_properties_popup_properties_popup_find_field4_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_find_field5)
		ip->properties_popup_find_field5 = bc_properties_popup_properties_popup_find_field5_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_connect)
		ip->properties_popup_connect = bc_properties_popup_properties_popup_connect_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_findmethod)
		ip->properties_popup_findmethod = bc_properties_popup_properties_popup_findmethod_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_ignore_case)
		ip->properties_popup_ignore_case = bc_properties_popup_properties_popup_ignore_case_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_select_in_list)
		ip->properties_popup_select_in_list = bc_properties_popup_properties_popup_select_in_list_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_sort_field)
		ip->properties_popup_sort_field = bc_properties_popup_properties_popup_sort_field_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_message_textplane)
		ip->properties_popup_message_textplane = bc_properties_popup_properties_popup_message_textplane_create(ip, ip->properties_popup_controls);
	if (!ip->properties_popup_textplane)
		ip->properties_popup_textplane = bc_properties_popup_properties_popup_textplane_create(ip, ip->properties_popup);
	return ip;
}

/*
 * Create object `properties_popup' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern Notify_value	bc_properties_popup_event_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 406,
		XV_HEIGHT, 515,
		XV_LABEL, "bibcard Properties",
		XV_SHOW, FALSE,
		FRAME_SHOW_FOOTER, FALSE,
		FRAME_SHOW_RESIZE_CORNER, FALSE,
		FRAME_CMD_PUSHPIN_IN, TRUE,
		NULL);
	xv_set(obj, WIN_CONSUME_EVENTS,
		WIN_MOUSE_BUTTONS,
		NULL, NULL);
	notify_interpose_event_func(obj,
		(Notify_func) bc_properties_popup_event_callback, NOTIFY_SAFE);
	xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
	return obj;
}

/*
 * Create object `properties_popup_controls' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_controls_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 0,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 425,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_max_total_for_list' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_max_total_for_list_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_max_total_for_list_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_SLIDER,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 16,
		PANEL_SLIDER_WIDTH, 100,
		PANEL_TICKS, 8,
		PANEL_LABEL_STRING, "Max Total for List:",
		PANEL_DIRECTION, PANEL_HORIZONTAL,
		PANEL_SLIDER_END_BOXES, TRUE,
		PANEL_SHOW_RANGE, TRUE,
		PANEL_SHOW_VALUE, TRUE,
		PANEL_MIN_VALUE, 0,
		PANEL_MAX_VALUE, 9999,
		PANEL_VALUE, 2048,
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_max_total_for_list_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_offset_xv_y' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_offset_xv_y_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	bc_properties_popup_properties_popup_offset_xv_y_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 40,
		PANEL_VALUE_DISPLAY_LENGTH, 3,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "Offset between Lines",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_MAX_VALUE, 35,
		PANEL_MIN_VALUE, 10,
		PANEL_VALUE, 24,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_offset_xv_y_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_file_offset_token' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_file_offset_token_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 64,
		PANEL_VALUE_DISPLAY_LENGTH, 3,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "File Offset for Tokens:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_MAX_VALUE, 40,
		PANEL_MIN_VALUE, 0,
		PANEL_VALUE, 8,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_file_offset_field' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_file_offset_field_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_NUMERIC_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 88,
		PANEL_VALUE_DISPLAY_LENGTH, 3,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "File Offset for Fields:",
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_MAX_VALUE, 40,
		PANEL_MIN_VALUE, 0,
		PANEL_VALUE, 18,
		PANEL_READ_ONLY, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_gfm_filter' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_gfm_filter_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_gfm_filter_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 112,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Filter for File Chooser:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_gfm_filter_notify_callback,
		PANEL_CHOICE_STRINGS,
			"^.*\\.bib",
			"^.*\\.bib$",
			NULL,
		PANEL_DEFAULT_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_ref_type' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_ref_type_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_ref_type_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 136,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Reference Type:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_ref_type_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_find_field1' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_find_field1_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_find_field1_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 160,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Field Nr. 1:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_find_field1_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_find_field2' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_find_field2_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_find_field2_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 184,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Field Nr. 2:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_find_field2_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_find_field3' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_find_field3_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_find_field3_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 208,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Field Nr. 3:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_find_field3_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_find_field4' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_find_field4_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_find_field4_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 232,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Field Nr. 4:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_find_field4_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_find_field5' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_find_field5_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_find_field5_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 256,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Field Nr. 5:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_find_field5_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_connect' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_connect_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_connect_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 280,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Find Connect:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_connect_notify_callback,
		PANEL_CHOICE_STRINGS,
			"AND",
			"OR",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_findmethod' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_findmethod_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_findmethod_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 304,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Findmethod:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_findmethod_notify_callback,
		PANEL_CHOICE_STRINGS,
			"normal",
			"fuzzy",
			NULL,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_ignore_case' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_ignore_case_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_ignore_case_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 328,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default for Find:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_ignore_case_notify_callback,
		PANEL_CHOICE_STRING, 0, "Ignore case",
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_select_in_list' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_select_in_list_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_select_in_list_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 352,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default for Find:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_select_in_list_notify_callback,
		PANEL_CHOICE_STRING, 0, "Select in List",
		PANEL_VALUE, 0,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_sort_field' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_sort_field_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	extern void		bc_properties_popup_properties_popup_sort_field_notify_callback();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 16,
		XV_Y, 376,
		PANEL_CHOICE_NROWS, 1,
		PANEL_LAYOUT, PANEL_HORIZONTAL,
		PANEL_LABEL_STRING, "Default Sort Field:",
		PANEL_NOTIFY_PROC, bc_properties_popup_properties_popup_sort_field_notify_callback,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_message_textplane' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_message_textplane_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_HELP_DATA, "bc:properties_popup_message_textplane",
		XV_X, 16,
		XV_Y, 408,
		PANEL_LABEL_STRING, "Enter default non standard fields here (BiBTeX syntax):",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `properties_popup_textplane' in the specified instance.
 */
Xv_opaque
bc_properties_popup_properties_popup_textplane_create(ip, owner)
	bc_properties_popup_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->properties_popup_controls, XV_Y) +
		      (int)xv_get(ip->properties_popup_controls, XV_HEIGHT),
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, WIN_EXTEND_TO_EDGE,
		OPENWIN_SHOW_BORDERS, TRUE,
		NULL);
	return obj;
}

