1 /*
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  */
19 
20 #ifndef __LOGWINDOW_H__
21 #define __LOGWINDOW_H__
22 
23 #include <glib.h>
24 #include <gtk/gtk.h>
25 
26 #include "log.h"
27 
28 typedef struct _LogWindow	LogWindow;
29 
30 struct _LogWindow
31 {
32 	GtkWidget *window;
33 	GtkWidget *scrolledwin;
34 	GtkWidget *text;
35 
36 	GdkColor msg_color;
37 	GdkColor warn_color;
38 	GdkColor error_color;
39 	GdkColor in_color;
40 	GdkColor out_color;
41 	GdkColor status_ok_color;
42 	GdkColor status_nok_color;
43 	GdkColor status_skip_color;
44 
45 	gboolean clip;
46 	guint	 clip_length;
47 	gulong 	 hook_id;
48 	GtkTextBuffer *buffer;
49 	GtkTextTag *error_tag;
50 	GtkTextMark *end_mark;
51 	gboolean hidden;
52 	gboolean never_shown;
53 	gboolean has_error;
54 	gboolean has_error_capability;
55 };
56 
57 LogWindow *log_window_create(LogInstance instance);
58 void log_window_init(LogWindow *logwin);
59 void log_window_show(LogWindow *logwin);
60 void log_window_show_error(LogWindow *logwin);
61 void log_window_set_clipping(LogWindow *logwin, gboolean clip, guint clip_length);
62 
63 #endif /* __LOGWINDOW_H__ */
64