📄 mm.h
字号:
/*#include <gnome.h>#include<gtk/gtk.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/sem.h>#include<sys/stat.h> #include"bg.h"#include"toggle.h"#include"sg.h"#include"switch.h"#include"line.h"#include"text.h"#include"popmenu.h"#include"sig.h"#include"echo_fd.h"#include"field.h"#include"sendto.h"#include"main.h"*/ int t=0; GtkWidget *canvas; GtkWidget *clist; GtkWidget *window;GtkWidget *dialog; GnomeCanvasGroup *group; static GtkWidget *entry; static GtkWidget *entry1; GnomeCanvasItem *enbox; GnomeCanvasItem *pass_word; GnomeCanvasItem *bu_ok; GnomeCanvasItem *bu_cancel; GtkWidget *entrybox; gboolean Main_Cpu=TRUE; gboolean Bake_Cpu=FALSE; gboolean Main=FALSE; /***主机使用标志***/ gboolean Bake=FALSE; /**备用机使用标志**/ gboolean value=FALSE; gboolean value_sw=FALSE; gboolean close_app=FALSE;/*区段和道岔是否刷新控制量*/ gboolean Rf_Sw=FALSE,Rf_Fd=FALSE; GnomeCanvasItem *A,*B,*TA,*TB; GtkWidget *dialog; int aaa,t; gboolean test=FALSE; gchar *titles[1]={"信息提示"};/*****************密码程序******************/ void Button_Ok_Pressed(GtkWidget *button,gpointer data){ const gchar *password; password=gtk_entry_get_text(GTK_ENTRY(entry)); if(strcmp(password,"123456")==0) gtk_main_quit(); else g_print("eorr!\n"); g_print("密码是: %s",password); g_print("\n");}void Button_Cancel_Pressed(){ /* gchar*password=gtk_entry_get_text(GTK_ENTRY(entry));*/}void stringcallback(gchar *string,gpointer data){ }/*int eventDelete(GtkWidget *widget,GdkEvent *event,gpointer data){ exit_main_init(); }*//*******************试验函数********************/int sby(){ unsigned char gdj; gdj=aw->FdNode_DynTab[23][1]; if(test==FALSE) { aw->SwNode_DynTab[5][1]=0x55; test=TRUE; } else if(test==TRUE) { aw->SwNode_DynTab[5][1]=0xaa; test=FALSE; } if(gdj==0xaa) aw->FdNode_DynTab[23][1]=0x55; else if(gdj==0x55) aw->FdNode_DynTab[23][1]=0xaa; g_print("%x\n",aw->FdNode_DynTab[23][1]); return 1; }/********************应用程序结束函数***********************/void CloseApp(){// exit_main_init(); gtk_main_quit(); GnomeCanvasGroup *group;/*程序结束对话框*/ group=gnome_canvas_root(GNOME_CANVAS(canvas));/*获得根组*/ GtkWidget *box; GtkWidget *box1; GtkWidget *scrolled_window1; GtkWidget *button_ok; GtkWidget *button_cancel;/* gtk_container_add(GTK_CONTAINER(window),box);*//*---------------------------------------*//* dialog=gnome_dialog_new("123",GNOME_STOCK_BUTTON_YES,GNOME_STOCK_BUTTON_NO,NULL); gnome_dialog_set_parent(GNOME_DIALOG(dialog),GTK_WINDOW(window));*/ entry=gtk_entry_new(); gtk_entry_set_visibility(GTK_ENTRY(entry),FALSE); gtk_entry_set_editable(GTK_ENTRY(entry),TRUE); gtk_entry_set_text(GTK_ENTRY(entry),"123456");/* gtk_container_add(GTK_CONTAINER(box),entry);*//* gtk_box_pack_start(GTK_BOX(box),entry,FALSE,FALSE,5);*//* scrolled_window1=gtk_scrolled_window_new(0,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window1),GTK_POLICY_AUTOMATIC,GTK _POLICY_AUTOMATIC);*/ /**********************口令对话框放置在画布上**************************/ entrybox=gnome_canvas_item_new(group,gnome_canvas_widget_get_type(),"widget",entry,"x",385.0, "y",485.0,"width",85.0,"height",20.0,"size_pixels",TRUE,NULL); pass_word=gnome_canvas_item_new(group,gnome_canvas_text_get_type(), "text","PassWord","x",330.0,"y",495.0,"anchor",GTK_ANCHOR_WEST, "font","6*12","fill_color","green",NULL); button_ok=gtk_button_new_with_label("Ok"); button_cancel=gtk_button_new_with_label("Cancel"); bu_ok= gnome_canvas_item_new(group,gnome_canvas_widget_get_type(), "widget",button_ok,"x",385.0,"y",510.0,"width",40.0,"height", 15.0,"size_pixels",TRUE,NULL); bu_cancel= gnome_canvas_item_new(group,gnome_canvas_widget_get_type(), "widget",button_cancel,"x",430.0,"y",510.0,"width",40.0, "height",15.0,"size_pixels",TRUE,NULL); gtk_signal_connect(GTK_OBJECT(button_ok),"clicked",GTK_SIGNAL_FUNC(Button_Ok_Pressed),NULL); gtk_signal_connect(GTK_OBJECT(button_cancel),"clicked",GTK_SIGNAL_FUNC(Button_Cancel_Pressed) ,NULL); gtk_widget_show_all(window); }/**********************建立列表框*******************/void show_list(){ GnomeCanvasGroup *group; GtkWidget *scrolled_window; GnomeCanvasItem *IF; group=gnome_canvas_root(GNOME_CANVAS(canvas)); /**********创建滚动窗口*************/ scrolled_window=gtk_scrolled_window_new(0,NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); /******放置在画布上******/ gnome_canvas_item_new(group,gnome_canvas_widget_get_type(), "widget",scrolled_window,"x",600.0,"y",440.0,"width",200.0,"height", 150.0,"size_pixels",TRUE,NULL); /*******建立列表框及定义其性质*******/ clist=gtk_clist_new(2); /**参数是列数原型为:GtkWidget *gtk_clist_new(gint columns)**/ gtk_clist_set_column_width(GTK_CLIST(clist),0,70); gtk_clist_set_column_width(GTK_CLIST(clist),1,150); gtk_clist_set_shadow_type(GTK_CLIST(clist),GTK_SHADOW_OUT); /* gtk_clist_set_row_height(GTK_CLIST(clist),5);*/ gtk_container_add(GTK_CONTAINER(scrolled_window),clist); GdkColor dfcolor1; GtkStyle *dfstyle1; gint k; dfcolor1.red=0x00aa; dfcolor1.green=0x00aa; dfcolor1.blue=0x00aa; GdkColor dfcolor2; GtkStyle *dfstyle2;/*是不是没用*/ gint j; dfcolor2.red=0x8e8e; dfcolor2.green=0x8e8e; dfcolor2.blue=0x8e8e; /*gtk_clist_set_foreground(GTK_CLIST(clist),0,dfcolor2); gtk_clist_set_foreground(GTK_CLIST(clist),1,dfcolor2); gtk_clist_set_background(GTK_CLIST(clist),0,dfcolor2); gtk_clist_set_background(GTK_CLIST(clist),1,dfcolor2);*/ dfstyle1=gtk_style_copy(gtk_widget_get_style(clist)); /******为什么要分开赋值????******/ for(k=0;k<5;k++) { dfstyle1->text[k]=dfcolor1; dfstyle1->fg[k]=dfcolor1; } for(j=0;j<5;j++) { dfstyle1->bg[j]=dfcolor2; } gtk_widget_set_style(clist,dfstyle1); }/****************************************************/int init_AB(){ A=gnome_canvas_item_new(group,gnome_canvas_ellipse_get_type(),"x1",650.0,"y1",140.0,"x2",665.0,"y2",155.0,"fill_color","green",NULL); B=gnome_canvas_item_new(group,gnome_canvas_ellipse_get_type(),"x1",720.0,"y1",140.0,"x2",735.0,"y2",155.0,"fill_color","gray",NULL); TA=gnome_canvas_item_new(group,gnome_canvas_text_get_type(),"text","A","x",655.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","green",NULL); TB=gnome_canvas_item_new(group,gnome_canvas_text_get_type(),"text","B","x",725.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","gray",NULL);}//init_AB()int flush_AB(){ switch(ap->flag_sys_check) { case 1: { gnome_canvas_item_set(A,"x1",650.0,"y1",140.0,"x2",665.0,"y2",155.0,"fill_color","green",NULL); gnome_canvas_item_set(B,"x1",720.0,"y1",140.0,"x2",735.0,"y2",155.0,"fill_color","gray",NULL); gnome_canvas_item_set(TA,"text","A","x",655.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","green",NULL); gnome_canvas_item_set(TB,"text","B","x",725.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","gray",NULL); gnome_canvas_item_request_update(A); gnome_canvas_item_request_update(B); gnome_canvas_item_request_update(TA); gnome_canvas_item_request_update(TB); break; } case 2: { gnome_canvas_item_set(A,"x1",650.0,"y1",140.0,"x2",665.0,"y2",155.0,"fill_color","green",NULL); gnome_canvas_item_set(B,"x1",720.0,"y1",140.0,"x2",735.0,"y2",155.0,"fill_color","red",NULL); gnome_canvas_item_set(TA,"text","A","x",655.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","green",NULL); gnome_canvas_item_set(TB,"text","B","x",725.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","red",NULL); gnome_canvas_item_request_update(A); gnome_canvas_item_request_update(B); gnome_canvas_item_request_update(TA); gnome_canvas_item_request_update(TB); break; } case 3: { gnome_canvas_item_set(A,"x1",650.0,"y1",140.0,"x2",665.0,"y2",155.0,"fill_color","red",NULL); gnome_canvas_item_set(B,"x1",720.0,"y1",140.0,"x2",735.0,"y2",155.0,"fill_color","green",NULL); gnome_canvas_item_set(TA,"text","A","x",655.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","red",NULL); gnome_canvas_item_set(TB,"text","B","x",725.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","green",NULL); gnome_canvas_item_request_update(A); gnome_canvas_item_request_update(B); gnome_canvas_item_request_update(TA); gnome_canvas_item_request_update(TB); break; } case 4: { gnome_canvas_item_set(A,"x1",650.0,"y1",140.0,"x2",665.0,"y2",155.0,"fill_color","red",NULL); gnome_canvas_item_set(B,"x1",720.0,"y1",140.0,"x2",735.0,"y2",155.0,"fill_color","red",NULL); gnome_canvas_item_set(TA,"text","A","x",655.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","red",NULL); gnome_canvas_item_set(TB,"text","B","x",725.0,"y",170.0,"anchor",GTK_ANCHOR_WEST,"font","10*20","fill_color","red",NULL); gnome_canvas_item_request_update(A); gnome_canvas_item_request_update(B); gnome_canvas_item_request_update(TA); gnome_canvas_item_request_update(TB); break; } default: break; }//switch}//flush_AB()//exitvoid stringCallback(gchar *string,gpointer data);int exit_main_init(){ GtkWidget *app; //GtkWidget *dialog; GtkWidget *button; GtkWidget *window_exit; //gnome_init("requestdialog","1.0",argc,argv); app=gnome_app_new("requestdialog","Request Dialog"); button=gtk_button_new_with_label(exit); gtk_container_set_border_width(GTK_CONTAINER(app),30); gnome_app_set_contents(GNOME_APP(app),button); gtk_widget_hide(button); gtk_widget_show(app); dialog=gnome_request_dialog(TRUE,"确定要退出程序吗?\n\n请输入管理员密码!","",30,(GnomeStringCallback)stringCallback,NULL,GTK_WINDOW(app));// dialog=gnome_request_password_dialog_parented("password",(GnomeStringCallback)stringCallback,NULL,GTK_WINDOW(app));// gtk_container_add(GTK_CONTAINER(window),dialog); gtk_window_set_modal(GTK_WINDOW(dialog),TRUE);// gtk_widget_hide(dialog);gtk_main();exit(0); }void stringCallback(gchar *string,gpointer data) { if(string==NULL) return; if(strcmp(string,"123456")== 0) { int i; gtk_main_quit(); for(i=0;i<9;i++) {kill(aw->pids[i],SIGKILL); shmctl(shmid,IPC_RMID,(struct shmid_ds *) 0); shmctl(shmid_win,IPC_RMID,(struct shmid_ds *) 0); } exit(0); }} int eventDelete(GtkWidget *widget,GdkEvent *event,gpointer data){ exit_main_init(); gtk_window_set_focus(window,canvas);}/****************** 建立各种画布项**********************/void CreatCanvasItem_Static(){ GnomeCanvasGroup *group; group=gnome_canvas_root(GNOME_CANVAS(canvas)); GnomeCanvasItem *co; GtkWidget *closebutton; /* show_bg(canvas);*/ show_echo_fd(); show_toggle(canvas); show_text(canvas); show_line(canvas); show_resist(canvas); Show_Frame(canvas); Show_Leg(canvas); show_list(canvas); show_name(canvas); //exit button/*GtkWidget *button_exit; button_exit=gtk_button_new_with_label("退出"); gnome_canvas_item_new(group,gnome_canvas_widget_get_type(), "widget",button_exit,"x",395.0,"y", 570.0,"anchor",GTK_ANCHOR_WEST,"width", 50.0,"height",30.0, "size_pixels",TRUE, NULL); gtk_signal_connect(GTK_OBJECT(button_exit),"clicked",GTK_SIGNAL_FUNC(exit_main_init),NULL); */ //system show GnomeCanvasItem *text_sys; text_sys= gnome_canvas_item_new(group,gnome_canvas_text_get_type(), "text","InterLocking System For WuHan Man_Machine", "x",270.0,"y",140.0,"anchor",GTK_ANCHOR_WEST,"font", "10*20","fill_color","green",NULL);/*GtkWidget *sys_show_button; sys_show_button=gtk_button_new_with_label("武汉微机联锁系统"); gnome_canvas_item_new(group,gnome_canvas_widget_get_type(), "widget",sys_show_button,"x",395.0,"y", 70.0,"anchor",GTK_ANCHOR_WEST,"width", 150.0,"height",50.0, "size_pixels",TRUE, NULL);*/}/*******************画布初始化******************/int CreatCanvasItem_Init(){ Show_Sw(canvas); Show_Field(canvas); Show_Sg(canvas); return 1;}/*******************踊
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -