コード例 #1
0
        void fillModulesList(CalendarOptions options)
        {
            //for (int i = 0; i < PluginsManager.Instance.EntryObjectExtensions.Length; i++)
            //{
            //    var module = PluginsManager.Instance.EntryObjectExtensions[i];
            //    var optionItem=options.DefaultEntries.Where(x => x.ModuleId == module.GlobalId).SingleOrDefault();
            //    if(optionItem!=null)
            //    {
            //        var item = new ModuleSettingViewModel(module,optionItem);
            //        item.IsDefault = options.GetDefaultEntry(module.GlobalId);
            //        lvModulesSettings.Items.Add(item);
            //    }

            //}
            var temp = new ObservableCollection <ModuleSettingViewModel>();

            for (int i = 0; i < PluginsManager.Instance.EntryObjectExtensions.Length; i++)
            {
                var module = PluginsManager.Instance.EntryObjectExtensions[i];

                var optionItem = options.DefaultEntries.Where(x => x.ModuleId == module.GlobalId).SingleOrDefault();
                if (optionItem == null)
                {
                    optionItem = new CalendarOptionsItem(module.GlobalId, false);
                }


                ModuleSettingViewModel item = new ModuleSettingViewModel(optionItem);
                item.Value = module.GlobalId;

                item.Text         = EntryObjectLocalizationManager.Instance.GetString(module.EntryObjectType, EnumLocalizer.EntryObjectName);
                item.Image        = module.ModuleImage;
                item.IsDefault    = options.GetDefaultEntry(module.GlobalId);
                item.CanBeDefault = canBeDefault(module.EntryObjectType);
                temp.Add(item);
            }

            for (int i = 0; i < PluginsManager.Instance.CalendarDayContentsEx.Count(); i++)
            {
                var module = PluginsManager.Instance.CalendarDayContentsEx.ElementAt(i);

                var optionItem = options.DefaultEntries.Where(x => x.ModuleId == module.Value.GlobalId).SingleOrDefault();

                if (optionItem == null)
                {
                    optionItem = new CalendarOptionsItem(module.Value.GlobalId, false);
                }

                ModuleSettingViewModel item = temp.Where(x => x.Value == module.Value.GlobalId).SingleOrDefault();

                if (item == null)
                {
                    item              = new ModuleSettingViewModel(optionItem);
                    item.Value        = module.Value.GlobalId;
                    item.Text         = module.Value.Name;
                    item.Image        = module.Value.Image;
                    item.CanBeDefault = false;
                    temp.Add(item);
                }
                item.Order = options.DefaultEntries.IndexOf(optionItem);
            }
            Modules = new ObservableCollection <ModuleSettingViewModel>(temp.OrderBy(x => x.Order));
            //foreach (var calendarOptionsItem in options.DefaultEntries)
            //{
            //    var module = PluginsManager.Instance.GetEntryObjectProvider(calendarOptionsItem.ModuleId);
            //    var item = new ModuleSettingViewModel(module, calendarOptionsItem);
            //    item.IsDefault = options.GetDefaultEntry(module.GlobalId);
            //    lvModulesSettings.Items.Add(item);
            //}
        }
コード例 #2
0
 public ModuleSettingViewModel(CalendarOptionsItem item)
 {
     this.item    = item;
     ShowIcon     = true;
     CanBeDefault = true;
 }