Commit graph

130 commits

Author SHA1 Message Date
Bertrand Lorentz b2fb84d14b Clean up .gitignore files 2013-10-13 18:38:33 +02:00
Andrés G. Aragoneses 872e0edfdd MSBuild: remove AssemblyInfo.cs where it's not present
The only autogenerated AssemblyInfo files are in cairo and in
gtk-sharp's root, not inside other libraries like atk, glib, etc.
Removing them will make MonoDevelop stop rendering a red element
underneath each project.
2013-09-24 01:24:39 +02:00
Andrés G. Aragoneses 9016c304de MSBuild: change some projects to Library type, not Executable
Even though gtk-sharp cannot be built via MSBuild (yet?), it's better
to make the .csproj reflect more closely what you get with the normal
build.
2013-09-24 01:24:33 +02:00
Andrés G. Aragoneses 10d3293d3f build: fix automake warning about preprocessor C flags
With automake version 1.13.2 (which comes in debian testing/jessie),
we were starting to get these warnings by default:

...
Running automake --foreign  ...
atk/glue/Makefile.am:16: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gio/glue/Makefile.am:11: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gtk/glue/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
gtk/gui-thread-check/profiler/Makefile.am:8: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
pango/glue/Makefile.am:13: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
sample/opaquetest/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
sample/valtest/Makefile.am:18: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Running autoconf ...
...

We simply follow the warning's recommendation of using AM_CPPFLAGS instead
(CPP meaning C PreProcessor, not C Plus Plus), as explained in
http://www.gnu.org/software/automake/manual/html_node/Program-Variables.html

The deprecation of INCLUDES has been very long there already (since 2002,
therefore Automake 1.7), and we already depend on automake 1.10.
2013-06-17 10:59:28 +02:00
Bertrand Lorentz a406b87c26 pango: Remove invalid fix-up for pango_layout_get_lines_readonly
This fix-up applies the element_type attribute to the method itself,
which is invalid. The correct fix-up that applies it to the return-type
is already there.
2013-02-23 13:41:50 +01:00
Bertrand Lorentz 60612071c1 Add a MonoDevelop solution and projects for browsing the codebase
This is just to be able to use MonoDevelop to browse the codebase, both
custom and generated code. It is NOT intended to be used to build
anything.
2012-10-13 16:44:10 +02:00
Bertrand Lorentz 5b22918f4f pango: Re-indent code that was moved inside partial classes
No real code change, just whitespace.
2012-08-05 18:00:11 +02:00
Bertrand Lorentz 094a49f69a pango: Move all .custom files to partial classes
No real code change, just renaming and adding boilerplate.

Files will be re-indented in another commit, to avoid confusing git.
2012-08-05 17:51:13 +02:00
Mike Kestner 11a38933d7 Ref params for pango_extents_to_pixels
* pango/Pango.metadata: mark ref params on ExtentsToPixels.
2011-05-19 10:21:13 -05:00
Mike Kestner 3d8c4e25fd Kill some unneeded #if GTK_SHARP_N checks
* gdk/Event.cs
* glib/Format.cs
* gtk/Builder.custom
* gtk/IconTheme.custom
* pango/Attribute.cs
Remove versioned code since it's all there in 3.0.
2011-02-09 10:28:31 -06:00
Mike Kestner fe0b72b16f Update pango to 1.28 API.
* pango/pango-api.raw: parse of 1.28.3.
2011-01-30 17:10:57 -06:00
Mike Kestner f6d11d67b6 Cairo# 1.10.0 assembly.
* configure.ac: drop cairo conditionality
* cairo/AssemblyInfo.cs: set version to 1.10.0.0
* cairo/Makefile.am: unconditional build and add Region.cs
* cairo/cairo-api.xml: initial type exposure.
* pango/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* pango/Pango.metadata: drop explicit symbol additions.
* gdk/Gdk.metadata: drop explicit symbol additions.
* gdk/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* gtk/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* sample/Makefile.am: use cairo-sharp.dll
* sample/GtkDemo/Makefile.am: use cairo-sharp.dll

This is an initial stab at a 1.10 binding.  It will probably take
more based on the number of errors still coming out of the Gdk
build.
2011-01-30 17:00:03 -06:00
Mike Kestner fe2d4c311a Flatten the bootstrap and remove glade-sharp
2010-11-21  Mike Kestner  <mkestner@novell.com>

	* removed the glade dir from the build since libglade is
	no longer supported in gnome3.  removed the gapi2-compat stuff
	since it doesn't make much sense now.  Removed the bootstrap
	mechanism since we are unlikely to be releasing multiple API
	versions from the same tree going forward.  The build is now a
	straight autogen.sh like most autotools projects.
2010-11-21 21:18:06 -06:00
Mike Kestner db6a3f8612 2009-12-28 Mike Kestner <mkestner@novell.com>
* glib/glue/Makefile.am: fix a copy/paste issue.
	* pango/glue/Makefile.am: move glue lib to -3 like the others.
	[Fixes #561148]

svn path=/trunk/gtk-sharp/; revision=148920
2009-12-28 17:00:58 +00:00
Christian Hoff 7b752d233c 2009-09-03 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Kill the calling convention field again.
	It breaks GLib 2.x compatibility in the generator and there is
	probably no need to make the calling convention configurable.
	* .cs, *.custom: Hardcode Cdecl calling convention instead of
	using GLib's field.

svn path=/trunk/gtk-sharp/; revision=141283
2009-09-03 19:50:53 +00:00
Christian Hoff 58e97c087a 2009-09-02 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Add a public constant field specifying the
	calling convention used by GLib and depending libraries.
	By now it's hardcoded to Cdecl as every non-Win32 runtime
	should ignore this attribute.
	* *.cs, *.custom: Use GLib.Global.CallingConvention for both
	pinvokes and callbacks. Plugs a stack leak on Win32. All
	pinvokes defaulted to StdCall and thus the stack was never
	cleaned up.

svn path=/trunk/gtk-sharp/; revision=141175
2009-09-02 20:17:37 +00:00
Christian Hoff 53d7ae45e3 2009-07-10 Christian Hoff <christian_hoff@gmx.net>
* pango/Pango.metadata: Mark "ink_rect" and "logical_rect" parameters of Get*Extends
	methods as "out".  [Fixes #510105]

svn path=/trunk/gtk-sharp/; revision=137712
2009-07-10 18:51:12 +00:00
Christian Hoff 291ee61b2d 2009-04-13 Christian Hoff <christian_hoff@gmx.net>
Add support for virtual methods(vm) to the generator.

	* parser/gapi2xml.pl: Generate a class_struct element with
	all members of the class structure. Dump the first (instance)
	parameter for signal and vm elements. Bump up parser version.
	* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
	* generator/DefaultSignalHandler.cs: Signal specific part of vm
	generation.
	* generator/InterfaceVM.cs: New class for interface vms.
	* generator/ObjectBase.cs: Parse the class struct.

svn path=/trunk/gtk-sharp/; revision=131604
2009-04-13 17:44:48 +00:00
Christian Hoff 01ed1a5e3e 2009-03-19 Christian Hoff <christian_hoff@gmx.net>
* parser/gapi2xml.pl: Introduce a "parser_version" attribute.
	* generator/GenBase.cs: Implement a property to access the
	attribute's value.

svn path=/trunk/gtk-sharp/; revision=129807
2009-03-19 18:13:01 +00:00
Mike Kestner 146deaa38c 2009-01-04 Mike Kestner <mkestner@novell.com>
* *: update to 2.14.  parser support for GSEALed fields. svn build
	now uses bootstrap-2.14.  integrate gio-sharp module.  

svn path=/trunk/gtk-sharp/; revision=122402
2009-01-04 22:29:56 +00:00
Mike Kestner 89afb3f49f 2008-12-19 Mike Kestner <mkestner@novell.com>
* generator/BoxedGen.cs: don't generate glue dependencies.
	* glib/*.cs: remove glibsharpglue usage except thread.c.
	* glib/glue/*.c: kill all but thread.c. need glib 2.20 to kill
	it eventually.
	* pango/Attr*.cs: kill glue usage.
	* pango/glue/*.c: kill all but generated.c. it's next.
	* gtk/TreeIter.custom: kill a dumb glibsharpglue usage.

svn path=/trunk/gtk-sharp/; revision=121880
2008-12-19 18:57:42 +00:00
Mike Kestner 81e6815080 2008-10-09 Mike Kestner <mkestner@novell.com>
* configure.in.in: magic for local Mono.Cairo build.
	* cairo/*: a local build of Mono.Cairo for .Net-only builds on win32.
	* */Makefile.am: use local Mono.Cairo where necessary.

svn path=/trunk/gtk-sharp/; revision=115399
2008-10-09 22:35:02 +00:00
Mike Kestner 621b39b531 2008-05-15 Mike Kestner <mkestner@novell.com>
* kill the makefile.win32 build system.  it has been unmaintained
	for quite some time, replaced by the auto* build in cygwin.

svn path=/trunk/gtk-sharp/; revision=103308
2008-05-15 17:36:46 +00:00
Mike Kestner b218a96484 2008-03-14 Mike Kestner <mkestner@novell.com>
* pango/AttrList.custom: pass copies of the attrs to insert*
	since the list assumes ownership.
	* pango/Makefile.am: add new custom file.
	* pango/Pango.metadata: hide AttrList.Insert* for custom impl.

svn path=/trunk/gtk-sharp/; revision=98381
2008-03-15 03:15:32 +00:00
Mike Kestner 209f353fc8 2007-12-06 Mike Kestner <mkestner@novell.com>
* * : update to 2.12 API.

svn path=/trunk/gtk-sharp/; revision=90823
2007-12-06 17:23:28 +00:00
Mike Kestner ff2836315e kill unused api versions
svn path=/trunk/gtk-sharp/; revision=90552
2007-12-03 16:15:13 +00:00
Mike Kestner 75d2981d82 2007-11-29 Mike Kestner <mkestner@novell.com>
* generator/MethodBase.cs: move Name stuff from subclasses.
	Check for (G|S)et<UpperCaseLetter> in new Has props.
	* generator/Method.cs:
	* generator/VirtualMethod.cs: refactor out Name stuff. Use
	new Has(G|S)etterName props.
	* pango/Pango.metadata: workaround Has/Hash collision with
	the old broken getter check. [Fixes #344954]

svn path=/trunk/gtk-sharp/; revision=90458
2007-11-29 20:01:28 +00:00
Mike Kestner 3879146bd0 2006-08-10 Mike Kestner <mkestner@novell.com>
* pango/Pango.metadata : add library attr to pango_cairo methods. 
	* pango/pango-sharp.dll.config.in : add libpangocairo mapping.

svn path=/trunk/gtk-sharp/; revision=63609
2006-08-10 17:28:48 +00:00
Mike Kestner 0f430271df 2006-08-10 Mike Kestner <mkestner@novell.com>
* pango/Pango.metadata : some pango_cairo fixup. 
	* pango/pango-api-2.10.raw : regen with pangocairo.h API.
	* sources/gtk-sharp-2.10-sources.xml : don't exclude pangocairo.h.

svn path=/trunk/gtk-sharp/; revision=63608
2006-08-10 16:55:58 +00:00
Mike Kestner 3495edb708 2006-08-03 Mike Kestner <mkestner@novell.com>
* pango/pango-api-2.10.raw : regen for 1.12.x
	* sources/Makefile.am : use pango-1.12.3 for parse
	* sources/gtk-sharp-2.10-sources.xml : ditto

svn path=/trunk/gtk-sharp/; revision=63291
2006-08-03 13:50:10 +00:00
Mike Kestner d09ebd1d3b indentation whitespace changes from eno's nice XmlWriter patch
svn path=/trunk/gtk-sharp/; revision=63080
2006-07-28 15:58:03 +00:00
Mike Kestner b912bb6afb 2006-07-14 Mike Kestner <mkestner@novell.com>
* sources/gtk-sharp-2.10-sources.xml : update to gtk+-2.10.0 
	and pango-1.13.3
	* sources/Makefile.am : ditto.
	* gtk/Gtk.metadata : some hides and renames to fix build.
	* gdk/gdk-api-2.10.raw : refresh.
	* gtk/gtk-api-2.10.raw : refresh.
	* pango/pango-api-2.10.raw : refresh.

svn path=/trunk/gtk-sharp/; revision=62598
2006-07-14 13:45:17 +00:00
Mike Kestner 2ac6bb5457 2006-05-10 Mike Kestner <mkestner@novell.com>
* bootstrap-2.10 : strap for the new 2.9.0 API.
	* generator/SymbolTable.cs : add GLib.InitiallyUnowned mapping.
	* glib/InitiallyUnowned.cs : new floating class "stub".
	* glib/Makefile.am : build new class.
	* gdk/gdk-api-2.10.raw: parse from 2.9.0
	* gtk/Gtk.metadata: cleanup conflicts in 2.10 API.
	* gtk/gtk-api-2.10.raw: parse from 2.9.0
	* pango/pango-api-2.10.raw: parse from 1.11.99
	* sources/Makefile.am : 2.10 parse setup and api-2.10 
	* sources/gtk_tree_model_signal_fix-2.10.patch : 2.10 patch.
	* sources/gtk-sharp-2.10-sources.xml : parse rules for 2.10

svn path=/trunk/gtk-sharp/; revision=60521
2006-05-10 17:13:30 +00:00
Mike Kestner d9fbbddc48 create 2.10 file
svn path=/trunk/gtk-sharp/; revision=60509
2006-05-10 14:13:45 +00:00
Mike Kestner 0ae0904afd 2005-02-28 Mike Kestner <mkestner@novell.com>
* pango/Context.custom : use ReadIntPtr (ptr, offset) for 64 bit.
	* pango/FontFamily.custom : use ReadIntPtr (ptr, offset) for 64 bit.
	* pango/FontMap.custom : use ReadIntPtr (ptr, offset) for 64 bit.
	* pango/Layout.custom : use ReadIntPtr (ptr, offset) for 64 bit.

svn path=/trunk/gtk-sharp/; revision=57399
2006-02-28 16:29:57 +00:00
Mike Kestner 6f612e3fff 2005-12-13 Mike Kestner <mkestner@novell.com>
* sources/Makefile.am : move to stable gtk 2.8 versions.
	* sources/gtk-sharp-2.8-sources.xml : move to stable gtk 2.8 versions.
	* */*.raw : regenerate.
	* gdk/Gdk.metadata : hide a few gtk+ internal methods.
	* gtk/Gtk.metadata : hide a win32 internal enum.

svn path=/trunk/gtk-sharp/; revision=54308
2005-12-13 17:11:31 +00:00
Mike Kestner 6dc561853a 2005-12-09 Mike Kestner <mkestner@novell.com>
* pango/Pango.metadata : 2.8 API tweaks
	* gdk/Gdk.metadata : 2.8 API tweaks
	* gtk/Gtk.metadata : 2.8 API tweaks
	* gtk/IconView.custom : overloads for the weird ScrollToPath.
	* gtk/Makefile.am : add custom

svn path=/trunk/gtk-sharp/; revision=54176
2005-12-09 23:16:42 +00:00
Mike Kestner 3338c10ac9 2005-08-15 Mike Kestner <mkestner@novell.com>
* pango/makefile.win32 : process symbols file at fixup target.

svn path=/trunk/gtk-sharp/; revision=48398
2005-08-15 17:25:01 +00:00
Dan Winship 622c360576 * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has
a constructor or a ref, unref, or destroy method, then it must be
	a reference type, so mark it "opaque" but then also mark all of
	its fields public and writable.

	* */*-api*.raw: Regen

	* generator/Parser.cs (ParseNamespace): make the opaque attribute
	check actually look at the value of the attribute rather than just
	checking if it's there, so that you can change a struct's opaque
	attribute from "true" to "false" via metadata and have that work.

	* generator/BoxedGen.cs (Generate): do not generate the boxed's
	"Free" method (since it's guaranteed to crash when we pass it a
	stack pointer). If "Copy" is marked deprecated, create a
	deprecated no-op for it, otherwise just skip it (since otherwise
	it will just leak memory when we copy its result onto the stack).

	* pango/Pango.metadata: deprecate Pango.Color.Copy and
	Pango.Matrix.Copy. Hide some array fields in Pango.GlyphString
	that we've never generated correctly. Tweak Pango.LayoutLine
	fields to be the same as they used to be.

	* pango/GlyphItem.custom (glyphs, item):
	* pango/GlyphString.custom (Zero, New):
	* pango/Item.custom (Zero, New):
	* pango/LayoutRun.custom (glyphs, item): add deprecated API compat

	* gdk/Gdk.metadata: undo the parser's new opaquification of
	Gdk.Font; it's been deprecated since pre-gtk# times, and no one
	should be using it, so there's no point in fixing it now. Fix up a
	few other things to match how they used to be. Fix RgbCmap's
	constructor args.

	* gdk/RgbCmap.custom (Zero, New): deprecated API compat

	* gdk/PangoAttrEmbossed.custom:
	* gdk/PangoAttrStipple.custom (Zero, New, Attr): deprecated API
	compat
	(explicit operator ...): allow casting back and forth between
	Pango.Attribute. (We can't usefully make them real subclasses of
	Pango.Attribute, because there's no way for
	Pango.Attribute.GetAttribute() to be able to dtrt with them.)

	* gtk/Gtk.metadata: deprecate Gtk.Requisition.Copy,
	Gtk.TextIter.Copy, and Gtk.TreeIter.Copy. Mark the return value of
	TextView.DefaultAttributes as "owned". Mark TargetList's fields
	private so it stays how it used to be.

	* gtk/TextAttributes.custom (Zero, New): deprecated API compat

	* gnomevfs/Gnomevfs.metadata: remove a bunch of opaque
	declarations that the parser figures out on its own now.

	* art/Art.metadata:
	* glade/Glade.metadata:
	* rsvg/Rsvg.metadata: un-mark everything the parser marked opaque
	in these libraries, because all of the structs in question would
	still be unusably broken, so the API churn would be pointless.

svn path=/trunk/gtk-sharp/; revision=48387
2005-08-15 15:15:57 +00:00
Dan Winship 155f8352a0 oops, regenerate these after the parser changes to marked the return-type
of "Copy" methods as "owned"

svn path=/trunk/gtk-sharp/; revision=47930
2005-08-02 19:22:23 +00:00
Dan Winship eb4fdee774 Automatic memory management for opaque types [#49565]
* glib/Opaque.cs (Owned): new property saying whether or not gtk#
	owns the memory.
	(Opaque): Set Owned to true in the void ctor and false in the
	IntPtr one.
	(GetOpaque): add a new overload that can also create opaques, a la
	GLib.Object.GetObject.
	(Ref, Unref, Free): empty virtual methods to be overridden by
	subclasses.
	(set_Raw): Unref() and possibly Free() the old value, Ref() the
	new one.
	(~Opaque, Dispose): set Raw to IntPtr.Zero (triggering Free/Unref
	if needed)

	* parser/gapi2xml.pl (addReturnElem): if the method is named Copy
	and returns a pointer, set the "owned" attribute on the
	return-type.

	* */*-api.raw: Regen
	
	* generator/HandleBase.cs (FromNative): Add new
	FromNative/FromNativeReturn overloads that takes a "bool owned"
	param. Implement the 1-arg FromNative and FromNativeReturn in
	terms of that.

	* generator/ObjectBase.cs (FromNative): Implement HandleBase's new
	overload. Use the two-arg version of GLib.Object.GetObject when
	"owned" is true.

	* generator/OpaqueGen.cs (Generate): Pull out Ref, Unref, and
	Free/Destroy/Dispose methods and handle them specially by
	overriding Opaque.Ref, .Unref, and .Free appropriately. (If any
	of the methods are marked deprecated, output a deprecated
	do-nothing method as well, to save us from having to write all
	those deprecated methods by hand.)
	(FromNative): use GetOpaque, passing "owned".

	* generator/ReturnValue.cs (FromNative): if the value is a
	HandleBase, pass Owned to its FromNative().

	* generator/Parameters.cs (Owned): new property (for use on out
	params)
	(FromNative): Call FromNative() on the generatable, handling Owned
	in the case of HandleBase.

	* generator/ManagedCallString.cs:
	* generator/MethodBody.cs:
	* generator/Signal.cs: use param.FromNative() rather than
	param.Generatable.FromNative(), to get ownership right.

	* */*.metadata: Mark opaque ref/unref/free methods deprecated
	(except where we were hiding them before). Add "owned" attributes
	to return values and out params as needed.

	* pango/AttrIterator.custom (GetFont): work around a
	memory-management oddity of the underlying method.

	* pango/AttrFontDesc.cs (AttrFontDesc): copy the passed-in
	FontDescriptor, since the attribute will assume ownership of it.

	* gtk/TreeView.custom (GetPathAtPos): set the "owned" flag on the
	returned TreePaths.

	* gtk/TargetList.custom: Remove refcounting stuff, which is
	now handled automatically

	* gtk/NodeStore.cs (GetPath): clear the Owned flag on the created
	TreePath so that the underlying structure doesn't get freed when
	the function returns

	* gtkhtml/HTMLStream.custom (Destroy): hide this and then
	reimplement it by hand to keep OpaqueGen from using it in
	Dispose(), since calling it after an HTMLStream.Close() will
	result in a crash.

svn path=/trunk/gtk-sharp/; revision=47928
2005-08-02 18:45:21 +00:00
Mike Kestner 6c67e4ffb6 2005-07-28 Mike Kestner <mkestner@novell.com>
* bootstrap-for-the-insane : beginnings of 2.8 binding.
	* */*-api-2.8.raw : 2.8 api files.
	* gdk/Gdk.metadata : work around #define used in Pixbuf props in 2.7.
	* parser/gapi2xml.pl : collision guarding for privatestruct defs.
	* sources/gtk-sharp-2.8-sources.xml : parse for 2.8.
	* sources/Makefile.am : api-2.8, get-2.8-sources, etc...

svn path=/trunk/gtk-sharp/; revision=47820
2005-07-28 21:24:55 +00:00
Dan Winship 0fa85fccbd * parser/gapi2xml.pl (addParamsElem): deal with G_CONST_RETURN in
params... some functions use that to mark const "out" params. In
	fact, let's use it as a hint to mark them pass_as="out" too...

	* pango/pango-api-2.4.raw: 
	* pango/pango-api-2.6.raw: 
	* gtk/gtk-api-2.6.raw: Regen, fixing pango_script_iter_get_range
	and gtk_image_get_icon_name.

	* pango/Pango.metadata: 
	* pango/ScriptIter.cs: Alas, exposing GetRange makes it clear that
	PangoScriptIter is really weird and we weren't wrapping it
	correctly before anyway, so mark the whole thing hidden and wrap
	it by hand.

svn path=/trunk/gtk-sharp/; revision=47748
2005-07-27 13:21:15 +00:00
Mike Kestner f1a8c00732 2005-07-08 Mike Kestner <mkestner@novell.com>
* */*.raw : regen.
	* parser/gapi2xml.pl : access comment doesn't have to start at
	beginning of line.

svn path=/trunk/gtk-sharp/; revision=47126
2005-07-08 22:04:50 +00:00
Mike Kestner 4c8d1c1973 2005-07-08 Mike Kestner <mkestner@novell.com>
* pango/*.raw : regen.
	* sources/gtk-sharp-2.4-sources.xml : exclude some xft and fc files.
	* sources/gtk-sharp-2.6-sources.xml : exclude some xft and fc files.

svn path=/trunk/gtk-sharp/; revision=47124
2005-07-08 21:41:01 +00:00
Mike Kestner 144a0f9d20 2005-07-02 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : implement new IAccessor iface so that
	callback fields on structs can now be accessed.
	* generator/ClassBase.cs : remove/abstract some methods incorrectly
	located here.
	* generator/ClassGen.cs : implement methods previously inherited from
	ClassBase incorrectly.
	* generator/HandleBase.cs : new base class for native ptr wrappers.
	Implements new IAccessor interface and code moved from ClassBase.
	* generator/IAccessor.cs : new iface to generate field/prop accessors.
	* generator/InterfaceGen.cs : derive from new ObjectBase.
	* generator/LPGen.cs : implement IAccessor.
	* generator/LPUGen.cs : implement IAccessor.
	* generator/ObjectBase.cs : new base class for Object/Iface types.
	* generator/ObjectGen.cs : derive from new ObjectBase.
	* generator/OpaqueGen.cs : derive from HandleBase.
	* generator/StructField.cs : refactor Generate method using new
	IAccessor interface.
	* */*.custom : add obsolete impls for some existing c_cased struct
	field accessors that are now StudlyNamed.

svn path=/trunk/gtk-sharp/; revision=46878
2005-07-02 15:23:27 +00:00
Mike Kestner 60c910ebec 2005-06-17 Mike Kestner <mkestner@novell.com>
* Makefile.include : add included apis as deps on the generation
	target to force regen if dependency lib api changes.
	* pango/Analysis.custom : new custom to implement the ExtraAttrs
	property.  [Fixes #74668]
	* pango/Makefile.am : add new custom file.

svn path=/trunk/gtk-sharp/; revision=46166
2005-06-17 18:48:27 +00:00
Mike Kestner bd5af2ca78 2005-05-16 Mike Kestner <mkestner@novell.com>
* makefile.win32 : remove 1.0 csc, default to 1.1.
	* gtk/TreeEnumerator.cs : remove C# 2.0 usage.
	* gtk/glue/makefile.win32 : remove duplicated cellrenderer.o.
	* vte/glue/Makefile.am : use VTE_DEPENDENCIES_CFLAGS.
	* */makefile.win32 : add glue args to generation target.

svn path=/trunk/gtk-sharp/; revision=44580
2005-05-16 19:07:27 +00:00
Dan Winship b6d7f14268 * generator/StructBase.cs: update field-generation logic a bit
* generator/CodeGenerator.cs: add a --glue-includes flag

	* generator/GenerationInfo.cs: Accept glue_includes value from
	Main and output it to the glue_filename.

	* generator/FieldBase.cs (Ignored): handle more ignorable cases.
	(CheckGlue): New method to figure out what kind of glue we'll need
	for a field.
	(GenerateImports): generate appropriate imports per CheckGlue.
	(GenerateGlue): Generate C glue for accessing a struct field;
	either a fully-C-based accessor, or a method to just return the
	field's offset in the struct.
	(Generate): Use the generated glue to read the field.

	* generator/PropertyBase.cs (CType): if the field is a single bit,
	set its type to gboolean.

	* generator/ObjectGen.cs (Generate):
	* generator/OpaqueGen.cs (Generate): Call GenFields.

	* generator/StructField.cs: Use FieldBase's glue-generation code
	to handle bitfields. [#54489]

	* generator/ObjectField.cs: Generates accessors for public fields
	of objects and opaque structs. [#69514]

	* generator/ClassBase.cs (ClassBase): Parse <fields> nodes and
	create ObjectField objects.
	(GenFields): Output field properties
	(IgnoreMethod): Ignore Get/Set methods that duplicate fields

	* generator/Makefile.am (sources): update

	* {gdk,gnome,gtk,pango}/*.metadata: Mark some additional fields as
	public. Rename/retype some fields for consistency with earlier
	hand-coded bindings.

	* {gdk,gnome,gtk,pango}/*.custom: Remove custom methods that can
	now be autogenerated.

	* {gdk,gnome,gtk,pango}/glue/*.c: Remove glue methods that can now
	be autogenerated
	
	* {gdk,glade,gnome,gtk,pango,vte}/Makefile.am
	* {gdk,glade,gnome,gtk,pango,vte}/glue/Makefile.am
	* {gdk,gnome,gtk,pango}/glue/makefile.win32: Update

svn path=/trunk/gtk-sharp/; revision=44563
2005-05-16 14:28:55 +00:00
Mike Kestner 07df433712 2005-05-11 Mike Kestner <mkestner@novell.com>
* pango/Makefile.am : add file.
	* pango/Units.cs : new class to wrap PANGO_SCALE and PANGO_PIXELS.
	* pango/glue/units.c : accessors for the macros.
	* pango/glue/Makefile.am : build it.
	* pango/glue/makefile.win32 : build it on win.
	[Fixes #74837]

svn path=/trunk/gtk-sharp/; revision=44410
2005-05-11 20:27:00 +00:00