Commit graph

716 commits

Author SHA1 Message Date
Dan Winship
900b14290c * parser/gapi2xml.pl: make note of _get_type methods for enums
* */*-api.xml: Regen, adding gtype="..." to many enum types

	* generator/EnumGen.cs (Generate): if the enum has the
	"gtype" property, add a GTypeAttribute pointing to an internal
	FooGType class whose GType property can be used to get the enum's
	GType.

	* generator/ObjectGen.cs:
	s/ObjectManager.RegisterType/GType.Register/

	* glib/GTypeAttribute.cs: attribute for indicating a property that
	will return the GType of a type (particularly for enums, which
	can't have GType properties added to them).

	* glib/GType.cs: renamed from Type.cs to match the type name
	(public static readonly GType ...): add a few missing types.
	(Register): moved from ObjectManager.RegisterType
	(LookupGType): moved from TypeConverter.LookupType and extended to
	handle GTypeAttribute. Also, fix mappings for sbyte/byte/char, and
	return specific GTypes for Object subclasses rather than always
	returning GType.Object.	[Fixes #74699]
	(LookupType): moved from ObjectWrapper.LookupType
	(ToString): return the type name
	
	* glib/Object.cs (RegisterGType):
	s/ObjectManager.Register/GType.Register/
	(LookupGType): Make this protected internal so GType can access
	it.

	* glib/ObjectManager.cs (RegisterType): deprecate in favor of
	GType.Register.
	(LookupType): moved to GType
	
	* glib/TypeConverter.cs (LookupType): now a deprecated wrapper
	around GType.LookupGType.

	* glib/Value.cs: Use GType casts rather than TypeConverter

	* gtk/NodeStore.cs (ScanType):
	* gtk/ListStore.custom (ListStore): 
	* gtk/TreeStore.custom (TreeStore): Use (GType) cast rather than
	TypeConverter. Remove the error check and exception, since the
	cast never returns GType.Invalid. (The check probably predates
	GLib.ManagedValue.)

	* gnome/PanelAppletFactory.cs (Register): Use a GType cast rather
	than GLib.Object.LookupGType (which is no longer accessible after
	an mcs bugfix)

	* sample/GtkDemo/DemoIconView.cs (CreateStore): use the Type[]
	constructor rather than the GType[] constructor, since it
	translates typeof(Gdk.Pixbuf) correctly now.

svn path=/trunk/gtk-sharp/; revision=44038
2005-05-04 16:54:24 +00:00
Dan Winship
4562b31c41 * updater/updater.cs (GetFieldVisibility, GetMethodVisibility):
return "protected" for "protected internal" members (rather than
	returning null and causing them to be ignored).

	* en/Gtk/BoxChild.xml:
	* en/Gtk/ButtonBoxChild.xml:
	* en/Gtk/FixedChild.xml:
	* en/Gtk/LayoutChild.xml:
	* en/Gtk/MenuChild.xml:
	* en/Gtk/NotebookChild.xml:
	* en/Gtk/PanedChild.xml:
	* en/Gtk/TableChild.xml:
	* en/Gtk/ToolbarChild.xml: document constructors

svn path=/trunk/gtk-sharp/; revision=44037
2005-05-04 16:28:23 +00:00
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
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
Miguel de Icaza
cc54bbe5ed My sunday morning documentation contribution
svn path=/trunk/gtk-sharp/; revision=43854
2005-05-01 17:32:57 +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
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
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
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
Mike Kestner
e56d2feafc kill useless .cvsignore files
svn path=/trunk/gtk-sharp/; revision=43355
2005-04-20 20:11:00 +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
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
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
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
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
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
Dan Winship
b59ca6cdba * pango/Scale.cs: rename the size constants to not have
underscores in their names (and add obsolete aliases for the old
	names).

	* sample/GtkDemo/DemoTextView.cs: use the new names

svn path=/trunk/gtk-sharp/; revision=42532
2005-04-04 18:50:50 +00:00
Mike Kestner
96f81cfbd4 2005-04-04 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : hide some manually implemented callback methods.
	* gdk/*.custom : implement several methods containing persistent
	callback parameters.
	* generator/BoxedGen.cs : set gen_info.CurrentType in Generate.
	* generator/ClassGen.cs : set gen_info.CurrentType in Generate.
	* generator/Ctor.cs : set gen_info.CurrentMember in Generate.
	* generator/GenerationInfo.cs : add CurrentMember and CurrentType.
	* generator/Method.cs : set gen_info.CurrentMember in Generate.
	* generator/MethodBody.cs : always generate null guarding for array
	parameters, and add a nag for callback parameters without a scope attr.
	* generator/ObjectGen.cs : set gen_info.CurrentType in Generate.
	* generator/OpaqueGen.cs : set gen_info.CurrentType in Generate.
	* generator/Parameters.cs : kill NullOk. add Scope property.
	* generator/StructGen.cs : set gen_info.CurrentType in Generate.
	* gtk/Gtk.metadata : kill a few null_ok attrs.
	* pango/Pango.metadata : mark the callback params as call scope. kill
	a couple null_ok attrs.

svn path=/trunk/gtk-sharp/; revision=42529
2005-04-04 16:27:08 +00:00
Mike Kestner
8a88e202e1 docs for TreeModelFilter updates.
svn path=/trunk/gtk-sharp/; revision=42472
2005-04-01 17:52:35 +00:00
Dan Winship
475b44e7ba * gdk/PixbufLoader.custom: Implement System.IO.Stream and
resource-file constructors (using code formerly in Pixbuf.custom)

	* gdk/Pixbuf.custom: Redo the stream and resource ctors in terms
	of the PixbufLoader ones.

	* gdk/PixbufAnimation.custom: Add stream and resource ctors

	* gtk/Image.custom: Add stream and resource ctors

svn path=/trunk/gtk-sharp/; revision=42463
2005-04-01 14:54:12 +00:00
Mike Kestner
1256fdb2c1 2005-03-29 Mike Kestner <mkestner@novell.com>
* gtk/TreeStore.custom : fix a CLS incompliance in the Append
	Prepend, Insert, InsertBefore, and InsertAfter methods by obsoleting
	them and adding new *Node methods that are CLS compliant.
	[Fixes #73876]

svn path=/trunk/gtk-sharp/; revision=42355
2005-03-29 21:12:32 +00:00
Mike Kestner
639c24e0de 2005-03-29 Mike Kestner <mkestner@novell.com>
* generator/Parser.cs : add symbol type='marshal' support.
	* gdk/Event.cs : add GetEvent method to wrap arbitrary events.
	* gdk/gdk-symbols.xml : make Event, EventAny, and EventNoExpose
	marshal symbols using Event.GetEvent (). [Fixes #74184]

svn path=/trunk/gtk-sharp/; revision=42344
2005-03-29 18:02:04 +00:00
Mike Kestner
e13ae8a7d7 2005-03-28 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom  : add FromNative static method and obsolete
	CreateFromNative, which should've been static.  [Fixes #74155]

svn path=/trunk/gtk-sharp/; revision=42319
2005-03-28 21:57:19 +00:00
Mike Kestner
282924fdf1 add docs for new cdecl cb attr and doc ObjectManager
svn path=/trunk/gtk-sharp/; revision=42260
2005-03-25 21:22:18 +00:00
Dan Winship
415773f269 * en/Gtk/NodeStore.xml (AddNode):
* en/Gtk/TreeNode.xml (AddChild): I, for one, welcome our new
	insert overloads.

	* en/Gtk/TreeNodeRemovedHandler.xml: add "child" arg

svn path=/trunk/gtk-sharp/; revision=41846
2005-03-15 17:34:36 +00:00
Mike Kestner
35395fbfe0 oops, forgot to doc PersistentData
svn path=/trunk/gtk-sharp/; revision=41843
2005-03-15 17:16:21 +00:00
Mike Kestner
320977f58f 2005-03-10 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs : fix gssize and gsize, they aren't 32 bit
	like the docs say they are.

svn path=/trunk/gtk-sharp/; revision=41666
2005-03-10 22:15:07 +00:00
Mike Kestner
9160dec10e 2005-03-09 Alexandre Gomes <alexmipego@hotmail.com>
* gtk/Gtk.metadata: Set GetVisibleRect param to be passed as out.

svn path=/trunk/gtk-sharp/; revision=41601
2005-03-09 15:06:38 +00:00
Mike Kestner
90a870e2de 2005-03-08 Mike Kestner <mkestner@novell.com>
* */*.cs : scrub for StringToPtrAnsi and string usage in DllImports.
	* */*.custom : begin the scrub here too.
	* generator/ConstStringGen.cs : implement IManualMarshaler and move to
	100% IntPtr marshaling.
	* generator/Ctor.cs : call Body.Finish too.
	* generator/IManualMarshaler.cs : new interface for generatables that
	marshal manually and need cleanup.
	* generator/Makefile.am : new file.
	* generator/MethodBody.cs : use IManualMarshaler if applicable.

svn path=/trunk/gtk-sharp/; revision=41579
2005-03-08 21:28:08 +00:00
Mike Kestner
f156babb71 some docs for new marshalers
svn path=/trunk/gtk-sharp/; revision=41460
2005-03-04 19:04:57 +00:00
Dan Winship
c47f1eb8d8 * gtk/Container.custom (ChildType): fix this to just call
gtk_container_child_type().

	* gtk/glue/container.c (gtksharp_container_base_child_type): kill

svn path=/trunk/gtk-sharp/; revision=41330
2005-03-01 18:02:16 +00:00
Dan Winship
217c4a8429 * sources/gnomedb.patch: Patch over a bug in gnome-db-editor.h
* gnomedb/gnomedb-api.raw: Regen

svn path=/trunk/gtk-sharp/; revision=41114
2005-02-23 20:22:19 +00:00
Dan Winship
05ddfae8dc * parser/gapi2xml.pl (parseTypeToken): don't parse punctuation
into the type name

	* gtk/gtk-api.raw: Regen, exposing the previously-broken
	AccelGroup.AccelActivate, AccelMap.Changed,
	ActionGroup.ConnectProxy, ActionGroup.DisconnectProxy,
	ActionGroup.PreActivate, ActionGroup.PostActivate, and
	Widget.EventAfter.

	* gtk/Gtk.metadata: Give proper names to the parameters of those
	signals

svn path=/trunk/gtk-sharp/; revision=41111
2005-02-23 20:16:40 +00:00
Miguel de Icaza
909200cf13 Contributions from spigaz@gmail.com
svn path=/trunk/gtk-sharp/; revision=41109
2005-02-23 19:01:51 +00:00
Dan Winship
65edda888f * parser/gapi2xml.pl: add a hack to allow "foo_bar_get_type()"
rather than "FOO_TYPE_BAR" in G_TYPE_CHECK_INSTANCE_CAST macros,
	allowing large parts of libgda that were previously misparsed to
	be parsed correctly

	* gda/gda-api.raw: Regen

	* gda/Gda.metadata: Make Gda.Value opaque, since it's mostly a
	union and we're horribly butchering its layout.

svn path=/trunk/gtk-sharp/; revision=41103
2005-02-23 17:37:06 +00:00
Mike Kestner
f8683d65e0 2005-02-18 Mike Kestner <mkestner@novell.com>
* en/Gtk/ClipboardGetFunc.xml : fix param list.

svn path=/trunk/gtk-sharp/; revision=40878
2005-02-18 19:47:00 +00:00
Dan Winship
fec5eff891 * updater/updater.cs (Compare): handle BaseType changes
(Generate, AddTypeSignature): fix spelling of "delegate"
 
        * en/*: regenerate to update BaseType nodes

svn path=/trunk/gtk-sharp/; revision=40721
2005-02-15 21:53:03 +00:00
Mike Kestner
a768f58c4f 2005-02-14 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : mark the color in Rgb.FindColor ref.

svn path=/trunk/gtk-sharp/; revision=40643
2005-02-14 19:32:10 +00:00
Mike Kestner
86535bb201 2005-02-11 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : hide Menu.SetScreen.
	* gtk/Menu.custom : manually implement Screen prop.

svn path=/trunk/gtk-sharp/; revision=40529
2005-02-12 06:30:56 +00:00
Miguel de Icaza
b0fe1620ea Patch from spigaz@gmail.com
svn path=/trunk/gtk-sharp/; revision=40505
2005-02-11 22:59:00 +00:00
Miguel de Icaza
2eaa69000c Contributions from mwh@sysrq.dk
svn path=/trunk/gtk-sharp/; revision=40504
2005-02-11 22:58:07 +00:00