Beispiel #1
0
static void edit_ok(int msg)
{
	if(item<=envs_local)
	{
	strcpy(myline,envp_local[item-1]);
	if(menu[item].arg)free(menu[item].arg);
	__cprint(INFO_Y,0,INFO_W,0x7,myline);
	edit_cmdline1(myline);
	__cprint(INFO_Y,0,INFO_W,0x70,myline);
	envp_local[item-1]=menu[item].arg=malloc(strlen(myline)+1);
	strcpy(menu[item].arg,myline);
	selectitem();
	}
	else if(item<items_edit) //run
	{
	 if(msg=='e')
	 {
	strcpy(myline,menu[item].arg);
	free(menu[item].arg);
	__cprint(INFO_Y,0,INFO_W,0x7,myline);
	edit_cmdline2(myline);
	menu[item].arg=malloc(strlen(myline)+1);
	strcpy(menu[item].arg,myline);
	__cprint(INFO_Y,0,INFO_W,0x70,expand(menu[item].arg));
	 }
	 else
	 {
	__popdown(POP_Y,POP_X,POP_H,popwidth);
		do_cmd(expand(menu[item].arg));
	__popup(POP_Y,POP_X,POP_H,popwidth);
	printmenu();
	 }
	}
}
Beispiel #2
0
static void popupfb(int y, int x,int height,int width)
{
video_cls();
#if 0
  for(;height;height--,y++)
	__cprint(y,x,width,0x17,0);
	__cprint(INFO_Y,0,80,0x70,0);
#endif
}
Beispiel #3
0
Datei: test.c Projekt: kisom/pmon
static int pause()
{
char cmd[20];
struct termio tbuf;
printf("\n");
__cprint(INFO_Y,0,INFO_W,0x70,"press enter to continue");
ioctl (STDIN, SETNCNE, &tbuf);
gets(cmd);
ioctl (STDIN, TCSETAW, &tbuf);
__cprint(INFO_Y,0,INFO_W,0x7,0);
return 0;
}
Beispiel #4
0
static int default_update(void)
{
	switch(menu[item].type)
	{
	case TYPE_CMD:
	   getItemCmd(menu[item].msg);
	   __cprint(menu[item].y,menu[item].x,popwidth,0x17,expand(ItemName));
	 default:
	   __cprint(menu[item].y,menu[item].x,popwidth,0x17,expand(getItemName(menu[item].msg)));break;
	}
	return 1;
}
Beispiel #5
0
static int edit_update(void)
{
	   if(item>0 && item<=envs_local)
		{
			 __cprint(menu[item].y,menu[item].x,popwidth,0x17,envp_local[item-1]);
		}
		else if(item>envs_local && item<items_edit)
		{
		 char *p;
		 p=strchr(menu[item].msg,'=');
		 *p=0;
	     __cprint(menu[item].y,menu[item].x,popwidth,0x17,expand(menu[item].msg));
		 *p='=';
		}
	   else __cprint(menu[item].y,menu[item].x,popwidth,0x17,expand(getItemName(menu[item].msg)));
return 1;
}
Beispiel #6
0
static int edit_digital(int msg)
{
char *p;

 if(ischoice(menu[item].msg))
 {
	p=getchoice(menu[item].msg,msg-'0');
	if(p)strcpy(strchr(envp_local[item-1],'=')+1,p);
    __cprint(menu[item].y,menu[item].x,popwidth,0x70,envp_local[item-1]);
 }
return 1;
}
Beispiel #7
0
static int default_update1(void)
{
char *str=myline;
char *cmd;
	switch(menu[item].type)
	{
	 case TYPE_CMD:
	   cmd=getItemCmd(menu[item].msg);
	   __cprint(menu[item].y,menu[item].x,popwidth,0x70,expand(ItemName));
       if(ischoice(menu[item].msg))
       {
		int i;
		str=myline;
		for(i=1;i<=9;i++)
		{
		cmd=getchoice(menu[item].msg,i);
		if(!cmd)break;
		getItemCmd(cmd);
		str +=sprintf(str,"%d:%s ",i,expand(ItemName));
		}
		str=myline;
	   __cprint(INFO_Y,0,INFO_W,0x70,str);
       }
       else
       {
		cmd=getItemCmd(cmd);
	   __cprint(INFO_Y,0,INFO_W,0x70,expand(ItemName));
       }
      break;

	 default:
	   __cprint(menu[item].y,menu[item].x,popwidth,0x70,expand(getItemName(menu[item].msg)));
	   __cprint(INFO_Y,0,INFO_W,0x70,0);
        break;
	}

	return 1;
}
Beispiel #8
0
static int edit_update1(void)
{
char *p;
char *penv=0;
	if(item>0 && item<=envs_local)
	{
			 __cprint(menu[item].y,menu[item].x,popwidth,0x70,envp_local[item-1]);
	}
	else if(item<items_edit)
	{
	 char *p;
	 p=strchr(menu[item].msg,'=');
	 *p=0;
	 __cprint(menu[item].y,menu[item].x,popwidth,0x70,expand(menu[item].msg));
	 *p='=';
	}
	else __cprint(menu[item].y,menu[item].x,popwidth,0x70,menu[item].msg);
	
	if(menu[item].type==TYPE_CHOICE)
	{
	int i;
	penv=myline;
	for(i=1;i<=9;i++)
	{
	p=getchoice(menu[item].msg,i);
	if(!p)break;
	penv +=sprintf(penv,"%d:%s ",i,p);
	}
	penv=myline;
	}
	else if(item<=envs_local) penv=envp_local[item-1];
	else if(item<items_edit) penv=expand(menu[item].arg);
	else penv=0;
	 __cprint(INFO_Y,0,INFO_W,0x70,penv);
	return 1;
}