/*
 * first_ui.c - User interface object initialization functions.
 * This file was generated by `gxv' from `first.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 "first_ui.h"

/*
 * Create object `query_stack' in the specified instance.
 */
Xv_opaque
first_query_stack_create(ip, owner)
	caddr_t		ip;
	Xv_opaque	owner;
{
	extern Menu_item	command_stack_print();
	extern Menu_item	command_stack_print();
	extern Menu_item	command_stack_print();
	extern Menu_item	command_stack_print();
	extern Menu_item	command_stack_print();
	Xv_opaque	obj;
	
	obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
		XV_KEY_DATA, INSTANCE, ip,
		MENU_TITLE_ITEM, "Command Stack",
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Command 1",
			MENU_GEN_PROC, command_stack_print,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Command 2",
			MENU_GEN_PROC, command_stack_print,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Command 3",
			MENU_GEN_PROC, command_stack_print,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Command 4",
			MENU_GEN_PROC, command_stack_print,
			NULL,
		MENU_ITEM,
			XV_KEY_DATA, INSTANCE, ip,
			MENU_STRING, "Command 5",
			MENU_GEN_PROC, command_stack_print,
			NULL,
		MENU_DEFAULT, 2,
		MENU_GEN_PIN_WINDOW, owner, "Command Stack",
		NULL);
	return obj;
}

/*
 * Initialize an instance of object `window1'.
 */
first_window1_objects *
first_window1_objects_initialize(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (first_window1_objects *) calloc(1, sizeof (first_window1_objects))))
		return (first_window1_objects *) NULL;
	if (!ip->window1)
		ip->window1 = first_window1_window1_create(ip, owner);
	if (!ip->controls2)
		ip->controls2 = first_window1_controls2_create(ip, ip->window1);
	if (!ip->quit_button)
		ip->quit_button = first_window1_quit_button_create(ip, ip->controls2);
	if (!ip->font_button)
		ip->font_button = first_window1_font_button_create(ip, ip->controls2);
	if (!ip->preferences_button)
		ip->preferences_button = first_window1_preferences_button_create(ip, ip->controls2);
	if (!ip->host_button)
		ip->host_button = first_window1_host_button_create(ip, ip->controls2);
	if (!ip->createdb_button)
		ip->createdb_button = first_window1_createdb_button_create(ip, ip->controls2);
	if (!ip->destroydb_button)
		ip->destroydb_button = first_window1_destroydb_button_create(ip, ip->controls2);
	if (!ip->database_button)
		ip->database_button = first_window1_database_button_create(ip, ip->controls2);
	if (!ip->schema_button1)
		ip->schema_button1 = first_window1_schema_button1_create(ip, ip->controls2);
	if (!ip->message2)
		ip->message2 = first_window1_message2_create(ip, ip->controls2);
	if (!ip->textpane3)
		ip->textpane3 = first_window1_textpane3_create(ip, ip->window1);
	if (!ip->title2_panel)
		ip->title2_panel = first_window1_title2_panel_create(ip, ip->window1);
	if (!ip->message1)
		ip->message1 = first_window1_message1_create(ip, ip->title2_panel);
	if (!ip->title1_panel)
		ip->title1_panel = first_window1_title1_panel_create(ip, ip->window1);
	if (!ip->clear_button)
		ip->clear_button = first_window1_clear_button_create(ip, ip->title1_panel);
	if (!ip->load_button)
		ip->load_button = first_window1_load_button_create(ip, ip->title1_panel);
	if (!ip->insert_button)
		ip->insert_button = first_window1_insert_button_create(ip, ip->title1_panel);
	if (!ip->vacuum_button)
		ip->vacuum_button = first_window1_vacuum_button_create(ip, ip->title1_panel);
	if (!ip->begin_button)
		ip->begin_button = first_window1_begin_button_create(ip, ip->title1_panel);
	if (!ip->end_button)
		ip->end_button = first_window1_end_button_create(ip, ip->title1_panel);
	if (!ip->abort_button)
		ip->abort_button = first_window1_abort_button_create(ip, ip->title1_panel);
	if (!ip->query_button)
		ip->query_button = first_window1_query_button_create(ip, ip->title1_panel);
	if (!ip->button1)
		ip->button1 = first_window1_button1_create(ip, ip->title1_panel);
	if (!ip->message3)
		ip->message3 = first_window1_message3_create(ip, ip->title1_panel);
	if (!ip->textpane1)
		ip->textpane1 = first_window1_textpane1_create(ip, ip->window1);
	return ip;
}

/*
 * Create object `window1' in the specified instance.
 */
Xv_opaque
first_window1_window1_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern Notify_value	close_inform();
	Xv_opaque	obj;
	Xv_opaque		window1_image;
	static unsigned short	window1_bits[] = {
#include "albericons/alberi.ico"
	};
	
	window1_image = xv_create(XV_NULL, SERVER_IMAGE,
		SERVER_IMAGE_DEPTH, 1,
		SERVER_IMAGE_BITS, window1_bits,
		XV_WIDTH, 64,
		XV_HEIGHT, 64,
		NULL);
	obj = xv_create(owner, FRAME,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 692,
		XV_HEIGHT, 510,
		XV_LABEL, "Postgres GLI Alberi",
		FRAME_SHOW_FOOTER, TRUE,
		FRAME_SHOW_RESIZE_CORNER, TRUE,
		FRAME_ICON, xv_create(XV_NULL, ICON,
			ICON_IMAGE, window1_image,
			NULL),
		NULL);
	xv_set(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(obj,
		(Notify_func) close_inform, NOTIFY_SAFE);
	return obj;
}

/*
 * Create object `controls2' in the specified instance.
 */
Xv_opaque
first_window1_controls2_create(ip, owner)
	first_window1_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, 96,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `quit_button' in the specified instance.
 */
Xv_opaque
first_window1_quit_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		quit();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 18,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Quit",
		PANEL_NOTIFY_PROC, quit,
		NULL);
	return obj;
}

/*
 * Create object `font_button' in the specified instance.
 */
Xv_opaque
first_window1_font_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		font_settings();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 132,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Font",
		PANEL_NOTIFY_PROC, font_settings,
		NULL);
	return obj;
}

/*
 * Create object `preferences_button' in the specified instance.
 */
Xv_opaque
first_window1_preferences_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		pref_settings();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 190,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Preferences",
		PANEL_NOTIFY_PROC, pref_settings,
		NULL);
	return obj;
}

/*
 * Create object `host_button' in the specified instance.
 */
Xv_opaque
first_window1_host_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		host_selection();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 294,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Host",
		PANEL_NOTIFY_PROC, host_selection,
		NULL);
	return obj;
}

/*
 * Create object `createdb_button' in the specified instance.
 */
Xv_opaque
first_window1_createdb_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		create_database();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 350,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Createdb",
		PANEL_NOTIFY_PROC, create_database,
		NULL);
	return obj;
}

/*
 * Create object `destroydb_button' in the specified instance.
 */
Xv_opaque
first_window1_destroydb_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		destroy_database();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 440,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Destroydb",
		PANEL_NOTIFY_PROC, destroy_database,
		NULL);
	return obj;
}

/*
 * Create object `database_button' in the specified instance.
 */
Xv_opaque
first_window1_database_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		database_name_change_proc();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 532,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Database",
		PANEL_NOTIFY_PROC, database_name_change_proc,
		NULL);
	return obj;
}

/*
 * Create object `schema_button1' in the specified instance.
 */
Xv_opaque
first_window1_schema_button1_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		schema_br_proc();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 616,
		XV_Y, 12,
		PANEL_LABEL_STRING, "Schema",
		PANEL_NOTIFY_PROC, schema_br_proc,
		NULL);
	return obj;
}

/*
 * Create object `message2' in the specified instance.
 */
Xv_opaque
first_window1_message2_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 204,
		XV_Y, 56,
		PANEL_LABEL_STRING, "QUERY/COMMAND RESULTS ",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `textpane3' in the specified instance.
 */
Xv_opaque
first_window1_textpane3_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, 86,
		XV_WIDTH, WIN_EXTEND_TO_EDGE,
		XV_HEIGHT, 274,
		OPENWIN_SHOW_BORDERS, TRUE,
		TEXTSW_BROWSING, TRUE,
		TEXTSW_DISABLE_LOAD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `title2_panel' in the specified instance.
 */
Xv_opaque
first_window1_title2_panel_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->textpane3, XV_Y) +
		      (int)xv_get(ip->textpane3, XV_HEIGHT),
		XV_WIDTH, 336,
		XV_HEIGHT, 44,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `message1' in the specified instance.
 */
Xv_opaque
first_window1_message1_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 86,
		XV_Y, 28,
		PANEL_LABEL_STRING, "POSTQUEL COMMAND INTERFACE",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `title1_panel' in the specified instance.
 */
Xv_opaque
first_window1_title1_panel_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 3,
		XV_Y, (int)xv_get(ip->textpane3, XV_Y) +
		      (int)xv_get(ip->textpane3, XV_HEIGHT),
		XV_WIDTH, 669,
		XV_HEIGHT, 44,
		WIN_BORDER, FALSE,
		NULL);
	return obj;
}

/*
 * Create object `clear_button' in the specified instance.
 */
Xv_opaque
first_window1_clear_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		clear_window();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 6,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Clear",
		PANEL_NOTIFY_PROC, clear_window,
		NULL);
	return obj;
}

/*
 * Create object `load_button' in the specified instance.
 */
Xv_opaque
first_window1_load_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		load_object_file();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 70,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Load file",
		PANEL_NOTIFY_PROC, load_object_file,
		NULL);
	return obj;
}

/*
 * Create object `insert_button' in the specified instance.
 */
Xv_opaque
first_window1_insert_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		insert_text_file();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 148,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Insert file",
		PANEL_NOTIFY_PROC, insert_text_file,
		NULL);
	return obj;
}

/*
 * Create object `vacuum_button' in the specified instance.
 */
Xv_opaque
first_window1_vacuum_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		vacuum_database();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 234,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Vacuum",
		PANEL_NOTIFY_PROC, vacuum_database,
		NULL);
	return obj;
}

/*
 * Create object `begin_button' in the specified instance.
 */
Xv_opaque
first_window1_begin_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		begin_transaction();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 312,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Begin",
		PANEL_NOTIFY_PROC, begin_transaction,
		NULL);
	return obj;
}

/*
 * Create object `end_button' in the specified instance.
 */
Xv_opaque
first_window1_end_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		end_transaction();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 372,
		XV_Y, 6,
		PANEL_LABEL_STRING, "End",
		PANEL_NOTIFY_PROC, end_transaction,
		NULL);
	return obj;
}

/*
 * Create object `abort_button' in the specified instance.
 */
Xv_opaque
first_window1_abort_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		abort_transaction();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 420,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Abort",
		PANEL_NOTIFY_PROC, abort_transaction,
		NULL);
	return obj;
}

/*
 * Create object `query_button' in the specified instance.
 */
Xv_opaque
first_window1_query_button_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 482,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Command Stack",
		PANEL_ITEM_MENU, first_query_stack_create((caddr_t) ip, ip->window1),
		NULL);
	return obj;
}

/*
 * Create object `button1' in the specified instance.
 */
Xv_opaque
first_window1_button1_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern void		command_log();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 620,
		XV_Y, 6,
		PANEL_LABEL_STRING, "Log",
		PANEL_NOTIFY_PROC, command_log,
		NULL);
	return obj;
}

/*
 * Create object `message3' in the specified instance.
 */
Xv_opaque
first_window1_message3_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_MESSAGE,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 180,
		XV_Y, 30,
		PANEL_LABEL_STRING, "DIRECT POSTQUEL COMMAND INTERFACE",
		PANEL_LABEL_BOLD, TRUE,
		NULL);
	return obj;
}

/*
 * Create object `textpane1' in the specified instance.
 */
Xv_opaque
first_window1_textpane1_create(ip, owner)
	first_window1_objects	*ip;
	Xv_opaque	owner;
{
	extern Notify_value	query_processing();
	Xv_opaque	obj;
	
	obj = xv_create(owner, TEXTSW,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 0,
		XV_Y, (int)xv_get(ip->title2_panel, XV_Y) +
		      (int)xv_get(ip->title2_panel, 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) query_processing, NOTIFY_SAFE);
	return obj;
}

