void ShowWarningDialog(char *message,XtCallbackProc CB1,XtCallbackProc CB2,char *Label1,char *Label2,int def) { Arg args[4]; XmString string,okstring,cancelstring; static void (*OkCB) () = NULL; static void (*CancelCB) () = NULL; string = XmStringCreateLtoR(message, XmFONTLIST_DEFAULT_TAG); okstring = XmStringCreateLtoR(Label1 == NULL ? "Yes" : Label2, XmFONTLIST_DEFAULT_TAG); cancelstring = XmStringCreateLtoR(Label2 == NULL ? "No" : Label1, XmFONTLIST_DEFAULT_TAG); if (OkCB != NULL && CancelCB != NULL) { XtRemoveCallback(warningDialog, XmNokCallback, OkCB, 0); XtRemoveCallback(warningDialog, XmNcancelCallback, CancelCB, 0); } OkCB = CB1 == NULL ? NullCB : CB1; CancelCB = CB2 == NULL ? NullCB : CB2; XtAddCallback(warningDialog, XmNokCallback, OkCB, 0); XtAddCallback(warningDialog, XmNcancelCallback, CancelCB, 0); XtSetArg(args[0], XmNmessageString, string); XtSetArg(args[1], XmNcancelLabelString, okstring); XtSetArg(args[2], XmNokLabelString, cancelstring); XtSetArg(args[3], XmNdefaultButtonType, def ? XmDIALOG_CANCEL_BUTTON : XmDIALOG_OK_BUTTON); XtSetValues(warningDialog, args, 4); XmStringFree(string); XmStringFree(okstring); XmStringFree(cancelstring); XtManageChild(warningDialog); }
// When W is to be destroyed, remove all references in Widget(CLIENT_DATA) static void RemoveCallbacksCB(Widget w, XtPointer client_data, XtPointer) { Widget ref = Widget(client_data); XtRemoveCallback(ref, XmNokCallback, UnmanageThisCB, XtPointer(w)); XtRemoveCallback(ref, XmNcancelCallback, UnmanageThisCB, XtPointer(w)); XtRemoveCallback(ref, XmNdestroyCallback, RemoveCallbacksCB, XtPointer(w)); }
void AttachArea::unmanage() { int i; Attachment **list = getList(); // Unmanage the widgets it currently has for (i=0; i<getIconCount(); i++) list[i]->unmanageIconWidget(); XtRemoveCallback( _clipWindow, XmNresizeCallback, &AttachArea::resizeCallback, (XtPointer) this ); XtRemoveCallback( _clipWindow, XmNinputCallback, &AttachArea::inputCallback, (XtPointer) this ); XtRemoveEventHandler( _clipWindow, ButtonPressMask, FALSE, MenuButtonHandler, (XtPointer) this); UIComponent::unmanage(); }
static void unpost_completion(Widget w) { XtUnmanageChild(completions_dialog); XtRemoveCallback(w, XmNmodifyVerifyCallback, unpost_completion_from_modify, NULL); XtRemoveCallback(w, XmNactivateCallback, unpost_completion_from_activate, NULL); ss->sgx->completion_requestor = NULL; ss->sgx->completion_requestor_dialog = NULL; }
void main (int argc, char **argv) { Arg args[10]; int n; CommonTestInit (argc, argv); n=0; Parent = XmCreateFrame (Shell1, "Frame", args, n); XtManageChild (Parent); n=0; XtSetArg (args[n], XmNarrowLayout, XmARROWS_FLAT_END); n++; XtSetArg (args[n], XmNrepeatDelay, 0); n++; XtSetArg (args[n], XmNarrowOrientation, XmHORIZONTAL); n++; SpinBox1 = XmCreateSpinBox (Parent, "SpinBox1", args, n); XtManageChild (SpinBox1); XtAddCallback (SpinBox1, XmNvalueChangedCallback, ValueChanged, (XtPointer)NULL); XtAddCallback (SpinBox1, XmNmodifyVerifyCallback, ModifyVerify, (XtPointer)0); n=0; XtSetArg (args[n], XmNspinBoxChildType, XmNUMERIC); n++; XtSetArg (args[n], XmNminimumValue, 1); n++; XtSetArg (args[n], XmNmaximumValue, 10); n++; XtSetArg (args[n], XmNincrementValue, 3); n++; XtSetArg (args[n], XmNposition, 2); n++; XtSetArg (args[n], XmNpositionType, XmPOSITION_INDEX); n++; TextF1 = XmCreateTextField (SpinBox1, "TextF1", args,n); XtManageChild (TextF1); XtRealizeWidget (Shell1); CommonPause(); CommonPause(); XtAddCallback( SpinBox1, XmNmodifyVerifyCallback, CrossedBound, (XtPointer)0 ); CommonPause(); XtRemoveCallback( SpinBox1, XmNmodifyVerifyCallback, CrossedBound, (XtPointer)0 ); XtAddCallback( SpinBox1, XmNmodifyVerifyCallback, SetPosition, (XtPointer)0 ); CommonPause(); XtRemoveCallback( SpinBox1, XmNmodifyVerifyCallback, SetPosition, (XtPointer)0 ); CommonPause(); CommonPause(); XtAppMainLoop (app_context); }
void XsMDICanvas::_componentDestroyed ( ) { // Remove the callbacks XtRemoveCallback (_drawArea, XmNresizeCallback, _canvasResizeCallback, (XtPointer)this); XtRemoveCallback (_clipWin, XmNresizeCallback, _clipResizeCallback, (XtPointer)this); _drawArea = 0; _clipWin = 0; }
void XFE_PrefsLdapPropDialog::cb_cancel(Widget /* w */, XtPointer closure, XtPointer /* callData */) { XFE_PrefsLdapPropDialog *theDialog = (XFE_PrefsLdapPropDialog *)closure; XtRemoveCallback(theDialog->m_chrome, XmNokCallback, cb_ok, theDialog); XtRemoveCallback(theDialog->m_chrome, XmNcancelCallback, cb_cancel, theDialog); // Delete the dialog delete theDialog; }
void GUI_GeneralSlider(Widget w,XtPointer client,XtPointer call){ char text[20]; struct CSlider *cslider=(struct CSlider *)client; char *freqtext; double value; double slidervalue; XmScrollBarCallbackStruct *wx=(XmScrollBarCallbackStruct *)call; #ifdef USELESSTIF slidervalue=(double)(MAXSLIDERVAL-wx->value); #else slidervalue=(double)wx->value; #endif if(cslider->islog){ double s=slidervalue/MAXSLIDERVAL; value=pow(DASE,log(cslider->maxval)*(s-(s*cslider->logval)+cslider->logval)); }else{ value=(slidervalue*(cslider->maxval-cslider->minval)/MAXSLIDERVAL)+cslider->minval; } if(cslider->isdouble){ sprintf(text,"%.*f",cslider->resolution,value); GUI_CallCallBackDouble(cslider,value); }else{ sprintf(text,"%d",(int)value); GUI_CallCallBackInt(cslider,(int)value); } XtRemoveCallback(cslider->textwidget,XmNvalueChangedCallback,GUI_GeneralTextField,cslider); if(cslider->freqtextwidget!=NULL) XtRemoveCallback(cslider->freqtextwidget,XmNvalueChangedCallback,GUI_GeneralFreqTextField,cslider); XmTextSetString(cslider->textwidget,text); if(cslider->freqtextwidget!=NULL){ freqtext=GUI_freq2pitch(value); XmTextSetString(cslider->freqtextwidget,freqtext); free(freqtext); } XtAddCallback(cslider->textwidget,XmNvalueChangedCallback,GUI_GeneralTextField,cslider); if(cslider->freqtextwidget!=NULL) XtAddCallback(cslider->freqtextwidget,XmNvalueChangedCallback,GUI_GeneralFreqTextField,cslider); return; }
void XFE_AttachmentMenu::update() { Widget *kids; int nkids; XtVaGetValues (m_submenu, XmNchildren, &kids, XmNnumChildren, &nkids, 0); XtUnrealizeWidget(m_submenu); if (nkids) { kids = &(kids[m_firstslot]); nkids -= m_firstslot; XtUnmanageChildren (kids, nkids); fe_DestroyWidgetTree(kids, nkids); } add_attachment_menu_items(m_submenu); XtRealizeWidget(m_submenu); XtRemoveCallback(m_cascade, XmNcascadingCallback, update_cb, this); }
void RxpRemoveDestroyCallback(PluginInstance *This) { if (This->plugin_widget != NULL) XtRemoveCallback(This->plugin_widget, XtNdestroyCallback, DestroyCB, (XtPointer) This); }
void iupdrvListRemoveItem(Ihandle* ih, int pos) { /* The utility functions use 0=last 1=first */ if (ih->data->is_dropdown || ih->data->has_editbox) { if (ih->data->is_dropdown && !ih->data->has_editbox) { /* must check if removing the current item */ int curpos; XtVaGetValues(ih->handle, XmNselectedPosition, &curpos, NULL); if (pos == curpos && iupdrvListGetCount(ih)>1) { if (curpos > 0) curpos--; else curpos++; XtRemoveCallback(ih->handle, XmNselectionCallback, (XtCallbackProc)motListComboBoxSelectionCallback, (XtPointer)ih); XtVaSetValues(ih->handle, XmNselectedPosition, curpos, NULL); XtAddCallback(ih->handle, XmNselectionCallback, (XtCallbackProc)motListComboBoxSelectionCallback, (XtPointer)ih); } } XmComboBoxDeletePos(ih->handle, pos+1); } else XmListDeletePos(ih->handle, pos+1); iupListUpdateOldValue(ih, pos, 1); }
MotifUI::~MotifUI() { if (_w) XtRemoveCallback(_w, XmNdestroyCallback, &MotifUI::WidgetDestroyCB, (XtPointer) this); delete _widgetName; }
void wxMenuItem::DestroyItem(bool full) { if (GetId() == -3) { ; // Nothing } else if (!m_text.empty() && !m_subMenu) { if (m_buttonWidget) { if (IsCheckable()) XtRemoveCallback ((Widget) m_buttonWidget, XmNvalueChangedCallback, wxMenuItemCallback, (XtPointer) this); else XtRemoveCallback ((Widget) m_buttonWidget, XmNactivateCallback, wxMenuItemCallback, (XtPointer) this); XtRemoveCallback ((Widget) m_buttonWidget, XmNarmCallback, wxMenuItemArmCallback, (XtPointer) this); XtRemoveCallback ((Widget) m_buttonWidget, XmNdisarmCallback, wxMenuItemDisarmCallback, (XtPointer) this); } } else if (IsSeparator()) { ; // Nothing } else if (GetSubMenu()) { if (m_buttonWidget) { XtRemoveCallback ((Widget) m_buttonWidget, XmNcascadingCallback, wxMenuItemArmCallback, (XtPointer) this); } m_subMenu->DestroyMenu(full); if (full) m_buttonWidget = NULL; } if (m_buttonWidget && full) { XtDestroyWidget ((Widget) m_buttonWidget); m_buttonWidget = (WXWidget) 0; } }
void XsComponent::_removeDestroyHandler ( ) { assert (_base != 0); // Remove the destroy handler XtRemoveCallback (_base, XmNdestroyCallback, _componentDestroyedCallback, (XtPointer)this); }
void warpCanvasMeshCb( Widget w, XtPointer client_data, XtPointer call_data) { MAPaintImageWinStruct *winStruct; XmToggleButtonCallbackStruct *cbs = (XmToggleButtonCallbackStruct *) call_data; int winId = (int) client_data; switch( winId ){ case 0 : winStruct = &(warpGlobals.dst); if( cbs->set == True ){ XtAddCallback(winStruct->canvas, XmNexposeCallback, warpDisplayDstMeshCb, (XtPointer) winStruct); warpDisplayDstMeshCb(winStruct->canvas, (XtPointer) winStruct, call_data); } else { XtRemoveCallback(winStruct->canvas, XmNexposeCallback, warpDisplayDstMeshCb, (XtPointer) winStruct); warpCanvasExposeCb(w, (XtPointer) winStruct, call_data); } break; case 1 : winStruct = &(warpGlobals.src); if( cbs->set == True ){ XtAddCallback(winStruct->canvas, XmNexposeCallback, warpDisplaySrcMeshCb, (XtPointer) winStruct); warpDisplaySrcMeshCb(winStruct->canvas, (XtPointer) winStruct, call_data); } else { XtRemoveCallback(winStruct->canvas, XmNexposeCallback, warpDisplaySrcMeshCb, (XtPointer) winStruct); warpCanvasExposeCb(w, (XtPointer) winStruct, call_data); } break; case 2 : winStruct = &(warpGlobals.ovly); break; } return; }
/* * Callback for the lat/lon on/off button */ void SetLatLonGridOnCB (Widget w, XtPointer client_data, XtPointer xt_call_data ) { GuiLatLonGridDialogType *llg; GuiLineAttributesDialogType *atr; Widget sample; BooleanType state; XtCallbackProc callback; XtPointer clientData; atr = GetGuiLineAttributesDialog(); llg = GetGuiLatLonGridDialog(); state = XmToggleButtonGetState (w); SetLatLonSensitive (state); /* * Force the sample line to redraw */ sample = GetLatLonGridSampleW (llg); RefreshLatLonSampleCB (sample, client_data, xt_call_data ); /* * Special case: check if the user has turned off lat/lon while it * currently controls the line attributes dialog. If so, unmanage * the line attributes dialog. */ if ( (GetLatLonGridSampleW(llg) == GetLineAttributesCurrentSampleW(atr)) && ! state ) { XtUnmanageChild ( GetLineAttributesDialogW(atr) ); SetLineAttributesCurrentSampleW(atr, NULL); callback = GetLineAttributesCallback(atr); if ( callback != NULL ) { clientData = GetLineAttributesClientData(atr); XtRemoveCallback( GetLineAttributesApplyW(atr), XmNactivateCallback, callback, (XtPointer) clientData); } SetLineAttributesCallback(atr, NULL); SetLineAttributesClientData(atr, (XtPointer) NULL); } /* * Set the changed state flag */ SetLatLonGridChangeState ( llg, True ); }
static void clear_find_error(void) { if ((find_error_frame) && (XtIsManaged(find_error_frame))) XtUnmanageChild(find_error_frame); XtRemoveCallback(edit_find_text, XmNmodifyVerifyCallback, edit_find_modify_callback, NULL); /* squeezing out the error label room here moves the text widget, which is irritating since it * means the text we're typing gets lost */ }
XsMDICanvas::~XsMDICanvas ( ) { /* Remove callbacks to prevent calls to destroyed class-part of XsMDICanvas while children are being destroyed. */ if (_drawArea) XtRemoveCallback (_drawArea, XmNresizeCallback, _canvasResizeCallback, (XtPointer)this); if (_clipWin) XtRemoveCallback (_clipWin, XmNresizeCallback, _clipResizeCallback, (XtPointer)this); // Remove all windows removeAll ( ); }
static void DestroyCB(XtPointer client_data, XtIntervalId *id) { Widget w = Widget(client_data); if (w != 0) { XtRemoveCallback(w, XmNdestroyCallback, CancelTimer, XtPointer(*id)); XtDestroyWidget(w); } }
static void destroy(Widget w) { if (Slide_Id(w) != (XtIntervalId)NULL) { XtRemoveTimeOut(Slide_Id(w)); Slide_Id(w) = (XtIntervalId)NULL; } XtRemoveCallback(Slide_Widget(w), XmNdestroyCallback, (XtCallbackProc)targetDestroy, w); }
void _XmDrawnB_TraitAddCallback(Widget w, XtCallbackProc cb, XtPointer cbp, Boolean set) { if (set) XtAddCallback(w, XmNactivateCallback, cb, cbp); else XtRemoveCallback(w, XmNactivateCallback, cb, cbp); }
static Boolean set_values(Widget old, Widget request, Widget new_w, ArgList args, Cardinal *num_args) { if (Slide_Widget(old) != Slide_Widget(new_w)) { XtRemoveCallback(Slide_Widget(old), XmNdestroyCallback, (XtCallbackProc)targetDestroy, old); XtAddCallback(Slide_Widget(new_w), XmNdestroyCallback, (XtCallbackProc)targetDestroy, new_w); } return(False); }
void MotifUI::NotifyDelete(BaseUI *obj) { MotifUI *p = (MotifUI *) obj; if (p->_w) { XtRemoveCallback(_w, XmNdestroyCallback, &MotifUI::WidgetDestroyCB, (XtPointer) this); XtDestroyWidget(p->_w); p->_w = NULL; } }
void wxChoice::Delete(unsigned int n) { Widget w = (Widget)m_widgetArray[n]; XtRemoveCallback(w, XmNactivateCallback, (XtCallbackProc)wxChoiceCallback, (XtPointer)this); m_stringList.Erase(m_stringList.Item(n)); m_widgetArray.RemoveAt(size_t(n)); m_clientDataDict.Delete(n, HasClientObjectData()); XtDestroyWidget(w); m_noStrings--; }
void wxChoice::DoDeleteOneItem(unsigned int n) { Widget w = (Widget)m_widgetArray[n]; XtRemoveCallback(w, XmNactivateCallback, (XtCallbackProc)wxChoiceCallback, (XtPointer)this); m_stringArray.RemoveAt(size_t(n)); m_widgetArray.RemoveAt(size_t(n)); wxChoiceBase::DoDeleteOneItem(n); XtDestroyWidget(w); }
static void ChangeCB( Widget w, XtCallbackProc activCB, XtPointer closure, Boolean setunset) { if (setunset) XtAddCallback (w, XmNactivateCallback, activCB, closure); else XtRemoveCallback (w, XmNactivateCallback, activCB, closure); }
static void motDialogUnMapMethod(Ihandle* ih) { Widget dialog_manager; if (ih->data->menu) { ih->data->menu->handle = NULL; /* the dialog will destroy the native menu */ IupDestroy(ih->data->menu); } dialog_manager = XtNameToWidget(ih->handle, "*dialog_manager"); XtVaSetValues(dialog_manager, XmNuserData, NULL, NULL); XtRemoveEventHandler(ih->handle, FocusChangeMask, False, (XtEventHandler)iupmotFocusChangeEvent, (XtPointer)ih); XtRemoveEventHandler(ih->handle, KeyPressMask, False, (XtEventHandler)iupmotKeyPressEvent, (XtPointer)ih); XtRemoveEventHandler(ih->handle, StructureNotifyMask, False, (XtEventHandler)motDialogCBStructureNotifyEvent, (XtPointer)ih); XtRemoveCallback(ih->handle, XmNdestroyCallback, (XtCallbackProc)motDialogDestroyCallback, (XtPointer)ih); XtRemoveEventHandler(dialog_manager, KeyPressMask, False, (XtEventHandler)iupmotKeyPressEvent, (XtPointer)ih); XtRemoveCallback(dialog_manager, XmNhelpCallback, (XtCallbackProc)iupmotHelpCallback, (XtPointer)ih); iupdrvBaseUnMapMethod(ih); }
void DmxPrintSetup::detachPrintSetupDialog (void) { XtRemoveCallback( _dtprint_setup, DtNprintCallback, DmxPrintSetup::printCB, (XtPointer) this); XtRemoveCallback( _dtprint_setup, DtNcancelCallback, _cancelCB, (XtPointer) _cancelClosure); XtRemoveCallback( _dtprint_setup, DtNclosePrintDisplayCallback, _closeDisplayCB, (XtPointer) _closeDisplayClosure); XtRemoveCallback( _dtprint_setup, DtNsetupCallback, _pdmSetupCB, (XtPointer) _pdmSetupClosure); // // Leave the Print Setup Dialog for the next print job. // #ifdef REUSE_PRINT_SETUP_DIALOGS if (DmxPrintSetup_default_dtprint_setup != NULL) { XtDestroyWidget(DmxPrintSetup_default_dtprint_setup); DmxPrintSetup_default_dtprint_setup = NULL; } DmxPrintSetup_default_dtprint_setup = _dtprint_setup; #else XtDestroyWidget(_dtprint_setup); #endif }
void GUI_GeneralTextField(Widget w,XtPointer client,XtPointer call){ struct CSlider *cslider=(struct CSlider *)client; char *valstring=XmTextGetString(cslider->textwidget); char *freqtext; double value=atof(valstring); XtFree(valstring); if(cslider->islog){ double ai; if(value==0.0f) value=0.000001f; ai=((log(value)/log(cslider->maxval))-cslider->logval)*(1/(1-cslider->logval)); XtVaSetValues(cslider->sliderwidget, XmNvalue, #ifdef USELESSTIF MAXSLIDERVAL-(int)min(MAXSLIDERVAL,max(0,(ai*MAXSLIDERVAL))), #else (int)min(MAXSLIDERVAL,max(0,(ai*MAXSLIDERVAL))), #endif NULL ); }else{ XtVaSetValues(cslider->sliderwidget, XmNvalue, #ifdef USELESSTIF MAXSLIDERVAL-min(MAXSLIDERVAL,(int)(MAXSLIDERVAL*(value-cslider->minval)/(cslider->maxval-cslider->minval))), #else min(MAXSLIDERVAL,(int)(MAXSLIDERVAL*(value-cslider->minval)/(cslider->maxval-cslider->minval))), #endif NULL ); } if(cslider->freqtextwidget!=NULL){ freqtext=GUI_freq2pitch(value); XtRemoveCallback(cslider->freqtextwidget,XmNvalueChangedCallback,GUI_GeneralFreqTextField,cslider); XmTextSetString(cslider->freqtextwidget,freqtext); XtAddCallback(cslider->freqtextwidget,XmNvalueChangedCallback,GUI_GeneralFreqTextField,cslider); free(freqtext); } if(cslider->isdouble){ GUI_CallCallBackDouble(cslider,value); }else{ GUI_CallCallBackInt(cslider,(int)value); } }
void remove_event_handlers(int sel) { switch (sel) { case REGION_GROWING : XtRemoveEventHandler(view[curfile], XtAllEvents, False, (XtEventHandler) start_growing, NULL); break; case REGION_CUT : XtRemoveEventHandler(draw_2, XtAllEvents, False, (XtEventHandler) start_tracking, NULL); XtRemoveEventHandler(draw_2, XtAllEvents, False, (XtEventHandler) continue_tracking, NULL); XtRemoveEventHandler(draw_2, XtAllEvents, False, (XtEventHandler) end_tracking, NULL); XtRemoveEventHandler(draw_2, XtAllEvents, False, (XtEventHandler) start_cut, NULL); break; case TRACKING : XtRemoveEventHandler(draw_1, XtAllEvents, False, (XtEventHandler) start_tracking, NULL); XtRemoveEventHandler(draw_1, XtAllEvents, False, (XtEventHandler) continue_tracking, NULL); XtRemoveEventHandler(draw_1, XtAllEvents, False, (XtEventHandler) end_tracking, NULL); break; case RECTANGLES : case ELLIPSES : case CIRCLES : XtRemoveEventHandler (view[curfile], XtAllEvents, False, (XtEventHandler) start_rubberband, NULL); XtRemoveEventHandler (view[curfile], XtAllEvents, False, (XtEventHandler) continue_rubberband, NULL); XtRemoveEventHandler (view[curfile], XtAllEvents, False, (XtEventHandler) end_rubberband, NULL); break; case ZOOM : XtRemoveEventHandler(view[curfile], XtAllEvents, False, (XtEventHandler) start_zoom, NULL); XtRemoveEventHandler(view[curfile], XtAllEvents, False, (XtEventHandler) move_zoom, NULL); XtRemoveCallback(view[curfile], XmNexposeCallback, (XtCallbackProc) handle_zoom_expose, (XtPointer) NULL); break; default : break; } }