Commit graph

3120 commits

Author SHA1 Message Date
Mike Kestner 2ba496479f Restructure log warnings in validation.
* generator/*.cs: Add a LogWriter class which formats warnings
consistently on the console.  Supports the concept of non-fatal
validation warnings, since it doesn't rely on the unrolling of the
validation stack to associate a warning to a given type.

Main purpose was to add a non-fatal warning for missing element_type
attributes on list return values, though it results in cleaner log
output, and also updates some warning messages to be more helpful in
how to resolve them.
2011-02-20 12:11:08 -06:00
Mike Kestner 0a094c2662 Cleanup the Gdk build.
* gdk/Colormap.custom: kill dead code
* gdk/DeviceAxis.custom: kill dead code
* gdk/EdgeTable.custom: kill dead code
* gdk/Event.cs: remove dead ClientEvent mapping
* gdk/EventClient.cs: kill dead code
* gdk/GCValues.custom: kill dead code
* gdk/Gdk.metadata: remove a bunch of dead markup and add some new
* gdk/Input.custom: kill dead code
* gdk/Makefile.am: remove dead files
* gdk/PangoAttrEmbossColor.custom: kill dead code
* gdk/PangoAttrEmbossed.custom: kill dead code
* gdk/PangoAttrStipple.custom: kill dead code
* gdk/Region.custom: kill dead code
* gdk/RgbCmap.custom: kill dead code
* gdk/Window.custom: kill dead code
2011-02-18 22:00:34 -06:00
Mike Kestner e7ee99526a Add Pattern symbol to cairo-api.xml
* cairo/Context.cs: use Pattern.Handle
* cairo/Pattern.cs: expose Lookup method, Obsolete the Pointer prop and
  add a new Handle prop for API consistency.
* cairo/cairo-api.xml: add Pattern symbol.
2011-02-18 21:57:39 -06:00
Mike Kestner c283aa425b Add SeekType symbol to glib-api.xml
* gio/Gio.metadata: remove it here
* gio/Makefile.am: include glib-api.xml
* glib/glib-api.xml: add GSeekType element.
2011-02-18 21:54:15 -06:00
Mike Kestner 7d696d2fc0 Fix leak in File.QueryInfo(Finish)
* gio/Gio.metadata: mark owned return values on QueryInfo methods.
  [Fixes #613821]
2011-02-18 08:43:05 -06:00
Mike Kestner ee866216b1 Cairo API 1.10 updates.
* cairo/*: merge changes to Mono.Cairo since we split back in Oct 2008.
  Not much changed.  Scrubbed the doc index and updated NativeMethods
  to match.  Commented with DONTCARE the ones we will ignore.  Implemented
  a few of them, including an initial Device binding.  Still some work
  to do, and some discovery to be done to see what happened to Xcb, Glitz,
  and DirectFB surfaces and whether we need to remove those classes.
2011-02-17 23:00:12 -06:00
Mike Kestner 5e6bd92b73 Fix NativeInstantiation sample/test
* sample/NativeInstantiationTest.cs: pinvoke the correct soname.
2011-02-15 10:27:54 -06:00
Mike Kestner 27b71b1982 Get Scribble sample working.
* cairo/cairo-api.xml: add the Content enum type and fix surface symbol.
* gdk/gdk-sharp.dll.config.in: s/3.0/3/ on the so name.
* sample/Makefile.am: enable scribble.exe build
* sample/Scribble.cs: rewrite for new API, specifically replace pixmap
drawing usage with cairo, and use OnDrawn in place of OnExposeEvent.
Also Made it a subclass of DrawingArea instead of handling events.
2011-02-15 10:19:07 -06:00
Mike Kestner d757f1b63a Update the CairoSample.
* sample/CairoSample.cs: bring the code closer to current practice
and update the OnDrawn override to use AllocatedWidth and Height.
Sample now runs cleanly, though with a couple of cairo-sharp bitches
when finalizers run on contexts.
2011-02-12 16:31:50 -06:00
Mike Kestner 001956432c Some more GIO interface cleanup
* generator/InterfaceGen.cs: don't grab the StreamWriter for consume-only.
* generator/InterfaceVM.cs: don't bitch or fail validation when missing
target on consume-only.
* generator/ObjectBase.cs: support a target_method attr on vms to point the
callback invocations at when the names don't match.
* gio/Gio.metadata: marks a few more ifaces consume-only until somebody
complains they need to implement one of them.
2011-02-12 15:52:57 -06:00
Mike Kestner 3ed7e0901e Update to Gtk+ 3.0.0 API.
* configure.ac: require gtk+-3.0.0 and glib-2.28.0
* gdk/gdk-api.raw: reparse
* gdk/gdk-symbols.xml: add alias for Window (XID) to gulong
* gtk/Plug.custom: update custom ctors to ulong XID versions.
* gtk/gtk-api.raw: reparse
* gtk/gtk-sharp.dll.config.in: change dllname remap to match 3.0.0 so.
* sources/.gitignore: fix glib and gtk+ dirs
* sources/Makefile.am: update to gtk+ 3.0.0
* sources/sources.xml: update to gtk+ 3.0.0
2011-02-12 15:30:20 -06:00
Mike Kestner 1794158599 Suppress override on iface ToString decls.
* generator/Method.cs: interface method declarations do not support or
need an override keyword, so block the generation of it when the implementor
and container_type indicate generation of the iface itself.
2011-02-12 15:27:10 -06:00
Mike Kestner 35b60b19eb Ignore volatile on func param parse.
* gio/gio-api.raw: reparse
* parser/gapi2xml.pl: ignore volatile keyword on function parameters.
2011-02-11 14:04:11 -06:00
Mike Kestner 88af56dd68 Implement GVariantType binding.
* generator/SymbolTable.cs: add GVariantType mapping.
* glib/Makefile.am: add file
* glib/Value.cs: add cast to VariantType.
* glib/VariantType.cs: hand binding for yet another ref counted glib
type system.
2011-02-11 13:52:13 -06:00
Mike Kestner 589681516f Strip volatile keywords in field parse.
* gio/gio-api.raw: reparse
* parser/gapi2xml.pl: strip volatile keyword from field declarations
before parsing them.
2011-02-11 10:07:24 -06:00
Mike Kestner 0e084d9da7 Do a global GAsyncReadyFunc scope=async rule.
* gio/Gio.metadata: mark all AsyncReadyFuncs as async scope.  also
fixes a struct->boxed update that was causing a mis-apply.
2011-02-11 09:55:48 -06:00
Mike Kestner 5c6e722208 Hide a few more gwin32 files from the parse.
* gio/gio-api.raw: reparse
* sources/sources.xml: exclude some more gwin32*.h headers.
2011-02-11 09:01:04 -06:00
Mike Kestner 917a4abf7a Remove Glib.Boxed usage in Value.
* glib/Value.cs: GLib.Boxed is obsolete and removed.
2011-02-11 08:41:45 -06:00
Mike Kestner 08eda8b7c2 More dead code removal.
* glib/Makefile.am: remove files
* glib/Boxed.cs: remove
* glib/DelegateWrapper.cs: remove
* glib/SignalCallback.cs: remove
* glib/TypeConverter.cs: remove
2011-02-10 21:16:05 -06:00
Mike Kestner d33520b9c6 Kill UnwrappedObject obsolete code.
* glib/Makefile.am: remove file
* glib/UnwrappedObject.cs: remove
* glib/Value.cs: remove obsolete method
2011-02-10 21:16:05 -06:00
Mike Kestner dc93b23acd Remove obsolete and broken code from Opaque.
* glib/Opaque.cs: remove bad ctor and noop finalizer
2011-02-10 21:16:05 -06:00
Mike Kestner 72cca1f93f Kill dead EnumWrapper type from the early days.
* glib/EnumWrapper.cs: remove
* glib/Makefile.am: remove file
* glib/Value.cs: remove obsolete EnumWrapper cast/ctor
2011-02-10 21:16:05 -06:00
Mike Kestner 86e4b4c170 Update CairoSample to API 3.0
* sample/CairoSample.cs: replace OnExposeEvent with OnDrawn.
* sample/Makefile.am: include cairo-sample.exe in TARGETS.
2011-02-10 21:16:05 -06:00
Mike Kestner 70d1b232f2 DllImport updates for gdk. 2011-02-10 21:16:05 -06:00
Miguel de Icaza 1f7f2b45b9 Add TODO 2011-02-10 00:20:36 -05:00
Mike Kestner c09e82a09f More sample build fixes.
* Makefile.am: reenable samples.
* sample/Actions.cs: s/Item/MenuItem, Item is dead.
* sample/NativeInstantiationTest.cs: fix dllimport, still crashes.
* sample/PolarFixed.cs: Fix size negotiation API usage, still crashes.
* sample/TreeModelDemo.cs: add ItemPrevious, still crashes.
* sample/Makefile.am: comment out some samples that don't build.
2011-02-09 20:05:37 -06:00
Mike Kestner ace9176d4a Update NodeViewDemo to new API.
* sample/NodeViewDemo.cs: s/VBox/ContentArea again.
2011-02-09 19:29:44 -06: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 ac0b42f717 Kill Size sample
* sample/Size.cs: kill.  was a bug repro sample back in the early
days of broken struct marshaling.  No longer even demonstrates
proper size negotiation with 3.0 and other samples will, like
polarfixed.exe.
* sample/Makefile.am: remove size.exe
2011-02-09 18:12:07 -06:00
Mike Kestner e8250641d6 Remove [IgnoreClassInitializers] usage.
* Subclass.cs: kill a no longer needed ignore attr.
2011-02-09 17:10:38 -06:00
Mike Kestner 96c8904219 Kill the glade samples.
* sample/Glade*.cs: remove
* sample/test.glade: remove
* sample/Makefile.am: remove glade files from dist and comment out SUDIRS
temporarily.
2011-02-09 16:58:50 -06:00
Mike Kestner 8c0e123418 dllimport libname updates for Gtk.
* *: s/win32-2.0-0/win32-3.0-0/  I suspect this will need to change
again when I see some win32 binaries.  I think the win32 goes away.
Killing a few dead customs in the list as well.
2011-02-09 16:54:12 -06:00
Mike Kestner 22a83cc779 Move g_format_size_for_display to Global.
* glib/Format.cs: moved to Global.cs
* glib/Global.cs: moved from Format.cs
* glib/Makefile.am: update sources.
2011-02-09 10:48:19 -06:00
Mike Kestner 53fdda0f51 Kill the CDeclCallback attr.
* glib/CDeclCallbackAttribute.cs: kill, we now use UnmanagedFunctionPtr.
* glib/Makefile.am: remove file
2011-02-09 10:43:35 -06: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 c4d06e4b7f Stop copying AssemblyInfo.cs around.
* Makefile.include:
* gtkdotnet/Makefile.am:
  Now that the keyfile stuff is compiler switch driven, we don't
need to copy around these AssemblyInfo attrs either.  Already fixed
the key copying.
2011-02-09 10:09:35 -06:00
Mike Kestner 7cdaf34aa2 Remove ClassInitializer attributes.
* AssemblyInfo.cs.in: remove the ignore attr from the assemblies.
* glib/ClassInitializerAttribute.cs: remove obsolete method target attr.
* glib/IgnoreClassInitializersAttribute.cs: remove.
* glib/Makefile.am: update sources and stop copying AssemblyInfo.cs around.
* glib/Object.cs: remove the obsolete ClassInitializer fallback mechanism.
2011-02-09 10:05:40 -06:00
Mike Kestner f125031297 README updates
* README: replace bootstrap verbage with autogen.
2011-02-08 22:20:59 -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 7d70a4313a Reparse and fix build for G_DEFINE_BOXED_TYPE
* gdk/PixbufFormat.custom: kill redundant Obsolete prop.
* gdk/Makefile.am: remove file.
* gdk/gdk-api.raw: reparse
* gio/Gio.metadata: hide a couple opaque fields.
* gio/gio-api.raw: reparse
2011-01-31 10:57:06 -06:00
Mike Kestner 32737dc946 Parse G_DEFINE_BOXED_TYPE
* parser/gapi_pp.pl: pass G_DEFINE_BOXED_TYPE macros thru
* parser/gapi_pp.pl: add G_DEFINE_BOXED_TYPE handling
2011-01-31 08:51:10 -06:00
Mike Kestner 0d44b5e973 Throw a more helpful exception for missing GetType.
* generator/InterfaceGen.cs: if we don't have a GetType method, it's
a fatal situation.  Throw an exception that identifies the iface in
question.
2011-01-30 23:28:02 -06:00
Mike Kestner 955cdcf123 Update Gdk to the 2.99 API
* cairo/Surface.cs: expose LookupSurface
* cairo/cairo-api.xml: add surface mapping
* gdk/*: updates and hobbling to get gdk building.  lots of work
to come.
2011-01-30 22:49:15 -06:00
Mike Kestner d49ffa8759 Update atk API to 1.32 parse.
* atk/atk-api.raw: parse of 1.32.0.
2011-01-30 17:11:54 -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 e77ee7f5b1 Update Gio to 2.27 and get it building.
* gio/DBusInterfaceVTable.cs: unbuilt stab at a connection api.
* gio/Gio.metadata: some build tweaks and workarounds.
* gio/gio-api.raw: parse for 2.27.90.
2011-01-30 17:08:55 -06:00
Mike Kestner a1f9eef0b8 Fix for some whitespace parsing in Funcs.
* parser/gapi2xml.pl: regex updates to support a bit more whitespace.
2011-01-30 17:06:58 -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 02bac350eb Avoid collisions in generated variable usage.
* generator/CallbackGen.cs: s/result/__result/ for temporary callback
return values in the native invoker generation.
2011-01-22 19:43:14 -06:00
Mike Kestner 0c6b54c9d9 Collision detection for iface method -> prop.
* generator/ObjectGen.cs: detect method collisions on interfaces
against the object properties to avoid duplicate property generation.
2011-01-22 13:06:01 -06:00