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);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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;
        }
Beispiel #5
0
        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;
                }
            );
        }
Beispiel #6
0
        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;
            }
                                   );
        }
Beispiel #7
0
 public CustomCellRendererComboBox()
 {
     CellRenderer = renderer = new Gtk.CellRendererCombo ();
     renderer.HasEntry = false;
     renderer.Edited += HandleEdited;
 }
Beispiel #8
0
 public CustomCellRendererComboBox()
 {
     CellRenderer = renderer = new Gtk.CellRendererCombo ();
     renderer.HasEntry = false;
     renderer.Edited += HandleEdited;
 }