Commit Graph

29 Commits

Author SHA1 Message Date
Tristan Van Berkom
58f712f7ed Added <attributes> / <attribute> custom tags to parse pango attributes
* gtk/gtklabel.c: Added <attributes> / <attribute>
	custom tags to parse pango attributes into labels.

	* tests/buildertest.c: Added tests for GtkLabel custom
	tag parsing.


svn path=/trunk/; revision=19995
2008-04-11 16:56:26 +00:00
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
51b658c6c2 Restore accidentally broken test.
2008-03-05  Johan Dahlin  <johan@gnome.org>

    * tests/buildertest.c (test_list_store): Restore accidentally broken test.


svn path=/trunk/; revision=19713
2008-03-05 15:02:25 +00:00
Johan Dahlin
e2534d54e1 Add translatable/context and comment attributes on <col> tags under a
2008-02-29  Johan Dahlin  <johan@gnome.org>

	* demos/gtk-demo/demo.ui:
	* gtk/gtkbuilderparser.c:
	* gtk/gtkbuilderprivate.h:
	* gtk/gtkliststore.c:
	* tests/buildertest.c:
	Add translatable/context and comment attributes on
	<col> tags under a GtkListStore. Refactor parts of the
	translation api and make it available inside gtk+ itself.
	Update tests and example.
	Fixes a part of #518642


svn path=/trunk/; revision=19685
2008-03-02 01:14:48 +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
Johan Dahlin
fddc9b8561 Implement accessible support, fixes #454653.
2008-01-25  Johan Dahlin  <johan@gnome.org>

        * gtk/gtkwidget.c: (gtk_widget_buildable_interface_init),
        (gtk_widget_buildable_get_internal_child), (free_action),
        (free_relation), (gtk_widget_buildable_parser_finished),
        (accessibility_start_element),
        (gtk_widget_buildable_custom_tag_start),
        (gtk_widget_buildable_custom_finished):
        Implement accessible support, fixes #454653.

        * gtk/gtk-builder-convert:
        Add support for migrating old glade files
        
        * tests/buildertest.c: (test_widget), (test_file):
        Add accessible tests and improve the test_file function to display
        toplevels and run dialogs.


svn path=/trunk/; revision=19403
2008-01-25 16:17:38 +00:00
Johan Dahlin
235a3aa18b Update, GtkBuilder::translation-domain is no longer set
2008-01-06  Johan Dahlin  <johan@gnome.org>

	* tests/buildertest.c (test_domain): 
	Update, GtkBuilder::translation-domain is no longer set


svn path=/trunk/; revision=19317
2008-01-06 15:20:40 +00:00
Johan Dahlin
f3ec3ddac2 Chain up. This makes it possible to have accelerators tags on GtkDialog
2007-12-28  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished)
	(gtk_dialog_buildable_custom_tag_start): Chain up. 
	This makes it possible to have accelerators tags on GtkDialog 
	subclasses.


svn path=/trunk/; revision=19268
2007-12-28 10:36:07 +00:00
Johan Dahlin
6b676d7045 Add another call to gtk_builder_add_string after using delayed properties,
2007-12-19  Johan Dahlin  <johan@gnome.org>

	* tests/buildertest.c (test_object_properties): 
	Add another call to gtk_builder_add_string after using
	delayed properties, as reported in #504393 but already
	fixed in #495769.


svn path=/trunk/; revision=19197
2007-12-19 13:49:29 +00:00
15:44:01 Tim Janik
c1387f9cea made unnecessarily exported symbols static. switched g_return_if_fail()
2007-12-11 15:44:01  Tim Janik  <timj@imendio.com>

        * buildertest.c: made unnecessarily exported symbols static.
        switched g_return_if_fail() statements in tests to assertions.
        special cased currently failing Widget/accesibility test to
        run only for g_test_thorough(), so it doesn't break make check.
        some coding style fixes.

        * Makefile.am: added buildertest to TEST_PROGS.



svn path=/trunk/; revision=19157
2007-12-11 14:42:12 +00:00
Ryan Lortie
029de426da fix invalid free
2007-11-26  Ryan Lortie  <desrt@desrt.ca>

        * tests/buildertest.c (test_window): fix invalid free


svn path=/trunk/; revision=19073
2007-11-27 02:34:12 +00:00
Matthias Clasen
4e8a4021a6 Parse a file given on the cmdline
svn path=/trunk/; revision=18981
2007-11-10 23:59:05 +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
1d332bbb44 Allow empty property nodes so we can set empty strings. (#486420, Xavier
2007-10-24  Johan Dahlin  <jdahlin@async.com.br>

	* gtk/gtkbuilderparser.c (end_element): Allow empty property nodes
	so we can set empty strings. (#486420, Xavier Claessens)


svn path=/trunk/; revision=18943
2007-10-24 09:46:31 +00:00
Johan Dahlin
83b5d32aef |___* demos/gtk-demo/demo.ui: |___* gtk/gtk-builder-convert: |___*
2007-07-09  Johan Dahlin,,,  <jdahlin@lozenge>

|___* demos/gtk-demo/demo.ui:
|___* gtk/gtk-builder-convert:
|___* gtk/gtkactiongroup.c: (gtk_action_group_buildable_init),
|___(gtk_action_group_buildable_add_child),
|___(accelerator_start_element),
|___(gtk_action_group_buildable_custom_tag_start),
|___(gtk_action_group_buildable_custom_tag_end):
|___* gtk/gtkuimanager.c: (child_hierarchy_changed_cb),
|___(gtk_ui_manager_buildable_construct_child):
|___* tests/buildertest.c: (test_uimanager_simple):

|___Add actiongroup/action accelerator support for builder. #454654


svn path=/trunk/; revision=18408
2007-07-09 13:40:10 +00:00
Johan Dahlin
0aeff7f47b Parse <accessibility> but don't do anything yet. Do not strip
2007-07-08  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkwidget.c (gtk_widget_buildable_custom_tag_start): 
    Parse <accessibility> but don't do anything yet.
    * gtk/gtk-builder-convert (GtkBuilderConverter._parse): 
    Do not strip atk/accessibility tags
    * tests/buildertest.c (test_widget): 
    Test this


svn path=/trunk/; revision=18399
2007-07-08 03:22:18 +00:00
Johan Dahlin
2bb9dab718 Fix confusing indentation
svn path=/trunk/; revision=18372
2007-07-04 03:46:16 +00:00
Matthias Clasen
22fa07d55d Report errors about integer parsing back up. (#452988)
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcelllayout.c (attributes_text_element): Report
        errors about integer parsing back up.  (#452988)

        * tests/buildertest.c: Add an extra check.


svn path=/trunk/; revision=18364
2007-07-03 17:22:24 +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
988a3e2bf4 Move type-func to <object> instead of <child>, add a test to make sure
2007-06-30  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilderparser.c: (_get_type_by_symbol), (parse_object),
    (parse_child):
    * tests/buildertest.c: (test_types):
    Move type-func to <object> instead of <child>, add a test to
    make sure that it works as desired, #452463


svn path=/trunk/; revision=18306
2007-06-30 07:03:34 +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
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
2f94087455 Check the code and domain of GErrors instead of the string values
* tests/buildertest.c: (test_value_from_string): 
    Check the code and domain of GErrors instead of the string values


svn path=/trunk/; revision=18263
2007-06-27 19:11:56 +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
610331684f Add a test to check object properties
* tests/buildertest.c (test_object_properties): 
    Add a test to check object properties


svn path=/trunk/; revision=18253
2007-06-27 01:27:18 +00:00
Johan Dahlin
ae800a34fa Set an error if we encounter properties without values set (#451303,
* gtk/gtkbuilder.h (enum): 
    * gtk/gtkbuilderparser.c (end_element): 
    * tests/buildertest.c (test_parser): 
    Set an error if we encounter properties without values set
    (#451303, Philip Withnall)


svn path=/trunk/; revision=18252
2007-06-27 00:37: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
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