df41dcc177
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
57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
// GtkSharp.Generation.ChildProperty.cs - GtkContainer child properties
|
|
//
|
|
// Copyright (c) 2004 Novell, Inc.
|
|
//
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of version 2 of the GNU General Public
|
|
// License as published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
// General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public
|
|
// License along with this program; if not, write to the
|
|
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
// Boston, MA 02111-1307, USA.
|
|
|
|
|
|
namespace GtkSharp.Generation {
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using System.Xml;
|
|
|
|
public class ChildProperty : Property {
|
|
|
|
public ChildProperty (XmlElement elem, ClassBase container_type) : base (elem, container_type) {}
|
|
|
|
protected override string PropertyHeader (ref string indent, string modifiers, string cs_type, string name) {
|
|
return "";
|
|
}
|
|
|
|
protected override string GetterHeader (string modifiers, string cs_type, string name) {
|
|
return "public " + modifiers + cs_type + " Get" + name + " (Widget w)";
|
|
}
|
|
|
|
protected override string RawGetter (string cname) {
|
|
return "ChildGetProperty (w, " + cname + ")";
|
|
}
|
|
|
|
protected override string SetterHeader (string modifiers, string cs_type, string name) {
|
|
return "public " + modifiers + "void Set" + name + " (Widget w, " + cs_type + " value)";
|
|
}
|
|
|
|
protected override string RawSetter (string cname) {
|
|
return "ChildSetProperty(w, " + cname + ", val)";
|
|
}
|
|
|
|
protected override string PropertyFooter (string indent) {
|
|
return "";
|
|
}
|
|
|
|
}
|
|
}
|
|
|