void UpdateSelectedItem() { if (Element.SelectedItem == null) { Control.SelectedItem.IsSelected = false; return; } GenGridItem item = null; _gengridItemDic.TryGetValue(Element.SelectedItem, out item); if (item != null) { item.IsSelected = true; } }
/// <summary> /// Selection changed event handler. /// </summary> /// <param name="sender">an event sender.</param> /// <param name="e">the event.</param> private void OnSelectionChanged(object sender, GenGridItemEventArgs e) { var grid = (GenGrid)sender; GenGridItem item = (GenGridItem)e.Item; if (item == null) { return; } Log.Info(ReactConstants.Tag, "[Views] ## Notify to JS ## Item:[" + item.Id + "]" + " was selected!"); // emit event to JS var reactContext = grid.GetReactContext(); reactContext.GetNativeModule <UIManagerModule>() .EventDispatcher .DispatchEvent( new ReactGridViewEvent( grid.GetTag(), item.Id)); }
public override void Run(Window window) { Conformant conformant = new Conformant(window); conformant.Show(); GenGrid grid = new GenGrid(window) { AlignmentX = -1, AlignmentY = -1, WeightX = 1, WeightY = 1, ItemAlignmentX = -1, ItemAlignmentY = -1, ItemWidth = window.ScreenSize.Width / 3, ItemHeight = window.ScreenSize.Width / 3, }; GenItemClass defaultClass = new GenItemClass("default") { GetTextHandler = (obj, part) => { Color item = (Color)obj; return(String.Format("#{0:X}{1:X}{2:X}", item.R, item.G, item.B)); }, GetContentHandler = (obj, part) => { Color item = (Color)obj; if (part == "elm.swallow.icon") { var colorbox = new Rectangle(window) { Color = item }; return(colorbox); } return(null); } }; GenGridItem firstitem = null; GenGridItem lastitem = null; var rnd = new Random(); for (int i = 0; i < 102; i++) { int r = rnd.Next(255); int g = rnd.Next(255); int b = rnd.Next(255); Color color = Color.FromRgb(r, g, b); var item = grid.Append(defaultClass, color); if (i == 0) { firstitem = item; } if (i == 101) { lastitem = item; } } grid.Show(); var square = window.GetInnerSquare(); grid.Geometry = new Rect(square.X, square.Y, square.Width, square.Height * 3 / 4); Button first = new Button(window) { Text = "First", BackgroundColor = Color.Red }; Button last = new Button(window) { Text = "Last", BackgroundColor = Color.Blue }; first.Clicked += (s, e) => { grid.ScrollTo(firstitem, ScrollToPosition.In, true); Log.Debug(first.Text); }; last.Clicked += (s, e) => { grid.ScrollTo(lastitem, ScrollToPosition.In, true); Log.Debug(last.Text); }; first.Show(); last.Show(); first.Geometry = new Rect(square.X, square.Y + square.Height * 3 / 4, square.Width / 2, square.Height); last.Geometry = new Rect(square.X + square.Width / 2, square.Y + square.Height * 3 / 4, square.Width / 2, square.Height); grid.ItemActivated += Grid_ItemActivated; grid.ItemSelected += Grid_ItemSelected; grid.ItemUnselected += Grid_ItemUnselected; grid.ItemRealized += Grid_ItemRealized; grid.ItemUnrealized += Grid_ItemUnrealized; grid.ItemPressed += Grid_ItemPressed; grid.ItemReleased += Grid_ItemReleased; grid.ItemLongPressed += Grid_ItemLongPressed; grid.ItemDoubleClicked += Grid_ItemDoubleClicked; }
public override void Run(Window window) { Conformant conformant = new Conformant(window); conformant.Show(); GenGrid grid = new GenGrid(window) { AlignmentX = -1, AlignmentY = -1, WeightX = 1, WeightY = 1, ItemAlignmentX = -1, ItemAlignmentY = -1, ItemWidth = window.ScreenSize.Width / 3, ItemHeight = window.ScreenSize.Width / 3, }; GenItemClass defaultClass = new GenItemClass("default") { GetTextHandler = (obj, part) => { Color item = (Color)obj; return(String.Format("#{0:X}{1:X}{2:X}", item.R, item.G, item.B)); }, GetContentHandler = (obj, part) => { Color item = (Color)obj; if (part == "elm.swallow.icon") { var colorbox = new Rectangle(window) { Color = item }; return(colorbox); } return(null); } }; GenGridItem firstitem = null; GenGridItem lastitem = null; var rnd = new Random(); for (int i = 0; i < 102; i++) { int r = rnd.Next(255); int g = rnd.Next(255); int b = rnd.Next(255); Color color = Color.FromRgb(r, g, b); var item = grid.Append(defaultClass, color); if (i == 0) { firstitem = item; } if (i == 101) { lastitem = item; } } grid.Show(); Box box = new Box(window) { AlignmentX = -1, AlignmentY = -1, WeightX = 1, WeightY = 1, }; box.Show(); conformant.SetContent(box); box.PackEnd(grid); Button show = new Button(window) { Text = "Show", AlignmentX = -1, WeightX = 1, }; Button none = new Button(window) { Text = "None", AlignmentX = -1, WeightX = 1, }; Button bringIn = new Button(window) { Text = "BringIn", AlignmentX = -1, WeightX = 1, }; show.Clicked += (s, e) => { Elementary.FocusAutoScrollMode = FocusAutoScrollMode.Show; Console.WriteLine("FocusAutoScrollMode : {0}", Elementary.FocusAutoScrollMode); }; none.Clicked += (s, e) => { Elementary.FocusAutoScrollMode = FocusAutoScrollMode.None; Console.WriteLine("FocusAutoScrollMode : {0}", Elementary.FocusAutoScrollMode); }; bringIn.Clicked += (s, e) => { Elementary.FocusAutoScrollMode = FocusAutoScrollMode.BringIn; Console.WriteLine("FocusAutoScrollMode : {0}", Elementary.FocusAutoScrollMode); }; show.Show(); none.Show(); bringIn.Show(); box.PackEnd(show); box.PackEnd(none); box.PackEnd(bringIn); grid.ItemActivated += Grid_ItemActivated; grid.ItemSelected += Grid_ItemSelected; grid.ItemUnselected += Grid_ItemUnselected; grid.ItemRealized += Grid_ItemRealized; grid.ItemUnrealized += Grid_ItemUnrealized; grid.ItemPressed += Grid_ItemPressed; grid.ItemReleased += Grid_ItemReleased; grid.ItemLongPressed += Grid_ItemLongPressed; grid.ItemDoubleClicked += Grid_ItemDoubleClicked; }