G_DEFINE_TYPE_EXTENDED is the general macro for type implementations, on
which G_DEFINE_TYPE_WITH_CODE is based. Handle it just like
G_DEFINE_TYPE_WITH_CODE.
Reparse the API with that change, which marks a few classes as
implementing GtkStyleProvider.
With the new G_DEFINE_INTERFACE macro, the interface initialization
function is named *_default_init, so we need to handle that like
*_base_init and *_class_init.
Reparse gtk/gtk-api.raw and gio/gio-api.raw. This creates some new
signals that were previously incorrectly reported as virtual methods,
and also adds some properties.
* parser/gapi_pp.pl: in source files, still pass simple struct typedefs
through to support parsing gio 2.27.90. No idea why they are hiding
signal vm declarations in gdbusauthobserver.
* gtk/gtk-api-2.10.raw : refresh.
* parser/gapi_pp.pl : combine lines that end in '\' before sending
them through the pattern matching. [Fixes#79214]
svn path=/trunk/gtk-sharp/; revision=82359
* gtk/gtk-api-2.10.raw : reparsed
* parser/gapi_pp.pl : put a newline after G_DEFINE_TYPE macros
on the output and do a next if we shouldn't fall out of the
branch.
svn path=/trunk/gtk-sharp/; revision=63232
/*< 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
* */*-api.raw : rerun the parser for new vm-age and cleanups.
* parser/gapi_pp.pl : suppress union types, since we can't generate
them. smarter get_type regex. ignore #errors.
* parser/gapi2xml.pl : generate vm elements for GInterfaces. Deal
with G_CONST_RETURN in vms. deal with "struct _foo" types in method
prototypes.
svn path=/trunk/gtk-sharp/; revision=36088
* art/Art.metadata : mark a field private
* art/art-api.xml : regen
* gda/Gda.metadata : mark a few structs opaque
* gda/gda-api.xml : regen
* gdk/*.custom : fix changed field names
* gdk/gdk-api.xml : regen
* generator/Field.cs : StudlyCase simple typed field names.
* gnome/Gnome.metadata : mark FontEntry.weight private to
avoid collision with Weight field. s|//|/api/namespace|g
* gnome/gnome-api.xml : regen
* gtk/Gtk.metadata : rename AccelKey.accel_key to key to
avoid collision with type name.
* gtk/*.custom : fix changed field names
* gtk/gtk-api.xml : regen
* pango/pango-api.xml : regen
* parser/gapi_pp.pl : add a private_regex to hide BACKEND
and ENGINE apis, which are by convention private.
* sample/* : make compile
* sample/GtkDemo/* : make compile
* sample/test/* : make compile
* sources/gtk-sharp-sources.xml : exclude a bunch of pango
source files.
svn path=/trunk/gtk-sharp/; revision=22947
[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
* generator/ClassBase.cs: New base class for classes and interfaces.
* generator/InterfaceGen.cs: Inherit from ClassBase, generate declarations.
* generator/ObjectGen.cs: Move half of this into ClassBase.
* generator/Method.cs: Turn all applicable Get/Set functions into .NET
accessors. Remove redundant == overload and move into Equals, as
it was confusing "!= null".
* generator/Parameters.cs: Alter signature creation to accept "is_set"
option, add support for variable arguments. Add properties "Count",
"IsVarArgs", "VAType".
* generator/Ctor.cs: Fixup for changes in Parameters (indenting,
signature creation).
* generator/Signal.cs: Support generating declarations.
* generator/SymbolTable: Change GetObjectGen to GetClassGen.
* glib/IWrapper.cs: Move "Handle" declaration to here, so
both classes and interfaces can benefit from it.
* glib/Object.cs: Inherit from IWrapper.cs
* parser/Metadata.pm: Support attribute changes on constructors,
methods, signals, and paramater lists.
* parser/gapi2xml.pl: Parse init funcs for interfaces. Ignore "_"
functions here.
* parser/gapi_pp.pl: Remove boxed_type_register check, as it will
be caught in the init funcs.
* parser/Atk.metadata: Added.
* parser/Gtk.metadata: Add all needed signal/method collision
renames. Rename GtkEditable.Editable accessors to IsEditable,
as .NET does not like accessors with the same name as their
declaring type. Tag TreeStore constructor as varargs.
* samples/ButtonApp.cs: s/EmitAdd/Add.
* samples/Menu.cs: s/EmitAdd/Add, s/Activate/Activated.
svn path=/trunk/gtk-sharp/; revision=5394
* generator/BoxedGen.cs : New boxed type generatable.
* generator/ObjectGen.cs : Add boxed type property generation and stub
off interface properties for now.
* generator/Parser.cs : Add boxed element parsing.
* generator/SymbolTable.cs : Add IsBoxed and IsInterface methods.
* glib/Boxed.cs : New base class for deriving boxed types.
* glib/Object.cs : Add boxed GetProp/SetProp methods.
* parser/gapi2xml.pl : Add boxed type element formatting.
* parser/gapi_pp.pl : Add preprocessing of the generated sourcefiles.
Handle the builtins and make them identifiable to the xml generator.
svn path=/trunk/gtk-sharp/; revision=2012