Commit graph

2317 commits

Author SHA1 Message Date
Dan Winship a7d8b64f7a * generator/Parameters.cs (Parameters.Validate): If the parameters
end with "callback, gpointer, GDestroyNotify", then mark the
	callback as having "notified" Scope.
	(Parameters.IsHidden): Hide user_data and GDestroyNotify after a
	callback.
	(Parameter.Scope): make this settable
	(Parameter.IsDestroyNotify): new test

	* generator/MethodBody.cs (Initialize): Handle "notified" callback
	scope (using a GCHandle and GLib.DestroyHelper.NotifyHandler)

	* generator/CallbackGen.cs (GenWrapper): Add a static
	"GetManagedDelegate" method to the wrapper type, to translate a
	native delegate back to its corresponding managed delegate.
	(FromNative): use GetManagedDelegate.

	* generator/ReturnValue.cs (Validate): We handle callback return
	values now

	* generator/SymbolTable.cs: marshal GDestroyNotify as
	GLib.DestroyNotify

	* glib/DestroyNotify.cs: Moved from gtk

	* gtk/Gtk.metadata: globally change GtkDestroyNotify to
	GDestroyNotify, but then change back the ones that are exposed in
	the API. Un-hide lots of methods we can correctly autogenerate
	now.

	* gtk/DestroyHelper.cs: moved to glib

	* gtk/*.custom: remove methods that are autogenerated now, add
	Obsolete wrappers where needed, replace Gtk.DestroyHelper usage
	with GLib.DestroyHelper.

	* gdk/Gdk.metadata: 
	* gnome/Gnome.metadata: Turn Gdk.Drawable.SetData and
	Gnome.IconList.SetIconDataFull's GDestroyNotify args into
	gpointers so the generated API stays the same as it used to be.

	* rsvg/Handle.custom: implement deprecated SetSizeCallback

	* sample/GtkDemo/DemoIconView.cs (CreateSort): update for API
	changes

svn path=/trunk/gtk-sharp/; revision=44020
2005-05-04 11:47:25 +00:00
Dan Winship d06abde608 document GetColumnType, which inexplicably has just appeared in the docs
svn path=/trunk/gtk-sharp/; revision=43926
2005-05-03 14:01:12 +00:00
Mike Kestner f0f47bf078 2005-05-03 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : parse const * const * Foo () properly.
	[Fixes #74710]

svn path=/trunk/gtk-sharp/; revision=43925
2005-05-03 13:59:25 +00:00
Dan Winship b7e4cc507e * generator/Parameters.cs (IsHidden): method to check if a
parameter should be hidden in the managed sig (eg, because it's
	user_data, or it's the length of the preceding array/string, etc).
	(VisibleCount): the number of parameters that will actually be
	exposed in the managed signature.
	(IsAccessor): test VisibleCount, not Count
	(AccessorReturnType, AccessorName): deal with the fact that the
	accessor parameter might not be the first one.

	* generator/CallbackGen.cs:
	* generator/Signature.cs: use Parameters.IsHidden.

	* generator/Method.cs (Initialize): set is_set based on
	VisibleCount, not Count.
	(Validate): call base.Validate() before Initialize() so that
	VisibleCount will be correct in Initialize.

	* generator/MethodBody.cs (GetCallString, CallArrayLength,
	Initialize): update to deal with accessors with multiple args.

	* gtk/Clipboard.custom (SetText): implement as an Obsolete variant
	of the Text property

	* gtk/IconTheme.custom (SearchPath, SetSearchPath): obsolete
	SetSearchPath, implement a setter on SearchPath instead.

	* gtk/ListStore.custom (SetColumnTypes):
	* gtk/TreeStore.custom (SetColumnTypes): implement as an Obsolete
	variant of the ColumnTypes property.

	* glade/XML.custom (CustomHandler): implement as a property
	(SetCustomHandler): Mark this obsolete

	* glade/Global.custom (SetCustomHandler): deprecate in favor of
	XML.CustomHandler.

	* gnomedb/Editor.custom (SetText): implement as an Obsolete
	variant of the Text property

svn path=/trunk/gtk-sharp/; revision=43898
2005-05-02 20:10:03 +00:00
Dan Winship 5825f7f4fe Apply the parts of the generator reorganization from #69514 that
don't actually affect the generated output
	
	* generator/PropertyBase.cs: new base class for fields and
	properties (mostly containing code formerly in Property.cs).

	* generator/Property.cs: derive from PropertyBase

	* generator/FieldBase.cs: base class for fields (containing some
	code formerly in Field.cs)

	* generator/StructField.cs: class for struct fields (the rest of
	what used to be Field.cs)

	* generator/StructBase.cs: s/Field/StructField/

	* gnome/Gnome.metadata: hide a few funky _get_ methods that the
	generator is just now noticing, to preserve the old output.

svn path=/trunk/gtk-sharp/; revision=43896
2005-05-02 18:40:30 +00:00
Mike Kestner 6da18b5d4a 2005-05-02 Mike Kestner <mkestner@novell.com>
* generator/Property.cs : fix interface setter generation.
	[Fixes #74766]

svn path=/trunk/gtk-sharp/; revision=43893
2005-05-02 17:23:05 +00:00
Miguel de Icaza cc54bbe5ed My sunday morning documentation contribution
svn path=/trunk/gtk-sharp/; revision=43854
2005-05-01 17:32:57 +00:00
Ben Maurer 9f5eb0a70d * */Makefile.am: more build fixes
svn path=/trunk/gtk-sharp/; revision=43697
2005-04-27 23:21:55 +00:00
Ben Maurer 541d6f37a7 2005-04-27 Ben Maurer <bmaurer@ximian.com>
* configure.in: amd64 build fix


svn path=/trunk/gtk-sharp/; revision=43690
2005-04-27 22:05:12 +00:00
Miguel de Icaza c9e9fd56d8 Contributions from odrigo.benenson@gmail.com
svn path=/trunk/gtk-sharp/; revision=43628
2005-04-26 21:46:01 +00:00
Miguel de Icaza a49ba2d3a1 Update
svn path=/trunk/gtk-sharp/; revision=43627
2005-04-26 21:45:19 +00:00
Miguel de Icaza 01b62e8572 2005-04-26 Miguel de Icaza <miguel@novell.com>
* gtkdotnet/Graphics.cs: Contribution from Sebastian Faltoni
	<sebastian.faltoni@gmail.com> that implements support for using
	System.Drawing on Windows.


svn path=/trunk/gtk-sharp/; revision=43619
2005-04-26 19:54:31 +00:00
Miguel de Icaza f88799c77e Remove unnecessary config file
svn path=/trunk/gtk-sharp/; revision=43602
2005-04-26 17:10:10 +00:00
Mike Kestner bb023fe221 2005-04-26 Mike Kestner <mkestner@novell.com>
* gtk/NodeStore.cs : implement IEnumerable.

svn path=/trunk/gtk-sharp/; revision=43594
2005-04-26 13:45:27 +00:00
Dan Winship b4a4db44dd * pango/Attribute.cs: Base class for Pango attributes, a la
Gdk.Event

	* pango/pango-symbols.xml: explain how to marshal PangoAttribute.

	* pango/AttrBackground.cs:
	* pango/AttrFallback.cs:
	* pango/AttrFamily.cs: 
	* pango/AttrFontDesc.cs:
	* pango/AttrForeground.cs:
	* pango/AttrLanguage.cs:
	* pango/AttrLetterSpacing.cs:
	* pango/AttrRise.cs:
	* pango/AttrScale.cs:
	* pango/AttrShape.cs:
	* pango/AttrSize.cs:
	* pango/AttrStretch.cs:
	* pango/AttrStrikethrough.cs:
	* pango/AttrStrikethroughColor.cs:
	* pango/AttrStyle.cs:
	* pango/AttrUnderline.cs:
	* pango/AttrUnderlineColor.cs:
	* pango/AttrVariant.cs:
	* pango/AttrWeight.cs: subclasses of Attribute, with proper
	constructors. These don't actually correspond one-to-one with
	the underlying types, but they're nicer this way.

	* pango/Pango.metadata: Hide Attribute and its subclasses from the
	generator. Also hide "Attr" (which previously contained
	non-working badly-named static methods to create Attributes)
	and AttrClass (which is not really useful outside of pango
	itself).

	* pango/AttrIterator.custom: use Pango.Attribute.GetAttribute.

	* pango/glue/attribute.c: glue for Attribute and its subclasses

	[Fixes #52575 and its semi-dup #46552]

svn path=/trunk/gtk-sharp/; revision=43520
2005-04-24 22:35:43 +00:00
Dan Winship faa783fba7 * gnome/Gnome.metadata: mark GnomeTriggerActionFunction's char**
param const

        * glib/Marshaller.cs (Utf8PtrToString): Add an IntPtr[]->string[]
        overload, since that's what we actually need in the case where
        it's used (above). Leave the IntPtr[]->string[] overload of
        PtrToStringGFree in case anyone is using it manually.

        * gtk/Gtk.metadata: hide GtkModuleInitFunc and
        GtkModuleDisplayInitFunc; they are the signatures of user-defined
        methods that gtk only ever resolves via g_module_symbol(), so
        they're not useful from C#. (And the marshalling was all wrong
        anyway...)

svn path=/trunk/gtk-sharp/; revision=43461
2005-04-22 19:43:46 +00:00
Dan Winship 7ebae92199 * glib/Type.cs:
* glib/TypeConverter.cs: 
	* glib/Value.cs: sort lists of GTypes into TypeFundamental order

svn path=/trunk/gtk-sharp/; revision=43457
2005-04-22 19:10:47 +00:00
Mike Kestner 66b5ffa413 2005-04-22 Mike Kestner <mkestner@novell.com>
* configure.in : bump version to 2.5.0 for trunk.

svn path=/trunk/gtk-sharp/; revision=43455
2005-04-22 17:59:09 +00:00
John Luke 8855f7a5a7 add some automatic docs for the new stuff
svn path=/trunk/gtk-sharp/; revision=43452
2005-04-22 17:20:16 +00:00
John Luke db6b5d036a make the icon view actually work
svn path=/trunk/gtk-sharp/; revision=43423
2005-04-22 02:03:47 +00:00
John Luke f78826e7ac add demo icon view
svn path=/trunk/gtk-sharp/; revision=43422
2005-04-22 00:46:57 +00:00
John Luke 3ebf6e3e30 add rotated text demo
svn path=/trunk/gtk-sharp/; revision=43417
2005-04-21 20:11:03 +00:00
Mike Kestner 1f555ab568 2005-04-21 Mike Kestner <mkestner@novell.com>
* configure.in : require gtk+ 2.6.
	* generator/ReturnValue.cs : invalidate Callback returns for now.
	* gtk/Gtk.metadata : some renames for conflicting new API.
	* parser/gapi2xml.pl : whitespace tweak for class VM regexen.
	* sources/Makefile.am : add new patch, kill atk patch, revise dirs.
	* sources/atkhyperlink.patch : kill unnecessary patch.
	* sources/gtkclipboard.patch : add new clipboard patch.
	* sources/gtk-sharp-sources.xml : parse gtk+-2.6.
	* */*-api.raw : regen pango, atk, gdk, and gtk for new versions.

svn path=/trunk/gtk-sharp/; revision=43412
2005-04-21 17:10:54 +00:00
Dan Winship d86a481b38 * parser/gapi_pp.pl: add "#if 0" to $eatit_regex
svn path=/trunk/gtk-sharp/; revision=43407
2005-04-21 15:21:11 +00:00
Dan Winship e1306617e5 * gdk/EventClient.cs (gtksharp_gdk_event_client_get_time):
* glib/Object.cs (gtksharp_get_type_id):
	* glib/Value.cs (gtksharp_object_get_ref_count,
	g_value_take_boxed): 
	* gnome/PrintContext.custom (gnome_print_concat,
	gnome_print_glyphlist, gnome_print_setdash):
	* gtk/NodeStore.cs (gtksharp_node_store_new, stamp):
	* gtk/NodeView.cs (gtk_tree_view_new_with_model):
	* gtk/Widget.custom (gtksharp_gtk_widget_set_allocation):
	* pango/LayoutLine.custom (g_free): Remove unused
	prototypes/fields

svn path=/trunk/gtk-sharp/; revision=43406
2005-04-21 15:12:12 +00:00
Mike Kestner 30e9473cb7 2005-04-21 Mike Kestner <mkestner@novell.com>
* Makefile.include : make mcs shaddup about 169.

svn path=/trunk/gtk-sharp/; revision=43399
2005-04-21 13:37:37 +00:00
Mike Kestner 251cb8e4be 2005-04-20 Mike Kestner <mkestner@novell.com>
* generator/*.cs : cleanup the unused private member warnings.

svn path=/trunk/gtk-sharp/; revision=43370
2005-04-21 01:40:08 +00:00
Mike Kestner e56d2feafc kill useless .cvsignore files
svn path=/trunk/gtk-sharp/; revision=43355
2005-04-20 20:11:00 +00:00
Mike Kestner 78bd3e2600 2005-04-20 Mike Kestner <mkestner@novell.com>
* parser/gapi-parser.cs : add a directory element with child exclude
	elements to simplify source version updating. 
	* sources/gtk-sharp-sources.xml : switch to directory elements.

svn path=/trunk/gtk-sharp/; revision=43354
2005-04-20 19:52:47 +00:00
Mike Kestner c167d0dd42 2005-04-19 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : add a None member to ModifierType and fix the
	definition for ModifierMask since the parser barfs on it. 
	[Fixes #74594]

svn path=/trunk/gtk-sharp/; revision=43265
2005-04-19 15:30:45 +00:00
Jeroen Zwartepoorte 7eb5e00ec2 2005-04-17 Jeroen Zwartepoorte <jeroen.zwartepoorte@gmail.com>
* sample/PolarFixed.cs: (PolarFixed.PolarFixedChild): Fix compilation
	problem.


svn path=/trunk/gtk-sharp/; revision=43139
2005-04-17 08:42:47 +00:00
Miguel de Icaza 8cb787543d Contributions from aaron@ultramoderne.net
svn path=/trunk/gtk-sharp/; revision=43122
2005-04-16 19:09:48 +00:00
Miguel de Icaza 43fe07c743 Contributions from aaron@ultramoderne.net
svn path=/trunk/gtk-sharp/; revision=43121
2005-04-16 19:09:15 +00:00
Miguel de Icaza dc66e2b0e8 Contributions from mvorkosigan@gmail.com
svn path=/trunk/gtk-sharp/; revision=43115
2005-04-16 19:04:39 +00:00
Miguel de Icaza a87318f9c5 Contributions from spigaz@gmail.com
svn path=/trunk/gtk-sharp/; revision=43113
2005-04-16 19:04:04 +00:00
Mike Kestner 8f9d1cb15d 2005-04-15 Mike Kestner <mkestner@novell.com>
* configure.in : remove unnecessary libxml check.
	* parser/gapi-parser.cs : use a System.Xml to kill gapi_format_xml.
	* parser/formatXml.c : kill.
	* parser/Makefile.am : kill gapi_format_xml
	* */*-api.raw : enormous whitespace diff. sorry dawgs on mono-patches.

svn path=/trunk/gtk-sharp/; revision=43080
2005-04-15 21:29:56 +00:00
Mike Kestner 68ab921940 2005-04-15 Mike Kestner <mkestner@novell.com>
* parser/gapi-parser.cs : C# rewrite of the old perl driver script.
	* parser/gapi_parser.pl : kill.
	* parser/gapi2-parser.in : invoke via $(RUNTIME).
	* parser/Makefile.am : build rework for C# parser driver.
	* sources/Makefile.am : use $(RUNTIME) to invoke new parser assm.

svn path=/trunk/gtk-sharp/; revision=43077
2005-04-15 20:52:44 +00:00
Mike Kestner f06290f6b6 2005-04-12 Mike Kestner <mkestner@novell.com>
* configure.in : bump version to 1.9.3 and tag.

svn path=/trunk/gtk-sharp/; revision=42831
2005-04-12 14:08:54 +00:00
Mike Kestner 704e4ddde3 fix dist for the CustomNotebook to PolarFixed sample switch
svn path=/trunk/gtk-sharp/; revision=42830
2005-04-12 13:54:13 +00:00
Mike Kestner 33fbb8c45d 2005-04-11 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom : fix out params on RenderPixmapAndMask* methods.

svn path=/trunk/gtk-sharp/; revision=42817
2005-04-12 03:39:23 +00:00
Dan Winship b8126ce3af * generator/ClassBase.cs (ParseImplements): record both managed
and unmanaged interface declarations.
	(Implements): check recursively

	* generator/ObjectGen.cs (Generate): output managed interfaces

	* gtk/Gtk.metadata: make Container implement IEnumerable

	* gtk/Container.custom (GetEnumerator): implement (a simplified
	form of Children).
	(AllChildren): add this (which accumulates the results of
	Forall()).
	(ForAll): mark ForAll(bool,CallbackInvoker) obsolete and add a
	ForAll(bool,Gtk.Callback) overload to replace it.

	* sample/PolarFixed.cs: new silly but fully-functional demo of
	how to subclass container.

	* sample/CustomNotebook.cs: kill this, since it was really
	complicated, and never fully functional.

	* sample/GtkDemo/DemoImages.cs (ToggleSensitivity): Use foreach
	directly on the container, rather than on its .Children.

svn path=/trunk/gtk-sharp/; revision=42805
2005-04-11 20:35:56 +00:00
Mike Kestner c7b382782e 2005-04-11 Mike Kestner <mkestner@novell.com>
* gtk/Quit.custom : obsolete AddFull and implement Add properly.
	* gtk/TreePath.custom : add ctor (int[] indices).
	* gtk/Gtk.metadata : hide Quit.Add* and some ellipsis methods that are
	implemented manually already.

svn path=/trunk/gtk-sharp/; revision=42793
2005-04-11 17:15:38 +00:00
Dan Winship abbec2b649 * configure.in: Add an --enable-debug flag, to build .mdb files
for all of the assemblies

	* Makefile.include:
	* gconf/GConf/Makefile.am:
	* gconf/GConf.PropertyEditors/Makefile.am:
	* glib/Makefile.am:
	* gtkdotnet/Makefile.am (CLEANFILES): add $(ASSEMBLY).mdb
	$(ASSEMBLY): build with $(CSFLAGS). Always delete $(ASSEMBLY).mdb
	before building $(ASSEMBLY), so that if you first build with
	debugging enabled, then update, then rebuild without debugging
	enabled, you don't end up with an out-of-date .mdb file.

svn path=/trunk/gtk-sharp/; revision=42791
2005-04-11 14:56:29 +00:00
Dan Winship c377ed5e39 remove documentation of overloads that were removed
svn path=/trunk/gtk-sharp/; revision=42710
2005-04-08 21:35:07 +00:00
Alp Toker f30bb457a0 2005-04-08 Alp Toker <alp@atoker.com>
* atk/makefile.win32: gapi-cdecl-insert was called in the wrong place
        and broke the win32 build.

svn path=/trunk/gtk-sharp/; revision=42671
2005-04-08 00:30:53 +00:00
Dan Winship 7c80282cfd * gtk/Object.custom (Raw): Always ref the object, even if it's not
floating when we get it, since GLib assumes we hold a ref on it.
        [Fixes #74468]

        * gtk/Window.custom: remove refcount special-handling here

svn path=/trunk/gtk-sharp/; revision=42653
2005-04-07 20:05:52 +00:00
Mike Kestner ec96098612 2005-04-06 Mike Kestner <mkestner@novell.com>
* gtk/FileFilter.custom : AddCustom delegate is destroy notified.
	* gtk/Gtk.metadata : hide FileFilter.AddCustom.  hide gtk_object_get|set.

svn path=/trunk/gtk-sharp/; revision=42611
2005-04-06 15:47:17 +00:00
Mike Kestner f695e74bd6 2005-04-05 Mike Kestner <mkestner@novell.com>
* gtk/*.custom : persistent delegates for most of the remaining 
	"interesting" methods.

svn path=/trunk/gtk-sharp/; revision=42581
2005-04-05 20:14:02 +00:00
Dan Winship 249a13fc82 * gdk/PixbufLoader.custom: Fix the new constructors to make sure
they call Close() in the event of an exception, to prevent a
	g_warning.

svn path=/trunk/gtk-sharp/; revision=42577
2005-04-05 16:45:47 +00:00
Mike Kestner 23ec73d6f9 2005-04-05 Mike Kestner <mkestner@novell.com>
* gtk/DestroyHelper.cs : implement an internal DestroyNotify handler 
	to release GCHandles.
	* gtk/*.custom : rework existing persistent delegate implementations
	to use destroy notify or PersistentData.

svn path=/trunk/gtk-sharp/; revision=42571
2005-04-05 14:48:49 +00:00