/// <summary> /// Fills the combo box entry. /// </summary> /// <param name='combo'> /// Combo. /// </param> /// <param name='items'> /// Items. /// </param> /// <param name='currentValue'> /// Current value. /// </param> /// <param name='editable'> /// Editable. /// </param> public static void FillComboBoxEntry(Gtk.ComboBoxEntry combo, List <string> items, string currentValue, bool isDecimal, bool editable) { combo.Model = new ListStore(typeof(string)); var resultItems = new List <string>(); if (editable) { // searching for value var present = false; foreach (var value in items) { if ( (isDecimal && (SupportMethods.ToDecimal(value) == SupportMethods.ToDecimal(currentValue))) || (!isDecimal && (value == currentValue)) ) { present = true; break; } } // adding missing to first pos if (!present) { resultItems.Add(currentValue); } foreach (var value in items) { resultItems.Add(value); } } else { resultItems.Add(currentValue); } var index = 0; foreach (var value in resultItems) { combo.AppendText(value); if ( (isDecimal && (SupportMethods.ToDecimal(value) == SupportMethods.ToDecimal(currentValue))) || (!isDecimal && (value == currentValue)) ) { combo.Active = index; } index++; } }
// public void Initialize(EditSession session) { prop = session.Property; ICollection valuesCollection = prop.Converter.GetStandardValues(); values = new TraceLab.Core.Components.EnumValue[valuesCollection.Count]; valuesCollection.CopyTo(values, 0); //values = System.Enum.GetValues (prop.PropertyType); Hashtable names = new Hashtable(); foreach (FieldInfo f in prop.PropertyType.GetFields()) { DescriptionAttribute att = (DescriptionAttribute)Attribute.GetCustomAttribute(f, typeof(DescriptionAttribute)); if (att != null) { names [f.Name] = att.Description; } else { names [f.Name] = f.Name; } } ebox = new Gtk.EventBox(); ebox.Show(); PackStart(ebox, true, true, 0); combo = Gtk.ComboBoxEntry.NewText(); combo.Changed += combo_Changed; combo.Entry.IsEditable = false; combo.Entry.CanFocus = false; combo.Entry.HasFrame = false; combo.Entry.HeightRequest = combo.SizeRequest().Height; combo.Show(); ebox.Add(combo); foreach (TraceLab.Core.Components.EnumValue value in values) { string str = prop.Converter.ConvertToString(value); if (names.Contains(str)) { str = (string)names [str]; } combo.AppendText(str); } }
public void Initialize (EditSession session) { values = DeployService.GetDeployDirectoryInfo (); ebox = new Gtk.EventBox (); ebox.Show (); PackStart (ebox, true, true, 0); combo = Gtk.ComboBoxEntry.NewText (); combo.Changed += combo_Changed; combo.Entry.IsEditable = false; combo.Entry.HasFrame = false; combo.Entry.HeightRequest = combo.SizeRequest ().Height; combo.Show (); ebox.Add (combo); foreach (DeployDirectoryInfo value in values) { combo.AppendText (value.Description); } }
public void Initialize(EditSession session) { values = DeployService.GetDeployDirectoryInfo(); ebox = new Gtk.EventBox(); ebox.Show(); PackStart(ebox, true, true, 0); combo = Gtk.ComboBoxEntry.NewText(); combo.Changed += combo_Changed; combo.Entry.IsEditable = false; combo.Entry.HasFrame = false; combo.Entry.HeightRequest = combo.SizeRequest().Height; combo.Show(); ebox.Add(combo); foreach (DeployDirectoryInfo value in values) { combo.AppendText(value.Description); } }
public static void FillComboBoxEntry(Gtk.ComboBoxEntry combo, Dictionary <decimal, string> items, decimal currentValue, bool editable) { combo.Model = new ListStore(typeof(string)); var resultItems = new Dictionary <decimal, string>(); if (editable) { // adding missing to first pos if (!items.ContainsKey(currentValue)) { resultItems.Add(currentValue, currentValue.ToString()); } foreach (var kvp in items) { resultItems.Add(kvp.Key, kvp.Value); } } else { resultItems.Add(currentValue, currentValue.ToString()); } var index = 0; foreach (var kvp in resultItems) { combo.AppendText(kvp.Value); if (kvp.Key == currentValue) { combo.Active = index; } index++; } }
// public void Initialize (EditSession session) { prop = session.Property; ICollection valuesCollection = prop.Converter.GetStandardValues(); values = new TraceLab.Core.Components.EnumValue[valuesCollection.Count]; valuesCollection.CopyTo(values, 0); //values = System.Enum.GetValues (prop.PropertyType); Hashtable names = new Hashtable (); foreach (FieldInfo f in prop.PropertyType.GetFields ()) { DescriptionAttribute att = (DescriptionAttribute) Attribute.GetCustomAttribute (f, typeof(DescriptionAttribute)); if (att != null) names [f.Name] = att.Description; else names [f.Name] = f.Name; } ebox = new Gtk.EventBox (); ebox.Show (); PackStart (ebox, true, true, 0); combo = Gtk.ComboBoxEntry.NewText (); combo.Changed += combo_Changed; combo.Entry.IsEditable = false; combo.Entry.CanFocus = false; combo.Entry.HasFrame = false; combo.Entry.HeightRequest = combo.SizeRequest ().Height; combo.Show (); ebox.Add (combo); foreach (TraceLab.Core.Components.EnumValue value in values) { string str = prop.Converter.ConvertToString (value); if (names.Contains (str)) str = (string) names [str]; combo.AppendText (str); } }
protected NoteRecentChanges (NoteManager manager) : base (Catalog.GetString ("Search All Notes")) { this.manager = manager; this.IconName = "tomboy"; this.DefaultWidth = 450; this.DefaultHeight = 400; this.current_matches = new Dictionary<string, int> (); this.Resizable = true; selected_tags = new Dictionary<Tag, Tag> (); AddAccelGroup (Tomboy.ActionManager.UI.AccelGroup); menu_bar = CreateMenuBar (); Gtk.Label label = new Gtk.Label (Catalog.GetString ("_Search:")); label.Xalign = 0.0f; find_combo = Gtk.ComboBoxEntry.NewText (); label.MnemonicWidget = find_combo; find_combo.Changed += OnEntryChanged; find_combo.Entry.ActivatesDefault = false; find_combo.Entry.Activated += OnEntryActivated; find_combo.Entry.FocusInEvent += OnEntryFocusIn; if (previous_searches != null) { foreach (string prev in previous_searches) { find_combo.AppendText (prev); } } clear_search_button = new Gtk.Button (new Gtk.Image (Gtk.Stock.Clear, Gtk.IconSize.Menu)); clear_search_button.Sensitive = false; clear_search_button.Clicked += ClearSearchClicked; clear_search_button.Show (); Gtk.Table table = new Gtk.Table (1, 3, false); table.Attach (label, 0, 1, 0, 1, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill, 0, 0); table.Attach (find_combo, 1, 2, 0, 1, Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill, Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill, 0, 0); table.Attach (clear_search_button, 2, 3, 0, 1, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill, 0, 0); table.ColumnSpacing = 4; table.ShowAll (); Gtk.HBox hbox = new Gtk.HBox (false, 0); hbox.PackStart (table, true, true, 0); hbox.ShowAll (); // Notebooks Pane Gtk.Widget notebooksPane = MakeNotebooksPane (); notebooksPane.Show (); MakeRecentTree (); tree.Show (); status_bar = new Gtk.Statusbar (); status_bar.HasResizeGrip = true; status_bar.Show (); // Update on changes to notes manager.NoteDeleted += OnNotesDeleted; manager.NoteAdded += OnNotesChanged; manager.NoteRenamed += OnNoteRenamed; manager.NoteSaved += OnNoteSaved; // List all the current notes UpdateResults (); matches_window = new Gtk.ScrolledWindow (); matches_window.ShadowType = Gtk.ShadowType.In; matches_window.HscrollbarPolicy = Gtk.PolicyType.Automatic; matches_window.VscrollbarPolicy = Gtk.PolicyType.Automatic; matches_window.Add (tree); matches_window.Show (); hpaned = new Gtk.HPaned (); hpaned.Position = 150; hpaned.Add1 (notebooksPane); hpaned.Add2 (matches_window); hpaned.Show (); RestorePosition (); Gtk.VBox vbox = new Gtk.VBox (false, 8); vbox.BorderWidth = 6; vbox.PackStart (hbox, false, false, 4); vbox.PackStart (hpaned, true, true, 0); vbox.PackStart (status_bar, false, false, 0); vbox.Show (); // Use another VBox to place the MenuBar // right at thetop of the window. content_vbox = new Gtk.VBox (false, 0); #if !MAC content_vbox.PackStart (menu_bar, false, false, 0); #endif content_vbox.PackStart (vbox, true, true, 0); content_vbox.Show (); this.Add (content_vbox); this.DeleteEvent += OnDelete; this.KeyPressEvent += OnKeyPressed; // For Escape // Watch when notes are added to notebooks so the search // results will be updated immediately instead of waiting // until the note's QueueSave () kicks in. Notebooks.NotebookManager.NoteAddedToNotebook += OnNoteAddedToNotebook; Notebooks.NotebookManager.NoteRemovedFromNotebook += OnNoteRemovedFromNotebook; // Set the focus chain for the top-most containers Bug #512175 Gtk.Widget[] vbox_focus = new Gtk.Widget[2]; vbox_focus[0] = hbox; vbox_focus[1] = hpaned; vbox.FocusChain = vbox_focus; // Set focus chain for sub widgits of first top-most container Gtk.Widget[] table_focus = new Gtk.Widget[2]; table_focus[0] = find_combo; table_focus[1] = matches_window; hbox.FocusChain = table_focus; // set focus chain for sub widgits of seconf top-most container Gtk.Widget[] hpaned_focus = new Gtk.Widget[2]; hpaned_focus[0] = matches_window; hpaned_focus[1] = notebooksPane; hpaned.FocusChain = hpaned_focus; // get back to the beginning of the focus chain Gtk.Widget[] scroll_right = new Gtk.Widget[1]; scroll_right[0] = tree; matches_window.FocusChain = scroll_right; Tomboy.ExitingEvent += OnExitingEvent; }