Exemple #1
0
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);
}
Exemple #2
0
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();
}
Exemple #3
0
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]);
} 
Exemple #4
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]);
		}
	}
}