home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / genial / ui / gfm_ui.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-14  |  5.7 KB  |  275 lines

  1. /*
  2.  * gfm_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `gfm.G'.
  4.  * DO NOT EDIT BY HAND.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/canvas.h>
  12. #include <xview/panel.h>
  13. #include <xview/scrollbar.h>
  14. #include <xview/svrimage.h>
  15. #include <xview/termsw.h>
  16. #include <xview/text.h>
  17. #include <xview/tty.h>
  18. #include <xview/xv_xrect.h>
  19. #include <group.h>
  20. #include "gfm_ui.h"
  21.  
  22. /*
  23.  * Initialize an instance of object `popup'.
  24.  */
  25. gfm_popup_objects *
  26. gfm_popup_objects_initialize(ip, owner)
  27.     gfm_popup_objects    *ip;
  28.     Xv_opaque    owner;
  29. {
  30.     if (!ip && !(ip = (gfm_popup_objects *) calloc(1, sizeof (gfm_popup_objects))))
  31.         return (gfm_popup_objects *) NULL;
  32.     if (!ip->popup)
  33.         ip->popup = gfm_popup_popup_create(ip, owner);
  34.     if (!ip->controls)
  35.         ip->controls = gfm_popup_controls_create(ip, ip->popup);
  36.     if (!ip->directory)
  37.         ip->directory = gfm_popup_directory_create(ip, ip->controls);
  38.     if (!ip->list)
  39.         ip->list = gfm_popup_list_create(ip, ip->controls);
  40.     if (!ip->file)
  41.         ip->file = gfm_popup_file_create(ip, ip->controls);
  42.     if (!ip->file_list_group)
  43.         ip->file_list_group = gfm_popup_file_list_group_create(ip, ip->controls);
  44.     if (!ip->load)
  45.         ip->load = gfm_popup_load_create(ip, ip->controls);
  46.     if (!ip->props_group)
  47.         ip->props_group = gfm_popup_props_group_create(ip, ip->controls);
  48.     window_fit(ip->controls);
  49.     
  50.     window_fit(ip->popup);
  51.     
  52.     xv_set(ip->controls,
  53.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  54.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  55.         NULL);
  56.     return ip;
  57. }
  58.  
  59. /*
  60.  * Create object `popup' in the specified instance.
  61.  */
  62. Xv_opaque
  63. gfm_popup_popup_create(ip, owner)
  64.     gfm_popup_objects    *ip;
  65.     Xv_opaque    owner;
  66. {
  67.     extern Notify_value    gfm_resize();
  68.     Xv_opaque    obj;
  69.     
  70.     obj = xv_create(owner, FRAME_CMD,
  71.         XV_KEY_DATA, INSTANCE, ip,
  72.         XV_WIDTH, 313,
  73.         XV_HEIGHT, 306,
  74.         XV_LABEL, "File Chooser",
  75.         XV_SHOW, FALSE,
  76.         FRAME_SHOW_FOOTER, TRUE,
  77.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  78.         FRAME_CMD_PUSHPIN_IN, FALSE,
  79.         NULL);
  80.     xv_set(obj, WIN_CONSUME_EVENTS,
  81.         WIN_MOUSE_BUTTONS,
  82.         LOC_MOVE,
  83.         LOC_DRAG,
  84.         LOC_WINENTER,
  85.         LOC_WINEXIT,
  86.         WIN_ASCII_EVENTS,
  87.         WIN_LEFT_KEYS,
  88.         WIN_RIGHT_KEYS,
  89.         WIN_TOP_KEYS,
  90.         NULL, NULL);
  91.     notify_interpose_event_func(obj,
  92.         (Notify_func) gfm_resize, NOTIFY_SAFE);
  93.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  94.     return obj;
  95. }
  96.  
  97. /*
  98.  * Create object `controls' in the specified instance.
  99.  */
  100. Xv_opaque
  101. gfm_popup_controls_create(ip, owner)
  102.     gfm_popup_objects    *ip;
  103.     Xv_opaque    owner;
  104. {
  105.     Xv_opaque    obj;
  106.     
  107.     obj = xv_create(owner, PANEL,
  108.         XV_KEY_DATA, INSTANCE, ip,
  109.         XV_HELP_DATA, "gfm:controls",
  110.         XV_X, 0,
  111.         XV_Y, 0,
  112.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  113.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  114.         WIN_BORDER, FALSE,
  115.         NULL);
  116.     return obj;
  117. }
  118.  
  119. /*
  120.  * Create object `directory' in the specified instance.
  121.  */
  122. Xv_opaque
  123. gfm_popup_directory_create(ip, owner)
  124.     gfm_popup_objects    *ip;
  125.     Xv_opaque    owner;
  126. {
  127.     Xv_opaque    obj;
  128.     
  129.     obj = xv_create(owner, PANEL_TEXT,
  130.         XV_KEY_DATA, INSTANCE, ip,
  131.         XV_HELP_DATA, "gfm:directory",
  132.         XV_X, 10,
  133.         XV_Y, 10,
  134.         PANEL_VALUE_DISPLAY_LENGTH, 28,
  135.         PANEL_VALUE_STORED_LENGTH, 1024,
  136.         PANEL_LABEL_STRING, "Directory:",
  137.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  138.         PANEL_VALUE_UNDERLINED, FALSE,
  139.         PANEL_READ_ONLY, TRUE,
  140.         NULL);
  141.     return obj;
  142. }
  143.  
  144. /*
  145.  * Create object `list' in the specified instance.
  146.  */
  147. Xv_opaque
  148. gfm_popup_list_create(ip, owner)
  149.     gfm_popup_objects    *ip;
  150.     Xv_opaque    owner;
  151. {
  152.     extern int        gfm_list_proc();
  153.     Xv_opaque    obj;
  154.     
  155.     obj = xv_create(owner, PANEL_LIST,
  156.         XV_KEY_DATA, INSTANCE, ip,
  157.         XV_HELP_DATA, "gfm:list",
  158.         XV_X, 10,
  159.         XV_Y, 35,
  160.         PANEL_LIST_WIDTH, 275,
  161.         PANEL_LIST_DISPLAY_ROWS, 10,
  162.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  163.         PANEL_READ_ONLY, TRUE,
  164.         PANEL_CHOOSE_ONE, TRUE,
  165.         PANEL_CHOOSE_NONE, FALSE,
  166.         PANEL_NOTIFY_PROC, gfm_list_proc,
  167.         NULL);
  168.     return obj;
  169. }
  170.  
  171. /*
  172.  * Create object `file' in the specified instance.
  173.  */
  174. Xv_opaque
  175. gfm_popup_file_create(ip, owner)
  176.     gfm_popup_objects    *ip;
  177.     Xv_opaque    owner;
  178. {
  179.     extern Panel_setting    gfm_file_notify();
  180.     Xv_opaque    obj;
  181.     
  182.     obj = xv_create(owner, PANEL_TEXT,
  183.         XV_KEY_DATA, INSTANCE, ip,
  184.         XV_HELP_DATA, "gfm:file",
  185.         XV_X, 10,
  186.         XV_Y, 245,
  187.         PANEL_VALUE_DISPLAY_LENGTH, 30,
  188.         PANEL_VALUE_STORED_LENGTH, 1024,
  189.         PANEL_LABEL_STRING, "Name:",
  190.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  191.         PANEL_READ_ONLY, FALSE,
  192.         PANEL_NOTIFY_PROC, gfm_file_notify,
  193.         NULL);
  194.     return obj;
  195. }
  196.  
  197. /*
  198.  * Create object `file_list_group' in the specified instance.
  199.  */
  200. Xv_opaque
  201. gfm_popup_file_list_group_create(ip, owner)
  202.     gfm_popup_objects    *ip;
  203.     Xv_opaque    owner;
  204. {
  205.     Xv_opaque    obj;
  206.     
  207.     obj = xv_create(owner, GROUP,
  208.         XV_KEY_DATA, INSTANCE, ip,
  209.         XV_X, 10,
  210.         XV_Y, 10,
  211.         GROUP_TYPE, GROUP_COLUMN,
  212.         GROUP_MEMBERS,
  213.             ip->directory,
  214.             ip->list,
  215.             ip->file,
  216.             NULL,
  217.         GROUP_COLUMN_ALIGNMENT, GROUP_LEFT_EDGES,
  218.         GROUP_VERTICAL_SPACING, 10,
  219.         NULL);
  220.     return obj;
  221. }
  222.  
  223. /*
  224.  * Create object `load' in the specified instance.
  225.  */
  226. Xv_opaque
  227. gfm_popup_load_create(ip, owner)
  228.     gfm_popup_objects    *ip;
  229.     Xv_opaque    owner;
  230. {
  231.     extern void        gfm_open();
  232.     Xv_opaque    obj;
  233.     
  234.     obj = xv_create(owner, PANEL_BUTTON,
  235.         XV_KEY_DATA, INSTANCE, ip,
  236.         XV_HELP_DATA, "gfm:load",
  237.         XV_X, 136,
  238.         XV_Y, 280,
  239.         PANEL_LABEL_STRING, "Load",
  240.         PANEL_NOTIFY_PROC, gfm_open,
  241.         NULL);
  242.     return obj;
  243. }
  244.  
  245. /*
  246.  * Create object `props_group' in the specified instance.
  247.  */
  248. Xv_opaque
  249. gfm_popup_props_group_create(ip, owner)
  250.     gfm_popup_objects    *ip;
  251.     Xv_opaque    owner;
  252. {
  253.     Xv_opaque    obj;
  254.     
  255.     obj = xv_create(owner, GROUP,
  256.         XV_KEY_DATA, INSTANCE, ip,
  257.         XV_X, 10,
  258.         XV_Y, 10,
  259.         GROUP_TYPE, GROUP_COLUMN,
  260.         GROUP_MEMBERS,
  261.             ip->file_list_group,
  262.             ip->load,
  263.             NULL,
  264.         GROUP_COLUMN_ALIGNMENT, GROUP_VERTICAL_CENTERS,
  265.         GROUP_VERTICAL_SPACING, 20,
  266.         GROUP_ANCHOR_OBJ, ip->controls,
  267.         GROUP_ANCHOR_POINT, GROUP_NORTHWEST,
  268.         GROUP_REFERENCE_POINT, GROUP_NORTHWEST,
  269.         GROUP_HORIZONTAL_OFFSET, 10,
  270.         GROUP_VERTICAL_OFFSET, 10,
  271.         NULL);
  272.     return obj;
  273. }
  274.  
  275.