Commit Graph

34 Commits

Author SHA1 Message Date
Johan Dahlin
424cc287f1 - Treat enums like enums and not values - Avoid invalid free, in case of
2008-03-07  Johan Dahlin  <johan@gnome.org>

    * gtk/gtkbuilder.c:
    * gtk/gtkbuilderparser.c:
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkiconfactory.c:
    * tests/buildertest.c:
    - Treat enums like enums and not values
    - Avoid invalid free, in case of more than two sources
    - Add better error messages
    - Add much improved tests
    (#520979, Christian Persch)


svn path=/trunk/; revision=19732
2008-03-07 20:03:35 +00:00
Johan Dahlin
61be2a7127 Implement GtkBuildable on GtkIconFactory, to make it possible to register
2008-03-06  Johan Dahlin  <jdahlin@async.com.br>

    * docs/reference/gtk/tmpl/gtkiconfactory.sgml:
    * gtk/gtkbuilder.c:
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkiconfactory.c:
    * tests/buildertest.c:
    Implement GtkBuildable on GtkIconFactory, to make
    it possible to register custom stock icons.
    Fixes #517066


svn path=/trunk/; revision=19726
2008-03-07 00:08:16 +00:00
Johan Dahlin
bee4a9fcc3 Add missing g_return_val_if_fail checks for public API.
2008-02-29  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkbuilder.c:
	Add missing g_return_val_if_fail checks for public API.


svn path=/trunk/; revision=19684
2008-03-01 16:47:34 +00:00
Johan Dahlin
a57b66aac2 Do not use g_error for a few more errors, instead set the GError sent in
2008-02-29  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkbuilder.c:
	* gtk/gtkbuilderparser.c:
	* gtk/gtkbuilderprivate.h:
	Do not use g_error for a few more errors, instead set
	the GError sent in through add_from_file/add_from_string.
	* tests/buildertest.c:
	Add a couple of new parsing tests.
	(#519199, Pavel Syomin)


svn path=/trunk/; revision=19681
2008-03-01 13:49:06 +00:00
Marc-Andre Lureau
e4fe214f39 fix missing call to g_type_class_unref in case of error. (#517563)
2008-02-20  Marc-Andre Lureau  <marcandre.lureau@gmail.com>

        * gtk/gtkbuilder.c (_gtk_builder_enum_from_string): fix missing
        call to g_type_class_unref in case of error. (#517563)

svn path=/trunk/; revision=19619
2008-02-20 18:32:43 +00:00
Philip Withnall
5f12954d92 Improve the documentation for gtk_builder_connect_signals. (#514471)
2008-02-10  Philip Withnall  <pwithnall@svn.gnome.org>

	* gtk/gtkbuilder.c: Improve the documentation for
	gtk_builder_connect_signals. (#514471)


svn path=/trunk/; revision=19507
2008-02-10 06:59:52 +00:00
Johan Dahlin
bf4f21118a Avoid adding unnecessary trailing newlines to g_warning calls.
2008-01-06  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkbuilder.c: Avoid adding unnecessary trailing newlines 
	to g_warning calls.


svn path=/trunk/; revision=19315
2008-01-06 15:06:55 +00:00
Mathias Hasselmann
26124bb10b Avoid some compiler warnings (#507000).
* gtk/gtkbuilder.c, gtk/gtkbuilderprivate.h: Use proper sign
for value argument of _gtk_builder_flags_from_string.
* gtk/gtkwidget.c: Don't alias the child pointer passed
to gdk_window_get_user_data.

svn path=/trunk/; revision=19306
2008-01-05 08:33:53 +00:00
Ryan Lortie
08e15bbbae add clarification stating that the construct_child function is responsible
2006-11-26  Ryan Lortie  <desrt@desrt.ca>

        * docs/reference/gtk/tmpl/gtkbuildable.sgml: add clarification stating
        that the construct_child function is responsible for returning a
        reference.
        * gtkbuilder.c (_gtk_builder_construct): remove g_object_ref() for
        objects from constructors
        * gtkuimanager.c (gtk_ui_manager_buildable_construct_child): add
        g_object_ref() to this construction function (it's the only
        implementer in GTK)

        Fixes #496645.


svn path=/trunk/; revision=19075
2007-11-27 03:25:09 +00:00
Ryan Lortie
490af125c2 remove concept of root objects and just refcount all objects in the
2006-11-26  Ryan Lortie  <desrt@desrt.ca>

        * gtkbuilder.c: remove concept of root objects and just refcount
        all objects in the builder.  Fixes #496651.


svn path=/trunk/; revision=19074
2007-11-27 03:07:23 +00:00
Ryan Lortie
d65049378b Convert delayed_properties hashtable to linked list. Fixes #495769.
2007-11-10  Ryan Lortie  <desrt@desrt.ca>

        * gtk/gtkbuilder.c: Convert delayed_properties hashtable to linked
        list.  Fixes #495769.


svn path=/trunk/; revision=18983
2007-11-11 18:06:11 +00:00
Matthias Clasen
06d28ff884 Don't leak buffer if an error occurs.
2007-11-10  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbuilder.c (gtk_builder_add_from_file): Don't
        leak buffer if an error occurs.



svn path=/trunk/; revision=18979
2007-11-10 05:03:10 +00:00
Matthias Clasen
fb4b0ddff7 don't leak 'filename' field memory when loading more than one file into
2007-11-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbuilder.c: don't leak 'filename' field memory when loading
        more than one file into the same GtkBuilder instance. Noticed by
        Ryan Lortie.


svn path=/trunk/; revision=18973
2007-11-09 00:33:45 +00:00
Emmanuele Bassi
b2f4e11df3 Chain up to the parent's finalize virtual function.
2007-10-30  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkbuilder.c (gtk_builder_finalize): Chain up to the
	parent's finalize virtual function.

svn path=/trunk/; revision=18952
2007-10-30 12:25:39 +00:00
Johan Dahlin
949d340659 Improve gtk_builder_get_type_from_name() documentation. (#461222, Murray
2007-10-24  Johan Dahlin  <jdahlin@async.com.br>

	* gtk/gtkbuilder.c: Improve gtk_builder_get_type_from_name()
	documentation. (#461222, Murray Cumming)


svn path=/trunk/; revision=18948
2007-10-24 18:24:44 +00:00
Johan Dahlin
fa13277655 Parse signals after <child> tags and add tests. (#468793, Benjamin Otte)
2007-10-24  Johan Dahlin  <jdahlin@async.com.br>

	* gtk/gtkbuilder.c: (_gtk_builder_construct),
	(_gtk_builder_add_signals):
	* gtk/gtkbuilderparser.c: (end_element):
	* gtk/gtkbuilderprivate.h:
	* tests/buildertest.c: (test_connect_signals):

	Parse signals after <child> tags and add tests.
	(#468793, Benjamin Otte)


svn path=/trunk/; revision=18944
2007-10-24 11:48:17 +00:00
Johan Dahlin
1f36660d8d Use gtk_ascii_tolower/toupper instead of the C library variants. (#488918,
2007-10-22  Johan Dahlin  <jdahlin@async.com.br>

	* gtk/gtkbuilder.c: Use gtk_ascii_tolower/toupper instead of the C 
	library variants. (#488918, Sertaç Ö. Yıldız)


svn path=/trunk/; revision=18939
2007-10-22 09:15:50 +00:00
Matthias Clasen
bebbf23f22 2.12.0
svn path=/trunk/; revision=18820
2007-09-14 00:56:57 +00:00
Fernando Herrera
34cf2826d2 copy filename to builder->priv instead of holding a reference to it. Bug
2007-09-04  Fernando Herrera  <fherrera@onirica.com>

        * gtk/gtkbuilder.c: (gtk_builder_finalize),
        (gtk_builder_add_from_file): copy filename to builder->priv instead of
        holding a reference to it. Bug #472643


svn path=/trunk/; revision=18722
2007-09-04 12:36:24 +00:00
Johan Dahlin
78c9bbe33c Add a missing semi-colon in the doc string, spotted by Johannes Sasonko
2007-07-06  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c (gtk_builder_get_type_from_name): Add a missing
    semi-colon in the doc string, spotted by Johannes Sasonko


svn path=/trunk/; revision=18386
2007-07-06 13:39:19 +00:00
Matthias Clasen
f4f7a0a186 Pixbuf properties
svn path=/trunk/; revision=18383
2007-07-05 19:50:03 +00:00
Matthias Clasen
e66ef22b50 Fix some doc typos
svn path=/trunk/; revision=18368
2007-07-03 19:07:46 +00:00
Johan Dahlin
aaab9c05a5 Improve error handling for enum/flags, rename the converter functions to
2007-06-30  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c:
    * gtk/gtkbuilder.h:
    * gtk/gtkbuilderparser.c:
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkwidget.c: 
    * tests/buildertest.c:

    Improve error handling for enum/flags, rename the converter functions
    to be consistent. Add tests. Fixes #452465


svn path=/trunk/; revision=18312
2007-06-30 18:27:39 +00:00
Johan Dahlin
357e2cbfff Make boolean string parsing consistent, #452464
2007-06-30  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c: (gtk_builder_value_from_string_type):
    * gtk/gtkbuilderparser.c: (_gtk_builder_parse_boolean),
    (parse_property), (parse_signal):
    * gtk/gtkbuilderprivate.h:
    * tests/buildertest.c: (test_value_from_string):
    Make boolean string parsing consistent, #452464


svn path=/trunk/; revision=18305
2007-06-30 06:57:47 +00:00
Matthias Clasen
3060ce7ddc documentation updates
svn path=/trunk/; revision=18303
2007-06-30 06:24:11 +00:00
Johan Dahlin
571e8e1a4a Improve reference counting, #447967
2007-06-29  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c: (gtk_builder_finalize),
    (gtk_builder_get_parameters), (_gtk_builder_construct):
    * tests/buildertest.c:

    Improve reference counting, #447967


svn path=/trunk/; revision=18292
2007-06-29 18:14:14 +00:00
Johan Dahlin
099ec157ca Print out the name of the right object in the warning (#451314, Philip
2007-06-27  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c (apply_delayed_properties): 
    Print out the name of the right object in the warning
    (#451314, Philip Withnall)


svn path=/trunk/; revision=18270
2007-06-27 23:46:54 +00:00
Johan Dahlin
ec3bb37759 Add GtkBuilder and GError arguments to gtk_builder_value_from_string and
* gtk/gtkbuilder.c: (gtk_builder_get_parameters),
    (gtk_builder_value_from_string),
    (gtk_builder_value_from_string_type):
    * gtk/gtkbuilder.h:
    * gtk/gtkcontainer.c: (gtk_container_buildable_set_child_property),
    (attributes_text_element):
    * gtk/gtkliststore.c: (list_store_text):
    * tests/buildertest.c: (test_value_from_string):

    Add GtkBuilder and GError arguments to gtk_builder_value_from_string
    and gtk_builder_value_from_string_type. (#451428)


svn path=/trunk/; revision=18262
2007-06-27 18:07:50 +00:00
Johan Dahlin
a992482da2 Fix a bunch of small bugs when parsing property values
* gtk/gtkbuilder.c: (gtk_builder_value_from_string_type): Fix a
    bunch of small bugs when parsing property values
    (boolean/int/uint/long/ulong/float/double). Bug #451353.

    * tests/buildertest.c: Add tests for the above.


svn path=/trunk/; revision=18250
2007-06-26 22:35:15 +00:00
Johan Dahlin
60a409785f Rename buildable methods to not clash with widget methods. (#448928,
2007-06-19  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/*: Rename buildable methods to not clash with widget 
    methods. (#448928, Torsten Schoenfeld)


svn path=/trunk/; revision=18187
2007-06-19 12:23:36 +00:00
Christian Persch
517012e987 Don't use "typename" C++ keyword as parameter name. Bug #448193.
2007-06-16  Christian Persch  <chpe@gnome.org>

	* gtk/gtkbuilder.c: (gtk_builder_real_get_type_from_name),
	(gtk_builder_get_type_from_name):
	* gtk/gtkbuilder.h: Don't use "typename" C++ keyword as parameter
	name. Bug #448193.

svn path=/trunk/; revision=18157
2007-06-16 14:29:50 +00:00
Matthias Clasen
41a950d823 Documentation fixes
svn path=/trunk/; revision=18151
2007-06-15 21:18:35 +00:00
Johan Dahlin
5d9a26c775 Use gsize instead of unsigned and gulong instead of long, fixes complation
* gtk/gtkbuilder.c (gtk_builder_add_from_file): 
    (gtk_builder_value_from_string_type): 
    Use gsize instead of unsigned and gulong instead of long,
    fixes complation on OSX, fixes #447987


svn path=/trunk/; revision=18146
2007-06-15 19:21:43 +00:00
Johan Dahlin
4d638bf0c1 Add GtkBuilder, fixes #172535
2007-06-15  Johan Dahlin  <jdahlin@async.com.br>

    * demos/gtk-demo/Makefile.am:
    * demos/gtk-demo/builder.c: (quit_activate), (about_activate),
    (do_builder):
    * demos/gtk-demo/demo.ui:
    * docs/reference/gtk/gtk-docs.sgml:
    * docs/reference/gtk/gtk-sections.txt:
    * docs/reference/gtk/gtk.types:
    * docs/reference/gtk/tmpl/gtkbuildable.sgml:
    * docs/reference/gtk/tmpl/gtkbuilder.sgml:
    * gtk/Makefile.am:
    * gtk/gtk.h:
    * gtk/gtk.symbols:
    * gtk/gtkaction.c: (gtk_action_buildable_init),
    (gtk_action_buildable_set_name), (gtk_action_buildable_get_name):
    * gtk/gtkactiongroup.c: (gtk_action_group_get_type),
    (gtk_action_group_buildable_init),
    (gtk_action_group_buildable_add),
    (gtk_action_group_buildable_set_name),
    (gtk_action_group_buildable_get_name):
    * gtk/gtkbuildable.c: (gtk_buildable_get_type),
    (gtk_buildable_set_name), (gtk_buildable_get_name),
    (gtk_buildable_add), (gtk_buildable_set_property),
    (gtk_buildable_parser_finished), (gtk_buildable_construct_child),
    (gtk_buildable_custom_tag_start), (gtk_buildable_custom_tag_end),
    (gtk_buildable_custom_finished),
    (gtk_buildable_get_internal_child):
    * gtk/gtkbuildable.h:
    * gtk/gtkbuilder.c: (gtk_builder_class_init), (gtk_builder_init),
    (gtk_builder_finalize), (gtk_builder_set_property),
    (gtk_builder_get_property), (_gtk_builder_resolve_type_lazily),
    (gtk_builder_real_get_type_from_name),
    (gtk_builder_get_parameters), (gtk_builder_get_internal_child),
    (_gtk_builder_construct), (_gtk_builder_add),
    (apply_delayed_properties), (_gtk_builder_finish),
    (gtk_builder_new), (gtk_builder_add_from_file),
    (gtk_builder_add_from_string), (gtk_builder_get_object),
    (object_add_to_list), (gtk_builder_get_objects),
    (gtk_builder_set_translation_domain),
    (gtk_builder_get_translation_domain),
    (gtk_builder_connect_signals_default),
    (gtk_builder_connect_signals), (gtk_builder_connect_signals_full),
    (gtk_builder_value_from_string),
    (gtk_builder_value_from_string_type),
    (_gtk_builder_enum_from_string), (_gtk_builder_flags_from_string),
    (gtk_builder_get_type_from_name), (gtk_builder_error_quark):
    * gtk/gtkbuilder.h:
    * gtk/gtkbuilderparser.c: (state_push), (state_peek), (state_pop),
    (error_missing_attribute), (error_invalid_attribute),
    (error_invalid_tag), (builder_construct), (parse_object),
    (free_object_info), (_get_type_by_symbol), (parse_child),
    (free_child_info), (parse_property), (free_property_info),
    (parse_signal), (_free_signal_info), (parse_interface),
    (create_subparser), (free_subparser), (subparser_start),
    (subparser_end), (parse_custom), (start_element), (end_element),
    (text), (_gtk_builder_parser_parse_buffer):
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkcelllayout.c: (attributes_start_element),
    (attributes_text_element),
    (_gtk_cell_layout_buildable_custom_tag_start),
    (_gtk_cell_layout_buildable_custom_tag_end),
    (_gtk_cell_layout_buildable_add):
    * gtk/gtkcelllayout.h:
    * gtk/gtkcellview.c: (gtk_cell_view_buildable_init),
    (gtk_cell_view_buildable_custom_tag_start),
    (gtk_cell_view_buildable_custom_tag_end):
    * gtk/gtkcolorseldialog.c:
    (gtk_color_selection_dialog_buildable_interface_init),
    (gtk_color_selection_dialog_buildable_get_internal_child):
    * gtk/gtkcombobox.c: (gtk_combo_box_buildable_init),
    (gtk_combo_box_buildable_custom_tag_start),
    (gtk_combo_box_buildable_custom_tag_end):
    * gtk/gtkcomboboxentry.c:
    (gtk_combo_box_entry_buildable_interface_init),
    (gtk_combo_box_entry_buildable_get_internal_child):
    * gtk/gtkcontainer.c: (gtk_container_get_type),
    (gtk_container_buildable_init), (gtk_container_buildable_add),
    (gtk_container_buildable_set_child_property),
    (attributes_start_element), (attributes_text_element),
    (gtk_container_buildable_custom_tag_start),
    (gtk_container_buildable_custom_tag_end):
    * gtk/gtkdebug.h:
    * gtk/gtkdialog.c: (gtk_dialog_buildable_interface_init),
    (gtk_dialog_buildable_get_internal_child),
    (attributes_start_element), (attributes_text_element),
    (gtk_dialog_buildable_custom_tag_start),
    (gtk_dialog_buildable_custom_finished):
    * gtk/gtkentrycompletion.c: (gtk_entry_completion_buildable_init):
    * gtk/gtkexpander.c: (gtk_expander_buildable_add),
    (gtk_expander_buildable_init):
    * gtk/gtkfontsel.c:
    (gtk_font_selection_dialog_buildable_interface_init),
    (gtk_font_selection_dialog_buildable_get_internal_child):
    * gtk/gtkframe.c: (gtk_frame_buildable_init),
    (gtk_frame_buildable_add):
    * gtk/gtkiconview.c: (gtk_icon_view_buildable_init),
    (gtk_icon_view_buildable_custom_tag_start),
    (gtk_icon_view_buildable_custom_tag_end):
    * gtk/gtkliststore.c: (gtk_list_store_buildable_init),
    (list_store_start_element), (list_store_end_element),
    (list_store_text), (gtk_list_store_buildable_custom_tag_start),
    (gtk_list_store_buildable_custom_tag_end):
    * gtk/gtkmain.c:
    * gtk/gtknotebook.c: (gtk_notebook_buildable_init),
    (gtk_notebook_buildable_add):
    * gtk/gtksizegroup.c: (gtk_size_group_buildable_init),
    (size_group_start_element),
    (gtk_size_group_buildable_custom_tag_start),
    (gtk_size_group_buildable_custom_finished):
    * gtk/gtktreestore.c: (gtk_tree_store_buildable_init),
    (tree_model_start_element),
    (gtk_tree_store_buildable_custom_tag_start),
    (gtk_tree_store_buildable_custom_finished):
    * gtk/gtktreeview.c: (gtk_tree_view_buildable_init),
    (gtk_tree_view_buildable_add):
    * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_buildable_init):
    * gtk/gtkuimanager.c: (gtk_ui_manager_buildable_init),
    (gtk_ui_manager_buildable_add),
    (gtk_ui_manager_buildable_construct_child),
    (gtk_ui_manager_buildable_custom_tag_start),
    (gtk_ui_manager_buildable_custom_tag_end):
    * gtk/gtkwidget.c: (gtk_widget_get_type),
    (gtk_widget_buildable_interface_init),
    (gtk_widget_buildable_set_name), (gtk_widget_buildable_get_name),
    (gtk_widget_buildable_set_property),
    (gtk_widget_buildable_parser_finshed), (accel_group_start_element),
    (gtk_widget_buildable_custom_tag_start),
    (gtk_widget_buildable_custom_finshed):
    * gtk/gtkwindow.c: (gtk_window_buildable_interface_init),
    (gtk_window_buildable_set_property),
    (gtk_window_buildable_parser_finished):
    * tests/Makefile.am:
    * tests/buildertest.c: (builder_new_from_string), (test_parser),
    (signal_normal), (signal_after), (signal_object),
    (signal_object_after), (signal_first), (signal_second),
    (signal_extra), (signal_extra2), (test_connect_signals),
    (test_uimanager_simple), (test_domain), (test_translation),
    (test_sizegroup), (test_list_store), (test_tree_store),
    (test_types), (test_spin_button), (test_notebook),
    (test_construct_only_property), (test_children),
    (test_child_properties), (test_treeview_column), (test_icon_view),
    (test_combo_box), (test_combo_box_entry), (test_cell_view),
    (test_dialog), (test_accelerators), (test_widget), (main):

    Add GtkBuilder, fixes #172535


svn path=/trunk/; revision=18141
2007-06-15 17:53:46 +00:00