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));
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
        }