parameter should be hidden in the managed sig (eg, because it's
user_data, or it's the length of the preceding array/string, etc).
(VisibleCount): the number of parameters that will actually be
exposed in the managed signature.
(IsAccessor): test VisibleCount, not Count
(AccessorReturnType, AccessorName): deal with the fact that the
accessor parameter might not be the first one.
* generator/CallbackGen.cs:
* generator/Signature.cs: use Parameters.IsHidden.
* generator/Method.cs (Initialize): set is_set based on
VisibleCount, not Count.
(Validate): call base.Validate() before Initialize() so that
VisibleCount will be correct in Initialize.
* generator/MethodBody.cs (GetCallString, CallArrayLength,
Initialize): update to deal with accessors with multiple args.
* gtk/Clipboard.custom (SetText): implement as an Obsolete variant
of the Text property
* gtk/IconTheme.custom (SearchPath, SetSearchPath): obsolete
SetSearchPath, implement a setter on SearchPath instead.
* gtk/ListStore.custom (SetColumnTypes):
* gtk/TreeStore.custom (SetColumnTypes): implement as an Obsolete
variant of the ColumnTypes property.
* glade/XML.custom (CustomHandler): implement as a property
(SetCustomHandler): Mark this obsolete
* glade/Global.custom (SetCustomHandler): deprecate in favor of
XML.CustomHandler.
* gnomedb/Editor.custom (SetText): implement as an Obsolete
variant of the Text property
svn path=/trunk/gtk-sharp/; revision=43898
param const
* glib/Marshaller.cs (Utf8PtrToString): Add an IntPtr[]->string[]
overload, since that's what we actually need in the case where
it's used (above). Leave the IntPtr[]->string[] overload of
PtrToStringGFree in case anyone is using it manually.
* gtk/Gtk.metadata: hide GtkModuleInitFunc and
GtkModuleDisplayInitFunc; they are the signatures of user-defined
methods that gtk only ever resolves via g_module_symbol(), so
they're not useful from C#. (And the marshalling was all wrong
anyway...)
svn path=/trunk/gtk-sharp/; revision=43461
and unmanaged interface declarations.
(Implements): check recursively
* generator/ObjectGen.cs (Generate): output managed interfaces
* gtk/Gtk.metadata: make Container implement IEnumerable
* gtk/Container.custom (GetEnumerator): implement (a simplified
form of Children).
(AllChildren): add this (which accumulates the results of
Forall()).
(ForAll): mark ForAll(bool,CallbackInvoker) obsolete and add a
ForAll(bool,Gtk.Callback) overload to replace it.
* sample/PolarFixed.cs: new silly but fully-functional demo of
how to subclass container.
* sample/CustomNotebook.cs: kill this, since it was really
complicated, and never fully functional.
* sample/GtkDemo/DemoImages.cs (ToggleSensitivity): Use foreach
directly on the container, rather than on its .Children.
svn path=/trunk/gtk-sharp/; revision=42805
floating when we get it, since GLib assumes we hold a ref on it.
[Fixes#74468]
* gtk/Window.custom: remove refcount special-handling here
svn path=/trunk/gtk-sharp/; revision=42653
* gtk/Menu.custom: don't re-implement the Screen getter in Gtk.Menu.
Instead just return base.Screen, which is implemented by Widget.
svn path=/trunk/gtk-sharp/; revision=42546
* gdk/Gdk.metadata : hide some manually implemented callback methods.
* gdk/*.custom : implement several methods containing persistent
callback parameters.
* generator/BoxedGen.cs : set gen_info.CurrentType in Generate.
* generator/ClassGen.cs : set gen_info.CurrentType in Generate.
* generator/Ctor.cs : set gen_info.CurrentMember in Generate.
* generator/GenerationInfo.cs : add CurrentMember and CurrentType.
* generator/Method.cs : set gen_info.CurrentMember in Generate.
* generator/MethodBody.cs : always generate null guarding for array
parameters, and add a nag for callback parameters without a scope attr.
* generator/ObjectGen.cs : set gen_info.CurrentType in Generate.
* generator/OpaqueGen.cs : set gen_info.CurrentType in Generate.
* generator/Parameters.cs : kill NullOk. add Scope property.
* generator/StructGen.cs : set gen_info.CurrentType in Generate.
* gtk/Gtk.metadata : kill a few null_ok attrs.
* pango/Pango.metadata : mark the callback params as call scope. kill
a couple null_ok attrs.
svn path=/trunk/gtk-sharp/; revision=42529
resource-file constructors (using code formerly in Pixbuf.custom)
* gdk/Pixbuf.custom: Redo the stream and resource ctors in terms
of the PixbufLoader ones.
* gdk/PixbufAnimation.custom: Add stream and resource ctors
* gtk/Image.custom: Add stream and resource ctors
svn path=/trunk/gtk-sharp/; revision=42463
* gtk/TreeStore.custom : fix a CLS incompliance in the Append
Prepend, Insert, InsertBefore, and InsertAfter methods by obsoleting
them and adding new *Node methods that are CLS compliant.
[Fixes#73876]
svn path=/trunk/gtk-sharp/; revision=42355
* gtk/ITreeNode.cs: add a "child" arg to TreeNodeRemovedHandler
* gtk/TreeNode.cs (RemoveChild, OnChildRemoved): update for that
* gtk/NodeStore.cs (child_deleted_cb): use the passed-in child;
GetNodeAtPath won't work because the parent node already removed
the child from its list
svn path=/trunk/gtk-sharp/; revision=41837
* gtk/NodeStore.cs (AddNode): likewise
(AddNode, child_added_cb): when adding a node, recursively connect
to the node signals on its children
(RemoveNode, child_deleted_cb): when removing a node, recursively
remove its children from node_hash.
svn path=/trunk/gtk-sharp/; revision=41805
* glib/Makefile.am : add new file.
* glib/Object.cs : add protected PersistentData hash to hold data
across GC cycles.
* glib/WeakObject.cs : new object to hold managed refs weakly against
the native object.
* gtk/ListStore.custom : hold refs for DefaultSortFuncs.
* gtk/TreeModelSort.custom : hold refs for DefaultSortFuncs.
* gtk/TreeStore.custom : hold refs for DefaultSortFuncs.
svn path=/trunk/gtk-sharp/; revision=41740
* generator/CallbackGen.cs : don't derive Wrappers from DelegateWrapper
any more. It leaks delegates like crazy. We effectively now use call
scope as the default for delegate parameters.
* generator/MethodBody.cs : use new simpler Wrapper ctor.
* glib/DelegateWrapper.cs : mark the ctor obsolete so people know to
update any manually coded wrappers out there.
* */*.custom : use new simpler Callback Wrapper ctors.
svn path=/trunk/gtk-sharp/; revision=41738
* */*.cs : scrub for StringToPtrAnsi and string usage in DllImports.
* */*.custom : begin the scrub here too.
* generator/ConstStringGen.cs : implement IManualMarshaler and move to
100% IntPtr marshaling.
* generator/Ctor.cs : call Body.Finish too.
* generator/IManualMarshaler.cs : new interface for generatables that
marshal manually and need cleanup.
* generator/Makefile.am : new file.
* generator/MethodBody.cs : use IManualMarshaler if applicable.
svn path=/trunk/gtk-sharp/; revision=41579
* generator/ImportSignature.cs : out param handling fix.
* generator/Makefile.am : kill StringGen.cs.
* generator/MethodBody.cs : simplify out param handling.
* generator/StringGen.cs : kill it, now using MarshalGen.
* generator/SymbolTable.cs : make non-const strings use an appropriate
MarshalGen. Non-const strings are now correctly marshaled as Utf8.
* glib/Marshaller.cs : add some utf8-fu for strdup/free marshaling.
Add a method to alloc/copy structs to native memory, unused yet.
* gtk/Gtk.metadata : partially fix a broken delegate.
svn path=/trunk/gtk-sharp/; revision=41459
into the type name
* gtk/gtk-api.raw: Regen, exposing the previously-broken
AccelGroup.AccelActivate, AccelMap.Changed,
ActionGroup.ConnectProxy, ActionGroup.DisconnectProxy,
ActionGroup.PreActivate, ActionGroup.PostActivate, and
Widget.EventAfter.
* gtk/Gtk.metadata: Give proper names to the parameters of those
signals
svn path=/trunk/gtk-sharp/; revision=41111
valid type (or is hidden).
* generator/StructBase.cs (Validate): new, to check that all of
the struct fields have valid types
* generator/BoxedGen.cs (Generate):
* generator/StructGen.cs: (Generate): Call Validate() and bail out
if it fails; it's no good to generate a struct with the wrong
layout.
* gdk/gdk-symbols.xml: add a line for GdkKey -> Gdk.Key. (There's
no actual C type GdkKey, but we can use metadata to change uints
to GdkKeys, which will then become Gdk.Keys.)
* gtk/AccelKey.custom: remove the "Key" field (which was being
added in the wrong place in the struct), since it's properly
generated now.
* gtk/Gtk.metadata: Fix the line that renames AccelKey.AccelKey
to AccelKey.Key
* gnomevfs/Gnomevfs.metadata: hide the (mis-parsed) "action" field
in MimeAction, leaving the struct in the same broken state it was
in with the old generator code
svn path=/trunk/gtk-sharp/; revision=41104
they're generated wrong, and StyleGet to avoid an ellipsis
warning. (Also hide the deprecated ellipsis method "Set".)
* gtk/Widget.custom (StyleGetProperty): implement manually, a la
Gtk.Container.ChildGetProperty.
* gtk/glue/widget.c (gtksharp_widget_style_get_property): glue for that
svn path=/trunk/gtk-sharp/; revision=40481
* gtk/Widget.custom : use a static method for the ParentSet hack
so we don't leak objects because the delegate holds an object ref.
svn path=/trunk/gtk-sharp/; revision=40346
* gtk/FileChooserDialog.custom : move backend to first param to
avoid conflicts with button names in overloaded ctor.
svn path=/trunk/gtk-sharp/; revision=39856
* gtk/Dialog.custom : add a params array for button info to the ctor.
* gtk/FileChooserDialog.custom : add a params array for button info to
both ctors. Chain them to IntPtr.Zero.
* gtk/Gtk.metadata : hide the ellipsis ctors for the dialog types.
[Fixes#71818]
* sample/GtkDemo/DemoDialog.cs : make the InteractiveDialog use the
new Dialog ctor as it does in the c version.
svn path=/trunk/gtk-sharp/; revision=39713
* gtk/NodeSelection.cs : use new GetSelectedRows() overload.
* gtk/TreeSelection.custom : add a GetSelectedRows overload without the
out model param. [Fixes#71814]
svn path=/trunk/gtk-sharp/; revision=39654
* gtk/Gtk.metadata : hide all the SignalFunc using Toolbar methods.
* gtk/Makefile.am : add the new custom.
* gtk/Toolbar.custom : implement the SignalFunc methods. Deal with
null for Widget params in *Element.
svn path=/trunk/gtk-sharp/; revision=39509
* gda/Makefile.am : add new custom.
* gda/XmlConnection.custom : add backcompat static ctor.
* generator/ClassBase.cs : refactor lookup logic to here from Ctor
and improve the collision resolution.
* generator/Ctor.cs : refactor to use MethodBase.
* generator/Makefile.am : add new file.
* generator/MethodBase.cs : new base class for ctors and methods.
* generator/Method.cs : refactor to use MethodBase.
* generator/StructBase.cs : move some logic from here to Ctor.
* gnome/CanvasPathDef.custom : add backcompat static ctor.
* gnome/GPPath.custom : add backcompat static ctor.
* gnome/Makefile.am : add new custom.
* gtk/Gtk.metadata : mark a colliding Button ctor shared.
svn path=/trunk/gtk-sharp/; revision=39431
sure the output has no unescaped "%"s. (For wrapping printf-style
unmanaged methods with String.Format-style managed ones.)
* gtk/MessageDialog.custom (MessageDialog): use it. #71405. Also,
use gtk_message_dialog_new_with_markup by default, and add an
overloaded ctor that lets you use the non-markup version.
* gtk/Gtk.metadata: hide the GtkMessageDialog ctors so we don't
get ellipsis warnings about them.
* sample/GtkDemo/DemoApplicationWindow.cs:
* sample/GtkDemo/DemoDialog.cs: simplify the MessageDialog usage;
don't need to call String.Format separately now.
svn path=/trunk/gtk-sharp/; revision=39256
* configure.in : kill a ton of redundant stuff.
* AssemblyInfo.cs.in : moved here, only need one.
* Makefile.include : rules for building generated assemblies.
* Makefile.am : removed gtk-sharp-2.0.pc handling.
* */AssemblyInfo.cs.in : killed
* */Makefile.am : refactored out a ton of rules to an include.
* */*-pc.in : added Cflags entries pointing to the gapi files.
* generator/CodeGenerator.cs : add -I: synonym --include.
* gnomevfs/gnome-vfs-api.raw : remamed from gnomevfs-api.raw.
* gtk/gtk-sharp-2.0.pc.in : moved here from top.
* parser/gapi-fixup.cs : add --symbol arg to merge sym files.
* sources/gtk-sharp-sources.xml : remamed gnome-vfs-api.raw.
svn path=/trunk/gtk-sharp/; revision=38551
* configure.in : check for panelapplet in enable_gnome and remove
all the stuff for a separate panelapplet-sharp assembly.
* Makefile.am : remove panelapplet dir from build.
* gnome/BonoboUIVerb.cs : moved from panelapplet.
* gnome/Gnome.metadata : add rules from panelapplet.
* gnome/Makefile.am : add new files.
* gnome/PanelApplet.custom : moved from panelapplet.
* gnome/PanelAppletFactory.cs : moved from panelapplet.
* gnome/glue/panelapplet.c : moved from panelapplet.
* gnome/glue/Makefile.am : add new file.
* gnomedb/GnomeDb.metadata : hide a newly parsed "obsolete" type.
* gtk/Gtk.metadata : hide a newly parsed "obsolete" callback type.
* panelapplet : kill dir.
* parser/gapi2xml.pl : update callback name sanity check.
* sources/gtk-sharp-sources.xml : move panelapplet parse into gnome.
* */*-api.raw : regen.
svn path=/trunk/gtk-sharp/; revision=38509
* stetic/wrapper/Icon.cs: wrapper for Gtk.Images that show stock icons
* stetic/wrapper/SpinButton.cs: wrapper for Gtk.SpinButton
* stetic/wrapper/Frame.cs:
* stetic/wrapper/HBox.cs:
* stetic/wrapper/HButtonBox.cs:
* stetic/wrapper/HPaned.cs:
* stetic/wrapper/VBox.cs:
* stetic/wrapper/VButtonBox.cs:
* stetic/wrapper/VPaned.cs:
* stetic/wrapper/Table.cs:
* stetic/wrapper/Window.cs: Implement IObjectWrapper on these
(previously they just implemented IDesignTimeContainer)
* stetic/wrapper/Box.cs:
* stetic/wrapper/ButtonBox.cs:
* stetic/wrapper/Paned.cs: static classes that define
PropertyDescriptors used by their subclasses
* stetic/wrapper/DefaultWidgets.cs: Update for new wrappers
* stetic/editor/File.cs: editor for strings that represent filenames
* stetic/Stetic.cs: Use Gnome.Program rather than Gtk.Application
now, since we're using Gnome.FileEntry.
svn path=/trunk/gtk-sharp/; revision=38501
* gtk/TreeView.custom : add back the TreeCellDataFunc overloads for
backward compat.
* gtk/TreeViewColumn.custom : add back the TreeCellDataFunc overloads for
backward compat.
svn path=/trunk/gtk-sharp/; revision=38396
* gtk/TextBuffer.custom : Mark SetText obsolete in favour of the Text
property, and use Text in SetText in the meantime.
svn path=/trunk/gtk-sharp/; revision=38368
* glib/ClassInitializerAttribute.cs : new attr for identifying type.
inialization methods to be run by RegisterGType.
* glib/Makefile.am : add file.
* glib/Object.cs : add private method to invoke ClassInitializers.
* gtk/glue/widget.c : some new glue for binding registration.
* gtk/BindingAttribute.cs : new attr for registering key bindings.
* gtk/Makefile.am : add file.
* gtk/Widget.custom : add ClassInitializer method to scan types
for [Binding] and register key bindings.
svn path=/trunk/gtk-sharp/; revision=38074
gtk headers.
* gtk/gtk-api.raw: regen
* gtk/Gtk.metadata: Remove some explicit hiding of things that
shouldn't have been there anyway. Hide a few types that just show
up as unusable stubs.
svn path=/trunk/gtk-sharp/; revision=38054
* generator/CodeGenerator.cs:
* generator/ManagedCallString.cs:
* generator/Property.cs: Remove unused vars
* generator/Method.cs (GetHashCode): have to implement this since
we're overriding Equals.
* generator/CallbackGen.cs: print a message when generating a
broken struct-returning callback. (Currently affects
GtkSharp.TextSegSplitFuncNative and
GtkSharp.TextSegCleanupFuncNative)
* gdk/glue/device.c:
* gdk/glue/dragcontext.c: Add missing prototypes
* gtk/Gtk.metadata: Mark SeparatorToolItem.Draw "new". Re-rename
CheckMenuItem.Toggled to EmitToggled rather than Toggle, since
that's a better description of what it does.
* gtk/CheckMenuItem.custom: implement a "Toggle" method that does
what the documentation claims it does.
* gtk/NodeStore.cs: remove unused var
* gnome/Gnome.metadata: mark DateEdit.Flags, Dialog.Default, and
PropertyBox.State "new". Hide GnomePixmapEntry.GnomeEntry and
GnomePixmapEntry.GtkEntry since they do exactly the same thing as
the methods of the same names inherited from GnomeFileEntry.
* gnome/glue/canvas-proxy.c:
* gnome/glue/canvas-proxy.h:
* gnome/glue/canvas-proxy-marshal.c:
* gnome/glue/canvas-proxy-marshal.h:
* gnome/glue/canvas-proxy-marshal.list: Remove unused code
* gnome/glue/Makefile.am (libgnomesharpglue_2_la_SOURCES): update
* panelapplet/PanelApplet.metadata: mark PanelApplet.Flags "new"
* sample/CanvasExample.cs:
* sample/CustomCellRenderer.cs:
* sample/CustomNotebook.cs:
* sample/DrawingSample.cs:
* sample/Fifteen.cs:
* sample/GladeTest.cs:
* sample/GtkDemo/DemoHyperText.cs:
* sample/GtkDemo/DemoPixbuf.cs:
* sample/ScribbleXInput.cs: remove unused vars, use
GLib.Timeout.Add rather than the deprecated Gtk.Timeout.Add
svn path=/trunk/gtk-sharp/; revision=38043
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
Lookup (so we can customize it) and AddStatic (since it can't work
right from managed code), and tweak the params of Add.
* gtk/Stock.custom: Implement Lookup() using a special
ConstStockItem struct so the p/invoke layer won't try to free
static strings. [#70589]
svn path=/trunk/gtk-sharp/; revision=37995
* gtk/ColorSelectionDialog.custom : fix some incorrect object wrapping
and mark the ColorSelectionButton nested class Obsolete with a heinous
warning message. [Fixes#68450]
svn path=/trunk/gtk-sharp/; revision=37923
* gtk/ListStore.custom : dispose a bunch of GLib.Values.
* gtk/TreeStore.custom : ditto. Reworked and expanded from a patch
by Ben "valgrind-boy" Maurer. [Fixes#69925]
svn path=/trunk/gtk-sharp/; revision=37919
* gtk/Gtk.metadata : hide Object and Widget.Destroy.
* gtk/Object.custom : manual virtual Destroy impl.
* gtk/Widget.custom : manual virtual Destroy impl.
* gtk/Window.custom : hold a managed ref for all toplevels. Release
it in a Destroy override. Window is frequently subclassed and is
never parented, so this keeps a managed ref around to avoid GC.
[Fixes#70120]
svn path=/trunk/gtk-sharp/; revision=37914
* gdk/Gdk.metadata : mark out param on Window.GetFrameExtents.
* gdk/WindowAttr.custom : new typed Mask prop.
* gtk/Widget.custom : new typed WidgetFlags prop. mark Flags obsolete.
svn path=/trunk/gtk-sharp/; revision=37909
* gtk/Makefile.am : add new file.
* gtk/glue/makefile.win32 : add missing file.
* gtk/NodeCellDataFunc.cs : new callback delegate type and marshaler
for NodeStore tree views using GtkTreeCellDataFuncs.
* gtk/NodeStore.cs : add internal GetNode overload by TreeIter.
* gtk/NodeView.cs : add AppendColumn overload that uses data funcs.
* gtk/TreeViewColumn.custom : manual implementation for SetCellDataFunc
to support both TreeIter and ITreeNode models. We need to hold a ref
to a delegate for each cell renderer on a column. [Fixes#63062]
* sample/NodeViewDemo.cs : use a NodeCellDataFunc for one of the
cell renderers in the tree.
svn path=/trunk/gtk-sharp/; revision=37904
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
* sample/NodeViewDemo.cs : rework of TreeViewDemo to use NodeStore.
* sample/TreeViewDemo.cs : added some timing and node counting fu.
2004-12-16 Duncan Mak <duncan@ximian.com>
* gtk/Makefile.am (sources): Added NodeSelection and NodeView.
* gtk/NodeSelection.cs: New file, an implementation of
TreeSelection that exposes ITreeNodes instead of TreeIters.
* gtk/NodeStore.cs : added internal GetIter and GetPath methods for
NodeSelection. Reworked [TreeNodeValue] lookup logic.
out what the Type of data the store holds.
* gtk/NodeView.cs: New subclass of TreeView utilizing NodeStore and
NodeSelection.
* gtk/TreeIter.custom : new internal UserData prop.
* gtk/TreeNodeValueAttribute.cs: Set AllowMultiple to true.
* gtk/TreeView.custom: Obsoleted constructor that uses a NodeStore as
parameter. NodeView should be used instead.
svn path=/trunk/gtk-sharp/; revision=37845
[Fixes#70187]. Kill two varargs warnings.
* gtk/TextBuffer.custom: Update for that, and also implement
InsertWithTagsByName
* sample/GtkDemo/DemoHyperText.cs:
* sample/GtkDemo/DemoTextView.cs: Remove kludges for broken
TextIter handling. Also fix the i18n demo bits by translating the
octal-encoded UTF-8 to hex-encoded UTF-16.
svn path=/trunk/gtk-sharp/; revision=37039
* gtk/ActionEntry.cs:
* gtk/ActionGroup.custom:
* gtk/Gtk.metadata:
* gtk/Makefile.am:
* gtk/RadioActionEntry.cs:
* gtk/ToggleActionEntry.cs:
* gtk/UIManager.custom:
* sample/Actions.cs: Updated to use the new *ActionEntry code. Reflects
testactions.c from gtk+ now.
Added C# syntactic sugar for easily defining Action's for the UIManager.
Derived from the same ActionEntry structs in gtk+.
svn path=/trunk/gtk-sharp/; revision=36638
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
glue method to get container->focus_child
* gtk/Gtk.metadata: hide SetFocusChild
* gtk/Container.custom (FocusChild): implement with both getter
and setter
* en/Gtk/Container.xml (FocusChild): Has a getter now too.
(Added): Clarify that this only means "Gtk.Container.Add was
called", and doesn't get fired when you call Gtk.Box.PackStart,
etc
svn path=/trunk/gtk-sharp/; revision=36143
* */*-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
(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
* gtk/FileChooserDialog.custom:
* gtk/FileChooserWidget.custom: Properly implement .Filenames. The old
code was a really bad c&p job.
svn path=/trunk/gtk-sharp/; revision=35619
* gtk/FileChooserDialog.custom: Add Filenames property to return
the data as a string[] instead of a GSList.
* gtk/FileChooserWidget.custom: Same as above.
* gtk/Makefile.am: Add FileChooserWidget.custom
svn path=/trunk/gtk-sharp/; revision=35492
Gdk.Pixmaps instead, because the former will crash. Also fix the
"data" param to Pixmap.CreateFromXpmD and
Pixmap.ColormapCreateFromXpmD
* gtk/Style.custom (TextAAGC, SetTextAAGC, LightGC, SetLightGC,
DarkGC, SetDarkGC, MidGC, SetMidGC): add these to go along with
BaseGC, SetBaseGC, etc.
* gtk/glue/style.c: add the glue methods needed for the above
svn path=/trunk/gtk-sharp/; revision=35409
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
* gtk/Gtk.metadata : hide some methods on TextBuffer.
* gtk/TextBuffer.custom : pass -1 for the text length to some
more methods.
svn path=/trunk/gtk-sharp/; revision=32534
* gtk/Gtk.metadata : hide Insert and SetText for manual impl.
* gtk/TextBuffer.custom : pass -1 for length to Insert and SetText.
Adapted from a patch by borsanza@yahoo.es (Borja Sanchez Zamorano).
[Fixes#62985]
svn path=/trunk/gtk-sharp/; revision=32317
* gtk/Gtk.metadata:
* glade/Glade.metadata: mark return type as const-gchar* for
Gtk.Global.CheckVersion and Glade.Global.ModuleCheckVersion
so Gtk# does not try to free them. Thanks to
jaspervp@gmx.net (Jasper van Putten) for identifying the Glade
part. Fixes bugs #61329 and #60954
svn path=/trunk/gtk-sharp/; revision=31239
* */*.cs : add lgpl license blurb and clean up (c)'s.
* */*.custom : add lgpl license blurb and clean up (c)'s.
* */glue/*.c : add lgpl license blurb and clean up (c)'s.
file adds without license from now on are punishable by wedgie.
svn path=/trunk/gtk-sharp/; revision=30401
* configure.in : deal with a csc-ism in source paths.
* */Makefile.am : use the GENERATED_SOURCES var.
* */glue/Makefile.am : add -no-undefined for win32 dll builds.
svn path=/trunk/gtk-sharp/; revision=29367
* gtk/Widget.custom: expose some easy bool properties for checking
certain WidgetFlags. Make Allocation a settable property.
* gtk/glue/widget.c: bit of glue to make Allocation settable.
* gdk/Window.custom: expose UserData as a usable IntPtr property.
* gdk/Gdk.metadata: hide old GetUserData/SetUserData methods.
* doc/*: ran the updater.
svn path=/trunk/gtk-sharp/; revision=28974
* glib/Object.cs: ConnectDefaultHandlers needs to look at public api
as well for virtual methods.
* gtk/CellRenderer.custom:
* gtk/Container.custom:
* gnome/CanvasItem.custom: Add DefaultSignalHandler to remove the need
for the static ctor.
svn path=/trunk/gtk-sharp/; revision=28851
* 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
* gtk/Gtk.metadata : mark SizeRequest requisition as out, not ref.
[Fixes#59388]
2004-06-01 Mike Kestner <mkestner@ximian.com>
* en/Gtk/Widget.xml : move existing docs to new method sig.
svn path=/trunk/gtk-sharp/; revision=28629
* 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
* gtk/Container.custom : use glue to invoke the GtkCallback in
Forall.
* gtk/glue/container.c : add gtksharp_container_invoke_gtk_callback.
svn path=/trunk/gtk-sharp/; revision=28047
* glib/Object.cs: make static GLib.Object.LookupGType protected for now. * gtk/CellRenderer.custom: code to allow for subclassing and
implementing a custom cell renderer.
* gtk/Makefile.am: add custom to build.
* gtk/glue/Makefile.am: add glue to build.
* gtk/glue/cellrenderer.c: glue code to override get_size and render
from cellrenderer.
* sample/CustomCellRenderer.cs: new sample to show how to implement a
custom cell renderer.
* sample/Makefile.am: add CustomCellRenderer sample.
svn path=/trunk/gtk-sharp/; revision=27426
* gtk/Gtk.metadata : change return-type on Global.EventsPending
to a bool to avoid compat problems in 2.4. Also rename to
GetEventsPending so that it's generated as a property.
[fixes#58292]
svn path=/trunk/gtk-sharp/; revision=27043
[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
* gtk/Adjustment.custom: add an a set method for StepIncrement.
* gtk/glue/adjustment.c: add gtk_adjustment_set_step_increment.
svn path=/trunk/gtk-sharp/; revision=26780
* configure.in : lookup gacutil and error out if not found.
* */Makefile.am : add install-data-local and uninstall-local targets
for GAC installation. Add gtk-sharp.pub target to cp the key in for
distcheck.
* */AssemblyInfo.cs.in : remove ../ from key path for VPATH build.
svn path=/trunk/gtk-sharp/; revision=26485
* configure.in : remove BASE_DEPENDENCIES LIBS and CFLAGS and
expose more specific versions for glue building.
* */glue/Makefile.am : use more specific versions of LIBS and CFLAGS
to reduce the ldd footprint.
svn path=/trunk/gtk-sharp/; revision=26438
* 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
* gtk/Gtk.metadata : Widget.Events is a Gdk.EventMask, not int
* sample/GtkDemo/DemoDrawingArea.cs : remove int casts
* sample/Scribble.cs : remove int casts
svn path=/trunk/gtk-sharp/; revision=24601
* */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
* generator/ObjectGen.cs : ignore virtual_method elems for now.
* parser/gapi2xml.pl : parse the non-signal class methods and add as
virtual_method elements in the API xml
* */*-api.xml : regen
svn path=/trunk/gtk-sharp/; revision=23809
* glue/Makefile.am:
* glue/makefile.win32:
* glue/thread-notify.c: dropped.
* gtk/ThreadNotify.cs: use just Idle.Add, which is what the deprecated
gda_input_add does. No more P/Invoke here.
svn path=/trunk/gtk-sharp/; revision=23758
* 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
* gtk/Gtk.metadata: out fix for TreeView.GetBackgroundArea and
TextView.GetIterLocation.
* gtk/gtk-api.xml: regen
svn path=/trunk/gtk-sharp/; revision=22608
* 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
like void Foobar (..., out int baz, ...) are turned into the more .NET like
signature int Foobar (...), this fixes bug 46392
* generator/Signature.cs: Ditto
* generator/MethodBody.cs: Ditto
* gtk/ListStore.custom: Ditto
* gtk/TextBuffer.custom: Ditto
* gtk/TreeStore.custom: Ditto
svn path=/trunk/gtk-sharp/; revision=22126
* gtk/Gtk.metadata: Hide most RadioButton constructors, for
api reasons
* gtk/RadioButton.custom: add ctor to create a new RadioButton
with its own group to avoid having to pass null
* gtk/gtk-api.xml: regen
svn path=/trunk/gtk-sharp/; revision=21881
* 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
* gtk/Gtk.metadata: hide TextTag.Weight property and implement it
in TextTag.custom. TextTag Weight property in gtk is of type int,
but we want it to be Pango.Weight enum
2003-12-10 Radek Doulik <rodo@ximian.com>
* glue/program.c (get_default): moved check after strspec is set
so we don't check uninitialized value
svn path=/trunk/gtk-sharp/; revision=21068
* generator/CallbackGen.cs : use new sig and isig classes.
* generator/Ctor.cs : use new sig, isig, and body classes.
* generator/ImportSignature.cs : isig code spun out from Parameters.
* generator/Method.cs : use new sig, isig, and body classes.
* generator/MethodBody.cs : spun Initialize, GetCallString,
Finish, and Exception throwing methods from Parameters.
* generator/Parameters.cs : Slayed the evilness that was CreateSignature.
It is now essentially a container for Parameter classes instead of a
tangled mess of code trying to do everything remotely related to
parameter lists. Also completely killed the VAType/IsVarArgs stuff,
as it can be done with the array and params attrs instead.
* generator/Property.cs : use new sig class.
* generator/Signature.cs : new method sig generator extracted from
Parameters class. add "params" keyword support for tagged parameters.
* gnome/Gnome.metadata : hide IconList.GetSearchPath (to be manual)
* gnome/gnome-api.xml : regen
* gtk/ListStore.custom : kill unneeded overload
* gtk/TreeStore.custom : kill unneeded overload
* gtk/Gtk.metadata : mark params/args on *store_newv
* gtk/gtk-api.xml : regenerated
svn path=/trunk/gtk-sharp/; revision=20755
* gtk/NodeStore.cs (GetNode): New public function. Patch refactored
a bit to eliminate code duplication with get_node_cb.
svn path=/trunk/gtk-sharp/; revision=20188
* gtk/ITreeNode.cs : make Parent readonly
* gtk/TreeNode.cs : use an internal method to set parent on the
child, and set child.Parent to null in RemoveChild.
svn path=/trunk/gtk-sharp/; revision=19651
* glue/button.c: initial creating of glue file for GdkButton
* glue/Makefile.am: added button.c to glue make
* glue/makefile.win32: added button.c to win32 glue make
* gtk/Button.custom: expose in_button GdkButton member
svn path=/trunk/gtk-sharp/; revision=19486
and sorted the metadata.
* gtk/gtk-api.xml: Regenerated, to reflect the above changes.
Tags are swapped around. PaintBox, PaintBoxGap, PaintShadow and
PaintShadowGap are moved arround as well.
* sources/Gtk.metadata: Removed
svn path=/trunk/gtk-sharp/; revision=19407
* gtk/gtk-api.xml: Reflects changes of the metadata move,
tags are swapped around.
* sources/Gtk.metadata: Removed metadata, which are moved to
gtk/Gtk.metadata
svn path=/trunk/gtk-sharp/; revision=19349
* gtk/gtk-api.xml: Reflects changes of the metadata move,
tags are swapped around.
* gtkhtml/Gtk.metadata: Added metadata from sources/Gtk.metadata
* gtkhtml/gtkhtml-api.xml: Reflects changes of the metadata move,
tags are swapped around.
* sources/Gtk.metadata: Removed metadata, which are moved to
gtk/Gtk.metadata and gtkhtml/Gtk.metadata
svn path=/trunk/gtk-sharp/; revision=19310
* gtk/Window.cs : override Raw prop and take a ref, since gtk+
owns the ref to new Windows, and we need a ref. [Fixes#47721]
svn path=/trunk/gtk-sharp/; revision=19151
* gtk/Gtk.metadata : rule for ClipboardGetFunc
* gtk/Clipboard.custom : comment out for now don't think any
of this is needed.
* gtk/ClipboardClearFunc.cs : gen'd now
* gtk/ClipboardGetFunc.cs : gen'd now
* gtk/GtkSharp.GtkClipboardClearFuncNative.cs : gen'd now
* gtk/GtkSharp.GtkClipboardGetFuncNative.cs : gen'd now
* gtk/gtk-api.xml : regenerated
* sources/Gtk.metadata : remove a couple clipboard hides
svn path=/trunk/gtk-sharp/; revision=19048
* gtk/gtk-api.xml : regenerated
* gtk/Gtk.metadata : begin the port of the Gtk rules
* gtk/Makefile.in : apply metadata in gen target
* gtkhtml/gtkhtml-api.xml : regenerated
* gtkhtml/Gtk.metadata : a couple rules ported
* gtkhtml/Makefile.in : apply metadata in gen target
* sources/Gtk.metadata : port first 350 lines of rules.
svn path=/trunk/gtk-sharp/; revision=19047
* gtk/gtk-api.xml : regenerated
* sources/Gtk.metadata : applied patch from jluke for hides
requested in bug #38660. Also cleaned up the sprawling "hidden"
rules to reduce the overall footprint.
svn path=/trunk/gtk-sharp/; revision=18894
* generator/Parameters.cs : Properly handle out params for
Object and Opaque types.
* gtk/ListStore.custom: remove out on GetValue overload
* gtk/TreeStore.custom: remove out on GetValue overload
* gtk/gtk-api.xml : regenerated
* sources/Gtk.metadata : remove some incorrect out tags
svn path=/trunk/gtk-sharp/; revision=18891
* gtk/gtk-api.xml : regenerated
* sources/Gtk.metadata : mark pos and path pass_as="out" for
TreeView.GetDragDestRow and GetDestRowAtPos [Fixes#49517]
svn path=/trunk/gtk-sharp/; revision=18869
* Makefile.in : add gtkhtml dir.
* configure.in : expand gtkhtml/Makefile
* api/Makefile.in : remove gtkhtml-api.xml
* generator/CodeGenerator.cs : parse new --outdir, --customdir,
and --assembly-name args.
* generator/GenerationInfo.cs (Ctor): new (dir, dir,assembly) ctor
* gtkhtml/HTMLStream.custom : moved here from gtk dir
* gtkhtml/gtkhtml-api.xml : moved here from api dir
* gtkhtml/Makefile.in : gen source and build dll
* sources/gtk-sharp-sources.xml : write gtkhtml api to new dir
svn path=/trunk/gtk-sharp/; revision=18696
* 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
[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
file update and added documentation.
* gtk/FileSelection.custom (FSButton): Mark the constructor as
'internal', instead of 'public'.
svn path=/trunk/gtk-sharp/; revision=16513
checking out all files in one go.
* gtk/IconSet.custom (Sizes): added proper binding to
gtk_icon_set_get_sizes (), this fixes bug #45835.
svn path=/trunk/gtk-sharp/; revision=16284
* 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
* gdk/Selection.custom : add static fields for the primary,
secondary, and clipboard and clipboard selection Gdk.Atoms.
* glue/Makefile.am : add selection.c
* glue/selection.c : add glue to get the atoms.
* gtk/TextBuffer.custom : add a PasteClipboard overload for
pasting to the cursor location.
svn path=/trunk/gtk-sharp/; revision=16130
* 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, 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
* gtk/TreeView.custom:
(GetPathAtPos): added 3 overloads of this method so that the caller
does not need to create extra variables that may not use.
* api/gtk-api.xml:
* sources/Gtk.metadata: added pass_out attribute for tx and ty
arguments of TreeView::WidgetToTreeCoords. Hide TreeView::GetPathAtPos.
svn path=/trunk/gtk-sharp/; revision=13677
* 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
* api/gtk-api.xml: changed DisplayOptions by SetDisplayOptions.
* sources/Gtk.metadata: added rename hint for DisplayOptions. Moved
GtkHTMLStream hints to 'misc' area (they were in 'rename' area).
* gtk/Calendar.custom: added a .net style GetDate override.
* sample/CalendarApp.cs: updated to new methods in the Calendar API.
svn path=/trunk/gtk-sharp/; revision=12799
to be ColorSelectionButton to avoid a name clash in the doc generator.
* gtk/TextBuffer.custom: Fix the Text property. Patch from Mathias
Hasselmann <mathias.hasselmann@gmx.de>.
svn path=/trunk/gtk-sharp/; revision=12572
* gtk/Application.cs (CurrentEvent): Property implementing the
suggestion from Paolo.
* glib/Object.cs (Dispose): Destructor might be invoked in a
thread, queue the object for destruction using the Gtk idle
handler. We perform the real destruction of the object in the
same thread as the Gtk+ main thread.
svn path=/trunk/gtk-sharp/; revision=12551
* gtk/Application.cs: Do not allow instances of Application to be
created.
(InitCheck): new method, wraps gtk_init_check.
Removed inline docs from here. Put them on the documentation
file.
svn path=/trunk/gtk-sharp/; revision=12418
* gtk/TextBuffer.custom : Added method, named
"GetIterAtOffset" to wrap C API procedure
"gtk_text_buffer_get_iter_at_offset" in a
more expected way.
svn path=/trunk/gtk-sharp/; revision=12022
* 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
* sources/Gtk.metadata: Add GetLayoutOffsets to the rule for out params.
* gtk/FileSelection.custom (Button): Rename to FSButton, so that
we won't wipe out our original Gtk.Button docs.
svn path=/trunk/gtk-sharp/; revision=11761
* api/gtk-api.xml: Gtk.Editable.InsertText should have the
position be marked 'ref', not 'out', because it is an in-out parameter.
* gtk/Entry.custom: Overload for InsertText.
* gtk/Clipboard.custom: New overload for SetText.
svn path=/trunk/gtk-sharp/; revision=11430
* glib/MainContext.cs: beginning of MainContext class, just
Iteration and Pending methods to be able to refresh Gtk in the
middle of time consuming function where it's not worth while to
use threads
* glue/style.c (gtksharp_gtk_style_get_font_description): new
function to access style's font_description field
* gtk/Style.custom: added font description property
svn path=/trunk/gtk-sharp/; revision=11358
* api/gtk-api.xml:
* sources/Gtk.metadata:
* gtk/Window.custom: Mark out params in gtk_window_get_size and gtk_window_get_default_size.
svn path=/trunk/gtk-sharp/; revision=11268
'RequestSize' instead of 'SizeRequest' to avoid a name clash.
* api/gtk-api.xml:
* sources/Gtk.metadata: out param for gtk_widget_get_size_request.
svn path=/trunk/gtk-sharp/; revision=11046
* makefile: when doing distclean, attempt distclean on all the
C# subdirs too
* gconf/Makefile.in: added distclean target to rm the Makefiles
in the subdirs of gconf/
* glue/Makefile.am: build libgtksharpglue as an unversioned
module to avoid so -> so.0 -> so.0.0 symlink mess
* */Makefile.in: call mkinstalldirs before installing any files
so that subdirs can be installed seperately or in any sequence
(eg binding dirs before native dirs)
svn path=/trunk/gtk-sharp/; revision=9828
* 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
* gtk/Combo.custom: New file.
(Combo.SetPopdownStrings): New method to set the popdown strings
from a string array.
svn path=/trunk/gtk-sharp/; revision=8169
* glue/adjustment.c (gtksharp_gtk_adjustment_get_page_size): Added
the glue.
* gtk/Adjustment.custom: Added some more methods
svn path=/trunk/gtk-sharp/; revision=8110