1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
4 * Copyright (C) James Liggett 2007 <jrliggett@cox.net>
6 * gprof-options.h is free software.
8 * You may redistribute it and/or modify it under the terms of the
9 * GNU General Public License, as published by the Free Software
10 * Foundation; either version 2, or (at your option) any later version.
12 * plugin.c 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.
15 * See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with plugin.c. See the file "COPYING". If not,
19 * write to: The Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
24 #ifndef _GPROF_OPTIONS_H
25 #define _GPROF_OPTIONS_H
29 #include <glib-object.h>
31 #include <glade/glade.h>
32 #include <libxml/parser.h>
33 #include <libxml/tree.h>
37 typedef struct _GProfOptions GProfOptions
;
38 typedef struct _GProfOptionsClass GProfOptionsClass
;
39 typedef struct _GProfOptionsPriv GProfOptionsPriv
;
41 #define GPROF_OPTIONS_TYPE (gprof_options_get_type ())
42 #define GPROF_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GPROF_OPTIONS_TYPE, GProfOptions))
43 #define GPROF_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GPROF_OPTIONS_TYPE, GProfOptionsClass))
44 #define GPROF_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GPROF_OPTIONS_TYPE, GProfOptionsClass))
45 #define IS_GPROF_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GPROF_OPTIONS_TYPE))
46 #define IS_GPROF_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GPROF_OPTIONS_TYPE))
51 GProfOptionsPriv
*priv
;
54 struct _GProfOptionsClass
56 GObjectClass parent_class
;
59 /* Option types (used for widget synchronization */
63 OPTION_TYPE_TEXT_ENTRY
,
67 GType
gprof_options_get_type (void);
69 GProfOptions
*gprof_options_new (void);
70 void gprof_options_destroy (GProfOptions
*self
);
72 void gprof_options_set_target (GProfOptions
*self
, gchar
*target
);
73 gboolean
gprof_options_has_target (GProfOptions
*self
, gchar
*target
);
75 gchar
*gprof_options_get_string (GProfOptions
*self
, const gchar
*key
);
76 gint
gprof_options_get_int (GProfOptions
*self
, const gchar
*key
);
79 void gprof_options_set_string (GProfOptions
*self
, gchar
*key
, gchar
*value
);
80 void gprof_options_set_int (GProfOptions
*self
, gchar
*key
, gint value
);
82 void gprof_options_register_key (GProfOptions
*self
, gchar
*key_name
,
83 const gchar
*default_value
,
84 const gchar
*widget_name
,
85 OptionWidgetType widget_type
);
88 void gprof_options_create_window (GProfOptions
*self
, GladeXML
*gxml
);
90 void gprof_options_load (GProfOptions
*self
, const gchar
*path
);
91 void gprof_options_save (GProfOptions
*self
, const gchar
*path
);
97 #endif /* _GPROF_OPTIONS_H */