GtkSharp/doc/en/Gtk/Fixed.xml
Dan Winship 9d04b4dd06 Redo child property handling; now we generate classes to hold
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
2004-11-18 20:31:22 +00:00

191 lines
No EOL
9.4 KiB
XML

<Type Name="Fixed" FullName="Gtk.Fixed">
<TypeSignature Language="C#" Value="public class Fixed : Gtk.Container, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="John Luke" />
<AssemblyInfo>
<AssemblyName>gtk-sharp</AssemblyName>
<AssemblyPublicKey>
</AssemblyPublicKey>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyCulture>neutral</AssemblyCulture>
<Attributes />
</AssemblyInfo>
<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Docs>
<summary>A container which allows you to position widgets at fixed coordinates</summary>
<remarks>
<para>The <see cref="T:Gtk.Fixed" /> widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels. <see cref="T:Gtk.Fixed" /> performs no automatic layout management.</para>
<para>For most applications, you should not use this container! It keeps you from having to learn about the other Gtk# containers, but it results in broken applications. With <see cref="T:Gtk.Fixed" />, the following things will result in truncated text, overlapping widgets, and other display bugs:
<list type="bullet">
<item>
<term>Themes, which may change widget sizes.</term>
</item>
<item>
<term>Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using Windows or the framebuffer port of GTK+, where different fonts are available.</term>
</item>
<item>
<term>Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.</term>
</item>
</list></para>
<para>In addition, the fixed widget can not properly be mirrored in right-to-left languages such as Hebrew and Arabic. i.e. normally Gtk# will flip the interface to put labels to the right of the thing they label, but it can not do that with <see cref="T:Gtk.Fixed" />. So your application will not be usable in right-to-left languages.</para>
<para>Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.</para>
<para>If you know none of these things are an issue for your application, and prefer the simplicity of <see cref="T:Gtk.Fixed" />, by all means use the widget. But you should be aware of the tradeoffs.</para>
</remarks>
</Docs>
<Base>
<BaseTypeName>Gtk.Container</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Atk.Implementor</InterfaceName>
</Interface>
<Interface>
<InterfaceName>GLib.IWrapper</InterfaceName>
</Interface>
<Interface>
<InterfaceName>GLib.IWrapper</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes />
<Members>
<Member MemberName="Move">
<MemberSignature Language="C#" Value="public void Move (Gtk.Widget widget, int x, int y);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="widget" Type="Gtk.Widget" />
<Parameter Name="x" Type="System.Int32" />
<Parameter Name="y" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Moves a child of a <see cref="T:Gtk.Fixed" /> container to the given position.</summary>
<param name="widget">an object of type <see cref="T:Gtk.Widget" /></param>
<param name="x">an object of type <see cref="T:System.Int32" /></param>
<param name="y">an object of type <see cref="T:System.Int32" /></param>
<remarks>Moves a child of a <see cref="T:Gtk.Fixed" /> container to the given position.</remarks>
</Docs>
</Member>
<Member MemberName="Put">
<MemberSignature Language="C#" Value="public void Put (Gtk.Widget widget, int x, int y);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="widget" Type="Gtk.Widget" />
<Parameter Name="x" Type="System.Int32" />
<Parameter Name="y" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Adds a widget to a <see cref="T:Gtk.Fixed" /> container at the given position.</summary>
<param name="widget">an object of type <see cref="T:Gtk.Widget" /></param>
<param name="x">an object of type <see cref="T:System.Int32" /></param>
<param name="y">an object of type <see cref="T:System.Int32" /></param>
<remarks>Adds a widget to a <see cref="T:Gtk.Fixed" /> container at the given position.</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="protected override void Finalize ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Disposes the resources associated with the object.</summary>
<remarks />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Fixed (IntPtr raw);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="raw" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Internal constructor</summary>
<param name="raw">Pointer to the C object.</param>
<returns>An instance of Fixed, wrapping the C object.</returns>
<remarks>
<para>This is an internal constructor, and should not be used by user code.</para>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Fixed ();" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>Creates a new <see cref="T:Gtk.Fixed" /> object.</summary>
<returns>an object of type <see cref="T:Gtk.Fixed" /></returns>
<remarks>Creates a new <see cref="T:Gtk.Fixed" /> object.</remarks>
</Docs>
</Member>
<Member MemberName="HasWindow">
<MemberSignature Language="C#" Value="public bool HasWindow { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
</Parameters>
<Docs>
<summary>Determines if <see cref="T:Gtk.Fixed" /> has a seperate <see cref="T:Gdk.Window" /></summary>
<param name="value">an object of type <see cref="T:System.Boolean" /></param>
<returns>an object of type <see cref="T:System.Boolean" /></returns>
<remarks>
<para>Gets whether the <see cref="T:Gtk.Fixed" /> has its own <see cref="T:Gdk.Window" />.</para>
<para>Sets whether a <see cref="T:Gtk.Fixed" /> widget is created with a separate <see cref="T:Gdk.Window" /> or not. (By default, it will be created without a seperate <see cref="T:Gdk.Window" />). This function must be called while the <see cref="T:Gtk.Fixed" /> is not realized, for instance, immediately after the window is created.</para>
</remarks>
</Docs>
</Member>
<Member MemberName="GType">
<MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>GLib.GType</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>GType Property.</summary>
<returns>a <see cref="T:GLib.GType" /></returns>
<remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Fixed" />.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Fixed (GLib.GType gtype);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="gtype" Type="GLib.GType" />
</Parameters>
<Docs>
<summary>Protected Constructor.</summary>
<param name="gtype">a <see cref="T:GLib.GType" /></param>
<returns>a <see cref="T:Gtk.Fixed" /></returns>
<remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
</Docs>
</Member>
<Member MemberName="Item">
<MemberSignature Language="C#" Value="public override Gtk.Container+ContainerChild Item { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gtk.Container+ContainerChild</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="child" Type="Gtk.Widget" />
</Parameters>
<Docs>
<summary>Accessor for child property items</summary>
<param name="child">a child of this <see cref="T:Gtk.Fixed" /></param>
<returns>a <see cref="T:Gtk.Container+ContainerChild" /></returns>
<remarks>You can cast the returned object to <see cref="T:Gtk.Fixed+FixedChild" /> to access its child properties.</remarks>
</Docs>
</Member>
</Members>
</Type>