Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtkcellrenderer.h
Go to the documentation of this file.
1/* gtkcellrenderer.h
2 * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
21#error "Only <gtk/gtk.h> can be included directly."
22#endif
23
25
27
28
29/**
30 * GtkCellRendererState:
31 * @GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and
32 * probably has a selection colored background to render to.
33 * @GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell.
34 * @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
35 * @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
36 * @GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row.
37 * @GTK_CELL_RENDERER_EXPANDABLE: The cell is in a row that can be expanded
38 * @GTK_CELL_RENDERER_EXPANDED: The cell is in a row that is expanded
39 *
40 * Tells how a cell is to be rendered.
41 */
42typedef enum
43{
47 /* this flag means the cell is in the sort column/row */
53
54/**
55 * GtkCellRendererMode:
56 * @GTK_CELL_RENDERER_MODE_INERT: The cell is just for display
57 * and cannot be interacted with. Note that this doesn’t mean that eg. the
58 * row being drawn can’t be selected -- just that a particular element of
59 * it cannot be individually modified.
60 * @GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked.
61 * @GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified.
62 *
63 * Identifies how the user can interact with a particular cell.
64 */
71
72#define GTK_TYPE_CELL_RENDERER (gtk_cell_renderer_get_type ())
73#define GTK_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRenderer))
74#define GTK_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
75#define GTK_IS_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER))
76#define GTK_IS_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER))
77#define GTK_CELL_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
78
80typedef struct _GtkCellRendererPrivate GtkCellRendererPrivate;
82typedef struct _GtkCellRendererClassPrivate GtkCellRendererClassPrivate;
83
91
92/**
93 * GtkCellRendererClass:
94 * @get_request_mode: Called to gets whether the cell renderer prefers
95 * a height-for-width layout or a width-for-height layout.
96 * @get_preferred_width: Called to get a renderer’s natural width.
97 * @get_preferred_height_for_width: Called to get a renderer’s natural height for width.
98 * @get_preferred_height: Called to get a renderer’s natural height.
99 * @get_preferred_width_for_height: Called to get a renderer’s natural width for height.
100 * @get_aligned_area: Called to get the aligned area used by @cell inside @cell_area.
101 * @snapshot: Called to snapshot the content of the `GtkCellRenderer`.
102 * @activate: Called to activate the content of the `GtkCellRenderer`.
103 * @start_editing: Called to initiate editing the content of the `GtkCellRenderer`.
104 * @editing_canceled: Signal gets emitted when the user cancels the process of editing a cell.
105 * @editing_started: Signal gets emitted when a cell starts to be edited.
106 */
108{
109 /*< private >*/
111
112 /*< public >*/
113
114 /* vtable - not signals */
117 GtkWidget *widget,
118 int *minimum_size,
119 int *natural_size);
121 GtkWidget *widget,
122 int width,
123 int *minimum_height,
124 int *natural_height);
126 GtkWidget *widget,
127 int *minimum_size,
128 int *natural_size);
130 GtkWidget *widget,
131 int height,
132 int *minimum_width,
133 int *natural_width);
135 GtkWidget *widget,
137 const GdkRectangle *cell_area,
138 GdkRectangle *aligned_area);
139 void (* snapshot) (GtkCellRenderer *cell,
141 GtkWidget *widget,
142 const GdkRectangle *background_area,
143 const GdkRectangle *cell_area,
146 GdkEvent *event,
147 GtkWidget *widget,
148 const char *path,
149 const GdkRectangle *background_area,
150 const GdkRectangle *cell_area,
152 GtkCellEditable * (* start_editing) (GtkCellRenderer *cell,
153 GdkEvent *event,
154 GtkWidget *widget,
155 const char *path,
156 const GdkRectangle *background_area,
157 const GdkRectangle *cell_area,
159
160 /* Signals */
163 GtkCellEditable *editable,
164 const char *path);
165
166 /*< private >*/
168};
169
172
177 GtkWidget *widget,
178 int *minimum_size,
179 int *natural_size);
182 GtkWidget *widget,
183 int width,
184 int *minimum_height,
185 int *natural_height);
188 GtkWidget *widget,
189 int *minimum_size,
190 int *natural_size);
193 GtkWidget *widget,
194 int height,
195 int *minimum_width,
196 int *natural_width);
199 GtkWidget *widget,
200 GtkRequisition *minimum_size,
201 GtkRequisition *natural_size);
204 GtkWidget *widget,
206 const GdkRectangle *cell_area,
207 GdkRectangle *aligned_area);
210 GtkSnapshot *snapshot,
211 GtkWidget *widget,
212 const GdkRectangle *background_area,
213 const GdkRectangle *cell_area,
217 GdkEvent *event,
218 GtkWidget *widget,
219 const char *path,
220 const GdkRectangle *background_area,
221 const GdkRectangle *cell_area,
225 GdkEvent *event,
226 GtkWidget *widget,
227 const char *path,
228 const GdkRectangle *background_area,
229 const GdkRectangle *cell_area,
231
234 int width,
235 int height);
238 int *width,
239 int *height);
240
243 float xalign,
244 float yalign);
247 float *xalign,
248 float *yalign);
249
252 int xpad,
253 int ypad);
256 int *xpad,
257 int *ypad);
258
261 gboolean visible);
264
267 gboolean sensitive);
270
273
276 gboolean is_expander);
279
282 gboolean is_expanded);
285
286
287
288
289/* For use by cell renderer implementations only */
292 gboolean canceled);
293
294
296 const GdkRectangle *cell_area,
297 GtkTextDirection direction,
298 int width,
299 int height,
300 int *x_offset,
301 int *y_offset);
302
305 GtkWidget *widget,
306 GtkCellRendererState cell_state);
307
309
311
#define GDK_DEPRECATED_IN_4_10
#define GDK_AVAILABLE_IN_ALL
struct _GdkEvent GdkEvent
Definition gdkevents.h:101
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
struct _GtkCellEditable GtkCellEditable
GDK_DEPRECATED_IN_4_10 GtkCellEditable * gtk_cell_renderer_start_editing(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_alignment(GtkCellRenderer *cell, float *xalign, float *yalign)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_snapshot(GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_padding(GtkCellRenderer *cell, int xpad, int ypad)
GtkCellRendererState
@ GTK_CELL_RENDERER_PRELIT
@ GTK_CELL_RENDERER_SORTED
@ GTK_CELL_RENDERER_INSENSITIVE
@ GTK_CELL_RENDERER_EXPANDED
@ GTK_CELL_RENDERER_SELECTED
@ GTK_CELL_RENDERER_FOCUSED
@ GTK_CELL_RENDERER_EXPANDABLE
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_padding(GtkCellRenderer *cell, int *xpad, int *ypad)
struct _GtkCellRendererClassPrivate GtkCellRendererClassPrivate
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_get_is_expander(GtkCellRenderer *cell)
GDK_AVAILABLE_IN_ALL GType gtk_cell_renderer_get_type(void) G_GNUC_CONST
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_preferred_size(GtkCellRenderer *cell, GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size)
struct _GtkCellRendererPrivate GtkCellRendererPrivate
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_get_sensitive(GtkCellRenderer *cell)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_fixed_size(GtkCellRenderer *cell, int width, int height)
GDK_DEPRECATED_IN_4_10 GtkStateFlags gtk_cell_renderer_get_state(GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState cell_state)
GDK_DEPRECATED_IN_4_10 GtkSizeRequestMode gtk_cell_renderer_get_request_mode(GtkCellRenderer *cell)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_preferred_width_for_height(GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width)
GtkCellRendererMode
@ GTK_CELL_RENDERER_MODE_EDITABLE
@ GTK_CELL_RENDERER_MODE_ACTIVATABLE
@ GTK_CELL_RENDERER_MODE_INERT
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_is_expanded(GtkCellRenderer *cell, gboolean is_expanded)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_preferred_width(GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_sensitive(GtkCellRenderer *cell, gboolean sensitive)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_stop_editing(GtkCellRenderer *cell, gboolean canceled)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_fixed_size(GtkCellRenderer *cell, int *width, int *height)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_visible(GtkCellRenderer *cell, gboolean visible)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_preferred_height(GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size)
void _gtk_cell_renderer_calc_offset(GtkCellRenderer *cell, const GdkRectangle *cell_area, GtkTextDirection direction, int width, int height, int *x_offset, int *y_offset)
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_is_activatable(GtkCellRenderer *cell)
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_get_visible(GtkCellRenderer *cell)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_is_expander(GtkCellRenderer *cell, gboolean is_expander)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_aligned_area(GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_get_preferred_height_for_width(GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height)
GDK_DEPRECATED_IN_4_10 gboolean gtk_cell_renderer_get_is_expanded(GtkCellRenderer *cell)
GDK_DEPRECATED_IN_4_10 void gtk_cell_renderer_set_alignment(GtkCellRenderer *cell, float xalign, float yalign)
GtkTextDirection
Definition gtkenums.h:267
GtkStateFlags
Definition gtkenums.h:858
GtkSizeRequestMode
Definition gtkenums.h:812
GdkSnapshot GtkSnapshot
Definition gtktypes.h:60
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
void(* editing_canceled)(GtkCellRenderer *cell)
void(* editing_started)(GtkCellRenderer *cell, GtkCellEditable *editable, const char *path)
void(* get_aligned_area)(GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area)
GtkSizeRequestMode(* get_request_mode)(GtkCellRenderer *cell)
void(* get_preferred_width)(GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size)
GInitiallyUnownedClass parent_class
void(* get_preferred_height_for_width)(GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height)
gboolean(* activate)(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
void(* get_preferred_width_for_height)(GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width)
void(* snapshot)(GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
void(* get_preferred_height)(GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size)
GtkCellRendererPrivate * priv
GInitiallyUnowned parent_instance