GtkSharp/sample/test/TestDialog.cs

71 lines
1.7 KiB
C#
Raw Normal View History

using System;
using Gtk;
using GtkSharp;
namespace WidgetViewer {
public class TestDialog
{
static Dialog window = null;
static Label label = null;
public static Gtk.Window Create ()
{
window = new Dialog ();
window.Response += new EventHandler (Print_Response);
window.Title = "GtkDialog";
Button button = new ToggleButton ("OK");
button.Clicked += new EventHandler (Close_Button);
button.CanDefault = true;
window.ActionArea.PackStart (button, true, true, 0);
button.GrabDefault ();
ToggleButton toggle_button = new ToggleButton ("Toggle Label");
toggle_button.Clicked += new EventHandler (Label_Toggle);
window.ActionArea.PackStart (toggle_button, true, true, 0);
toggle_button = new ToggleButton ("Toggle Separator");
button.Clicked += new EventHandler (Separator_Toggle);
window.ActionArea.PackStart (toggle_button, true, true, 0);
window.ShowAll ();
return window;
}
static void Close_Button (object o, EventArgs args)
{
SignalArgs sa = (SignalArgs) args;
window.Destroy ();
sa.RetVal = true;
}
static void Print_Response (object o, EventArgs args)
{
SignalArgs sa = (SignalArgs) args;
Console.WriteLine ("Received response signal: " + sa.Args [1]);
sa.RetVal = true;
}
static void Label_Toggle (object o, EventArgs args)
{
if (label == null) {
Console.WriteLine ("Null label");
label = new Label ("Text label");
label.SetPadding (10, 10);
window.VBox.PackStart (label, true, true, 0);
label.Show ();
} else {
label.Destroy ();
label = null;
}
}
static void Separator_Toggle (object o, EventArgs args)
{
window.HasSeparator = ((ToggleButton) o).Active;
}
}
}