* generator/ClassBase.cs : remove default ctor generation and
hasDefaultConstructor field.
* generator/Ctor.cs : chain to base (IntPtr.Zero).
* generator/StructBase.cs : remove hasDefaultConstructor usage.
* glib/Object.cs : remove Object () ctor. Add Ben's GetGType
method, although nothing uses it yet. Still working on integrating
the remainder of Ben's patch.
* gtk/Gtk.metadata : remove all the disabledefaultctor rules.
* */*.custom : add base (IntPtr.Zero) or this (...) chaining for
all ctors.
svn path=/trunk/gtk-sharp/; revision=25184
* glib/Value.cs : NULL check for g_value_get_string Thanks to Jeroen
Zwartepoorte for the bug report with patch [fixes#54979].
svn path=/trunk/gtk-sharp/; revision=24910
* generator/ObjectGen.cs : don't gen a Signals hash per class.
* generator/Signal.cs : gen checks for [ConnectBefore].
* generator/SignalHandler.cs : add connect_flags param to ctor.
* glib/ConnectBeforeAttribute.cs : new attr
* glib/Makefile.am : add new file
* glib/Object.cs : add before/after hashes and EventLists
* gnome/CanvasProxy.cs : use AfterSignals and AfterHandlers.
svn path=/trunk/gtk-sharp/; revision=24157
* */Makefile.am : automakify the build
* */Makefile.in : kill
* *.custom : remove System.Drawing dependencies
* *.cs : remove System.Drawing dependencies
* *-api.xml : mv to *-api.raw
* glue/* : mv to lib specific gluelibs for glib, gdk, gtk, and glade.
* gtk/gtk-symbols : alias GtkType to GType
* sources/gtk-sharp-sources.xml : create .raw files. They are now
transformed to .xml files by the metadata compilation step.
svn path=/trunk/gtk-sharp/; revision=23967
* glib/Value.cs: use g_value_set_pointer for
GType.Pointer/IWrapper objects
* glib/TypeConverter.cs: return GType.Pointer for Opaque objects
which do not have GType property
svn path=/trunk/gtk-sharp/; revision=23197
* glib/TypeConverter.cs : check for GType prop on all types,
not just value types, before we fall back to managed values.
* glib/Value.cs : use handle to set_boxed for IWrappers.
svn path=/trunk/gtk-sharp/; revision=23158
* glib/List.cs : add a ctor overload to create empty lists with
a specific element_type.
* glib/SList.cs : ditto
svn path=/trunk/gtk-sharp/; revision=22765
* glib/Value.cs : remove double free of ManagedValues. Fixes the
unfiled (cough, tberman, cough) bug in managed types as tree
store values.
svn path=/trunk/gtk-sharp/; revision=22745
* glib/ManagedValue.cs : null check on Free.
* glib/Value.cs : some ManagedValue rework because we unset now.
svn path=/trunk/gtk-sharp/; revision=22728
* glib/Value.cs : add dispose queue and idle handler so we can
unset GValues that are created by the binding ctors.
[Fixes#53490]
svn path=/trunk/gtk-sharp/; revision=22709
* glib/Marshaller.cs (ArrayPtrToArgv, ArgvToArrayPtr): new
functions for marshalling and unmarshalling string arrays
to/from char **. Not pretty, but lets us call gtk_init()
in Gtk.
* gtk/Application.cs (do_init): New helper function to handle
passing args to Gtk. Uses above functions.
(Init): Use do_init, take a new progname parameter.
(InitCheck): Same.
doc/:
2003-01-13 Peter Williams <peter@newton.cx>
* en/Gtk/Application.xml: Update Init, InitCheck functions
for new progname argument. Fix a paste-o in the docs for InitCheck.
svn path=/trunk/gtk-sharp/; revision=22237
* glib/Object.cs (ConnectDefaultHandlers): reflection code to
hook up overridden default signal handlers.
* glue/type.c (gtksharp_override_virtual_method): peek the gtype
and ref the class if it isn't created yet.
* sample/Subclass.cs : update to override Button.OnClicked.
svn path=/trunk/gtk-sharp/; revision=21559
* 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
* glib/Log.cs: Make LogLevelFlags CLS compliant.
* glib/SignalCallback.cs: Set the constructor protection level to
protected, since it can not be instantiate.d
* glib/Marshaller.cs: Do not allow instances of this class as it
only exposes static methods.
* glib/Source.cs, glib/FileUtils.cs, glib/Timeout.cs,
glib/Thread.cs, glib/Markup.cs, glib/TypeConverter.cs: Ditto.
svn path=/trunk/gtk-sharp/; revision=20573
* 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
* gdk/Pixbuf.custom: use windows dll name. Removed DllImport that is
already in the generated file.
* glib/Thread.cs: use windows dll name.
* gtk/ThreadNotify.cs: close <remark> comment.
svn path=/trunk/gtk-sharp/; revision=17731
* gconf/GConf/Value.cs: implemented support for lists.
* glib/ListBase.cs: implemented the IDisposable stuff and created a
new method, FreeList, to free the list when needed.
* glade/HandlerNotFoundException.cs: make it derive from
SystemException. Don't override Message, the message is created in the
.ctor.
svn path=/trunk/gtk-sharp/; revision=17646
[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
* 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
* glib/ManagedValue.cs, glib/Value.cs: A few old-style
DllImports snuck in during my last commit; update them
to use Win32 dll names.
svn path=/trunk/gtk-sharp/; revision=14819
* glib/ManagedValue.cs, TypeConverter.cs: Added.
* glib/Value.cs: Make Value inherit from IDisposable, and
move dtor to Dispose. Add generic object constructor
with support for ManagedValue. Add a new Val property
which will call the appropriate explicit cast.
* glue/value.c: Add new glue function
gtksharp_value_get_value_type.
* gtk/TreeViewColumn.custom: Added.
* gtk/ListStore.custom, TreeStore.custom: Add a number
of SetValue overloads. Add convenience functtion
AppendValues. Add new ctor that takes System.Type instead
of GLib.TypeFundamentals. Add a GetValue convenience wrapper.
* gtk/TreeView.custom: Add AppendColumn convenience
functions.
* sample/ManagedTreeViewDemo.cs: Added.
* sample/Makefile.in: Update.
* sample/TreeViewDemo.cs: Update to use new convenience
APIs.
svn path=/trunk/gtk-sharp/; revision=14691
* glib/Object.cs:
(GetObject): check that the target of the WeakReference is still there. Otherwise,
create a new wrapper for the IntPtr.
This fixes the random nullrefs when running nunit-gtk.
svn path=/trunk/gtk-sharp/; revision=13450
* 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
* sample: Update samples to new Glade.Widget.
* glade/WidgetAttribute.cs: Moved the old GladeWidgetattribute
here. Now its called `Glade.WidgetAttribute'.
* glade/GladeWidgetAttribute.cs: Removed
* glib/Idle.cs: Do not allow Idle class to be instantiated.
svn path=/trunk/gtk-sharp/; revision=12554