287
unset_image_properties (GtkCellRendererPixbuf *cell)
289
GtkCellRendererPixbufPrivate *priv;
291
priv = GTK_CELL_RENDERER_PIXBUF_GET_PRIVATE (cell);
295
g_free (priv->stock_id);
296
priv->stock_id = NULL;
297
g_object_notify (G_OBJECT (cell), "stock-id");
301
g_free (priv->icon_name);
302
priv->icon_name = NULL;
303
g_object_notify (G_OBJECT (cell), "icon-name");
307
g_object_unref (cell->pixbuf);
309
g_object_notify (G_OBJECT (cell), "pixbuf");
313
g_object_unref (priv->gicon);
315
g_object_notify (G_OBJECT (cell), "gicon");
320
287
gtk_cell_renderer_pixbuf_set_property (GObject *object,
322
289
const GValue *value,
330
297
switch (param_id)
332
299
case PROP_PIXBUF:
333
unset_image_properties (cellpixbuf);
334
cellpixbuf->pixbuf = (GdkPixbuf *) g_value_dup_object (value);
300
if (cellpixbuf->pixbuf)
301
g_object_unref (cellpixbuf->pixbuf);
302
cellpixbuf->pixbuf = (GdkPixbuf*) g_value_dup_object (value);
303
if (cellpixbuf->pixbuf)
307
g_free (priv->stock_id);
308
priv->stock_id = NULL;
309
g_object_notify (object, "stock-id");
313
g_free (priv->icon_name);
314
priv->icon_name = NULL;
315
g_object_notify (object, "icon-name");
319
g_object_unref (priv->gicon);
321
g_object_notify (object, "gicon");
336
325
case PROP_PIXBUF_EXPANDER_OPEN:
337
326
if (cellpixbuf->pixbuf_expander_open)
344
333
cellpixbuf->pixbuf_expander_closed = (GdkPixbuf*) g_value_dup_object (value);
346
335
case PROP_STOCK_ID:
347
unset_image_properties (cellpixbuf);
338
if (cellpixbuf->pixbuf)
340
g_object_unref (cellpixbuf->pixbuf);
341
cellpixbuf->pixbuf = NULL;
342
g_object_notify (object, "pixbuf");
344
g_free (priv->stock_id);
348
346
priv->stock_id = g_value_dup_string (value);
349
if (cellpixbuf->pixbuf)
351
g_object_unref (cellpixbuf->pixbuf);
352
cellpixbuf->pixbuf = NULL;
353
g_object_notify (object, "pixbuf");
357
g_free (priv->icon_name);
358
priv->icon_name = NULL;
359
g_object_notify (object, "icon-name");
363
g_object_unref (priv->gicon);
365
g_object_notify (object, "gicon");
350
369
case PROP_STOCK_SIZE:
351
370
priv->stock_size = g_value_get_uint (value);
355
374
priv->stock_detail = g_value_dup_string (value);
357
376
case PROP_ICON_NAME:
358
unset_image_properties (cellpixbuf);
379
if (cellpixbuf->pixbuf)
381
g_object_unref (cellpixbuf->pixbuf);
382
cellpixbuf->pixbuf = NULL;
383
g_object_notify (object, "pixbuf");
385
g_free (priv->icon_name);
359
387
priv->icon_name = g_value_dup_string (value);
390
if (cellpixbuf->pixbuf)
392
g_object_unref (cellpixbuf->pixbuf);
393
cellpixbuf->pixbuf = NULL;
394
g_object_notify (object, "pixbuf");
398
g_free (priv->stock_id);
399
priv->stock_id = NULL;
400
g_object_notify (object, "stock-id");
404
g_object_unref (priv->gicon);
406
g_object_notify (object, "gicon");
361
410
case PROP_FOLLOW_STATE:
362
411
priv->follow_state = g_value_get_boolean (value);
365
unset_image_properties (cellpixbuf);
416
if (cellpixbuf->pixbuf)
418
g_object_unref (cellpixbuf->pixbuf);
419
cellpixbuf->pixbuf = NULL;
420
g_object_notify (object, "pixbuf");
422
g_object_unref (priv->gicon);
366
424
priv->gicon = (GIcon *) g_value_dup_object (value);
427
if (cellpixbuf->pixbuf)
429
g_object_unref (cellpixbuf->pixbuf);
430
cellpixbuf->pixbuf = NULL;
431
g_object_notify (object, "pixbuf");
435
g_free (priv->stock_id);
436
priv->stock_id = NULL;
437
g_object_notify (object, "stock-id");
441
g_free (priv->icon_name);
442
priv->icon_name = NULL;
443
g_object_notify (object, "icon-name");
369
448
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);