geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

stash.h
Go to the documentation of this file.
1/*
2 * stash.h - this file is part of Geany, a fast and lightweight IDE
3 *
4 * Copyright 2008 The Geany contributors
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21#ifndef GEANY_STASH_H
22#define GEANY_STASH_H 1
23
24#include "gtkcompat.h"
25
26G_BEGIN_DECLS
27
28/** Opaque type for a group of settings. */
29typedef struct StashGroup StashGroup;
30
31/** Can be @c GtkWidget* or @c gchar* depending on whether the @a owner argument is used for
32 * stash_group_display() and stash_group_update(). */
33typedef gconstpointer StashWidgetID;
34
36
37StashGroup *stash_group_new(const gchar *name);
38
39void stash_group_add_boolean(StashGroup *group, gboolean *setting,
40 const gchar *key_name, gboolean default_value);
41
42void stash_group_add_integer(StashGroup *group, gint *setting,
43 const gchar *key_name, gint default_value);
44
45void stash_group_add_string(StashGroup *group, gchar **setting,
46 const gchar *key_name, const gchar *default_value);
47
48void stash_group_add_string_vector(StashGroup *group, gchar ***setting,
49 const gchar *key_name, const gchar **default_value);
50
51void stash_group_load_from_key_file(StashGroup *group, GKeyFile *keyfile);
52
53void stash_group_save_to_key_file(StashGroup *group, GKeyFile *keyfile);
54
56
58
60 GKeyFileFlags flags);
61
62/* *** GTK-related functions *** */
63
64void stash_group_add_toggle_button(StashGroup *group, gboolean *setting,
65 const gchar *key_name, gboolean default_value, StashWidgetID widget_id);
66
68 const gchar *key_name, gint default_value,
69 StashWidgetID widget_id, gint enum_id, ...) G_GNUC_NULL_TERMINATED;
70
72 const gchar *key_name, gint default_value, StashWidgetID widget_id);
73
74void stash_group_add_combo_box(StashGroup *group, gint *setting,
75 const gchar *key_name, gint default_value, StashWidgetID widget_id);
76
78 const gchar *key_name, const gchar *default_value, StashWidgetID widget_id);
79
80void stash_group_add_entry(StashGroup *group, gchar **setting,
81 const gchar *key_name, const gchar *default_value, StashWidgetID widget_id);
82
84 const gchar *key_name, gpointer default_value, StashWidgetID widget_id,
85 const gchar *property_name, GType type);
86
87void stash_group_display(StashGroup *group, GtkWidget *owner);
88
89void stash_group_update(StashGroup *group, GtkWidget *owner);
90
92
93
94#ifdef GEANY_PRIVATE
95
97 const gchar *prefix);
98
100
101/* *** GTK-related functions *** */
102
103void stash_tree_setup(GPtrArray *group_array, GtkTreeView *tree);
104
105void stash_tree_display(GtkTreeView *tree);
106
107void stash_tree_update(GtkTreeView *tree);
108
109#endif /* GEANY_PRIVATE */
110
111G_END_DECLS
112
113#endif /* GEANY_STASH_H */
const gchar * name
Definition: document.c:3219
StashGroup * group
Definition: stash-example.c:1
const gchar filename[]
Definition: stash-example.c:4
void stash_tree_setup(GPtrArray *group_array, GtkTreeView *tree)
Definition: stash.c:1154
void stash_tree_update(GtkTreeView *tree)
Definition: stash.c:1279
void stash_group_set_use_defaults(StashGroup *group, gboolean use_defaults)
Definition: stash.c:440
void stash_tree_display(GtkTreeView *tree)
Definition: stash.c:1273
void stash_group_set_various(StashGroup *group, gboolean various, const gchar *prefix)
Definition: stash.c:429
void stash_group_add_radio_buttons(StashGroup *group, gint *setting, const gchar *key_name, gint default_value, StashWidgetID widget_id, gint enum_id,...) G_GNUC_NULL_TERMINATED
Adds a GtkRadioButton widget group pref.
Definition: stash.c:845
void stash_group_add_combo_box_entry(StashGroup *group, gchar **setting, const gchar *key_name, const gchar *default_value, StashWidgetID widget_id)
Adds a GtkComboBoxEntry widget pref.
Definition: stash.c:929
void stash_group_free_settings(StashGroup *group)
Frees the memory allocated for setting values in a group.
Definition: stash.c:377
void stash_group_add_spin_button_integer(StashGroup *group, gint *setting, const gchar *key_name, gint default_value, StashWidgetID widget_id)
Adds a GtkSpinButton widget pref.
Definition: stash.c:896
void stash_group_add_string(StashGroup *group, gchar **setting, const gchar *key_name, const gchar *default_value)
Adds string setting.
Definition: stash.c:499
void stash_group_add_toggle_button(StashGroup *group, gboolean *setting, const gchar *key_name, gboolean default_value, StashWidgetID widget_id)
Adds a GtkToggleButton (or GtkCheckButton) widget pref.
Definition: stash.c:822
void stash_group_display(StashGroup *group, GtkWidget *owner)
Applies Stash settings to widgets, usually called before displaying the widgets.
Definition: stash.c:781
void stash_group_save_to_key_file(StashGroup *group, GKeyFile *keyfile)
Writes group settings into key values in keyfile.
Definition: stash.c:286
gint stash_group_save_to_file(StashGroup *group, const gchar *filename, GKeyFileFlags flags)
Writes group settings to a configuration file using GKeyFile.
Definition: stash.c:326
GType stash_group_get_type(void)
void stash_group_add_integer(StashGroup *group, gint *setting, const gchar *key_name, gint default_value)
Adds integer setting.
Definition: stash.c:485
void stash_group_add_string_vector(StashGroup *group, gchar ***setting, const gchar *key_name, const gchar **default_value)
Adds string vector setting (array of strings).
Definition: stash.c:513
gboolean stash_group_load_from_file(StashGroup *group, const gchar *filename)
Reads group settings from a configuration file using GKeyFile.
Definition: stash.c:301
gconstpointer StashWidgetID
Can be GtkWidget* or gchar* depending on whether the owner argument is used for stash_group_display()...
Definition: stash.h:33
void stash_group_load_from_key_file(StashGroup *group, GKeyFile *keyfile)
Reads key values from keyfile into the group settings.
Definition: stash.c:275
void stash_group_update(StashGroup *group, GtkWidget *owner)
Applies widget values to Stash settings, usually called after displaying the widgets.
Definition: stash.c:794
void stash_group_add_combo_box(StashGroup *group, gint *setting, const gchar *key_name, gint default_value, StashWidgetID widget_id)
Adds a GtkComboBox widget pref.
Definition: stash.c:912
void stash_group_add_boolean(StashGroup *group, gboolean *setting, const gchar *key_name, gboolean default_value)
Adds boolean setting.
Definition: stash.c:472
StashGroup * stash_group_new(const gchar *name)
Creates a new group.
Definition: stash.c:360
void stash_group_add_widget_property(StashGroup *group, gpointer setting, const gchar *key_name, gpointer default_value, StashWidgetID widget_id, const gchar *property_name, GType type)
Adds a widget's read/write property to the stash group.
Definition: stash.c:977
void stash_group_free(StashGroup *group)
Frees a group.
Definition: stash.c:407
void stash_group_add_entry(StashGroup *group, gchar **setting, const gchar *key_name, const gchar *default_value, StashWidgetID widget_id)
Adds a GtkEntry widget pref.
Definition: stash.c:944
gboolean use_defaults
Definition: stash.c:126
const gchar * prefix
Definition: stash.c:125
gboolean various
Definition: stash.c:124