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

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

?? gtkclist.c

?? 這些GTK+程序都是基于常用的API來實現熟悉這些API為目的
?? C
字號:
/* * * Sample Code for Gtk+ Programming in C, 1st Edition, Prentice Hall * * Copyright 2000 - 2002 Syd Logan, All Rights Reserved * * This code is distributed without warranty. You are free to use this * code for any purpose, however, if this code is republished or * redistributed in its original form, as hardcopy or electronically, * then you must include this copyright notice along with the code. * * Questions or comments regarding this code or any bugs it contains can * be directed to the author via e-mail at slogan@cts.com **/#include <gtk/gtk.h>#include <stdio.h>#include <string.h>#include <stdlib.h>static GtkWidget *list;intCompareDate(char *text1, char *text2){	char    *m1, *m2, *d1, *d2, *y1, *y2;	int    	im1, im2, id1, id2, iy1, iy2;	char	delim;	char t1buf[NAME_MAX], t2buf[NAME_MAX];	strncpy( t1buf, text1, NAME_MAX );	strncpy( t2buf, text2, NAME_MAX );	/* parse first date */	delim = '/';	m1 = strtok( t1buf, &delim );	d1 = strtok( NULL, &delim );	y1 = strtok( NULL, &delim );	/* parse second date */	m2 = strtok( t2buf, &delim );	d2 = strtok( NULL, &delim );	y2 = strtok( NULL, &delim );	/* make sure we got something for each */	if ( !m1 || !m2 || !d1 || !d2 || !y1 || !y2 )		return( 0 );	im1 = atoi( m1 ); id1 = atoi( d1 ); iy1 = atoi( y1 );	im2 = atoi( m2 ); id2 = atoi( d2 ); iy2 = atoi( y2 );	/* Year has precedence over month, which has precendence	   over the day */	if ( iy1 < iy2 )		return( -1 );	else if ( iy1 > iy2 )		return( 1 );	else {		// year is the same		if ( im1 < im2 )			return( -1 );		else if ( im1 > im2 )			return( 1 );		else {			// year, month are the same			if ( id1 < id2 )				return( -1 );			else if ( id1 > id2 )				return( 1 );			// fall through since dates are equal		}	}	return( 0 );}static gintMyCompare (GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2){  char *text1 = NULL;  char *text2 = NULL;  GtkCListRow *row1 = (GtkCListRow *) ptr1;  GtkCListRow *row2 = (GtkCListRow *) ptr2;  switch (row1->cell[clist->sort_column].type)    {    case GTK_CELL_TEXT:      text1 = GTK_CELL_TEXT (row1->cell[clist->sort_column])->text;      break;    case GTK_CELL_PIXTEXT:      text1 = GTK_CELL_PIXTEXT (row1->cell[clist->sort_column])->text;      break;    default:      break;    }  switch (row2->cell[clist->sort_column].type)    {    case GTK_CELL_TEXT:      text2 = GTK_CELL_TEXT (row2->cell[clist->sort_column])->text;      break;    case GTK_CELL_PIXTEXT:      text2 = GTK_CELL_PIXTEXT (row2->cell[clist->sort_column])->text;      break;    default:      break;    }  if (!text2)    return (text1 != NULL);  if (!text1)    return -1;  return CompareDate (text1, text2);}static gintCompareEntireRow(GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2){  char *text1 = NULL;  char *text2 = NULL;  int i, ret;  GtkCListRow *row1 = (GtkCListRow *) ptr1;  GtkCListRow *row2 = (GtkCListRow *) ptr2;  for ( i = 0; i < clist->columns; i++ ) {  	switch (row1->cell[i].type)    	{    	case GTK_CELL_TEXT:      		text1 = GTK_CELL_TEXT (row1->cell[i])->text;      		break;    	case GTK_CELL_PIXTEXT:      		text1 = GTK_CELL_PIXTEXT (row1->cell[i])->text;      		break;    	default:      		break;    	}    switch (row2->cell[i].type)    	{    	case GTK_CELL_TEXT:      		text2 = GTK_CELL_TEXT (row2->cell[i])->text;      		break;    	case GTK_CELL_PIXTEXT:      		text2 = GTK_CELL_PIXTEXT (row2->cell[i])->text;      		break;    	default:      		break;    	}  	if (!text2)    		return (text1 != NULL);  	if (!text1)    		return -1;  	ret = strcmp (text1, text2);	  if ( ret != 0 )		  return( ret );  }  return( 0 );}static GtkWidget*new_pixmap(char *filename, GdkWindow *window,  GdkColor *background, GdkPixmap **pmap, GdkBitmap **mask){  GtkWidget *wpixmap;  *pmap = gdk_pixmap_create_from_xpm (window, mask, background, filename);  wpixmap = gtk_pixmap_new (*pmap, *mask);  return wpixmap;}static voidQuitCallback(GtkWidget *widget, GtkWidget *dialog_window){	gtk_main_quit();	exit( 0 );}main( int argc, char *argv[] ){	int i;	GtkWidget *button, *hbox, *dialog_window;	GtkWidget *pixmap;	GdkPixmap *pmap;	GdkBitmap *mask;	GdkColor color, col1, col2;	char *texts[3];	GtkStyle *style = NULL, *style1 = NULL, *style2 = NULL, *style3 = NULL;	static char *titles[] =	{	    "",	    "Date",	    "Location",	};	gtk_init( &argc, &argv );	dialog_window = gtk_dialog_new(); 	gtk_window_position (GTK_WINDOW (dialog_window), GTK_WIN_POS_MOUSE);	gtk_widget_set_usize( dialog_window, 100, 100 );	hbox = gtk_hbox_new (FALSE, 0);	gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog_window)->vbox), 		hbox); 	list = gtk_clist_new_with_titles( 3, titles );	gtk_clist_set_sort_column(GTK_CLIST(list), 1);	gtk_clist_set_auto_sort(GTK_CLIST(list), TRUE);	gtk_clist_set_reorderable (GTK_CLIST(list), TRUE);	gtk_clist_set_compare_func(GTK_CLIST(list), MyCompare);	gtk_clist_set_use_drag_icons( GTK_CLIST(list), TRUE );	for ( i = 0; i < 3; i++ )		gtk_clist_column_title_passive( GTK_CLIST(list), TRUE );	texts[0] = "Item 1";	texts[1] = "3/5/2000";	texts[2] = "San Jose, CA";	gtk_clist_append( GTK_CLIST( list ), texts );	texts[0] = "Item 2";	texts[1] = "1/12/1999";	texts[2] = "Williamsburg, VA";	gtk_clist_append( GTK_CLIST( list ), texts );	texts[0] = "Item 3";	texts[1] = "1/12/1997";	texts[2] = "Seattle, WA";	gtk_clist_append( GTK_CLIST( list ), texts );	texts[0] = "Item 4";	texts[1] = "2/12/1998";	texts[2] = "New York, NY";	gtk_clist_append( GTK_CLIST( list ), texts );	gtk_clist_set_selection_mode(GTK_CLIST(list), GTK_SELECTION_SINGLE);	gtk_clist_set_column_auto_resize(GTK_CLIST(list), 0, TRUE );	gtk_clist_set_column_auto_resize(GTK_CLIST(list), 1, TRUE );	gtk_clist_set_column_auto_resize(GTK_CLIST(list), 2, TRUE );	gtk_clist_set_shift(GTK_CLIST(list), 1, 0, 5, 5 );  gtk_box_pack_start (GTK_BOX (hbox), list, FALSE, FALSE, 0);  button = gtk_button_new_with_label ("Quit");  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 		button, TRUE, TRUE, 0);  gtk_signal_connect (GTK_OBJECT (button), "clicked", 		GTK_SIGNAL_FUNC(QuitCallback), dialog_window);  gtk_widget_show_all (dialog_window);  pixmap = new_pixmap ("test.xpm", dialog_window->window,    &dialog_window->style->bg[GTK_STATE_NORMAL], &pmap, &mask);	gtk_clist_set_column_widget(GTK_CLIST(list), 0, pixmap);	color.red = color.green = 0; color.blue = 0xffff;	gtk_clist_set_foreground( GTK_CLIST( list ), 1, &color );  gtk_clist_set_pixtext (GTK_CLIST(list), 0, 2, "New York, NY", 5, pmap, mask);  col1.red   = 0;  col1.green = 56000;  col1.blue  = 0;  col2.red   = 32000;  col2.green = 0;  col2.blue  = 56000;  style1 = gtk_style_copy (GTK_WIDGET (list)->style);  style1->base[GTK_STATE_NORMAL] = col1;  style1->base[GTK_STATE_SELECTED] = col2;  style2 = GTK_WIDGET (list)->style;  style2->fg[GTK_STATE_NORMAL] = col1;  style2->fg[GTK_STATE_SELECTED] = col2;  style3 = gtk_style_copy (GTK_WIDGET (list)->style);  style3->fg[GTK_STATE_NORMAL] = col1;  style3->base[GTK_STATE_NORMAL] = col2;  gdk_font_unref (style3->font);  style3->font = gdk_font_load("-*-courier-medium-*-*-*-*-120-*-*-*-*-*-*");  style = list->style;  style = gtk_clist_get_cell_style( GTK_CLIST(list), 0, 0 );		style = gtk_clist_get_row_style( GTK_CLIST(list), 0 );	  gtk_clist_set_cell_style (GTK_CLIST (list), 0, 0, style1);  gtk_clist_set_cell_style (GTK_CLIST (list), 1, 0, style2);  gtk_clist_set_cell_style (GTK_CLIST (list), 2, 0, style3);	gtk_main();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂久久久久va久久久久| 国产亚洲欧美中文| 色偷偷88欧美精品久久久| 国产成人免费9x9x人网站视频| 日韩国产精品久久久久久亚洲| 亚洲成人在线免费| 日韩av高清在线观看| 蜜臀av国产精品久久久久| 免费高清成人在线| 紧缚捆绑精品一区二区| 狠狠狠色丁香婷婷综合久久五月| 久久国产生活片100| 精品一区二区三区日韩| 国产精品一区一区| caoporn国产一区二区| 95精品视频在线| 欧美天堂亚洲电影院在线播放| 欧美精三区欧美精三区| 91精品国产综合久久精品| 日韩你懂的在线播放| 久久久久久一级片| 亚洲少妇中出一区| 午夜精品久久一牛影视| 韩国成人精品a∨在线观看| 国产精品99久久久| 91老师国产黑色丝袜在线| 欧美日韩色综合| 日韩美女主播在线视频一区二区三区| 国产欧美精品日韩区二区麻豆天美| 久久综合99re88久久爱| 中文字幕亚洲在| 亚洲成人av一区| 国产一区二区毛片| 色94色欧美sute亚洲线路一ni | 国产精品每日更新| 一区二区激情小说| 国产一本一道久久香蕉| 一本色道久久综合精品竹菊| 91精品国产色综合久久不卡电影| 国产日韩精品一区二区三区 | 欧美三级日韩三级| 欧美精品一区二区三区蜜桃| 亚洲乱码国产乱码精品精小说| 日产国产高清一区二区三区| 丁香婷婷综合色啪| 6080日韩午夜伦伦午夜伦| 欧美高清在线精品一区| 日产精品久久久久久久性色| 成人精品国产一区二区4080| 日韩一区二区视频在线观看| 日韩理论片一区二区| 激情深爱一区二区| 欧美性受极品xxxx喷水| 久久精品亚洲精品国产欧美kt∨| 亚洲午夜激情网站| av中文一区二区三区| 久久色成人在线| 亚洲成人中文在线| 色系网站成人免费| 国产精品理论片在线观看| 麻豆国产欧美日韩综合精品二区| 91浏览器打开| 国产精品高潮呻吟| 国产激情一区二区三区桃花岛亚洲| 欧美年轻男男videosbes| 亚洲人亚洲人成电影网站色| 国产东北露脸精品视频| 日韩精品一区二区三区中文不卡 | 精品视频色一区| 亚洲人妖av一区二区| 成人性生交大片免费看视频在线| 欧美v国产在线一区二区三区| 亚洲成人在线免费| 欧美日韩精品欧美日韩精品一| 亚洲视频一二区| 色综合天天视频在线观看| 国产免费成人在线视频| 国产mv日韩mv欧美| 久久九九久精品国产免费直播| 久久精品久久综合| 欧美一级久久久| 久久成人免费电影| 日韩欧美成人一区| 国产在线精品视频| 久久久久久久综合| 成人性生交大片免费看视频在线 | 国产亚洲一区二区三区| 国产一区二区三区免费播放| 久久一夜天堂av一区二区三区| 经典三级视频一区| 国产日韩欧美高清| 91网上在线视频| 一区二区三区四区不卡视频| 欧美色手机在线观看| 肉色丝袜一区二区| 精品国产一区二区在线观看| 国产精品羞羞答答xxdd | 白白色 亚洲乱淫| 亚洲女同女同女同女同女同69| 91成人在线精品| 日韩高清国产一区在线| 2021中文字幕一区亚洲| 国产.精品.日韩.另类.中文.在线.播放| 一区二区视频在线| 欧美精品三级日韩久久| 国产在线精品免费av| 亚洲天堂2014| 91精品国产入口在线| 国产成人综合在线播放| 亚洲激情图片一区| 欧美sm美女调教| av网站一区二区三区| 日韩影院免费视频| 欧美—级在线免费片| 欧美日韩精品久久久| 国产一区二区电影| 亚洲午夜一二三区视频| 精品sm捆绑视频| 在线观看视频一区| 国产福利不卡视频| 日韩经典中文字幕一区| 国产精品私房写真福利视频| 欧美另类高清zo欧美| 成人av中文字幕| 黄色资源网久久资源365| 一区二区三区四区不卡在线| 久久精品一区二区三区四区| 欧美日韩一卡二卡三卡| 国产精品18久久久久久vr| 亚洲一二三四在线| 国产精品久久久久一区| 精品国产成人系列| 欧美日韩国产一二三| 成人一级视频在线观看| 久久99久久精品| 性欧美大战久久久久久久久| 1024亚洲合集| 国产视频一区二区在线| 欧美一激情一区二区三区| 欧美午夜一区二区三区| 99热这里都是精品| 成人综合在线观看| 精品亚洲国产成人av制服丝袜| 亚洲mv在线观看| 亚洲国产欧美日韩另类综合| 亚洲天堂成人在线观看| 国产精品久久久久一区二区三区共| 精品福利一区二区三区免费视频| 欧美日韩免费观看一区三区| 色狠狠色狠狠综合| 97久久超碰国产精品| 成人黄页毛片网站| 成人黄色综合网站| 不卡av在线免费观看| 成人sese在线| 成人免费va视频| 成人aa视频在线观看| 99精品在线免费| 色偷偷久久一区二区三区| 99精品一区二区三区| 色综合久久天天| 91行情网站电视在线观看高清版| 91一区二区在线观看| 日本高清不卡视频| 欧美亚一区二区| 欧美精品99久久久**| 日韩一区二区免费在线观看| 欧美va日韩va| 中文字幕免费在线观看视频一区| 中文av一区二区| 一区二区三区四区视频精品免费| 亚洲精品第一国产综合野| 亚洲午夜激情av| 老司机精品视频在线| 国产精品亚洲一区二区三区妖精 | 中文字幕中文字幕在线一区| 日韩一区在线看| 亚洲高清免费视频| 久久成人免费日本黄色| 国产盗摄女厕一区二区三区| 91影院在线免费观看| 精品视频在线免费看| 欧美精品一区二区高清在线观看 | 波多野结衣欧美| 欧美图片一区二区三区| 欧美电影免费观看高清完整版在线观看| 精品成人免费观看| 亚洲另类一区二区| 久久精品国产精品亚洲精品| 粗大黑人巨茎大战欧美成人| 欧美在线不卡一区| 亚洲精品一线二线三线| 亚洲柠檬福利资源导航| 日韩一区精品字幕| youjizz国产精品| 日韩一区二区电影| 亚洲日本在线天堂| 激情欧美一区二区三区在线观看| 色综合久久综合网| 国产日韩精品一区二区三区|