Esempio n. 1
0
        //パネル系画面の移動用
        public static object MoveNextReserve(ref int itemIdx, PanelViewBase view, IEnumerable <ReserveViewItem> reslist, ref Point jmpPos,
                                             UInt64 id, int direction, bool move = true, JumpItemStyle style = JumpItemStyle.MoveTo)
        {
            Point pos = jmpPos;

            jmpPos = new Point(-1, -1);
            if (reslist.Any() == false)
            {
                return(null);
            }

            List <ReserveViewItem> list     = reslist.OrderBy(d => d.Data.StartTimeActual).ToList();
            ReserveViewItem        viewItem = null;
            int idx = id == 0 ? -1 : list.FindIndex(item => item.Data.ReserveID == id);

            if (idx == -1 && pos.X >= 0)
            {
                viewItem = list.GetNearDataList(pos).First();
                idx      = list.IndexOf(viewItem);
            }
            else
            {
                idx      = ViewUtil.GetNextIdx(itemIdx, idx, list.Count, direction);
                viewItem = list[idx];
            }
            if (move == true)
            {
                view.ScrollToFindItem(viewItem, style);
            }
            if (move == true)
            {
                itemIdx = idx;
            }
            return(viewItem == null ? null : viewItem.Data);
        }
Esempio n. 2
0
        protected virtual void MoveViewNextItem(int direction, bool toRefData = false)
        {
            object NewData = toRefData || DataView == null || DataView.IsVisible == false ? null : DataView.MoveNextItem(direction, DataID, true, JumpItemStyle.None);

            if (NewData == null)
            {
                IEnumerable <KeyValuePair <UInt64, object> > idList = DataRefList;
                if (idList == null || idList.Any() == false)
                {
                    return;
                }
                var list = idList.ToList();
                NewData = list[selIdx = ViewUtil.GetNextIdx(selIdx, list.FindIndex(d => d.Key == DataID), list.Count, direction)].Value;
            }
            ChangeData(NewData);
        }
Esempio n. 3
0
        public virtual object MoveNextItem(int direction, UInt64 id = 0, bool move = true, JumpItemStyle style = JumpItemStyle.MoveTo)
        {
            if (DataListBox == null || DataListBox.Items.Count == 0)
            {
                return(null);
            }

            var list     = DataListBox.Items.OfType <IGridViewSorterItem>().ToList();
            var selected = DataListBox.SelectedIndex == -1 ? list.FindIndex(d => d.KeyID == id) : DataListBox.SelectedIndex;
            var item     = list[ViewUtil.GetNextIdx(itemIdx, selected, list.Count, direction)];

            if (move == true)
            {
                ItemIdx = ViewUtil.ScrollToFindItem(item, DataListBox, style);
            }
            return(UnPack(item));
        }