Commit graph

8 commits

Author SHA1 Message Date
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
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
acdb2f73da * gtk/glue/container.c (gtksharp_container_get_focus_child): New
glue method to get container->focus_child

        * gtk/Gtk.metadata: hide SetFocusChild

        * gtk/Container.custom (FocusChild): implement with both getter
        and setter

        * en/Gtk/Container.xml (FocusChild): Has a getter now too.
        (Added): Clarify that this only means "Gtk.Container.Add was
        called", and doesn't get fired when you call Gtk.Box.PackStart,
        etc

svn path=/trunk/gtk-sharp/; revision=36143
2004-11-15 17:47:16 +00:00
Dan Winship
df41dcc177 * parser/gapi2xml.pl (parseInitFunc, addPropElem): handle
GtkContainer child properties

	* generator/Property.cs:
	* generator/ChildProperty.cs: make Property subclassable and add a
	"ChildProperty" subclass.

	* generator/Makefile.am (sources): add ChildProperty.cs

	* generator/ClassBase.cs: handle "childprop" nodes by creating
	ChildProperty objects.

	* glib/Value.cs (explicit operator EnumWrapper): use
	g_value_get_flags() rather than g_value_get_enum() when
	appropriate.

	* glib/glue/value.c (glibsharp_value_holds_flags): glue for that

	* gtk/gtk-api.raw: regen to pick up child properties

	* gtk/Gtk.metadata:
	* gtk/Container.custom: hide the auto-generated
	Gtk.Container.ChildGetProperty and implement a nicer one by hand.

	* gtk/glue/container.c (gtksharp_container_child_get_property):
	utility function to set up an appropriate GValue for us

svn path=/trunk/gtk-sharp/; revision=35702
2004-11-05 16:47:15 +00:00
Mike Kestner
7a6d6b2128 2004-06-25 Mike Kestner <mkestner@ximian.com>
* */*.cs : add lgpl license blurb and clean up (c)'s.
	* */*.custom : add lgpl license blurb and clean up (c)'s.
	* */glue/*.c : add lgpl license blurb and clean up (c)'s.
	file adds without license from now on are punishable by wedgie.

svn path=/trunk/gtk-sharp/; revision=30401
2004-06-25 18:42:19 +00:00
Todd Berman
e525e9bd55 2004-06-10 Todd Berman <tberman@sevenl.net>
* gtk/Container.custom: add C# glue for virtualizing ChildType ()
        * gtk/glue/container.c: add C glue for virtualizing ChildType ()
        * gtk/Gtk.metadata: hide Container.ChildType ()
        * gtk/Widget.custom: Add ClearFlag, and SetFlag convenience methods.
        Also add various IsFlag bool properties for checking for flags.
        * gtk/glue/widget.c: Fix setting flags.
        * doc/*: updated Widget docs.

svn path=/trunk/gtk-sharp/; revision=29217
2004-06-10 18:37:05 +00:00
Mike Kestner
f37e02b5b2 2004-05-25 Mike Kestner <mkestner@ximian.com>
* gtk/Container.custom : use glue to invoke the GtkCallback in
	Forall.
	* gtk/glue/container.c : add gtksharp_container_invoke_gtk_callback.

svn path=/trunk/gtk-sharp/; revision=28047
2004-05-25 13:35:38 +00:00
Mike Kestner
b9cee94a37 2004-05-07 Mike Kestner <mkestner@ximian.com>
* gnome/Canvas.custom : PixelsPerUnit prop.
	* gnome/Gnome.metadata : hide Canvas.SetPixelsPerUnit.
	* gnome/glue/Makefile.am : get_pixels_per_unit.
	* gnome/glue/canvas.c : get_pixels_per_unit.
	* gtk/Container.custom : OnForall virtual method impl.
	* gtk/glue/Makefile.am : add container.c
	* gtk/glue/container.c : virtual method glue for forall.
	* gtk/glue/makefile.win32 : add container.o

svn path=/trunk/gtk-sharp/; revision=26962
2004-05-08 02:14:19 +00:00