cont1@tse.uucp (Contractor #1 = Tim Horton) (09/20/90)
I am having a consistent problem on several platforms with...
- text widget,
- XmSINGLE_LINE_EDIT mode,
- no translations at all
Editing and selection works roughly as expected, but XmNactivateCallback
does not get called when the user hits return. Why?
(because I'm a dummy, right? true, but that's NOT the answer I need.)
This text occurs on a XmFormDialog, which also contains an XmLabel, an
XmDrawingArea and XmScrollBar, 3 XmRowColumn's of XmToggleButtonGadgets,
and a few XmPushButtons. I don't have any tab groups set (should I?).
The UIL for the widget says it all:
arguments
{
XmNtopAttachment = XmATTACH_POSITION;
XmNtopPosition = posEntryT;
XmNleftAttachment = XmATTACH_POSITION;
XmNleftPosition = posEntryL;
XmNrightAttachment = XmATTACH_POSITION;
XmNrightPosition = posEntryR;
!
XmNeditable = true;
XmNeditMode = XmSINGLE_LINE_EDIT;
XmNrows = 1;
XmNmaxLength = 30;
};
callbacks
{
XmNactivateCallback = procedure symSelTyped();
};
There must be something I just don't understand. Please help.dbrooks@osf.org (David Brooks) (09/21/90)
In article <1990Sep20.163058.11712@tse.uucp>, cont1@tse.uucp (Contractor #1 = Tim Horton) writes: |> |> I am having a consistent problem on several platforms with... |> - text widget, |> - XmSINGLE_LINE_EDIT mode, |> - no translations at all |> Editing and selection works roughly as expected, but XmNactivateCallback |> does not get called when the user hits return. Why? This one belongs right at the top of the Commonly Asked Questions list. Your text widget is in a Form, which is a subclass of BulletinBoard, which has stolen the Return event to activate its own default button, even if it doesn't have one. The cure is to add a translation to the text widget any time after it has been created, like this: XtOverrideTranslations(textWidget, XtParseTranslationTable("<Key>Return: activate()")); IMPORTANT ANNOUNCEMENT: in everybody's favorite change, this will no longer be necessary in Motif release 1.1. To the disgust of the strict- encapsulation fans, BulletinBoard will let Text or List children see the Return key before it looks at it itself. -- David Brooks dbrooks@osf.org Systems Engineering, OSF uunet!osf.org!dbrooks A Loaf of Bread, a Jug of Wine, and Six Spades Redoubled -- Omar somebody.
tjhorton@ai.toronto.edu ("Timothy J. Horton") (10/01/90)
[ sorry if this makes it out in triplicate; we had a broken news Q for days ] As cont1@tse.UUCP (Contractor #1 = Tim Horton) I wrote: > >I am having a consistent problem on several platforms with... > - text widget, > - XmSINGLE_LINE_EDIT mode, > - stricly default translations >Editing in the text widget works as expected, *BUT* the XmNactivateCallback >does not get called when the user hits return. Why? I've narrowed the problem down -- it has something to do with the enclosing dialog shell, but I can't guess what: The XmNactivateCallback DOES get called as expected if the XmText is in a simple XmForm widget, under my topLevel window, but it DOES NOT get called if the XmText is in a XmFormDialog, ie. under a dialog shell. I checked the dialog shell, and XmNdefaultButton is null, and XmNautoUnmanage is false, so I have no idea why the text widget is not getting the return key. I know I could add an extra button beside the text field to get an activate event that way, but I would like `return' to work as it "should", according to our GUI specification. >This XmText occurs on a XmFormDialog, which also contains an XmLabel, an >XmDrawingArea and XmScrollBar, 3 XmRowColumn's of XmToggleButtonGadgets, >and a few XmPushButtons. I don't have any tab groups set (should I?). >The UIL for the text widget says it all: > arguments > { > ... position info ... > XmNeditable = true; > XmNeditMode = XmSINGLE_LINE_EDIT; > XmNrows = 1; > XmNmaxLength = 30; > }; > callbacks > { > XmNactivateCallback = procedure symSelTyped(); > };