GtkSharp/doc/en/Gtk/Dialog.xml

383 lines
18 KiB
XML
Raw Normal View History

<Type Name="Dialog" FullName="Gtk.Dialog">
<TypeSignature Language="C#" Value="public class Dialog : Gtk.Window, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="Duncan Mak" />
<AssemblyInfo>
<AssemblyName>gtk-sharp</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<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>Creates popup windows.</summary>
<remarks>
<para><see cref="T:Gtk.Dialog"/> boxes are a convenient way to prompt the user for a small amount of input, eg. to display a message, ask a question, or anything else that does not require extensive effort by the user.</para>
<para>Gtk# treats a dialog as a window split vertically. The top section is a <see cref="T:Gtk.VBox" />, and is where widgets such as a <see cref="T:Gtk.Label" /> or an <see cref="T:Gtk.Entry" /> should be packed. The bottom area is known as the <see cref="P:Gtk.Dialog.ActionArea" />. This is generally used for packing buttons into the dialog which may perform functions such as cancel, ok, or apply. The two areas are separated by a <see cref="T:Gtk.HSeparator" />.</para>
<para>The two primary areas of a dialog can be accessed as the <see cref="P:Gtk.Dialog.Vbox" /> property and the <see cref="P:Gtk.Dialog.ActionArea" /> property. To set the dialog to be modal, use the <see cref="P:Gtk.Window.Modal" /> property.</para>
<para>If you want to block waiting for a dialog to return before returning control flow to your code, you can call <see cref="M:Gtk.Dialog.Run" />. This function enters a recursive main loop and waits for the user to respond to the dialog, returning the <see cref="T:Gtk.ResponseType"/> corresponding to the <see cref="T:Gtk.Button"/> the user clicked.</para>
<para>For a simple dialog, you would probably use <see cref="T:Gtk.MessageDialog" /> to save yourself some effort. However, you would need to create the <see cref="T:Gtk.Dialog"/> contents manually if you had more than a simple message in the <see cref="T:Gtk.Dialog"/>.</para>
<example>
<code lang="C#">
using System;
using Gtk;
using GtkSharp;
namespace GtkDialogSample
{
public class GtkDialogSample
{
Dialog dialog;
Window win;
static void Main()
{
new GtkDialogSample ();
}
GtkDialogSample ()
{
Application.Init ();
win = new Window ("Test");
win.SetDefaultSize (250, 250);
win.DeleteEvent += new DeleteEventHandler (on_win_delete);
Button btn = new Button ("Show About");
btn.Clicked += new EventHandler (on_btn_clicked);
win.Add (btn);
win.ShowAll ();
Application.Run ();
}
void on_btn_clicked (object obj, EventArgs args)
{
dialog = new Dialog
("Sample", win, Gtk.DialogFlags.DestroyWithParent);
dialog.Modal = true;
dialog.AddButton ("Close", 5);
dialog.Response += new ResponseHandler (on_dialog_response);
dialog.Run ();
dialog.Destroy ();
}
void on_dialog_response (object obj, ResponseArgs args)
{
Console.WriteLine (args.ResponseId);
}
void on_win_delete (object obj, DeleteEventArgs args)
{
Application.Quit ();
}
}
}
</code>
</example>
</remarks>
</Docs>
<Base>
<BaseTypeName>Gtk.Window</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="AddActionWidget">
<MemberSignature Language="C#" Value="public void AddActionWidget (Gtk.Widget child, int response_id);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="child" Type="Gtk.Widget" />
<Parameter Name="response_id" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Adds an activatable widget to the <see cref="T:Gtk.Dialog.ActionArea"/> of a <see cref="T:Gtk.Dialog"/>.</summary>
<param name="child">an object of type <see cref="T:Gtk.Widget"/>.</param>
<param name="response_id">an object of type <see cref="T:System.UInt32"/>.</param>
<remarks>
Adds an activatable <see cref="T:Gtk.Widget"/> to the <see cref="T:Gtk.Dialog.ActionArea"/> of a <see cref="T:Gtk.Dialog"/>, connecting a signal handler that will <see cref="E:Gtk.Dialog.Response"/> on the <see cref="T:Gtk.Dialog"/> when the <see cref="T:Gtk.Widget"/> is activated.
The <see cref="T:Gtk.Widget"/> is appended to the end of the <see cref="T:Gtk.Dialog.ActionArea"/>. If you want to add a non-activatable <see cref="T:Gtk.Widget"/>, simply pack it into the <see cref="T:Gtk.Dialog.ActionArea"/> field of the <see cref="T:Gtk.Dialog"/>.
</remarks>
</Docs>
</Member>
<Member MemberName="Run">
<MemberSignature Language="C#" Value="public int Run ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Waits for the <see cref="E:Gtk.Dialog.Response"/> event or the <see cref="T:Gtk.Dialog"/> to be detroyed.</summary>
<returns>an object of type <see cref="T:System.UInt32"/>.</returns>
<remarks>
<para>
Waits for the <see cref="E:Gtk.Dialog.Response"/> event or the <see cref="T:Gtk.Dialog"/> to be destroyed.
If the <see cref="T:Gtk.Dialog"/> is destroyed during the call to <see cref="M:Gtk.Dialog.Run()"/>, <see cref="T:Gtk.Dialog"/> returns <see cref="F:Gtk.ResponseType.None"/>.
Otherwise, it returns the response ID from the <see cref="E:Gtk.Dialog.Response"/> event.
Before entering the recursive main loop, <see cref="M:Gtk.Dialog.Run()"/> calls <see cref="M:Gtk.Widget.Show()"/> on the <see cref="T:Gtk.Dialog"/> for you.
Note that you still need to show any children of the <see cref="T:Gtk.Dialog"/> yourself.
</para>
<para>
During <see cref="M:Gtk.Dialog.Run()"/>, the default behavior of <see cref="E:Gtk.Window.DeleteEvent"/> is disabled;
if the <see cref="T:Gtk.Dialog"/> receives <see cref="E:Gtk.Window.DeleteEvent"/>, it will not be destroyed as usual, and <see cref="M:Gtk.Dialog.Run()"/> will return <see cref="F:Gtk.ResponseType.DeleteEvent"/>.
Also, during <see cref="M:Gtk.Dialog.Run()"/> the <see cref="T:Gtk.Dialog"/> will be modal.
You can force <see cref="M:Gtk.Dialog.Run()"/> to return at any time by calling <see cref="M:Gtk.Dialog.Respond"/> to emit the <see cref="E:Gtk.Dialog.Response"/> event.
Destroying the <see cref="T:Gtk.Dialog"/> during <see cref="M:Gtk.Dialog.Run()"/> is a very bad idea, because your post-run code will not know whether the <see cref="T:Gtk.Dialog"/> was destroyed or not.
</para>
<para>
After <see cref="M:Gtk.Dialog.Run()"/> returns, you are responsible for hiding or destroying the <see cref="T:Gtk.Dialog"/> if you wish to do so.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="Respond">
<MemberSignature Language="C#" Value="public void Respond (int response_id);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="response_id" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Emits the <see cref="E:Gtk.Dialog.Response"/> event with the given response ID.</summary>
<param name="response_id">an object of type <see cref="T:System.UInt32"/>.</param>
<remarks>
Emits the <see cref="E:Gtk.Dialog.Response"/> event with the given response ID.
Used to indicate that the user has responded to the <see cref="T:Gtk.Dialog"/> in some way;
typically either you or <see cref="M:Gtk.Dialog.Run()"/> will be monitoring the <see cref="E:Gtk.Dialog.Response"/> event and take appropriate action.
</remarks>
</Docs>
</Member>
<Member MemberName="AddButton">
<MemberSignature Language="C#" Value="public Gtk.Widget AddButton (string button_text, int response_id);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>Gtk.Widget</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="button_text" Type="System.String" />
<Parameter Name="response_id" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Adds a <see cref="T:Gtk.Button"/> with the given text.</summary>
<param name="button_text">an object of type <see cref="T:System.String"/>.</param>
<param name="response_id">an object of type <see cref="T:System.UInt32"/>.</param>
<returns>an object of type <see cref="T:Gtk.Widget"/></returns>
<remarks>
Adds a <see cref="T:Gtk.Button"/> with the given text (or a stock button, if button_text is a stock ID)
and sets things up so that clicking the <see cref="T:Gtk.Button"/> will emit a <see cref="E:Gtk.Dialog.Response"/> with the given response_id.
The <see cref="T:Gtk.Button"/> is appended to the end of the <see cref="T:Gtk.Dialog.ActionArea"/>.
The <see cref="T:Gtk.Button"/> is returned, but usually you do not need it.
</remarks>
</Docs>
</Member>
<Member MemberName="SetResponseSensitive">
<MemberSignature Language="C#" Value="public void SetResponseSensitive (int response_id, bool setting);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="response_id" Type="System.Int32" />
<Parameter Name="setting" Type="System.Boolean" />
</Parameters>
<Docs>
<summary>A convenient way to sensitize/desensitize dialog buttons.</summary>
<param name="response_id">an object of type <see cref="T:System.UInt32"/>.</param>
<param name="setting">an object of type <see cref="T:System.Boolean"/>.</param>
<remarks>
Calls <see cref="M:Gtk.Widget.SetSensitive(System.Int32,System.Boolean)"/> for each widget in the <see cref="P:Gtk.Dialog.ActionArea"/> with the given response_id.
A convenient way to sensitize/desensitize dialog buttons.
</remarks>
</Docs>
</Member>
<Member MemberName="Finalize">
<MemberSignature Language="C#" Value="protected virtual 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 Dialog (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 Dialog, 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 Dialog ();" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>Creates a new dialog box.</summary>
<returns>an object of type <see cref="T:Gtk.Dialog"/>.</returns>
<remarks>
Creates a new dialog box.
This is an internal constructor, and should not be used by user code.
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public Dialog (string title, Gtk.Window parent, Gtk.DialogFlags flags);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="title" Type="System.String" />
<Parameter Name="parent" Type="Gtk.Window" />
<Parameter Name="flags" Type="Gtk.DialogFlags" />
</Parameters>
<Docs>
<summary>Creates a new dialog box.</summary>
<param name="title">an object of type <see cref="T:System.String"/>.</param>
<param name="parent">an object of type <see cref="T:Gtk.Window"/>.</param>
<param name="flags">an object of type <see cref="T:Gtk.DialogFlags"/>.</param>
<returns>an object of type <see cref="T:Gtk.Dialog"/>.</returns>
<remarks>
Creates a new <see cref="T:Gtk.Dialog"/> with the specified title and parent widget.
The <see cref="T:Gtk.DialogFlags"/> argument can be used to make the dialog modal (<see cref="F:Gtk.DialogFlags.Modal"/>)
and/or to have it destroyed along with its parent (<see cref="F:Gtk.DialogFlags.DestroyWithParent"/>).
</remarks>
</Docs>
</Member>
<Member MemberName="GType">
<MemberSignature Language="C#" Value="public static uint GType { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.UInt32</ReturnType>
</ReturnValue>
<Docs>
<summary>The <see cref="T:GLib.Type"/> for <see cref="T:Gtk.Dialog"/>.</summary>
<returns>The <see cref="T:GLib.Type"/> for the <see cref="T:Gtk.Dialog"/> class.</returns>
<remarks />
</Docs>
</Member>
<Member MemberName="ActionArea">
<MemberSignature Language="C#" Value="public Gtk.VBox ActionArea { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gtk.VBox</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added</summary>
<returns>an object of type <see cref="T:Gtk.VBox"/></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="VBox">
<MemberSignature Language="C#" Value="public Gtk.VBox VBox { get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>Gtk.VBox</ReturnType>
</ReturnValue>
<Docs>
<summary>To be added</summary>
<returns>an object of type <see cref="T:Gtk.VBox"/>.</returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="DefaultResponse">
<MemberSignature Language="C#" Value="public int DefaultResponse { set; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Int32" />
</Parameters>
<Docs>
<summary>Sets the default response_id.</summary>
<param name="value">an object of type <see cref="T:System.Int32"/></param>
<returns>an object of type <see cref="T:System.Int32"/></returns>
<remarks>Sets the default response_id.</remarks>
</Docs>
</Member>
<Member MemberName="HasSeparator">
<MemberSignature Language="C#" Value="public bool HasSeparator { set; get; };" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Boolean" />
</Parameters>
<Docs>
<summary>Whether to display a <see cref="T:Gtk.HSeperator"/>.</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>Whether to display a <see cref="T:Gtk.HSeperator"/> in the <see cref="T:Gtk.Dialog"/> above the <see cref="P:Gtk.Dialog.ActionArea"/></remarks>
</Docs>
</Member>
<Member MemberName="Response">
<MemberSignature Language="C#" Value="public event GtkSharp.ResponseHandler Response;" />
<MemberType>Event</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>To be added</summary>
<remarks>
Emitted when an action widget is clicked, the <see cref="T:Gtk.Dialog"/>
receives a delete event, or the application programmer calls <see cref="M:Gtk.Dialog.Respond()"/>.
On a delete event, the response ID is <see cref="F:Gtk.ResponseType.None"/>.
Otherwise, it depends on which action widget was clicked.
</remarks>
</Docs>
</Member>
<Member MemberName="Close">
<MemberSignature Language="C#" Value="public event EventHandler Close;" />
<MemberType>Event</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>To be added</summary>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected Dialog (GLib.Type gtype);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="gtype" Type="GLib.Type" />
</Parameters>
<Docs>
<summary>Internal constructor</summary>
<param name="gtype">GLib type for the type</param>
<returns>Creates a new instance of Dialog, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <see cref="T:Gtk.Dialog" /> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>
</remarks>
</Docs>
</Member>
</Members>
</Type>