* generator/BoxedGen.cs : s/uint/GLib.GType
* generator/ManualGen.cs : add a ctor to pass ToNative handle name
* generator/ObjectGen.cs : s/uint/GLib.GType
* generator/Signal.cs : use GLib.GType and call OverrideVirtualMethod
* generator/SymbolTable.cs : make GType a ManualGen and update a few
ManualGens to the new signatures.
* glib/DefaultSignalHandler.cs : s/Type/System.Type
* glib/ManagedValue.cs : s/uint/GLib.GType
* glib/Object.cs : s/uint/GLib.GType, add OverrideVirtualMethod.
* glib/Type.cs : s/uint/IntPtr, add static fields for fundamentals.
make it a value type and add ==, !=, Equals, and GetHashCode.
* glib/TypeConverter.cs : use new GType statics, not fundamentals.
* glib/Value.cs : use new GType statics, not fundamentals.
* gnome/*.custom : s/uint/GLib.GType
* gtk/*Store.custom : use GType statics, not fundamentals.
* sample/Subclass.cs : s/uint/GLib.GType.
svn path=/trunk/gtk-sharp/; revision=21181
* gnome/gnome-api.xml : regen'd
* parser/gapi2xml.pl : handle typedef enum _foo foo;
* parser/gapi-parser : support <exclude> elements in addition to <dir>
and <file> to specify the sources to be parsed.
svn path=/trunk/gtk-sharp/; revision=21081
* generator/CallbackGen.cs : use new sig and isig classes.
* generator/Ctor.cs : use new sig, isig, and body classes.
* generator/ImportSignature.cs : isig code spun out from Parameters.
* generator/Method.cs : use new sig, isig, and body classes.
* generator/MethodBody.cs : spun Initialize, GetCallString,
Finish, and Exception throwing methods from Parameters.
* generator/Parameters.cs : Slayed the evilness that was CreateSignature.
It is now essentially a container for Parameter classes instead of a
tangled mess of code trying to do everything remotely related to
parameter lists. Also completely killed the VAType/IsVarArgs stuff,
as it can be done with the array and params attrs instead.
* generator/Property.cs : use new sig class.
* generator/Signature.cs : new method sig generator extracted from
Parameters class. add "params" keyword support for tagged parameters.
* gnome/Gnome.metadata : hide IconList.GetSearchPath (to be manual)
* gnome/gnome-api.xml : regen
* gtk/ListStore.custom : kill unneeded overload
* gtk/TreeStore.custom : kill unneeded overload
* gtk/Gtk.metadata : mark params/args on *store_newv
* gtk/gtk-api.xml : regenerated
svn path=/trunk/gtk-sharp/; revision=20755
* gnome/CanvasPoints.custom : make New overload a ctor overload.
* gnome/Gnome.metadata : mark CanvasPoints as opaque
* gnome/gnome-api.xml : regenerated. [Fixes#37256]
svn path=/trunk/gtk-sharp/; revision=19145
* gnome/PrintDialog.custom: Added overloaded ctor with fewer parameters.
* sources/Gnome.metadata: Disabled default ctor for PrintJob,
changed type from int to PrintDialogFlags for PrintDialog ctor and
changed return type from byte to string for PrintConfig.Get.
svn path=/trunk/gtk-sharp/; revision=18738
(CanvasItem.SetValist):
(CanvasItem.Construct): Hidden, because we don't support va_list
params.
(CanvasItem): Hid the constructor, as each subclass has their own
contsructor and we don't support va_list params.
(CanvasItem.W2i):
(CanvasItem.I2w): Marked parameters as ref, so they can be used as
in/out parameters.
(Canvas.GetMiterPoints):
(Canvas.GetColor): Fixed return type to be 'bool' instead of 'int'.
(CanvasClipgroup.Wind): Fixed property type. It should be an
Art.WindRule enum, not a UInt.
(Canvas.W2cAffine):
(CanvasItem.AffineAbsolute):
(CanvasItem.AffineRelative):
(CanvasItem.I2wAffine):
(CanvasItem.I2cAffine): Hidden, use the impl. in the custom file
instead.
* gnome/Canvas.custom: Added for W2cAffine.
* gnome/CanvasItem.custom: Reformatted. Added AffineRelative,
AffineAbsolute, I2wAffine, I2cAffine. These are needed because of
the 'const double affine[6]' parameter.
svn path=/trunk/gtk-sharp/; revision=16876
[Equal credit to Ettore Perazzoli <ettore@ximian.com> for fixing
all the bugs in the initial patch]
* */*.custom : fix incorrect usage of new Object (IntPtr) where
Glib.Object.GetObject should've been used. add ref_owned param
to GetObject calls.
* generator/CallbackGen.cs : setup ref_owned in bodies
* generator/ClassBase.cs : add ref_owned to GetObject FromNative call
* generator/Method.cs : setup ref_owned in bodies
* generator/Property.cs : setup ref_owned in bodies
* generator/SignalHandler.cs : pass ref_owned to GetObject
* generator/StructBase.cs : setup ref_owned in bodies
* glib/Object.cs : kill Ref/Unref methods. Don't want it to be
easy for users to screw with ref counts, or make it look like they
should need to.
(GetObject): add ref_owned param and ref/unref to remain at 1
* glib/Value.cs : pass ref_owned to GetObject
svn path=/trunk/gtk-sharp/; revision=16581
* generator/ClassBase.cs (GenSignals): remove doc comment param
* generator/GenBase.cs (CreateWriter): alter generated file comment
* generator/InterfaceGen.cs (CreateWriter): remove doc comments
* generator/ObjectGen.cs (Generate): use new GenSignals sig
* generator/Signal.cs : make signal marshalers internal and remove
doc comments.
* generator/SignalHandler.cs : make signal marshalers internal and remove
doc comments.
* gnome/CanvasProxy.cs : use Gnome.voidObjectSignal since the gtk one is
inaccessible now.
svn path=/trunk/gtk-sharp/; revision=14385
* gnome/CanvasProxy.cs: Make the voidObjectAffineSVPintSignal
class be in the 'GtkSharp' namespace, instead of 'GtkSharp.Gnome'.
svn path=/trunk/gtk-sharp/; revision=11502
* makefile: when doing distclean, attempt distclean on all the
C# subdirs too
* gconf/Makefile.in: added distclean target to rm the Makefiles
in the subdirs of gconf/
* glue/Makefile.am: build libgtksharpglue as an unversioned
module to avoid so -> so.0 -> so.0.0 symlink mess
* */Makefile.in: call mkinstalldirs before installing any files
so that subdirs can be installed seperately or in any sequence
(eg binding dirs before native dirs)
svn path=/trunk/gtk-sharp/; revision=9828
use when the IntPtr is NULL.
* generator/SignalHandler.cs, generator/CallbackGen.cs: removed
call to Initialize for structs
* gtk/Clipboard.custom, gtk/ClipboardClearFunc.cs,
gtk/ClipboardGetFunc.cs,
gtk/GtkSharp.GtkClipboardClearFuncNative.cs,
gtk/GtkSharp.ClipboardGetFuncNative.cs, SelectionData.custom:
Hand-wrapped selection handling stuff, along with relevant
signals and the like.
* gnome/voidObjectAffineSVPintSignal.cs: removed Initialize
for hand-wrapped signal
* sample/GnomeHelloWorld.cs, sample/Size.cs: compare against
.Zero instead of using IsNull
* api/gtk-api.xml, sources/Gtk.metadata: metadata updates for
hiding some manually-wrapped stuff
svn path=/trunk/gtk-sharp/; revision=8912
* glue/canvas-proxy.c (update), glue/canvas-proxy-marshal.list:
Marshal the array as a pointer for now.
* gnome/voidObjectAffineSVPintSignal.cs: Added.
* gnome/CanvasProxy.cs (Update): Use a custom signal handler.
svn path=/trunk/gtk-sharp/; revision=7892
* gnome/Modules.cs (Module): Make this class public.
* sample/CanvasExample.cs: Insert a missing `break' in a switch
section to make this compile.
* sample/Scribble.cs: Added missing casts from EventMask to int.
svn path=/trunk/gtk-sharp/; revision=7493
* art/Makefile.in (clean): Change to avoid bugging out on generated/CVS.
* glib/ObjectManager.cs: Added. Used to be auto-generated, but
now it can infer names, and relies on per-namespace ObjectManager
classes to inform it of oddly-named classes.
* generator/IGeneratable.cs, GenBase.cs: New "DoGenerate" property.
* generator/*Gen.cs: Honor DoGenerate.
* generator/CodeGenerator.cs: Support including dependency files
which will not be generated.
* generator/ObjectGen.cs: Generate mapping file per-namespace, as one
that calls back to the one in glib. Only generate if the name does
not follow the normal conventions, otherwise, GtkSharp.ObjectManager
can infer the name.
* generator/Parser.cs: Accept 'generate' flag to pass on to the
IGeneratables. Parse a new toplevel element, "symbol", which adds
a type to the SymbolTable (instead of hard-coding it).
* generator/SignalHandler.cs: Do not optimize signal handler creation,
instead creating them in their own namespaces. Do not generate
if the calling Signal told us not to.
* generator/Signal.cs: Do not generate handlers if container's DoGenerate
is false. Adjust to the marshaller name being in a sub-namespace.
* generator/SymbolTable.cs (AddSimpleType, AddManualType): Used
to add simple and manually wrapped types at runtime instead of
compile-time.
(FromNative): Remove hard-coded cases for manually wrapped types, use
a generic case instead.
* api: Added. Move api files and generation targets here.
* source: Added. Move source parsing here.
* generator/makefile: Move actual generation to api/.
* glib/Makefile.in: Remove generated/* target.
* glue/Makefile.am: Fix to include canvas-marshal. Move canvas stuff
to GNOME target.
* gnome/CanvasProxy.cs: Update to work with SignalHandlers being
namespace-specific.
* parser/Metadata.pm: Moved to GAPI/Metadata.pm, renamed, etc.
* parser/gapi2xml.pl: Use GAPI::Metadata.
* parser/makefile: Install scripts, remove source parse build target.
Rename formatXML to gapi_format_xml.
svn path=/trunk/gtk-sharp/; revision=6818
* generator/ClassBase.cs: Change hasDefaultConstructor to protected,
adjust now that it is an attr and not a subnode. Also add virtual
property AssignToName (for ctors).
* generator/Ctor.cs: Add property ForceStatic.
(Generate): Optimize return code a bit for the static case.
* generator/Method.cs: Assign to a "raw_ret" pointer before calling
FromNativeReturn.
* generator/Parameters.cs: Change "out ref" to "out", not "ref".
* generator/Property.cs: Fix to work correctly with all object and
struct types (mostly just some if-cases added).
* generator/SignalHandler.cs: Remove args_type and argfields (unused).
(Generate): Initialize struct if necessary.
* generator/StructBase.cs: Massive reworking to support methods, ctors,
etc.
* generator/SymbolTable.cs: Add GdkAtom and gconstpointer simple types.
* glib/Boxed.cs: Accept both IntPtr and object ctors. Add access for both.
* glib/Opaque.cs: Fix copy/pasted copyright notice, remove data and event
fields. Fix docs.
* glib/Value.cs: Work correctly with boxed properties.
* gnome/Modules.cs: Use new struct ctors.
* gnome/Program.custom: Remove Get, this is being generated now.
* parser/Gdk.metadata: Fix the drawable classes to inherit correctly.
* parser/Metadata.pm: Change per-class attributes to actually be
attributes.
* parser/Gtk.metadata: Add a dummy attribute value for disabledefaultctor.
* parser/gapi2xml.pl: Add hacks for the (broken) Drawable and Bitmap
typedefs.
* sample/test/TestColorSelection.cs: Display color string in hex format,
update to use IsNull instead of == null, and size dialog to look pretty.
* sample/Size.cs: Added.
svn path=/trunk/gtk-sharp/; revision=6264
[about 60% of the marshalling patch that I lost.
The rest to come tomorrow.]
* generator/BoxedGen.cs, StructGen.cs: Move most of this to StructBase,
delete large chunks duplicated from ClassBase.
* generator/IGeneratable.cs: Add MarshalReturnType, FromNativeReturn.
* generator/ClassBase.cs: Move ctor stuff here. Add a CallByName
overload with no parameters for the "self" reference.
* generator/EnumGen.cs, CallbackGen.cs: Implement new MarshalReturnType,
FromNativeReturn.
* generator/Method.cs: Use container_type.MarshalType, CallByName, and
SymbolTable.FromNativeReturn when generating call and import sigs.
* generator/OpaqueGen.cs: Added.
* generator/Property.cs: Handle boxed and opaques differently.
* generator/SymbolTable.cs: Update for the opaque stuff and the new Return
methods. Also change GetClassGen to simply call the as operator.
* glib/Boxed.cs: Update for struct usage -- this is now a wrapper for
the purposes of using with Value.
* glib/Opaque.cs: Added. New base class for opaque structs.
* glue/textiter.c, gtk/TextIter.custom: Remove.
* gnome/Program.cs: Update for new struct marshalling.
* parser/Metadata.pm: Use our own getChildrenByTagName.
* parser/README: Update for new requirements (was out of sync with
build.pl)
* parser/gapi2xml.pl: Hide struct like const in field elements.
* parser/gapi_pp.pl: Handle embedded union fields (poorly).
* sample/test/TestColorSelection.cs: Comment out null color tests
for now.
svn path=/trunk/gtk-sharp/; revision=6186
* configure.in, makefile, makefile.win32: add gnome.
* doc/index.html, netdoc.xsl: Add gnome.
* gdk/Event.cs: New manual wrap for GdkEvent.
* generator/ClassBase.cs: Add methods GetProperty,
GetPropertyRecursively, GetMethodRecursively.
Move Parent property here from ObjectGen.cs. Pass this pointer
into Property.
* generator/Ctor.cs: Generate docs.
* generator/Method.cs, Property.cs: Tag method as "new" if a
Method/Property with the same name is found in the class hierarchy.
* generator/SignalHandler.cs: Correctly wrap complex signal argument
types. Add gnome directory.
* generator/SymbolTable.cs: Add manually wrapped types hash
(contains GLib.GSList and Gdk.Event). Add method IsManuallyWrapped.
* glib/SList.cs: Add constructor from IntPtr.
* glue/slist.c, glue/event.c: Added (field accessor glue).
* glue/Makefile.am: Update.
* parser/Gtk.metadata: Add new signal renames for new signals
exposed by GdkEvent changes.
* parser/README, parser/build.pl: Add libgnome, libgnomecanvas,
libgnomeui.
* parser/gapi2xml.pl: Handle literal-length array parameters,
and NULL property doc strings.
* sample/: Add new test GnomeHelloWorld.cs.
* gnome/: Added.
* parser/Gnome.metadata: Added.
svn path=/trunk/gtk-sharp/; revision=5461