/usr/share/gtk-sharp3-examples/GtkDemo/DemoDialog.cs is in gtk-sharp3-examples 2.99.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | /* Dialog and Message Boxes
*
* Dialog widgets are used to pop up a transient window for user feedback.
*/
using System;
using Gtk;
namespace GtkDemo
{
[Demo ("Dialog and Message Boxes", "DemoDialog.cs")]
public class DemoDialog : Gtk.Window
{
private Entry entry1;
private Entry entry2;
public DemoDialog () : base ("Dialogs")
{
BorderWidth = 8;
Frame frame = new Frame ("Dialogs");
Add (frame);
VBox vbox = new VBox (false, 8);
vbox.BorderWidth = 8;
frame.Add (vbox);
// Standard message dialog
HBox hbox = new HBox (false,8);
vbox.PackStart (hbox, false, false, 0);
Button button = new Button ("_Message Dialog");
button.Clicked += new EventHandler (MessageDialogClicked);
hbox.PackStart (button, false, false, 0);
vbox.PackStart (new HSeparator(), false, false, 0);
// Interactive dialog
hbox = new HBox (false, 8);
vbox.PackStart (hbox, false, false, 0);
VBox vbox2 = new VBox (false, 0);
button = new Button ("_Interactive Dialog");
button.Clicked += new EventHandler (InteractiveDialogClicked);
hbox.PackStart (vbox2, false, false, 0);
vbox2.PackStart (button, false, false, 0);
Table table = new Table (2, 2, false);
table.RowSpacing = 4;
table.ColumnSpacing = 4;
hbox.PackStart (table, false, false, 0);
Label label = new Label ("_Entry1");
table.Attach (label, 0, 1, 0, 1);
entry1 = new Entry ();
table.Attach (entry1, 1, 2, 0, 1);
label.MnemonicWidget = entry1;
label = new Label ("E_ntry2");
table.Attach (label,0,1,1,2);
entry2 = new Entry ();
table.Attach (entry2, 1, 2, 1, 2);
label.MnemonicWidget = entry2;
ShowAll ();
}
protected override bool OnDeleteEvent (Gdk.Event evt)
{
Destroy ();
return true;
}
private int i = 1;
private void MessageDialogClicked (object o, EventArgs args)
{
using (Dialog dialog = new MessageDialog (this,
DialogFlags.Modal | DialogFlags.DestroyWithParent,
MessageType.Info,
ButtonsType.Ok,
"This message box has been popped up the following\nnumber of times:\n\n {0}",
i)) {
dialog.Run ();
dialog.Hide ();
}
i++;
}
private void InteractiveDialogClicked (object o, EventArgs args)
{
Dialog dialog = new Dialog ("Interactive Dialog", this,
DialogFlags.Modal | DialogFlags.DestroyWithParent,
Gtk.Stock.Ok, ResponseType.Ok,
"_Non-stock Button", ResponseType.Cancel);
HBox hbox = new HBox (false, 8);
hbox.BorderWidth = 8;
dialog.ContentArea.PackStart (hbox, false, false, 0);
Image stock = new Image (Stock.DialogQuestion, IconSize.Dialog);
hbox.PackStart (stock, false, false, 0);
Table table = new Table (2, 2, false);
table.RowSpacing = 4;
table.ColumnSpacing = 4;
hbox.PackStart (table, true, true, 0);
Label label = new Label ("_Entry1");
table.Attach (label, 0, 1, 0, 1);
Entry localEntry1 = new Entry ();
localEntry1.Text = entry1.Text;
table.Attach (localEntry1, 1, 2, 0, 1);
label.MnemonicWidget = localEntry1;
label = new Label ("E_ntry2");
table.Attach (label, 0, 1, 1, 2);
Entry localEntry2 = new Entry ();
localEntry2.Text = entry2.Text;
table.Attach (localEntry2, 1, 2, 1, 2);
label.MnemonicWidget = localEntry2;
hbox.ShowAll ();
ResponseType response = (ResponseType) dialog.Run ();
if (response == ResponseType.Ok) {
entry1.Text = localEntry1.Text;
entry2.Text = localEntry2.Text;
}
dialog.Destroy ();
}
}
}
|