Ejemplo n.º 1
0
        /// <summary>
        /// Layout the items in the group. Returns the position the next group should start in.
        /// </summary>
        /// <param name="layoutEngine">The layout engine to use.</param>
        /// <param name="itemComparer">The item comparer to use, can be null.</param>
        public void layout(ButtonGridLayout layoutEngine, IComparer <ButtonGridItem> itemComparer)
        {
            if (items.Count > 0)
            {
                if (grid.ShowGroupCaptions)
                {
                    layoutEngine.alignCaption(caption);
                }

                IEnumerable <ButtonGridItem> sortedItems = items;
                if (itemComparer != null)
                {
                    sortedItems = items.OrderBy(i => i, itemComparer);
                }

                foreach (ButtonGridItem item in sortedItems)
                {
                    layoutEngine.alignItem(item);
                }

                layoutEngine.finishGroupLayout();
            }
        }
Ejemplo n.º 2
0
 public SingleSelectButtonGrid(ScrollView scrollView, ButtonGridLayout layoutEngine, IComparer <ButtonGridItem> itemComparer)
     : base(scrollView, null, layoutEngine, itemComparer)
 {
     _workaroundSetSelectionStrategy(singleSelection);
 }
Ejemplo n.º 3
0
 public SingleSelectButtonGrid(ScrollView scrollView, ButtonGridLayout layoutEngine)
     : this(scrollView, layoutEngine, null)
 {
 }
Ejemplo n.º 4
0
 public NoSelectButtonGrid(ScrollView scrollView, ButtonGridLayout layoutEngine, IComparer <ButtonGridItem> itemComparer)
     : base(scrollView, new NoSelectionStrategy(), layoutEngine, itemComparer)
 {
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="scrollView">The scroll view host.</param>
 /// <param name="selectionStrategy">The selection strategy to use.</param>
 /// <param name="layoutEngine">The Layout to use.</param>
 /// <param name="itemComparer">A comparison instance for items.</param>
 public ButtonGrid(ScrollView scrollView, ButtonGridSelectionStrategy selectionStrategy, ButtonGridLayout layoutEngine, IComparer <ButtonGridItem> itemComparer)
     : this(scrollView, selectionStrategy, layoutEngine, itemComparer, CreateDefaultCaptionFactory(scrollView))
 {
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="scrollView">The scroll view host.</param>
 /// <param name="selectionStrategy">The selection strategy to use.</param>
 /// <param name="layoutEngine">The Layout to use.</param>
 public ButtonGrid(ScrollView scrollView, ButtonGridSelectionStrategy selectionStrategy, ButtonGridLayout layoutEngine)
     : this(scrollView, selectionStrategy, layoutEngine, null, CreateDefaultCaptionFactory(scrollView))
 {
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="scrollView">The scroll view host.</param>
        /// <param name="selectionStrategy">The selection strategy to use.</param>
        /// <param name="layoutEngine">The Layout to use.</param>
        /// <param name="itemComparer">A comparison instance.</param>
        /// <param name="captionFactory">The factory to use to make captions.</param>
        public ButtonGrid(ScrollView scrollView, ButtonGridSelectionStrategy selectionStrategy, ButtonGridLayout layoutEngine, IComparer <ButtonGridItem> itemComparer, ButtonGridCaptionFactory captionFactory)
        {
            this.selectionStrategy = selectionStrategy;
            NonEmptyGroupCount     = 0;

            String read;
            bool   boolValue;
            int    intValue;

            SuppressLayout = false;

            this.scrollView = scrollView;
            scrollView.CanvasPositionChanged += scrollView_CanvasPositionChanged;
            this.itemComparer = itemComparer;
            this.layoutEngine = layoutEngine;

            //Try to get properties from the widget itself.
            read = scrollView.getUserString("ItemHeight");
            if (read != null && NumberParser.TryParse(read, out intValue))
            {
                ItemHeight = ScaleHelper.Scaled(intValue);
            }
            else
            {
                ItemHeight = ScaleHelper.Scaled(122);
            }

            read = scrollView.getUserString("ItemWidth");
            if (read != null && NumberParser.TryParse(read, out intValue))
            {
                ItemWidth = ScaleHelper.Scaled(intValue);
            }
            else
            {
                ItemWidth = ScaleHelper.Scaled(122);
            }

            ButtonSkin = scrollView.getUserString("ButtonSkin");
            if (ButtonSkin == null || ButtonSkin == String.Empty)
            {
                ButtonSkin = "ButtonGridButton";
            }

            read = scrollView.getUserString("ShowGroupCaptions");
            if (read != null && bool.TryParse(read, out boolValue))
            {
                ShowGroupCaptions = boolValue;
            }
            else
            {
                ShowGroupCaptions = true;
            }

            read = scrollView.getUserString("ItemPaddingX");
            if (read != null && NumberParser.TryParse(read, out intValue))
            {
                layoutEngine.ItemPaddingX = ScaleHelper.Scaled(intValue);
            }

            read = scrollView.getUserString("ItemPaddingY");
            if (read != null && NumberParser.TryParse(read, out intValue))
            {
                layoutEngine.ItemPaddingY = ScaleHelper.Scaled(intValue);
            }

            read = scrollView.getUserString("GroupPaddingY");
            if (read != null && NumberParser.TryParse(read, out intValue))
            {
                layoutEngine.GroupPaddingY = ScaleHelper.Scaled(intValue);
            }

            read = scrollView.getUserString("Center");
            if (read != null && bool.TryParse(read, out boolValue))
            {
                layoutEngine.Center = boolValue;
            }

            this.CaptionFactory = captionFactory;
        }
 public HashSetMultiSelectButtonGrid(ScrollView scrollView, ButtonGridLayout layoutEngine)
     : this(scrollView, layoutEngine, null)
 {
 }