* api/gtk-symbols.xml : make GtkType a uint like GType.
* generator/CodeGenerator.cs : adopt new parser semantics
* generator/Parser.cs : move to single parser/multiple Parse. Remove
DoGenerate hack and let the CodeGenerator control this. Return
generatables instead of loading symboltable.
* generator/SymbolTable : add AddTypes method. Revamp dealiasing code.
svn path=/trunk/gtk-sharp/; revision=18570
* glib/DelegateWrapper.cs: Remove 'RemoveIfNotAlive'
and revamp the memory management to use destroy
notification.
* generator/CallbackGen.cs: Do not generate the call to
RemoveIfNotAlive.
* gtk/GtkSharp.GtkClipboardGetFuncNative,
GtkSharp.GtkClipboardClearFuncNative: Do not call
RemoveIfNotAlive.
svn path=/trunk/gtk-sharp/; revision=18163
* Makefile.in : add a gen-clean target to clean all but glue/parser.
* generator/Signal.cs : use restructured SignalHandler.
* generator/SignalHandler.cs (GetName): break up this monument to
structured programming.
svn path=/trunk/gtk-sharp/; revision=18099
* generator/Parameters.cs (CreateSignature): begin refactoring this
unholy mess. Eliminated one pass thru the param list. Eliminated
prev/curr param refs. Switched to a for loop since lookbacks are
required.
svn path=/trunk/gtk-sharp/; revision=18050
* generator/Parameters.cs : keep an ArrayList of Parameter objects
and refactor the hell out of the joint using the new Count and this[].
Still need to refactor a couple methods.
svn path=/trunk/gtk-sharp/; revision=18030
* generator/Parameters.cs (IsLength): use a switch to make the
growing list of valid len types more readable.
svn path=/trunk/gtk-sharp/; revision=18029
* generator/Parameters.cs: Handle string length parameters specified
not just as int but also signed/unsigned int, long or short
svn path=/trunk/gtk-sharp/; revision=18027
* generator/StructBase.cs:
* generator/SymbolTable.cs: Fixed the keyword base was not
mangled, also did a little refactoring.
svn path=/trunk/gtk-sharp/; revision=17702
[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/Method.cs (GenerateBody): kill the "cast_type"
overload of this, since cast_type wasn't even used.
* generator/Property.cs : call simpler GenerateBody sig
svn path=/trunk/gtk-sharp/; revision=16550
* api/*-api.xml : regenerated
* gdk/Drawable.custom : DrawRectangle filled param is now bool
* generator/Parameters.cs : studlify names ending w/ uscore
* gtk/GtkSharp.GtkClipboardClearFuncNative : s/Opaque/Object
* gtk/GtkSharp.GtkClipboardGetFuncNative : s/Opaque/Object
* parser/gapi2xml.pl : put <ns>_string_* methods in Global
* sample/Scribble.cs : update to new DrawRectangle api
* sources/Gdk.metadata : hide some conflicting methods
* sources/Gtk.metadata : finally fix the Progress crap and
renames, hides and such to fix conflicts
* sources/README : mention new gtk-2.2 reqs
* sources/gtk-sharp.sources : update to new gtk-2.2 reqs
* sources/makefile : update for 2.2 api
svn path=/trunk/gtk-sharp/; revision=16254
* api/*-api.xml : regenerated
* gdk/Threads.cs : killed since the methods are now gen'd
* generator/ClassGen.cs : new, static class generatable
* generator/Parameters.cs : mangle new and byte as param names
* generator/Parser.cs : parse new <class> elements
* generator/SymbolTable.cs : add GC SimpleGen
* parser/gapi2xml.pl : static class element fixes
* parser/GAPI/Metadata.pm : add class element
* sources/Art.metadata: new, rename Affine.ToString method
* sources/Atk.metadata: rename State class
* sources/Gdk.metadata: hide Pixbuf static class for now. rename
Event and Pango static classes to avoid collisions.
* sources/Gnome.metadata: rename Gtk and Gdk static classes to
avoid collisions.
* sources/GnomeDb.metadata: rename Stock static class to
avoid collisions.
* sources/Gtk.metadata: rename Stock static class to
avoid collisions. Hide Idle class.
svn path=/trunk/gtk-sharp/; revision=16115
* generator/GenBase.cs : put #line directive after the
#region so line numbers match up.
2003-07-02 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : remove doc comments
svn path=/trunk/gtk-sharp/; revision=15873
* gconf/Value.cs: Update to use new string marshalling.
* generator/StringGen.cs, ConstStringGen.cs: Added.
* generator/IGeneratable.cs: Add new method ToNativeReturn.
* generator/CallbackGen.cs: Implement ToNativeReturn. Call
ToNativeReturn for the return statement. Fix a couple of
places where s_ret was being used incorrectly for m_ret.
* generator/ClassGen.cs, EnumGen.cs, ManualGen.cs,
SimpleGen.cs, StructBase.cs: Implement ToNativeReturn.
* generator/SignalHandler.cs: Call ToNativeReturn for the
return statement, instead of CallByName.
* generator/SymbolTable.cs: Use StringGen for gchar, char,
and gunichar, and ConstStringGen for their const variants.
Add a new method wrapper for ToNativeReturn.
(Trim): Add a special-case for const strings so that the
const is not stripped. Otherwise there is no way of
resolving the const case.
* glade/XML.custom: Update to use new string marshalling.
* glib/Marshaller.cs: Added.
* glib/GException.cs, Markup.cs, ObjectManager.cs,
Value.cs: Update to use new string marshalling.
* glib/Object.cs: Remove old g_type_name DllImport
as it is no longer used.
* glue/fileselection.c (gtksharp_file_selection_get_fileop_entry):
Mark this as const return.
* gtk/ColorSelection.custom, FileSelection.custom,
SelectionData.custom: Update to use new string marshalling.
svn path=/trunk/gtk-sharp/; revision=15286
* generator/CallbackGen.cs : use non-static symtab, kill doc comments
* generator/ClassBase.cs : use non-static symtab
* generator/CodeGenerator.cs : use non-static symtab
* generator/EnumGen.cs : kill doc comments, don't gen using System here
* generator/GenBase.cs : gen using System here for all types
* generator/InterfaceGen.cs : don't gen using System here.
* generator/Method.cs : use non-static symtab
* generator/ObjectGen.cs : kill doc comments, use non-static symtab
* generator/OpaqueGen.cs : don't gen using System here.
* generator/Parameters.cs : use non static symtab.
* generator/Parser.cs : use non static symtab. add SimpleGen's and
ManualGen's
* generator/Property.cs : use non static symtab
* generator/SignalHandler.cs : use non static symtab
* generator/StructBase.cs : use non static symtab
* generator/SymbolTable.cs : major refactoring. now uses SimpleGen and
ManualGen IGeneratables to simplify the method and prop code. Is now
instance based with a static prop to get the singleton instance, so that
a this indexer can be provided to access the IGeneratables nicely. Gearing
up to remove even more code from here by accessing IGeneratables directly.
svn path=/trunk/gtk-sharp/; revision=14687
* configure.in : bump the version to 0.10
* generator/CallbackGen.cs (GenWrapper): Update sig preparing for
external assembly wrapper generation. Kill doc comment generation.
Make marshaling delegate internal.
svn path=/trunk/gtk-sharp/; revision=14564
* 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
* generator/CallbackGen.cs: the new generated wrappers have:
-(optional) Field of the same type returned by the callback.
-A call to RemoveIfNotAlive at the beginning. It returns true,
return the dummy field.
-Added an object to the ctor signature and pass it to the base
class.
* generator/Ctor.cs: added a Params property.
* generator/Method.cs: set Static property in Parameters if the method
is static.
* generator/Parameters.cs: added Static property. The call creation of
the delegate wrapper (if applicable) uses the new signature. Pass a null
as object is the method is static.
* generator/StructBase.cs: set Static for the parameters of the ctors.
* glib/DelegateWrapper.cs: the ctor takes an object (the one creating
the wrapper or null) and creates a weak reference to it. Store it in
a static Hashtable (this way the wrapper itself is not garbage
collected).
(RemoveIfNotAlive): called from the native delegate callbacks. If the
target of the weak reference has been garbage collected, removes itself
from the hashtable to let the GC dispose this instance and returns true.
* gdk/Pixbuf.custom:
* gtk/Clipboard.custom:
* gtk/GtkSharp.GtkClipboardClearFuncNative.cs:
* gtk/GtkSharp.GtkClipboardGetFuncNative.cs:
* glade/XML.custom: changed delegate wrappers to match the new
signature.
svn path=/trunk/gtk-sharp/; revision=13237
* generator/SignalHandler.cs : Added Patch submitted by
Mark Crichton <crichton@gimp.org>, to get GtkMozEmbed
bindings working.
svn path=/trunk/gtk-sharp/; revision=13043
* generator/SignalHandler.cs: the generated Dispose method now calls
base.Dispose and always disconnects the handler. Thanks to
Petr Danecek <danecek@ucl.cas.cz>.
svn path=/trunk/gtk-sharp/; revision=12060
* generator/Parser.cs: use XmlDocument.Load (Stream). The one using
(String) expects an uri.
* generator/Signal.cs: always remove the delegate from the signal
callback (prior to this, the last handler was not being removed).
Dispose the callback (ie, disconnect from the signal) when there are
no registered delegates to handle it.
* generator/SignalHandler.cs: added 2 new fields to hold the instance
and the handler ID. The finalization is now done in Dispose and
disconnects the signal handler when no delegate will handle the signal.
Changed gobject-2.0 to libgobject-2.0-0.dll.
* glib/SignalCallback.cs: implemented IDisposable interface.
svn path=/trunk/gtk-sharp/; revision=11976
* generator/ObjectGen.cs : gen GLib.Value ctor, not uint
* glib/Object.cs : use GLib.Type in RegisterGType and
make the g_object_new ctor use GLib.Type.
* glib/Type.cs : new thin wrapper for GValue type
* glib/*.cs : s/Type/System.Type
svn path=/trunk/gtk-sharp/; revision=11920
* generator/CallbackGen.cs : suppress len params from
string/len pairs.
* generator/Parameters.cs : begin the refactoring to use
Parameter class. Suppress len params from string/len pairs.
*/*.custom : remove all overrides of string/len pairs
*/*.cs : ditto. Thanks to Alp Toker for the foundation
patch that this change was built upon.
svn path=/trunk/gtk-sharp/; revision=11913
* glib/SignalCallback.cs: new methods AddDelegate and RemoveDelegate.
* generator/Signal.cs: add/remove signal handlers from the delegate used
to invoke them.
* generator/SignalHandler.cs: use Delegate instead of MulticastDelegate.
svn path=/trunk/gtk-sharp/; revision=11255
* api/*.xml : a few new attrs
* generator/Parameters.cs : remove redundant ref keywords
* gtk/ListStore.custom: overload SetColumnTypes
* gtk/TreeStore.custom: overload SetColumnTypes
* parser/GAPI/Metadata.pm : allow callback nodes at class level
* sources/Gtk.metadata : hide ClipboardClearFunc and GetFunc,
tag types param of SetColumnTypes as array, uncomment needs_ref
tags on Widget methods to match the current api.xml file
svn path=/trunk/gtk-sharp/; revision=9148
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
Much of this patch from Vlad, with substantial rework by mk.
* */makefile.win32 : introduce mapdllnames.pl, api, and glue
* generator/CallbackGen.cs : rework namespacing for csc compilation
* generator/Parameters.cs : ditto
* generator/Signal.cs : ditto
* generator/SignalHandler.cs : ditto
* glue/win32dll.c : new dll construction source
* glib/Value.cs : new ushort ctor/cast operator
* gtk/Table.custom : comment this out until we add a default ctor tag
* gtk/ThreadNotify.cs : make ReadyEvent public
* sources/Gdk.metadata : mark a Parse() param as ref
svn path=/trunk/gtk-sharp/; revision=8590