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

/*
 * Initialize an instance of object `pop'.
 */
name_instance_pop_objects *
name_instance_pop_objects_initialize(ip, owner)
	name_instance_pop_objects	*ip;
	Xv_opaque	owner;
{
	if (!ip && !(ip = (name_instance_pop_objects *) calloc(1, sizeof (name_instance_pop_objects))))
		return (name_instance_pop_objects *) NULL;
	if (!ip->pop)
		ip->pop = name_instance_pop_pop_create(ip, owner);
	if (!ip->controls1)
		ip->controls1 = name_instance_pop_controls1_create(ip, ip->pop);
	if (!ip->new_instance_field)
		ip->new_instance_field = name_instance_pop_new_instance_field_create(ip, ip->controls1);
	if (!ip->instances_list)
		ip->instances_list = name_instance_pop_instances_list_create(ip, ip->controls1);
	if (!ip->done_button)
		ip->done_button = name_instance_pop_done_button_create(ip, ip->controls1);
	return ip;
}

/*
 * Create object `pop' in the specified instance.
 */
Xv_opaque
name_instance_pop_pop_create(ip, owner)
	name_instance_pop_objects	*ip;
	Xv_opaque	owner;
{
	Xv_opaque	obj;
	
	obj = xv_create(owner, FRAME_CMD,
		XV_KEY_DATA, INSTANCE, ip,
		XV_WIDTH, 327,
		XV_HEIGHT, 232,
		XV_LABEL, "Select or name instance ",
		FRAME_SHOW_FOOTER, TRUE,
		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 `controls1' in the specified instance.
 */
Xv_opaque
name_instance_pop_controls1_create(ip, owner)
	name_instance_pop_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 `new_instance_field' in the specified instance.
 */
Xv_opaque
name_instance_pop_new_instance_field_create(ip, owner)
	name_instance_pop_objects	*ip;
	Xv_opaque	owner;
{
	extern Panel_setting	add_new_instance_proc();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_TEXT,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 20,
		XV_Y, 16,
		PANEL_VALUE_DISPLAY_LENGTH, 16,
		PANEL_VALUE_STORED_LENGTH, 80,
		PANEL_LABEL_STRING, "Type in new instance name:",
		PANEL_LAYOUT, PANEL_VERTICAL,
		PANEL_READ_ONLY, FALSE,
		PANEL_NOTIFY_PROC, add_new_instance_proc,
		NULL);
	return obj;
}

/*
 * Create object `instances_list' in the specified instance.
 */
Xv_opaque
name_instance_pop_instances_list_create(ip, owner)
	name_instance_pop_objects	*ip;
	Xv_opaque	owner;
{
	extern int		select_existing_instance_proc();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_LIST,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 8,
		XV_Y, 64,
		PANEL_LIST_WIDTH, 200,
		PANEL_LIST_DISPLAY_ROWS, 7,
		PANEL_LABEL_STRING, "       or select an instance name:",
		PANEL_LAYOUT, PANEL_VERTICAL,
		PANEL_READ_ONLY, TRUE,
		PANEL_CHOOSE_ONE, TRUE,
		PANEL_CHOOSE_NONE, TRUE,
		PANEL_NOTIFY_PROC, select_existing_instance_proc,
		NULL);
	return obj;
}

/*
 * Create object `done_button' in the specified instance.
 */
Xv_opaque
name_instance_pop_done_button_create(ip, owner)
	name_instance_pop_objects	*ip;
	Xv_opaque	owner;
{
	extern void		instance_done_proc();
	Xv_opaque	obj;
	
	obj = xv_create(owner, PANEL_BUTTON,
		XV_KEY_DATA, INSTANCE, ip,
		XV_X, 260,
		XV_Y, 104,
		PANEL_LABEL_STRING, "Done",
		PANEL_NOTIFY_PROC, instance_done_proc,
		NULL);
	return obj;
}

