Commit graph

3125 commits

Author SHA1 Message Date
Mike Kestner 1c980d6e71 Switch GLib.Object to Dispose(bool) pattern.
* glib/Object.cs: move finalization queue to ToggleRef and make
    Dispose() non-virtual with a protected virtual Dispose(bool).
    Also added a WarnOnFinalize static property to produce nags for
    undisposed objects.
* glib/ToggleRef.cs: add finalization queue and QueueUnref method.
* gtk/NodeStore.cs: override Dispose(bool)
* gtk/Widget.custom: override Dispose(bool)
2011-03-25 12:22:04 -05:00
Mike Kestner 6be0718ff2 Simplified Signal handling
* gdk/Display.custom: rework signal connection
* gdk/Window.custom: rework signal connection
* generator/Signal.cs: generate for new API.
* glib/Object.cs: add (Add|Remove)SignalHandler methods and use
them for the Notify connections.  Move to generic collections for
everything but the Data hash.
* glib/Signal.cs: kill Lookup methods and add delegate fields
* glib/ToggleRef.cs: remove Signals hash, it doesn't belong here.
* gtk/Clipboard.custom: rework signal connection
* gtk/ListStore.custom: rework signal connection
* gtk/TextView.custom: remove obsolete signal
* gtk/TreeModelAdapter.custom: rework signal connection
* gtk/TreeModelFilter.custom: rework signal connection
* gtk/TreeModelSort.custom: rework signal connection
* gtk/TreeStore.custom: rework signal connection
* gtk/Widget.custom: rework signal connection
* gtk/Window.custom: remove obsolete signal
2011-03-24 18:33:24 -05:00
Mike Kestner db738c401b Make ToggleRef.Signals a Dictionary
* glib/Object.cs: don't bother with IsAlive check on tref
* glib/Signal.cs: remove unnecessary as usage
* glib/ToggleRef.cs: make Signals a generic dictionary
2011-03-24 18:33:19 -05:00
Mike Kestner a56feb01e3 Some warning fixage.
* glib/GType.cs:
* glib/Makefile.am:
* glib/Object.cs:
* glib/ParamSpec.cs:
* glib/PtrArray.cs:
* glib/SignalClosure.cs:
* glib/Value.cs:
mark private struct fields public to avoid 0169, and remove the nowarn
from the csc command.  fixed one real warning, exposed a bunch of
obsolete usage still to fix.
2011-03-24 18:32:54 -05:00
Mike Kestner d1b852bdf3 Add missing file.
* generator/LogWriter.cs: still getting used to this git thing...
2011-02-21 11:19:10 -06:00
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