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

📄 gnttree.h

📁 Linux下的多协议即时通讯程序源代码
💻 H
字号:
#ifndef GNT_TREE_H#define GNT_TREE_H#include "gntwidget.h"#include "gnt.h"#include "gntcolors.h"#include "gntkeys.h"#include "gnttextview.h"#define GNT_TYPE_TREE				(gnt_tree_get_gtype())#define GNT_TREE(obj)				(G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_TREE, GntTree))#define GNT_TREE_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_TREE, GntTreeClass))#define GNT_IS_TREE(obj)			(G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_TREE))#define GNT_IS_TREE_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_TREE))#define GNT_TREE_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_TREE, GntTreeClass))#define GNT_TREE_FLAGS(obj)				(GNT_TREE(obj)->priv.flags)#define GNT_TREE_SET_FLAGS(obj, flags)		(GNT_TREE_FLAGS(obj) |= flags)#define GNT_TREE_UNSET_FLAGS(obj, flags)	(GNT_TREE_FLAGS(obj) &= ~(flags))typedef struct _GntTree			GntTree;typedef struct _GntTreePriv		GntTreePriv;typedef struct _GntTreeClass		GntTreeClass;typedef struct _GntTreeRow		GntTreeRow;typedef struct _GntTreeCol		GntTreeCol;struct _GntTree{	GntWidget parent;	GntTreeRow *current;    /* current selection */	GntTreeRow *top;        /* The topmost visible item */	GntTreeRow *bottom;     /* The bottommost visible item */		GntTreeRow *root;       /* The root of all evil */		GList *list;            /* List of GntTreeRow s */	GHashTable *hash;       /* We need this for quickly referencing the rows */	guint (*hash_func)(gconstpointer);	gboolean (*hash_eq_func)(gconstpointer, gconstpointer);	GDestroyNotify key_destroy;	GDestroyNotify value_destroy;	int ncol;               /* No. of columns */	struct _GntTreeColInfo	{		int width;		char *title;		gboolean invisible;	} *columns;             /* Would a GList be better? */	gboolean show_title;	gboolean show_separator; /* Whether to show column separators */	GString *search;	int search_timeout;	GCompareFunc compare;};struct _GntTreeClass{	GntWidgetClass parent;	void (*selection_changed)(GntTreeRow *old, GntTreeRow * current);	void (*toggled)(GntTree *tree, gpointer key);	void (*gnt_reserved1)(void);	void (*gnt_reserved2)(void);	void (*gnt_reserved3)(void);	void (*gnt_reserved4)(void);};G_BEGIN_DECLSGType gnt_tree_get_gtype(void);GntWidget *gnt_tree_new(void);      /* A tree with just one column */GntWidget *gnt_tree_new_with_columns(int columns);void gnt_tree_set_visible_rows(GntTree *tree, int rows);int gnt_tree_get_visible_rows(GntTree *tree);void gnt_tree_scroll(GntTree *tree, int count);GntTreeRow *gnt_tree_add_row_after(GntTree *tree, void *key, GntTreeRow *row, void *parent, void *bigbro);GntTreeRow *gnt_tree_add_row_last(GntTree *tree, void *key, GntTreeRow *row, void *parent);gpointer gnt_tree_get_selection_data(GntTree *tree);/* Returned string needs to be freed */char *gnt_tree_get_selection_text(GntTree *tree);GList *gnt_tree_get_selection_text_list(GntTree *tree);const GList *gnt_tree_get_rows(GntTree *tree);void gnt_tree_remove(GntTree *tree, gpointer key);void gnt_tree_remove_all(GntTree *tree);/* Returns the visible line number of the selected row */int gnt_tree_get_selection_visible_line(GntTree *tree);void gnt_tree_change_text(GntTree *tree, gpointer key, int colno, const char *text);GntTreeRow *gnt_tree_add_choice(GntTree *tree, void *key, GntTreeRow *row, void *parent, void *bigbro);void gnt_tree_set_choice(GntTree *tree, void *key, gboolean set);gboolean gnt_tree_get_choice(GntTree *tree, void *key);void gnt_tree_set_row_flags(GntTree *tree, void *key, GntTextFormatFlags flags);void gnt_tree_set_selected(GntTree *tree , void *key);GntTreeRow *gnt_tree_create_row(GntTree *tree, ...);GntTreeRow *gnt_tree_create_row_from_list(GntTree *tree, GList *list);void gnt_tree_set_col_width(GntTree *tree, int col, int width);void gnt_tree_set_column_titles(GntTree *tree, ...);void gnt_tree_set_show_title(GntTree *tree, gboolean set);void gnt_tree_set_compare_func(GntTree *tree, GCompareFunc func);void gnt_tree_set_expanded(GntTree *tree, void *key, gboolean expanded);void gnt_tree_set_show_separator(GntTree *tree, gboolean set);void gnt_tree_sort_row(GntTree *tree, void *row);/* This will try to automatically adjust the width of the columns in the tree */void gnt_tree_adjust_columns(GntTree *tree);void gnt_tree_set_hash_fns(GntTree *tree, gpointer hash, gpointer eq, gpointer kd);/* This can be useful when, for example, we want to store some data * which we don't want/need to display. */void gnt_tree_set_column_visible(GntTree *tree, int col, gboolean vis);G_END_DECLS/* The following functions should NOT be used by applications. *//* This should be called by the subclasses of GntTree's in their _new function */void _gnt_tree_init_internals(GntTree *tree, int col);#endif /* GNT_TREE_H */

⌨️ 快捷键说明

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