home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / maestro / source / shelledt / shelldt_.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-15  |  18.9 KB  |  759 lines

  1. /*
  2.  * ShellEdit_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `ShellEdit.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 <gcm.h>
  20. #include "ShellEdit_ui.h"
  21.  
  22. /*
  23.  * Create object `documentMenu' in the specified instance.
  24.  */
  25. Xv_opaque
  26. ShellEdit_documentMenu_create(caddr_t ip, Xv_opaque owner)
  27. {
  28.     extern Menu_item    OpenFile(Menu_item, Menu_generate);
  29.     extern Menu_item    Save(Menu_item, Menu_generate);
  30.     extern Menu_item    SaveAs(Menu_item, Menu_generate);
  31.     extern Menu_item    Info(Menu_item, Menu_generate);
  32.     extern Menu_item    QuitShellEdit(Menu_item, Menu_generate);
  33.     Xv_opaque    obj;
  34.     
  35.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  36.         XV_KEY_DATA, INSTANCE, ip,
  37.         MENU_ITEM,
  38.             XV_KEY_DATA, INSTANCE, ip,
  39.             MENU_STRING, "Open",
  40.             MENU_GEN_PROC, OpenFile,
  41.             NULL,
  42.         MENU_ITEM,
  43.             XV_KEY_DATA, INSTANCE, ip,
  44.             MENU_STRING, "Save",
  45.             MENU_GEN_PROC, Save,
  46.             NULL,
  47.         MENU_ITEM,
  48.             XV_KEY_DATA, INSTANCE, ip,
  49.             MENU_STRING, "Save As",
  50.             MENU_GEN_PROC, SaveAs,
  51.             NULL,
  52.         MENU_ITEM,
  53.             XV_KEY_DATA, INSTANCE, ip,
  54.             MENU_STRING, "About ShellEdit",
  55.             MENU_GEN_PROC, Info,
  56.             NULL,
  57.         MENU_ITEM,
  58.             XV_KEY_DATA, INSTANCE, ip,
  59.             MENU_STRING, "Quit",
  60.             MENU_GEN_PROC, QuitShellEdit,
  61.             NULL,
  62.         MENU_GEN_PIN_WINDOW, owner, "",
  63.         NULL);
  64.     return obj;
  65. }
  66.  
  67. /*
  68.  * Initialize an instance of object `baseWindow'.
  69.  */
  70. ShellEdit_baseWindow_objects *
  71. ShellEdit_baseWindow_objects_initialize(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  72. {
  73.     if (!ip && !(ip = (ShellEdit_baseWindow_objects *) calloc(1, sizeof (ShellEdit_baseWindow_objects))))
  74.         return (ShellEdit_baseWindow_objects *) NULL;
  75.     if (!ip->baseWindow)
  76.         ip->baseWindow = ShellEdit_baseWindow_baseWindow_create(ip, owner);
  77.     if (!ip->shellControl)
  78.         ip->shellControl = ShellEdit_baseWindow_shellControl_create(ip, ip->baseWindow);
  79.     if (!ip->document)
  80.         ip->document = ShellEdit_baseWindow_document_create(ip, ip->shellControl);
  81.     if (!ip->editListMessage)
  82.         ip->editListMessage = ShellEdit_baseWindow_editListMessage_create(ip, ip->shellControl);
  83.     if (!ip->numOfEdits)
  84.         ip->numOfEdits = ShellEdit_baseWindow_numOfEdits_create(ip, ip->shellControl);
  85.     if (!ip->scrollerMessage)
  86.         ip->scrollerMessage = ShellEdit_baseWindow_scrollerMessage_create(ip, ip->shellControl);
  87.     if (!ip->scrollList)
  88.         ip->scrollList = ShellEdit_baseWindow_scrollList_create(ip, ip->shellControl);
  89.     if (!ip->currentSelection)
  90.         ip->currentSelection = ShellEdit_baseWindow_currentSelection_create(ip, ip->shellControl);
  91.     if (!ip->currentSelectionField)
  92.         ip->currentSelectionField = ShellEdit_baseWindow_currentSelectionField_create(ip, ip->shellControl);
  93.     if (!ip->command)
  94.         ip->command = ShellEdit_baseWindow_command_create(ip, ip->shellControl);
  95.     if (!ip->label)
  96.         ip->label = ShellEdit_baseWindow_label_create(ip, ip->shellControl);
  97.     if (!ip->duration)
  98.         ip->duration = ShellEdit_baseWindow_duration_create(ip, ip->shellControl);
  99.     if (!ip->indefinite)
  100.         ip->indefinite = ShellEdit_baseWindow_indefinite_create(ip, ip->shellControl);
  101.     if (!ip->performCommand)
  102.         ip->performCommand = ShellEdit_baseWindow_performCommand_create(ip, ip->shellControl);
  103.     if (!ip->add)
  104.         ip->add = ShellEdit_baseWindow_add_create(ip, ip->shellControl);
  105.     if (!ip->delete)
  106.         ip->delete = ShellEdit_baseWindow_delete_create(ip, ip->shellControl);
  107.     if (!ip->killProcesses)
  108.         ip->killProcesses = ShellEdit_baseWindow_killProcesses_create(ip, ip->shellControl);
  109.     if (!ip->modify)
  110.         ip->modify = ShellEdit_baseWindow_modify_create(ip, ip->shellControl);
  111.     if (!ip->deleteAll)
  112.         ip->deleteAll = ShellEdit_baseWindow_deleteAll_create(ip, ip->shellControl);
  113.     if (!ip->terminal)
  114.         ip->terminal = ShellEdit_baseWindow_terminal_create(ip, ip->baseWindow);
  115.     return ip;
  116. }
  117.  
  118. /*
  119.  * Create object `baseWindow' in the specified instance.
  120.  */
  121. Xv_opaque
  122. ShellEdit_baseWindow_baseWindow_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  123. {
  124.     Xv_opaque    obj;
  125.     Xv_opaque        baseWindow_image;
  126.     static unsigned short    baseWindow_bits[] = {
  127. #include "ShellEdit.icon"
  128.     };
  129.     
  130.     baseWindow_image = xv_create(XV_NULL, SERVER_IMAGE,
  131.         SERVER_IMAGE_DEPTH, 1,
  132.         SERVER_IMAGE_BITS, baseWindow_bits,
  133.         XV_WIDTH, 64,
  134.         XV_HEIGHT, 64,
  135.         NULL);
  136.     obj = xv_create(owner, FRAME,
  137.         XV_KEY_DATA, INSTANCE, ip,
  138.         XV_WIDTH, 831,
  139.         XV_HEIGHT, 457,
  140.         XV_LABEL, "Shell Edit Document :  \"untitled\"",
  141.         FRAME_SHOW_FOOTER, TRUE,
  142.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  143.         FRAME_ICON, xv_create(XV_NULL, ICON,
  144.             ICON_IMAGE, baseWindow_image,
  145.             NULL),
  146.         NULL);
  147.     return obj;
  148. }
  149.  
  150. /*
  151.  * Create object `shellControl' in the specified instance.
  152.  */
  153. Xv_opaque
  154. ShellEdit_baseWindow_shellControl_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  155. {
  156.     Xv_opaque    obj;
  157.     
  158.     obj = xv_create(owner, PANEL,
  159.         XV_KEY_DATA, INSTANCE, ip,
  160.         XV_X, 0,
  161.         XV_Y, 0,
  162.         XV_WIDTH, 408,
  163.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  164.         WIN_BORDER, FALSE,
  165.         NULL);
  166.     gcm_initialize_colors(obj, "Gray", NULL);
  167.     return obj;
  168. }
  169.  
  170. /*
  171.  * Create object `document' in the specified instance.
  172.  */
  173. Xv_opaque
  174. ShellEdit_baseWindow_document_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  175. {
  176.     Xv_opaque    obj;
  177.     
  178.     obj = xv_create(owner, PANEL_BUTTON,
  179.         XV_KEY_DATA, INSTANCE, ip,
  180.         XV_X, 24,
  181.         XV_Y, 16,
  182.         PANEL_LABEL_STRING, "Document",
  183.         PANEL_ITEM_MENU, ShellEdit_documentMenu_create((caddr_t) ip, ip->baseWindow),
  184.         NULL);
  185.     return obj;
  186. }
  187.  
  188. /*
  189.  * Create object `editListMessage' in the specified instance.
  190.  */
  191. Xv_opaque
  192. ShellEdit_baseWindow_editListMessage_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  193. {
  194.     Xv_opaque    obj;
  195.     
  196.     obj = xv_create(owner, PANEL_MESSAGE,
  197.         XV_KEY_DATA, INSTANCE, ip,
  198.         XV_X, 120,
  199.         XV_Y, 20,
  200.         PANEL_LABEL_STRING, "      Edit List     Number of Edits :",
  201.         PANEL_LABEL_BOLD, TRUE,
  202.         NULL);
  203.     return obj;
  204. }
  205.  
  206. /*
  207.  * Create object `numOfEdits' in the specified instance.
  208.  */
  209. Xv_opaque
  210. ShellEdit_baseWindow_numOfEdits_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  211. {
  212.     Xv_opaque    obj;
  213.     
  214.     obj = xv_create(owner, PANEL_MESSAGE,
  215.         XV_KEY_DATA, INSTANCE, ip,
  216.         XV_X, 348,
  217.         XV_Y, 20,
  218.         PANEL_LABEL_STRING, "0",
  219.         PANEL_LABEL_BOLD, TRUE,
  220.         NULL);
  221.     return obj;
  222. }
  223.  
  224. /*
  225.  * Create object `scrollerMessage' in the specified instance.
  226.  */
  227. Xv_opaque
  228. ShellEdit_baseWindow_scrollerMessage_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  229. {
  230.     Xv_opaque    obj;
  231.     
  232.     obj = xv_create(owner, PANEL_MESSAGE,
  233.         XV_KEY_DATA, INSTANCE, ip,
  234.         XV_X, 32,
  235.         XV_Y, 48,
  236.         PANEL_LABEL_STRING, "Edit #    Label                                      Duration",
  237.         PANEL_LABEL_BOLD, TRUE,
  238.         NULL);
  239.     return obj;
  240. }
  241.  
  242. /*
  243.  * Create object `scrollList' in the specified instance.
  244.  */
  245. Xv_opaque
  246. ShellEdit_baseWindow_scrollList_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  247. {
  248.     extern int        ScrollList(Panel_item, char *, Xv_opaque, Panel_list_op, Event *, int);
  249.     Xv_opaque    obj;
  250.     
  251.     obj = xv_create(owner, PANEL_LIST,
  252.         XV_KEY_DATA, INSTANCE, ip,
  253.         XV_X, 24,
  254.         XV_Y, 68,
  255.         PANEL_LIST_WIDTH, 330,
  256.         PANEL_LIST_DISPLAY_ROWS, 8,
  257.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  258.         PANEL_READ_ONLY, TRUE,
  259.         PANEL_CHOOSE_ONE, TRUE,
  260.         PANEL_CHOOSE_NONE, TRUE,
  261.         PANEL_NOTIFY_PROC, ScrollList,
  262.         NULL);
  263.     return obj;
  264. }
  265.  
  266. /*
  267.  * Create object `currentSelection' in the specified instance.
  268.  */
  269. Xv_opaque
  270. ShellEdit_baseWindow_currentSelection_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  271. {
  272.     Xv_opaque    obj;
  273.     
  274.     obj = xv_create(owner, PANEL_MESSAGE,
  275.         XV_KEY_DATA, INSTANCE, ip,
  276.         XV_X, 104,
  277.         XV_Y, 244,
  278.         PANEL_LABEL_STRING, "Current Selection :",
  279.         PANEL_LABEL_BOLD, TRUE,
  280.         NULL);
  281.     return obj;
  282. }
  283.  
  284. /*
  285.  * Create object `currentSelectionField' in the specified instance.
  286.  */
  287. Xv_opaque
  288. ShellEdit_baseWindow_currentSelectionField_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  289. {
  290.     Xv_opaque    obj;
  291.     
  292.     obj = xv_create(owner, PANEL_MESSAGE,
  293.         XV_KEY_DATA, INSTANCE, ip,
  294.         XV_X, 240,
  295.         XV_Y, 244,
  296.         PANEL_LABEL_STRING, "New Edit",
  297.         PANEL_LABEL_BOLD, TRUE,
  298.         NULL);
  299.     return obj;
  300. }
  301.  
  302. /*
  303.  * Create object `command' in the specified instance.
  304.  */
  305. Xv_opaque
  306. ShellEdit_baseWindow_command_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  307. {
  308.     Xv_opaque    obj;
  309.     
  310.     obj = xv_create(owner, PANEL_TEXT,
  311.         XV_KEY_DATA, INSTANCE, ip,
  312.         XV_X, 24,
  313.         XV_Y, 268,
  314.         PANEL_VALUE_DISPLAY_LENGTH, 45,
  315.         PANEL_VALUE_STORED_LENGTH, 255,
  316.         PANEL_LABEL_STRING, "Command :",
  317.         PANEL_LAYOUT, PANEL_VERTICAL,
  318.         PANEL_READ_ONLY, FALSE,
  319.         NULL);
  320.     return obj;
  321. }
  322.  
  323. /*
  324.  * Create object `label' in the specified instance.
  325.  */
  326. Xv_opaque
  327. ShellEdit_baseWindow_label_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  328. {
  329.     Xv_opaque    obj;
  330.     
  331.     obj = xv_create(owner, PANEL_TEXT,
  332.         XV_KEY_DATA, INSTANCE, ip,
  333.         XV_X, 24,
  334.         XV_Y, 320,
  335.         PANEL_VALUE_DISPLAY_LENGTH, 38,
  336.         PANEL_VALUE_STORED_LENGTH, 255,
  337.         PANEL_LABEL_STRING, "Label :",
  338.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  339.         PANEL_READ_ONLY, FALSE,
  340.         NULL);
  341.     return obj;
  342. }
  343.  
  344. /*
  345.  * Create object `duration' in the specified instance.
  346.  */
  347. Xv_opaque
  348. ShellEdit_baseWindow_duration_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  349. {
  350.     Xv_opaque    obj;
  351.     
  352.     obj = xv_create(owner, PANEL_TEXT,
  353.         XV_KEY_DATA, INSTANCE, ip,
  354.         XV_X, 24,
  355.         XV_Y, 356,
  356.         PANEL_VALUE_DISPLAY_LENGTH, 8,
  357.         PANEL_VALUE_STORED_LENGTH, 80,
  358.         PANEL_LABEL_STRING, "Duration (in sec) :",
  359.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  360.         PANEL_READ_ONLY, FALSE,
  361.         NULL);
  362.     return obj;
  363. }
  364.  
  365. /*
  366.  * Create object `indefinite' in the specified instance.
  367.  */
  368. Xv_opaque
  369. ShellEdit_baseWindow_indefinite_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  370. {
  371.     extern void        Indefinite(Panel_item, Event *);
  372.     Xv_opaque    obj;
  373.     
  374.     obj = xv_create(owner, PANEL_BUTTON,
  375.         XV_KEY_DATA, INSTANCE, ip,
  376.         XV_X, 232,
  377.         XV_Y, 356,
  378.         PANEL_LABEL_STRING, "Indefinite",
  379.         PANEL_NOTIFY_PROC, Indefinite,
  380.         NULL);
  381.     return obj;
  382. }
  383.  
  384. /*
  385.  * Create object `performCommand' in the specified instance.
  386.  */
  387. Xv_opaque
  388. ShellEdit_baseWindow_performCommand_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  389. {
  390.     extern void        PerformCommand(Panel_item, Event *);
  391.     Xv_opaque    obj;
  392.     
  393.     obj = xv_create(owner, PANEL_BUTTON,
  394.         XV_KEY_DATA, INSTANCE, ip,
  395.         XV_X, 27,
  396.         XV_Y, 392,
  397.         PANEL_LABEL_STRING, "Perform Command",
  398.         PANEL_NOTIFY_PROC, PerformCommand,
  399.         NULL);
  400.     return obj;
  401. }
  402.  
  403. /*
  404.  * Create object `add' in the specified instance.
  405.  */
  406. Xv_opaque
  407. ShellEdit_baseWindow_add_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  408. {
  409.     extern void        Add(Panel_item, Event *);
  410.     Xv_opaque    obj;
  411.     
  412.     obj = xv_create(owner, PANEL_BUTTON,
  413.         XV_KEY_DATA, INSTANCE, ip,
  414.         XV_X, 169,
  415.         XV_Y, 392,
  416.         PANEL_LABEL_WIDTH, 77,
  417.         PANEL_LABEL_STRING, "      Add",
  418.         PANEL_NOTIFY_PROC, Add,
  419.         NULL);
  420.     return obj;
  421. }
  422.  
  423. /*
  424.  * Create object `delete' in the specified instance.
  425.  */
  426. Xv_opaque
  427. ShellEdit_baseWindow_delete_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  428. {
  429.     extern void        Delete(Panel_item, Event *);
  430.     Xv_opaque    obj;
  431.     
  432.     obj = xv_create(owner, PANEL_BUTTON,
  433.         XV_KEY_DATA, INSTANCE, ip,
  434.         XV_X, 272,
  435.         XV_Y, 392,
  436.         PANEL_LABEL_WIDTH, 77,
  437.         PANEL_LABEL_STRING, "     Delete",
  438.         PANEL_NOTIFY_PROC, Delete,
  439.         NULL);
  440.     return obj;
  441. }
  442.  
  443. /*
  444.  * Create object `killProcesses' in the specified instance.
  445.  */
  446. Xv_opaque
  447. ShellEdit_baseWindow_killProcesses_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  448. {
  449.     extern void        KillProcesses(Panel_item, Event *);
  450.     Xv_opaque    obj;
  451.     
  452.     obj = xv_create(owner, PANEL_BUTTON,
  453.         XV_KEY_DATA, INSTANCE, ip,
  454.         XV_X, 28,
  455.         XV_Y, 420,
  456.         PANEL_LABEL_STRING, "    Kill Processes    ",
  457.         PANEL_NOTIFY_PROC, KillProcesses,
  458.         NULL);
  459.     return obj;
  460. }
  461.  
  462. /*
  463.  * Create object `modify' in the specified instance.
  464.  */
  465. Xv_opaque
  466. ShellEdit_baseWindow_modify_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  467. {
  468.     extern void        Modify(Panel_item, Event *);
  469.     Xv_opaque    obj;
  470.     
  471.     obj = xv_create(owner, PANEL_BUTTON,
  472.         XV_KEY_DATA, INSTANCE, ip,
  473.         XV_X, 169,
  474.         XV_Y, 420,
  475.         PANEL_LABEL_WIDTH, 77,
  476.         PANEL_LABEL_STRING, "    Modify",
  477.         PANEL_NOTIFY_PROC, Modify,
  478.         NULL);
  479.     return obj;
  480. }
  481.  
  482. /*
  483.  * Create object `deleteAll' in the specified instance.
  484.  */
  485. Xv_opaque
  486. ShellEdit_baseWindow_deleteAll_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  487. {
  488.     extern void        DeleteAll(Panel_item, Event *);
  489.     Xv_opaque    obj;
  490.     
  491.     obj = xv_create(owner, PANEL_BUTTON,
  492.         XV_KEY_DATA, INSTANCE, ip,
  493.         XV_X, 272,
  494.         XV_Y, 420,
  495.         PANEL_LABEL_WIDTH, 77,
  496.         PANEL_LABEL_STRING, "  Delete All",
  497.         PANEL_NOTIFY_PROC, DeleteAll,
  498.         NULL);
  499.     return obj;
  500. }
  501.  
  502. /*
  503.  * Create object `terminal' in the specified instance.
  504.  */
  505. Xv_opaque
  506. ShellEdit_baseWindow_terminal_create(ShellEdit_baseWindow_objects *ip, Xv_opaque owner)
  507. {
  508.     Xv_opaque    obj;
  509.     
  510.     obj = xv_create(owner, TERMSW,
  511.         XV_KEY_DATA, INSTANCE, ip,
  512.         XV_X, 407,
  513.         XV_Y, 0,
  514.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  515.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  516.         OPENWIN_SHOW_BORDERS, TRUE,
  517.         NULL);
  518.     return obj;
  519. }
  520.  
  521. /*
  522.  * Initialize an instance of object `ShellEditInfo'.
  523.  */
  524. ShellEdit_ShellEditInfo_objects *
  525. ShellEdit_ShellEditInfo_objects_initialize(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  526. {
  527.     if (!ip && !(ip = (ShellEdit_ShellEditInfo_objects *) calloc(1, sizeof (ShellEdit_ShellEditInfo_objects))))
  528.         return (ShellEdit_ShellEditInfo_objects *) NULL;
  529.     if (!ip->ShellEditInfo)
  530.         ip->ShellEditInfo = ShellEdit_ShellEditInfo_ShellEditInfo_create(ip, owner);
  531.     if (!ip->InfoControlPanel)
  532.         ip->InfoControlPanel = ShellEdit_ShellEditInfo_InfoControlPanel_create(ip, ip->ShellEditInfo);
  533.     if (!ip->appNameMessage)
  534.         ip->appNameMessage = ShellEdit_ShellEditInfo_appNameMessage_create(ip, ip->InfoControlPanel);
  535.     if (!ip->appDescription1Message)
  536.         ip->appDescription1Message = ShellEdit_ShellEditInfo_appDescription1Message_create(ip, ip->InfoControlPanel);
  537.     if (!ip->appDescription2Message)
  538.         ip->appDescription2Message = ShellEdit_ShellEditInfo_appDescription2Message_create(ip, ip->InfoControlPanel);
  539.     if (!ip->developerMessage)
  540.         ip->developerMessage = ShellEdit_ShellEditInfo_developerMessage_create(ip, ip->InfoControlPanel);
  541.     if (!ip->copyrightMessage)
  542.         ip->copyrightMessage = ShellEdit_ShellEditInfo_copyrightMessage_create(ip, ip->InfoControlPanel);
  543.     if (!ip->copyright2Message)
  544.         ip->copyright2Message = ShellEdit_ShellEditInfo_copyright2Message_create(ip, ip->InfoControlPanel);
  545.     if (!ip->copyright3Message)
  546.         ip->copyright3Message = ShellEdit_ShellEditInfo_copyright3Message_create(ip, ip->InfoControlPanel);
  547.     if (!ip->moreinfoMessage)
  548.         ip->moreinfoMessage = ShellEdit_ShellEditInfo_moreinfoMessage_create(ip, ip->InfoControlPanel);
  549.     if (!ip->info)
  550.         ip->info = ShellEdit_ShellEditInfo_info_create(ip, ip->InfoControlPanel);
  551.     return ip;
  552. }
  553.  
  554. /*
  555.  * Create object `ShellEditInfo' in the specified instance.
  556.  */
  557. Xv_opaque
  558. ShellEdit_ShellEditInfo_ShellEditInfo_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  559. {
  560.     Xv_opaque    obj;
  561.     
  562.     obj = xv_create(owner, FRAME_CMD,
  563.         XV_KEY_DATA, INSTANCE, ip,
  564.         XV_WIDTH, 476,
  565.         XV_HEIGHT, 264,
  566.         XV_LABEL, "Shell Edit Info",
  567.         XV_SHOW, FALSE,
  568.         FRAME_SHOW_FOOTER, TRUE,
  569.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  570.         FRAME_CMD_PUSHPIN_IN, FALSE,
  571.         NULL);
  572.     gcm_initialize_colors(obj, "light gray", NULL);
  573.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  574.     return obj;
  575. }
  576.  
  577. /*
  578.  * Create object `InfoControlPanel' in the specified instance.
  579.  */
  580. Xv_opaque
  581. ShellEdit_ShellEditInfo_InfoControlPanel_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  582. {
  583.     Xv_opaque    obj;
  584.     
  585.     obj = xv_create(owner, PANEL,
  586.         XV_KEY_DATA, INSTANCE, ip,
  587.         XV_X, 0,
  588.         XV_Y, 0,
  589.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  590.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  591.         WIN_BORDER, TRUE,
  592.         NULL);
  593.     return obj;
  594. }
  595.  
  596. /*
  597.  * Create object `appNameMessage' in the specified instance.
  598.  */
  599. Xv_opaque
  600. ShellEdit_ShellEditInfo_appNameMessage_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  601. {
  602.     Xv_opaque    obj;
  603.     
  604.     obj = xv_create(owner, PANEL_MESSAGE,
  605.         XV_KEY_DATA, INSTANCE, ip,
  606.         XV_X, 156,
  607.         XV_Y, 12,
  608.         PANEL_LABEL_STRING, "Shell Edit   Version 1.10",
  609.         PANEL_LABEL_BOLD, TRUE,
  610.         NULL);
  611.     return obj;
  612. }
  613.  
  614. /*
  615.  * Create object `appDescription1Message' in the specified instance.
  616.  */
  617. Xv_opaque
  618. ShellEdit_ShellEditInfo_appDescription1Message_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  619. {
  620.     Xv_opaque    obj;
  621.     
  622.     obj = xv_create(owner, PANEL_MESSAGE,
  623.         XV_KEY_DATA, INSTANCE, ip,
  624.         XV_X, 68,
  625.         XV_Y, 40,
  626.         PANEL_LABEL_STRING, "An application for executing and timing shell commands",
  627.         PANEL_LABEL_BOLD, FALSE,
  628.         NULL);
  629.     return obj;
  630. }
  631.  
  632. /*
  633.  * Create object `appDescription2Message' in the specified instance.
  634.  */
  635. Xv_opaque
  636. ShellEdit_ShellEditInfo_appDescription2Message_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  637. {
  638.     Xv_opaque    obj;
  639.     
  640.     obj = xv_create(owner, PANEL_MESSAGE,
  641.         XV_KEY_DATA, INSTANCE, ip,
  642.         XV_X, 24,
  643.         XV_Y, 64,
  644.         PANEL_LABEL_STRING, "designed for use with the MAEstro Multimedia Authoring Environment",
  645.         PANEL_LABEL_BOLD, FALSE,
  646.         NULL);
  647.     return obj;
  648. }
  649.  
  650. /*
  651.  * Create object `developerMessage' in the specified instance.
  652.  */
  653. Xv_opaque
  654. ShellEdit_ShellEditInfo_developerMessage_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  655. {
  656.     Xv_opaque    obj;
  657.     
  658.     obj = xv_create(owner, PANEL_MESSAGE,
  659.         XV_KEY_DATA, INSTANCE, ip,
  660.         XV_X, 176,
  661.         XV_Y, 100,
  662.         PANEL_LABEL_STRING, "by Bryant Marks",
  663.         PANEL_LABEL_BOLD, TRUE,
  664.         NULL);
  665.     return obj;
  666. }
  667.  
  668. /*
  669.  * Create object `copyrightMessage' in the specified instance.
  670.  */
  671. Xv_opaque
  672. ShellEdit_ShellEditInfo_copyrightMessage_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  673. {
  674.     Xv_opaque    obj;
  675.     
  676.     obj = xv_create(owner, PANEL_MESSAGE,
  677.         XV_KEY_DATA, INSTANCE, ip,
  678.         XV_X, 8,
  679.         XV_Y, 128,
  680.         PANEL_LABEL_STRING, "Copyright (C) 1990, 1991, 1992 Libraries and Information Resources (L&IR)",
  681.         PANEL_LABEL_BOLD, FALSE,
  682.         NULL);
  683.     return obj;
  684. }
  685.  
  686. /*
  687.  * Create object `copyright2Message' in the specified instance.
  688.  */
  689. Xv_opaque
  690. ShellEdit_ShellEditInfo_copyright2Message_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  691. {
  692.     Xv_opaque    obj;
  693.     
  694.     obj = xv_create(owner, PANEL_MESSAGE,
  695.         XV_KEY_DATA, INSTANCE, ip,
  696.         XV_X, 176,
  697.         XV_Y, 152,
  698.         PANEL_LABEL_STRING, "Stanford University",
  699.         PANEL_LABEL_BOLD, FALSE,
  700.         NULL);
  701.     return obj;
  702. }
  703.  
  704. /*
  705.  * Create object `copyright3Message' in the specified instance.
  706.  */
  707. Xv_opaque
  708. ShellEdit_ShellEditInfo_copyright3Message_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  709. {
  710.     Xv_opaque    obj;
  711.     
  712.     obj = xv_create(owner, PANEL_MESSAGE,
  713.         XV_KEY_DATA, INSTANCE, ip,
  714.         XV_X, 176,
  715.         XV_Y, 172,
  716.         PANEL_LABEL_STRING, "Stanford, California",
  717.         PANEL_LABEL_BOLD, FALSE,
  718.         NULL);
  719.     return obj;
  720. }
  721.  
  722. /*
  723.  * Create object `moreinfoMessage' in the specified instance.
  724.  */
  725. Xv_opaque
  726. ShellEdit_ShellEditInfo_moreinfoMessage_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  727. {
  728.     Xv_opaque    obj;
  729.     
  730.     obj = xv_create(owner, PANEL_MESSAGE,
  731.         XV_KEY_DATA, INSTANCE, ip,
  732.         XV_X, 80,
  733.         XV_Y, 204,
  734.         PANEL_LABEL_STRING, "For more info, contact maestro@sioux.stanford.edu",
  735.         PANEL_LABEL_BOLD, FALSE,
  736.         NULL);
  737.     return obj;
  738. }
  739.  
  740. /*
  741.  * Create object `info' in the specified instance.
  742.  */
  743. Xv_opaque
  744. ShellEdit_ShellEditInfo_info_create(ShellEdit_ShellEditInfo_objects *ip, Xv_opaque owner)
  745. {
  746.     extern void        HideInfo(Panel_item, Event *);
  747.     Xv_opaque    obj;
  748.     
  749.     obj = xv_create(owner, PANEL_BUTTON,
  750.         XV_KEY_DATA, INSTANCE, ip,
  751.         XV_X, 208,
  752.         XV_Y, 232,
  753.         PANEL_LABEL_STRING, "OK",
  754.         PANEL_NOTIFY_PROC, HideInfo,
  755.         NULL);
  756.     return obj;
  757. }
  758.  
  759.