markley@celece.ucsd.edu (06/15/89)
I am learning how to program using Xt and have run into a problem. I am trying to create a dialog widget and can get it to work if I use the following. Widget color_popup; void create_color_popup(parent) Widget parent; { /* start of color_popup creation */ Arg arg[10]; Widget color_box, red_form; color_popup = XtCreatePopupShell ( "color_popup", transientShellWidgetClass, parent,0,0); color_box = XtCreateManagedWidget ( "color_box", boxWidgetClass, color_popup,0,0); XtSetArg ( arg[0], XtNlabel, "Enter red value" ); XtSetArg ( arg[1], XtNvalue, 0 ); red_form = XtCreateManagedWidget ( "red_form", dialogWidgetClass, color_box, arg, 2 ); ... } This creates a nice little popup with a modifyable text field. If I do it the following way all I get is the title with no text field. static Arg arglist_redform[] = { {XtNlabel, (XtArgVal) "Enter red value' }, {XtNvalue, (XtArgVal) 0 } }; change call to... red_form = XtCreateManagedWidget ( "red_form", dialogWidgetClass, color_box, arglist_redform, XtNumber(arglist_redform)); Is this the way that it is supposed to work or am I missing something? I have trouble believing that the static declaration causes that much of a problem. Sorry for the length of the posting but I included only what I felt was important. Mike Markley University of California, San Diego markley@celece.ucsd.edu markley@kubrick.ucsd.edu disclaimer: These opinions are mine. The University could probably care less what I say or do.
converse@EXPO.LCS.MIT.EDU (Donna Converse) (06/21/89)
> I am trying to create a dialog widget and can get > it to work if I use the following. [dialog label and value resources set with the XtSetArg macro] > If I do it the following way all I get is the title with > no text field. [same resources set to same values using a statically initialized argument list.] To have the dialog box include an area into which the user types input, the value of the dialog resource XtNvalue must be non-NULL. I cannot explain why, nor duplicate, specifying XtSetArg ( arg[1], XtNvalue, 0 ); and getting a dialog box with an editable text area. If you want the initial string displayed in the text area to be the empty string, specify XtSetArg( arg[1], XtNvalue, ""); or the equivalent in static form. This question may have fell through the cracks -- I'm sure others could have posted an answer earlier. Donna Converse converse@expo.lcs.mit.edu
kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (07/26/89)
> This creates a nice little popup with a modifyable text > field. > If I do it the following way all I get is the title with > no text field. > static Arg arglist_redform[] = { > {XtNlabel, (XtArgVal) "Enter red value' }, > {XtNvalue, (XtArgVal) 0 } > }; The value field is a string field and should be "0". Use this arglist instead: static Arg arglist_redform[] = { {XtNlabel, (XtArgVal) "Enter red value" }, {XtNvalue, (XtArgVal) "0" } }; Chris D. Peterson MIT X Consortium Net: kit@expo.lcs.mit.edu Phone: (617) 253 - 9608 Address: MIT - Room NE43-213