* 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
* generator/gtkapi.xml : lots of fixes, plus GtkHTML!
* parser/Gtk.metadata : add a bunch of renames.
* parser/build.pl : Add the gtkhtml parse.
* parser/README : module list to parse
svn path=/trunk/gtk-sharp/; revision=5459
* glib/UnwrappedObject.cs: New class which holds an IntPtr.
This is used in Value so that we can retrieve the IntPtr itself
for an object property.
* glib/Value.cs: Add UnwrappedObject cast operator.
* glib/Property.cs: If the retrieved value is an object,
and there is no wrapper object, create a new one.
svn path=/trunk/gtk-sharp/; revision=5440
* glib/EnumWrapper.cs: New class which holds an enum int.
* glib/Value.cs: Add support for glib enum types. We needed
to use EnumWrapper for this because otherwise the int operator
wouldn't know which glib function to use.
* generator/BoxedGen.cs, ClassBase.cs, Ctor.cs, EnumGen.cs,
InterfaceGen.cs, Method.cs, ObjectGen.cs, Signal.cs, StructGen.cs:
Create more doc stubs.
* generator/Property.cs: Generate enum values correctly.
* generator/Ctor.cs: Refactor generation to honor metadata-specified
collision preference.
* parser/Gtk.metadata: Added constructor collision preferences to
all known clashes.
* parse/Gdk.metadata: Added (for Pixbuf clashes).
svn path=/trunk/gtk-sharp/; revision=5437
* glue/fileselection.c: New file, defines accessor functions to
fields inside a GtkFileSelection.
* gtk/FileSelection.custom: C# glue that makes use of new accessor
functions defined in fileselection.c.
* glue/Makefile.am: Added fileselection.c
svn path=/trunk/gtk-sharp/; revision=5433
* glib/Object.cs, glib/SList.cs, glib/Value.cs, gtk/Application.cs:
Move documentation to right before their actual methods, rather
than the DllImported ones.
* generator/Method.cs: Generate documentation before the actual
method and not the DllImport.
svn path=/trunk/gtk-sharp/; revision=5423
* generator/ClassBase.cs: Add accessors for methods and signals.
Change GenSignals and GenMethods to public, as csc has a different
idea of protected than mcs. Handle interface collisions in
GenMethods.
* generator/Method.cs: Add accessor Protection - "public" by default.
* generator/ObjectGen.cs: Make sure wrapper's Signals hashtable only
gets generated once. Generate a list of collisions for GenMethods.
Remove dead foreach loop from Validate.
* generator/Paramaters.cs (CreateSignature): Initialize last_param.
* parser/Gtk.metadata: Add property & event collision renames
for TextBuffer and OldEditable.
* sample/makefile.win32: Reference atk-sharp.dll.
* makefile.win32: Do not build gdk.imaging.
svn path=/trunk/gtk-sharp/; revision=5420
* makefile : remove gdk.imaging from the build
* gdk.imaging/* : kill
* generated/BoxedGen.cs : XmlNode namespace handling. Use GenBase.
* generated/CallbackGen.cs : XmlNode namespace handling.
* generated/Ctor.cs : construct with libname not ns.
* generated/EnumGen.cs : XmlNode namespace handling.
* generated/GenBase.cs : XmlNode namespace handling. Make AppendCustom
an instance method so it can use the private fields instead of params.
* generated/InterfaceGen.cs : XmlNode namespace handling.
* generated/Method.cs : construct with libname not ns.
* generated/ObjectGen.cs : XmlNode namespace handling.
* generated/Parser.cs : Use new XmlNode namespace ctors.
* generated/Signal.cs : Lose the namespace field.
* generated/StructBase.cs : derive from ClassBase
* generated/StructGen.cs : XmlNode namespace handling. Use GenBase.
* generated/SymbolTable.cs : nuke GetDllName method.
* generator/gtkapi.xml : Add library name to namespace node.
* parser/build.pl : refactor for library name param
* parser/gapi2xml.pl : add libname param handling
* sample/Makefile.in : build linux on make install, but don't install.
svn path=/trunk/gtk-sharp/; revision=5400
* 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
* glib/GException.cs: Added.
* generator/Ctor.cs, Method.cs: Tag function as unsafe if it throws
an exception. Call parms.HandleException.
* generator/Paramaters.cs: Add property ThrowsException (based
on a trailing GError**). If ThrowsException, mask GError in the
signature, initialize a GError in Initialize, and add new method
HandleException to throw an exception if error != null.
* generator/SymbolTable.cs: Add gdk-pixbuf DLL, and GError type.
* gdk.imaging, gdk.imaging/Makefile.in, gdk.imaging/makefile.win32:
Added.
* configure.in, Makefile, makefile.win32: Build gdk.imaging.
* gtk/Makefile.in, gtk/makefile.win32: Link against gdk.imaging.
* parser/gapi2xml.pl: Support namespace renaming.
* parser/build.pl: Build gdk-pixbuf as gdk.imaging.
svn path=/trunk/gtk-sharp/; revision=5281
* generator/GenBase.cs: new method AppendCustom, moved from ObjectGen.
* generator/BoxedGen.cs, ObjectGen.cs, StructGen.cs:
Call AppendCustom in Generate ();
* generator/Method.cs, Parameters.cs: Add support for "out"
parameters. Additionally, output an accessor instead of a
regular method if it is an accessor-style function (ie GetStartIter).
* generator/Property.cs: Add additional cast to Boxed, if necessary.
* glue/textiter.c: New constructor for GtkTextIter.
* glue/Makefile.am: Add textiter.c, build with Gtk+ cflags.
* configure.in: Check for Gtk+ cflags.
* parser/Metadata.pm, Gtk.metadata: Added.
* parser/gapi2xml.pl: Call Metadata::fixup on the document.
Also work around gtk's screwy boxed type name registration
(GtkFoo -> GtkTypeFoo).
* gtk/TextIter.custom: Added.
svn path=/trunk/gtk-sharp/; revision=5205
* generator/CallbackGen.cs : Fix build breaker from refactoring.
* sample/Makefile.in : Build the menu sample on linux.
svn path=/trunk/gtk-sharp/; revision=5001
* makefile : add separate targets for native and platform
independent products per request from debian packager
Alp Toker <alp@atoker.com>
svn path=/trunk/gtk-sharp/; revision=4998
2002-05-23 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Update for Static SymbolTable
* generator/CallbackGen.cs : Use GenBase and Parameters classes
* generator/CodeGenerator.cs : Update for Static SymbolTable
* generator/Ctor.cs : code from StructBase using Parameters class
* generator/EnumGen.cs : Use GenBase
* generator/GenBase.cs : Abstract Stream Writer creation, stream
boilerplate, and common *Name properties
* generator/IGeneratable.cs : Update for Static SymbolTable
* generator/InterfaceGen.cs : Use GenBase
* generator/Method.cs : code from StructBase using Parameters class
* generator/ObjectGen.cs : Major refactoring. Use GenBase. Build
tables of Member generatables at construct time to facilitate
future name collision resolution logic.
* generator/Parameters.cs : new generatable to abstract duplicated
parameter parsing logic.
* generator/Parser.cs : Update for Static SymbolTable
* generator/Property.cs : code from ObjectGen
* generator/Signal.cs : code from ObjectGen
* generator/SignalHandler.cs : Update for Static SymbolTable
* generator/StructBase.cs : Update for Static SymbolTable
* generator/StructGen.cs : Update for Static SymbolTable
* generator/SymbolTable.cs : Make all methods and private members
static. There is no reason to ever have multiple tables.
svn path=/trunk/gtk-sharp/; revision=4895
* generator/ObjectGen.cs (GenProperty): Comment the last checkin out
because it exposes a compiler bug.
(GenSignal): Back this change out.
svn path=/trunk/gtk-sharp/; revision=4421
* */Makefile.in: Don't allow the shell to do file globbing; makes
--recurse work.
* generator/ObjectGen.cs (GenProperty): We need to cast a GLib.Value
to a GLib.Object and then to whatever it is, because explicit casts
don't work to child classes.
(GenSignal): Append "EventHandler" when generating signal handlers
so we don't get symbol conflicts.
svn path=/trunk/gtk-sharp/; revision=4414
* generator/ObjectGen.cs : When generating a ctor(void)
for subclassing purposes, mark it protected, not public.
Thanks to Miguel for reporting this bug.
svn path=/trunk/gtk-sharp/; revision=4335
* generator/ObjectGen.cs : Add support for .custom files.
* gtk/Window.custom : clean up build
* sample/HelloWorld.cs : Use the customizations.
* sample/ButtonApp.cs : Use the customizations.
svn path=/trunk/gtk-sharp/; revision=4237
* README : Describe the new make procedure.
* configure.in : Add the new Makefile generation.
* makefile : add the glue dir, make linux the default build,
add an install target
* */makefile.win32 : temp build files for win32
* */Makefile.in : new configurable make system
* */makefile : killed
* generator/BoxedGen.cs : Now uses GLib.Boxed
* generator/ObjectGen.cs : Use Values for Props.
* generator/SymbolTable.cs : Add IsEnum method.
* glib/Boxed.cs : Major overhaul.
* glib/Object.cs : Remove type specific (Get|Set)Property. Now
use GValue based property accessors.
* glib/TypeFundamentals.cs : Update to current values.
* glib/Value.cs : Refactor to use glue.
svn path=/trunk/gtk-sharp/; revision=4236
* autogen.sh : simple config for the glue build
* configure.in : simple config for the glue build
* makefile : add glue dir to build
* glib/SList.cs : Fix some leakage.
* glue/value.c : a helper function for heap alloc of GValues
* glue/Makefile.am : build for libgtksharpglue
svn path=/trunk/gtk-sharp/; revision=4042
* generator/Statistics.cs : New. Gathers stats about generation.
* generator/*.cs : Hook in the stat counters.
svn path=/trunk/gtk-sharp/; revision=2491
* generator/SignalHandler.cs : Create the SignalArgs.Args array and fix
indexing into it.
* sample/ButtonApp.cs : A little cleanup. Not quite there yet.
* sample/HelloWorld.cs : Set up the RetVal in the delete handler.
svn path=/trunk/gtk-sharp/; revision=2426
* generator/ObjectGen.cs : suppress generation of get/set methods when
properties exist. Mangle method names on signal name clashes. Gen
the signals.
* generator/SymbolTable.cs : Add GetName. Add some more calls to Trim.
* generator/gtkapi.xml : adding binary file as an experiment. If the
diff's show this file, I'll be removing it with apologies and going
back to the separate package idea.
* parser/gapi2xml.pl : some signal related fixes.
* sample/HelloWorld.cs : uncomment the event hook.
svn path=/trunk/gtk-sharp/; revision=2419
api.xml file from CVS with this commit. It can be downloaded from
http://sf.net/projects/gtk-sharp. I will be uploading new versions of the
file, now named gtkapi.xml, to the project download area from now on.
2002-02-08 Mike Kestner <mkestner@speakeasy.net>
* README : Some updates.
* generator/BoxedGen.cs : Add FromNative method.
* generator/CallbackGen.cs : Add FromNative method.
* generator/EnumGen.cs : Add FromNative method.
* generator/IGeneratable.cs : Add FromNative method.
* generator/InterfaceGen.cs : Add FromNative method.
* generator/ObjectGen.cs : Add FromNative method. Hook in GenMethod.
* generator/StructBase.cs : Revamp param handling. Add GenMethod.
* generator/StructGen.cs : Add FromNative method.
* generator/SymbolTable.cs : Add FromNative method.
* parser/gapi2xml.pl : Detect ctors before methods. Fix method names.
* sample/HelloWorld.cs : uncomment the Show call.
svn path=/trunk/gtk-sharp/; revision=2277
* generator/BoxedGen.cs : Marshal as IntPtr using Raw prop.
* generator/ObjectGen.cs : Use Handle for marshaling.
* generator/StructBase.cs (CallByName): Fill out the stub.
(GetImportSig): Fill out the stub.
* generator/StructGen.cs (MarshalType): Use QualifiedName.
* generator/SymbolTable.cs (GetMarshalType): Trim type.
(CallByName): New. Provides calling syntax.
* sample/HelloWorld.cs : Make it compile.
svn path=/trunk/gtk-sharp/; revision=2253
* generator/ObjectGen.cs : Add IntPtr constructor generation. Pass a
ctor signature hash around to use in clash resolution. Generate a
void ctor if none is present which just calls the parent ctor.
* generator/StructBase.cs : Add non-void signature ctor generation,
including collision handling logic. Collisions are implemented as
static methods.
* generator/SymbolTable.cs : Map GSList to GLib.SList. Add type
trimming to remove trailing *'s. Need to suppress leading const yet.
* glib/Object.cs : Add default ctor for void and IntPtr ctors.
* glib/SList.cs : Implementation of a wrapper class for GSLists. Lots
of FIXMEs.
* parser/gapi2xml.pl : Handle ** and array params.
svn path=/trunk/gtk-sharp/; revision=2232
* 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
* generator/ObjectGen.cs : Add property generation.
* generator/SymbolTable.cs : More fixage to simple_types. Add
GetMarshalType and IsObject methods.
* glib/Object.cs : Rename Events prop to EventList to avoid name
collision. Add float, double, uint, and IntPtr GetProp and SetProp
methods.
* parser/TODO : Add a couple prop related bugs to come back for.
* parser/gapi2xml.pl (addPropElems): Restructure. It was thoroughly
broken. It's better now.
svn path=/trunk/gtk-sharp/; revision=1960
* generator/StructBase.cs (GenField): Return a bool success indicator.
* generator/ObjectGen.cs : Check the return of GenField.
* generator/SymbolTable.cs : More fixage to simple_types.
* parser/gapi2xml.pl : Fix multiline comment bug, and callback name
hashing logic. Squash callbacks that aren't in the namespace.
* sample/HelloWorld.cs : Clean out some debugging to make it closer to
compiling. Not quite there yet.
svn path=/trunk/gtk-sharp/; revision=1948
* generator/CallbackGen.cs : Use name in QualName, not cname.
* generator/EnumGen.cs : Use name in QualName, not cname.
* generator/InterfaceGen.cs : Use name in QualName, not cname.
* generator/StructBase.cs (GenField): gen as public.
svn path=/trunk/gtk-sharp/; revision=1920
* generator/CallbackGen.cs : New stub for delegate generation.
* generator/InterfaceGen.cs : New stub for interface generation.
* generator/Parser.cs : Add the interface and callback element hooks.
* generator/SymbolTable.cs : Additions to simple_types hash.
svn path=/trunk/gtk-sharp/; revision=1919
* */makefile : Add atk to the build.
* generator/EnumGen.cs : Create the generated dir if necessary.
* generator/ObjectGen.cs : Create the generated dir if necessary.
* generator/StructGen.cs : Create the generated dir if necessary.
* parser/gapi2xml.pl : Squash bug in comma separated field defs.
svn path=/trunk/gtk-sharp/; revision=1882
* generator/*.cs : Move into GtkSharp.Generation namespace.
* generator/CodeGenerator.cs (Main): Add usage check. Add SymbolTable.
* generator/EnumGen.cs (QualifiedName): New.
(Generate): Add SymbolTable to signature.
* generator/IGeneratable : Add QualifiedName prop and update Generate
signature.
* generator/Parser.cs : Switch from plain Hashtable to SymbolTable.
(Parse): Replaces the Types property and returns a SymbolTable.
* generator/StructBase.cs : New base class to derive struct and object
types. Initial implementation of protected GenField method and ctor.
* generator/StructGen.cs : New non-object struct type generatable.
* generator/SymbolTable.cs : New. Manages complex types hash and a
simple types hash. Will provide generic lookup interface.
svn path=/trunk/gtk-sharp/; revision=1855
* codegen/get-structs-from-source.pl : New define-struct extractor.
* codegen/gdk-structs.defs : generated defs with a few hand edits.
svn path=/trunk/gtk-sharp/; revision=1559
* codegen/defs-parse.pl : Index %structs by cname, not name. Derive
structs from class to facilitate marshalling since Value types can't
use the Marshal.PtrToStructure method. Generate StructLayout attr
for struct class defs. Stuff the signal args into a SignalArgs inst
to pass to the EventHandlers.
* sample/HelloWorld.cs : some cleanup and temporary signal playcode.
svn path=/trunk/gtk-sharp/; revision=1526
* codegen/defs-parse.pl (get_sighandler): gen the helper class. arg
passing and return value handling need beefing up still.
* glib/SignalArgs.cs : New arg passing/ return value handling class.
* glib/SignalCallback.cs (dtor): kill, this will be gen'd in the
subclasses. (ctor): prune down to two params.
svn path=/trunk/gtk-sharp/; revision=1438
* codegen/defs-parse.pl : mkdir the glib/generated dir.
(gen_signal): Call new get_sighandler sub. Doesn't use the returned
value yet. s/event/ev3nt on arg names.
(get_sighandler): new sub to lookup or gen a signal helper/delegate.
Only generates the delegate so far.
* codegen/hardcoded.defs : Added a stub for Gdk.Event.
* gdk/Event.cs : Killed, now a generated struct.
* gdk/SimpleEvent.cs (SimpleEventCallback): Use Marshal.PtrToStructure
to create the Event, not a ctor(IntPtr).
* glib/SignalCallback.cs : New abstract base class for signal helpers.
svn path=/trunk/gtk-sharp/; revision=1437
* codegen/defs-parse.pl : Add System.Collections to usings.
s/event/signal. Add gen_signal sub and call it from gen_object.
Mangle method names that collide with signal names by prepending
Emit to the method name.
* codegen/makefile : add gtk-signals.defs to the build.
svn path=/trunk/gtk-sharp/; revision=1359
* codegen/get-signals-from-source.pl : My own little perl signal
parser.
* codegen/gtk-signals.defs : Ripped the GtkWindow signals into here
to goof with.
svn path=/trunk/gtk-sharp/; revision=1345
* codegen/defs-parse.pl : Use the @ctors list to determine if a class
is abstract. There is an abstract indicator in the new defs format
description, but it doesn't appear in the defs files currently. This
method should be reliable though, even in the long term. Use the same
check to determine if ctor(IntPtr obj) should be gen'd.
svn path=/trunk/gtk-sharp/; revision=1315
* codegen/defs-parse.pl : Now genning Window, AccelGroup, Bin, and
GdkPixbuf classes to peel the csc error onion. Explicitly add GObject
to the "exists ($objects{...})" branches, since GObject is a hard
coded Class.
svn path=/trunk/gtk-sharp/; revision=1314
* codegen/defs-parse.pl : Build a structs hash and gen the structs
after the first pass of the defs. For structs and functions, mangle
the 100s of params/fields named object to objekt. Insert using stmnts
for structs too.
* codegen/hardcoded.defs : Add GtkAccelEntry struct.
svn path=/trunk/gtk-sharp/; revision=1286
* codegen/defs-parse.pl (gen_object): Insert using statements. Insert
class members from corresponding .custom file.
* gtk/Window.custom : Renamed file from Window.cs. Removed all the
automatically generated members. This will be the mechanism used to
improve upon the mechanically generated binding.
svn path=/trunk/gtk-sharp/; revision=1282
* codegen/defs-parse.pl (gen_object): Generate a ctor (IntPtr obj) for
every object. This is a wrapper constructor for use by an Object
manager which will be called by GLib.Object.GetObject eventually to
wrap raw GObject pointers returned by methods/props.
svn path=/trunk/gtk-sharp/; revision=1270
* codegen/defs-parse.pl : struct generation. Added float and double
type mapping entries.
* codegen/hardcoded.defs : GdkGeometry definition. define-struct
doesn't appear to be supported in the current defs files. This file
will be used for manual definition of unsupported defs.
* codegen/makefile : add hardcoded.defs.
svn path=/trunk/gtk-sharp/; revision=1256
* codegen/defs-parse.pl : define-struct detection. Partial ctor
support. Still need to deal with ctor signature collisions.
Refactored gen_method to share get_param_strings with ctors.
svn path=/trunk/gtk-sharp/; revision=1245
* codegen/defs-parse.pl : streamline mkdir stuff. Prune the object
list back to just Window for now. Suppress generation of the Prop
get/set accessor methods.
* codegen/gdk-types.defs : Updated the 2button/3button event types
since I don't feel like automangling them now.
* gdk/Event.cs : Killed the now redundant EventType declaration.
* glib/Object.cs : Override the Equals and GetHashCode methods.
svn path=/trunk/gtk-sharp/; revision=1231
* codegen/get-props-from-source.pl : Temporary (possibly) defs
generator for props. Will probably kill this when the official
defs support props.
* codegen/defs-parse.pl : Added object-based aggregation of
defs. Generate the class shells, methods, and props.
* codegen/gdk-types.defs : ripped from pygtk.
* codegen/gtk.defs : ripped from pygtk.
* codegen/gtk-props.defs : some props defs.
* codegen/makefile : add the new defs files.
svn path=/trunk/gtk-sharp/; revision=1203
* makefile : Add the codegen directory
* codegen/defs-parse.pl : Moved here from topdir and updated to parse
the new defs format for enums and flags.
* codegen/gtk-types.defs : Borrowed from pygtk.
* codegen/makefile : new
* gtk/makefile : remove generation step.
* gtk/gtk.defs : removed, now in codegen dir.
svn path=/trunk/gtk-sharp/; revision=1139
* gtk/Button.cs : Some nomenclature changes. s/EmitClicked/Click, etc.
We need a consistent way to deal with naming clashes in gtk's method
and signal namespaces. When clashes exist, events will be made past
tense and methods to programatically emit events will be the present
tense (e.g. Clicked event and Click method).
svn path=/trunk/gtk-sharp/; revision=1116
* glib/Object.cs : Added public Handle property. It would be nice
if I could make the RawObject public for get and protected for set,
but that doesn't appear to be possible with C# properties.
* gtk/Container.cs : New class with 2 of the 3 props and the Add/Remove
methods only implemented.
* gtk/Widget.cs : Added SizeRequest prop which is a combination of
HeightRequest and SizeRequest. Embrace and extend gtk...
* gtk/Window.cs : Derive from newly added Container subclass.
* sample/ButtonApp.cs : Simple tire-kicking app.
svn path=/trunk/gtk-sharp/; revision=1112
* gtk/Button.cs : Implemented 3 constructors, 5 methods, 4 properties,
and 6 signals. Button API is 100% implemented. Need to implement
some Container methods to be able to complete testing.
svn path=/trunk/gtk-sharp/; revision=1104
* defs-parse.pl : A little automation for the binding. The enums and
flags can be painlessly generated from defs files.
* gtk/makefile : use defs-parse.pl to produce generated.cs.
* gtk/.cvsignore : hush generated.cs
* gtk/gtk.defs : unceremoniously ripped from gtk+ HEAD.
* gtk/Window.cs : Killed the WindowType enum which is now generated.
svn path=/trunk/gtk-sharp/; revision=1095
* gdk/SimpleEvent.cs : Temporarily comment the GCHandle code until
a layout is ready and exceptions can be avoided.
* gtk/Widget.cs : Killed all the signal and event attaching methods.
They never belonged here, and now they exist in the SimpleEvent.
Add a Signals hash to hold refs of the Signal handlers. Killed default
ctor and the dtor. The event Add/Remove methods now create a
SimpleEvent, stuff it in the hash, and remove it when the last handler
disappears.
svn path=/trunk/gtk-sharp/; revision=1078
* HACKING : Little bit of cleanup.
* gdk/SimpleEvent.cs : Redesigned a bit. Docs. Replaced refcounting
mechanism with an instance hash and added ctor/dtor. This class
now completely encapsulates the signal attachment and forwarding
mechanism for GdkEvent based signals. It attaches to the raw signal,
maintains a ref to the associated event handler, and uses the static
callback to activate the event handler on signal receipt.
* sample/makefile : killed one last CSC explicit reference.
svn path=/trunk/gtk-sharp/; revision=1076
* glib/Value.cs : Tried adding CallingConvention.Cdecl to all the
DllImports, but still couldn't get reliable Propery setting without
periodic NullReference exceptions. When all else fails, drop back
and punt.
* glib/Object.cs : Rewrote Set|GetProperty methods. Now they use
g_object_get|set and don't rely on GValues. The int, bool, and string
prop types are now working reliably.
* gtk/Window.cs : Update all Properties to use new GLib.Object
signatures.
* sample/HelloWorld.cs : added some more property usage for testing
purposes.
svn path=/trunk/gtk-sharp/; revision=1048
* glib/Value.cs (int ctor): New constructor for int-based values.
(int exp cast): New explicit cast operator for Val to int conversion.
* gtk/Window.cs (DefaultHeight): New prop.
(DefaultWidth): New prop.
svn path=/trunk/gtk-sharp/; revision=1034
* glib/Object.cs (GetProperty): New, gets props from the raw obj.
(SetProperty): New, for setting props on the raw obj.
* glib/Value.cs (type ctor): New needed for get accessors.
*gtk/Window.cs (AllowGrow): Uncommented and filled out.
(AllowShrink): Uncommented and filled out.
(DestroyWithParent): Uncommented and filled out.
(Modal): Uncommented and filled out.
(Resizable): Added. All the bool Props work now.
svn path=/trunk/gtk-sharp/; revision=1030
* glib/Object.cs : Docs for everything. Made Objects hash private.
Some coding style cleanup. Pruned some of the TODO methods from the
commented header listing to make a more relistic picture of the
remaining effort. Some GSignal stuff probly belongs here too.
([Get|Set]Data): Killed some DllImports and set up methods to store
arbitrary data in a managed hash table.
svn path=/trunk/gtk-sharp/; revision=1012
*.cs : Added .dll extension to a load of DllImports.
* makefile : now can make the project with one make windows and on
both NT and Win98.
* gdk/Event.cs : Fixed some invalid symbol names and commented out a
load of stuff.
* gdk/SimpleEvent.cs : Relocated file from unnecessary subdir and fixed
several event keyword clashing bugs. Need to relocate the EventArgs
class out of here into its own file. Fixed loads of typos.
* glib/Object.cs : Killed the Constructor, this should be a purely
abstract class. made Events property public until I can fix the Signal
proxying system's broken reliance on it.
* glib/SimpleSignal.cs : Relocated, namespaces, and named this Class.
Loads of bugfixes. Still doesn't work worth a damn, but it builds.
* glib/TypeFundamentals.cs : New enum for use in the Value code.
* glib/Value.cs : Implemented a more opaque approach with heap allocated
memory and g_value_init and friends. Still doesn't work. Will probably
switch to a more C# like approach and avoid GValues altogether.
* gtk/Button.cs : Commented out some brokeness until I can get around
to fixing it later.
* gtk/Widget.cs : Commented out a bunch of the new signal stuff until
I get around to it.
* gtk/Window.cs (Title): using g_object_set until I work out the
details of the new Value/SetProperty system. It looks like g_object_set
will end up being easier to use via PInvoke.
svn path=/trunk/gtk-sharp/; revision=1008
* HACKING : New rulez.
* NOTES: Killed. We have a mailing list now for this kind of stuff.
* glib/makefile : New, to build the new glib-sharp.dll target.
* glib/Object.cs : (GetObject): Commented out. Design problems here.
IntPtr's can't be used in the manner this code attempts to use them.
(Data prop): Commented out. Apparently keyed properties are not
supported.
(Object prop): Renamed RawObject, and made it protected.
(Events): Fixed to cause list to be initialized if null and then
return the list.
* glib/ObjectManager.cs : commented out entirely. Not sure what this
code is trying to accomplish and it doesn't compile.
* glib/Value.cs : New attempt at implementing GValues. Doesn't work
yet.
* gtk/Button.cs : Updated to use RawObject.
(Clicked event): s/EmitDeleteEvent/EmitClickedEvent.
(Button(String)): s/gtk_label_new_with_lable/gtk_button_new_with_label.
* gtk/Label.cs : Fixed some yank and paste errors where 2 value params
were getting passed to all the set_* property methods.
* gtk/Window.cs : Fixed hanging GTK namespace ref.
* sample/HelloWorld.cs : Fixed hanging GTK namespace ref.
svn path=/trunk/gtk-sharp/; revision=884