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

📄 common.c

📁 Linux 上的socket嗅探器
💻 C
📖 第 1 页 / 共 2 页
字号:
        lpctrl->ctrl  = gtk_clist_new_with_titles(column, titles);    lpctrl->scrolled_window =  gtk_append_scrollctrl(lpctrl->ctrl);    if(window!=NULL)        gtk_container_add (GTK_CONTAINER (window), lpctrl->scrolled_window);    gtk_widget_show_all (lpctrl->scrolled_window);    return lpctrl->scrolled_window;}GtkWidget *treectrl_createnew(GtkWidget *window,GtkScrollCtrl *lpctrl){    if(lpctrl->regsignal==GTK_WIDGET_REG)        return (lpctrl->scrolled_window);    else lpctrl->regsignal=GTK_WIDGET_REG;    lpctrl->ctrl  = gtk_tree_new();    lpctrl->scrolled_window = gtk_append_scrollviewport(lpctrl->ctrl);    if(window!=NULL)        gtk_container_add (GTK_CONTAINER (window), lpctrl->scrolled_window);    gtk_widget_show_all (lpctrl->scrolled_window);    return lpctrl->scrolled_window;}/* ----------------- list box  -------------*/#define listbox_itemdata_key  ("LBIDK")GtkWidget *listbox_createnew(GtkWidget *window,GtkScrollCtrl *lpctrl){    if(lpctrl->regsignal==GTK_WIDGET_REG)        return (lpctrl->scrolled_window);    else lpctrl->regsignal=GTK_WIDGET_REG;    lpctrl->ctrl  = gtk_list_new();    gtk_list_set_selection_mode(GTK_LIST(lpctrl->ctrl),GTK_SELECTION_SINGLE);    lpctrl->scrolled_window = gtk_append_scrollviewport(lpctrl->ctrl);    if(window!=NULL)        gtk_container_add (GTK_CONTAINER (window), lpctrl->scrolled_window);    gtk_widget_show_all (lpctrl->scrolled_window);    return lpctrl->scrolled_window;}gint listbox_insertitem(GtkScrollCtrl lpctrl,GtkListBoxItemData item, gint index){	  GtkWidget *label;    GtkWidget *list_item;    GList   *dlist;    if(lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(index<0)        index=0;	  label=gtk_label_new (item.itemname);	  g_object_set_data (G_OBJECT (label), listbox_itemdata_key,  (gpointer)item.itemdata);	  list_item=gtk_list_item_new ();	  gtk_container_add (GTK_CONTAINER (list_item), label);	  gtk_widget_show (label);	  dlist = g_list_prepend (NULL, list_item);	  gtk_list_insert_items (GTK_LIST (lpctrl.ctrl), dlist,index);	  gtk_widget_show (list_item);	  g_object_set_data (G_OBJECT (list_item), listbox_itemdata_key, label );    return 0;}gint listbox_getitem(GtkScrollCtrl lpctrl,GtkListBoxItemData *lpitem, gint index){    GList   *dlist=NULL;	  GtkWidget *label=NULL;    gint curidx=0;    if(lpitem==NULL||lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(index<0)        index=0;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;    /* Fetch the doubly linked list of selected items     * of the List, remember to treat this as read-only!     */    dlist=GTK_LIST (lpctrl.ctrl)->children;    while(dlist)    {        if(curidx==index)        {            break;        }        else        {            dlist=dlist->next;            curidx++;        }    }    /* If there are no selected items there is nothing more     * to do than just telling the user so     */    if (!dlist)      	return -1;    label=(GtkWidget*) g_object_get_data (G_OBJECT (dlist->data),listbox_itemdata_key);    if(label==NULL)      	return -1;    sprintf(lpitem->itemname,"%s",(char *)gtk_label_get_text(GTK_LABEL(label)));    lpitem->itemdata= (gulong)g_object_get_data (G_OBJECT (label),listbox_itemdata_key);    return index;}gint listbox_getselectitem(GtkScrollCtrl lpctrl,GtkListBoxItemData *lpitem){    GList   *dlist=NULL;	  GtkWidget *label=NULL;    if(lpitem==NULL||lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;    /* Fetch the doubly linked list of selected items     * of the List, remember to treat this as read-only!     */    dlist = GTK_LIST (lpctrl.ctrl)->selection;    /* If there are no selected items there is nothing more     * to do than just telling the user so     */    if (!dlist)      	return -1;    label=(GtkWidget*) g_object_get_data (G_OBJECT (dlist->data),listbox_itemdata_key);    if(label==NULL)      	return -1;    sprintf(lpitem->itemname,"%s",(char *)gtk_label_get_text(GTK_LABEL(label)));    lpitem->itemdata= (gulong)g_object_get_data (G_OBJECT (label),listbox_itemdata_key);    return listbox_getseletemark(lpctrl);}gint listbox_deleteitem(GtkScrollCtrl lpctrl, gint index){    gint curidx=0;    GList   *dlist=NULL;    if(lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(index<0)        index=0;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;            dlist=GTK_LIST(lpctrl.ctrl)->children;    while(dlist)    {        if(curidx==index)        {            gtk_list_unselect_all(GTK_LIST(lpctrl.ctrl));            if(dlist==GTK_LIST (lpctrl.ctrl)->children)            {                GTK_LIST (lpctrl.ctrl)->children=dlist->next;                if(dlist->next)                    dlist->next->prev=dlist->prev;            }            else            {                if(dlist->prev)                    dlist->prev->next=dlist->next;                if(dlist->next)                    dlist->next->prev=dlist->prev;            }            dlist->prev=0;            dlist->next=0;            gtk_list_remove_items(GTK_LIST(lpctrl.ctrl),dlist);                        break;        }        else        {            dlist=dlist->next;            curidx++;        }    }    if(!dlist) curidx=-1;    return curidx;}gint listbox_deleteitems(GtkScrollCtrl lpctrl){    gint count=0;    GList   *dlist=NULL;    if(lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;    dlist=(GTK_LIST(lpctrl.ctrl))->children;    while(dlist)    {        count++;        dlist=dlist->next;    }    dlist=GTK_LIST (lpctrl.ctrl)->children ;    if(dlist)    {        if(dlist->prev)            dlist->prev->next=0;        dlist->prev=0;         gtk_list_remove_items(GTK_LIST(lpctrl.ctrl),dlist);    }        return count;}gint listbox_getitemcount(GtkScrollCtrl lpctrl){    gint count=0;    GList   *dlist=NULL;    if(lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;    dlist=GTK_LIST(lpctrl.ctrl)->children;    while(dlist)    {        count++;        dlist=dlist->next;    }    return count;}gint listbox_getseletemark(GtkScrollCtrl lpctrl){    gint count=0;    GList   *dlist=NULL,*dsel=NULL;    if(lpctrl.regsignal!=GTK_WIDGET_REG)        return -1;    if(GTK_LIST(lpctrl.ctrl)==NULL)        return -1;    dlist=GTK_LIST (lpctrl.ctrl)->children;    dsel=GTK_LIST (lpctrl.ctrl)->selection;    while(dlist&&dsel)    {        if(dsel->data==dlist->data)           break;        dlist=dlist->next;        count++;    }    if((!dlist)||(!dsel))        count=-1;    return count;}

⌨️ 快捷键说明

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