void SetupVoteGrid() { grdVotes.Model = _votes; //grdVotes.ModifyFont (Pango.FontDescription.FromString ("normal 8")); Gtk.CellRendererText crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("player", crt, "text", 0); crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("votes", crt, "text", 1); crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("posts", crt, "text", 2); crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("post", crt, "text", 3); crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("time", crt, "text", 4); Gtk.CellRendererCombo crcb = new Gtk.CellRendererCombo(); crcb.Editable = true; crcb.Model = _validVotes; crcb.TextColumn = 0; crcb.Edited += VoteFixed; Gtk.TreeViewColumn tvColumn = new Gtk.TreeViewColumn(); tvColumn.PackStart(crcb, true); tvColumn.Title = "votes for"; tvColumn.AddAttribute(crcb, "text", 5); grdVotes.AppendColumn(tvColumn); crt = new Gtk.CellRendererText(); grdVotes.AppendColumn("content", crt, "text", 6); }
private void InitializeBaudRates(Gtk.ComboBox baudRates) { var viewModel = DataContext as SerialPortSelectorViewModel; _baudRateLabel.Text = SerialPortSelectorViewModel.BaudRateLabel; Gtk.CellRenderer cellRenderer = new Gtk.CellRendererCombo(); // { Xalign = 0, Xpad = 4 }; baudRates.PackStart(cellRenderer, false); ////baudRates.PackEnd(cellRenderer, true); baudRates.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellTextRenderer <BaudRateViewModel>(l, e, m, i, c => c.BaudRate.ToString())); var baudRatesModel = new Gtk.ListStore(typeof(BaudRateViewModel)); baudRatesModel.SynchronizeCollection(viewModel.BaudRates); baudRates.Model = baudRatesModel; if (viewModel.DefaultBaudRate > 0) { var defaultBaudRate = viewModel.BaudRates.FirstOrDefault(b => b.BaudRate == viewModel.DefaultBaudRate); var activeItemIndex = viewModel.BaudRates.IndexOf(defaultBaudRate); baudRates.Active = activeItemIndex; } baudRates.Changed += HandleSelectedBaudRateChanged; INTV.Shared.ComponentModel.CommandManager.InvalidateRequerySuggested(); }
private void InitializeComboBox <T>(Gtk.ComboBox comboBox, IEnumerable <T> values, T activeValue, Func <T, string> toDisplayString) { var cellRenderer = new Gtk.CellRendererCombo(); comboBox.PackStart(cellRenderer, true); comboBox.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellEnumRenderer <T>(l, e, m, i, toDisplayString)); var model = new Gtk.ListStore(typeof(T)); model.SynchronizeCollection(new ObservableCollection <T>(values)); comboBox.Model = model; comboBox.Active = comboBox.GetIndexOfValue(activeValue); }
private void InitializeColorComboBox(Gtk.ComboBox colorChooser, ObservableCollection <FileNodeColorViewModel> colors, MenuLayoutViewModel dataContext) { colorChooser.SetValue(IFakeDependencyObjectHelpers.DataContextPropertyName, dataContext); colorChooser.TooltipText = MenuLayoutViewModel.ColorTip; foreach (var color in colors) { var pixbufColor = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, true, 8, 14, 14); var uintColor = (uint)((color.Fill.Red & 0xFF) << 24) | (uint)((color.Fill.Green & 0xFF) << 16) | (uint)((color.Fill.Blue & 0xFF) << 8) | 0xFF; pixbufColor.Fill(uintColor); var pixbuf = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, true, 8, 16, 16); pixbuf.Fill(0xFF); // black background pixbufColor.CopyArea(0, 0, 14, 14, pixbuf, 1, 1); ColorPixbufs[color.IntvColor] = pixbuf; } Gtk.CellRenderer cellRenderer = new Gtk.CellRendererPixbuf() { Xalign = 0 }; colorChooser.PackStart(cellRenderer, false); colorChooser.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellImageRenderer <FileNodeColorViewModel>(l, e, m, i, c => ColorPixbufs[c.IntvColor])); cellRenderer = new Gtk.CellRendererCombo() { Xalign = 0, Xpad = 4 }; colorChooser.PackEnd(cellRenderer, true); colorChooser.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellTextRenderer <FileNodeColorViewModel>(l, e, m, i, c => c.Name)); var colorListStore = new Gtk.ListStore(typeof(FileNodeColorViewModel)); colorListStore.SynchronizeCollection(colors); colorChooser.Model = colorListStore; MenuLayoutCommandGroup.SetColorCommand.CanExecuteChanged += HandleCanExecuteSetColorChanged; }
void Init() { f_ProtocolListStore = new Gtk.ListStore(typeof(string)); f_ListStore = new Gtk.ListStore( typeof(FilterModel), typeof(int), // filter key typeof(string) // tool tip ); f_TreeView.Model = f_ListStore; int i = 1; Gtk.TreeViewColumn column; Gtk.CellRendererText textCellr; Gtk.CellRendererCombo comboCellr; Gtk.CellRendererToggle toggleCellr; comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_ProtocolListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnProtocolEdited; column = f_TreeView.AppendColumn(_("Protocol"), comboCellr); column.SetCellDataFunc(comboCellr, RenderProtocol); f_ChatTypeListStore = new Gtk.ListStore(typeof(string), typeof(ChatType?)); f_ChatTypeListStore.AppendValues(String.Empty, null); f_ChatTypeListStore.AppendValues(_("Person / Private"), ChatType.Person); f_ChatTypeListStore.AppendValues(_("Group / Public"), ChatType.Group); f_ChatTypeListStore.AppendValues(_("Protocol / Server"), ChatType.Protocol); comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_ChatTypeListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnChatTypeEdited; column = f_TreeView.AppendColumn(_("Chat Type"), comboCellr); column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(comboCellr, RenderChatType); textCellr = new Gtk.CellRendererText(); textCellr.Editable = true; textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) { Gtk.TreeIter iter; if (!f_ListStore.GetIterFromString(out iter, e.Path)) { return; } FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0); int key = (int) f_ListStore.GetValue(iter, 1); filter.ChatID = e.NewText; f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter); OnChanged(EventArgs.Empty); }; column = f_TreeView.AppendColumn(_("Name"), textCellr); column.MinWidth = 80; column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(textCellr, delegate(Gtk.TreeViewColumn col, Gtk.CellRenderer cellr, Gtk.TreeModel model, Gtk.TreeIter iter ) { FilterModel filter = (FilterModel) model.GetValue(iter, 0); (cellr as Gtk.CellRendererText).Text = filter.ChatID; } ); f_MessageTypeListStore = new Gtk.ListStore(typeof(string), typeof(MessageType?)); f_MessageTypeListStore.AppendValues(String.Empty, null); f_MessageTypeListStore.AppendValues(_("Normal"), MessageType.Normal); f_MessageTypeListStore.AppendValues(_("Event"), MessageType.Event); comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_MessageTypeListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnMessageTypeEdited; column = f_TreeView.AppendColumn(_("Type"), comboCellr); column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(comboCellr, RenderMessageType); /* f_TreeView.HasTooltip = true; f_TreeView.QueryTooltip += delegate(object sender, Gtk.QueryTooltipArgs e) { e.Tooltip.Text = "Message Type"; f_TreeView.SetTooltipCell(e.Tooltip, null, column, null); e.RetVal = true; }; */ textCellr = new Gtk.CellRendererText(); textCellr.Editable = true; textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) { Gtk.TreeIter iter; if (!f_ListStore.GetIterFromString(out iter, e.Path)) { return; } FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0); int key = (int) f_ListStore.GetValue(iter, 1); filter.MessagePattern = e.NewText; f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter); OnChanged(EventArgs.Empty); }; column = f_TreeView.AppendColumn(_("Pattern"), textCellr); column.Resizable = true; column.MinWidth = 80; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(textCellr, delegate(Gtk.TreeViewColumn col, Gtk.CellRenderer cellr, Gtk.TreeModel model, Gtk.TreeIter iter) { FilterModel filter = (FilterModel) model.GetValue(iter, 0); (cellr as Gtk.CellRendererText).Text = filter.MessagePattern; } ); }
void Init() { f_ProtocolListStore = new Gtk.ListStore(typeof(string)); f_ListStore = new Gtk.ListStore( typeof(FilterModel), typeof(int), // filter key typeof(string) // tool tip ); f_TreeView.Model = f_ListStore; int i = 1; Gtk.TreeViewColumn column; Gtk.CellRendererText textCellr; Gtk.CellRendererCombo comboCellr; Gtk.CellRendererToggle toggleCellr; comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_ProtocolListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnProtocolEdited; column = f_TreeView.AppendColumn(_("Protocol"), comboCellr); column.SetCellDataFunc(comboCellr, RenderProtocol); f_ChatTypeListStore = new Gtk.ListStore(typeof(string), typeof(ChatType?)); f_ChatTypeListStore.AppendValues(String.Empty, null); f_ChatTypeListStore.AppendValues(_("Person / Private"), ChatType.Person); f_ChatTypeListStore.AppendValues(_("Group / Public"), ChatType.Group); f_ChatTypeListStore.AppendValues(_("Protocol / Server"), ChatType.Protocol); comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_ChatTypeListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnChatTypeEdited; column = f_TreeView.AppendColumn(_("Chat Type"), comboCellr); column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(comboCellr, RenderChatType); textCellr = new Gtk.CellRendererText(); textCellr.Editable = true; textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) { Gtk.TreeIter iter; if (!f_ListStore.GetIterFromString(out iter, e.Path)) { return; } FilterModel filter = (FilterModel)f_ListStore.GetValue(iter, 0); int key = (int)f_ListStore.GetValue(iter, 1); filter.ChatID = e.NewText; f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter); OnChanged(EventArgs.Empty); }; column = f_TreeView.AppendColumn(_("Name"), textCellr); column.MinWidth = 80; column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(textCellr, delegate(Gtk.TreeViewColumn col, Gtk.CellRenderer cellr, Gtk.TreeModel model, Gtk.TreeIter iter) { FilterModel filter = (FilterModel)model.GetValue(iter, 0); (cellr as Gtk.CellRendererText).Text = filter.ChatID; } ); f_MessageTypeListStore = new Gtk.ListStore(typeof(string), typeof(MessageType?)); f_MessageTypeListStore.AppendValues(String.Empty, null); f_MessageTypeListStore.AppendValues(_("Normal"), MessageType.Normal); f_MessageTypeListStore.AppendValues(_("Event"), MessageType.Event); comboCellr = new Gtk.CellRendererCombo(); comboCellr.Model = f_MessageTypeListStore; comboCellr.TextColumn = 0; comboCellr.HasEntry = false; comboCellr.Editable = true; comboCellr.Edited += OnMessageTypeEdited; column = f_TreeView.AppendColumn(_("Type"), comboCellr); column.Resizable = true; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(comboCellr, RenderMessageType); /* * f_TreeView.HasTooltip = true; * f_TreeView.QueryTooltip += delegate(object sender, Gtk.QueryTooltipArgs e) { * e.Tooltip.Text = "Message Type"; * f_TreeView.SetTooltipCell(e.Tooltip, null, column, null); * e.RetVal = true; * }; */ textCellr = new Gtk.CellRendererText(); textCellr.Editable = true; textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) { Gtk.TreeIter iter; if (!f_ListStore.GetIterFromString(out iter, e.Path)) { return; } FilterModel filter = (FilterModel)f_ListStore.GetValue(iter, 0); int key = (int)f_ListStore.GetValue(iter, 1); filter.MessagePattern = e.NewText; f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter); OnChanged(EventArgs.Empty); }; column = f_TreeView.AppendColumn(_("Pattern"), textCellr); column.Resizable = true; column.MinWidth = 80; column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly; column.SetCellDataFunc(textCellr, delegate(Gtk.TreeViewColumn col, Gtk.CellRenderer cellr, Gtk.TreeModel model, Gtk.TreeIter iter) { FilterModel filter = (FilterModel)model.GetValue(iter, 0); (cellr as Gtk.CellRendererText).Text = filter.MessagePattern; } ); }
public CustomCellRendererComboBox() { CellRenderer = renderer = new Gtk.CellRendererCombo (); renderer.HasEntry = false; renderer.Edited += HandleEdited; }