SelectRow() public method

Selects a row.
In single selection mode, the row will be selected and the previously selected row will be deselected. In multiple selection mode, the row will be added to the set of selected rows.
public SelectRow ( int row ) : void
row int /// a row. ///
return void
Esempio n. 1
0
        public ListBoxSample()
        {
            // Default list box

            ListBox list = new ListBox();

            for (int n = 0; n < 100; n++)
                list.Items.Add("Value " + n);

            list.KeyPressed += (sender, e) =>
            {
                if (e.Key == Key.Insert)
                {
                    int r = list.SelectedRow + 1;
                    list.Items.Insert(r, "Value " + list.Items.Count + 1);
                    list.ScrollToRow(r);
                    list.SelectRow(r);
                    list.FocusedRow = r;
                }
            };

            PackStart(list, true);

            // Custom list box

            ListBox customList = new ListBox();
            customList.GridLinesVisible = true;
            ListStore store = new ListStore(name, icon);
            customList.DataSource = store;
            customList.Views.Add(new ImageCellView(icon));
            customList.Views.Add(new TextCellView(name));

            var png = Image.FromResource(typeof(Application), "class.png");

            for (int n = 0; n < 100; n++)
            {
                var r = store.AddRow();
                store.SetValue(r, icon, png);
                store.SetValue(r, name, "Value " + n);
            }

            customList.KeyPressed += (sender, e) =>
            {
                if (e.Key == Key.Insert)
                {
                    var r = store.InsertRowAfter(customList.SelectedRow < 0 ? 0 : customList.SelectedRow);
                    store.SetValue(r, icon, png);
                    store.SetValue(r, name, "Value " + (store.RowCount + 1));
                    customList.ScrollToRow(r);
                    customList.SelectRow(r);
                    customList.FocusedRow = r;
                }
            };

            PackStart(customList, true);

            var spnValue = new SpinButton();
            spnValue.MinimumValue = 0;
            spnValue.MaximumValue = 99;
            spnValue.IncrementValue = 1;
            spnValue.Digits = 0;
            var btnScroll = new Button("Go!");
            btnScroll.Clicked += (sender, e) => customList.ScrollToRow((int)spnValue.Value);

            HBox scrollActBox = new HBox();
            scrollActBox.PackStart(new Label("Scroll to Value: "));
            scrollActBox.PackStart(spnValue);
            scrollActBox.PackStart(btnScroll);
            PackStart(scrollActBox);
        }
Esempio n. 2
0
        public DefaultFontSelectorBackend()
        {
            families = Font.AvailableFontFamilies.ToList();
            families.Sort();

            storeFonts               = new ListStore(dfamily, dfamilymarkup);
            listFonts.DataSource     = storeFonts;
            listFonts.HeadersVisible = false;
            listFonts.Columns.Add("Font", new TextCellView()
            {
                TextField = dfamily, MarkupField = dfamilymarkup
            });
            listFonts.MinWidth = 150;

            foreach (var family in families)
            {
                var row = storeFonts.AddRow();
                storeFonts.SetValues(row, dfamily, family, dfamilymarkup, "<span font=\"" + family + " " + (listFonts.Font.Size) + "\">" + family + "</span>");
            }

            storeFace               = new ListStore(dfaceName, dfaceMarkup, dfaceFont);
            listFace.DataSource     = storeFace;
            listFace.HeadersVisible = false;
            listFace.Columns.Add("Style", new TextCellView()
            {
                TextField = dfaceName, MarkupField = dfaceMarkup
            });
            listFace.MinWidth = 60;
            //listFace.HorizontalScrollPolicy = ScrollPolicy.Never;

            foreach (var size in DefaultFontSizes)
            {
                listSize.Items.Add(size);
            }

            spnSize.Digits         = 1;
            spnSize.MinimumValue   = 1;
            spnSize.MaximumValue   = 800;
            spnSize.IncrementValue = 1;
            PreviewText            = "The quick brown fox jumps over the lazy dog.";

            spnSize.ValueChanged += (sender, e) => {
                if (DefaultFontSizes.Contains(spnSize.Value))
                {
                    var row = Array.IndexOf(DefaultFontSizes, spnSize.Value);
                    listSize.ScrollToRow(row);
                    listSize.SelectRow(row);
                }
                else
                {
                    listSize.UnselectAll();
                }
                SetFont(selectedFont.WithSize(spnSize.Value));
            };

            SelectedFont = Font.SystemFont;
            UpdateFaceList(selectedFont);              // family change not connected at this point, update manually


            listFonts.SelectionChanged += (sender, e) => {
                if (listFonts.SelectedRow >= 0)
                {
                    var newFont = selectedFont.WithFamily(storeFonts.GetValue(listFonts.SelectedRow, dfamily));
                    UpdateFaceList(newFont);
                    SetFont(newFont);
                }
            };

            listFace.SelectionChanged += (sender, e) => {
                if (listFace.SelectedRow >= 0)
                {
                    SetFont(storeFace.GetValue(listFace.SelectedRow, dfaceFont).WithSize(selectedFont.Size));
                }
            };

            listSize.SelectionChanged += (sender, e) => {
                if (listSize.SelectedRow >= 0 && Math.Abs(DefaultFontSizes [listSize.SelectedRow] - spnSize.Value) > double.Epsilon)
                {
                    spnSize.Value = DefaultFontSizes[listSize.SelectedRow];
                }
            };

            VBox familyBox = new VBox();

            familyBox.PackStart(new Label("Font:"));
            familyBox.PackStart(listFonts, true);

            VBox styleBox = new VBox();

            styleBox.PackStart(new Label("Style:"));
            styleBox.PackStart(listFace, true);

            VBox sizeBox = new VBox();

            sizeBox.PackStart(new Label("Size:"));
            sizeBox.PackStart(spnSize);
            sizeBox.PackStart(listSize, true);

            HBox fontBox = new HBox();

            fontBox.PackStart(familyBox, true);
            fontBox.PackStart(styleBox, true);
            fontBox.PackStart(sizeBox);

            VBox mainBox = new VBox();

            mainBox.MinWidth  = 350;
            mainBox.MinHeight = 300;
            mainBox.PackStart(fontBox, true);
            mainBox.PackStart(new Label("Preview:"));
            mainBox.PackStart(previewText);

            Content = mainBox;
        }