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