Commit graph

255 commits

Author SHA1 Message Date
Andrés G. Aragoneses
2967482762 Revert "gtk: Mark the Cairo.Context in Widget.Drawn as owned"
This reverts commit 21bfaa7a9d.

After fixing the memory leak when finalizing a Context object in the
previous commit, native crashes would happen when using a Gtk#-based
app. The reason is that this commit tried to fix the leak with the wrong
approach of marking the CairoContext as owned. This avoided the leak by
not incrementing the reference count, but now that the leak is fixed,
cairo_destroy is called one time too much.

The CairoContext passed in the Draw signal is not marked as
transfer-ownership=full in GObject-Introspection metadata. So unmarking
this as owned fixes the "potential double-free" assertion that was
causing the crash.
2013-11-03 17:01:34 +01:00
Bertrand Lorentz
fc9746013d gtk: Fix TreeView.GetTooltipContext method signature (bxc#14678)
The x and y parameters of gtk_tree_view_get_tooltip_context() are marked
as inout in the Gtk+ docs, so we need to mark them as ref.
2013-11-03 14:42:39 +01:00
Bertrand Lorentz
5f8e0953cf gtk: Use native function for GtkTextIter.Equals(GtkTextIter)
As GtkTextIter has no public properties, the default generated Equals
implementation would be "return true;". We now suppress that and with a
fix-up now use the native gtk_text_iter_equal to implement the Equals
method.
2013-10-10 16:28:37 +02:00
Bertrand Lorentz
f14eee3eb6 gtk: Fixup AccelMap.LookupEntry to have key as an out param (bxc#11367) 2013-04-21 14:39:18 +02:00
Bertrand Lorentz
253da2e05c Remove obsolete fix-ups for needs_ref attribute
The needs_ref attribute hasn't been used by the generator for quite some
time now.
2013-02-23 13:41:50 +01:00
Bertrand Lorentz
3b37e81b05 gtk: Fix-ups to set the scope of a few callbacks 2012-11-15 18:18:37 +01:00
Bertrand Lorentz
3cce546661 gtk: Fix return types for IterList* methods in WidgetPath 2012-11-15 14:07:35 +01:00
Bertrand Lorentz
6809865526 gtk: Make the Group property for Radio* widgets a properly typed array
The Group property for all the Radio* classes (RadioAction, RadioButton,
RadioMenuItem and RadioToolButton) was exposed as a GLib.SList,
with its elements untyped.

We now hide the various Group properties and have custom code to handle
them correctly.
2012-11-15 12:05:45 +01:00
Bertrand Lorentz
d8aa4ab275 gtk: Fix-up return type for some methods returning lists 2012-11-15 11:58:18 +01:00
Bertrand Lorentz
c312fb739c gtk: Move interface declaration from fix-up to custom code
As we now use partial classes for custom code, we can put additional
interface implementation declaration in the custom code, instead of
adding it through a fix-up.

Side-note: I thought about moving to IEnumerable<T>, but ListStore is a
list of objects anyway, and Container is an array of Widgets, so there
wouldn't be much benefit from type safety.
2012-11-03 17:50:05 +01:00
Bertrand Lorentz
c3b3036441 gtk: Fix return type of RecentChooser.GetUris
The native function returns a NULL-terminated array of strings, so add
this as a fix-up.
2012-11-02 19:48:02 +01:00
Mike Kestner
8a0d28372c Merge pull request #31 from bl8/cairo-fixes
Cairo fixes
2012-03-28 20:04:06 -07:00
Bertrand Lorentz
a804895ce6 Add fix-ups so that missing properties are generated
A few properties would not be generated, as a property with the same
name already exists in the Widget class. To resolve this, we mark the
corresponding accessors as new.
2011-12-10 14:53:47 +01:00
Bertrand Lorentz
21bfaa7a9d gtk: Mark the Cairo.Context in Widget.Drawn as owned
We shouldn't increase the reference count on the native cairo context
when we get it as a signal parameter, so we mark it as owned.
2011-12-04 22:39:52 +01:00
Bertrand Lorentz
7c61e2bdc0 Remove custom code for PrintContext.CairoContext
As Cairo.Context is now marked as an ownable, the accessor generated
for PrintContext.CairoContext will be equivalent to what was in the
custom code.
2011-12-04 22:39:52 +01:00
Olivier Dufour
b14746d856 Fix build of gtk# by avoiding colision introduced with properties for ginterface 2011-08-02 19:27:22 +02:00
Bertrand Lorentz
ecc2fa29fa Gtk.Settings: Add all properties as a fixup
In gtksettings.c, properties are installed using a custom function. So a
few properties were added as custom code. Move those as a fixup, and add
all the other properties too.

The only missing properties now are gtk-im-preedit-style and
gtk-im-status-style, because their type is hidden.
2011-07-31 15:29:48 +02:00
Mike Kestner
da1481b23d Mark Widget::draw as manually marshaled
* gtk/Gtk.metadata: Widget draw signal has a cairo_t param that is
    problematic to marshal as a GLib.Value.  Manually marshal it.
2011-07-28 17:16:28 -05:00
Bertrand Lorentz
a529ca3a94 Temporary quick fix for properties in interfaces without accessors
The interface parsing fix added a few properties on interfaces that have
no accessors. In this case, the code generated in the adapter for those
properties does not build: it tries to use (Get/Set)Property but they
don"t inherit from Glib.Object.

Hide those properties for now, until a proper fix is implemented. As
they were not available before, it's not that bad.
2011-07-08 20:12:07 +02:00
Bertrand Lorentz
139191f537 Fix naming collisions created by the interface parsing fix
The previous commit added several new signals in Gio.ActionGroup and
Gtk.GtkCellEditable that collide with method names. Do some rename
to fix this.
2011-07-08 20:12:07 +02:00
Bertrand Lorentz
a85ebc481f Remove opaque attr from Gtk.Border and fixup some StyleContext methods 2011-07-03 13:32:35 +02:00
Mike Kestner
ebc40cd400 Merge pull request #8 from bl8/update-samples
Update most remaining samples to the new APIs
2011-06-29 17:53:03 -07:00
Bertrand Lorentz
5568a568a7 Have Dialog.ActionArea return a ButtonBox instead of a HButtonBox
The action area is created as a GtkButtonBox, so casting it to a
GtkHButtonBox doesn't work. And GtkHButtonBox is going to be deprecated
in 3.2 anyway.
This fixes a crash when accessing Dialog.ActionArea. With this,
everything in sample/test seems to work OK.
2011-06-19 12:26:33 +02:00
Bertrand Lorentz
ef74b70ce6 Various return-type fix-ups in Gtk.metadata
Add element_type and ownership information for the return type of
various methods.
2011-06-12 22:15:51 +02:00
Mike Kestner
f3c7384701 Widget.GetPreferredSize out params
* gtk/Gtk.metadata: out params on Widget.SetPreferredSize
2011-06-05 20:33:18 -05:00
Mike Kestner
c6a3bf4b73 Fix TextBufferSerializeFunc signature
* generator/CallbackGen.cs: connect return value count parameters
* generator/ManagedCallString.cs: out count params aren't special
* generator/MethodBody.cs: don't finish hidden params
* generator/Parameters.cs: explicit IsCount setting support, with
    Parameters.GetCountParameter(name) interface. Clear IsCount
    values during validation if they have no associated array. Any
    remaining count params must be associated with a retval, so
    hide them.
* generator/ReturnValue.cs: support array_length_param attribute to
    associate a return value with a "count" param.  Use new helper
    methods to marshal these array retvals to IntPtr and back.
* glib/Marshaller.cs: support for byte[] marshaling to and from
    IntPtr using a count and type in the from native direction.
* gtk/Gtk.metadata: mark TextBufferSerializeFunc return type as
    an array with the length specific in the length param.
2011-04-28 18:38:07 -05:00
Mike Kestner
07cd515482 mark Render.IconPixbuf retval owned.
* gtk/Gtk.metadata: gtk_render_icon_pixbuf transfers ownership of the
     returned pixbuf so mark it owned.
2011-04-26 08:11:59 -05:00
Mike Kestner
0d315af7a6 Add the gtk_render_* methods to StyleContext
* gtk/Gtk.metadata: hide the Render class
* gtk/Makefile.am: build the new file
* gtk/StyleContext.cs: instance methods for the gtk_render_* api using
    the internal generated Render class.
2011-04-21 12:10:36 -05:00
Mike Kestner
9e5e8e5491 StyleContenxt and GdkRGBA property cleanup
* gtk/Gtk.metadata: properties of type GdkRGBA get converted to
   type="GdkRgba" by the parser name mangling.  Manual fix those
   and clean up the lists, ellipsis, and out param API in the new
   StyleContext object.
2011-04-21 10:49:39 -05:00
Mike Kestner
e79c46cdcb Cleanup remaining fixup mismatches in Gtk.
* gtk/Gtk.metadata: remove dead rules
2011-04-20 10:09:56 -05:00
Mike Kestner
713f7ae892 Remove some dead metadata rules.
* gtk/Gtk.metadata: remove mismatched rules from prior release
2011-04-18 10:14:15 -05:00
Mike Kestner
880c332174 Remove opaque attr from Gtk.Requisition
* gtk/Gtk.metadata: set opaque=false for GtkRequisition.
2011-04-15 13:40:24 -05:00
Andrés G. Aragoneses
3ee97db664 Gtk: Set param as "out" for Widget.GetRequisition in metadata.
This way it will be converted to a property as it was in Gtk# < 3.0
Fixes bug http://bugzilla.novell.com/687823.
2011-04-15 12:54:57 +02:00
Andrés G. Aragoneses
ae67076d76 Gtk: Set param as "out" for StyleContext.GetBackgroundColor.
Fixes bug http://bugzilla.novell.com/687551
2011-04-15 12:17:57 +02:00
Mike Kestner
cc32e0ef71 Fix TreeViewDemo build
* gtk/Gtk.metadata: mark GetContentArea return as a GtkBox* and
remove some unmatched fields on GtkDialog.
* sample/TreeViewDemo.cs: use Dialog.ContentArea instead of VBox.
2011-02-09 18:23:18 -06:00
Mike Kestner
34c0ecbcf7 The rest of the first pass.
*.*: Stubbing and tweaking and cajoling and disabling to get
the first successful build of 3.0 bindings.
2011-02-08 22:15:37 -06:00
Mike Kestner
cc18369e73 2010-05-10 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark Widget.CreatePangoLayout retval as owned.
	[Fixes #604050]

svn path=/trunk/gtk-sharp/; revision=157087
2010-05-11 01:42:52 +00:00
Mike Kestner
536c3aca54 2009-11-30 Mike Kestner <mkestner@novell.com>
* generator/Method.cs: support win32_utf8_variant attribute on methods.
	* glib/*.cs: support win32 utf8 variant methods.
	* gtk/*.custom: support win32 utf8 variant methods.
	* gtk/Gtk.metadata: mark some win32_utf8_variant methods.
	  [Fixes #550961] Adapted from a patch by Tor Lillqvist.

svn path=/trunk/gtk-sharp/; revision=147113
2009-11-30 17:39:11 +00:00
Mike Kestner
e50ee63f0d 2009-09-16 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: hide StatusIcon.GetGeometry for custom impl.
	* gtk/StatusIcon.custom: custom GetGeometry implementation to avoid
	marshaling exceptions on win32.  [Fixes #518169]

svn path=/trunk/gtk-sharp/; revision=142087
2009-09-17 00:54:38 +00:00
Mike Kestner
10cae1b1cb 2009-08-07 Mike Kestner <mkestner@novell.com>
* generator/ObjectGen.cs: kill GType ctor generation.
	* glib/InitiallyUnowned.cs: kill obsolete GType ctor.
	* glib/Object.cs: kill obsolete GType ctor.
	* gtk/Gtk.metadata: kill disable_gtype_ctor rules.
	* gtk/Widget.cs: kill obsolete GType ctor.

svn path=/trunk/gtk-sharp/; revision=139600
2009-08-08 03:06:53 +00:00
Mike Kestner
64d2064d48 2009-05-06 Mike Kestner <mkestner@novell.com>
* gtk/RadioMenuItem.custom: implement subclassing for group/label 
	ctor.  [Fixes #320971]

svn path=/trunk/gtk-sharp/; revision=133706
2009-05-07 03:43:45 +00:00
Mike Kestner
2e86916282 2009-05-02 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: updates for new RecentItems prop.
	* gtk/Makefile.am: add new custom.
	* gtk/RecentManager.custom: obsolete Items prop impl.

svn path=/trunk/gtk-sharp/; revision=133393
2009-05-02 16:51:34 +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
80632de9e5 2009-04-05 Christian Hoff <christian_hoff@gmx.net>
* gtk/Target.custom: custom implementation of TableNewFromList.
	* gtk/TargetList.custom: use Target.TableNewFromList method
	to convert the TargetList to a TargetEntry array.
	* gtk/glue/targetlist.c: deleted.

svn path=/trunk/gtk-sharp/; revision=131066
2009-04-05 08:36:46 +00:00
Christian Hoff
b456cc4f0b 2009-02-06 Christian Hoff <christian_hoff@gmx.net>
* gtk/Gtk.metadata: Fix TreeModel.EmitRowsReordered signature


svn path=/trunk/gtk-sharp/; revision=126098
2009-02-06 19:58:00 +00:00
Mike Kestner
1a16f66803 2009-01-08 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: map gfilename* list elements to type
	ListBase.FilenameString so they are marshaled correctly.
	* glib/Marshaller.cs: handle FilenameStrings in ListPtrToArray.
	* gtk/Gtk.metadata: FileChooser.GetFilenames and ListShortcutFolders
	return type mangling to avoid custom implementations.
	* gtk/FileChooser*.custom: kill manual Filenames and ShortcutFolders.

svn path=/trunk/gtk-sharp/; revision=122802
2009-01-08 18:43:00 +00:00
Stephane Delcroix
24512d951a 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gtk_icon_theme_lookup_by_gicon return-type
	and name.

svn path=/trunk/gtk-sharp/; revision=122530
2009-01-06 09:40:54 +00:00
Stephane Delcroix
c003c94a2a 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gicon property name for CellRendererPixbuf

svn path=/trunk/gtk-sharp/; revision=122529
2009-01-06 09:40:23 +00:00
Stephane Delcroix
5658b0feb7 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gicon property, getter and setter for StatusIcon

svn path=/trunk/gtk-sharp/; revision=122528
2009-01-06 09:40:00 +00:00
Stephane Delcroix
af3707e207 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: rename SetFromGicon to SetFromIcon and GetGicon to
	GetIcon.

svn path=/trunk/gtk-sharp/; revision=122527
2009-01-06 09:39:21 +00:00