⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 popmenu.c~

📁 linux下的人机对话编程
💻 C~
📖 第 1 页 / 共 3 页
字号:
#include<gnome.h>#include"popmenu.h"#include"frame.h"#include"SySInfo.h"#include"sg.h"#include"socket.h"#include"main.h"#define OK 20#define FAIL 21                                                                              int D1=0x8000,D2=0x8010,D3=0x8001,D4=0x8011,D5=0x8002,D6=0x8012,D7=0x8003,D8=0x8013;        int D9=0x8004,D11=0x8005,D13=0x8006,D15=0x8007,D17=0x8008,D19=0x8009;        int X=0x800a,X1=0x8015,X3=0x8016,X4=0x8017,X5=0x8018,XD=0x800b,XTA=0x8019,XDZA=0x801a;       int XLZA=0x801c,SLZA=0x801b,STA=0x801d,S=0x8014,S2=0x800e,S3=0x800c,S4=0x800f,S5=0x800d;GnomeCanvasItem*Item_D1,*Item_D3,*Item_D5,*Item_D7,*Item_D9,*Item_D11,*Item_D13,*Item_D15,*Item_D17,*Item_D19,*Item_D2,*Item_D4,*Item_D6,*Item_D8,*Item_X,*Item_XD,*Item_S;/*闪灯控制开关量*/gboolean  buttonD1=FALSE, buttonD2=FALSE, buttonD3=FALSE, buttonD4=FALSE, buttonD5=FALSE, buttonD6=FALSE, buttonD7=FALSE, buttonD8=FALSE, buttonD9=FALSE, buttonX=FALSE, buttonD11=FALSE, buttonXD=FALSE, buttonD13=FALSE,buttonS=FALSE, buttonD15=FALSE, buttonD17=FALSE, buttonD19=FALSE;/*灯闪烁定时器返回值*/int timer_show_d1, timer_show_d2, timer_show_d3, timer_show_d4, timer_show_d5, timer_show_d6, timer_show_d7, timer_show_d8, timer_show_d9, timer_show_X, timer_show_d11, timer_show_XD, timer_show_d13, timer_show_S, timer_show_d15, timer_show_d17, timer_show_d19;/*灯操作控制量*/gboolean  BD1=FALSE, BD3=FALSE,BD5=FALSE,BD7=FALSE,BD9=FALSE,BD11=FALSE,BD13=FALSE,BD15=FALSE,BD17=FALSE,BD19=FALSE,BD2=FALSE,BD4=FALSE,BD6=FALSE,BD8=FALSE,BDXD=FALSE,BDX=FALSE,BDS=FALSE;/*共同闪灯控制开关量*/ gboolean Flash_D1=FALSE,Flash_D2=FALSE,Flash_D3=FALSE,Flash_D4=FALSE,Flash_D5=FALSE,Flash_D6=FALSE,Flash_D7=FALSE,Flash_D8=FALSE,Flash_D9=FALSE,Flash_X=FALSE,Flash_D11=FALSE,Flash_XD=FALSE,Flash_D13=FALSE,Flash_S=FALSE,Flash_D15=FALSE,Flash_D17=FALSE,Flash_D19=FALSE;/*小按钮控制开关量*/gboolean BS5=FALSE,BS3=FALSE,BS2=FALSE,BS4=FALSE,BX1=FALSE,BX5=FALSE,BX3=FALSE,BX4=FALSE,BXTA=FALSE,BXDZA=FALSE,BSLZA=FALSE,BXLZA=FALSE,BSTA=FALSE;/*小按钮定时器返回量*/ int S5_COR, S3_COR, S2_COR, S4_COR, X1_COR,X5_COR,X4_COR,X1_COR,X3_COR,XTA_COR,XDZA_COR,SLZA_COR,XLZA_COR,STA_COR; int Button1,Button2,M,id; gboolean  rebutton=FALSE;static int Com_Code[5]={0,0,0,0,0};char codstr[100]={};void exchange(int Com_Code[]){  int i;  char cod[100]={};  for(i=0;i<5;i++)    {      snprintf(cod,sizeof(cod),"%d",Com_Code[i]);      strcat(cod," ");     strcat(codstr,cod);    }  if(Main_Cpu==TRUE){socket_com("192.168.1.5",8000,codstr);  }  else if(Bake_Cpu==TRUE){socket_com("192.168.1.5",8010,codstr);  }    else SySInfo(17);  }void Call_B18(){  int i;           Com_Code[0]=0x300e;           Com_Code[1]=0;           Com_Code[2]=0;           Com_Code[3]=0;           Com_Code[4]=1;	   Button1=0;	   Button2=0;	   for(i=0;i<5;i++)	     g_print("Com_Code[%d]=%d\n",i,Com_Code[i]);}void Call_B14(){   int i;           Com_Code[0]=0x3010;           Com_Code[1]=0;           Com_Code[2]=0;           Com_Code[3]=0;           Com_Code[4]=1;           Button1=0;	   Button2=0;	   for(i=0;i<5;i++)	     g_print("Com_Code[%d]=%d\n",i,Com_Code[i]);}void Call_B15(){  int i;           Com_Code[0]=0x3011;           Com_Code[1]=0;           Com_Code[2]=0;           Com_Code[3]=0;           Com_Code[4]=1;           Button1=0;	   Button2=0;	   for(i=0;i<5;i++)	     g_print("Com_Code[%d]=%d\n",i,Com_Code[i]);}void Call_B16(){  int i;           Com_Code[0]=0x300c;           Com_Code[1]=0;           Com_Code[2]=0;           Com_Code[3]=0;           Com_Code[4]=1;           Button1=0;	   Button2=0;	   for(i=0;i<5;i++)	     g_print("Com_Code[%d]=%d\n",i,Com_Code[i]);}void Call_B17(){  int i;          Com_Code[0]=0x3022;           Com_Code[1]=0;           Com_Code[2]=0;           Com_Code[3]=0;           Com_Code[4]=1;           Button1=0;	   Button2=0;	   for(i=0;i<5;i++)	     g_print("Com_Code[%d]=%d\n",i,Com_Code[i]);}void Call_C(int Bt1){  switch(Bt1){  case 0x300e: {           Call_B18();	   break;}case 0x3010: {           Call_B14();	   break;}case 0x3011: {           Call_B15();	   break;}case 0x300c: {           Call_B16();	   break;}case 0x3022: {           Call_B17();	   break;}  default :    break;  }  }void cor_sm(GtkWidget*button){        GdkColor downcolor;	GtkStyle *downstyle;       	gint i;	        downcolor.red=0x0000;	downcolor.green=0x8b00;	downcolor.blue=0x0000;        downstyle=gtk_style_copy(gtk_widget_get_style(button));	for(i=0;i<5;i++)	  downstyle->bg[i]=downcolor;	gtk_widget_set_style(button,downstyle);	}void  Change_SmBu_corS4(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(S4_COR);  BS4=FALSE;}void  Change_SmBu_corS3(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(S3_COR);BS3=FALSE;}void  Change_SmBu_corS5(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(S5_COR);BS5=FALSE;}void  Change_SmBu_corS2(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(S2_COR);  BS2=FALSE;}void  Change_SmBu_corX5(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(X5_COR);BX5=FALSE;}void  Change_SmBu_corX3(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(X3_COR);BX3=FALSE;}void  Change_SmBu_corX1(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(X1_COR);BX1=FALSE;}void  Change_SmBu_corX4(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(X4_COR);BX4=FALSE;}void  Change_SmBu_corXTA(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(XTA_COR);BXTA=FALSE;}void  Change_SmBu_corXDZA(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(XDZA_COR);BXDZA=FALSE;}void  Change_SmBu_corSLZA(GtkButton*button){  cor_sm(button);  gtk_timeout_remove(SLZA_COR);BSLZA=FALSE;}void  Change_SmBu_corXLZA(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(XLZA_COR);BXLZA=FALSE;}void  Change_SmBu_corSTA(GtkWidget*button){  cor_sm(button);  gtk_timeout_remove(STA_COR);BSTA=FALSE;}      gboolean MousePressed(GtkWidget*button,gpointer data){/*响应小按钮操作*/       id=GPOINTER_TO_INT(data);       	GdkColor downcolor;	GtkStyle *downstyle;        gint i;        downcolor.red=0xffff;	downcolor.green=0x0000;	downcolor.blue=0x0000;downstyle=gtk_style_copy(gtk_widget_get_style(button));	for(i=0;i<5;i++)	  downstyle->bg[i]=downcolor;gtk_widget_set_style(button,downstyle);	/*----------------------*/ switch(id)        { case 0x800d:              	    { if(BS5==FALSE)/*此标志为控制按钮只允许一次操作*/                           {                                /*S5*/                 Oprate_Data();                    BS5=TRUE;		 S5_COR=gtk_timeout_add(1000,Change_SmBu_corS5,button);                 break;	      }       	    else  	      break;	    }	case 0x800C:               /*S3*/	   {               if(BS3==FALSE)	     {Oprate_Data();              BS3=TRUE;S3_COR=gtk_timeout_add(10000,Change_SmBu_corS3,button);              break;             }	   else 	     break;	    }	case 0x800E:                    /*S2*/	    { if(BS2==FALSE)              {              Oprate_Data();              BS2=TRUE;S2_COR=gtk_timeout_add(10000,Change_SmBu_corS2,button);              break;	      }	    else	      break;	    }        case 0x800f:	  { if(BS4==FALSE)              /*S4*/	    {              Oprate_Data();	      BS4=TRUE;S4_COR=gtk_timeout_add(10000,Change_SmBu_corS4,button);              break;	    }	  else	    break;	  }        case 0x8018:                    /*X5*/	  {if(BX5==FALSE)	    {              Oprate_Data();	      BX5=TRUE;X5_COR=gtk_timeout_add(10000,Change_SmBu_corX5,button);              break;	    }	  else	    break;	  }        case 0x8016:               /*X3*/	  {if(BX3==FALSE)	    {              Oprate_Data();	      BX5=TRUE;X3_COR=gtk_timeout_add(10000,Change_SmBu_corX3,button);              break;	    }	  else	    break;	    }	case 0x8015:                /*X1*/	   {if(BX1==FALSE)	     {              Oprate_Data();	      BX1=TRUE;X1_COR=gtk_timeout_add(10000,Change_SmBu_corX1,button);              break;	    }	   else	     break;	   }	case 0x8017:                 /*X4*/	   {if(BX4==FALSE)	     {    	      Oprate_Data();	      BX4=TRUE;X4_COR=gtk_timeout_add(10000,Change_SmBu_corX4,button);              break;	    }	   else	     break;	   }	case 0x8019:                 /*XTA*/	   {if(BXTA==FALSE)	     {                	      Oprate_Data();	      BXTA=TRUE;XTA_COR=gtk_timeout_add(10000,Change_SmBu_corXTA,button);              break;	    }	   else	     break;	   } 	case 0x801a:                 /*XDZA*/	   {if(BXDZA==FALSE)	     {               	      Oprate_Data();	      BXDZA=TRUE;XDZA_COR=gtk_timeout_add(10000,Change_SmBu_corXDZA,button);              break;	    }	   else	     break;	   } 	case 0x801b:                 /*SLZA*/	   {if(BSLZA==FALSE)	     {                 	      Oprate_Data();	      BSLZA=TRUE;SLZA_COR=gtk_timeout_add(10000,Change_SmBu_corSLZA,button);              break;	    }	   else	     break;	   } 	case 0x801c:                 /*XLZA*/	   {if(BXLZA==FALSE)	     {              Oprate_Data();	      BXLZA=TRUE;XLZA_COR=gtk_timeout_add(10000,Change_SmBu_corXLZA,button);              break;	    }	   else	     break;	   } 	case 0x801d:                 /*STA*/	   {if(BXTA==FALSE)	     {             	      Oprate_Data();	      BSTA=TRUE;STA_COR=gtk_timeout_add(10000,Change_SmBu_corSTA,button);              break;	    }	   else	     break;	   }	}     return TRUE;}       gint show_D1()/*以下为灯闪烁函数*/{  if(buttonD1==FALSE)   { gnome_canvas_item_hide(Item_D1);     buttonD1=TRUE;   }  else   {gnome_canvas_item_show(Item_D1);     buttonD1=FALSE;   } return 1;}   gint show_D3(){  if(buttonD3==FALSE)   { gnome_canvas_item_hide(Item_D3);     buttonD3=TRUE;   }  else   {gnome_canvas_item_show(Item_D3);     buttonD3=FALSE;   } return 1;}   gint show_D5(){  if(buttonD5==FALSE)   { gnome_canvas_item_hide(Item_D5);     buttonD5=TRUE;   }  else   {gnome_canvas_item_show(Item_D5);     buttonD5=FALSE;   } return 1;}   gint show_D7(){  if(buttonD7==FALSE)   { gnome_canvas_item_hide(Item_D7);     buttonD7=TRUE;   }  else   {gnome_canvas_item_show(Item_D7);     buttonD7=FALSE;   } return 1;}   gint show_D9(){  if(buttonD9==FALSE)   { gnome_canvas_item_hide(Item_D9);     buttonD9=TRUE;   }  else   {gnome_canvas_item_show(Item_D9);     buttonD9=FALSE;   } return 1;}   gint show_D11(){  if(buttonD11==FALSE)   { gnome_canvas_item_hide(Item_D11);     buttonD11=TRUE;   }  else   {gnome_canvas_item_show(Item_D11);     buttonD11=FALSE;   } return 1;}   gint show_D13(){  if(buttonD13==FALSE)   { gnome_canvas_item_hide(Item_D13);     buttonD13=TRUE;   }  else   {gnome_canvas_item_show(Item_D13);     buttonD13=FALSE;   } return 1;}   gint show_D15(){  if(buttonD15==FALSE)   { gnome_canvas_item_hide(Item_D15);     buttonD15=TRUE;   }  else   {gnome_canvas_item_show(Item_D15);     buttonD15=FALSE;   } return 1;}   gint show_D17(){  if(buttonD17==FALSE)   { gnome_canvas_item_hide(Item_D17);     buttonD17=TRUE;   }  else   {gnome_canvas_item_show(Item_D17);     buttonD17=FALSE;   } return 1;}   gint show_D19(){  if(buttonD19==FALSE)   { gnome_canvas_item_hide(Item_D19);     buttonD19=TRUE;   }  else   {gnome_canvas_item_show(Item_D19);     buttonD19=FALSE;   } return 1;}   gint show_D2(){  if(buttonD2==FALSE)   { gnome_canvas_item_hide(Item_D2);     buttonD2=TRUE;   }  else   {gnome_canvas_item_show(Item_D2);     buttonD2=FALSE;   } return 1;}   gint show_D4(){  if(buttonD4==FALSE)   { gnome_canvas_item_hide(Item_D4);     buttonD4=TRUE;   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -