예제 #1
0
 public CheckMenuItemVM(MenuElem elem)
 {
     this.elem             = elem;
     this.menuItems        = new ObservableCollection <CheckMenuItemVM>();
     this.relatedMenuItems = new List <CheckMenuItemVM>();
     isChecked             = true;
 }
예제 #2
0
        public List <MenuElem> GetRelatedMenuElems(MenuElem menuElem)
        {
            //When (0-th array) the first item is checked, the remaining items are checked
            MenuElem[][] menuMatrix = new MenuElem[][] {
                new MenuElem[] { MenuElem.M_QUESTION, MenuElem.M_CONCEPT, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_VARIABLE, MenuElem.M_DATA_SET, MenuElem.M_DATA_FILE },
                new MenuElem[] { MenuElem.M_CODE, MenuElem.M_CATEGORY },
                new MenuElem[] { MenuElem.M_SEQUENCE, MenuElem.M_CONCEPT, MenuElem.M_QUESTION, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_VARIABLE, MenuElem.M_DATA_SET, MenuElem.M_DATA_FILE },
                new MenuElem[] { MenuElem.M_VARIABLE, MenuElem.M_CONCEPT, MenuElem.M_QUESTION, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_DATA_SET, MenuElem.M_DATA_FILE },
                new MenuElem[] { MenuElem.M_DATA_SET, MenuElem.M_CONCEPT, MenuElem.M_QUESTION, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_VARIABLE, MenuElem.M_DATA_FILE },
                new MenuElem[] { MenuElem.M_DATA_FILE, MenuElem.M_CONCEPT, MenuElem.M_QUESTION, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_VARIABLE, MenuElem.M_DATA_SET },
                new MenuElem[] { MenuElem.M_STATISTICS, MenuElem.M_CONCEPT, MenuElem.M_QUESTION, MenuElem.M_CATEGORY, MenuElem.M_CODE, MenuElem.M_VARIABLE },
            };
            List <MenuElem> relatedMenuElems = new List <MenuElem>();

            foreach (MenuElem[] menuList in menuMatrix)
            {
                MenuElem fromMenu = menuList[0];
                if (fromMenu == menuElem)
                {
                    for (int i = 1; i < menuList.Length; i++)
                    {
                        relatedMenuElems.Add(menuList[i]);
                    }
                    if (relatedMenuElems.Contains(fromMenu))
                    {
                        throw new ApplicationException();
                    }
                    return(relatedMenuElems);
                }
            }
            return(relatedMenuElems);
        }
예제 #3
0
 public static void AppendUniq(List <MenuElem> menuElems, MenuElem appendMenuElem)
 {
     if (menuElems.Contains(appendMenuElem))
     {
         return;
     }
     menuElems.Add(appendMenuElem);
 }
예제 #4
0
 public MenuItemVM(MenuElem elem, FormVM content)
 {
     this.elem      = elem;
     this.content   = content;
     this.MenuItems = new ObservableCollection <MenuItemVM>();
 }
예제 #5
0
 public static CheckMenuItemVM FindByMenuElem(List <CheckMenuItemVM> menuItems, MenuElem menuElem)
 {
     foreach (CheckMenuItemVM menuItem in menuItems)
     {
         if (menuItem.MenuElem == menuElem)
         {
             return(menuItem);
         }
     }
     return(null);
 }
예제 #6
0
 public bool IsValid(MenuElem menuElem)
 {
     return(validMenuElems.Contains(menuElem));
 }