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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? app4.4.c

?? code about gtk++ for MID intel develop in Linux moblin. code interface write as language c in linu
?? C
?? 第 1 頁 / 共 5 頁
字號:
	/*init the renderer and column for treeview*/
	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Devices", renderer, "text", DEVICE_NAME, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Users", renderer, "text", USER_NAME, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Control", renderer, "text", EVENT, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Minute", renderer, "text", MINUTE, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Hour", renderer, "text",HOUR, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Day", renderer, "text",DAY, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Month", renderer, "text",MONTH, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);

	renderer = gtk_cell_renderer_text_new ();
	column = gtk_tree_view_column_new_with_attributes
						 ("Year", renderer, "text",YEAR, NULL);
	gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	update report when button  update was clicked
         * Parameter  :  none
         * Return       :  none
        ***************************************************************************/	
void update_report ()
{
	/*send signal to server for update */
	send_buffer [0] = 40;
	send_buffer [1] = 0;
	if ( write(sockfd,send_buffer,2) < 0 )
		perror("ERROR writing to socket");
}
/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	create form login and check acount login and send signal id_acount to server
         * Parameter  :  none
         * Return       :  none
        ***************************************************************************/	
void create_form_login ()
{
  //variable
  GtkWidget *usr_hbox,*pass_hbox,*label_usr, *label_pass, *entry_usr, *entry_pass, *buttonBox_ok_cancel, *button_ok, *button_cancel, *dialog, *table;
  gint result;
  const char* password;
  const char* username;
  char usr[RECORD_LEN_USER];
  char pass[RECORD_LEN_USER];
  int f, t, j ;
  /* create dialog form login */
  dialog = gtk_dialog_new_with_buttons ("Login",NULL,GTK_DIALOG_MODAL,GTK_STOCK_OK, GTK_RESPONSE_OK,
  GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,NULL);

   /*set properties for form*/
  gtk_widget_set_size_request(dialog,LOGIN_WIDTH, LOGIN_HEIGHT);
  gtk_dialog_set_has_separator(GTK_DIALOG(dialog),FALSE);
  gtk_dialog_set_default_response (GTK_DIALOG (dialog),GTK_RESPONSE_OK);

  /*create label_usr and entry_usr*/
  label_usr = gtk_label_new ("User Name");
  entry_usr = gtk_entry_new_with_max_length (50);

  /*create label_pass and entry_pass */
  label_pass = gtk_label_new ("Pass Word");
  entry_pass = gtk_entry_new_with_max_length (50);

  /* hiden password */
  gtk_entry_set_visibility(GTK_ENTRY(entry_pass),FALSE);
  gtk_entry_set_invisible_char(GTK_ENTRY(entry_pass),'*');

  /*create table*/
   table = gtk_table_new (2,2,FALSE);

  /*attach widget label,entry about user /pass  into table*/
   gtk_table_attach_defaults (GTK_TABLE(table),label_usr,0,1,0,1);
   gtk_table_attach_defaults (GTK_TABLE(table),label_pass,0,1,1,2);
   gtk_table_attach_defaults (GTK_TABLE(table),entry_usr,1,2,0,1);
   gtk_table_attach_defaults (GTK_TABLE(table),entry_pass,1,2,1,2);

   /*set property for table*/
   gtk_table_set_row_spacings (GTK_TABLE(table),5);
   gtk_table_set_col_spacings (GTK_TABLE(table),5);
   gtk_container_set_border_width(GTK_CONTAINER (table),2);

  /*add usr_hbox and pass_hbox into content_area of dialog */
  gtk_box_pack_start_defaults (GTK_BOX (GTK_DIALOG (dialog)->vbox), table);

  /*show dialog*/
  gtk_widget_show_all ( dialog );
  
  /*process response*/
	int id_user;
	t = f =0;
	do
	{   
		/*get result*/
	   result = gtk_dialog_run (GTK_DIALOG (dialog));
	   switch (result)
	   {
	   // case button Ok was clicked
			case GTK_RESPONSE_OK:
			/* get user/ password*/
			username = gtk_entry_get_text ( GTK_ENTRY (entry_usr) ); 
			password = gtk_entry_get_text ( GTK_ENTRY (entry_pass) );
		  
			j =0;
			do 
			{
			// check user/ password 
				if ( (strcmp ( all_user[j].usr , username ) == 0 ) && ( strcmp ( all_user[j].pass , password ) == 0 ) )
				{
					id_user = j;
					t =1;
					break;
				}
				j = j + 1;
			} while ( j < NUMBER_USER );
			// if fail then send message note
			if  ( t  == 0)
			{  
				message_form ("The User Name or Password is incorrect !");
				
				gtk_entry_set_text (  GTK_ENTRY (entry_pass), "" );
				f = 1;
			}	
			else
			{
				f=0;
			}
		   break;
		   //case Cancel button was clicked
	      case GTK_RESPONSE_CANCEL:
		   exit(1);
		   break;
	      default:
		   break;
	   }
	   //if acount true then exit loop
	} while (f);
	/* send signal to check id user */
	send_buffer[0] =  30;
	send_buffer[1] = id_user;
	if ( write(sockfd,send_buffer,256) < 0 )
	perror("ERROR writing to socket");
/*hide dialog form login*/
  gtk_widget_hide (dialog);

}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	create all device buttons visible in main form. 
         * Parameter  :  2
		 "arr_button_device" (I) : array contain object button devices
		 "devices" (I) : array contain name and id of devices
         * Return       :  none
        ***************************************************************************/	
void create_devices (GtkWidget* arr_button_device[], Device devices [])
{
/*variables*/
  GtkWidget* arr_vbox [NUMBER_DEVICE];
  GdkPixbuf* arr_pixbuf [NUMBER_DEVICE];
  GtkWidget* arr_image [NUMBER_DEVICE];
  GtkWidget* arr_label [NUMBER_DEVICE];
  
  GError *err =NULL;

  int i,fkey;

  /* init font*/

  for(i=0; i<NUMBER_DEVICE; i++)
  {
    gchar* text;
    gchar* name;
    text = g_strconcat (devices[i].name,".jpg",NULL);
    //concat path string of image
    name = g_strconcat ("/usr/src/code/images/",text,NULL);
    //create and set size device
    arr_button_device[i]= gtk_button_new ();
    gtk_widget_set_size_request (arr_button_device[i],SIZE_DEVICE,SIZE_DEVICE);

    fkey =devices[i].key;

    // add signal for device
     g_signal_connect (G_OBJECT (arr_button_device[i]), "clicked",G_CALLBACK (button_clicked), (gpointer)fkey );

    //create vbox for add image and name device
    arr_vbox[i] = gtk_vbox_new (FALSE,0);
    gtk_container_set_border_width (GTK_CONTAINER(arr_vbox[i]),1);
    //image of device
    arr_pixbuf[i] = gdk_pixbuf_new_from_file_at_size(name,X_IMAGE_SIZE,Y_IMAGE_SIZE, &err);
    arr_image[i] = gtk_image_new_from_pixbuf (arr_pixbuf[i]);
    //name of device
    arr_label[i] = gtk_label_new ( devices[i].name);
    gtk_widget_modify_font (arr_label[i], init_font);
    //gtk_label_set_max_width_chars (GTK_LABEL(arr_label[i]),2);

    // add image and label into vbox
    gtk_box_pack_start_defaults (GTK_BOX (arr_vbox[i]), arr_image[i]);
    gtk_box_pack_start_defaults (GTK_BOX (arr_vbox[i]), arr_label[i]);

    //add vbox into device
    gtk_container_add (GTK_CONTAINER (arr_button_device[i]),arr_vbox[i]);
    //show device
    gtk_widget_show_all (arr_button_device[i]);
  }
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   :  create form all device which is visible on main window
         * Parameter  :  none
         * Return       :  none
        ***************************************************************************/	
void create_form_devices ()
{
	/* variables*/
	int data =1;
	int i;
	char* arr_char[4] = {"All Device","Active Device","Unactive Device","Reports"};
	GtkWidget *hbuttonbox;
	GtkWidget* arr_label[4];
	GtkWidget *fix_box;
	GtkWidget *notebook;
	GtkWidget *btnRefresh;
	GtkWidget *new_device, *open_all, *close_all;
	GtkWidget* label;

	/* create fix container */
	fix_box = gtk_fixed_new ();
	/* Add vbox to main window */
	gtk_container_add (GTK_CONTAINER ( window),fix_box);

	/*create notebook and place position of tabs */
	notebook = gtk_notebook_new ();
	gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);
	/* set properties for notebook */
	gtk_widget_set_size_request (notebook,NOTEBOOK_WIDTH,NOTEBOOK_HEIGHT);
	gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), 5);
	gtk_notebook_set_tab_border (GTK_NOTEBOOK (notebook), 5);
	gtk_notebook_set_homogeneous_tabs(GTK_NOTEBOOK(notebook),TRUE);
	// init 3 button New Device, Open All, Close All and set size of buttons 
	hbuttonbox  = gtk_hbox_new (FALSE,10);
	new_device = create_button (GTK_STOCK_NEW, "New Device");
	gtk_widget_set_size_request (new_device,-1,40);
	open_all = create_button (GTK_STOCK_OPEN,"Open All");
	gtk_widget_set_size_request (new_device,-1,40);
	close_all = create_button (GTK_STOCK_CLOSE,"Close All");
	gtk_widget_set_size_request (new_device,-1,40);
	/* add buttons to container hbuttonbox*/
	gtk_box_pack_start (GTK_BOX ( hbuttonbox) , new_device ,TRUE, TRUE ,0);
	gtk_box_pack_start (GTK_BOX ( hbuttonbox) , open_all ,TRUE, TRUE ,0);
	gtk_box_pack_start (GTK_BOX ( hbuttonbox) , close_all ,TRUE, TRUE ,0);

	/*add callback function into buttons*/
	g_signal_connect (G_OBJECT (open_all), "clicked",G_CALLBACK (function_open_all), (gpointer) data );
	g_signal_connect (G_OBJECT (close_all), "clicked",G_CALLBACK (function_close_all), (gpointer) data );
	
	/*add container hbuttonbox to fix container*/
	gtk_fixed_put (GTK_FIXED (fix_box), hbuttonbox, 100,380);
	/* add notebook to fix container*/
	gtk_fixed_put (GTK_FIXED (fix_box), notebook, 100,20);

	/*init taps */

	for (i =0;i<4;i++)
	{
	 arr_label [i] = gtk_label_new (arr_char [i]);
	 gtk_widget_modify_font (arr_label[i], init_font);
	//init fixbox
	arr_fix_box[i] = gtk_fixed_new ();
	 // add fixbox into notebook
	 gtk_notebook_append_page (GTK_NOTEBOOK (notebook), arr_fix_box[i], arr_label[i]);
	}

	for (i =0;i<3 ;i++)
	{
		//init container (hbox) for devices
		arr_hbutton_box [i] = gtk_hbox_new (FALSE,10);
		// add hbox into fixbox
		gtk_fixed_put (GTK_FIXED (arr_fix_box[i]),arr_hbutton_box[i],10,10);
	}
	/*create report and add to container*/
	create_report (treeview);
	gtk_fixed_put ( GTK_FIXED (arr_fix_box[3]), treeview, 3, 3 );

	/*button Refesh report */
	btnRefresh = create_button ( GTK_STOCK_REFRESH, "Refresh");
	gtk_fixed_put ( GTK_FIXED (arr_fix_box[3]), btnRefresh, 3,280  );
	g_signal_connect (G_OBJECT (btnRefresh), "clicked",G_CALLBACK (update_report), (gpointer) data );

	/* init device buttons in array arr_all_device */
	create_devices (arr_all_devices, all_device);
	/* init device buttons in array arr_active_unactive */
	create_devices (arr_active_unactive, all_device);
	
	/*add device buttons to notebook*/
	for (i =0 ; i<NUMBER_DEVICE; i++)
	{
	 // add to frame all_device
	gtk_box_pack_start (GTK_BOX ( arr_hbutton_box[0]) , arr_all_devices[i] ,TRUE, TRUE ,0);

	}
	/*add button device in active_unactive to container in 2 tab Active and Unactice on notebook*/
	 for (i =0 ; i<NUMBER_DEVICE; i++)
	{
		if (state_arr[i] == 1)
		{
			// add to frame active_device
			gtk_box_pack_start (GTK_BOX ( arr_hbutton_box[1]) , arr_active_unactive[i] ,TRUE, TRUE ,0);
		}
		else
		{
			// add to frame unactive_device
			gtk_box_pack_start (GTK_BOX ( arr_hbutton_box[2]) , arr_active_unactive[i] ,TRUE, TRUE ,0);
		}
	} 
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	create form login and check acount login and send signal id_acount to server
         * Parameter  :  none
         * Return       :  none
        ***************************************************************************/	
GtkWidget *create_main_window( const gchar*title )
{
  GtkWidget *window;
  /* Create toplevel widget */
    window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
    gtk_window_set_title( GTK_WINDOW( window ), title );
    gtk_window_set_default_size(GTK_WINDOW(window), 250, -1);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);

    gtk_signal_connect( GTK_OBJECT( window ), "delete-event",
                        GTK_SIGNAL_FUNC(delete_event_handler), NULL );
    gtk_signal_connect( GTK_OBJECT( window ), "destroy",
                        GTK_SIGNAL_FUNC(end_program), NULL );
	// create font for application
	display = gdk_display_get_default ();
	init_font = pango_font_description_from_string ("Sans 14");
	/* send signal for update database */
	send_buffer[0] = 40;
	if ( write(sockfd,send_buffer,256) < 0 )
	perror("ERROR writing to socket");
	
    return window;
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品久久二区二区蜜臀av| 日韩免费福利电影在线观看| 欧美日韩国产经典色站一区二区三区| 欧美一区二区精品久久911| 欧美国产综合色视频| 午夜精品久久久久久久久| 国产精品系列在线播放| 欧美一区二区不卡视频| 一区二区三区不卡视频在线观看 | 日韩成人dvd| 99精品欧美一区二区蜜桃免费| 亚洲手机成人高清视频| 国产一区二区福利视频| 欧美二区在线观看| 一区二区三区中文在线观看| 国产高清成人在线| 精品国产百合女同互慰| 奇米色777欧美一区二区| 在线视频国内一区二区| 亚洲视频在线观看三级| 国产suv精品一区二区三区| 欧美精品一区二区三| 老司机精品视频线观看86| 91麻豆精品国产91久久久资源速度 | 97精品国产露脸对白| 国产精品你懂的在线欣赏| 国产盗摄女厕一区二区三区| 欧美tickling挠脚心丨vk| 蜜芽一区二区三区| 91精品国产黑色紧身裤美女| 午夜伊人狠狠久久| 欧美日韩国产美| 午夜成人免费电影| 日韩欧美黄色影院| 久久国产婷婷国产香蕉| 日韩欧美www| 国产乱人伦偷精品视频不卡| 精品国产亚洲在线| 国产高清成人在线| 国产精品理论在线观看| 99r精品视频| 一区二区三区在线不卡| 欧美性做爰猛烈叫床潮| 日韩精品成人一区二区在线| 91精品国产综合久久精品图片 | 在线观看一区二区精品视频| 亚洲国产美国国产综合一区二区| 欧美日韩精品一区二区三区四区| 亚洲一区在线观看免费观看电影高清| 在线视频综合导航| 日本成人在线网站| 久久精品在线观看| 色94色欧美sute亚洲线路一久| 亚洲va中文字幕| 欧美精品一区二区三区蜜桃| 成人动漫视频在线| 亚洲国产日韩a在线播放性色| 欧美一区二区三区在线| 国产精品亚洲午夜一区二区三区| 亚洲视频中文字幕| 欧美丰满一区二区免费视频| 黄网站免费久久| 亚洲人吸女人奶水| 欧美xxx久久| 色综合久久天天| 久久精品国产一区二区| 国产精品麻豆网站| 欧美一区二区三区免费| 国产.精品.日韩.另类.中文.在线.播放| 国产精品短视频| 欧美va亚洲va在线观看蝴蝶网| 成人黄色在线视频| 热久久久久久久| 综合在线观看色| 精品成人一区二区三区四区| 色偷偷成人一区二区三区91| 蜜臀va亚洲va欧美va天堂| 中文字幕日韩精品一区| 在线观看91精品国产麻豆| 成人一区二区视频| 另类成人小视频在线| 亚洲欧美日韩在线播放| 精品国产乱码久久久久久图片 | 91精选在线观看| 国产精品一区二区男女羞羞无遮挡 | 精品精品国产高清a毛片牛牛| 不卡免费追剧大全电视剧网站| 青青草国产精品亚洲专区无| 综合av第一页| 久久亚洲综合色| 欧美久久免费观看| 日本乱码高清不卡字幕| 国产suv一区二区三区88区| 日本美女一区二区三区视频| 亚洲日本中文字幕区| 久久久久久99精品| 精品精品国产高清一毛片一天堂| 欧美四级电影网| 日本韩国欧美一区| 成人国产精品免费观看视频| 狠狠色狠狠色综合系列| 日韩av电影天堂| 香蕉乱码成人久久天堂爱免费| 亚洲色图视频网站| 最近中文字幕一区二区三区| 亚洲国产成人私人影院tom | 欧美老女人第四色| 色呦呦国产精品| 91亚洲精品一区二区乱码| 成人激情午夜影院| www.综合网.com| 成人性色生活片免费看爆迷你毛片| 国产一区二区网址| 国产麻豆视频一区二区| 国模一区二区三区白浆| 国产一区亚洲一区| 国产一区二区三区av电影| 久久99精品久久久久久久久久久久| 日一区二区三区| 亚洲成av人影院| 日韩中文字幕1| 日韩制服丝袜av| 国内久久精品视频| 国产东北露脸精品视频| 成人性生交大片免费看中文网站| 国产成人av电影在线| av不卡一区二区三区| 97久久超碰国产精品| 在线观看精品一区| 欧美乱妇一区二区三区不卡视频| 91精品欧美福利在线观看| 精品久久久久一区二区国产| 久久综合成人精品亚洲另类欧美| 久久久99精品免费观看不卡| 中文天堂在线一区| 亚洲综合激情另类小说区| 午夜精品久久久久久久| 国产一区二区三区国产| 99久久久无码国产精品| 欧美午夜片在线看| 欧美r级电影在线观看| 日本一区免费视频| 一区二区三区成人在线视频| 日韩精品成人一区二区在线| 国产乱码精品一区二区三| 91亚洲资源网| 日韩欧美在线1卡| 国产精品灌醉下药二区| 亚洲成人精品在线观看| 国产一区二区精品久久| 欧美亚洲一区二区在线观看| 精品久久国产字幕高潮| 亚洲欧美综合网| 老司机精品视频在线| aa级大片欧美| 日韩欧美国产高清| 亚洲欧美日韩系列| 国产美女精品人人做人人爽| 色天使久久综合网天天| 日韩一区二区麻豆国产| 国产精品久久久久婷婷| 日韩一区欧美二区| 色综合久久综合网| 久久亚洲二区三区| 三级不卡在线观看| 91在线观看视频| 久久精品一级爱片| 99这里都是精品| 欧美另类z0zxhd电影| 亚洲色图视频免费播放| 国产精品资源在线观看| 欧美美女一区二区在线观看| 专区另类欧美日韩| 国产精品一级二级三级| 3d动漫精品啪啪一区二区竹菊 | 一区二区三区在线免费视频| 国产一区二区主播在线| 在线不卡免费欧美| 夜夜夜精品看看| eeuss国产一区二区三区| 精品成人在线观看| 男女男精品视频| 欧洲一区二区三区免费视频| 国产日韩欧美一区二区三区乱码| 香蕉久久夜色精品国产使用方法| 91亚洲精华国产精华精华液| 日本一区二区三区电影| 国产主播一区二区三区| 精品国产免费一区二区三区香蕉| 亚洲成a人v欧美综合天堂| 在线观看欧美黄色| 一级日本不卡的影视| 91首页免费视频| 亚洲视频在线观看三级| 99九九99九九九视频精品| 国产精品久久久久久久第一福利| 国产精品 日产精品 欧美精品| 久久久高清一区二区三区| 国产老妇另类xxxxx| 国产视频视频一区|