Exemple #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);
        }
Exemple #2
0
		public ListView1 ()
		{
			PackStart (new Label ("The listview should have a red background"));
			ListView list = new ListView ();
			list.BackgroundColor = Colors.Red;
			list.GridLinesVisible = GridLines.Both;
			ListStore store = new ListStore (name, icon, text, icon2, progress);
			list.DataSource = store;
			list.Columns.Add ("Name", icon, name);
			list.Columns.Add ("Text", icon2, text);
			list.Columns.Add ("Progress", new TextCellView () { TextField = text }, new CustomCell () { ValueField = progress });

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

			Random rand = new Random ();
			
			for (int n=0; n<100; n++) {
				var r = store.AddRow ();
				store.SetValue (r, icon, png);
				store.SetValue (r, name, "Value " + n);
				store.SetValue (r, icon2, png);
				store.SetValue (r, text, "Text " + n);
				store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 });
			}
			PackStart (list, true);

			list.RowActivated += delegate(object sender, ListViewRowEventArgs e) {
				MessageDialog.ShowMessage ("Row " + e.RowIndex + " activated");
			};

			Menu contextMenu = new Menu ();
			contextMenu.Items.Add (new MenuItem ("Test menu"));
			list.ButtonPressed += delegate(object sender, ButtonEventArgs e) {
				int row = list.GetRowAtPosition(new Point(e.X, e.Y));
				if (e.Button == PointerButton.Right && row >= 0) {
					// Set actual row to selected
					list.SelectRow(row);
					contextMenu.Popup(list, e.X, e.Y);
				}
			};

			list.KeyPressed += (sender, e) => {
				if (e.Key == Key.Insert) {
					var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow);
					store.SetValue (r, icon, png);
					store.SetValue (r, name, "Value " + (store.RowCount + 1));
					store.SetValue (r, icon2, png);
					store.SetValue (r, text, "New Text " + (store.RowCount + 1));
					store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 });
					list.ScrollToRow (r);
					list.SelectRow (r);
					list.FocusedRow = r;
				}
			};

			HBox btnBox = new HBox ();
			Button btnAddItem = new Button ("Add item");
			btnAddItem.Clicked += delegate {
				var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow);
				store.SetValue (r, icon, png);
				store.SetValue (r, name, "Value " + (store.RowCount + 1));
				store.SetValue (r, icon2, png);
				store.SetValue (r, text, "New Text " + (store.RowCount + 1));
				store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 });
				list.ScrollToRow (r);
				list.SelectRow (r);
			};
			btnBox.PackStart (btnAddItem, true);
			Button btnRemoveItem = new Button ("Remove item");
			btnRemoveItem.Clicked += delegate {
				if (list.SelectedRow >= 0)
					store.RemoveRow(list.SelectedRow);
			};
			btnBox.PackStart (btnRemoveItem, true);
			PackStart (btnBox);

			var but = new Button ("Scroll one line");
			but.Clicked += delegate {
				list.VerticalScrollControl.Value += list.VerticalScrollControl.StepIncrement;
			};
			PackStart (but);

			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) => list.ScrollToRow((int)spnValue.Value);

			HBox scrollActBox = new HBox ();
			scrollActBox.PackStart (new Label("Scroll to Value: "));
			scrollActBox.PackStart (spnValue);
			scrollActBox.PackStart (btnScroll);
			PackStart (scrollActBox);
		}
Exemple #3
0
        public ListView1()
        {
            PackStart(new Label("The listview should have a red background"));
            ListView list = new ListView();

            list.BackgroundColor  = Colors.Red;
            list.GridLinesVisible = GridLines.Both;
            ListStore store = new ListStore(name, icon, text, icon2, progress);

            list.DataSource = store;
            list.Columns.Add("Name", icon, name);
            list.Columns.Add("Text", icon2, text);
            list.Columns.Add("Progress", new TextCellView()
            {
                TextField = text
            }, new CustomCell()
            {
                ValueField = progress
            });

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

            Random rand = new Random();

            for (int n = 0; n < 100; n++)
            {
                var r = store.AddRow();
                store.SetValue(r, icon, png);
                store.SetValue(r, name, "Value " + n);
                store.SetValue(r, icon2, png);
                store.SetValue(r, text, "Text " + n);
                store.SetValue(r, progress, new CellData {
                    Value = rand.Next() % 100
                });
            }
            PackStart(list, true);

            list.RowActivated += delegate(object sender, ListViewRowEventArgs e) {
                MessageDialog.ShowMessage("Row " + e.RowIndex + " activated");
            };

            Menu contextMenu = new Menu();

            contextMenu.Items.Add(new MenuItem("Test menu"));
            list.ButtonPressed += delegate(object sender, ButtonEventArgs e) {
                int row = list.GetRowAtPosition(new Point(e.X, e.Y));
                if (e.Button == PointerButton.Right && row >= 0)
                {
                    // Set actual row to selected
                    list.SelectRow(row);
                    contextMenu.Popup(list, e.X, e.Y);
                }
            };

            list.KeyPressed += (sender, e) => {
                if (e.Key == Key.Insert)
                {
                    var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow);
                    store.SetValue(r, icon, png);
                    store.SetValue(r, name, "Value " + (store.RowCount + 1));
                    store.SetValue(r, icon2, png);
                    store.SetValue(r, text, "New Text " + (store.RowCount + 1));
                    store.SetValue(r, progress, new CellData {
                        Value = rand.Next() % 100
                    });
                    list.ScrollToRow(r);
                    list.SelectRow(r);
                    list.FocusedRow = r;
                }
            };

            HBox   btnBox     = new HBox();
            Button btnAddItem = new Button("Add item");

            btnAddItem.Clicked += delegate {
                var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow);
                store.SetValue(r, icon, png);
                store.SetValue(r, name, "Value " + (store.RowCount + 1));
                store.SetValue(r, icon2, png);
                store.SetValue(r, text, "New Text " + (store.RowCount + 1));
                store.SetValue(r, progress, new CellData {
                    Value = rand.Next() % 100
                });
                list.ScrollToRow(r);
                list.SelectRow(r);
            };
            btnBox.PackStart(btnAddItem, true);
            Button btnRemoveItem = new Button("Remove item");

            btnRemoveItem.Clicked += delegate {
                if (list.SelectedRow >= 0)
                {
                    store.RemoveRow(list.SelectedRow);
                }
            };
            btnBox.PackStart(btnRemoveItem, true);
            PackStart(btnBox);

            var but = new Button("Scroll one line");

            but.Clicked += delegate {
                list.VerticalScrollControl.Value += list.VerticalScrollControl.StepIncrement;
            };
            PackStart(but);

            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) => list.ScrollToRow((int)spnValue.Value);

            HBox scrollActBox = new HBox();

            scrollActBox.PackStart(new Label("Scroll to Value: "));
            scrollActBox.PackStart(spnValue);
            scrollActBox.PackStart(btnScroll);
            PackStart(scrollActBox);
        }
        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(App), "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);
        }