home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / Software / universal_plane_file_format / NewXShowPlane / widgets.c < prev    next >
C/C++ Source or Header  |  1993-12-06  |  9KB  |  235 lines

  1. #include "shpl_const.h"
  2.  
  3. /*
  4. ** Generated by X-Designer Evaluation version
  5. ** This code may not be used in any program
  6. ** offered for resale or commercial use.
  7. */
  8. /*
  9. **LIBS: -lXm -lXt -lX11
  10. */
  11.  
  12. #include <X11/Xatom.h>
  13. #include <X11/Intrinsic.h>
  14. #include <X11/Shell.h>
  15.  
  16. #include <Xm/Xm.h>
  17. #include <Xm/CascadeB.h>
  18. #include <Xm/DialogS.h>
  19. #include <Xm/DrawingA.h>
  20. #include <Xm/FileSB.h>
  21. #include <Xm/Form.h>
  22. #include <Xm/List.h>
  23. #include <Xm/MainW.h>
  24. #include <Xm/MessageB.h>
  25. #include <Xm/PushB.h>
  26. #include <Xm/RowColumn.h>
  27. #include <Xm/ScrollBar.h>
  28. #include <Xm/SelectioB.h>
  29. #include <Xm/Text.h>
  30. #include <Xm/LabelG.h>
  31. #include <Xm/PushBG.h>
  32. #include <Xm/SeparatoG.h>
  33.  
  34. extern void XDmanage_link ( );
  35. extern void XDunmanage_link ( );
  36. extern void XDpopup_link ( );
  37. extern void XDpopdown_link ( );
  38. extern void XDmap_link ( );
  39. extern void XDunmap_link ( );
  40. extern void XDenable_link ( );
  41. extern void XDdisable_link ( );
  42.  
  43. extern void activate_proc ();
  44. extern void expose_proc ();
  45. extern void resize_proc ();
  46.  
  47. Widget message_box_dialog_widget = (Widget)NULL;
  48. Widget messagebox_widget = (Widget)NULL;
  49. Widget errormessage_widget = (Widget)NULL;
  50.  
  51. Widget image_file_popup_widget = (Widget)NULL;
  52. Widget openmain_widget = (Widget)NULL;
  53. Widget selected_file_widget = (Widget)NULL;
  54.  
  55. Widget toplevel_widget = (Widget)NULL;
  56. Widget filecascade_widget = (Widget)NULL;
  57. Widget canvas_widget = (Widget)NULL;
  58.  
  59.  
  60. void create_message_box_dialog_widget (parent)
  61. Widget parent;
  62. {
  63.     Display *display = XtDisplay ( parent );
  64.     Widget children[6];      /* Children to manage */
  65.     Arg al[64];           /* Arg List */
  66.     register int ac = 0;      /* Arg Count */
  67.     char from_s [256];    /* For font list conversion */
  68.     XrmValue from_value, to_value; /* ditto */
  69.     int fg, bg;           /* colour values for pixmaps */ 
  70.     XmString *list_items; /* For list items */
  71.     int list_item;        /* Index for list_items */
  72.     XmString xmstrings[15];    /* temporary storage for XmStrings */
  73.     Widget widget43 = (Widget)NULL;
  74.     Widget widget46 = (Widget)NULL;
  75.  
  76.     XtSetArg(al[ac], XmNallowShellResize, TRUE); ac++;
  77.     XtSetArg(al[ac], XmNtitle, "Cannot read plane file"); ac++;
  78.     message_box_dialog_widget = XmCreateDialogShell ( parent, "errormessage_popup", al, ac );
  79.     ac = 0;
  80.     XtSetArg(al[ac], XmNdialogType, XmDIALOG_ERROR); ac++;
  81.     messagebox_widget = XmCreateMessageBox ( message_box_dialog_widget, "messagebox_widget", al, ac );
  82.     ac = 0;
  83.     widget43 = XmMessageBoxGetChild ( messagebox_widget, XmDIALOG_CANCEL_BUTTON );
  84.     errormessage_widget = XmMessageBoxGetChild ( messagebox_widget, XmDIALOG_MESSAGE_LABEL );
  85.     widget46 = XmMessageBoxGetChild ( messagebox_widget, XmDIALOG_OK_BUTTON );
  86.     XtAddCallback (widget43, XmNactivateCallback, activate_proc,(char*)SHPL_ERROR_CANCEL);
  87.     XtAddCallback (widget46, XmNactivateCallback, activate_proc,(char*)SHPL_ERROR_OK);
  88. }
  89.  
  90.  
  91.  
  92. void create_image_file_popup_widget (parent)
  93. Widget parent;
  94. {
  95.     Display *display = XtDisplay ( parent );
  96.     Widget children[13];      /* Children to manage */
  97.     Arg al[64];           /* Arg List */
  98.     register int ac = 0;      /* Arg Count */
  99.     char from_s [256];    /* For font list conversion */
  100.     XrmValue from_value, to_value; /* ditto */
  101.     int fg, bg;           /* colour values for pixmaps */ 
  102.     XmString *list_items; /* For list items */
  103.     int list_item;        /* Index for list_items */
  104.     XmString xmstrings[15];    /* temporary storage for XmStrings */
  105.     Widget widget7 = (Widget)NULL;
  106.     Widget widget9 = (Widget)NULL;
  107.     Widget widget16 = (Widget)NULL;
  108.     Widget widget21 = (Widget)NULL;
  109.  
  110.     XtSetArg(al[ac], XmNinitialResourcesPersistent, FALSE); ac++;
  111.     XtSetArg(al[ac], XmNallowShellResize, TRUE); ac++;
  112.     XtSetArg(al[ac], XmNtitle, "Enter an image filename"); ac++;
  113.     image_file_popup_widget = XmCreateDialogShell ( parent, "image_file_popup", al, ac );
  114.     ac = 0;
  115.     XtSetArg(al[ac], XmNinitialResourcesPersistent, FALSE); ac++;
  116.     XtSetArg(al[ac], XmNscrollingPolicy, XmAPPLICATION_DEFINED); ac++;
  117.     openmain_widget = XmCreateMainWindow ( image_file_popup_widget, "openmain", al, ac );
  118.     ac = 0;
  119.  
  120.     XtSetArg(al[ac], XmNinitialResourcesPersistent, FALSE); ac++;
  121.     widget7 = XmCreateFileSelectionBox ( openmain_widget, "widget7", al, ac );
  122.     ac = 0;
  123.     widget9 = XmSelectionBoxGetChild ( widget7, XmDIALOG_CANCEL_BUTTON );
  124.     widget16 = XmSelectionBoxGetChild ( widget7, XmDIALOG_OK_BUTTON );
  125.     selected_file_widget = XmSelectionBoxGetChild ( widget7, XmDIALOG_TEXT );
  126.     widget21 = XmFileSelectionBoxGetChild ( widget7, XmDIALOG_FILTER_TEXT );
  127.  
  128.     XmTextSetString ( selected_file_widget, "/visimg/" );
  129.     XmTextSetString ( widget21, "/visimg/*.plane" );
  130.  
  131.     XtAddCallback (widget9, XmNactivateCallback, activate_proc,(char*)SHPL_OPEN_CANCEL);
  132.     XtAddCallback (widget16, XmNactivateCallback, activate_proc,(char*)SHPL_OPEN_OK);
  133.     XtManageChild ( widget7 );
  134.     XmMainWindowSetAreas(openmain_widget, (Widget) NULL, (Widget) NULL, (Widget) NULL, (Widget) NULL, widget7 );
  135. }
  136.  
  137.  
  138.  
  139. void create_toplevel_widget (display, app_name, app_argc, app_argv)
  140. Display *display;
  141. char *app_name;
  142. int app_argc;
  143. char **app_argv;
  144. {
  145.     Widget children[7];      /* Children to manage */
  146.     Arg al[64];           /* Arg List */
  147.     register int ac = 0;      /* Arg Count */
  148.     char from_s [256];    /* For font list conversion */
  149.     XrmValue from_value, to_value; /* ditto */
  150.     int fg, bg;           /* colour values for pixmaps */ 
  151.     XmString *list_items; /* For list items */
  152.     int list_item;        /* Index for list_items */
  153.     XmString xmstrings[15];    /* temporary storage for XmStrings */
  154.     Widget widget28 = (Widget)NULL;
  155.     Widget widget34 = (Widget)NULL;
  156.     Widget widget36 = (Widget)NULL;
  157.     Widget widget37 = (Widget)NULL;
  158.     Widget widget38 = (Widget)NULL;
  159.     Widget widget39 = (Widget)NULL;
  160.  
  161.     XtSetArg(al[ac], XmNallowShellResize, TRUE); ac++;
  162.     XtSetArg(al[ac], XmNtransient, FALSE); ac++;
  163.     XtSetArg(al[ac], XmNargc, app_argc); ac++;
  164.     XtSetArg(al[ac], XmNargv, app_argv); ac++;
  165.     toplevel_widget = XtAppCreateShell ( app_name, "XShowPlane", applicationShellWidgetClass, display, al, ac );
  166.     ac = 0;
  167.     XtSetArg(al[ac], XmNscrollingPolicy, XmAPPLICATION_DEFINED); ac++;
  168.     widget28 = XmCreateMainWindow ( toplevel_widget, "widget28", al, ac );
  169.     ac = 0;
  170.  
  171.     widget34 = XmCreateMenuBar ( widget28, "menubar", al, ac );
  172.     widget36 = XmCreatePulldownMenu ( widget34, "filemenu", al, ac );
  173.     xmstrings[0] = XmStringCreateLtoR("Open", (XmStringCharSet)XmSTRING_DEFAULT_CHARSET);
  174.     XtSetArg(al[ac], XmNlabelString, xmstrings[0]); ac++;
  175.     widget37 = XmCreatePushButton ( widget36, "open_button", al, ac );
  176.     ac = 0;
  177.     XmStringFree ( xmstrings [ 0 ] );
  178.     xmstrings[0] = XmStringCreateLtoR("Exit", (XmStringCharSet)XmSTRING_DEFAULT_CHARSET);
  179.     XtSetArg(al[ac], XmNlabelString, xmstrings[0]); ac++;
  180.     widget38 = XmCreatePushButton ( widget36, "exit_button", al, ac );
  181.     ac = 0;
  182.     XmStringFree ( xmstrings [ 0 ] );
  183.     xmstrings[0] = XmStringCreateLtoR("File", (XmStringCharSet)XmSTRING_DEFAULT_CHARSET);
  184.     XtSetArg(al[ac], XmNlabelString, xmstrings[0]); ac++;
  185.     XtSetArg(al[ac], XmNsubMenuId, widget36); ac++;
  186.     filecascade_widget = XmCreateCascadeButton ( widget34, "filecascade", al, ac );
  187.     ac = 0;
  188.     XmStringFree ( xmstrings [ 0 ] );
  189.     XtSetArg(al[ac], XmNinitialResourcesPersistent, FALSE); ac++;
  190.     XtSetArg(al[ac], XmNresizePolicy, XmRESIZE_ANY); ac++;
  191.     XtSetArg(al[ac], XmNrubberPositioning, TRUE); ac++;
  192.     widget39 = XmCreateForm ( widget28, "widget39", al, ac );
  193.     ac = 0;
  194.     XtSetArg(al[ac], XmNwidth, 512); ac++;
  195.     XtSetArg(al[ac], XmNheight, 512); ac++;
  196.     XtSetArg(al[ac], XmNinitialResourcesPersistent, FALSE); ac++;
  197.     XtSetArg(al[ac], XmNmarginWidth, 1); ac++;
  198.     XtSetArg(al[ac], XmNmarginHeight, 1); ac++;
  199.     XtSetArg(al[ac], XmNresizePolicy, XmRESIZE_ANY); ac++;
  200.     canvas_widget = XmCreateDrawingArea ( widget39, "canvas", al, ac );
  201.     ac = 0;
  202.     XtAddCallback (widget37, XmNactivateCallback, activate_proc,(char*)SHPL_OPEN);
  203.     XtAddCallback (widget38, XmNactivateCallback, activate_proc,(char*)SHPL_EXIT);
  204.     children[ac++] = widget37;
  205.     children[ac++] = widget38;
  206.     XtManageChildren(children, ac);
  207.     ac = 0;
  208.     children[ac++] = filecascade_widget;
  209.     XtManageChildren(children, ac);
  210.     ac = 0;
  211.  
  212.     XtSetArg(al[ac], XmNtopAttachment, XmATTACH_FORM); ac++;
  213.     XtSetArg(al[ac], XmNtopOffset, 1); ac++;
  214.     XtSetArg(al[ac], XmNbottomAttachment, XmATTACH_FORM); ac++;
  215.     XtSetArg(al[ac], XmNbottomOffset, 1); ac++;
  216.     XtSetArg(al[ac], XmNleftAttachment, XmATTACH_FORM); ac++;
  217.     XtSetArg(al[ac], XmNleftOffset, 1); ac++;
  218.     XtSetArg(al[ac], XmNrightAttachment, XmATTACH_FORM); ac++;
  219.     XtSetArg(al[ac], XmNrightOffset, 1); ac++;
  220.         XtSetValues ( canvas_widget,al, ac );
  221.     ac = 0;
  222.     XtAddCallback (canvas_widget, XmNexposeCallback, expose_proc,(char*)SHPL_CANVAS);
  223.     XtAddCallback (canvas_widget, XmNresizeCallback, resize_proc,(char*)SHPL_CANVAS);
  224.     XtOverrideTranslations(canvas_widget, XtParseTranslationTable("<LeaveWindow>:uninstall()\n<EnterWindow>:install()"));
  225.     children[ac++] = canvas_widget;
  226.     XtManageChildren(children, ac);
  227.     ac = 0;
  228.     XtManageChild ( widget34 );
  229.     XtManageChild ( widget39 );
  230.     XmMainWindowSetAreas(widget28, widget34, (Widget) NULL, (Widget) NULL, (Widget) NULL, widget39 );
  231.     XtManageChild ( widget28);
  232. }
  233.  
  234.  
  235.