static void NEGetValue(Widget wid, int resource_offset, XtArgVal *value) { *value = (XtArgVal)XmTextFieldGetString(NumEntry_TextField(wid)); #ifdef DEBUG printf("NumEntry - NEGetValue(%s) - >%s< >%s<\n", XtName(wid), *value, NumEntry_Value(wid)); #endif }
static void destroy(Widget aw) { #ifdef DEBUG printf("NumEntry - destroy(%s)\n", XtName(aw)); #endif XtFree(NumEntry_Value(aw)); }
void pb_activate_callback(Widget w, XtPointer clientData, XtPointer callData) { unsigned char x; XtVaGetValues(XtParent(w), XmNpacking, &x, NULL); fprintf(stderr, "* Widget = %s - Activated\n", XtName(w)); fprintf(stderr, "# RC Packing is %d\n", x); }
void XltHostSendString(Widget w, String string) { #ifdef DEBUG printf("XltHostSendString(%s,%s)\n", XtName(w), string); #endif XltHostSendData(w, string, strlen(string)); XltHostSendData(w, Host_Terminator(w), strlen(Host_Terminator(w))); }
static void save_state( Widget w, XtPointer client_data, XtPointer call_data) { Widget topl = (Widget) client_data; XmFileSelectionBoxCallbackStruct *cbs = (XmFileSelectionBoxCallbackStruct *) call_data; FILE *fp; time_t daytime = time(NULL); struct passwd *pwp; String str1, str2; Position x, y, x_off, y_off; Dimension width, height; String topl_name; SaveRestoreList *svl=save_list; /* get the resource file */ if( (fp = HGU_XmGetFilePointer( w, cbs->value, cbs->dir, "w" )) == NULL ) return; str1 = ctime( (const time_t *) &daytime ); pwp = getpwuid( getuid() ); str2 = pwp->pw_gecos; fprintf(fp, "!\n! saved state resource file from %s\n", argv_0); fprintf(fp, "! date: %s! user: %s\n!\n", str1, str2); /* no \n after date: because ctime includes the \n */ /* save top-level geometry */ topl_name = XtName( topl ); XtVaGetValues(topl, XmNx, &x, XmNy, &y, XmNwidth, &width, XmNheight, &height, NULL); HGU_XmGetShellOffsets( topl, &x_off, &y_off ); fprintf(fp, "!\n! top-level widget geometry\n!\n"); fprintf(fp, "%s.x: \t%d\n", topl_name, x - x_off); fprintf(fp, "%s.y: \t%d\n", topl_name, y - y_off); fprintf(fp, "%s.width: \t%d\n", topl_name, width); fprintf(fp, "%s.height: \t%d\n", topl_name, height); fprintf(fp, "%s.geometry:\t%dx%d+%d+%d\n", topl_name, width, height, x-5, y-21); /* call registered save_state procedures */ while( svl != NULL ){ if( svl->save_func != NULL ) (*svl->save_func)( svl->widget, svl->save_data, fp ); else (*default_save_func)( svl->widget, default_save_data, fp ); svl = svl->next_data; } fclose( fp ); }
static void FPGetValue(Widget wid, int resource_offset, XtArgVal *value) { *value = (XtArgVal)XmTextFieldGetString(FilePicker_TextField(wid)); #ifdef DEBUG printf("%s:FPGetValue(%d) - %s\n", __FILE__, __LINE__, XtName(wid)); #endif }
XmNavigability MyManagerNavigable(Widget wid) { // We've installed this function for Manager // with the name ScrollPaneManagerName if (XmIsManager(wid) && ( XtName(wid) != NULL && strcmp(XtName(wid), ScrollPaneManagerName) == 0) ) { // To be able to request focus on Manager by call // XmProcessTraversal(, XmTRAVERSE_CURRENT) we need to make // it return XmCONTROL_NAVIGABLE. Default implementation returns // DESCENDANTS_TAB_NAVIGABLE which doesn't allow this. return XmCONTROL_NAVIGABLE; } if (oldManagerNavigable) { return oldManagerNavigable(wid); } // this will never happen return XmCONTROL_NAVIGABLE; }
/*----------------------------------------------------------------------*/ static void ActionPopup(Widget item,XEvent * event,char ** params,Cardinal * nparams) { Widget w = XfeIsComboBox(item) ? item : _XfeParent(item); XfeComboBoxPart * cp = _XfeComboBoxPart(w); int space_below = ScreenGetSpaceBelow(w); int space_above = ScreenGetSpaceAbove(w); #if 1 printf("ActionPopup(%s,above = %d,below = %d)\n", XtName(w), space_above, space_below); #endif /* Check if we are already popped up */ if (cp->popped_up) { printf("already popped up\n"); StickRemoveTimeout(w); ListUnmanage(w); XtVaSetValues(cp->arrow,XmNarmed,False,NULL); return; } space_below = 200; _XfeConfigureWidget(cp->shell, XfeRootX(w), XfeRootY(w) + _XfeHeight(w), _XfeWidth(w), space_below); /* XtVaSetValues(cp->list, */ /* XmNlistMarginWidth, 100, */ /* NULL); */ /* XtVaSetValues(cp->arrow,XmCArmed,True,NULL); */ /* XtPopup(cp->shell,XtGrabNone); */ /* XMapRaised(XtDisplay(w),_XfeWindow(cp->shell)); */ /* XMapRaised(XtDisplay(w),_XfeWindow(cp->shell)); */ cp->remain_popped_up = False; #if 1 StickAddTimeout(w); #endif XtVaSetValues(cp->arrow,XmNarmed,True,NULL); ListManage(w); }
/* * Function: * XawSmeBSBDestroy * * Parameters: * w - simple menu widget entry */ static void XawSmeBSBDestroy(Widget w) { SmeBSBObject entry = (SmeBSBObject)w; DestroyGCs(w); if (entry->sme_bsb.label != XtName(w)) XtFree(entry->sme_bsb.label); }
/*-------------------------------------------------------------------------*/ static void set_StrListField( Widget w, XtPointer address, XrmQuark type, Cardinal size ) { lList *list = NULL; String str = NULL; static char buf[100 * BUFSIZ]; lListElem *ep = NULL; /* * Here special Qmon Quarks are used. Does it work ? */ if (type != QmonQENV_Type && type != QmonQST_Type && type != QmonQRN_Type && type != QmonQTRN_Type && type != QmonQPN_Type && type != QmonQMR_Type && type != QmonQQR_Type && type != QmonQJRE_Type && type != QmonQCTX_Type && type != QmonQPE_Type && type != QmonQARA_Type) { XmtWarningMsg("XmtDialogSetDialogValues", "StrListField", "Type Mismatch: Widget '%s':\n\tCan't set widget values" " from a resource of type '%s'.", XtName(w), XrmQuarkToString(type)); return; } buf[0] = '\0'; if (size == sizeof(lList*) || size == sizeof(String)) { if (type == QmonQPE_Type) str = *(String*) address; else list = *(lList**) address; } else return; if (type == QmonQENV_Type || type == QmonQCTX_Type) { str = write_pair_list(list, VARIABLE_TYPE); } if (type == QmonQST_Type) { int first_time = 1; strcpy(buf, ""); for_each(ep, list) { if (first_time) { strcpy(buf, lGetString(ep, ST_name)); first_time = 0; } else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %s", lGetString(ep, ST_name)); } str = buf; }
/*-------------------------------------------------------------------------*/ static void qmonManopFolderChange(Widget w, XtPointer cld, XtPointer cad) { lList *alp = NULL; XmTabCallbackStruct *cbs = (XmTabCallbackStruct *) cad; DENTER(GUI_LAYER, "qmonManopFolderChange"); DPRINTF(("%s\n", XtName(cbs->tab_child))); if (!strcmp(XtName(cbs->tab_child), "manager_layout")) dialog_mode = SGE_UM_LIST; if (!strcmp(XtName(cbs->tab_child), "operator_layout")) dialog_mode = SGE_UO_LIST; if (!strcmp(XtName(cbs->tab_child), "user_layout")) dialog_mode = SGE_UU_LIST; if (!strcmp(XtName(cbs->tab_child), "userset_layout")) dialog_mode = SGE_US_LIST; /* ** fetch changed lists and update dialogues */ qmonMirrorMultiAnswer(MANAGER_T | OPERATOR_T | USERSET_T | USER_T, &alp); if (alp) { qmonMessageBox(w, alp, 0); lFreeList(&alp); DEXIT; return; } updateManopList(); /* ** set Modify button sensitivity */ if (dialog_mode==SGE_US_LIST) { XtSetSensitive(manop_modify, True); } else { XtSetSensitive(manop_modify, False); } DEXIT; }
void unexpected_widget_in_callback(Widget w, const char *callback) { ASSERT(w != NULL, "Widget mustn't be NULL!"); popup_message(globals.widgets.top_level, MSG_ERR, REPORT_XDVI_BUG_TEMPLATE, "Unexpected widget `%s' in callback `%s'", XtName(w), callback); }
static void LosingFocus(Widget W, XtPointer client_data, XtPointer call_data) { #ifdef DEBUG printf("NumEntry - LosingFocus(%s) - >%s<\n", XtName(W), NumEntry_Value(XtParent(W))); #endif AutoRepeat(W, False); DoMath(XtParent(W)); XtCallCallbacks(XtParent(W), XmNlosingFocusCallback, call_data); }
static void NEGetColumns(Widget wid, int resource_offset, XtArgVal *value) { XtVaGetValues(NumEntry_TextField(wid), XmNcolumns, value, NULL); #ifdef DEBUG printf("NumEntry - NEGetColumns(%s)\n", XtName(wid)); #endif }
static void ValueChange(Widget w, XtPointer client_data, XltNumEntryVerifyCallbackStruct *cbs) { char buf[1024]; sprintf(buf,"%09.4f", cbs->dvalue); XtFree(cbs->value); cbs->value = XtNewString(buf); printf("ValueChange(%s) - %s %s\n", XtName(w), cbs->value, cbs->value); }
/* internal function used by the library dependent implementation to get the widget_value for a given widget in an instance */ widget_value* lw_get_widget_value_for_widget (widget_instance *instance, Widget w) { char* name = XtName (w); widget_value* cur; for (cur = instance->info->val; cur; cur = cur->next) if (!strcmp (cur->name, name)) return cur; return NULL; }
/* Get mark line number */ #ifdef WSDEBUG_TRACE if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) wstrace("workshop_get_mark_lineno(%s, %d)\n", filename, markId); #endif lineno = 0; buf = buflist_findname((char_u *)filename); if (buf != NULL) lineno = buf_findsign(buf, markId); return lineno; } #if 0 /* not used */ void workshop_adjust_marks(Widget *window, int pos, int inserted, int deleted) { #ifdef WSDEBUG_TRACE if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) wstrace("XXXworkshop_adjust_marks(%s, %d, %d, %d)\n", window ? XtName(window) : "<None>", pos, inserted, deleted); #endif }
static void just_select(Widget w, XtPointer new_just, XtPointer garbage) { FirstArg(XtNlabel, XtName(w)); SetValues(print_just_panel); /* change export justification if it exists */ if (export_just_panel) SetValues(export_just_panel); appres.flushleft = (new_just? True: False); }
static void dump_box(XmKidGeometry box) { if (!box) return; while (box->kid) { printf(" KID %s REQ %08x X %-5d Y %-5d W %-5d H %-5d B %-5d\n", XtName(box->kid), box->box.request_mode, box->box.x, box->box.y, box->box.width, box->box.height, box->box.border_width); box++; } }
static void ShapeError(Widget w) { String params[1]; Cardinal num_params = 1; params[0] = XtName(w); XtAppWarningMsg(XtWidgetToApplicationContext(w), "shapeUnknown", "xmuReshapeWidget", "XmuLibrary", "Unsupported shape style for Command widget \"%s\"", params, &num_params); }
void entry_cb( Widget w, XtPointer client_data, XtPointer call_data ) { int* val = (int*) client_data ; XmRowColumnCallbackStruct * cbs = (XmRowColumnCallbackStruct *) call_data ; printf("%d: %s\n", (*val), XtName(w) ); if ( cbs->reason != XmCR_ACTIVATE ) { printf( "Unexpected callback reason %d\n", cbs->reason ); return ; } printf( " Selected : %s\n", XtName( cbs->widget ) ); }
static void StepValue(Widget W, int a, int b) { Widget Rc = XtParent(XtParent(W)); Position Place; char *buf; #ifdef DEBUG printf("NumEntry - StepValue(%s) - %s\n", XtName(W), XtName(Rc)); #endif buf = XmTextFieldGetString(NumEntry_TextField(Rc)); Place = XmTextFieldGetInsertionPosition(NumEntry_TextField(Rc)); if (buf[Place] != '.') { buf = IncDigit(buf, &Place, a); XmTextFieldSetString(NumEntry_TextField(Rc), buf); XmTextFieldSetInsertionPosition(NumEntry_TextField(Rc), Place); DoMath(Rc); } XtFree(buf); }
/*----------------------------------------------------------------------*/ static void BufferAllocate(Widget w) { assert( _XfeBufferType(w) != XmBUFFER_NONE ); switch(_XfeBufferType(w)) { /* Single buffer: allocate a buffer big enough for widget */ case XmBUFFER_PRIVATE: _XfeBufferPixmap(w) = XCreatePixmap(XtDisplay(w), DefaultRootWindow(XtDisplay(w)), _XfeWidth(w), _XfeHeight(w), _XfeDepth(w)); #if 0 printf("%s: Allocating a private buffer at (%d,%d)\n", XtName(w), _XfeWidth(w),_XfeHeight(w)); #endif break; /* Multiple buffer: ask the buffer manager for a buffer */ case XmBUFFER_SHARED: #if 0 printf("%s: Allocating a shared buffer at (%d,%d)\n", XtName(w), _XfeWidth(w),_XfeHeight(w)); #endif _XfeBufferPixmap(w) = _XfePixmapBufferAllocate(w); break; } }
/* * Callback for cancel button in choice_dialog. */ static void cancel_action(Widget w, XtPointer client_data, XtPointer call_data) { XtPointer p; ptrdiff_t idx = -1; UNUSED(call_data); #if MOTIF /* for motif, the index is in XmNuserData */ UNUSED(client_data); if (strcmp(XtName(w), Xdvi_MESSAGE_SHELL_NAME) == 0) { /* invoked by the WM, get the messagebox child */ Widget child; if (get_widget_by_name(&child, w, Xdvi_MESSAGE_DIALOG_NAME, True)) { XtVaGetValues(child, XmNuserData, &p, NULL); idx = (ptrdiff_t)p; } } else { XtVaGetValues(w, XmNuserData, &p, NULL); idx = (ptrdiff_t)p; } ASSERT(idx >= 0, "Couldn't get idx from XmNuserData!"); #else UNUSED(p); UNUSED(w); idx = (ptrdiff_t)client_data; #endif ASSERT(idx >= 0 && idx < MAX_POPUPS, "Invalid widget index in cancel_action()"); /* First call pre_message_cb with window widget ID * as additional parameter. */ if (pre_callbacks[idx].callback != NULL) { pre_callbacks[idx].callback(popup_window[idx], pre_callbacks[idx].arg); } /* Then pop down window and mark its position as free, then * invoke the OK callback. The reason for this is that the callback * may need to wait for open windows. */ XtPopdown(popup_window[idx]); XtDestroyWidget(popup_window[idx]); g_popup_array[idx] = 0; XSync(DISP, True); /* invoke the callback if present */ if (cancel_callbacks[idx].callback != NULL) { cancel_callbacks[idx].callback(cancel_callbacks[idx].arg); } }
/*----------------------------------------------------------------------*/ static void ArrowActivateCB(Widget text,XtPointer client_data,XtPointer call_data) { Widget w = (Widget) client_data; XfeComboBoxPart * cp = _XfeComboBoxPart(w); #if 0 printf("ArrowActivate(%s)\n",XtName(w)); #endif /* cp->remain_popped_up = True; */ }
/*-------------------------------------------------------------------------*/ static void TraceActions( Widget w, XtPointer cld, String action_name, XEvent *event, String *params, Cardinal *num_params ) { DENTER(GUI_LAYER, "TraceActions"); fprintf(stderr, "Widget: %20.20s Action: %s\n", XtName(w), action_name); DEXIT; }
/*----------------------------------------------------------------------*/ static void StickTimeout(XtPointer client_data,XtIntervalId * id) { Widget w = (Widget) client_data; XfeComboBoxPart * cp = _XfeComboBoxPart(w); cp->delay_timer_id = 0; cp->remain_popped_up = True; #if 1 printf("StickTimeout(%s)\n",XtName(w)); #endif }
static void gui_buttons_cb(Widget w, XtPointer client_data, XtPointer call_data) { struct topic_info *info = (struct topic_info *)client_data; struct prefs_choice *prefs = (struct prefs_choice *)(info->data); char *name = XtName(w); UNUSED(call_data); if (strcmp(name, Xdvi_GUI_STATUSLINE_STR) == 0) { resource.expert_mode ^= XPRT_SHOW_STATUSLINE; toggle_statusline(); update_expert_mode(); } else if (strcmp(name, Xdvi_GUI_TOOLBAR_STR) == 0) { resource.expert_mode ^= XPRT_SHOW_TOOLBAR; toggle_toolbar(); update_expert_mode(); } else if (strcmp(name, Xdvi_GUI_PAGELIST_STR) == 0) { resource.expert_mode ^= XPRT_SHOW_PAGELIST; toggle_pagelist(); update_expert_mode(); } else if (strcmp(name, Xdvi_GUI_SCROLLBARS_STR) == 0) { #if defined(LESSTIF_VERSION) static Boolean warned_about_lesstif = False; #endif resource.expert_mode ^= XPRT_SHOW_SCROLLBARS; toggle_scrollbars(); update_expert_mode(); #if defined(LESSTIF_VERSION) if (!warned_about_lesstif) { warned_about_lesstif = True; popup_message(globals.widgets.top_level, MSG_INFO, NULL, "This version has been compiled with LessTif; " "toggling the scrollbars won't work with LessTif."); } #endif } else { popup_message(globals.widgets.top_level, MSG_ERR, REPORT_XDVI_BUG_TEMPLATE, "Unexpected label in gui buttons: |%s|!\n", name); } store_preference(&(prefs->db), "expertMode", "%d", resource.expert_mode); }
static void secondary_object_create(Widget req, Widget new_w, ArgList args, Cardinal *num_args) { XmBaseClassExt *bce; Arg argl[1]; ArgList merged; DEBUGOUT(_LtDebug(__FILE__, new_w, "XmGadget secondary_object_create\n")); XtSetArg(argl[0], XmNlogicalParent, new_w); if (*num_args) { merged = XtMergeArgLists(args, *num_args, argl, XtNumber(argl)); bce = _XmGetBaseClassExtPtr(XtClass(new_w), XmQmotif); XtCreateWidget(XtName(new_w), (*bce)->secondaryObjectClass, XtParent(new_w) ? XtParent(new_w) : new_w, merged, *num_args + 1); XtFree((char *)merged); } else { bce = _XmGetBaseClassExtPtr(XtClass(new_w), XmQmotif); XtCreateWidget(XtName(new_w), (*bce)->secondaryObjectClass, XtParent(new_w) ? XtParent(new_w) : new_w, argl, 1); } }
void h_update_hyperlinks(Widget w, Pixel pix) { const char *name = XtName(w); int type = 0; if (strcmp(name, Xdvi_UNVISITED_LINKS_BTN) == 0) { type = 1; } else if (strcmp(name, Xdvi_VISITED_LINKS_BTN) == 0) { type = 2; } /* fprintf(stderr, "WIDGET: |%s|; type: %d\n", name, type); */ if (type != 0) { GC new_gc = set_or_make_gc(NULL, GXcopy, pix, resource.back_Pixel); GC old_gc; double r, g, b; double factor = 65535.0; XColor color; pixel_to_color(pix, &color, DISP, G_colormap); r = color.red / factor; g = color.green / factor; b = color.blue / factor; if (type == 1) { old_gc = globals.gc.linkcolor; sprintf(g_link_color_rgb, "push rgb %.2f %.2f %.2f", r, g, b); } else { old_gc = globals.gc.visited_linkcolor; sprintf(g_visited_link_color_rgb, "push rgb %.2f %.2f %.2f", r, g, b); } if (type == 1) { globals.gc.linkcolor = new_gc; XFreeGC(XtDisplay(w), old_gc); } else { globals.gc.visited_linkcolor = new_gc; XFreeGC(XtDisplay(w), old_gc); } /* update display */ globals.ev.flags |= EV_NEWPAGE; XFlush(DISP); } }