1 /* ///////////////////////////////////////////////////////////////////////////
2 // Name: assertdlg_gtk.h
3 // Purpose: GtkAssertDialog
4 // Author: Francesco Montorsi
6 // Copyright: (c) 2006 Francesco Montorsi
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////// */
10 #ifndef __GTK_ASSERTDLG_H__
11 #define __GTK_ASSERTDLG_H__
15 #endif /* __cplusplus */
17 #include <gtk/gtkdialog.h>
18 #include <gtk/gtklabel.h>
20 #define GTK_TYPE_ASSERT_DIALOG (gtk_assert_dialog_get_type ())
21 #define GTK_ASSERT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_ASSERT_DIALOG, GtkAssertDialog))
22 #define GTK_ASSERT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ASSERT_DIALOG, GtkAssertDialogClass))
23 #define GTK_IS_ASSERT_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ASSERT_DIALOG))
24 #define GTK_IS_ASSERT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ASSERT_DIALOG))
25 #define GTK_ASSERT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ASSERT_DIALOG, GtkAssertDialogClass))
27 typedef struct _GtkAssertDialog GtkAssertDialog
;
28 typedef struct _GtkAssertDialogClass GtkAssertDialogClass
;
29 typedef void (*GtkAssertDialogStackFrameCallback
)(void *);
31 struct _GtkAssertDialog
33 GtkDialog parent_instance
;
35 /* GtkAssertDialog widgets */
40 /* callback for processing the stack frame */
41 GtkAssertDialogStackFrameCallback callback
;
45 struct _GtkAssertDialogClass
47 GtkDialogClass parent_class
;
52 GTK_ASSERT_DIALOG_STOP
,
53 GTK_ASSERT_DIALOG_CONTINUE
,
54 GTK_ASSERT_DIALOG_CONTINUE_SUPPRESSING
55 } GtkAssertDialogResponseID
;
60 GType
gtk_assert_dialog_get_type();
61 GtkWidget
*gtk_assert_dialog_new();
63 /* get the assert message */
64 gchar
*gtk_assert_dialog_get_message(GtkAssertDialog
*assertdlg
);
66 /* set the assert message */
67 void gtk_assert_dialog_set_message(GtkAssertDialog
*assertdlg
, const gchar
*msg
);
69 /* get a string containing all stack frames appended to the dialog */
70 gchar
*gtk_assert_dialog_get_backtrace(GtkAssertDialog
*assertdlg
);
72 /* sets the callback to use when the user wants to see the stackframe */
73 void gtk_assert_dialog_set_backtrace_callback(GtkAssertDialog
*assertdlg
,
74 GtkAssertDialogStackFrameCallback callback
,
77 /* appends a stack frame to the dialog */
78 void gtk_assert_dialog_append_stack_frame(GtkAssertDialog
*dlg
,
79 const gchar
*function
,
80 const gchar
*arguments
,
81 const gchar
*sourcefile
,
86 #endif /* __cplusplus */
88 #endif /* __GTK_ASSERTDLG_H__ */