📄 popmenu.c
字号:
{ 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; } else {gnome_canvas_item_show(Item_D4); buttonD4=FALSE; } return 1;} gint show_D6(){ if(buttonD6==FALSE) { gnome_canvas_item_hide(Item_D6); buttonD6=TRUE; } else {gnome_canvas_item_show(Item_D6); buttonD6=FALSE; } return 1;} gint show_D8(){ if(buttonD8==FALSE) { gnome_canvas_item_hide(Item_D8); buttonD8=TRUE; } else {gnome_canvas_item_show(Item_D8); buttonD8=FALSE; } return 1;} gint show_X(){ if(buttonX==FALSE) { gnome_canvas_item_hide(Item_X); buttonX=TRUE; } else {gnome_canvas_item_show(Item_X); buttonX=FALSE; } return 1;} gint show_XD(){ if(buttonXD==FALSE) { gnome_canvas_item_hide(Item_XD); buttonXD=TRUE; } else {gnome_canvas_item_show(Item_XD); buttonXD=FALSE; } return 1;} gint show_S(){ if(buttonS==FALSE) { gnome_canvas_item_hide(Item_S); buttonS=TRUE; } else {gnome_canvas_item_show(Item_S); buttonS=FALSE; } return 1;} gboolean PressedLamp(GtkWidget*widget,GdkEvent*event,gpointer data)/*响应信号灯操作*/{ gint timer_show,i; id=GPOINTER_TO_INT(data); if(event->type==GDK_BUTTON_PRESS) { GdkEventButton*buttonevent=(GdkEventButton*)event; if(buttonevent->button==1) { switch(id) { case 0x8000: { if(BD1==FALSE)/*此标志为控制灯只允许一次操作*/ { Item_D1=widget; timer_show=gtk_timeout_add(1000,show_D1,NULL); Oprate_Data(); BD1=TRUE; break; } else break; } case 0x8001: { if(BD3==FALSE) { Item_D3=widget; timer_show=gtk_timeout_add(1000,show_D3,NULL); Oprate_Data(); BD3=TRUE; break; } else break; } case 0x8002: { if(BD5==FALSE) { Item_D5=widget; timer_show=gtk_timeout_add(1000,show_D5,NULL); Oprate_Data(); BD5=TRUE; break; } else break; } case 0x8003: { if(BD7==FALSE) { Item_D7=widget; timer_show=gtk_timeout_add(1000,show_D7,NULL); Oprate_Data(); BD7=TRUE; break; } else break; } case 0x8004: {if(BD9==FALSE) { Item_D9=widget; timer_show=gtk_timeout_add(1000,show_D9,NULL); Oprate_Data(); BD9=TRUE; break; } else break; } case 0x8005: {if(BD11==FALSE) { Item_D11=widget; timer_show=gtk_timeout_add(1000,show_D11,NULL); Oprate_Data(); BD11=TRUE; break; } else break; } case 0x8006: {if(BD13==FALSE) { Item_D13=widget; timer_show=gtk_timeout_add(1000,show_D13,NULL); Oprate_Data(); BD13=TRUE; break; } else break; } case 0x8007: {if(BD15==FALSE) { Item_D15=widget; timer_show=gtk_timeout_add(1000,show_D15,NULL); Oprate_Data(); BD15=TRUE; break; } else break; } case 0x8008: {if(BD17==FALSE) { Item_D17=widget; timer_show=gtk_timeout_add(1000,show_D17,NULL); Oprate_Data(); BD17=TRUE; break; } else break; } case 0x8009: {if(BD19==FALSE) { Item_D19=widget; timer_show=gtk_timeout_add(1000,show_D19,NULL); Oprate_Data(); BD19=TRUE; break; } else break; } case 0x800a: {if(BDX==FALSE) { Item_X=widget; timer_show=gtk_timeout_add(1000,show_X,NULL); Oprate_Data(); BDX=TRUE; break; } else break; } case 0x800b: {if(BDXD==FALSE) { Item_XD=widget; timer_show=gtk_timeout_add(1000,show_XD,NULL); Oprate_Data(); BDXD=TRUE; break; } else break; } case 0x8010: {if(BD2==FALSE) { Item_D2=widget; timer_show=gtk_timeout_add(1000,show_D2,NULL); Oprate_Data(); BD2=TRUE; break; } else break; } case 0x8011: {if(BD4==FALSE) { Item_D4=widget; timer_show=gtk_timeout_add(1000,show_D4,NULL); Oprate_Data(); BD4=TRUE; break; } else break; } case 0x8012: {if(BD6==FALSE) { Item_D6=widget; timer_show=gtk_timeout_add(1000,show_D6,NULL); Oprate_Data(); BD6=TRUE; break; } else break; } case 0x8013: {if(BD8==FALSE) { Item_D8=widget; timer_show=gtk_timeout_add(1000,show_D8,NULL); Oprate_Data(); BD8=TRUE; break; } else break; } case 0x8014: {if(BDS==FALSE) { Item_S=widget; timer_show=gtk_timeout_add(1000,show_S,NULL); Oprate_Data(); BDS=TRUE; break; } else break; } default: break; } } } } int Oprate_Data(){/*处理灯\小按钮\功能按钮函数*/ if(rebutton==FALSE) {int i; for(i=0;i<5;i++) Com_Code[i]=0; Button1=id; rebutton=TRUE; /*rebutton控制当按下时ID号传递到Button1还是Button2*/ if((Button1==0x300e)||(Button1==0x3010)||(Button1==0x3011)||(Button1==0x300d)||(Button1==0x300f)) Call_C(Button1); } else{ Button2=id; rebutton=FALSE; } if((Button1!=0)&&(Button2!=0)) { if((Button1>=0x8000)&&(Button1<=0x8018)) Call_A(); else if((Button1>=0x3001)&&(Button1<=0x3025)) Call_B(); else {} }} void Call_A(){int i; if((Button2>=0x8000)&&(Button2<=0x8018)) { M=Valid_Oper1(Button1,Button2); // Button1=0; // Button2=0; g_print("%d\n",M); if(M==21) { /* SySInfo(1); Send_To(FM,Com_Code);*/ } else if(M==20) { Com_Code[0]=0x3001; Com_Code[1]=Button1; Com_Code[2]=0; Com_Code[3]=Button2; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); exchange(Com_Code); socket_com("192.168.1.5",8000,codstr); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } Button1=0; Button2=0; } else { /* SySInfo(1); Send_To(FM,Com_Code);*/ } } void Call_B(){ if(Button1==0x3002) Call_B1();/*总取消*/ else if((Button1==0x3003)||(Button1==0x3013)) Call_B2();/*总人解 */ else if(Button1==0x300a) Call_B3();/*进路故障*/ else if(Button1==0x3012) Call_B4();/*重复开放*/ else if(Button1==0x3022) Call_B5();/*关信号*/ else if(Button1==0x3006) Call_B6();/*道岔单锁*/ else if(Button1==0x3007) Call_B7();/*道岔单解*/ else if(Button1==0x3008) Call_B8();/*道岔封锁*/ else if(Button1==0x3009) Call_B9();/*道岔解封*/ else if(Button1==0x3004) Call_B10();/* 总定位*/ else if(Button1==0x3005) Call_B11();/* 总反位*/ else if(Button1==0x300d) Call_B12();/*S引导总锁闭*/ else if(Button1==0x300f) Call_B13();/*X引导总锁闭*/ else SySInfo(1);}void Call_B1(){int i; if((Button2>=0x8000)&&(Button2<=0x8018)) { Com_Code[0]=0x3002; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } else{ Com_Code[0]=0x3002; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); }}void Call_B2(){int i; if((Button2>=0x8000)&&(Button2<=0x8018)) { if(Button1==0x3003){ Com_Code[0]=0x3003; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } else if(Button1==0x3013){ Com_Code[0]=0x3013; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } } else { if((Button2>=0x2000)&&(Button2<=0x2017)) { Com_Code[0]=0x300b; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } else { SySInfo(1); Com_Code[0]=0x300b; Com_Code[1]=Button1; Com_Code[2]=0; Com_Code[3]=Button2; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); } } }void Call_B3(){int i; if((Button2>=0x8000)&&(Button2<=0x8018)) { Com_Code[0]=0x300a; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code); else send_to(Back_Cpu,Com_Code); send_to(FM,Com_Code);*/ } else { SySInfo(1); Com_Code[0]=0x3002; Com_Code[1]=Button1; Com_Code[2]=0; Com_Code[3]=Button2; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); }}void Call_B4(){int i; if((Button2>=0x8000)&&(Button2<=0x8018)) { Com_Code[0]=0x3012; Com_Code[1]=Button2; Com_Code[2]=0; Com_Code[3]=0; Com_Code[4]=1; for(i=0;i<5;i++) g_print("Com_Code[%d]=%d\n",i,Com_Code[i]); /* if(Work_Cpu==TRUE) send_to(Work_Cpu,Com_Code);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -