void append_udp_tree() { GtkWidget *subtree; gint i = 0; item[3] = gtk_tree_item_new_with_label(udp_buf.title); gtk_tree_append(GTK_TREE(tree),item[3]); subtree = gtk_tree_new(); gtk_tree_set_selection_mode (GTK_TREE(subtree),GTK_SELECTION_SINGLE); gtk_tree_set_view_mode (GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); gtk_tree_item_set_subtree (GTK_TREE_ITEM(item[3]), subtree); GtkWidget *subitem; subitem = gtk_tree_item_new_with_label (udp_buf.source); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (udp_buf.dest); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (udp_buf.length); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (udp_buf.check); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); gtk_widget_show (item[3]); }
void append_ether_tree() { GtkWidget *subtree; gint i = 0; item[1] = gtk_tree_item_new_with_label(ether_buf.title); gtk_tree_append(GTK_TREE(tree),item[1]); subtree = gtk_tree_new(); gtk_tree_set_selection_mode (GTK_TREE(subtree),GTK_SELECTION_SINGLE); gtk_tree_set_view_mode (GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); gtk_tree_item_set_subtree (GTK_TREE_ITEM(item[1]), subtree); GtkWidget *subitem; subitem = gtk_tree_item_new_with_label (ether_buf.dst_mac); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ether_buf.src_mac); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ether_buf.protocol); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); gtk_widget_show (item[1]); }
void append_arp_tree() { GtkWidget *subtree; item[2] = gtk_tree_item_new_with_label(arp_buf.title); gtk_tree_append(GTK_TREE(tree),item[2]); subtree = gtk_tree_new(); gtk_tree_set_selection_mode (GTK_TREE(subtree),GTK_SELECTION_SINGLE); gtk_tree_set_view_mode (GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); gtk_tree_item_set_subtree (GTK_TREE_ITEM(item[2]), subtree); GtkWidget *subitem; subitem = gtk_tree_item_new_with_label (arp_buf.ar_hrd); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.ar_pro); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.ar_hln); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.ar_pln); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.ar_op); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.src_mac); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.src_ip); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.dst_mac); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (arp_buf.dst_ip); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); gtk_widget_show (item[2]); }
/*** sfeRebuildUI_r - recursively build the new treeview display of the *** parsed structure file representation. ***/ int sfeRebuildUI_r(pStructInf data, GtkTreeItem *subitem) { int i; pStructInf subinf; GtkWidget *subtreeitem, *subsubtree; GtkWidget *subtree = NULL; /** Loop through the subinfs, and add items/subtrees for each. **/ for(i=0;i<data->nSubInf;i++) if (stStructType(data->SubInf[i]) == ST_T_SUBGROUP) { subinf = data->SubInf[i]; /** Only add the subtree once, and only if we need a subtree. This ** is why we do this in here instead of outside the loop. **/ if (!subtree) { subtree = gtk_tree_new(); gtk_tree_item_set_subtree(GTK_TREE_ITEM(subitem), subtree); gtk_tree_set_view_mode(GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); } /** Add the item to the subtree **/ subtreeitem = sfeBuildTreeItemWithImage(subinf); gtk_tree_append(GTK_TREE(subtree), subtreeitem); gtk_widget_show(subtreeitem); sfeRebuildUI_r(subinf, GTK_TREE_ITEM(subtreeitem)); } return 0; }
GtkWidget * create_subtree(action *a_node, int n) { int i; GtkWidget *new_subtree; char *str; new_subtree = gtk_tree_new(); for (i = 0; i < a_node->count; i++){ GtkWidget *item, *sub_subtree; GtkWidget *box; if (!xmlStrcmp (a_node->action[i]->name, (const xmlChar *) "action")) { item = gtk_tree_item_new(); str = (char *) malloc (sizeof(char) * (2+ strlen (xmlGetProp (a_node->action[i], "name")))); strcpy (str, (xmlGetProp (a_node->action[i], "name"))); box = setpixmap (str, a_node->action[i]); gtk_container_add (GTK_CONTAINER (item), box); gtk_tree_append (GTK_TREE(new_subtree), item); free (str); str = NULL; linklist[n][counting_action-1].next = a_node->action[i]; linklist[n][counting_action].cur = a_node->action[i]; linklist[n][counting_action].item = item; linklist[n][counting_action+1].prev = a_node->action[i]; counting_action++; } else if ( xmlStrcmp (a_node->action[i]->name, (const xmlChar *) "action")) { item = gtk_tree_item_new(); str = (char *) malloc (sizeof(char) * (2 +strlen(a_node->action[i]->name))); strcpy (str, a_node->action[i]->name); box = setpixmap (str, a_node->action[i]); gtk_container_add (GTK_CONTAINER (item), box); free (str); str = NULL; gtk_tree_append (GTK_TREE(new_subtree), item); sub_subtree = create_subtree(a_node->iterptr, n); gtk_tree_item_set_subtree(GTK_TREE_ITEM(item), sub_subtree); gtk_tree_item_expand (GTK_TREE_ITEM (item)); gtk_widget_show (sub_subtree); } gtk_signal_connect (GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(tree_select), a_node->action[i]); gtk_signal_connect (GTK_OBJECT(item), "deselect", GTK_SIGNAL_FUNC(tree_deselect), NULL); gtk_signal_connect (GTK_OBJECT(item), "toggle", GTK_SIGNAL_FUNC(tree_toggle), NULL); gtk_signal_connect (GTK_OBJECT(item), "expand", GTK_SIGNAL_FUNC(tree_expand),NULL); gtk_signal_connect (GTK_OBJECT(item), "collapse", GTK_SIGNAL_FUNC(tree_collapse), NULL); gtk_widget_show (item); } return new_subtree; }
void append_data_tree() { GtkWidget *subtree; item[4] = gtk_tree_item_new_with_label(data_buf.title); gtk_tree_append(GTK_TREE(tree),item[4]); subtree = gtk_tree_new(); gtk_tree_set_selection_mode (GTK_TREE(subtree),GTK_SELECTION_SINGLE); gtk_tree_set_view_mode (GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); gtk_tree_item_set_subtree (GTK_TREE_ITEM(item[4]), subtree); GtkWidget *subitem; subitem = gtk_tree_item_new_with_label (data_buf.data); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); gtk_widget_show (item[4]); }
GtkWidget *AddItem(GtkWidget *tree, char *name, char *filename) { GtkWidget *item; item = gtk_tree_item_new_with_label(name); gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(select_item), filename); gtk_signal_connect(GTK_OBJECT(item), "deselect", GTK_SIGNAL_FUNC(deselect_item), filename); // You can also add the following signals: toggle, expand, collapse gtk_tree_append(GTK_TREE(tree), item); gtk_widget_show(item); return item; }
/* Adds the GtkTreeItem in tree_item to the end of the items in tree. */ int clip_GTK_TREEAPPEND(ClipMachine * cm) { C_widget *ctree = _fetch_cw_arg(cm); C_widget *citem = _fetch_cwidget(cm,_clip_spar(cm,2)); CHECKCWID(ctree,GTK_IS_TREE); CHECKOPT2(2,MAP_t,NUMERIC_t); CHECKCWID(citem,GTK_TREE_ITEM); gtk_tree_append(GTK_TREE(ctree->widget), citem->widget); return 0; err: return 1; }
/* Adds the GtkTreeItem in tree_item to the end of the items in tree. */ int clip_GTK_TREEAPPEND(ClipMachine * ClipMachineMemory) { C_widget *ctree = _fetch_cw_arg(ClipMachineMemory); C_widget *citem = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2)); CHECKCWID(ctree, GTK_IS_TREE); CHECKOPT2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType); CHECKCWID(citem, GTK_TREE_ITEM); gtk_tree_append(GTK_TREE(ctree->widget), citem->widget); return 0; err: return 1; }
void build_tree( void ) { clear_tree( ); GtkTree* tree = GTK_TREE( context.tree ); PAKFile* pak = context.pak; PAKTree& pak_tree = pak->getTree( ); PAKTreeNode& root = pak_tree.getRoot( ); // Construct the special root node. // GtkWidget* item = gtk_tree_item_new_with_label( const_cast<char*>( pak->getPakName( ) ) ); GtkWidget* item = gtk_tree_item_new_with_label( context.pak_filename ); gtk_signal_connect( GTK_OBJECT( item ), "select", GTK_SIGNAL_FUNC( tree_item_selected ), NULL ); gtk_tree_append( tree, item ); gtk_widget_show( item ); GtkWidget* root_tree = gtk_tree_new( ); gtk_tree_item_set_subtree( GTK_TREE_ITEM( item ), root_tree ); add_children_to_tree( GTK_TREE( root_tree ), root ); }
void add_children_to_tree( GtkTree* tree, PAKTreeNode& pak_node ) { for( int i = 0; i < pak_node.numNodes( ); ++i ) { PAKTreeNode& node = pak_node.getNode( i ); char* name = node.getName( ); GtkWidget* item = gtk_tree_item_new_with_label( name ); gtk_signal_connect( GTK_OBJECT( item ), "select", GTK_SIGNAL_FUNC( tree_item_selected ), NULL ); gtk_tree_append( GTK_TREE( tree ), item ); gtk_widget_show( item ); if( node.numNodes( ) > 0 ) { GtkWidget* sub_tree = gtk_tree_new( ); gtk_tree_item_set_subtree( GTK_TREE_ITEM( item ), sub_tree ); add_children_to_tree( GTK_TREE( sub_tree ), node ); } } }
void start(void* v) { GtkWidget *scrolled_win, *tree, *hpanes, *vbox, *menu, *list; /*static gchar *itemnames[] = {"One", "Two", "Three", "Four", "Five"};*/ GtkItemFactory *item_factory; GtkAccelGroup *accel_group; gint nmenu_items; gint i; GtkWidget *table; GtkWidget *name_label, *info_vbox; GtkWidget *type_label; GtkWidget *annot_label, *annot_hbox, *annot_vscroll; GtkWidget *sep1; GtkWidget *props_hbox, *props_scrollwin; GtkWidget *menu_item; gtk_init (&SFE_Globals.ArgC, &SFE_Globals.ArgV); SFE_Globals.Data = stCreateStruct("new","x-unknown/x-unknown"); SFE_Globals.Modified = 0; SFE_Globals.HideColTitles = 0; /* a generic toplevel window */ SFE_Globals.Window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(SFE_Globals.Window), "Centrallix Structure File Editor"); gtk_signal_connect (GTK_OBJECT(SFE_Globals.Window), "delete_event", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_widget_set_usize(SFE_Globals.Window, 600, 350); /** Build the Open File... dialog box **/ SFE_Globals.OpenDialog = gtk_file_selection_new("Open File..."); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(SFE_Globals.OpenDialog)->cancel_button), "clicked", (GtkSignalFunc)sfe_ui_FileOpenCancel, GTK_OBJECT(SFE_Globals.OpenDialog)); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(SFE_Globals.OpenDialog)->ok_button), "clicked", (GtkSignalFunc)sfe_ui_FileOpenOk, GTK_OBJECT(SFE_Globals.OpenDialog)); /* vertical box organizing the menu vs. rest of app */ vbox = gtk_vbox_new(FALSE,1); gtk_container_add(GTK_CONTAINER(SFE_Globals.Window), vbox); gtk_widget_show(vbox); /* menu */ nmenu_items = sizeof(menu_items) / sizeof(menu_items[0]); accel_group = gtk_accel_group_new(); item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<main>", accel_group); gtk_item_factory_create_items(item_factory, nmenu_items, menu_items, NULL); gtk_window_add_accel_group(GTK_WINDOW(SFE_Globals.Window), accel_group); menu = gtk_item_factory_get_widget(item_factory, "<main>"); gtk_box_pack_start(GTK_BOX(vbox), menu, FALSE, TRUE, 0); /*menu_item = gtk_item_factory_get_widget(GTK_ITEM_FACTORY(item_factory),"/View/Column Titles"); gtk_menu_item_activate(GTK_MENU_ITEM(menu_item));*/ gtk_widget_show(menu); /* horizontal layout box organizing the treeview and the data view pane */ hpanes = gtk_hpaned_new(); gtk_container_add(GTK_CONTAINER(vbox), hpanes); gtk_container_set_border_width (GTK_CONTAINER(hpanes), 5); gtk_paned_set_gutter_size(GTK_PANED(hpanes), 16); gtk_widget_show(hpanes); /* A generic scrolled window - for the treeview. */ scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize (scrolled_win, 150, 200); gtk_container_add (GTK_CONTAINER(hpanes), scrolled_win); gtk_widget_show (scrolled_win); /* Create the root tree and add it to the scrolled window */ tree = gtk_tree_new(); gtk_signal_connect (GTK_OBJECT(tree), "select_child", GTK_SIGNAL_FUNC(cb_select_child), tree); gtk_signal_connect (GTK_OBJECT(tree), "unselect_child", GTK_SIGNAL_FUNC(cb_unselect_child), tree); gtk_signal_connect (GTK_OBJECT(tree), "selection_changed", GTK_SIGNAL_FUNC(sfe_ui_TreeSelectionChanged), tree); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_win), tree); gtk_tree_set_selection_mode (GTK_TREE(tree), GTK_SELECTION_SINGLE); gtk_tree_set_view_mode(GTK_TREE(tree), GTK_TREE_VIEW_ITEM); gtk_widget_show (tree); SFE_Globals.TreeView = tree; /** build the item name section **/ info_vbox = gtk_vbox_new(FALSE,1); gtk_container_add(GTK_CONTAINER(hpanes), info_vbox); gtk_widget_show(info_vbox); table = gtk_table_new(3,2,FALSE); gtk_box_pack_start(GTK_BOX(info_vbox), table, FALSE, TRUE, 0); gtk_widget_show(table); name_label = gtk_label_new("Name:"); gtk_label_set_justify(GTK_LABEL(name_label), GTK_JUSTIFY_LEFT); gtk_table_attach(GTK_TABLE(table), name_label, 0, 1, 0, 1, 0, 0, 0, 0); gtk_widget_show(name_label); SFE_Globals.NameEdit = gtk_entry_new_with_max_length(63); gtk_table_attach(GTK_TABLE(table), SFE_Globals.NameEdit, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0, 0); gtk_widget_show(SFE_Globals.NameEdit); /** Item type **/ type_label = gtk_label_new("Type:"); gtk_label_set_justify(GTK_LABEL(type_label), GTK_JUSTIFY_LEFT); gtk_table_attach(GTK_TABLE(table), type_label, 0, 1, 1, 2, 0, 0, 0, 0); gtk_widget_show(type_label); SFE_Globals.TypeCombo = gtk_combo_new(); gtk_table_attach(GTK_TABLE(table), SFE_Globals.TypeCombo, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0, 8); gtk_widget_show(SFE_Globals.TypeCombo); /** Annotation/description/comments section **/ annot_label = gtk_label_new("Desc:"); gtk_label_set_justify(GTK_LABEL(annot_label), GTK_JUSTIFY_LEFT); gtk_table_attach(GTK_TABLE(table), annot_label, 0, 1, 2, 3, 0, 0, 0, 0); gtk_widget_show(annot_label); annot_hbox = gtk_hbox_new(FALSE,1); gtk_table_attach(GTK_TABLE(table), annot_hbox, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 0, 0); gtk_widget_show(annot_hbox); SFE_Globals.AnnotText = gtk_text_new(NULL,NULL); gtk_text_set_editable(GTK_TEXT(SFE_Globals.AnnotText), TRUE); gtk_widget_set_usize(SFE_Globals.AnnotText, 100, 48); gtk_container_add(GTK_CONTAINER(annot_hbox), SFE_Globals.AnnotText); gtk_widget_show(SFE_Globals.AnnotText); annot_vscroll = gtk_vscrollbar_new(GTK_TEXT(SFE_Globals.AnnotText)->vadj); gtk_box_pack_end(GTK_BOX(annot_hbox), annot_vscroll, FALSE, TRUE, 0); gtk_widget_show(annot_vscroll); sep1 = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(info_vbox), sep1, FALSE, TRUE, 8); gtk_widget_show(sep1); /** Add a columnar list box for the attributes **/ props_scrollwin = gtk_scrolled_window_new(NULL,NULL); gtk_container_add(GTK_CONTAINER(info_vbox), props_scrollwin); gtk_widget_show(props_scrollwin); SFE_Globals.AttrsCList = gtk_clist_new_with_titles(2, props_clist_titles); gtk_clist_set_selection_mode(GTK_CLIST(SFE_Globals.AttrsCList), GTK_SELECTION_SINGLE); gtk_container_add(GTK_CONTAINER(props_scrollwin), SFE_Globals.AttrsCList); gtk_widget_show(SFE_Globals.AttrsCList); gtk_signal_connect (GTK_OBJECT(SFE_Globals.AttrsCList), "select_row", GTK_SIGNAL_FUNC(sfe_ui_CListAttrSelected), SFE_Globals.AttrsCList); #if 0 /** Put some cruft in the treeview **/ for (i = 0; i < 5; i++) { GtkWidget *subtree, *item; gint j; /* Create a tree item */ item = gtk_tree_item_new_with_label (itemnames[i]); /* Add it to the parent tree */ gtk_tree_append (GTK_TREE(tree), item); gtk_widget_show (item); subtree = gtk_tree_new(); /* This is still necessary if you want these signals to be called * for the subtree's children. Note that selection_change will be * signalled for the root tree regardless. */ gtk_signal_connect (GTK_OBJECT(subtree), "select_child", GTK_SIGNAL_FUNC(cb_select_child), subtree); gtk_signal_connect (GTK_OBJECT(subtree), "unselect_child", GTK_SIGNAL_FUNC(cb_unselect_child), subtree); /* Set this item's subtree - note that you cannot do this until * AFTER the item has been added to its parent tree! */ gtk_tree_item_set_subtree (GTK_TREE_ITEM(item), subtree); for (j = 0; j < 5; j++) { GtkWidget *subitem; /* Create a subtree item, in much the same way */ subitem = gtk_tree_item_new_with_label (itemnames[j]); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); } } #endif /** Open the main window **/ gtk_widget_show (SFE_Globals.Window); /** Load any file specified on the command line **/ if (SFE_Globals.ArgC == 2 && SFE_Globals.ArgV[1]) sfeLoadFile(SFE_Globals.ArgV[1]); else sfeRebuildUI(SFE_Globals.Data, GTK_TREE(tree)); /** Create the attribute editing window **/ SFE_Globals.AttrEditWindow = sfe_ui_CreateAttrDialog(); /** Enter the event loop for GTK **/ gtk_main(); thExit(); }
void append_ip_tree() { GtkWidget *subtree; gint i = 0; item[2] = gtk_tree_item_new_with_label(ip_buf.title); gtk_tree_append(GTK_TREE(tree),item[2]); subtree = gtk_tree_new(); gtk_tree_set_selection_mode (GTK_TREE(subtree),GTK_SELECTION_SINGLE); gtk_tree_set_view_mode (GTK_TREE(subtree), GTK_TREE_VIEW_ITEM); gtk_tree_item_set_subtree (GTK_TREE_ITEM(item[2]), subtree); GtkWidget *subitem; subitem = gtk_tree_item_new_with_label (ip_buf.version); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.headlen); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.tos); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.tot_len); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.id); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.df); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.mf); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.offset); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.ttl); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.checksum); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.protocol); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.src_ip); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); subitem = gtk_tree_item_new_with_label (ip_buf.dst_ip); gtk_tree_append (GTK_TREE(subtree), subitem); gtk_widget_show (subitem); gtk_widget_show (item[2]); }
GtkWidget * create_task_tree(int n) { int i; /*n=Process #*/ char *strr; char *str; counting_action = 0; GtkWidget *tree, *subtree; GtkWidget *treename; GtkWidget *box; tree = gtk_tree_new(); strr = (char *) malloc (sizeof(char) * (strlen(xmlGetProp (table[n].process, "model"))) + strlen (" Pid: ")+ strlen (xmlGetProp(table[n].process, "pid")) + 256); strcat (strcat (strcpy (strr, xmlGetProp (table[n].process, "model")), " Pid: "), xmlGetProp(table[n].process, "pid")); treename = gtk_tree_item_new(); box = setpixmap (strr, NULL); gtk_container_add (GTK_CONTAINER (treename), box); gtk_tree_append (GTK_TREE (tree), treename); free (strr); strr = NULL; subtree = gtk_tree_new(); gtk_tree_item_set_subtree(GTK_TREE_ITEM(treename), subtree); gtk_tree_item_expand (GTK_TREE_ITEM(treename)); linklist[n][counting_action].prev = NULL; for (i = 0; i < table[n].list.count; i++) { GtkWidget *item, *itersubtree; GtkWidget *box; if (!xmlStrcmp ((table[n].list.action[i])->name, (const xmlChar *) "action")) { item = gtk_tree_item_new(); str = (char *) malloc (sizeof(char) * (2+ strlen (xmlGetProp (table[n].list.action[i], "name")))); strcpy (str, xmlGetProp (table[n].list.action[i], "name")); box = setpixmap (str, table[n].list.action[i]); gtk_container_add (GTK_CONTAINER (item), box); gtk_tree_append (GTK_TREE(subtree), item); free (str); str = NULL; linklist[n][counting_action-1].next = table[n].list.action[i]; linklist[n][counting_action].cur = table[n].list.action[i]; linklist[n][counting_action].item = item; linklist[n][counting_action+1].prev = table[n].list.action[i]; counting_action++; } else if ( xmlStrcmp (table[n].list.action[i]->name, (const xmlChar *) "action")) { str = (char *) malloc (sizeof(char) * (2 +strlen(table[n].list.action[i]->name))); item = gtk_tree_item_new(); strcpy (str, table[n].list.action[i]->name); box = setpixmap (str, table[n].list.action[i]); gtk_container_add (GTK_CONTAINER (item), box); free (str); str = NULL; itersubtree = create_subtree(table[n].list.iterptr, n); gtk_tree_append (GTK_TREE(subtree), item); gtk_tree_set_view_mode (GTK_TREE (itersubtree), GTK_TREE_VIEW_LINE); gtk_tree_item_set_subtree(GTK_TREE_ITEM(item), itersubtree); gtk_tree_item_expand (GTK_TREE_ITEM(item)); gtk_widget_show(itersubtree); } gtk_signal_connect (GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(tree_select), table[n].list.action[i]); gtk_signal_connect (GTK_OBJECT(item), "deselect", GTK_SIGNAL_FUNC(tree_deselect), NULL); gtk_signal_connect (GTK_OBJECT(item), "toggle", GTK_SIGNAL_FUNC(tree_toggle), NULL); gtk_signal_connect (GTK_OBJECT(item), "expand", GTK_SIGNAL_FUNC(tree_expand), NULL); gtk_signal_connect (GTK_OBJECT(item), "collapse", GTK_SIGNAL_FUNC(tree_collapse), NULL); gtk_widget_show (item); } linklist[n][counting_action-1].next = NULL; gtk_widget_show(subtree); gtk_widget_show(treename); gtk_widget_show(tree); return tree; }
void show_config () { int x, y; GtkWidget *ok, *apply, *cancel, *defaults, *help; GtkWidget *vbox, *hbox2; GtkWidget *tree, *treeitem, *subtree, *scrollbox; confinit (); config_win = gtk_dialog_new (); gtk_widget_realize (config_win); gtk_widget_set_usize (config_win, 670, 440); blah = gtk_label_new ("BMUD!"); vbox = gtk_vbox_new (FALSE, 5); hbox = gtk_hbox_new (FALSE, 5); hbox2 = gtk_hbox_new (TRUE, 5); ok = gtk_button_new_with_label ("Ok"); apply = gtk_button_new_with_label ("Apply"); cancel = gtk_button_new_with_label ("Cancel"); defaults = gtk_button_new_with_label ("Defaults"); help = gtk_button_new_with_label ("Help"); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (ok_cb), NULL); gtk_signal_connect (GTK_OBJECT (apply), "clicked", GTK_SIGNAL_FUNC (apply_cb), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (cancel_cb), NULL); gtk_signal_connect (GTK_OBJECT (defaults), "clicked", GTK_SIGNAL_FUNC (defaults_cb), NULL); gtk_signal_connect (GTK_OBJECT (help), "clicked", GTK_SIGNAL_FUNC (help_cb), NULL); scrollbox = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize (scrollbox, 150, 200); gtk_widget_show (scrollbox); tree = gtk_tree_new (); subtree = gtk_tree_new (); for (x = 0; x < 9; ++x) for (y = 0; y < 2; ++y) { treeitem = gtk_tree_item_new_with_label (cn[x][y]); gtk_tree_append (GTK_TREE_VIEW (subtree), treeitem); gtk_signal_connect (GTK_OBJECT (treeitem), "select", GTK_SIGNAL_FUNC (confcolor), &ccol[x][y]); gtk_widget_show (treeitem); } treeitem = gtk_tree_item_new_with_label ("Colors"); gtk_tree_append (GTK_TREE_VIEW (tree), treeitem); /* gtk_tree_item_set_subtree (GTK_TREE_ITEM (treeitem), subtree); */ gtk_widget_show (treeitem); treeitem = gtk_tree_item_new_with_label ("Font"); gtk_tree_append (GTK_TREE_VIEW (tree), treeitem); gtk_signal_connect (GTK_OBJECT (treeitem), "select", GTK_SIGNAL_FUNC (conffont), NULL); gtk_widget_show (treeitem); treeitem = gtk_tree_item_new_with_label ("History"); gtk_tree_append (GTK_TREE_VIEW (tree), treeitem); gtk_signal_connect (GTK_OBJECT (treeitem), "select", GTK_SIGNAL_FUNC (confhist), NULL); gtk_widget_show (treeitem); treeitem = gtk_tree_item_new_with_label ("Misc"); gtk_tree_append (GTK_TREE_VIEW (tree), treeitem); gtk_signal_connect (GTK_OBJECT (treeitem), "select", GTK_SIGNAL_FUNC (confmisc), NULL); gtk_widget_show (treeitem); gtk_widget_show (blah); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrollbox), tree); gtk_box_pack_start (GTK_BOX (hbox), scrollbox, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hbox), blah, FALSE, FALSE, 2); gtk_box_pack_start (GTK_BOX (hbox2), ok, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hbox2), apply, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hbox2), defaults, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hbox2), cancel, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hbox2), help, FALSE, TRUE, 2); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, TRUE, 2); gtk_widget_show (ok); gtk_widget_show (apply); gtk_widget_show (defaults); gtk_widget_show (cancel); gtk_widget_show (help); gtk_widget_show (tree); gtk_widget_show (hbox); gtk_widget_show (hbox2); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (config_win), vbox); gtk_widget_show (config_win); this_panel_cb = NULL; return; }