]> git.sur5r.net Git - glabels/blob - glabels2/src/debug.h
2005-01-22 Jim Evins <evins@snaught.com>
[glabels] / glabels2 / src / debug.h
1 /*
2  *  (GLABELS) Label and Business Card Creation program for GNOME
3  *
4  *  debug.h:  GLabels debug module
5  *
6  *  Copyright (C) 2001-2002  Jim Evins <evins@snaught.com>.
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program; if not, write to the Free Software
20  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21  */
22
23 /*
24  * This file is based on gedit-debug.h from gedit2:
25  *
26  * Copyright (C) 1998, 1999 Alex Roberts, Evan Lawrence
27  * Copyright (C) 2000, 2001 Chema Celorio, Paolo Maggi 
28  *
29  */
30 #ifndef __DEBUG_H__
31 #define __DEBUG_H__
32
33 #include <glib.h>
34
35 G_BEGIN_DECLS
36
37 /*
38  * Set an environmental var of the same name to turn on
39  * debugging output. Setting GLABELS_DEBUG will turn on all
40  * sections.
41  */
42
43 typedef enum {
44         GLABELS_DEBUG_NONE         = 0,
45         GLABELS_DEBUG_VIEW         = 1 << 0,
46         GLABELS_DEBUG_ITEM         = 1 << 1,
47         GLABELS_DEBUG_PRINT        = 1 << 2,
48         GLABELS_DEBUG_PREFS        = 1 << 3,
49         GLABELS_DEBUG_FILE         = 1 << 4,
50         GLABELS_DEBUG_LABEL        = 1 << 5,
51         GLABELS_DEBUG_TEMPLATE     = 1 << 6,
52         GLABELS_DEBUG_PAPER        = 1 << 7,
53         GLABELS_DEBUG_XML          = 1 << 8,
54         GLABELS_DEBUG_MERGE        = 1 << 9,
55         GLABELS_DEBUG_UNDO         = 1 << 10,
56         GLABELS_DEBUG_RECENT       = 1 << 11,
57         GLABELS_DEBUG_COMMANDS     = 1 << 12,
58         GLABELS_DEBUG_WINDOW       = 1 << 13,
59         GLABELS_DEBUG_UI           = 1 << 14,
60         GLABELS_DEBUG_PROPERTY_BAR = 1 << 15,
61         GLABELS_DEBUG_MEDIA_SELECT = 1 << 16,
62         GLABELS_DEBUG_MINI_PREVIEW = 1 << 17,
63         GLABELS_DEBUG_PIXBUF_CACHE = 1 << 18,
64         GLABELS_DEBUG_EDITOR       = 1 << 19,
65         GLABELS_DEBUG_WDGT         = 1 << 20,
66 } glDebugSection;
67
68
69 #ifndef __GNUC__
70 #define __FUNCTION__   ""
71 #endif
72
73 #define DEBUG_VIEW      GLABELS_DEBUG_VIEW,    __FILE__, __LINE__, __FUNCTION__
74 #define DEBUG_ITEM      GLABELS_DEBUG_ITEM,    __FILE__, __LINE__, __FUNCTION__
75 #define DEBUG_PRINT     GLABELS_DEBUG_PRINT,   __FILE__, __LINE__, __FUNCTION__
76 #define DEBUG_PREFS     GLABELS_DEBUG_PREFS,   __FILE__, __LINE__, __FUNCTION__
77 #define DEBUG_FILE      GLABELS_DEBUG_FILE,    __FILE__, __LINE__, __FUNCTION__
78 #define DEBUG_LABEL     GLABELS_DEBUG_LABEL,   __FILE__, __LINE__, __FUNCTION__
79 #define DEBUG_TEMPLATE  GLABELS_DEBUG_TEMPLATE,__FILE__, __LINE__, __FUNCTION__
80 #define DEBUG_PAPER     GLABELS_DEBUG_PAPER,   __FILE__, __LINE__, __FUNCTION__
81 #define DEBUG_XML       GLABELS_DEBUG_XML,     __FILE__, __LINE__, __FUNCTION__
82 #define DEBUG_MERGE     GLABELS_DEBUG_MERGE,   __FILE__, __LINE__, __FUNCTION__
83 #define DEBUG_UNDO      GLABELS_DEBUG_UNDO,    __FILE__, __LINE__, __FUNCTION__
84 #define DEBUG_RECENT    GLABELS_DEBUG_RECENT,  __FILE__, __LINE__, __FUNCTION__
85 #define DEBUG_COMMANDS  GLABELS_DEBUG_COMMANDS,__FILE__, __LINE__, __FUNCTION__
86 #define DEBUG_WINDOW    GLABELS_DEBUG_WINDOW,  __FILE__, __LINE__, __FUNCTION__
87 #define DEBUG_UI        GLABELS_DEBUG_UI,      __FILE__, __LINE__, __FUNCTION__
88 #define DEBUG_PROPERTY_BAR      GLABELS_DEBUG_PROPERTY_BAR,     __FILE__, __LINE__, __FUNCTION__
89 #define DEBUG_MEDIA_SELECT      GLABELS_DEBUG_MEDIA_SELECT,     __FILE__, __LINE__, __FUNCTION__
90 #define DEBUG_MINI_PREVIEW      GLABELS_DEBUG_MINI_PREVIEW,     __FILE__, __LINE__, __FUNCTION__
91 #define DEBUG_PIXBUF_CACHE      GLABELS_DEBUG_PIXBUF_CACHE,     __FILE__, __LINE__, __FUNCTION__
92 #define DEBUG_EDITOR    GLABELS_DEBUG_EDITOR,  __FILE__, __LINE__, __FUNCTION__
93 #define DEBUG_WDGT      GLABELS_DEBUG_WDGT,    __FILE__, __LINE__, __FUNCTION__
94
95 void gl_debug_init (void);
96
97 void gl_debug      (glDebugSection  section,
98                     const gchar    *file,
99                     gint            line,
100                     const gchar    *function,
101                     const gchar    *format,
102                     ...);
103
104 G_END_DECLS
105
106 #endif /* __DEBUG_H__ */