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

📄 toggle.h

📁 linux下的人机对话编程
💻 H
📖 第 1 页 / 共 2 页
字号:
/*#include<gnome.h>#include<gtk/gtk.h>#include"toggle.h"#include"main.h"#include"popmenu.h"*/int convert;int count=29;int Decrease_Time;GnomeCanvasItem*dtime;GnomeCanvasItem *text;GtkButton *button,*buttonXDYA,*buttonXYZSA,*buttonJGJA,*buttonFUA,*buttonZDA,*buttonZFA,            *buttonSYA,*buttonQGJA,*buttonDDS,*buttonDDJ,*buttonGXA,*buttonDFA,            *buttonSYZSA,*buttonZQA,*buttonXYA,*buttonZFK,*buttonDJA,*button13,*button14,            *button15,*button16,*button17,*button18,*button19,*button20,*button21,*button22,            *button23;/*功能按扭控制量*/gboolean SXZRA=FALSE;gboolean Co_XYZSA=FALSE, Co_XDYA=FALSE, Co_JGJA=FALSE, Co_FUA=FALSE, Co_ZDA=FALSE, Co_ZFA=FALSE, Co_SYA=FALSE, Co_SYZSA=FALSE, Co_QGJA=FALSE, Co_DDS=FALSE, Co_DDJ=FALSE, Co_GXA=FALSE, Co_DFA=FALSE,  Co_ZQA=FALSE, Co_XYA=FALSE, Co_DJA=FALSE, Co_ZFK=FALSE;/*功能按钮返回值*/int XYZSA_COR, XDYA_COR, JGJA_COR, FUA_COR, ZDA_COR, ZFA_COR, SYA_COR, SYZSA_COR, QGJA_COR, DDS_COR, DDJ_COR, GXA_COR, DFA_COR, ZQA_COR, XYA_COR, DJA_COR, ZFK_COR;/*道岔按扭控制量*/gboolean Co_13=FALSE, Co_14=FALSE, Co_15=FALSE, Co_16=FALSE, Co_17=FALSE, Co_18=FALSE, Co_19=FALSE, Co_20=FALSE, Co_21=FALSE, Co_22=FALSE, Co_23=FALSE;/*道岔按钮返回值*/int  COR_13, COR_14, COR_15, COR_16, COR_17, COR_18, COR_19, COR_20, COR_21, COR_22, COR_23;gboolean init_cor(GtkButton*button){        GdkColor dfcolor;	GtkStyle *dfstyle;	/*	PangoFontDescription*desc;*/	/*	GdkFont*desc;*/	/*	GdkFont*font;*/	gint k;	/*	desc=pango_font_description_from_string("Simsun 10");*/	dfcolor.red=0x8E8E;	dfcolor.green=0x8E8E;	dfcolor.blue=0x8E8E;	dfstyle=gtk_style_copy(gtk_widget_get_style(button));	/* if(dfstyle->font!=NULL)	{	  gdk_font_unref(dfstyle->font);	  g_print("释放成功!\n");	  }*/	for(k=0;k<5;k++)	  {	  dfstyle->bg[k]=dfcolor;	  }	/*	dfstyle->font=gdk_font_load("6*12");		g_print("设置成功!\n");*/	  	/*	gtk_widget_modify_font( button,desc);*/		/*gdk_window_clear_area_e(GTK_BIN(button)->child,0,0,10,20);*/	          g_print("color!");	  gtk_widget_set_style(button,dfstyle);	 	                gtk_widget_show(button);	  return TRUE;}void button_color(GtkButton*button){        GdkColor dfcolor;	GtkStyle *dfstyle;	gint k;	dfcolor.red=0x0000;	dfcolor.green=0x8b00;	dfcolor.blue=0x0000;	dfstyle=gtk_style_copy(gtk_widget_get_style(button));	for(k=0;k<5;k++)	  dfstyle->bg[k]=dfcolor;	  gtk_widget_set_style(button,dfstyle);}gboolean Re_Cor_ZQA(GtkButton*button){init_cor(buttonZQA); gtk_timeout_remove(ZQA_COR); Co_ZQA=FALSE; return TRUE;}  gboolean Re_Cor_XYZSA(GtkButton*button){init_cor(buttonXYZSA); gtk_timeout_remove(XYZSA_COR); Co_XYZSA=FALSE; return TRUE;}  gboolean Re_Cor_ZDA(GtkButton*button){init_cor(buttonZDA); gtk_timeout_remove(ZDA_COR); Co_ZDA=FALSE; return TRUE;}  gboolean Re_Cor_ZFA(GtkButton*button){init_cor(buttonZFA); gtk_timeout_remove(ZFA_COR); Co_ZFA=FALSE; return TRUE;}  gboolean Re_Cor_DDS(GtkButton*button){init_cor(buttonDDS); gtk_timeout_remove(DDS_COR); Co_DDS=FALSE; return TRUE;}  gboolean Re_Cor_DDJ(GtkButton*button){init_cor(buttonDDJ); gtk_timeout_remove(DDJ_COR); Co_DDJ=FALSE; return TRUE;}  gboolean Re_Cor_DFA(GtkButton*button){init_cor(button); gtk_timeout_remove(DFA_COR); Co_DFA=FALSE; return TRUE;}  gboolean Re_Cor_DJA(GtkButton*button){init_cor(buttonDJA); gtk_timeout_remove(DJA_COR); Co_DJA=FALSE; return TRUE;}  gboolean Re_Cor_ZFK(GtkButton*button){init_cor(buttonZFK); gtk_timeout_remove(ZFK_COR); Co_ZFK=FALSE; return TRUE;}  gboolean Re_Cor_JGJA(GtkButton*button){init_cor(buttonJGJA); gtk_timeout_remove(JGJA_COR); Co_JGJA=FALSE; return TRUE;}  gboolean Re_Cor_QGJA(GtkButton*button){init_cor(buttonQGJA); gtk_timeout_remove(QGJA_COR); Co_QGJA=FALSE; return TRUE;}  gboolean Re_Cor_FUA(GtkButton*button){init_cor(buttonFUA); gtk_timeout_remove(FUA_COR); Co_FUA=FALSE; return TRUE;}  gboolean Re_Cor_GXA(GtkButton*button){init_cor(buttonGXA); gtk_timeout_remove(GXA_COR); Co_GXA=FALSE; return TRUE;}  gboolean Re_Cor_SYZSA(GtkButton*button){init_cor(buttonSYZSA); gtk_timeout_remove(SYZSA_COR); Co_SYZSA=FALSE; return TRUE;}  gboolean Re_Cor_SYA(GtkButton*button){init_cor(buttonSYA); gtk_timeout_remove(SYA_COR); Co_SYA=FALSE; return TRUE;}  gboolean Re_Cor_XYA(GtkButton*button){init_cor(buttonXYA); gtk_timeout_remove(XYA_COR); Co_XYA=FALSE; return TRUE;}  gboolean Re_Cor_XDYA(GtkButton*button){init_cor(buttonXDYA); gtk_timeout_remove(XDYA_COR); Co_XDYA=FALSE; return TRUE;}  int Fun_Button(GtkButton*button,gpointer data){/*此函数用于变回原色但没有倒计时的功能按钮*/     gint id=GPOINTER_TO_INT(data);     button_color(button);     switch(id)       {case 0x3002:          {if(Co_ZQA==FALSE)	    {             Oprate_Data();             Co_ZQA=TRUE;             ZQA_COR=gtk_timeout_add(1000,Re_Cor_ZQA,buttonZQA);             break;	    }	  else	    break;	  }       case 0x300f:          {if(Co_XYZSA==FALSE)	    {             Oprate_Data();             Co_XYZSA=TRUE;             XYZSA_COR=gtk_timeout_add(1000,Re_Cor_XYZSA,buttonXYZSA);             break;	    }	  else	    break;	  }       case 0x3004:          {if(Co_ZDA==FALSE)	    {             Oprate_Data();             Co_ZDA=TRUE;             ZDA_COR=gtk_timeout_add(1000,Re_Cor_ZDA,buttonZDA);             break;	    }	  else	    break;	  }       case 0x3005:          {if(Co_ZFA==FALSE)	    {             Oprate_Data();             Co_ZFA=TRUE;             ZFA_COR=gtk_timeout_add(1000,Re_Cor_ZFA,buttonZFA);             break;	    }	  else	    break;	  }       case 0x3006:          {if(Co_DDS==FALSE)	    {             Oprate_Data();             Co_DDS=TRUE;             DDS_COR=gtk_timeout_add(1000,Re_Cor_DDS,buttonDDS);             break;	    }	  else	    break;	  }       case 0x3007:          {if(Co_DDJ==FALSE)	    {             Oprate_Data();             Co_DDJ=TRUE;             DDJ_COR=gtk_timeout_add(1000,Re_Cor_DDJ,buttonDDJ);             break;	    }	  else	    break;	  }       case 0x3008:          {if(Co_DFA==FALSE)	    {             Oprate_Data();             Co_DFA=TRUE;             DFA_COR=gtk_timeout_add(1000,Re_Cor_DFA,buttonDFA);             break;	    }	  else	    break;	  }       case 0x3009:          {if(Co_DJA==FALSE)	    {             Oprate_Data();             Co_DJA=TRUE;             DJA_COR=gtk_timeout_add(1000,Re_Cor_DJA,buttonDJA);             break;	    }	  else	    break;	  }       case 0x3012:          {if(Co_ZFK==FALSE)	    {             Oprate_Data();             Co_ZFK=TRUE;             ZFK_COR=gtk_timeout_add(1000,Re_Cor_ZFK,buttonZFK);             break;	    }	  else	    break;	  }       case 0x300a:          {if(Co_JGJA==FALSE)	    {             Oprate_Data();             Co_JGJA=TRUE;             JGJA_COR=gtk_timeout_add(1000,Re_Cor_JGJA,buttonJGJA);             break;	    }	  else	    break;	  }       case 0x300b:          {if(Co_QGJA==FALSE)	    {             Oprate_Data();             Co_QGJA=TRUE;             QGJA_COR=gtk_timeout_add(1000,Re_Cor_QGJA,buttonQGJA);             break;	    }	  else	    break;	  }       case 0x300c:          {if(Co_FUA==FALSE)	    {             Oprate_Data();             Co_FUA=TRUE;             FUA_COR=gtk_timeout_add(1000,Re_Cor_FUA,buttonFUA);             break;	    }	  else	    break;	  }       case 0x3011:          {if(Co_GXA==FALSE)	    {             Oprate_Data();             Co_GXA=TRUE;             GXA_COR=gtk_timeout_add(1000,Re_Cor_GXA,buttonGXA);             break;	    }	  else	    break;	  }       case 0x300d:          {if(Co_SYZSA==FALSE)	    {             Oprate_Data();             Co_SYZSA=TRUE;             SYZSA_COR=gtk_timeout_add(1000,Re_Cor_SYZSA,buttonSYZSA);             break;	    }	  else	    break;	  }       case 0x300e:          {if(Co_SYA==FALSE)	    {             Oprate_Data();             Co_SYA=TRUE;             SYA_COR=gtk_timeout_add(1000,Re_Cor_SYA,buttonSYA);             break;	    }	  else	    break;	  }       case 0x3010:          {if(Co_XYA==FALSE)	    {             Oprate_Data();             Co_XYA=TRUE;             XYA_COR=gtk_timeout_add(1000,Re_Cor_XYA,buttonXYA);             break;	    }	  else	    break;	  }       case 0x3013:          {if(Co_XDYA==FALSE)	    {             Oprate_Data();             Co_XDYA=TRUE;             XDYA_COR=gtk_timeout_add(1000,Re_Cor_XDYA,buttonXDYA);             break;	    }	  else	    break;	  }       default:	 break;       }}void De_Time(){ GnomeCanvasGroup *group;  group=gnome_canvas_root(GNOME_CANVAS(canvas));  gchar buf[50];  gtk_object_destroy(GTK_OBJECT(dtime));  sprintf(buf,"%d",count); dtime= gnome_canvas_item_new(group,gnome_canvas_text_get_type(),			      "text",buf,			      "x",140.0,"y",120.0,"anchor",GTK_ANCHOR_WEST,"font",			      "10*20","fill_color","green",NULL);count--; if(count<-1){ gtk_timeout_remove(Decrease_Time); gtk_object_destroy(GTK_OBJECT(dtime)); gtk_object_destroy(GTK_OBJECT(text)); count=29; SXZRA=FALSE; init_cor(button);}}int  Fun_Button_time(GtkButton*button,gpointer data){/*倒计时功能按钮响应函数*/    if(SXZRA==FALSE){         GnomeCanvasGroup *group;         group=gnome_canvas_root(GNOME_CANVAS(canvas));         gint id=GPOINTER_TO_INT(data);         button_color(button);                 Oprate_Data();    show_text_time();    dtime= gnome_canvas_item_new(group,gnome_canvas_text_get_type(),			      "text","30",			      "x",140.0,"y",120.0,"anchor",GTK_ANCHOR_WEST,"font",			      "10*20","fill_color","green",NULL);

⌨️ 快捷键说明

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