예제 #1
0
        public void Init(
            MainWorkItem workItem,
            AppGroup appGroup,
            AppInfo appInfo,
            AppType appType,
            DeletedAppCollection deletedApps,
            AppStatCollection stat)
        {
            _AppGroup                   = appGroup;
            _Controller                 = new AppManagerController(workItem);
            AppTypes.ItemsSource        = appGroup.AppTypes;
            _AppTypes                   = appGroup.AppTypes;
            AppTypeSelector.ItemsSource = appGroup.AppTypes;
            DeletedAppList.ItemsSource  = deletedApps;
            _DeletedApps                = deletedApps;
            StatList.ItemsSource        = stat;
            //AppScanType.ItemsSource = appGroup.AppTypes;

            if (appInfo != null)
            {
                AppType selAppType = appGroup.FindAppType(appInfo);
                AppTypes.SelectedItem        = selAppType;
                AppTypeSelector.SelectedItem = selAppType;

                _ItemToSelect        = appInfo;
                AppList.SelectedItem = appInfo;

                AppTabs.SelectedIndex = 1;
            }

            if (appType != null)
            {
                AppType selAppType = appGroup.AppTypes.FindBySource(appType);
                AppTypes.SelectedItem        = selAppType;
                AppTypeSelector.SelectedItem = selAppType;

                _ItemToSelect        = appGroup.CreateNewAppInfo(selAppType);
                AppList.SelectedItem = _ItemToSelect;

                AppTabs.SelectedIndex = 1;
            }
        }
예제 #2
0
        protected void ShowWndManager(object parameter)
        {
            var appManager = new WndAppManager();
            var mangerData = _WorkItem.AppData.CloneEntity();

            mangerData.NeedAppImage += (s, e) =>
                                       _WorkItem.ImageLoader.RequestImage(s as AppInfo);
            mangerData.ReInitImages();
            var appStat     = new AppStatCollection(mangerData);
            var deletedData = new DeletedAppCollection(_WorkItem.RecycleBin.Copy());

            deletedData.RegisterSource(mangerData, false);
            foreach (DeletedApp item in deletedData)
            {
                _WorkItem.ImageLoader.RequestImage(item.App);
            }

            appManager.Init(
                _WorkItem,
                mangerData,
                parameter as AppInfo,
                parameter as AppType,
                deletedData,
                appStat
                );

            _WorkItem.Commands.Activate.Execute(null);
            appManager.Owner = _WorkItem.MainWindow;

            if (appManager.ShowDialog() ?? false)
            {
                _WorkItem.AppData.MergeEntity(mangerData);
                _WorkItem.RecycleBin.MergeCollection(deletedData);
                _WorkItem.Commands.Save.Execute(null);
            }

            foreach (DeletedApp item in deletedData)
            {
                item.App.AppImage = null;
            }
        }