~jjardon/glade/master

« back to all changes in this revision

Viewing changes to src/glade-widget-class.h

  • Committer: Jose Maria Celorio
  • Date: 2001-06-19 03:29:28 UTC
  • Revision ID: git-v1:dc4dfdf1884bda41748269b12280aecf4e05409d
Initial revision

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
2
 
 
3
#ifndef __GLADE_WIDGET_CLASS_H__
 
4
#define __GLADE_WIDGET_CLASS_H__
 
5
 
 
6
G_BEGIN_DECLS
 
7
 
 
8
typedef enum {
 
9
        GLADE_TOPLEVEL        = 1 << 2,
 
10
        GLADE_ADD_PLACEHOLDER = 1 << 3,
 
11
} GladeWidgetClassFlags;
 
12
 
 
13
#define GLADE_WIDGET_CLASS(gwc) ((GladeWidgetClass *) gwc)
 
14
 
 
15
#define GLADE_WIDGET_FLAGS(gw)           ((GLADE_WIDGET(gw)->class)->flags)
 
16
#define GLADE_WIDGET_TOPLEVEL(gw)        ((GLADE_WIDGET_FLAGS(gw) & GLADE_TOPLEVEL) != 0)
 
17
#define GLADE_WIDGET_ADD_PLACEHOLDER(gw) ((GLADE_WIDGET_FLAGS(gw) & GLADE_ADD_PLACEHOLDER) != 0)
 
18
 
 
19
#define GLADE_WIDGET_CLASS_FLAGS(gwc)           ((GLADE_WIDGET_CLASS(gwc)->flags))
 
20
#define GLADE_WIDGET_CLASS_TOPLEVEL(gwc)        ((GLADE_WIDGET_CLASS_FLAGS(gwc) & GLADE_TOPLEVEL) != 0)
 
21
#define GLADE_WIDGET_CLASS_ADD_PLACEHOLDER(gwc) ((GLADE_WIDGET_CLASS_FLAGS(gwc) & GLADE_ADD_PLACEHOLDER) != 0)
 
22
 
 
23
#define GLADE_WIDGET_CLASS_SET_FLAGS(gwc,flag)    G_STMT_START{ (GLADE_WIDGET_CLASS_FLAGS (gwc) |= (flag)); }G_STMT_END
 
24
#define GLADE_WIDGET_CLASS_UNSET_FLAGS(gwc,flag)  G_STMT_START{ (GLADE_WIDGET_CLASS_FLAGS (gwc) &= ~(flag)); }G_STMT_END
 
25
 
 
26
/* GladeWidgetClass contains all the information we need regarding an widget
 
27
 * type. It is also used to store information that has been loaded to memory
 
28
 * for that object like the icon/mask.
 
29
 */
 
30
struct _GladeWidgetClass {
 
31
 
 
32
        gchar *name;         /* Name of the widget, for example GtkButton */
 
33
        gchar *icon;         /* Name of the icon without the prefix, for example
 
34
                                "button" */
 
35
        GdkPixmap *pixmap;   /* The loaded pixmap for the icon of this widget type */
 
36
        GdkBitmap *mask;     /* The mask for the loaded pixmap */
 
37
        GdkPixbuf *pixbuf;  /* Temp for glade-project-view-tree. */
 
38
 
 
39
        gchar *generic_name; /* Use to generate names of new widgets, for
 
40
                              * example "button" so that we generate button1,
 
41
                              * button2, buttonX ..
 
42
                              */
 
43
 
 
44
        gint flags;          /* See GladeWidgetClassFlags above */
 
45
 
 
46
        GList *properties;   /* List of GladePropertyClass objects.
 
47
                              * [see glade-property.h ] this list contains
 
48
                              * properties about the widget that we are going
 
49
                              * to modify. Like "title", "label", "rows" .
 
50
                              * Each property creates an input in the propety
 
51
                              * editor.
 
52
                              */
 
53
 
 
54
        void (*placeholder_replace) (GladePlaceholder *placeholder,
 
55
                                     GladeWidget *widget,
 
56
                                     GladeWidget *parent);
 
57
};
 
58
 
 
59
GladeWidgetClass * glade_widget_class_new_from_name (const gchar *name);
 
60
 
 
61
const gchar * glade_widget_class_get_name (GladeWidgetClass *class);
 
62
gboolean      glade_widget_class_has_queries (GladeWidgetClass *class);
 
63
 
 
64
G_END_DECLS
 
65
 
 
66
#endif /* __GLADE_WIDGET_CLASS_H__ */