home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / maestro / source / displytl / dsplytl_.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-15  |  45.4 KB  |  1,771 lines

  1. /*
  2.  * DisplayTool_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `DisplayTool.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 "DisplayTool_ui.h"
  21.  
  22. /*
  23.  * Create object `imagesMenu' in the specified instance.
  24.  */
  25. Xv_opaque
  26. DisplayTool_imagesMenu_create(caddr_t ip, Xv_opaque owner)
  27. {
  28.     extern Menu_item    LoadImages(Menu_item, Menu_generate);
  29.     extern Menu_item    ClearSelectedImages(Menu_item, Menu_generate);
  30.     extern Menu_item    ClearGallery(Menu_item, Menu_generate);
  31.     Xv_opaque    obj;
  32.     
  33.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  34.         XV_KEY_DATA, INSTANCE, ip,
  35.         MENU_TITLE_ITEM, "Images:",
  36.         MENU_ITEM,
  37.             XV_KEY_DATA, INSTANCE, ip,
  38.             MENU_STRING, "Load Images ...",
  39.             MENU_GEN_PROC, LoadImages,
  40.             NULL,
  41.         MENU_ITEM,
  42.             XV_KEY_DATA, INSTANCE, ip,
  43.             MENU_STRING, "Clear Selected Images",
  44.             MENU_GEN_PROC, ClearSelectedImages,
  45.             NULL,
  46.         MENU_ITEM,
  47.             XV_KEY_DATA, INSTANCE, ip,
  48.             MENU_STRING, "Clear Gallery",
  49.             MENU_GEN_PROC, ClearGallery,
  50.             NULL,
  51.         MENU_GEN_PIN_WINDOW, owner, "Images:",
  52.         NULL);
  53.     return obj;
  54. }
  55.  
  56. /*
  57.  * Create object `documentMenu' in the specified instance.
  58.  */
  59. Xv_opaque
  60. DisplayTool_documentMenu_create(caddr_t ip, Xv_opaque owner)
  61. {
  62.     extern Menu_item    OpenSequence(Menu_item, Menu_generate);
  63.     extern Menu_item    Info(Menu_item, Menu_generate);
  64.     extern Menu_item    SaveSequence(Menu_item, Menu_generate);
  65.     extern Menu_item    SaveSequenceAs(Menu_item, Menu_generate);
  66.     extern Menu_item    Help(Menu_item, Menu_generate);
  67.     extern Menu_item    Close(Menu_item, Menu_generate);
  68.     extern Menu_item    QuitDisplayTool(Menu_item, Menu_generate);
  69.     Xv_opaque    obj;
  70.     
  71.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  72.         XV_KEY_DATA, INSTANCE, ip,
  73.         MENU_TITLE_ITEM, "Document:",
  74.         MENU_ITEM,
  75.             XV_KEY_DATA, INSTANCE, ip,
  76.             MENU_STRING, "Open ...",
  77.             MENU_GEN_PROC, OpenSequence,
  78.             NULL,
  79.         MENU_ITEM,
  80.             XV_KEY_DATA, INSTANCE, ip,
  81.             MENU_STRING, "Info ...",
  82.             MENU_GEN_PROC, Info,
  83.             NULL,
  84.         MENU_ITEM,
  85.             XV_KEY_DATA, INSTANCE, ip,
  86.             MENU_STRING, "Save Sequence",
  87.             MENU_GEN_PROC, SaveSequence,
  88.             NULL,
  89.         MENU_ITEM,
  90.             XV_KEY_DATA, INSTANCE, ip,
  91.             MENU_STRING, "Save Sequence As ...",
  92.             MENU_GEN_PROC, SaveSequenceAs,
  93.             NULL,
  94.         MENU_ITEM,
  95.             XV_KEY_DATA, INSTANCE, ip,
  96.             MENU_STRING, "Help ...",
  97.             MENU_GEN_PROC, Help,
  98.             NULL,
  99.         MENU_ITEM,
  100.             XV_KEY_DATA, INSTANCE, ip,
  101.             MENU_STRING, "Close",
  102.             MENU_GEN_PROC, Close,
  103.             NULL,
  104.         MENU_ITEM,
  105.             XV_KEY_DATA, INSTANCE, ip,
  106.             MENU_STRING, "Quit",
  107.             MENU_GEN_PROC, QuitDisplayTool,
  108.             NULL,
  109.         MENU_GEN_PIN_WINDOW, owner, "Document:",
  110.         NULL);
  111.     return obj;
  112. }
  113.  
  114. /*
  115.  * Create object `slidesMenu' in the specified instance.
  116.  */
  117. Xv_opaque
  118. DisplayTool_slidesMenu_create(caddr_t ip, Xv_opaque owner)
  119. {
  120.     extern Menu_item    SlideInfo(Menu_item, Menu_generate);
  121.     extern Menu_item    RedrawSlides(Menu_item, Menu_generate);
  122.     extern Menu_item    CopySlide(Menu_item, Menu_generate);
  123.     extern Menu_item    CutSlide(Menu_item, Menu_generate);
  124.     extern Menu_item    InsertClipboardSlide(Menu_item, Menu_generate);
  125.     extern Menu_item    InsertNewSlide(Menu_item, Menu_generate);
  126.     extern Menu_item    ClearSlide(Menu_item, Menu_generate);
  127.     extern Menu_item    ClearAll(Menu_item, Menu_generate);
  128.     Xv_opaque    obj;
  129.     
  130.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  131.         XV_KEY_DATA, INSTANCE, ip,
  132.         MENU_TITLE_ITEM, "Slides:",
  133.         MENU_ITEM,
  134.             XV_KEY_DATA, INSTANCE, ip,
  135.             MENU_STRING, "Slide Info ...",
  136.             MENU_GEN_PROC, SlideInfo,
  137.             NULL,
  138.         MENU_ITEM,
  139.             XV_KEY_DATA, INSTANCE, ip,
  140.             MENU_STRING, "Redraw Slides",
  141.             MENU_GEN_PROC, RedrawSlides,
  142.             NULL,
  143.         MENU_ITEM,
  144.             XV_KEY_DATA, INSTANCE, ip,
  145.             MENU_STRING, "Copy Slide",
  146.             MENU_GEN_PROC, CopySlide,
  147.             NULL,
  148.         MENU_ITEM,
  149.             XV_KEY_DATA, INSTANCE, ip,
  150.             MENU_STRING, "Cut Slide",
  151.             MENU_GEN_PROC, CutSlide,
  152.             NULL,
  153.         MENU_ITEM,
  154.             XV_KEY_DATA, INSTANCE, ip,
  155.             MENU_STRING, "Insert Clipboard Slide",
  156.             MENU_GEN_PROC, InsertClipboardSlide,
  157.             NULL,
  158.         MENU_ITEM,
  159.             XV_KEY_DATA, INSTANCE, ip,
  160.             MENU_STRING, "Insert New Slide",
  161.             MENU_GEN_PROC, InsertNewSlide,
  162.             NULL,
  163.         MENU_ITEM,
  164.             XV_KEY_DATA, INSTANCE, ip,
  165.             MENU_STRING, "Clear Slide",
  166.             MENU_GEN_PROC, ClearSlide,
  167.             NULL,
  168.         MENU_ITEM,
  169.             XV_KEY_DATA, INSTANCE, ip,
  170.             MENU_STRING, "Clear All",
  171.             MENU_GEN_PROC, ClearAll,
  172.             NULL,
  173.         MENU_GEN_PIN_WINDOW, owner, "Slides:",
  174.         NULL);
  175.     return obj;
  176. }
  177.  
  178. /*
  179.  * Create object `imageEditMenu' in the specified instance.
  180.  */
  181. Xv_opaque
  182. DisplayTool_imageEditMenu_create(caddr_t ip, Xv_opaque owner)
  183. {
  184.     extern Menu_item    DuplicateImage(Menu_item, Menu_generate);
  185.     extern Menu_item    CutImage(Menu_item, Menu_generate);
  186.     extern Menu_item    ResizeImageGeneral(Menu_item, Menu_generate);
  187.     extern Menu_item    ResizeImagePlus10Percent(Menu_item, Menu_generate);
  188.     extern Menu_item    ResizeImageMinus10Percent(Menu_item, Menu_generate);
  189.     extern Menu_item    ImageEditSetToOriginalSize(Menu_item, Menu_generate);
  190.     Xv_opaque    obj;
  191.     
  192.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  193.         XV_KEY_DATA, INSTANCE, ip,
  194.         MENU_TITLE_ITEM, "Edit Image:",
  195.         MENU_ITEM,
  196.             XV_KEY_DATA, INSTANCE, ip,
  197.             MENU_STRING, "Duplicate Image",
  198.             MENU_GEN_PROC, DuplicateImage,
  199.             NULL,
  200.         MENU_ITEM,
  201.             XV_KEY_DATA, INSTANCE, ip,
  202.             MENU_STRING, "Cut",
  203.             MENU_GEN_PROC, CutImage,
  204.             NULL,
  205.         MENU_ITEM,
  206.             XV_KEY_DATA, INSTANCE, ip,
  207.             MENU_STRING, "Resize",
  208.             MENU_GEN_PROC, ResizeImageGeneral,
  209.             NULL,
  210.         MENU_ITEM,
  211.             XV_KEY_DATA, INSTANCE, ip,
  212.             MENU_STRING, "Resize + 10%",
  213.             MENU_GEN_PROC, ResizeImagePlus10Percent,
  214.             NULL,
  215.         MENU_ITEM,
  216.             XV_KEY_DATA, INSTANCE, ip,
  217.             MENU_STRING, "Resize - 10%",
  218.             MENU_GEN_PROC, ResizeImageMinus10Percent,
  219.             NULL,
  220.         MENU_ITEM,
  221.             XV_KEY_DATA, INSTANCE, ip,
  222.             MENU_STRING, "Set To Original Size",
  223.             MENU_GEN_PROC, ImageEditSetToOriginalSize,
  224.             NULL,
  225.         MENU_GEN_PIN_WINDOW, owner, "Edit Image:",
  226.         NULL);
  227.     return obj;
  228. }
  229.  
  230. /*
  231.  * Create object `selectSlideMenu' in the specified instance.
  232.  */
  233. Xv_opaque
  234. DisplayTool_selectSlideMenu_create(caddr_t ip, Xv_opaque owner)
  235. {
  236.     extern Menu_item    NextSlide(Menu_item, Menu_generate);
  237.     extern Menu_item    PreviousSlide(Menu_item, Menu_generate);
  238.     extern Menu_item    FirstSlide(Menu_item, Menu_generate);
  239.     extern Menu_item    LastSlide(Menu_item, Menu_generate);
  240.     extern Menu_item    SlideNumberPopup(Menu_item, Menu_generate);
  241.     Xv_opaque    obj;
  242.     
  243.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  244.         XV_KEY_DATA, INSTANCE, ip,
  245.         MENU_TITLE_ITEM, "Select Slide:",
  246.         MENU_ITEM,
  247.             XV_KEY_DATA, INSTANCE, ip,
  248.             MENU_STRING, "Next Slide",
  249.             MENU_GEN_PROC, NextSlide,
  250.             NULL,
  251.         MENU_ITEM,
  252.             XV_KEY_DATA, INSTANCE, ip,
  253.             MENU_STRING, "Previous Slide",
  254.             MENU_GEN_PROC, PreviousSlide,
  255.             NULL,
  256.         MENU_ITEM,
  257.             XV_KEY_DATA, INSTANCE, ip,
  258.             MENU_STRING, "First Slide",
  259.             MENU_GEN_PROC, FirstSlide,
  260.             NULL,
  261.         MENU_ITEM,
  262.             XV_KEY_DATA, INSTANCE, ip,
  263.             MENU_STRING, "Last Slide",
  264.             MENU_GEN_PROC, LastSlide,
  265.             NULL,
  266.         MENU_ITEM,
  267.             XV_KEY_DATA, INSTANCE, ip,
  268.             MENU_STRING, "Slide Number ...",
  269.             MENU_GEN_PROC, SlideNumberPopup,
  270.             NULL,
  271.         MENU_GEN_PIN_WINDOW, owner, "Select Slide:",
  272.         NULL);
  273.     return obj;
  274. }
  275.  
  276. /*
  277.  * Initialize an instance of object `baseWindow'.
  278.  */
  279. DisplayTool_baseWindow_objects *
  280. DisplayTool_baseWindow_objects_initialize(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  281. {
  282.     if (!ip && !(ip = (DisplayTool_baseWindow_objects *) calloc(1, sizeof (DisplayTool_baseWindow_objects))))
  283.         return (DisplayTool_baseWindow_objects *) NULL;
  284.     if (!ip->baseWindow)
  285.         ip->baseWindow = DisplayTool_baseWindow_baseWindow_create(ip, owner);
  286.     if (!ip->controls1)
  287.         ip->controls1 = DisplayTool_baseWindow_controls1_create(ip, ip->baseWindow);
  288.     if (!ip->message1)
  289.         ip->message1 = DisplayTool_baseWindow_message1_create(ip, ip->controls1);
  290.     if (!ip->documentButton)
  291.         ip->documentButton = DisplayTool_baseWindow_documentButton_create(ip, ip->controls1);
  292.     if (!ip->imagesButton)
  293.         ip->imagesButton = DisplayTool_baseWindow_imagesButton_create(ip, ip->controls1);
  294.     if (!ip->currentImageMsg)
  295.         ip->currentImageMsg = DisplayTool_baseWindow_currentImageMsg_create(ip, ip->controls1);
  296.     if (!ip->gallery)
  297.         ip->gallery = DisplayTool_baseWindow_gallery_create(ip, ip->baseWindow);
  298.     if (!ip->borderControls)
  299.         ip->borderControls = DisplayTool_baseWindow_borderControls_create(ip, ip->baseWindow);
  300.     if (!ip->showFullSizeMessage)
  301.         ip->showFullSizeMessage = DisplayTool_baseWindow_showFullSizeMessage_create(ip, ip->borderControls);
  302.     if (!ip->message4)
  303.         ip->message4 = DisplayTool_baseWindow_message4_create(ip, ip->borderControls);
  304.     if (!ip->currentSlideMessage)
  305.         ip->currentSlideMessage = DisplayTool_baseWindow_currentSlideMessage_create(ip, ip->borderControls);
  306.     if (!ip->slidesButton)
  307.         ip->slidesButton = DisplayTool_baseWindow_slidesButton_create(ip, ip->borderControls);
  308.     if (!ip->showFullSize)
  309.         ip->showFullSize = DisplayTool_baseWindow_showFullSize_create(ip, ip->borderControls);
  310.     if (!ip->totalNumberOfSlidesMessage)
  311.         ip->totalNumberOfSlidesMessage = DisplayTool_baseWindow_totalNumberOfSlidesMessage_create(ip, ip->borderControls);
  312.     if (!ip->slides)
  313.         ip->slides = DisplayTool_baseWindow_slides_create(ip, ip->baseWindow);
  314.     if (!ip->controls2)
  315.         ip->controls2 = DisplayTool_baseWindow_controls2_create(ip, ip->baseWindow);
  316.     return ip;
  317. }
  318.  
  319. /*
  320.  * Create object `baseWindow' in the specified instance.
  321.  */
  322. Xv_opaque
  323. DisplayTool_baseWindow_baseWindow_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  324. {
  325.     Xv_opaque    obj;
  326.     Xv_opaque        baseWindow_image;
  327.     static unsigned short    baseWindow_bits[] = {
  328. #include "DisplayTool.icon"
  329.     };
  330.     Xv_opaque        baseWindow_image_mask;
  331.     static unsigned short    baseWindow_mask_bits[] = {
  332. #include "DisplayTool.icon"
  333.     };
  334.     
  335.     baseWindow_image = xv_create(XV_NULL, SERVER_IMAGE,
  336.         SERVER_IMAGE_DEPTH, 1,
  337.         SERVER_IMAGE_BITS, baseWindow_bits,
  338.         XV_WIDTH, 64,
  339.         XV_HEIGHT, 64,
  340.         NULL);
  341.     baseWindow_image_mask = xv_create(XV_NULL, SERVER_IMAGE,
  342.         SERVER_IMAGE_DEPTH, 1,
  343.         SERVER_IMAGE_BITS, baseWindow_mask_bits,
  344.         XV_WIDTH, 64,
  345.         XV_HEIGHT, 64,
  346.         NULL);
  347.     obj = xv_create(owner, FRAME,
  348.         XV_KEY_DATA, INSTANCE, ip,
  349.         XV_WIDTH, 645,
  350.         XV_HEIGHT, 619,
  351.         XV_LABEL, "Display Tool Document :  \"untitled\"",
  352.         FRAME_SHOW_FOOTER, TRUE,
  353.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  354.         FRAME_ICON, xv_create(XV_NULL, ICON,
  355.             ICON_IMAGE, baseWindow_image,
  356.             ICON_MASK_IMAGE, baseWindow_image_mask,
  357.             NULL),
  358.         NULL);
  359.     return obj;
  360. }
  361.  
  362. /*
  363.  * Create object `controls1' in the specified instance.
  364.  */
  365. Xv_opaque
  366. DisplayTool_baseWindow_controls1_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  367. {
  368.     Xv_opaque    obj;
  369.     
  370.     obj = xv_create(owner, PANEL,
  371.         XV_KEY_DATA, INSTANCE, ip,
  372.         XV_X, 0,
  373.         XV_Y, 0,
  374.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  375.         XV_HEIGHT, 54,
  376.         WIN_BORDER, FALSE,
  377.         NULL);
  378.     return obj;
  379. }
  380.  
  381. /*
  382.  * Create object `message1' in the specified instance.
  383.  */
  384. Xv_opaque
  385. DisplayTool_baseWindow_message1_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  386. {
  387.     Xv_opaque    obj;
  388.     
  389.     obj = xv_create(owner, PANEL_MESSAGE,
  390.         XV_KEY_DATA, INSTANCE, ip,
  391.         XV_X, 224,
  392.         XV_Y, 8,
  393.         PANEL_LABEL_STRING, "IMAGE GALLERY:  Drag images onto the slides",
  394.         PANEL_LABEL_BOLD, TRUE,
  395.         NULL);
  396.     return obj;
  397. }
  398.  
  399. /*
  400.  * Create object `documentButton' in the specified instance.
  401.  */
  402. Xv_opaque
  403. DisplayTool_baseWindow_documentButton_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  404. {
  405.     Xv_opaque    obj;
  406.     
  407.     obj = xv_create(owner, PANEL_BUTTON,
  408.         XV_KEY_DATA, INSTANCE, ip,
  409.         XV_X, 16,
  410.         XV_Y, 20,
  411.         PANEL_LABEL_STRING, "Document",
  412.         PANEL_ITEM_MENU, DisplayTool_documentMenu_create((caddr_t) ip, ip->baseWindow),
  413.         NULL);
  414.     return obj;
  415. }
  416.  
  417. /*
  418.  * Create object `imagesButton' in the specified instance.
  419.  */
  420. Xv_opaque
  421. DisplayTool_baseWindow_imagesButton_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  422. {
  423.     Xv_opaque    obj;
  424.     
  425.     obj = xv_create(owner, PANEL_BUTTON,
  426.         XV_KEY_DATA, INSTANCE, ip,
  427.         XV_X, 128,
  428.         XV_Y, 20,
  429.         PANEL_LABEL_STRING, "Images",
  430.         PANEL_ITEM_MENU, DisplayTool_imagesMenu_create((caddr_t) ip, ip->baseWindow),
  431.         NULL);
  432.     return obj;
  433. }
  434.  
  435. /*
  436.  * Create object `currentImageMsg' in the specified instance.
  437.  */
  438. Xv_opaque
  439. DisplayTool_baseWindow_currentImageMsg_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  440. {
  441.     Xv_opaque    obj;
  442.     
  443.     obj = xv_create(owner, PANEL_MESSAGE,
  444.         XV_KEY_DATA, INSTANCE, ip,
  445.         XV_X, 224,
  446.         XV_Y, 32,
  447.         PANEL_LABEL_STRING, "Current Image: None",
  448.         PANEL_LABEL_BOLD, FALSE,
  449.         NULL);
  450.     return obj;
  451. }
  452.  
  453. /*
  454.  * Create object `gallery' in the specified instance.
  455.  */
  456. Xv_opaque
  457. DisplayTool_baseWindow_gallery_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  458. {
  459.     extern Notify_value    DisplayTool_baseWindow_gallery_event_callback(Xv_window, Event *, Notify_arg, Notify_event_type);
  460.     extern void    GalleryRepaint(Canvas, Xv_window, Display *, Window, Xv_xrectlist *);
  461.     Xv_opaque    obj;
  462.     
  463.     obj = xv_create(owner, CANVAS,
  464.         XV_KEY_DATA, INSTANCE, ip,
  465.         XV_X, 0,
  466.         XV_Y, 53,
  467.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  468.         XV_HEIGHT, 211,
  469.         CANVAS_REPAINT_PROC, GalleryRepaint,
  470.         CANVAS_X_PAINT_WINDOW, TRUE,
  471.         NULL);
  472.     gcm_initialize_colors(obj, "White", NULL);
  473.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  474.         WIN_MOUSE_BUTTONS,
  475.         NULL, NULL);
  476.     notify_interpose_event_func(canvas_paint_window(obj),
  477.         (Notify_func) DisplayTool_baseWindow_gallery_event_callback, NOTIFY_SAFE);
  478.     /*
  479.      * This line is here for backwards compatibility. It will be
  480.      * removed for the next release.
  481.      */
  482.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  483.     return obj;
  484. }
  485.  
  486. /*
  487.  * Create object `borderControls' in the specified instance.
  488.  */
  489. Xv_opaque
  490. DisplayTool_baseWindow_borderControls_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  491. {
  492.     Xv_opaque    obj;
  493.     
  494.     obj = xv_create(owner, PANEL,
  495.         XV_KEY_DATA, INSTANCE, ip,
  496.         XV_X, 0,
  497.         XV_Y, 263,
  498.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  499.         XV_HEIGHT, 48,
  500.         WIN_BORDER, FALSE,
  501.         NULL);
  502.     return obj;
  503. }
  504.  
  505. /*
  506.  * Create object `showFullSizeMessage' in the specified instance.
  507.  */
  508. Xv_opaque
  509. DisplayTool_baseWindow_showFullSizeMessage_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  510. {
  511.     Xv_opaque    obj;
  512.     
  513.     obj = xv_create(owner, PANEL_MESSAGE,
  514.         XV_KEY_DATA, INSTANCE, ip,
  515.         XV_X, 144,
  516.         XV_Y, 8,
  517.         PANEL_LABEL_STRING, "Show Full Size:",
  518.         PANEL_LABEL_BOLD, TRUE,
  519.         NULL);
  520.     return obj;
  521. }
  522.  
  523. /*
  524.  * Create object `message4' in the specified instance.
  525.  */
  526. Xv_opaque
  527. DisplayTool_baseWindow_message4_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  528. {
  529.     Xv_opaque    obj;
  530.     
  531.     obj = xv_create(owner, PANEL_MESSAGE,
  532.         XV_KEY_DATA, INSTANCE, ip,
  533.         XV_X, 288,
  534.         XV_Y, 8,
  535.         PANEL_LABEL_STRING, "SLIDES:",
  536.         PANEL_LABEL_BOLD, TRUE,
  537.         NULL);
  538.     return obj;
  539. }
  540.  
  541. /*
  542.  * Create object `currentSlideMessage' in the specified instance.
  543.  */
  544. Xv_opaque
  545. DisplayTool_baseWindow_currentSlideMessage_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  546. {
  547.     Xv_opaque    obj;
  548.     
  549.     obj = xv_create(owner, PANEL_MESSAGE,
  550.         XV_KEY_DATA, INSTANCE, ip,
  551.         XV_X, 352,
  552.         XV_Y, 8,
  553.         PANEL_LABEL_STRING, "Current Slide    # 1 ",
  554.         PANEL_LABEL_BOLD, TRUE,
  555.         NULL);
  556.     return obj;
  557. }
  558.  
  559. /*
  560.  * Create object `slidesButton' in the specified instance.
  561.  */
  562. Xv_opaque
  563. DisplayTool_baseWindow_slidesButton_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  564. {
  565.     Xv_opaque    obj;
  566.     
  567.     obj = xv_create(owner, PANEL_BUTTON,
  568.         XV_KEY_DATA, INSTANCE, ip,
  569.         XV_X, 16,
  570.         XV_Y, 16,
  571.         PANEL_LABEL_STRING, "Slides",
  572.         PANEL_ITEM_MENU, DisplayTool_slidesMenu_create((caddr_t) ip, ip->baseWindow),
  573.         NULL);
  574.     return obj;
  575. }
  576.  
  577. /*
  578.  * Create object `showFullSize' in the specified instance.
  579.  */
  580. Xv_opaque
  581. DisplayTool_baseWindow_showFullSize_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  582. {
  583.     extern void        ShowFullSize(Panel_item, int, Event *);
  584.     Xv_opaque    obj;
  585.     
  586.     obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
  587.         XV_KEY_DATA, INSTANCE, ip,
  588.         XV_X, 144,
  589.         XV_Y, 18,
  590.         PANEL_CHOICE_NCOLS, 3,
  591.         PANEL_LAYOUT, PANEL_VERTICAL,
  592.         PANEL_NOTIFY_PROC, ShowFullSize,
  593.         PANEL_CHOICE_STRINGS,
  594.             "Yes",
  595.             "No",
  596.             NULL,
  597.         PANEL_VALUE, 0,
  598.         NULL);
  599.     return obj;
  600. }
  601.  
  602. /*
  603.  * Create object `totalNumberOfSlidesMessage' in the specified instance.
  604.  */
  605. Xv_opaque
  606. DisplayTool_baseWindow_totalNumberOfSlidesMessage_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  607. {
  608.     Xv_opaque    obj;
  609.     
  610.     obj = xv_create(owner, PANEL_MESSAGE,
  611.         XV_KEY_DATA, INSTANCE, ip,
  612.         XV_X, 288,
  613.         XV_Y, 24,
  614.         PANEL_LABEL_STRING, "Total Number of Slides :  0  ",
  615.         PANEL_LABEL_BOLD, TRUE,
  616.         NULL);
  617.     return obj;
  618. }
  619.  
  620. /*
  621.  * Create object `slides' in the specified instance.
  622.  */
  623. Xv_opaque
  624. DisplayTool_baseWindow_slides_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  625. {
  626.     extern Notify_value    DisplayTool_baseWindow_slides_event_callback(Xv_window, Event *, Notify_arg, Notify_event_type);
  627.     Xv_opaque    obj;
  628.     
  629.     obj = xv_create(owner, CANVAS,
  630.         XV_KEY_DATA, INSTANCE, ip,
  631.         XV_X, 0,
  632.         XV_Y, 310,
  633.         XV_WIDTH, 597,
  634.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  635.         CANVAS_X_PAINT_WINDOW, TRUE,
  636.         NULL);
  637.     gcm_initialize_colors(obj, "White", NULL);
  638.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  639.         WIN_MOUSE_BUTTONS,
  640.         NULL, NULL);
  641.     notify_interpose_event_func(canvas_paint_window(obj),
  642.         (Notify_func) DisplayTool_baseWindow_slides_event_callback, NOTIFY_SAFE);
  643.     /*
  644.      * This line is here for backwards compatibility. It will be
  645.      * removed for the next release.
  646.      */
  647.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  648.     return obj;
  649. }
  650.  
  651. /*
  652.  * Create object `controls2' in the specified instance.
  653.  */
  654. Xv_opaque
  655. DisplayTool_baseWindow_controls2_create(DisplayTool_baseWindow_objects *ip, Xv_opaque owner)
  656. {
  657.     Xv_opaque    obj;
  658.     
  659.     obj = xv_create(owner, PANEL,
  660.         XV_KEY_DATA, INSTANCE, ip,
  661.         XV_X, 595,
  662.         XV_Y, 310,
  663.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  664.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  665.         WIN_BORDER, FALSE,
  666.         NULL);
  667.     return obj;
  668. }
  669.  
  670. /*
  671.  * Initialize an instance of object `infoPopup'.
  672.  */
  673. DisplayTool_infoPopup_objects *
  674. DisplayTool_infoPopup_objects_initialize(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  675. {
  676.     if (!ip && !(ip = (DisplayTool_infoPopup_objects *) calloc(1, sizeof (DisplayTool_infoPopup_objects))))
  677.         return (DisplayTool_infoPopup_objects *) NULL;
  678.     if (!ip->infoPopup)
  679.         ip->infoPopup = DisplayTool_infoPopup_infoPopup_create(ip, owner);
  680.     if (!ip->InfoControlPanel)
  681.         ip->InfoControlPanel = DisplayTool_infoPopup_InfoControlPanel_create(ip, ip->infoPopup);
  682.     if (!ip->appNameMessage)
  683.         ip->appNameMessage = DisplayTool_infoPopup_appNameMessage_create(ip, ip->InfoControlPanel);
  684.     if (!ip->appNameMessage1)
  685.         ip->appNameMessage1 = DisplayTool_infoPopup_appNameMessage1_create(ip, ip->InfoControlPanel);
  686.     if (!ip->appDescriptionMessage1)
  687.         ip->appDescriptionMessage1 = DisplayTool_infoPopup_appDescriptionMessage1_create(ip, ip->InfoControlPanel);
  688.     if (!ip->appDescriptionMessage2)
  689.         ip->appDescriptionMessage2 = DisplayTool_infoPopup_appDescriptionMessage2_create(ip, ip->InfoControlPanel);
  690.     if (!ip->developerMessage)
  691.         ip->developerMessage = DisplayTool_infoPopup_developerMessage_create(ip, ip->InfoControlPanel);
  692.     if (!ip->message5)
  693.         ip->message5 = DisplayTool_infoPopup_message5_create(ip, ip->InfoControlPanel);
  694.     if (!ip->copyrightMessage)
  695.         ip->copyrightMessage = DisplayTool_infoPopup_copyrightMessage_create(ip, ip->InfoControlPanel);
  696.     if (!ip->copyrightMessage2)
  697.         ip->copyrightMessage2 = DisplayTool_infoPopup_copyrightMessage2_create(ip, ip->InfoControlPanel);
  698.     if (!ip->copyrightMessage3)
  699.         ip->copyrightMessage3 = DisplayTool_infoPopup_copyrightMessage3_create(ip, ip->InfoControlPanel);
  700.     if (!ip->moreInfoMessage)
  701.         ip->moreInfoMessage = DisplayTool_infoPopup_moreInfoMessage_create(ip, ip->InfoControlPanel);
  702.     if (!ip->info)
  703.         ip->info = DisplayTool_infoPopup_info_create(ip, ip->InfoControlPanel);
  704.     return ip;
  705. }
  706.  
  707. /*
  708.  * Create object `infoPopup' in the specified instance.
  709.  */
  710. Xv_opaque
  711. DisplayTool_infoPopup_infoPopup_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  712. {
  713.     Xv_opaque    obj;
  714.     
  715.     obj = xv_create(owner, FRAME_CMD,
  716.         XV_KEY_DATA, INSTANCE, ip,
  717.         XV_WIDTH, 532,
  718.         XV_HEIGHT, 292,
  719.         XV_LABEL, "Display Tool Info",
  720.         XV_SHOW, FALSE,
  721.         FRAME_SHOW_FOOTER, TRUE,
  722.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  723.         FRAME_CMD_PUSHPIN_IN, FALSE,
  724.         NULL);
  725.     gcm_initialize_colors(obj, "Light Gray", NULL);
  726.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  727.     return obj;
  728. }
  729.  
  730. /*
  731.  * Create object `InfoControlPanel' in the specified instance.
  732.  */
  733. Xv_opaque
  734. DisplayTool_infoPopup_InfoControlPanel_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  735. {
  736.     Xv_opaque    obj;
  737.     
  738.     obj = xv_create(owner, PANEL,
  739.         XV_KEY_DATA, INSTANCE, ip,
  740.         XV_X, 0,
  741.         XV_Y, 0,
  742.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  743.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  744.         WIN_BORDER, TRUE,
  745.         NULL);
  746.     return obj;
  747. }
  748.  
  749. /*
  750.  * Create object `appNameMessage' in the specified instance.
  751.  */
  752. Xv_opaque
  753. DisplayTool_infoPopup_appNameMessage_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  754. {
  755.     Xv_opaque    obj;
  756.     
  757.     obj = xv_create(owner, PANEL_MESSAGE,
  758.         XV_KEY_DATA, INSTANCE, ip,
  759.         XV_X, 144,
  760.         XV_Y, 12,
  761.         PANEL_LABEL_STRING, "Display Tool",
  762.         PANEL_LABEL_BOLD, TRUE,
  763.         NULL);
  764.     return obj;
  765. }
  766.  
  767. /*
  768.  * Create object `appNameMessage1' in the specified instance.
  769.  */
  770. Xv_opaque
  771. DisplayTool_infoPopup_appNameMessage1_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  772. {
  773.     Xv_opaque    obj;
  774.     
  775.     obj = xv_create(owner, PANEL_MESSAGE,
  776.         XV_KEY_DATA, INSTANCE, ip,
  777.         XV_X, 256,
  778.         XV_Y, 12,
  779.         PANEL_LABEL_STRING, "Version 1.31",
  780.         PANEL_LABEL_BOLD, TRUE,
  781.         NULL);
  782.     return obj;
  783. }
  784.  
  785. /*
  786.  * Create object `appDescriptionMessage1' in the specified instance.
  787.  */
  788. Xv_opaque
  789. DisplayTool_infoPopup_appDescriptionMessage1_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  790. {
  791.     Xv_opaque    obj;
  792.     
  793.     obj = xv_create(owner, PANEL_MESSAGE,
  794.         XV_KEY_DATA, INSTANCE, ip,
  795.         XV_X, 92,
  796.         XV_Y, 40,
  797.         PANEL_LABEL_STRING, "An application for displaying and manipulating images",
  798.         PANEL_LABEL_BOLD, FALSE,
  799.         NULL);
  800.     return obj;
  801. }
  802.  
  803. /*
  804.  * Create object `appDescriptionMessage2' in the specified instance.
  805.  */
  806. Xv_opaque
  807. DisplayTool_infoPopup_appDescriptionMessage2_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  808. {
  809.     Xv_opaque    obj;
  810.     
  811.     obj = xv_create(owner, PANEL_MESSAGE,
  812.         XV_KEY_DATA, INSTANCE, ip,
  813.         XV_X, 48,
  814.         XV_Y, 64,
  815.         PANEL_LABEL_STRING, "designed for use with the MAEstro Multimedia Authoring Environment",
  816.         PANEL_LABEL_BOLD, FALSE,
  817.         NULL);
  818.     return obj;
  819. }
  820.  
  821. /*
  822.  * Create object `developerMessage' in the specified instance.
  823.  */
  824. Xv_opaque
  825. DisplayTool_infoPopup_developerMessage_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  826. {
  827.     Xv_opaque    obj;
  828.     
  829.     obj = xv_create(owner, PANEL_MESSAGE,
  830.         XV_KEY_DATA, INSTANCE, ip,
  831.         XV_X, 136,
  832.         XV_Y, 96,
  833.         PANEL_LABEL_STRING, "by Bryant Marks and Janylyn Marks",
  834.         PANEL_LABEL_BOLD, TRUE,
  835.         NULL);
  836.     return obj;
  837. }
  838.  
  839. /*
  840.  * Create object `message5' in the specified instance.
  841.  */
  842. Xv_opaque
  843. DisplayTool_infoPopup_message5_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  844. {
  845.     Xv_opaque    obj;
  846.     
  847.     obj = xv_create(owner, PANEL_MESSAGE,
  848.         XV_KEY_DATA, INSTANCE, ip,
  849.         XV_X, 160,
  850.         XV_Y, 120,
  851.         PANEL_LABEL_STRING, "Modifications by George Drapeau",
  852.         PANEL_LABEL_BOLD, FALSE,
  853.         NULL);
  854.     return obj;
  855. }
  856.  
  857. /*
  858.  * Create object `copyrightMessage' in the specified instance.
  859.  */
  860. Xv_opaque
  861. DisplayTool_infoPopup_copyrightMessage_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  862. {
  863.     Xv_opaque    obj;
  864.     
  865.     obj = xv_create(owner, PANEL_MESSAGE,
  866.         XV_KEY_DATA, INSTANCE, ip,
  867.         XV_X, 80,
  868.         XV_Y, 160,
  869.         PANEL_LABEL_STRING, "Copyright (C) 1992 Libraries and Information Resources (L&IR)",
  870.         PANEL_LABEL_BOLD, FALSE,
  871.         NULL);
  872.     return obj;
  873. }
  874.  
  875. /*
  876.  * Create object `copyrightMessage2' in the specified instance.
  877.  */
  878. Xv_opaque
  879. DisplayTool_infoPopup_copyrightMessage2_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  880. {
  881.     Xv_opaque    obj;
  882.     
  883.     obj = xv_create(owner, PANEL_MESSAGE,
  884.         XV_KEY_DATA, INSTANCE, ip,
  885.         XV_X, 196,
  886.         XV_Y, 180,
  887.         PANEL_LABEL_STRING, "Stanford University",
  888.         PANEL_LABEL_BOLD, FALSE,
  889.         NULL);
  890.     return obj;
  891. }
  892.  
  893. /*
  894.  * Create object `copyrightMessage3' in the specified instance.
  895.  */
  896. Xv_opaque
  897. DisplayTool_infoPopup_copyrightMessage3_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  898. {
  899.     Xv_opaque    obj;
  900.     
  901.     obj = xv_create(owner, PANEL_MESSAGE,
  902.         XV_KEY_DATA, INSTANCE, ip,
  903.         XV_X, 196,
  904.         XV_Y, 200,
  905.         PANEL_LABEL_STRING, "Stanford, California",
  906.         PANEL_LABEL_BOLD, FALSE,
  907.         NULL);
  908.     return obj;
  909. }
  910.  
  911. /*
  912.  * Create object `moreInfoMessage' in the specified instance.
  913.  */
  914. Xv_opaque
  915. DisplayTool_infoPopup_moreInfoMessage_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  916. {
  917.     Xv_opaque    obj;
  918.     
  919.     obj = xv_create(owner, PANEL_MESSAGE,
  920.         XV_KEY_DATA, INSTANCE, ip,
  921.         XV_X, 96,
  922.         XV_Y, 224,
  923.         PANEL_LABEL_STRING, "For more information, contact maestro@sioux.stanford.edu",
  924.         PANEL_LABEL_BOLD, FALSE,
  925.         NULL);
  926.     return obj;
  927. }
  928.  
  929. /*
  930.  * Create object `info' in the specified instance.
  931.  */
  932. Xv_opaque
  933. DisplayTool_infoPopup_info_create(DisplayTool_infoPopup_objects *ip, Xv_opaque owner)
  934. {
  935.     extern void        DoneHandler(Panel_item, Event *);
  936.     Xv_opaque    obj;
  937.     
  938.     obj = xv_create(owner, PANEL_BUTTON,
  939.         XV_KEY_DATA, INSTANCE, ip,
  940.         XV_X, 232,
  941.         XV_Y, 256,
  942.         PANEL_LABEL_STRING, "OK",
  943.         PANEL_NOTIFY_PROC, DoneHandler,
  944.         NULL);
  945.     return obj;
  946. }
  947.  
  948. /*
  949.  * Initialize an instance of object `helpPopup'.
  950.  */
  951. DisplayTool_helpPopup_objects *
  952. DisplayTool_helpPopup_objects_initialize(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  953. {
  954.     if (!ip && !(ip = (DisplayTool_helpPopup_objects *) calloc(1, sizeof (DisplayTool_helpPopup_objects))))
  955.         return (DisplayTool_helpPopup_objects *) NULL;
  956.     if (!ip->helpPopup)
  957.         ip->helpPopup = DisplayTool_helpPopup_helpPopup_create(ip, owner);
  958.     if (!ip->controls3)
  959.         ip->controls3 = DisplayTool_helpPopup_controls3_create(ip, ip->helpPopup);
  960.     if (!ip->info2)
  961.         ip->info2 = DisplayTool_helpPopup_info2_create(ip, ip->controls3);
  962.     if (!ip->message2)
  963.         ip->message2 = DisplayTool_helpPopup_message2_create(ip, ip->controls3);
  964.     if (!ip->message3)
  965.         ip->message3 = DisplayTool_helpPopup_message3_create(ip, ip->controls3);
  966.     if (!ip->message6)
  967.         ip->message6 = DisplayTool_helpPopup_message6_create(ip, ip->controls3);
  968.     if (!ip->message7)
  969.         ip->message7 = DisplayTool_helpPopup_message7_create(ip, ip->controls3);
  970.     if (!ip->message8)
  971.         ip->message8 = DisplayTool_helpPopup_message8_create(ip, ip->controls3);
  972.     return ip;
  973. }
  974.  
  975. /*
  976.  * Create object `helpPopup' in the specified instance.
  977.  */
  978. Xv_opaque
  979. DisplayTool_helpPopup_helpPopup_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  980. {
  981.     Xv_opaque    obj;
  982.     
  983.     obj = xv_create(owner, FRAME_CMD,
  984.         XV_KEY_DATA, INSTANCE, ip,
  985.         XV_WIDTH, 544,
  986.         XV_HEIGHT, 579,
  987.         XV_LABEL, "Display Tool Help",
  988.         XV_SHOW, FALSE,
  989.         FRAME_SHOW_FOOTER, TRUE,
  990.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  991.         FRAME_CMD_PUSHPIN_IN, FALSE,
  992.         NULL);
  993.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  994.     return obj;
  995. }
  996.  
  997. /*
  998.  * Create object `controls3' in the specified instance.
  999.  */
  1000. Xv_opaque
  1001. DisplayTool_helpPopup_controls3_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1002. {
  1003.     Xv_opaque    obj;
  1004.     
  1005.     obj = xv_create(owner, PANEL,
  1006.         XV_KEY_DATA, INSTANCE, ip,
  1007.         XV_X, 0,
  1008.         XV_Y, 0,
  1009.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1010.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1011.         WIN_BORDER, FALSE,
  1012.         NULL);
  1013.     return obj;
  1014. }
  1015.  
  1016. /*
  1017.  * Create object `info2' in the specified instance.
  1018.  */
  1019. Xv_opaque
  1020. DisplayTool_helpPopup_info2_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1021. {
  1022.     extern void        DoneHandler(Panel_item, Event *);
  1023.     Xv_opaque    obj;
  1024.     
  1025.     obj = xv_create(owner, PANEL_BUTTON,
  1026.         XV_KEY_DATA, INSTANCE, ip,
  1027.         XV_X, 216,
  1028.         XV_Y, 16,
  1029.         PANEL_LABEL_STRING, "OK",
  1030.         PANEL_NOTIFY_PROC, DoneHandler,
  1031.         NULL);
  1032.     return obj;
  1033. }
  1034.  
  1035. /*
  1036.  * Create object `message2' in the specified instance.
  1037.  */
  1038. Xv_opaque
  1039. DisplayTool_helpPopup_message2_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1040. {
  1041.     Xv_opaque    obj;
  1042.     
  1043.     obj = xv_create(owner, PANEL_MESSAGE,
  1044.         XV_KEY_DATA, INSTANCE, ip,
  1045.         XV_X, 16,
  1046.         XV_Y, 48,
  1047.         PANEL_LABEL_STRING, "To resize images, use the rightmost mouse button and drag the image from one",
  1048.         PANEL_LABEL_BOLD, FALSE,
  1049.         NULL);
  1050.     return obj;
  1051. }
  1052.  
  1053. /*
  1054.  * Create object `message3' in the specified instance.
  1055.  */
  1056. Xv_opaque
  1057. DisplayTool_helpPopup_message3_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1058. {
  1059.     Xv_opaque    obj;
  1060.     
  1061.     obj = xv_create(owner, PANEL_MESSAGE,
  1062.         XV_KEY_DATA, INSTANCE, ip,
  1063.         XV_X, 16,
  1064.         XV_Y, 64,
  1065.         PANEL_LABEL_STRING, "of the corners.",
  1066.         PANEL_LABEL_BOLD, FALSE,
  1067.         NULL);
  1068.     return obj;
  1069. }
  1070.  
  1071. /*
  1072.  * Create object `message6' in the specified instance.
  1073.  */
  1074. Xv_opaque
  1075. DisplayTool_helpPopup_message6_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1076. {
  1077.     Xv_opaque    obj;
  1078.     
  1079.     obj = xv_create(owner, PANEL_MESSAGE,
  1080.         XV_KEY_DATA, INSTANCE, ip,
  1081.         XV_X, 16,
  1082.         XV_Y, 96,
  1083.         PANEL_LABEL_STRING, "Set the duration field in seconds to the desired length of time to display each",
  1084.         PANEL_LABEL_BOLD, FALSE,
  1085.         NULL);
  1086.     return obj;
  1087. }
  1088.  
  1089. /*
  1090.  * Create object `message7' in the specified instance.
  1091.  */
  1092. Xv_opaque
  1093. DisplayTool_helpPopup_message7_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1094. {
  1095.     Xv_opaque    obj;
  1096.     
  1097.     obj = xv_create(owner, PANEL_MESSAGE,
  1098.         XV_KEY_DATA, INSTANCE, ip,
  1099.         XV_X, 16,
  1100.         XV_Y, 112,
  1101.         PANEL_LABEL_STRING, "slide, or press the \"Until Next Slide\" button.  This puts the slide in \"indefinite\"",
  1102.         PANEL_LABEL_BOLD, FALSE,
  1103.         NULL);
  1104.     return obj;
  1105. }
  1106.  
  1107. /*
  1108.  * Create object `message8' in the specified instance.
  1109.  */
  1110. Xv_opaque
  1111. DisplayTool_helpPopup_message8_create(DisplayTool_helpPopup_objects *ip, Xv_opaque owner)
  1112. {
  1113.     Xv_opaque    obj;
  1114.     
  1115.     obj = xv_create(owner, PANEL_MESSAGE,
  1116.         XV_KEY_DATA, INSTANCE, ip,
  1117.         XV_X, 16,
  1118.         XV_Y, 128,
  1119.         PANEL_LABEL_STRING, "mode, so that it will display indefinitely until the next slide is displayed.",
  1120.         PANEL_LABEL_BOLD, FALSE,
  1121.         NULL);
  1122.     return obj;
  1123. }
  1124.  
  1125. /*
  1126.  * Initialize an instance of object `slidePopup'.
  1127.  */
  1128. DisplayTool_slidePopup_objects *
  1129. DisplayTool_slidePopup_objects_initialize(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1130. {
  1131.     if (!ip && !(ip = (DisplayTool_slidePopup_objects *) calloc(1, sizeof (DisplayTool_slidePopup_objects))))
  1132.         return (DisplayTool_slidePopup_objects *) NULL;
  1133.     if (!ip->slidePopup)
  1134.         ip->slidePopup = DisplayTool_slidePopup_slidePopup_create(ip, owner);
  1135.     if (!ip->controls5)
  1136.         ip->controls5 = DisplayTool_slidePopup_controls5_create(ip, ip->slidePopup);
  1137.     if (!ip->selectSlideButton)
  1138.         ip->selectSlideButton = DisplayTool_slidePopup_selectSlideButton_create(ip, ip->controls5);
  1139.     if (!ip->currentSlideInfoMessage)
  1140.         ip->currentSlideInfoMessage = DisplayTool_slidePopup_currentSlideInfoMessage_create(ip, ip->controls5);
  1141.     if (!ip->label)
  1142.         ip->label = DisplayTool_slidePopup_label_create(ip, ip->controls5);
  1143.     if (!ip->indefiniteButton)
  1144.         ip->indefiniteButton = DisplayTool_slidePopup_indefiniteButton_create(ip, ip->controls5);
  1145.     if (!ip->duration)
  1146.         ip->duration = DisplayTool_slidePopup_duration_create(ip, ip->controls5);
  1147.     if (!ip->imageList)
  1148.         ip->imageList = DisplayTool_slidePopup_imageList_create(ip, ip->controls5);
  1149.     if (!ip->imageNameMessage)
  1150.         ip->imageNameMessage = DisplayTool_slidePopup_imageNameMessage_create(ip, ip->controls5);
  1151.     if (!ip->imageName)
  1152.         ip->imageName = DisplayTool_slidePopup_imageName_create(ip, ip->controls5);
  1153.     if (!ip->imageFormatMessage)
  1154.         ip->imageFormatMessage = DisplayTool_slidePopup_imageFormatMessage_create(ip, ip->controls5);
  1155.     if (!ip->imageFormat)
  1156.         ip->imageFormat = DisplayTool_slidePopup_imageFormat_create(ip, ip->controls5);
  1157.     if (!ip->imageOriginalSizeMessage)
  1158.         ip->imageOriginalSizeMessage = DisplayTool_slidePopup_imageOriginalSizeMessage_create(ip, ip->controls5);
  1159.     if (!ip->imageOriginalSize)
  1160.         ip->imageOriginalSize = DisplayTool_slidePopup_imageOriginalSize_create(ip, ip->controls5);
  1161.     if (!ip->imageWidth)
  1162.         ip->imageWidth = DisplayTool_slidePopup_imageWidth_create(ip, ip->controls5);
  1163.     if (!ip->imageEditButton)
  1164.         ip->imageEditButton = DisplayTool_slidePopup_imageEditButton_create(ip, ip->controls5);
  1165.     if (!ip->imageHeight)
  1166.         ip->imageHeight = DisplayTool_slidePopup_imageHeight_create(ip, ip->controls5);
  1167.     if (!ip->imageXPosition)
  1168.         ip->imageXPosition = DisplayTool_slidePopup_imageXPosition_create(ip, ip->controls5);
  1169.     if (!ip->imageYPosition)
  1170.         ip->imageYPosition = DisplayTool_slidePopup_imageYPosition_create(ip, ip->controls5);
  1171.     return ip;
  1172. }
  1173.  
  1174. /*
  1175.  * Create object `slidePopup' in the specified instance.
  1176.  */
  1177. Xv_opaque
  1178. DisplayTool_slidePopup_slidePopup_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1179. {
  1180.     Xv_opaque    obj;
  1181.     
  1182.     obj = xv_create(owner, FRAME_CMD,
  1183.         XV_KEY_DATA, INSTANCE, ip,
  1184.         XV_WIDTH, 437,
  1185.         XV_HEIGHT, 507,
  1186.         XV_LABEL, "Slide Information",
  1187.         XV_SHOW, FALSE,
  1188.         FRAME_SHOW_FOOTER, TRUE,
  1189.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  1190.         FRAME_CMD_PUSHPIN_IN, FALSE,
  1191.         NULL);
  1192.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  1193.     return obj;
  1194. }
  1195.  
  1196. /*
  1197.  * Create object `controls5' in the specified instance.
  1198.  */
  1199. Xv_opaque
  1200. DisplayTool_slidePopup_controls5_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1201. {
  1202.     Xv_opaque    obj;
  1203.     
  1204.     obj = xv_create(owner, PANEL,
  1205.         XV_KEY_DATA, INSTANCE, ip,
  1206.         XV_X, 0,
  1207.         XV_Y, 0,
  1208.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1209.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1210.         WIN_BORDER, FALSE,
  1211.         NULL);
  1212.     return obj;
  1213. }
  1214.  
  1215. /*
  1216.  * Create object `selectSlideButton' in the specified instance.
  1217.  */
  1218. Xv_opaque
  1219. DisplayTool_slidePopup_selectSlideButton_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1220. {
  1221.     Xv_opaque    obj;
  1222.     
  1223.     obj = xv_create(owner, PANEL_BUTTON,
  1224.         XV_KEY_DATA, INSTANCE, ip,
  1225.         XV_X, 304,
  1226.         XV_Y, 20,
  1227.         PANEL_LABEL_STRING, "Select Slide",
  1228.         PANEL_ITEM_MENU, DisplayTool_selectSlideMenu_create((caddr_t) ip, ip->slidePopup),
  1229.         NULL);
  1230.     return obj;
  1231. }
  1232.  
  1233. /*
  1234.  * Create object `currentSlideInfoMessage' in the specified instance.
  1235.  */
  1236. Xv_opaque
  1237. DisplayTool_slidePopup_currentSlideInfoMessage_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1238. {
  1239.     Xv_opaque    obj;
  1240.     
  1241.     obj = xv_create(owner, PANEL_MESSAGE,
  1242.         XV_KEY_DATA, INSTANCE, ip,
  1243.         XV_X, 16,
  1244.         XV_Y, 24,
  1245.         PANEL_LABEL_STRING, "Current Slide    # 1 ",
  1246.         PANEL_LABEL_BOLD, TRUE,
  1247.         NULL);
  1248.     return obj;
  1249. }
  1250.  
  1251. /*
  1252.  * Create object `label' in the specified instance.
  1253.  */
  1254. Xv_opaque
  1255. DisplayTool_slidePopup_label_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1256. {
  1257.     extern void        LabelEventProc(Panel_item, Event *);
  1258.     Xv_opaque    obj;
  1259.     
  1260.     obj = xv_create(owner, PANEL_TEXT,
  1261.         XV_KEY_DATA, INSTANCE, ip,
  1262.         XV_X, 16,
  1263.         XV_Y, 64,
  1264.         PANEL_VALUE_DISPLAY_LENGTH, 28,
  1265.         PANEL_VALUE_STORED_LENGTH, 255,
  1266.         PANEL_LABEL_STRING, "Label :",
  1267.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1268.         PANEL_READ_ONLY, FALSE,
  1269.         PANEL_NOTIFY_LEVEL, PANEL_ALL,
  1270.         PANEL_EVENT_PROC, LabelEventProc,
  1271.         NULL);
  1272.     return obj;
  1273. }
  1274.  
  1275. /*
  1276.  * Create object `indefiniteButton' in the specified instance.
  1277.  */
  1278. Xv_opaque
  1279. DisplayTool_slidePopup_indefiniteButton_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1280. {
  1281.     extern void        Indefinite(Panel_item, Event *);
  1282.     Xv_opaque    obj;
  1283.     
  1284.     obj = xv_create(owner, PANEL_BUTTON,
  1285.         XV_KEY_DATA, INSTANCE, ip,
  1286.         XV_X, 248,
  1287.         XV_Y, 100,
  1288.         PANEL_LABEL_STRING, "Until Next Slide",
  1289.         PANEL_NOTIFY_PROC, Indefinite,
  1290.         NULL);
  1291.     return obj;
  1292. }
  1293.  
  1294. /*
  1295.  * Create object `duration' in the specified instance.
  1296.  */
  1297. Xv_opaque
  1298. DisplayTool_slidePopup_duration_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1299. {
  1300.     extern void        DurationEventProc(Panel_item, Event *);
  1301.     Xv_opaque    obj;
  1302.     
  1303.     obj = xv_create(owner, PANEL_TEXT,
  1304.         XV_KEY_DATA, INSTANCE, ip,
  1305.         XV_X, 16,
  1306.         XV_Y, 104,
  1307.         PANEL_VALUE_DISPLAY_LENGTH, 8,
  1308.         PANEL_VALUE_STORED_LENGTH, 80,
  1309.         PANEL_LABEL_STRING, "Display Time (in sec) :",
  1310.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1311.         PANEL_READ_ONLY, FALSE,
  1312.         PANEL_NOTIFY_LEVEL, PANEL_ALL,
  1313.         PANEL_EVENT_PROC, DurationEventProc,
  1314.         NULL);
  1315.     return obj;
  1316. }
  1317.  
  1318. /*
  1319.  * Create object `imageList' in the specified instance.
  1320.  */
  1321. Xv_opaque
  1322. DisplayTool_slidePopup_imageList_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1323. {
  1324.     extern int        ImageList(Panel_item, char *, Xv_opaque, Panel_list_op, Event *, int);
  1325.     Xv_opaque    obj;
  1326.     
  1327.     obj = xv_create(owner, PANEL_LIST,
  1328.         XV_KEY_DATA, INSTANCE, ip,
  1329.         XV_X, 16,
  1330.         XV_Y, 152,
  1331.         PANEL_LIST_WIDTH, 390,
  1332.         PANEL_LIST_DISPLAY_ROWS, 5,
  1333.         PANEL_LIST_TITLE, "Images:",
  1334.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1335.         PANEL_READ_ONLY, FALSE,
  1336.         PANEL_CHOOSE_ONE, TRUE,
  1337.         PANEL_CHOOSE_NONE, TRUE,
  1338.         PANEL_NOTIFY_PROC, ImageList,
  1339.         NULL);
  1340.     return obj;
  1341. }
  1342.  
  1343. /*
  1344.  * Create object `imageNameMessage' in the specified instance.
  1345.  */
  1346. Xv_opaque
  1347. DisplayTool_slidePopup_imageNameMessage_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1348. {
  1349.     Xv_opaque    obj;
  1350.     
  1351.     obj = xv_create(owner, PANEL_MESSAGE,
  1352.         XV_KEY_DATA, INSTANCE, ip,
  1353.         XV_X, 16,
  1354.         XV_Y, 312,
  1355.         PANEL_LABEL_STRING, "Image Name: ",
  1356.         PANEL_LABEL_BOLD, TRUE,
  1357.         NULL);
  1358.     return obj;
  1359. }
  1360.  
  1361. /*
  1362.  * Create object `imageName' in the specified instance.
  1363.  */
  1364. Xv_opaque
  1365. DisplayTool_slidePopup_imageName_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1366. {
  1367.     Xv_opaque    obj;
  1368.     
  1369.     obj = xv_create(owner, PANEL_MESSAGE,
  1370.         XV_KEY_DATA, INSTANCE, ip,
  1371.         XV_X, 120,
  1372.         XV_Y, 312,
  1373.         PANEL_LABEL_BOLD, FALSE,
  1374.         NULL);
  1375.     return obj;
  1376. }
  1377.  
  1378. /*
  1379.  * Create object `imageFormatMessage' in the specified instance.
  1380.  */
  1381. Xv_opaque
  1382. DisplayTool_slidePopup_imageFormatMessage_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1383. {
  1384.     Xv_opaque    obj;
  1385.     
  1386.     obj = xv_create(owner, PANEL_MESSAGE,
  1387.         XV_KEY_DATA, INSTANCE, ip,
  1388.         XV_X, 16,
  1389.         XV_Y, 336,
  1390.         PANEL_LABEL_STRING, "Image Format: ",
  1391.         PANEL_LABEL_BOLD, TRUE,
  1392.         NULL);
  1393.     return obj;
  1394. }
  1395.  
  1396. /*
  1397.  * Create object `imageFormat' in the specified instance.
  1398.  */
  1399. Xv_opaque
  1400. DisplayTool_slidePopup_imageFormat_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1401. {
  1402.     Xv_opaque    obj;
  1403.     
  1404.     obj = xv_create(owner, PANEL_MESSAGE,
  1405.         XV_KEY_DATA, INSTANCE, ip,
  1406.         XV_X, 128,
  1407.         XV_Y, 336,
  1408.         PANEL_LABEL_BOLD, FALSE,
  1409.         NULL);
  1410.     return obj;
  1411. }
  1412.  
  1413. /*
  1414.  * Create object `imageOriginalSizeMessage' in the specified instance.
  1415.  */
  1416. Xv_opaque
  1417. DisplayTool_slidePopup_imageOriginalSizeMessage_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1418. {
  1419.     Xv_opaque    obj;
  1420.     
  1421.     obj = xv_create(owner, PANEL_MESSAGE,
  1422.         XV_KEY_DATA, INSTANCE, ip,
  1423.         XV_X, 16,
  1424.         XV_Y, 360,
  1425.         PANEL_LABEL_STRING, "Original Size (WxH):",
  1426.         PANEL_LABEL_BOLD, TRUE,
  1427.         NULL);
  1428.     return obj;
  1429. }
  1430.  
  1431. /*
  1432.  * Create object `imageOriginalSize' in the specified instance.
  1433.  */
  1434. Xv_opaque
  1435. DisplayTool_slidePopup_imageOriginalSize_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1436. {
  1437.     Xv_opaque    obj;
  1438.     
  1439.     obj = xv_create(owner, PANEL_MESSAGE,
  1440.         XV_KEY_DATA, INSTANCE, ip,
  1441.         XV_X, 168,
  1442.         XV_Y, 360,
  1443.         PANEL_LABEL_BOLD, FALSE,
  1444.         NULL);
  1445.     return obj;
  1446. }
  1447.  
  1448. /*
  1449.  * Create object `imageWidth' in the specified instance.
  1450.  */
  1451. Xv_opaque
  1452. DisplayTool_slidePopup_imageWidth_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1453. {
  1454.     extern Panel_setting    ImageWidth(Panel_item, Event *);
  1455.     Xv_opaque    obj;
  1456.     
  1457.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  1458.         XV_KEY_DATA, INSTANCE, ip,
  1459.         XV_X, 16,
  1460.         XV_Y, 392,
  1461.         PANEL_VALUE_DISPLAY_LENGTH, 5,
  1462.         PANEL_VALUE_STORED_LENGTH, 80,
  1463.         PANEL_LABEL_STRING, "Displayed Width:",
  1464.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1465.         PANEL_MAX_VALUE, 1200,
  1466.         PANEL_MIN_VALUE, 0,
  1467.         PANEL_VALUE, 0,
  1468.         PANEL_READ_ONLY, FALSE,
  1469.         PANEL_NOTIFY_PROC, ImageWidth,
  1470.         NULL);
  1471.     return obj;
  1472. }
  1473.  
  1474. /*
  1475.  * Create object `imageEditButton' in the specified instance.
  1476.  */
  1477. Xv_opaque
  1478. DisplayTool_slidePopup_imageEditButton_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1479. {
  1480.     Xv_opaque    obj;
  1481.     
  1482.     obj = xv_create(owner, PANEL_BUTTON,
  1483.         XV_KEY_DATA, INSTANCE, ip,
  1484.         XV_X, 280,
  1485.         XV_Y, 392,
  1486.         PANEL_LABEL_STRING, "Edit Image",
  1487.         PANEL_ITEM_MENU, DisplayTool_imageEditMenu_create((caddr_t) ip, ip->slidePopup),
  1488.         NULL);
  1489.     return obj;
  1490. }
  1491.  
  1492. /*
  1493.  * Create object `imageHeight' in the specified instance.
  1494.  */
  1495. Xv_opaque
  1496. DisplayTool_slidePopup_imageHeight_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1497. {
  1498.     extern Panel_setting    ImageHeight(Panel_item, Event *);
  1499.     Xv_opaque    obj;
  1500.     
  1501.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  1502.         XV_KEY_DATA, INSTANCE, ip,
  1503.         XV_X, 16,
  1504.         XV_Y, 416,
  1505.         PANEL_VALUE_DISPLAY_LENGTH, 5,
  1506.         PANEL_VALUE_STORED_LENGTH, 80,
  1507.         PANEL_LABEL_STRING, "Displayed Height:",
  1508.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1509.         PANEL_MAX_VALUE, 1200,
  1510.         PANEL_MIN_VALUE, 0,
  1511.         PANEL_VALUE, 0,
  1512.         PANEL_READ_ONLY, FALSE,
  1513.         PANEL_NOTIFY_PROC, ImageHeight,
  1514.         NULL);
  1515.     return obj;
  1516. }
  1517.  
  1518. /*
  1519.  * Create object `imageXPosition' in the specified instance.
  1520.  */
  1521. Xv_opaque
  1522. DisplayTool_slidePopup_imageXPosition_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1523. {
  1524.     extern Panel_setting    ImageXPosition(Panel_item, Event *);
  1525.     Xv_opaque    obj;
  1526.     
  1527.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  1528.         XV_KEY_DATA, INSTANCE, ip,
  1529.         XV_X, 16,
  1530.         XV_Y, 440,
  1531.         PANEL_VALUE_DISPLAY_LENGTH, 5,
  1532.         PANEL_VALUE_STORED_LENGTH, 80,
  1533.         PANEL_LABEL_STRING, "X Position:",
  1534.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1535.         PANEL_MAX_VALUE, 1200,
  1536.         PANEL_MIN_VALUE, 0,
  1537.         PANEL_VALUE, 0,
  1538.         PANEL_READ_ONLY, FALSE,
  1539.         PANEL_NOTIFY_PROC, ImageXPosition,
  1540.         NULL);
  1541.     return obj;
  1542. }
  1543.  
  1544. /*
  1545.  * Create object `imageYPosition' in the specified instance.
  1546.  */
  1547. Xv_opaque
  1548. DisplayTool_slidePopup_imageYPosition_create(DisplayTool_slidePopup_objects *ip, Xv_opaque owner)
  1549. {
  1550.     extern Panel_setting    ImageYPosition(Panel_item, Event *);
  1551.     Xv_opaque    obj;
  1552.     
  1553.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  1554.         XV_KEY_DATA, INSTANCE, ip,
  1555.         XV_X, 16,
  1556.         XV_Y, 464,
  1557.         PANEL_VALUE_DISPLAY_LENGTH, 5,
  1558.         PANEL_VALUE_STORED_LENGTH, 80,
  1559.         PANEL_LABEL_STRING, "Y Position:",
  1560.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1561.         PANEL_MAX_VALUE, 1200,
  1562.         PANEL_MIN_VALUE, 0,
  1563.         PANEL_VALUE, 0,
  1564.         PANEL_READ_ONLY, FALSE,
  1565.         PANEL_NOTIFY_PROC, ImageYPosition,
  1566.         NULL);
  1567.     return obj;
  1568. }
  1569.  
  1570. /*
  1571.  * Initialize an instance of object `slideNumberPopup'.
  1572.  */
  1573. DisplayTool_slideNumberPopup_objects *
  1574. DisplayTool_slideNumberPopup_objects_initialize(DisplayTool_slideNumberPopup_objects *ip, Xv_opaque owner)
  1575. {
  1576.     if (!ip && !(ip = (DisplayTool_slideNumberPopup_objects *) calloc(1, sizeof (DisplayTool_slideNumberPopup_objects))))
  1577.         return (DisplayTool_slideNumberPopup_objects *) NULL;
  1578.     if (!ip->slideNumberPopup)
  1579.         ip->slideNumberPopup = DisplayTool_slideNumberPopup_slideNumberPopup_create(ip, owner);
  1580.     if (!ip->controls4)
  1581.         ip->controls4 = DisplayTool_slideNumberPopup_controls4_create(ip, ip->slideNumberPopup);
  1582.     if (!ip->slideNumber)
  1583.         ip->slideNumber = DisplayTool_slideNumberPopup_slideNumber_create(ip, ip->controls4);
  1584.     return ip;
  1585. }
  1586.  
  1587. /*
  1588.  * Create object `slideNumberPopup' in the specified instance.
  1589.  */
  1590. Xv_opaque
  1591. DisplayTool_slideNumberPopup_slideNumberPopup_create(DisplayTool_slideNumberPopup_objects *ip, Xv_opaque owner)
  1592. {
  1593.     Xv_opaque    obj;
  1594.     
  1595.     obj = xv_create(owner, FRAME_CMD,
  1596.         XV_KEY_DATA, INSTANCE, ip,
  1597.         XV_WIDTH, 380,
  1598.         XV_HEIGHT, 86,
  1599.         XV_LABEL, "Slide Number",
  1600.         XV_SHOW, FALSE,
  1601.         FRAME_SHOW_FOOTER, TRUE,
  1602.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  1603.         FRAME_CMD_PUSHPIN_IN, FALSE,
  1604.         NULL);
  1605.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  1606.     return obj;
  1607. }
  1608.  
  1609. /*
  1610.  * Create object `controls4' in the specified instance.
  1611.  */
  1612. Xv_opaque
  1613. DisplayTool_slideNumberPopup_controls4_create(DisplayTool_slideNumberPopup_objects *ip, Xv_opaque owner)
  1614. {
  1615.     Xv_opaque    obj;
  1616.     
  1617.     obj = xv_create(owner, PANEL,
  1618.         XV_KEY_DATA, INSTANCE, ip,
  1619.         XV_X, 0,
  1620.         XV_Y, 0,
  1621.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1622.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1623.         WIN_BORDER, FALSE,
  1624.         NULL);
  1625.     return obj;
  1626. }
  1627.  
  1628. /*
  1629.  * Create object `slideNumber' in the specified instance.
  1630.  */
  1631. Xv_opaque
  1632. DisplayTool_slideNumberPopup_slideNumber_create(DisplayTool_slideNumberPopup_objects *ip, Xv_opaque owner)
  1633. {
  1634.     extern Panel_setting    SlideNumber(Panel_item, Event *);
  1635.     Xv_opaque    obj;
  1636.     
  1637.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  1638.         XV_KEY_DATA, INSTANCE, ip,
  1639.         XV_X, 24,
  1640.         XV_Y, 32,
  1641.         PANEL_VALUE_DISPLAY_LENGTH, 4,
  1642.         PANEL_VALUE_STORED_LENGTH, 80,
  1643.         PANEL_LABEL_STRING, "Slide Number:",
  1644.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1645.         PANEL_MAX_VALUE, 100,
  1646.         PANEL_MIN_VALUE, 0,
  1647.         PANEL_VALUE, 0,
  1648.         PANEL_READ_ONLY, FALSE,
  1649.         PANEL_NOTIFY_PROC, SlideNumber,
  1650.         NULL);
  1651.     return obj;
  1652. }
  1653.  
  1654. /*
  1655.  * Initialize an instance of object `resizePopup'.
  1656.  */
  1657. DisplayTool_resizePopup_objects *
  1658. DisplayTool_resizePopup_objects_initialize(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1659. {
  1660.     if (!ip && !(ip = (DisplayTool_resizePopup_objects *) calloc(1, sizeof (DisplayTool_resizePopup_objects))))
  1661.         return (DisplayTool_resizePopup_objects *) NULL;
  1662.     if (!ip->resizePopup)
  1663.         ip->resizePopup = DisplayTool_resizePopup_resizePopup_create(ip, owner);
  1664.     if (!ip->controls6)
  1665.         ip->controls6 = DisplayTool_resizePopup_controls6_create(ip, ip->resizePopup);
  1666.     if (!ip->message9)
  1667.         ip->message9 = DisplayTool_resizePopup_message9_create(ip, ip->controls6);
  1668.     if (!ip->message11)
  1669.         ip->message11 = DisplayTool_resizePopup_message11_create(ip, ip->controls6);
  1670.     if (!ip->info1)
  1671.         ip->info1 = DisplayTool_resizePopup_info1_create(ip, ip->controls6);
  1672.     return ip;
  1673. }
  1674.  
  1675. /*
  1676.  * Create object `resizePopup' in the specified instance.
  1677.  */
  1678. Xv_opaque
  1679. DisplayTool_resizePopup_resizePopup_create(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1680. {
  1681.     Xv_opaque    obj;
  1682.     
  1683.     obj = xv_create(owner, FRAME_CMD,
  1684.         XV_KEY_DATA, INSTANCE, ip,
  1685.         XV_WIDTH, 400,
  1686.         XV_HEIGHT, 150,
  1687.         XV_LABEL, "Resize Information",
  1688.         XV_SHOW, FALSE,
  1689.         FRAME_SHOW_FOOTER, TRUE,
  1690.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  1691.         FRAME_CMD_PUSHPIN_IN, FALSE,
  1692.         NULL);
  1693.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  1694.     return obj;
  1695. }
  1696.  
  1697. /*
  1698.  * Create object `controls6' in the specified instance.
  1699.  */
  1700. Xv_opaque
  1701. DisplayTool_resizePopup_controls6_create(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1702. {
  1703.     Xv_opaque    obj;
  1704.     
  1705.     obj = xv_create(owner, PANEL,
  1706.         XV_KEY_DATA, INSTANCE, ip,
  1707.         XV_X, 0,
  1708.         XV_Y, 0,
  1709.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1710.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1711.         WIN_BORDER, FALSE,
  1712.         NULL);
  1713.     return obj;
  1714. }
  1715.  
  1716. /*
  1717.  * Create object `message9' in the specified instance.
  1718.  */
  1719. Xv_opaque
  1720. DisplayTool_resizePopup_message9_create(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1721. {
  1722.     Xv_opaque    obj;
  1723.     
  1724.     obj = xv_create(owner, PANEL_MESSAGE,
  1725.         XV_KEY_DATA, INSTANCE, ip,
  1726.         XV_X, 24,
  1727.         XV_Y, 40,
  1728.         PANEL_LABEL_STRING, "To resize images, use the rightmost mouse button",
  1729.         PANEL_LABEL_BOLD, TRUE,
  1730.         NULL);
  1731.     return obj;
  1732. }
  1733.  
  1734. /*
  1735.  * Create object `message11' in the specified instance.
  1736.  */
  1737. Xv_opaque
  1738. DisplayTool_resizePopup_message11_create(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1739. {
  1740.     Xv_opaque    obj;
  1741.     
  1742.     obj = xv_create(owner, PANEL_MESSAGE,
  1743.         XV_KEY_DATA, INSTANCE, ip,
  1744.         XV_X, 24,
  1745.         XV_Y, 56,
  1746.         PANEL_LABEL_STRING, "and drag the image from one of its corners.",
  1747.         PANEL_LABEL_BOLD, TRUE,
  1748.         NULL);
  1749.     return obj;
  1750. }
  1751.  
  1752. /*
  1753.  * Create object `info1' in the specified instance.
  1754.  */
  1755. Xv_opaque
  1756. DisplayTool_resizePopup_info1_create(DisplayTool_resizePopup_objects *ip, Xv_opaque owner)
  1757. {
  1758.     extern void        DoneHandler(Panel_item, Event *);
  1759.     Xv_opaque    obj;
  1760.     
  1761.     obj = xv_create(owner, PANEL_BUTTON,
  1762.         XV_KEY_DATA, INSTANCE, ip,
  1763.         XV_X, 144,
  1764.         XV_Y, 104,
  1765.         PANEL_LABEL_STRING, "OK",
  1766.         PANEL_NOTIFY_PROC, DoneHandler,
  1767.         NULL);
  1768.     return obj;
  1769. }
  1770.  
  1771.