chan@hpfcmgw.HP.COM (Chan Benson) (09/17/90)
There's been some recent questions on how to do application-modal dialogs in Motif. I'd rather not debate the merit of application modality, I just want to know if what I'm doing is legit. Anyway, here's what I've done to implement application-modal dialogs in Motif that do not rely on mwm. If there's something wrong with my approach, please let me know ASAP. void popupModalDialog (dialog) Widget dialog; { XtManageChild(dialog); XtAddGrab(XtParent(dialog), TRUE, FALSE); } void popdownModalDialog (dialog) Widget dialog; { XtRemoveGrab(XtParent(dialog)); XtUnmanageChild(dialog); } The main thing here to be wary of is that any button that can popdown the dialog must call popdownModalDialog in one of its callbacks so that the grab can be removed. For dialogs with autoUnmanage set to be true, you might forget to do this and then you'll be hosed. -- Chan Benson HP Fort Collins chan@hpfcmi.hp.com (303) 229-3892