summaryrefslogtreecommitdiff
path: root/src/gtkext/easygtk.h
blob: fee45dbe494e48076a3c480e20441eea698f9f8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

/* Chrysalide - Outil d'analyse de fichiers binaires
 * easygtk.h - prototypes pour la mise en place rapide de composants GTK
 *
 * Copyright (C) 2009-2017 Cyrille Bagard
 *
 *  This file is part of Chrysalide.
 *
 *  Chrysalide is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  Chrysalide is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 */


#ifndef _EASYGTK_H
#define _EASYGTK_H


#include <gtk/gtk.h>


/* Conversion anonyme */
#define ALLOC_2_REQ(a) ((GtkRequisition []){ { .width = (a)->width, .height = (a)->height }})

/* Transition vers GTK-3.x claire */
#define HAS_H_ORIENTATION(wid) gtk_orientable_get_orientation(GTK_ORIENTABLE(wid)) == GTK_ORIENTATION_HORIZONTAL


/* Aligne un composant GTK par rapport à son parent. */
void qck_set_alignment(GtkWidget *, GtkAlign, GtkAlign);

/* Définit des bordures extérieures à appliquer à un composant. */
void qck_set_margins(GtkWidget *, guint, guint, guint, guint);

/* Met en place une frame. */
GtkWidget *qck_create_frame(const char *, GtkWidget *, guint, guint, guint, guint);

/* Met en place un support à onglets. */
GtkWidget *qck_create_notebook(GObject *, const char *);

/* Met en place un support avec défilement automatique. */
GtkWidget *qck_create_scrolled_window(GObject *, const char *);

/* Crée un composant 'GtkImage'. */
GtkWidget *qck_create_image(GObject *, const char *, gchar *);

/* Crée un composant 'GtkLabel'. */
GtkWidget *qck_create_label(GObject *, const char *, const char *);

/* Crée et enregistre un composant 'GtkEntry'. */
GtkWidget *qck_create_entry(GObject *, const char *, const char *);

/* Crée et enregistre un composant 'GtkTextView'. */
GtkWidget *qck_create_textview(GObject *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkButton'. */
GtkWidget *qck_create_button(GObject *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkButton'. */
GtkWidget *qck_create_button_with_img(GObject *, const char *, const char *, GCallback, gpointer)   __attribute__ ((deprecated));

/* Crée et enregistre un composant 'GtkButton'. */
GtkWidget *qck_create_button_with_named_img(GObject *, const char *, const char *, GtkIconSize, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkButton'. */
GtkWidget *qck_create_button_with_css_img(GObject *, const char *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkCheckButton'. */
GtkWidget *qck_create_toggle_button_with_named_img(GObject *, const char *, const char *, GtkIconSize, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkCheckButton'. */
GtkWidget *qck_create_check_button(GObject *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkRadioButton'. */
GtkWidget *qck_create_radio_button(GObject *, const char *, const char *, GtkRadioButton *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkComboBox'. */
GtkWidget *qck_create_combobox(GObject *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkComboBox'. */
GtkWidget *qck_create_combobox2(GObject *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkComboBox'. */
GtkWidget *qck_create_combobox_with_entry(GObject *, const char *, GCallback, gpointer);

/* Met en place un support de menu 'GtkMenu'. */
GtkWidget *qck_create_menu(GtkMenuItem *);

/* Crée et enregistre un composant 'GtkMenuItem'. */
GtkWidget *qck_create_menu_item(GObject *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkCheckMenuItem'. */
GtkWidget *qck_create_check_menu_item(GObject *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkRadioMenuItem'. */
GtkWidget *qck_create_radio_menu_item(GObject *, const char *, GSList *, const char *, GCallback, gpointer);

/* Ajoute un accélérateur à un élément de menu existant. */
void add_accelerator_to_menu_item(GtkWidget *, const char *, GtkAccelGroup *);

/* Crée et enregistre un composant 'GtkSeparatorMenuItem'. */
GtkWidget *qck_create_menu_separator(void);




/* Crée et enregistre un composant 'GtkToolButton'. */
GtkWidget *qck_create_tool_button(GObject *, const char *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkToggleToolButton'. */
GtkWidget *qck_create_toggle_tool_button(GObject *, const char *, const char *, const char *, GCallback, gpointer);

/* Crée et enregistre un composant 'GtkSeparatorToolItem'. */
GtkWidget *qck_create_tool_separator(GObject *, const char *);



/* Affiche une boîte de dialogue offrant un choix "Oui/Non". */
gint qck_show_question(GtkWindow *, const char *, const char *);

/* Détermine la position d'un menu associé à un composant. */
void attach_popup_menu_to_widget(GtkMenu *, gint *, gint *, gboolean *, GtkWidget *);

/* Fait défiler une liste jusqu'à un point donné. */
void scroll_to_treeview_iter(GtkTreeView *, GtkTreeModel *, GtkTreeIter *);



#endif  /* _EASYGTK_H */