X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkbuilderprivate.h;h=3667ed52d0e06ca82af69dcff7650f983c37e711;hb=e1edc998a2e9c557030d207533932b3120e13fe5;hp=8277fa792b6e817732b4398c3de0db1163b55635;hpb=fa13277655e14d2ecc291f8083580058456c2dad;p=~andy%2Fgtk diff --git a/gtk/gtkbuilderprivate.h b/gtk/gtkbuilderprivate.h index 8277fa792..3667ed52d 100644 --- a/gtk/gtkbuilderprivate.h +++ b/gtk/gtkbuilderprivate.h @@ -13,18 +13,12 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ #ifndef __GTK_BUILDER_PRIVATE_H__ #define __GTK_BUILDER_PRIVATE_H__ -#include -#include - -#include #include "gtkbuilder.h" typedef struct { @@ -46,6 +40,12 @@ typedef struct { CommonInfo *parent; } ObjectInfo; +typedef struct { + TagInfo tag; + gchar *id; + GHashTable *objects; +} MenuInfo; + typedef struct { TagInfo tag; GSList *packing_properties; @@ -59,6 +59,7 @@ typedef struct { typedef struct { TagInfo tag; gchar *name; + GString *text; gchar *data; gboolean translatable; gchar *context; @@ -73,6 +74,13 @@ typedef struct { gchar *connect_object_name; } SignalInfo; +typedef struct { + TagInfo tag; + gchar *library; + gint major; + gint minor; +} RequiresInfo; + typedef struct { GMarkupParser *parser; gchar *tagname; @@ -92,17 +100,30 @@ typedef struct { const gchar *filename; GSList *finalizers; GSList *custom_finalizers; + + GSList *requested_objects; /* NULL if all the objects are requested */ + gboolean inside_requested_object; + gint requested_object_level; + gint cur_object_level; + + GHashTable *object_ids; } ParserData; typedef GType (*GTypeGetFunc) (void); +/* Things only GtkBuilder should use */ void _gtk_builder_parser_parse_buffer (GtkBuilder *builder, const gchar *filename, const gchar *buffer, gsize length, + gchar **requested_objs, GError **error); GObject * _gtk_builder_construct (GtkBuilder *builder, - ObjectInfo *info); + ObjectInfo *info, + GError **error); +void _gtk_builder_add_object (GtkBuilder *builder, + const gchar *id, + GObject *object); void _gtk_builder_add (GtkBuilder *builder, ChildInfo *child_info); void _gtk_builder_add_signals (GtkBuilder *builder, @@ -110,12 +131,33 @@ void _gtk_builder_add_signals (GtkBuilder *builder, void _gtk_builder_finish (GtkBuilder *builder); void _free_signal_info (SignalInfo *info, gpointer user_data); + +/* Internal API which might be made public at some point */ gboolean _gtk_builder_boolean_from_string (const gchar *string, gboolean *value, GError **error); +gboolean _gtk_builder_enum_from_string (GType type, + const gchar *string, + gint *enum_value, + GError **error); gboolean _gtk_builder_flags_from_string (GType type, const char *string, - gint *value, + guint *value, GError **error); +gchar * _gtk_builder_parser_translate (const gchar *domain, + const gchar *context, + const gchar *text); +gchar * _gtk_builder_get_resource_path (GtkBuilder *builder, + const gchar *string); +gchar * _gtk_builder_get_absolute_filename (GtkBuilder *builder, + const gchar *string); + +void _gtk_builder_menu_start (ParserData *parser_data, + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + GError **error); +void _gtk_builder_menu_end (ParserData *parser_data); + #endif /* __GTK_BUILDER_PRIVATE_H__ */