VOID ted_get(LONG taddr, BYTE *tmplt, BYTE *valid, BYTE *text) { WORD imap, itmp; if (tmplt[0] == '@') tmplt[0] = '\0'; else { for (imap = itmp = 0; tmplt[itmp]; itmp++) if (tmplt[itmp] == '~') { tmplt[itmp] = '_'; valid[imap] = valid[itmp]; text[imap] = text[itmp]; imap++; } valid[imap] = text[imap] = '\0'; } if (valid[0] == '@') valid[0] = '\0'; /* if (text[0] == '@') text[0] = '\0'; allow null string as space holder */ update_if(TE_PTMPLT(taddr), tmplt); update_if(TE_PVALID(taddr), valid); update_if(TE_PTEXT(taddr), text); LWSET(TE_TMPLEN(taddr), strlen(tmplt) + 1); LWSET(TE_TXTLEN(taddr), strlen(text) + 1); }
void set_comp_amps(QSP_ARG_DECL float *amps) { int i; float minc; if( n_comps < 0 ){ NWARN("must specify number of components"); return; } /* set up multipliers */ minc = (float)(2.0 / ((float)lvls_per_comp-1.0)); mult[0] = (float)-1.0; for(i=1;i<lvls_per_comp;i++) mult[i] = mult[i-1] + minc; amplist = amps; /* count base n */ push_cm_state(); CLR_CM_STATE(IMMEDIATE); count(QSP_ARG n_comps-1,base_index); pop_cm_state(); update_if(); }
VOID icon_get(LONG taddr, BYTE *text, BYTE *chr) { if (text[0] == '@') text[0] = '\0'; update_if(IB_PTEXT(taddr), text); if (chr[0] == '@') chr[0] = '\0'; LWSET(IB_CHAR(taddr), LWGET((IB_CHAR(taddr)) & 0xff00) | (UWORD) chr[0]); }
VOID edit_str(LONG tree, WORD sobj) { LONG obspec; WORD where, type, exitobj, ok; GRECT p; WORD min_width, neww, len; BYTE text[73], name[9]; get_fields(tree, sobj, &type, &obspec, &p); len = (WORD)LSTRLEN(LLGET(obspec)); if (len <= 72) { ini_tree(&tree, STRDIAL); where = set_obname(tree, STRNAME, name, ad_view, sobj); set_text(tree, OSTRITEM, (LONG)ADDR(&text[0]), 73); LLSTRCPY(LLGET(obspec), (LONG)ADDR(&text[0])); if ( rcs_state == ALRT_STATE ) hide_obj( tree, STRNAME); if (!text[0]) text[0] = '@'; do { exitobj = hndl_dial(tree, OSTRITEM, &p); desel_obj(tree, exitobj); ok = DEFAULT & GET_FLAGS(tree, exitobj); } while ( ok && !name_ok(name, where, TRUE)); if (ok) { rcs_edited = TRUE; get_obname(name, ad_view, sobj); if (text[0] == '@') text[0] = '\0'; if (rcs_state == ALRT_STATE) { if (strlen(text) > 40 ) { hndl_alert(1, string_addr(STOOLONG)); text[40] = '\0'; } update_if(obspec, &text[0]); fix_alert(ad_view); unhide_obj(tree, STRNAME); } else { neww = (WORD)(gl_wchar * strlen(text)); if (rcs_state == MENU_STATE) { if (type == G_TITLE) { if (!newsize_obj(ad_view, sobj, neww,gl_hchar, TRUE)) text[len] = '\0'; fix_menu_bar(ad_view); } else if (in_which_menu(ad_view, sobj) == 1 && in_menu(ad_view, sobj) == 1 && strlen(text) > 20 ) { hndl_alert(1, string_addr(STOOLONG)); text[20] = '\0'; } else if(!newsize_obj(ad_view, sobj, neww,gl_hchar, FALSE)) text[len] = '\0'; } else if (type == G_STRING || type == G_BUTTON ) { min_width = GET_WIDTH(ad_view, sobj); if( neww > min_width ) if(!newsize_obj(ad_view, sobj, neww,gl_hchar, FALSE)) text[len] = '\0'; } } if( rcs_state != ALRT_STATE) update_if(obspec, &text[0]); } } }