📄 2.c
字号:
#include<gnome.h>#include"popmenu.h"#include"frame.h"#include"SySInfo.h"#include"sg.h"#include"socket.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_S3,*Item_S5,*Item_S2,*Item_S4,*Item_S,*Item_X1,*Item_X3,*Item_X4,*Item_X5;/*闪灯控制开关量*/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 Button1,Button2,M,id; gboolean rebutton=FALSE;static int Com_Code[5]={0,0,0,0,0};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; } }gboolean MousePressed(GtkButton*button,gpointer data){/*响应按钮操作*/ id=GPOINTER_TO_INT(data); GdkColor downcolor; GtkStyle *downstyle; gint i; downcolor.red=0x0000; downcolor.green=0x0000; downcolor.blue=0xffff; 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); if(rebutton==FALSE) {int i; for(i=0;i<5;i++) Com_Code[i]=0; Button1=id; g_print("is %d\n",Button1); rebutton=TRUE; if((Button1==0x300e)||(Button1==0x3010)||(Button1==0x3011)||(Button1==0x300c)||(Button1==0x3022)) 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 {} } 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; } 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: { Item_D1=widget; timer_show=gtk_timeout_add(1000,show_D1,NULL); Oprate_Data(); break; } case 0x8001: { Item_D3=widget; timer_show=gtk_timeout_add(1000,show_D3,NULL); Oprate_Data(); break; } case 0x8002: { Item_D5=widget; timer_show=gtk_timeout_add(1000,show_D5,NULL); Oprate_Data(); break; } case 0x8003: { Item_D7=widget; timer_show=gtk_timeout_add(1000,show_D7,NULL); Oprate_Data(); break; } case 0x8004: { Item_D9=widget; timer_show=gtk_timeout_add(1000,show_D9,NULL); Oprate_Data(); break; } case 0x8005: { Item_D11=widget; timer_show=gtk_timeout_add(1000,show_D11,NULL); Oprate_Data(); break; } case 0x8006: { Item_D13=widget; timer_show=gtk_timeout_add(1000,show_D13,NULL); Oprate_Data(); break; } case 0x8007: { Item_D15=widget; timer_show=gtk_timeout_add(1000,show_D15,NULL); Oprate_Data(); break; } case 0x8008: { Item_D17=widget; timer_show=gtk_timeout_add(1000,show_D17,NULL); Oprate_Data(); break; } case 0x8009: { Item_D19=widget; timer_show=gtk_timeout_add(1000,show_D19,NULL); Oprate_Data(); break; } case 0x800a: { Item_X=widget; timer_show=gtk_timeout_add(1000,show_X,NULL); Oprate_Data(); break; } case 0x800b: { Item_XD=widget; timer_show=gtk_timeout_add(1000,show_XD,NULL); Oprate_Data(); break; } case 0x8010: { Item_D2=widget; timer_show=gtk_timeout_add(1000,show_D2,NULL); Oprate_Data(); break; } case 0x8011: { Item_D4=widget; timer_show=gtk_timeout_add(1000,show_D4,NULL); Oprate_Data(); break; } case 0x8012: { Item_D6=widget; timer_show=gtk_timeout_add(1000,show_D6,NULL); Oprate_Data(); break; } case 0x8013: { Item_D8=widget; timer_show=gtk_timeout_add(1000,show_D8,NULL); Oprate_Data(); break; } case 0x8014: { Item_S=widget; timer_show=gtk_timeout_add(1000,show_S,NULL); Oprate_Data(); 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; 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); 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]); socket_com("192.168.1.5",8000,Com_Code[1]); /* 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)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -