~aauzi/midori/fix-1179200-3

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
/*
 Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 See the file COPYING for the full license text.
*/

#ifndef __KATZE_UTILS_H__
#define __KATZE_UTILS_H__

#include <gtk/gtk.h>

G_BEGIN_DECLS

/**
 * KATZE_OBJECT_NAME:
 * @object: an object
 *
 * Return the name of an object's class structure's type.
 **/
#define KATZE_OBJECT_NAME(object) \
    G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (object))

/**
 * katze_assign:
 * @lvalue: a pointer
 * @rvalue: the new value
 *
 * Frees @lvalue if needed and assigns it the value of @rvalue.
 **/
#define katze_assign(lvalue, rvalue) \
    if (1) \
    { \
        g_free (lvalue); \
        lvalue = rvalue; \
    }

/**
 * katze_object_assign:
 * @lvalue: a gobject
 * @rvalue: the new value
 *
 * Unrefs @lvalue if needed and assigns it the value of @rvalue.
 **/
#define katze_object_assign(lvalue, rvalue) \
    if (1) \
    { \
        if (lvalue) \
            g_object_unref (lvalue); \
        lvalue = rvalue; \
    }

GtkWidget*
katze_property_proxy                (gpointer     object,
                                     const gchar* property,
                                     const gchar* hint);

GtkWidget*
katze_property_label                (gpointer     object,
                                     const gchar* property);

G_END_DECLS

#endif /* __KATZE_UTILS_H__ */