X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkbuilderprivate.h;h=3667ed52d0e06ca82af69dcff7650f983c37e711;hb=ea043cab5718304d9b6170afa2d3f959fc99c718;hp=e04911c65e0dba99467b0ea735001fe93b2c1654;hpb=26124bb10b6d6463057c784ce9d943cd97bd96d7;p=~andy%2Fgtk diff --git a/gtk/gtkbuilderprivate.h b/gtk/gtkbuilderprivate.h index e04911c65..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; @@ -74,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; @@ -93,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, @@ -111,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, 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__ */