* gdk/Gdk.metadata : mark a couple array params.
* generator/Field.cs : remove the MarshalAs hack. We have to
do something much more evil since MarshalAs can't hang.
* generator/ImportSignature.cs : deal with out LP(U)Gen params.
* generator/LPGen.cs : moved from SSizeTGen and generalized.
* generator/LPUGen.cs : moved from SizeTGen and generalized.
* generator/Makefile.am : update sources.
* generator/MethodBody.cs : deal with out LP(U)Gen params.
* generator/Parameters.cs : deal with out LP(U)Gen params.
* generator/SymbolTable.cs : make all longs and size_t types LP(U)Gens.
svn path=/trunk/gtk-sharp/; revision=37999
GLib.Marshaller.CharToGUnichar and .GUnicharToChar [#70704]
* generator/SymbolTable.cs (SymbolTable): add a GUnicharGen.
* generator/Makefile.am (sources): add GUnicharGen.cs
* parser/gapi2xml.pl (addPropElem): g_param_spec_unichar() has
type "gunichar" not "unichar".
* gtk/gtk-api.raw: Regen
* glib/Marshaller.cs: Import CharToGUnichar's glue method by the
right name
svn path=/trunk/gtk-sharp/; revision=37998
SetFoo methods if they aren't in the right form to be turned into
property accessors. (Causes 13 previously ignored methods to now
be wrapped. See doc/ChangeLog.)
* gtk/Gtk.metadata: Fix up a few of those newly-exposed methods
svn path=/trunk/gtk-sharp/; revision=37891
new methods to allow arbitrary setup and teardown code around the
managed call. When passing a type with "complicated" marshalling
requirements as a ref or out param, first assign the value to a
temporary variable (in Setup), then pass the temp as the ref or
out param (in ToString), and then assign the new value back to the
original argument (in Finish).
* generator/Signal.cs:
* generator/SignalHandler.cs: Update to generate correct glue for
signals with "ref" or "out" params. (#70566)
* generator/VirtualMethod.cs: Update for ManagedCallString change
* generator/IGeneratable.cs: add comments explaining what each
member does
* gtk/Gtk.metadata: mark Editable.InsertText's "position" arg
* pass-by-ref
* sample/Size.cs: connect to the SizeRequested event and override
it, to test/demo the changes
svn path=/trunk/gtk-sharp/; revision=37854
/*< private >*/ comments.
* parser/gapi2xml.pl: Use those comments to determine the
accessibility of struct/object fields, and set the "access"
attribute on fields with non-default accessibiliy (private for
structs, public for objects). Also, output a StudlyName for each
field as well as a c_name.
* */*-api.raw: Regen
* generator/Field.cs (StudlyName): Use the parser-generated studly
name rather than studlifying Name, which might have been mangled
to avoid conflicts with an all-lowercase keyword.
(Generate): Respect the access property on all field types rather
than always making certain types public. Don't bother outputting
wrapper properties for private fields, since the only code that
could use them is the generated code, which won't.
See doc/ChangeLog for the (very minimal) fallout from these
changes.
* en/Art/AlphaGamma.xml:
* en/Gtk/TextAttributes.xml (Refcount):
* en/Pango/GlyphString.xml (Space): these are now private
* en/Gda/XqlItem.xml:
* en/Glade/SignalInfo.xml:
* en/Gnome.Vfs/ModuleCallbackSaveAuthenticationIn.xml:
* en/Gnome.Vfs/ModuleCallbackFullAuthenticationIn.xml:
* en/Gnome.Vfs/ModuleCallbackFillAuthenticationIn.xml: rename
Objekt to Object.
* en/Atk/KeyEventStruct.xml: rename Str1ng to String
svn path=/trunk/gtk-sharp/; revision=37853
* doc/en/*/*.xml : docs for new GValue members and size_t changes.
* generator/SymbolTable.cs : add ssize_t and make size_t a UIntPtr
instead of the current broken int mapping on 64 bit platforms.
* gtkhtml/HTMLStream.custom : fix size_t related overload.
[fixes#69574]
svn path=/trunk/gtk-sharp/; revision=37223
* generator/StructGen.cs: Check to see if a GType is going to be
generated. If not, generate a GType.Pointer. This fixes bug
#70017.
* glib/TypeConverter.cs: Remove the .IsValueType check, as those
now have GType properties.
* gda/Gda.metadata: Change GdaValue.GType to GdaValue.GdaType.
* doc/en/Gda/Value.xml: Regenerated to reflect new API.
svn path=/trunk/gtk-sharp/; revision=36912
* generator/ObjectGen.cs: Move child property handling from
ClassBase to ObjectGen (as suggested by Mike) since it's only
used there
svn path=/trunk/gtk-sharp/; revision=36398
* generator/InterfaceGen.cs : beginnings of a real
implementation for GInterfaces. Not quite ready yet,
so it's not active in generation.
svn path=/trunk/gtk-sharp/; revision=36294
* generator/Makefile.am : add new file.
* generator/Method.cs : add Declaration property.
* generator/VirtualMethod.cs : new class to generate virtual
methods for Interfaces and objects. Unfinished.
svn path=/trunk/gtk-sharp/; revision=36292
* generator/*Gen.cs : add ToNativeReturnType to deal with
the g_free string nonsense in the virtual method case.
svn path=/trunk/gtk-sharp/; revision=36289
the
child properties for a given widget in a container, and generate
the child properties as properties on those classes.
* parser/gapi2xml.pl (addPropElem): don't prepend "child_" to
child prop names any more
* generator/ClassBase.cs (ClassBase): keep childprops separate
from properties
(GenChildProperties): create a subclass of Gtk.ContainerChild
containing the container type's child properties, and override
the
Container indexer to return that type.
* generator/ObjectGen.cs (Generate): call GenChildProperties
* generator/Property.cs:
* generator/ChildProperty.cs: Simplify these a bunch, since
* child
properties are now represented as C# properties as well. Also
add
[GLib.Property(cname)] and [Gtk.ChildProperty(cname)]
attributes.
* glib/Makefile.am (sources): add PropertyAttribute.cs
* glib/PropertyAttribute.cs: attribute used to label
GObject properties
* gtk/Makefile.am (sources): add ChildPropertyAttribute.cs
* gtk/gtk-api.raw: regenerate for parser changes (remove
"Child"/"child_" from child property names).
* gtk/ChildPropertyAttribute.cs: attribute used to label
GtkContainer child properties
* gtk/Container.custom: define the ContainerChild class, and an
indexer to return instances of it.
* doc/en/Gtk/: update for container child property change
svn path=/trunk/gtk-sharp/; revision=36284
that take the name of the type rather than an object/property
name pair; this way they work for both GObject properties and
GtkContainer child properties.
* glib/glue/value.c (gtksharp_value_create_from_type_name): glue
for that
* glib/Opaque.cs (GetOpaque): Fix this.
* generator/Property.cs (Generate): Use the new GLib.Value
constructors. (Fixes setting of enum-valued child properties.)
svn path=/trunk/gtk-sharp/; revision=36174
* generator/SymbolTable.cs: Add support for GDestroyNotify, so
that `gtk_cell_layout_set_cell_data_func' will be generated in
Gtk.ComboBox.
svn path=/trunk/gtk-sharp/; revision=36095
(Object(GType)): Mark this ctor Obsolete
* gtk/Gtk.metadata: disable the generated GType ctor on Gtk.Widget
* gtk/Widget.custom (Widget, CreateNativeObject,
Widget_ParentSet): Connect to our own ParentSet event from
CreateNativeObject and the GType ctor, and keep a static Hashtable
of parented widgets, so that adding a managed widget to a
container keeps both the GObject and the managed object alive.
* generator/ObjectGen.cs (GenCtors): handle the disable_gtype_ctor
flag. Also, mark GType ctors [Obsolete]
svn path=/trunk/gtk-sharp/; revision=35885
GtkContainer child properties
* generator/Property.cs:
* generator/ChildProperty.cs: make Property subclassable and add a
"ChildProperty" subclass.
* generator/Makefile.am (sources): add ChildProperty.cs
* generator/ClassBase.cs: handle "childprop" nodes by creating
ChildProperty objects.
* glib/Value.cs (explicit operator EnumWrapper): use
g_value_get_flags() rather than g_value_get_enum() when
appropriate.
* glib/glue/value.c (glibsharp_value_holds_flags): glue for that
* gtk/gtk-api.raw: regen to pick up child properties
* gtk/Gtk.metadata:
* gtk/Container.custom: hide the auto-generated
Gtk.Container.ChildGetProperty and implement a nicer one by hand.
* gtk/glue/container.c (gtksharp_container_child_get_property):
utility function to set up an appropriate GValue for us
svn path=/trunk/gtk-sharp/; revision=35702
if "disable_raw_ctor" is set on the opaque type.
* gtk/Gtk.metadata: Make GtkTargetList opaque (fixes a crash in
Gtk.Drag.Begin), hide the generated constructor and ref/unref
methods, and fix up the interpretation of AddTable.
* gtk/TargetList.custom (TargetList, ~TargetList): Implement the
suppressed constructors and add a finalizer, which handle
refcounting the underlying struct.
(Add, Find, Remove): convenience overloads that take string
instead of Gdk.Atom.
* gtk/Makefile.am (customs): add TargetList.custom
svn path=/trunk/gtk-sharp/; revision=35135
* generator/Signal.cs : use typeof instead of Type.GetType to
specify the event args type.
* glib/ObjectManager.cs : beef up the type lookup code using
Assembly.LoadWithPartialName to fix a very popular win32 bug.
[Fixes#61139 and friends] Thanks to John Luke for expert
patch testing on win32.
svn path=/trunk/gtk-sharp/; revision=32831
* doc/en/*/*.xml : update to remove Override* methods.
* generator/Signal.cs : make the Override* methods private. They
should not ever be called manually and it saves about 800 "do not
call this method" doc entries.
svn path=/trunk/gtk-sharp/; revision=29388
* generator/Field.cs : add field hiding, for manual impl.
* generator/StructBase.cs : support disable_new, for manual impl.
svn path=/trunk/gtk-sharp/; revision=28715
* generator/ObjectGen.cs : generate protected ctor () for all
GLib.Objects that don't have any ctors.
* gtk/CellRenderer.custom : remove ctor ().
* gtkhtml/Gtk.metadata : add a disable_void_ctor rule for HTML.
svn path=/trunk/gtk-sharp/; revision=28645
* generator/ObjectGen.cs : adjust to ObjectManager ns change.
* glib/ManagedValue.cs : move to GLib and internalize.
* glib/Object.cs : adjust to ObjectManager ns change.
* glib/ObjectManager.cs : move to GLib.
* glib/TypeConverter.cs : move to GLib. return ManagedValue.GType
when we can't match a type instead of GType.None.
* gtk/*.custom: adjust for new TypeConverter ns and behavior.
2004-05-28 Mike Kestner <mkestner@ximian.com>
* en/* : run updater. fix a few *Sharp copy/pastisms.
svn path=/trunk/gtk-sharp/; revision=28362
* generator/ObjectGen.cs : Generate a .cctor that calls the assembly's
ObjectManager.Initialize method if the class will need to be registered
with GLib.ObjectManager. Enhance the Initialize method to allow
multiple invocations.
svn path=/trunk/gtk-sharp/; revision=27554
* generator/SignalHandler.cs : fix some broken/redundant generation in
the Object/Struct wrapping for sig params.
* glib/Object.cs : internalize/protect lots of API that shouldn't need
to be used by non-subclass/non-glib code. Return GType.Object as GType.
* glib/Value.cs : use internal GLib.Object.NativeType prop.
* sample/TestDnd.cs : use ToString instead of TypeName.
svn path=/trunk/gtk-sharp/; revision=27530
[Derived from a patch by Ben Maurer]
* generator/Ctor.cs : generate code to detect subclassing and handle
GType registration and native object creation properly.
* generator/Parameters.cs : add PropertyName accessor for param attr.
* generator/Property.cs : use a new GLib.Value ctor.
* glib/ObjectManager.cs : redo hash access.
* glib/Object.cs : CreateNativeObject method to invoke g_object_newv
and some refactoring of RegisterGType and LookupGType.
* glib/Value.cs : make gtype field an IntPtr.
* glib/glue/object.c : glue for g_object_newv use.
* glib/glue/value.c : new glue for value creation.
* gtk/Dialog.custom : fix a ctor declaration for auto-reg.
* gtk/Gtk.metadata : mark a couple property_name attrs as examples.
* sample/Subclass.cs : use auto-GType-registration now.
svn path=/trunk/gtk-sharp/; revision=26916
* generator/Method.cs: Don't use the "unsafe" modifier for methods which
are part of an interface [fixes#58059].
svn path=/trunk/gtk-sharp/; revision=26843