/// <summary>Crea una instancia de la clase.</summary> /// <param name="parent">La ventana padre de este diálogo.</param> private DialogoConfiguracion(Gtk.Window parent) : base("", parent, Gtk.DialogFlags.DestroyWithParent) { Title = Ventana.GetText("DialogoConfiguracion_Title"); TransientFor = parent; Modal = true; Resizable = false; DeleteEvent += new DeleteEventHandler(Ventana.OcultarVentana); Resize(300, 300); BorderWidth = 10; HasSeparator = true; VBox.Add(this.CrearNotebook()); ActionArea.Add(this.CrearPanelInferior()); }
private void Build() { var hbox = new HBox(); hbox.Spacing = 6; hbox.BorderWidth = 12; var error_icon = new Image(); error_icon.Pixbuf = PintaCore.Resources.GetIcon(Stock.DialogError, 32); error_icon.Yalign = 0; hbox.PackStart(error_icon, false, false, 0); var vbox = new VBox(); vbox.Spacing = 6; description_label = new Label(); description_label.Wrap = true; description_label.Xalign = 0; vbox.PackStart(description_label, false, false, 0); expander = new Expander(Catalog.GetString("Details")); details_text = new TextView(); var scroll = new ScrolledWindow(); scroll.Add(details_text); scroll.HeightRequest = 250; expander.Add(scroll); vbox.Add(expander); hbox.Add(vbox); this.VBox.Add(hbox); bug_report_button = new Button(Catalog.GetString("Report Bug....")); bug_report_button.CanFocus = false; ActionArea.Add(bug_report_button); var ok_button = new Button(Gtk.Stock.Ok); ok_button.CanDefault = true; AddActionWidget(ok_button, ResponseType.Ok); DefaultWidth = 600; DefaultHeight = 142; ShowAll(); }
public TouchDialog(string msg, Window parent, string[] buttons) : base(string.Empty, parent, DialogFlags.DestroyWithParent) { ModifyBg(StateType.Normal, TouchColor.NewGtkColor("grey0")); KeepAbove = true; #if RPI_BUILD Decorated = false; ExposeEvent += (o, args) => { using (Context cr = Gdk.CairoHelper.Create(GdkWindow)) { cr.MoveTo(Allocation.Left, Allocation.Top); cr.LineTo(Allocation.Right, Allocation.Top); cr.LineTo(Allocation.Right, Allocation.Bottom); cr.LineTo(Allocation.Left, Allocation.Bottom); cr.ClosePath(); cr.LineWidth = 1.8; TouchColor.SetSource(cr, "grey4"); cr.Stroke(); } }; #endif foreach (var button in buttons) { try { var response = (ResponseType)Enum.Parse(typeof(ResponseType), button); var btn = new TouchButton(); btn.text = button; btn.HeightRequest = 30; btn.ButtonReleaseEvent += (o, args) => Respond(response); ActionArea.Add(btn); } catch { // } } var label = new Label(); label.LineWrap = true; label.Text = msg; label.ModifyFg(StateType.Normal, TouchColor.NewGtkColor("white")); label.ModifyFont(Pango.FontDescription.FromString("Sans 11")); VBox.Add(label); label.Show(); }
public LogViewerDialog(TextBuffer buffer) : base() { this.Title = Mono.Unix.Catalog.GetString("MonoVS Log Viewer"); this.Icon = new Pixbuf(Assembly.GetExecutingAssembly(), "monotools.png"); this.SetDefaultSize(750, 350); view = new TextView(buffer); view.Editable = false; view.CursorVisible = true; view.Buffer.Changed += OnTextChanged; ScrolledWindow sw = new ScrolledWindow(); sw.HscrollbarPolicy = PolicyType.Automatic; sw.VscrollbarPolicy = PolicyType.Automatic; sw.ShadowType = ShadowType.In; sw.BorderWidth = 6; sw.Add(view); VBox.PackStart(sw); Button button_clear = new Gtk.Button(); button_clear.CanDefault = true; button_clear.CanFocus = true; button_clear.Name = "buttonOk"; button_clear.UseStock = true; button_clear.UseUnderline = true; button_clear.Label = "gtk-clear"; button_clear.Clicked += new System.EventHandler(OnButtonClearClicked); ActionArea.Add(button_clear); Button button_close = new Gtk.Button(); button_close.CanDefault = true; button_close.CanFocus = true; button_close.Name = "buttonOk"; button_close.UseStock = true; button_close.UseUnderline = true; button_close.Label = "gtk-close"; AddActionWidget(button_close, ResponseType.Close); this.ShowAll(); }
// FIXME: The total parameter makes sense, but doesn't seem to ever be used? public ThreadProgressDialog(Thread thread, int total) { /* * if (parent_window) * this.TransientFor = parent_window; * */ Title = thread.Name; this.thread = thread; HasSeparator = false; BorderWidth = 6; SetDefaultSize(300, -1); message_label = new Gtk.Label(string.Empty); VBox.PackStart(message_label, true, true, 12); progress_bar = new Gtk.ProgressBar(); VBox.PackStart(progress_bar, true, true, 6); retry_button = new Gtk.Button(Catalog.GetString("Retry")); retry_button.Clicked += HandleRetryClicked; skip_button = new Gtk.Button(Catalog.GetString("Skip")); skip_button.Clicked += HandleSkipClicked; ActionArea.Add(retry_button); ActionArea.Add(skip_button); button_label = Gtk.Stock.Cancel; button = (Gtk.Button)AddButton(button_label, (int)Gtk.ResponseType.Cancel); //delay = new DelayedOperation (new GLib.IdleHandler (HandleUpdate)); Response += HandleResponse; Destroyed += HandleDestroy; }
public AlertDialog(MessageDescription message) { Init(); this.buttons = message.buttons.ToArray(); string primaryText; string secondaryText; if (string.IsNullOrEmpty(message.SecondaryText)) { secondaryText = message.Text; primaryText = null; } else { primaryText = message.Text; secondaryText = message.SecondaryText; } image.Pixbuf = ImageService.GetPixbuf(message.Icon, IconSize.Dialog); StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">"); markup.Append(GLib.Markup.EscapeText(primaryText)); markup.Append("</span>"); if (!String.IsNullOrEmpty(secondaryText)) { if (!String.IsNullOrEmpty(primaryText)) { markup.AppendLine(); markup.AppendLine(); } markup.Append(GLib.Markup.EscapeText(secondaryText)); } label.Markup = markup.ToString(); label.Selectable = true; foreach (AlertButton button in message.buttons) { Button newButton = new Button(); newButton.Label = button.Label; newButton.UseUnderline = true; newButton.UseStock = button.IsStockButton; if (!String.IsNullOrEmpty(button.Icon)) { newButton.Image = new Image(button.Icon, IconSize.Button); } newButton.Clicked += ButtonClicked; ActionArea.Add(newButton); } foreach (MessageDescription.Option op in message.Options) { CheckButton check = new CheckButton(op.Text); check.Active = op.Value; labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { message.SetOptionValue(op.Id, check.Active); }; } if (message.AllowApplyToAll) { CheckButton check = new CheckButton(GettextCatalog.GetString("Apply to all")); labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { ApplyToAll = check.Active; }; } this.ShowAll(); }
public GtkAlertDialog(MessageDescription message) { Init(); this.buttons = message.Buttons.ToArray(); this.message = message; Modal = true; string primaryText; string secondaryText; if (string.IsNullOrEmpty(message.SecondaryText)) { secondaryText = message.Text; primaryText = null; } else { primaryText = message.Text; secondaryText = message.SecondaryText; } if (!message.UseMarkup) { primaryText = GLib.Markup.EscapeText(primaryText); secondaryText = GLib.Markup.EscapeText(secondaryText); } if (!string.IsNullOrEmpty(message.Icon)) { image = new ImageView(); image.Yalign = 0.00f; image.Image = ImageService.GetIcon(message.Icon, IconSize.Dialog); hbox.PackStart(image, false, false, 0); hbox.ReorderChild(image, 0); } StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">"); markup.Append(primaryText); markup.Append("</span>"); if (!String.IsNullOrEmpty(secondaryText)) { if (!String.IsNullOrEmpty(primaryText)) { markup.AppendLine(); markup.AppendLine(); } markup.Append(secondaryText); } label.Markup = markup.ToString(); label.Selectable = true; label.CanFocus = false; foreach (AlertButton button in message.Buttons) { Button newButton = new Button(); newButton.Label = button.Label; newButton.UseUnderline = true; newButton.UseStock = button.IsStockButton; if (!String.IsNullOrEmpty(button.Icon)) { newButton.Image = new ImageView(button.Icon, IconSize.Button); } newButton.Clicked += ButtonClicked; ActionArea.Add(newButton); } foreach (var op in message.Options) { CheckButton check = new CheckButton(op.Text); check.Active = op.Value; labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { message.SetOptionValue(op.Id, check.Active); }; } if (message.AllowApplyToAll) { CheckButton check = new CheckButton(GettextCatalog.GetString("Apply to all")); labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { ApplyToAll = check.Active; }; } //don't show this yet, let the consumer decide when this.Child.ShowAll(); }
public GtkAlertDialog(MessageDescription message) { Init(); this.buttons = message.Buttons.ToArray(); string primaryText; string secondaryText; if (string.IsNullOrEmpty(message.SecondaryText)) { secondaryText = message.Text; primaryText = null; } else { primaryText = message.Text; secondaryText = message.SecondaryText; } image.SetFromStock(Util.ToGtkStock(message.Icon), Gtk.IconSize.Dialog); StringBuilder markup = new StringBuilder(@"<span weight=""bold"" size=""larger"">"); markup.Append(GLib.Markup.EscapeText(primaryText)); markup.Append("</span>"); if (!String.IsNullOrEmpty(secondaryText)) { if (!String.IsNullOrEmpty(primaryText)) { markup.AppendLine(); markup.AppendLine(); } markup.Append(GLib.Markup.EscapeText(secondaryText)); } label.Markup = markup.ToString(); label.Selectable = true; label.CanFocus = false; foreach (Command button in message.Buttons) { Gtk.Button newButton = new Gtk.Button(); newButton.Label = button.Label; newButton.UseUnderline = true; newButton.UseStock = button.IsStockButton; if (!String.IsNullOrEmpty(button.Icon)) { newButton.Image = new Gtk.Image(Util.ToGtkStock(button.Icon), Gtk.IconSize.Button); } newButton.Clicked += ButtonClicked; ActionArea.Add(newButton); } foreach (var op in message.Options) { CheckButton check = new CheckButton(op.Text); check.Active = op.Value; labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { message.SetOptionValue(op.Id, check.Active); }; } if (message.AllowApplyToAll) { CheckButton check = new CheckButton("Apply to all"); labelsBox.PackStart(check, false, false, 0); check.Toggled += delegate { ApplyToAll = check.Active; }; } //don't show this yet, let the consumer decide when this.Child.ShowAll(); }
private void Build() { _type = new ComboBox(_options); _type.Changed += OnProviderChange; _userLabel = new Label("Username"); _username = new Entry(); _username.Changed += OnTextChange; _passLabel = new Label("Password"); _password = new Entry() { Visibility = false }; _password.Changed += OnTextChange; _defAnimeCheck = new CheckButton("Use this account for managing anime") { Name = "defAnime", Sensitive = false }; _defAnimeCheck.Toggled += OnToggle; _defMangaCheck = new CheckButton("Use this account for managing manga") { Name = "defManga", Sensitive = false }; _defMangaCheck.Toggled += OnToggle; _okButton = new Button("OK"); _okButton.SetSizeRequest(70, 30); _okButton.CanDefault = true; _okButton.Clicked += OnOkButton; _okButton.Sensitive = false; _cancelButton = new Button("Cancel"); _cancelButton.SetSizeRequest(70, 30); _cancelButton.Clicked += delegate { Respond(ResponseType.Cancel); }; var hb1 = new HBox(); hb1.PackStart(_userLabel, false, false, 7); hb1.Add(_username); VBox.Add(hb1); var hb2 = new HBox(); hb2.PackStart(_passLabel, false, true, 7); hb2.Add(_password); VBox.Add(hb2); var bb = new VButtonBox { _defAnimeCheck, _defMangaCheck }; VBox.Add(bb); var hb3 = new HBox(); hb3.PackStart(new Label("Type"), false, false, 7); hb3.Add(_type); VBox.Add(hb3); ActionArea.Add(_okButton); _okButton.GrabDefault(); // Activates when you hit enter ActionArea.Add(_cancelButton); ShowAll(); }