亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? app4.4.c

?? code about gtk++ for MID intel develop in Linux moblin. code interface write as language c in linu
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
         * Parameter  :  2
		 "widget" (I) :  object handle event
		 "data" (I):  data send to handle
         * Return       :  gint
        ***************************************************************************/	
void end_program (GtkWidget *widget, gpointer data)
{
  /* function exit */
  gtk_main_quit();
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	show notation with message 
         * Parameter  :  1
		 "message" (I) :  message in form alert 
         * Return       :  none
        ***************************************************************************/	
void message_form (gchar* message)           
{
	/* variables*/
	GtkWidget *dialog_mess, *label, *image, *hbox;

	/* Create a new dialog form with one OK button. */
	dialog_mess = gtk_dialog_new_with_buttons ("Alert", NULL,
										GTK_DIALOG_MODAL,
										GTK_STOCK_OK, GTK_RESPONSE_OK,
										NULL);
	/* hide separator in dialog */
	gtk_dialog_set_has_separator (GTK_DIALOG (dialog_mess), FALSE);
	/*init label with message */
	label = gtk_label_new (message);
	/* init image infomation*/
	image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, 
									GTK_ICON_SIZE_DIALOG);
	/* init container and add label and image to container */
	hbox = gtk_hbox_new (FALSE, 3);
	gtk_container_set_border_width (GTK_CONTAINER (hbox), 1);
	gtk_box_pack_start_defaults (GTK_BOX (hbox), image);
	gtk_box_pack_start_defaults (GTK_BOX (hbox), label);
	
	/* Pack the content  alert into the dialog's GtkVBox. */
	gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG (dialog_mess)->vbox), hbox);
	/* show all dialog form alert */
	gtk_widget_show_all (dialog_mess);
	/* Create the dialog as modal and destroy it when a button is pressed. */
	gtk_dialog_run (GTK_DIALOG (dialog_mess));
	/* destroy dialog form */
	gtk_widget_destroy (dialog_mess);
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	function process for signal from apply button in alarm form.
         * Parameter  :  2
		 "button" (I) :  object send signal to function	
		 "data" (I) :   data recive after event has been send
         * Return       :  none
        ***************************************************************************/	
void apply_click (GtkWidget* button, gint8 data)
{
	
    int err = 0;
	int spin_day,spin_month, spin_year,spin_hour,spin_minute;
	char* string;
	/* string in combo_box active or unactive*/
	 string = (char*) gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (combo)->entry));
	/* init variable time */
	int hr,min,day,month,year;
	time_t now;
	
	gchar *str_time = g_new(gchar, 25);
	gchar *str_date = g_new(gchar, 25);
	 struct tm *nowbase;   
	 time (&now);
     nowbase = localtime(&now);
	 if (nowbase)
	{
		hr = nowbase->tm_hour;
		min = nowbase->tm_min ;
		day = nowbase->tm_mday;
		month = nowbase->tm_mon+1;
		year = nowbase->tm_year+1900;
	}
	/* check if  device is active or unactive*/	
	switch (state_arr[data] )
	{
		case 1:
			/* check string if  active device then send message device is acting*/	
			if (strcmp (string, "Active Device") == 0)
			{
				message_form ("Device Actived");
			}
			else
			{
				/* else get infomation day, month, year, hour, minute and compare with date time at now*/
				spin_day = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_day));
				spin_month = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_month));
				spin_year = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_year)) -2000;
				spin_hour = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_hour));
				spin_minute = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_minute));
				
				if ( (spin_year < (year -2000)) )
				{
					message_form ("Set the Alarm time must larger than current time!");
					err =1;
				}
				else
				{
					if (spin_year == (year -2000))
						if (spin_month < month)
						{
							message_form ("Set the Alarm time must larger than current time!");
							err =1;
						}
						else
						{
							if (spin_month == month)
							{
								if (spin_day < day)
								{
									message_form ("Set the Alarm time must larger than current time!");
									err =1;
								}
								else
								{
									if (spin_day == day)
									{
										if (spin_hour < hr)
										{
											message_form ("Set the Alarm time must larger than current time!");
											err =1;
										}
										else
										{
											if (spin_hour == hr)
											{
												if (spin_minute <= min)
												{
													message_form ("Set the Alarm time must larger than current time!");
													err =1;
												}
											}
										}
									}
								}
							}
						}
					}
				if (err == 0)
				/* if check successful then send infomation date time for alarm to server*/
				{
					send_buffer [0] = 10;
					send_buffer [1] = data;
					send_buffer [2]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_day));
					 send_buffer [3]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_month));
					send_buffer [4]= (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_year))) -2000;
					send_buffer [5]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_hour));
					send_buffer [6]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_minute)); 
					
					if ( write(sockfd,send_buffer,2) < 0 )
						perror("ERROR writing to socket");
						
					// set label time
					nowbase->tm_min  = send_buffer [6];
					nowbase->tm_hour = send_buffer [5];
					
					nowbase->tm_mday = send_buffer [2];
					nowbase->tm_mon = send_buffer [3];
					nowbase->tm_year = send_buffer [4] - 1900;
					
					strftime(str_time, 25, "%X", nowbase);
					strftime(str_date, 25, "%x", nowbase);	
					
					gchar* str = g_strconcat (str_time ," ",NULL);
					gchar* str_date_time = g_strconcat (str , str_date ,NULL);
					gchar* text = g_strconcat ("Device has been set time at ",str_date_time,NULL);
					message_form (text);
				}
			}
			break;
		/* same for case 0 */
		case 0:	
			if (strcmp (string, "Unactive Device") == 0)
			{
				message_form ("Device Unactived");
			}
			else
			{
				spin_day = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_day));
				spin_month = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_month));
				spin_year = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_year)) -2000;
				spin_hour = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_hour));
				spin_minute = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_minute));
				if ( (spin_year < (year -2000)) )
				{
					message_form ( "Set the Alarm time must larger than current time!");
					err =1;
				}
				else
				{
					if (spin_year == (year -2000))
					{
						if (spin_month < month)
						{
							message_form ("Set the Alarm time must larger than current time!");
							err =1;
						}
						else
						{
							if (spin_month == month )
							{
								if (spin_day < day)
								{
									message_form ("Set the Alarm time must larger than current time!");
									err =1;
								}
								else
								{
									if (spin_day == day)
									{
										if (spin_hour < hr)
										{
											message_form ("Set the Alarm time must larger than current time!");
											err =1;
										}
										else
										{
											if (spin_hour == hr)
											{
												if (spin_minute <= min)
												{
													message_form ("Set the Alarm time must larger than current time!");
													err =1;
												}
											}
										}
									}
								}
							}
						}
					}
				}
				if (err == 0)
				{
				
					send_buffer [0] = 10;
					send_buffer [1] = data;
					send_buffer [2]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_day));
					send_buffer [3]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_month));
					send_buffer [4]= (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_year))) -2000;
					send_buffer [5]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_hour));
					send_buffer [6]= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinner_minute)); 
					
					if ( write(sockfd,send_buffer,2) < 0 )
						perror("ERROR writing to socket");
						
					// set label time
					nowbase->tm_min  = send_buffer [6];
					nowbase->tm_hour = send_buffer [5];
					
					nowbase->tm_mday = send_buffer [2];
					nowbase->tm_mon = (send_buffer [3]) - 1;
					nowbase->tm_year = send_buffer [4] - 1900;
					
				
					strftime(str_time, 25, "%X", nowbase);
					strftime(str_date, 25, "%x", nowbase);	
	
					gchar* str = g_strconcat (str_time ," , ",NULL);
					gchar* str_date_time = g_strconcat (str , str_date ,NULL);
					gchar* text = g_strconcat ("Device has been set time at ",str_date_time,NULL);
					message_form (text);
				}
			}
			break;
		default:
			break;
	}
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	function process for signal from cancel button in alarm form.
         * Parameter  :  2
		 "button" (I) :  object send signal to function	
		 "data" (I) :   data recive after event has been send
         * Return       :  none
        ***************************************************************************/	
void cancel_click (GtkWidget* button, gint8 data)
{
	/*send signal to server*/
	
	/* notation message cancel alarm */
	message_form ("Device has been cancel alarm!");
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	create button with icon and name of button
         * Parameter  :  3
		 "style" (I) :  style of icon on button
		 "title" (I) :  name in button
         * Return       :  GtkWidget
        ***************************************************************************/	
GtkWidget *create_button ( gchar* style, gchar* title)
{
	/*variables*/
	GtkWidget *button;
	GtkWidget* hbox_button, *label_button, *image_button;
	/*init button*/
	button = gtk_button_new  ();
	/*init label contain name of button*/
	label_button= gtk_label_new (title);
	gtk_widget_modify_font (label_button, init_font);
	/*init stock icon*/
	image_button = gtk_image_new_from_stock ( style, GTK_ICON_SIZE_BUTTON );
    
    //create hbox for add image and name device
    hbox_button = gtk_hbox_new (FALSE,0);
    gtk_container_set_border_width (GTK_CONTAINER(hbox_button),1);
    
    // add image and label into vbox
    gtk_box_pack_start_defaults (GTK_BOX (hbox_button), image_button);
    gtk_box_pack_start_defaults (GTK_BOX (hbox_button), label_button);

	//add hbox into device
    gtk_container_add (GTK_CONTAINER (button), hbox_button);
	return button;
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	create report with treeview object
         * Parameter  :  none
         * Return       :  none
        ***************************************************************************/	
void create_report ()
{
	GtkListStore *store;
	GtkTreeIter iter;
	int i ;
	PangoFontDescription *font = pango_font_description_from_string ("Sans 12");
	/* create treeview object (global variable)*/
	treeview = gtk_tree_view_new ();
	/*modify font in treeview*/
	gtk_widget_modify_font (treeview, font);
	/*call funtion setup_tree_view*/
	setup_tree_view (treeview);
	/*create model for treeview*/
	store = gtk_list_store_new (COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
	i =0;
	while (i<10)
	{
		gtk_list_store_append (store, &iter);
		gtk_list_store_set (store, &iter, DEVICE_NAME, list[i].device_name, USER_NAME, list[i].user_name, EVENT, list[i].event, MINUTE , list[i].minute, HOUR , list[i].hour, DAY, list[i].day, MONTH, list[i].month, YEAR, list[i].year, -1);
	  i++;
	}
	/* set kind of view of treeview with model*/
	gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
	/*release store*/
	g_object_unref (store);
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	setup columns and renderer for treeview
         * Parameter  :  1
		 "treeview" (I) : treeview variable will be set columns
         * Return       :  none
        ***************************************************************************/	
void setup_tree_view (GtkWidget *treeview)
{
  GtkCellRenderer *renderer;
  GtkTreeViewColumn *column;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩三级一区二区| 色94色欧美sute亚洲线路一ni| 欧美一区午夜精品| 成人在线视频一区| 日日夜夜免费精品视频| 国产精品护士白丝一区av| 日韩一区二区三区免费看| 色综合天天天天做夜夜夜夜做| 麻豆精品久久久| 亚洲国产视频在线| 国产精品不卡一区二区三区| 欧美一区二区三区免费观看视频 | 99久久精品费精品国产一区二区| 日韩在线一区二区| 亚洲日本青草视频在线怡红院 | 国产精品天干天干在观线| 欧美一区二区三区的| 在线免费观看一区| av网站免费线看精品| 久国产精品韩国三级视频| 午夜久久久久久| 亚洲黄色尤物视频| 国产精品美女久久久久av爽李琼| 欧美xxxxx牲另类人与| 欧美日韩免费视频| 日本高清无吗v一区| 99在线视频精品| 成人在线视频一区| 国产精品 欧美精品| 韩国精品免费视频| 久久精品噜噜噜成人88aⅴ| 视频一区二区三区中文字幕| 樱桃视频在线观看一区| 成人欧美一区二区三区视频网页| 久久久美女毛片| 精品sm捆绑视频| 精品福利一区二区三区| 精品日韩在线观看| 精品少妇一区二区| 精品国精品自拍自在线| 欧美成va人片在线观看| 国产欧美一区二区精品仙草咪| 91精品国产手机| 制服丝袜日韩国产| 91麻豆精品国产91久久久使用方法 | 亚洲成在人线在线播放| 一区二区三区国产| 亚洲bt欧美bt精品| 伦理电影国产精品| 国产精品一卡二卡在线观看| 国产精品99久| 成人夜色视频网站在线观看| 成人黄色在线看| 91免费观看视频在线| 91福利区一区二区三区| 欧美日韩五月天| 欧美一二区视频| 久久久国产一区二区三区四区小说| 久久久久久久久99精品| 国产精品网站在线| 亚洲综合成人在线视频| 亚洲va欧美va人人爽| 蜜臀av性久久久久蜜臀aⅴ| 国产资源在线一区| www.av精品| 欧美日韩一区二区电影| 日韩精品专区在线影院重磅| 国产欧美日韩另类一区| 亚洲欧美日韩系列| 日本视频免费一区| 高清不卡一区二区| 欧美无砖专区一中文字| 精品国产污网站| 亚洲欧美综合色| 三级一区在线视频先锋 | 91在线porny国产在线看| 欧美优质美女网站| 日韩女优毛片在线| 国产精品久久一卡二卡| 偷偷要91色婷婷| 国产成人午夜电影网| 91激情在线视频| 久久综合久久综合亚洲| 亚洲视频一二三区| 蜜桃视频在线观看一区二区| 不卡av免费在线观看| 91精品国产色综合久久不卡电影 | 岛国精品一区二区| 精品视频免费看| 精品国产乱码久久久久久夜甘婷婷 | 国产婷婷一区二区| 亚洲一区影音先锋| 国产电影精品久久禁18| 欧美日本免费一区二区三区| 国产精品网站在线播放| 日韩国产精品久久久| 成人精品视频.| 91精品国产一区二区三区香蕉| 国产精品私人影院| 三级一区在线视频先锋| 99久久婷婷国产综合精品| 日韩欧美不卡在线观看视频| 夜夜精品浪潮av一区二区三区| 国产精品一区在线| 777精品伊人久久久久大香线蕉| 国产精品九色蝌蚪自拍| 国产一区二区三区免费| 欧美精品vⅰdeose4hd| 亚洲乱码国产乱码精品精98午夜 | 裸体一区二区三区| 欧美性xxxxxxxx| 中文字幕在线不卡一区| 国产精品综合二区| 日韩一区二区在线看| 亚洲国产乱码最新视频| 91热门视频在线观看| 中文字幕 久热精品 视频在线| 久久成人综合网| 91精品国产入口在线| 午夜精品一区二区三区电影天堂| 91网上在线视频| 国产精品国产三级国产有无不卡| 国产尤物一区二区| 日韩女优视频免费观看| 日韩av在线播放中文字幕| 欧美色图天堂网| 亚洲精品中文在线影院| 99久久99久久综合| 中文字幕欧美激情| 国产白丝精品91爽爽久久| 久久亚洲一区二区三区明星换脸 | 一本一道久久a久久精品| 国产精品乱码久久久久久| 国产另类ts人妖一区二区| 日韩三级视频中文字幕| 麻豆精品视频在线观看视频| 91精品国产乱码久久蜜臀| 午夜激情综合网| 91麻豆精品国产91久久久| 首页国产丝袜综合| 91精品国产乱码| 激情综合一区二区三区| 精品国产乱码久久久久久免费| 国内精品伊人久久久久av一坑 | 中文幕一区二区三区久久蜜桃| 国产91丝袜在线18| 国产精品短视频| 色香蕉成人二区免费| 亚洲国产精品久久艾草纯爱| 欧美日韩一区二区在线观看视频| 亚洲国产精品人人做人人爽| 欧美男男青年gay1069videost| 日本成人中文字幕在线视频| 日韩精品一区在线观看| 国产传媒久久文化传媒| 国产精品久久午夜| 91成人在线精品| 美女视频黄频大全不卡视频在线播放| 精品日韩在线一区| 成人在线综合网| 亚洲一区二区在线免费观看视频| 69p69国产精品| 国内精品视频666| 国产精品你懂的在线| 色婷婷av久久久久久久| 亚洲成人综合视频| 精品国产一区二区在线观看| 成人aa视频在线观看| 亚洲一区免费观看| 精品国产一区二区在线观看| 成人avav影音| 图片区小说区国产精品视频| 久久久久久免费| 91精品办公室少妇高潮对白| 热久久免费视频| 亚洲国产精品99久久久久久久久| 亚洲裸体在线观看| 在线播放国产精品二区一二区四区| 秋霞av亚洲一区二区三| 久久久久国产精品人| 色哟哟一区二区在线观看| 日本特黄久久久高潮| 国产欧美日韩三级| 欧美日本一区二区三区四区| 国产精品一区在线| 午夜精品一区二区三区电影天堂 | 欧美日韩亚洲丝袜制服| 国产伦精品一区二区三区免费迷| 亚洲婷婷在线视频| 精品成人一区二区三区四区| 色婷婷久久99综合精品jk白丝| 免费在线成人网| 亚洲欧洲制服丝袜| 久久人人爽人人爽| 欧美精品免费视频| 99精品视频一区二区| 精品综合免费视频观看| 一区二区三区波多野结衣在线观看 | 国产成人免费高清| 视频一区视频二区在线观看|