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

📄 hablist_view.c

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 C
字号:
//  This file is part of MANTIS OS, Operating System//  See http://mantis.cs.colorado.edu/////  Copyright (C) 2003-2005 University of Colorado, Boulder////  This program is free software; you can redistribute it and/or//  modify it under the terms of the mos license (see file LICENSE)#include <stdbool.h>#include <string.h>#include <glib.h>#include "gui_gtk.h" //provides gtk headers and get_widget#include "bionet.h"#include "model_gtk.h"#include "hablist_view.h"#include "cortex.h"GtkTreeStore *hab_model;GtkWidget *hab_treeview;static void hablist_setup_treeview();static void hablist_add_hab(bionet_hab_t *hab);void hablist_view_init(void){   hab_treeview = get_widget(xml, "treeview_hablist");   hablist_setup_treeview();   model_add_hab_register_func(hablist_add_hab);}static void hablist_setup_treeview(void){   GtkTreeViewColumn *column;   GtkCellRenderer *renderer;   // Setup the HAB treeview   hab_model = gtk_tree_store_new(MAX_HAB_INDEX, G_TYPE_STRING);   gtk_tree_view_set_model(GTK_TREE_VIEW(hab_treeview),			   GTK_TREE_MODEL(hab_model));   g_object_unref(hab_model);   renderer = gtk_cell_renderer_text_new();   column = gtk_tree_view_column_new_with_attributes("HAB Name", renderer,						     "text", HAB_NAME, NULL);   gtk_tree_view_append_column(GTK_TREE_VIEW(hab_treeview), column);}void hablist_add_hab(bionet_hab_t *hab){   GtkTreeIter iter;   gchar hab_buf [256];      g_sprintf(hab_buf, "%s.%s", hab->type, hab->id);      gtk_tree_store_append(hab_model, &iter, NULL);   gtk_tree_store_set(hab_model, &iter, HAB_NAME, hab_buf, -1);   debug("Got a new HAB: %s", hab_buf);}//SIGNAL HANDLERSvoid hab_selection_handler_helper(GtkTreeModel *model, GtkTreePath *path,				  GtkTreeIter *iter, gpointer data){   bionet_hab_t hab;   gchar *hab_name;      gtk_tree_model_get(model, iter, HAB_NAME, &hab_name, -1);   debug("%s", hab_name);   GSList *habs;   bionet_list_habs_by_name_pattern(&habs, hab_name);   g_free(hab_name);   for(; habs != NULL; habs = habs -> next) {      bionet_hab_t *hab = habs->data;      model_select_hab(hab);   }   g_slist_free(habs);}void hab_selection_handler(GtkTreeView *treeview,			   GtkTreePath *arg1,			   GtkTreeViewColumn *arg2,			   gpointer user_data){   GtkTreeSelection *selected_list;   selected_list = gtk_tree_view_get_selection(treeview);      gtk_tree_selection_selected_foreach(selected_list, hab_selection_handler_helper,				       NULL);  }

⌨️ 快捷键说明

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