diff --git a/ChangeLog b/ChangeLog index f3f8342a6..6fd2bde7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-06-06 Mike Kestner + + * Makefile.include : depend on gapi-fixup.exe for the api target. + * parser/gapi-fixup.cs : remove-node rule handling. + 2005-06-06 Dan Winship * sample/GtkDemo/DemoRotatedText.cs (RotatedTextExposeEvent): Use diff --git a/Makefile.include b/Makefile.include index 2a7d78a56..a5b6055db 100644 --- a/Makefile.include +++ b/Makefile.include @@ -17,7 +17,7 @@ EXTRA_DIST = $(RAW_API) $(SYMBOLS) $(ASSEMBLY).config.in $(METADATA) $(customs) build_symbols = $(addprefix --symbols=$(srcdir)/, $(SYMBOLS)) -$(API): $(METADATA) $(RAW_API) $(SYMBOLS) +$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe cp $(srcdir)/$(RAW_API) $(API) chmod u+w $(API) @if test -n '$(METADATA)'; then \ diff --git a/parser/gapi-fixup.cs b/parser/gapi-fixup.cs index 26d20ac75..4571e4a4d 100644 --- a/parser/gapi-fixup.cs +++ b/parser/gapi-fixup.cs @@ -92,6 +92,16 @@ namespace GtkSharp.Parsing { XPathNavigator meta_nav = meta_doc.CreateNavigator (); XPathNavigator api_nav = api_doc.CreateNavigator (); + XPathNodeIterator rmv_iter = meta_nav.Select ("/metadata/remove-node"); + while (rmv_iter.MoveNext ()) { + string path = rmv_iter.Current.GetAttribute ("path", ""); + XPathNodeIterator api_iter = api_nav.Select (path); + while (api_iter.MoveNext ()) { + XmlElement api_node = ((IHasXmlNode)api_iter.Current).GetNode () as XmlElement; + api_node.ParentNode.RemoveChild (api_node); + } + } + XPathNodeIterator add_iter = meta_nav.Select ("/metadata/add-node"); while (add_iter.MoveNext ()) { string path = add_iter.Current.GetAttribute ("path", "");