Exemplo n.º 1
0
        /// <summary>
        /// 行番号からオプションを取得する
        /// </summary>
        /// <param name="inLineNo">行番号</param>
        /// <returns>行番号のオプション</returns>
        public static ClsDatOption GetOptionFromLineNo(int inLineNo)
        {
            ClsDatItem clItem = ClsSystem.GetItemFromLineNo(inLineNo);

            if (clItem == null)
            {
                return(null);
            }

            ClsDatOption clOption = null;
            bool         isExist;

            if (clItem.mTypeItem == ClsDatItem.TYPE_ITEM.ELEM)
            {
                ClsDatElem clElem = clItem as ClsDatElem;
                if (clElem == null)
                {
                    return(null);
                }

                isExist = clElem.mDicOption.ContainsKey(EnmTypeOption.DISPLAY);
                if (!isExist)
                {
                    return(null);
                }

                clOption = clElem.mDicOption[EnmTypeOption.DISPLAY];
            }
            else if (clItem.mTypeItem == ClsDatItem.TYPE_ITEM.OPTION)
            {
                clOption = clItem as ClsDatOption;
            }

            return(clOption);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 行番号からエレメントを取得する
        /// その行がオプションの場合は、その親のエレメントを取得する
        /// </summary>
        /// <param name="inLineNo">行番号</param>
        /// <returns>行番号のエレメント</returns>
        public static ClsDatElem GetElemFromLineNo(int inLineNo)
        {
            if (inLineNo < 0)
            {
                return(null);
            }

            ClsDatItem clItem = ClsSystem.GetItemFromLineNo(inLineNo);

            if (clItem == null)
            {
                return(null);
            }

            if (clItem.mTypeItem == ClsDatItem.TYPE_ITEM.ELEM)
            {
                ClsDatElem clElem = clItem as ClsDatElem;
                return(clElem);
            }
            else if (clItem.mTypeItem == ClsDatItem.TYPE_ITEM.OPTION)
            {
                ClsDatOption clOption = clItem as ClsDatOption;
                ClsDatElem   clElem   = clOption.mElemParent;
                return(clElem);
            }

            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 選択中のアイテムを取得する処理
        /// </summary>
        /// <returns>選択中のアイテム</returns>
        private static ClsDatItem GetItemFromSelectLineNo()
        {
            int inLineNo = ClsSystem.GetSelectLineNo();

            if (inLineNo < 0)
            {
                return(null);
            }

            ClsDatItem clItem = ClsSystem.GetItemFromLineNo(inLineNo);

            return(clItem);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 行番号からアイテムを削除する処理
        /// ※これを読んだ後は ClsDatMotion.RefreshLineNo を呼んで行番号を割り振りなおさなければならない
        /// </summary>
        /// <param name="inLineNo">行番号</param>
        /// <param name="isForce">強制フラグ</param>
        /// <param name="isRemove">実体削除フラグ</param>
        public void RemoveItemFromLineNo(int inLineNo, bool isForce, bool isRemove)
        {
            ClsDatItem clItem = ClsSystem.GetItemFromLineNo(inLineNo);

            if (clItem == null)
            {
                return;
            }

            switch (clItem.mTypeItem)
            {
            case ClsDatItem.TYPE_ITEM.ELEM:
                this.RemoveElemFromLineNo(inLineNo, isRemove);
                break;

            case ClsDatItem.TYPE_ITEM.OPTION:
                this.RemoveOptionFromLineNo(inLineNo, isForce, isRemove);
                break;
            }
        }