File: gtk-sat-tree.h

package info (click to toggle)
gpredict 2.3-72-gc596101-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 12,264 kB
  • sloc: ansic: 39,918; makefile: 469; python: 143; sh: 85
file content (101 lines) | stat: -rw-r--r-- 3,703 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*
    Gpredict: Real-time satellite tracking and orbit prediction program

    Copyright (C)  2001-2009  Alexandru Csete, OZ9AEC.

    Authors: Alexandru Csete <oz9aec@gmail.com>

    Comments, questions and bugreports should be submitted via
    http://sourceforge.net/projects/gpredict/
    More details can be found at the project home page:

            http://gpredict.oz9aec.net/
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
  
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
  
    You should have received a copy of the GNU General Public License
    along with this program; if not, visit http://www.fsf.org/
*/
#ifndef __GTK_SAT_TREE_H__
#define __GTK_SAT_TREE_H__ 1

#include <gtk/gtk.h>
#include "gtk-sat-list.h"

/* *INDENT-OFF* */
#ifdef __cplusplus
extern "C" {
#endif
/* *INDENT-ON* */

/** Column definitions in the tree. */
typedef enum {
    GTK_SAT_TREE_COL_NAME = 0,  /*!< Satellite name. */
    GTK_SAT_TREE_COL_CATNUM,    /*!< Catalogue Number. */
    GTK_SAT_TREE_COL_EPOCH,     /*!< Element set epoch. */
    GTK_SAT_TREE_COL_SEL,       /*!< Checkbox column, ie select satellite. */
    GTK_SAT_TREE_COL_VIS,       /*!< Hidden column used to node visibility */
    GTK_SAT_TREE_COL_NUM        /*!< The number of columns. */
} gtk_sat_tree_col_t;


/** Flags used to indicate which columns should be visible. */
typedef enum {
    GTK_SAT_TREE_FLAG_NAME = 1 << GTK_SAT_TREE_COL_NAME,        /*!< Satellite name. */
    GTK_SAT_TREE_FLAG_CATNUM = 1 << GTK_SAT_TREE_COL_CATNUM,    /*!< Catalogue Number. */
    GTK_SAT_TREE_FLAG_EPOCH = 1 << GTK_SAT_TREE_COL_EPOCH,      /*!< Element set epoch. */
    GTK_SAT_TREE_FLAG_SEL = 1 << GTK_SAT_TREE_COL_SEL   /*!< Checkbox column. */
} gtk_sat_tree_flag_t;


#define GTK_SAT_TREE_DEFAULT_FLAGS (GTK_SAT_TREE_FLAG_NAME | GTK_SAT_TREE_FLAG_SEL)
#define GTK_TYPE_SAT_TREE  (gtk_sat_tree_get_type ())
#define GTK_SAT_TREE(obj)  G_TYPE_CHECK_INSTANCE_CAST (obj,\
                            gtk_sat_tree_get_type (),\
                            GtkSatTree)
#define GTK_SAT_TREE_CLASS(klass)  G_TYPE_CHECK_CLASS_CAST (klass,\
                                    gtk_sat_tree_get_type (),\
                                    GtkSatTreeClass)
#define IS_GTK_SAT_TREE(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_sat_tree_get_type ())

/** The GtkSatTree structure */
typedef struct _gtk_sat_tree GtkSatTree;
typedef struct _GtkSatTreeClass GtkSatTreeClass;

/** The GtkSatTree Structure definition */
struct _gtk_sat_tree {
    GtkVBox         vbox;

    GtkWidget      *tree;       /*!< The tree. */
    GtkWidget      *swin;       /*!< Scrolled window. */
    guint           flags;      /*!< Column visibility flags. */
    GSList         *selection;  /*!< List of selected satellites. */
    gulong          handler_id; /*!< Toggle signale handler ID (FIXME): remove. */
};

struct _GtkSatTreeClass {
    GtkVBoxClass    parent_class;
};


GType           gtk_sat_tree_get_type(void);
GtkWidget      *gtk_sat_tree_new(guint flags);
guint32         gtk_sat_tree_get_flags(GtkSatTree * tree);
void            gtk_sat_tree_select(GtkSatTree * sat_tree, guint catnum);
guint          *gtk_sat_tree_get_selected(GtkSatTree * sat_tree, gsize * size);

/* *INDENT-OFF* */
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */

#endif