Ejemplo n.º 1
0
        // Constructors
        public MainViewModel(IUIMainWindowService windowService)
        {
            IStorage storage = new Storage(windowService.AppDir);
            model = MainModel.CreateModel(storage);
            model.CorpusDir = windowService.CorpusDir;
            model.DicDir = windowService.DicDir;
            model.OutDir = windowService.OutDir;

            this.windowService = windowService;

            L.Logger.Debug("MainView is starting.");

            Languages = new ObservableCollection<LingvaViewModel>();
            model.LanguageAdded += (obj, args) => Languages.Add(new LingvaViewModel(args.Content));
            model.LanguageRemoved += (obj, args) => Languages.Remove(new LingvaViewModel(args.Content));

            Projects = new ObservableCollection<string>();
            model.ProjectAdded += (obj, args) => windowService.BeginInvoke(
                new Action(() => Projects.Add(args.Content)
                ));

            model.ProjectRemoved += (obj, args) => windowService.BeginInvoke(
                new Action(() => Projects.Remove(args.Content)
                ));

            Dictionaries = new ObservableCollection<DictViewModel>();
            model.DictAdded += (obj, args) => windowService.BeginInvoke(
                new Action(() => Dictionaries.Add(new DictViewModel(windowService, args.Content))
                ));
            model.DictRemoved += (obj, args) => windowService.BeginInvoke(
                new Action(() => Dictionaries.Remove(new DictViewModel(windowService, args.Content))
                ));

            Files = new ObservableCollection<FileStatsViewModel>();
            model.FileStatsAdded += (obj, args) => windowService.BeginInvoke(
                new Action(() =>
                {
                    FileStatsViewModel fsvm = new FileStatsViewModel(windowService, args.Content);
                    Files.Add(fsvm);
                    totalUnknown += fsvm.Unknown.GetValueOrDefault();
                    TotalWords += fsvm.Size.GetValueOrDefault();
                }));
            model.FileStatsRemoved += (obj, args) => windowService.BeginInvoke(
                new Action(() =>
                {
                    FileStatsViewModel fsvm = new FileStatsViewModel(windowService, args.Content);
                    Files.Remove(fsvm);
                    totalUnknown -= fsvm.Unknown.GetValueOrDefault();
                    TotalWords -= fsvm.Size.GetValueOrDefault();
                }));

            Words = new ObservableCollection<WordViewModel>();
            WordsInProject = new ObservableCollection<WordViewModel>();

            model.InitializeLanguages();
            ProgressValue = 100;
            L.Logger.Debug("MainView has started.");
        }
Ejemplo n.º 2
0
        public static void Configure(IUIMainWindowService windowService)
        {
            MainModel model = MainModel.Instance;

            model.Storage = new Storage(windowService.AppDir);
            model.Config.CommonDictionaryName = windowService.CommonDictionaryName;
            model.Config.CorpusDir            = windowService.CorpusDir;
            model.Config.DicDir             = windowService.DicDir;
            model.Config.OutDir             = windowService.OutDir;
            model.Config.StyleDirectoryPath = IOTools.CombinePath(Directory.GetCurrentDirectory(), "plugins");
        }
Ejemplo n.º 3
0
 // ctor
 public MainWindowViewModel(
     IUIMainWindowService windowService,
     IFileReader fileReader,
     IDataProvider dataProvider)
 {
     this.windowService = windowService;
     this.fileReader    = fileReader;
     this.dataProvider  = dataProvider;
     Owned = new ObservableCollection <GameViewModel>();
     Owned.CollectionChanged += (sender, e) => { RaisePropertyChanged(nameof(CanGatherTime)); };
     PrevOwned = new ObservableCollection <GameViewModel>();
     PrevOwned.CollectionChanged += (sender, e) => { RaisePropertyChanged(nameof(CanGatherTime)); };
     HourRate = 250;
 }
 // ctor
 public MainWindowViewModel(IUIMainWindowService windowService)
 {
     this.windowService = windowService;
     core = Core.Instance;
     core.Accounts.ListChanged += (sender, e) =>
     {
         RaisePropertyChanged(nameof(Accounts));
     };
     core.Categories.CollectionChanged += (sender, r) =>
     {
         RaisePropertyChanged(nameof(CanShowReport));
     };
     core.PropertyChanged += (sender, e) =>
     {
         if (e.PropertyName == "CurrentMonthSpendings")
         {
             RaisePropertyChanged(nameof(Bars));
         }
     };
     LoadLastOpenedFile();
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="addition">Action that handles addition to the new collection.</param>
 /// <param name="deletion">Action that handles deletion from the new collection.</param>
 /// <param name="windowService"></param>
 public CollectionBinder(Action <T> addition, Action <T> deletion, IUIMainWindowService windowService)
 {
     this.addition      = addition;
     this.deletion      = deletion;
     this.windowService = windowService;
 }
Ejemplo n.º 6
0
        // Constructors
        public MainViewModel(IUIMainWindowService windowService)
        {
            this.windowService = windowService;
            // Configure the model before usage.
            ModelConfigurator.Configure(windowService);
            model = MainModel.Instance;
            L.Logger.Debug("MainView is starting.");

            Languages = new ObservableCollection <LingvaViewModel>();
            CollectionBinder <Lingva> langBinder = new CollectionBinder <Lingva>(
                newLang => Languages.Add(new LingvaViewModel(newLang)),
                oldLang => Languages.Remove(new LingvaViewModel(oldLang)),
                windowService
                );

            model.Languages.CollectionChanged += langBinder.Connect;

            Projects = new ObservableCollection <string>();
            CollectionBinder <string> projectBinder = new CollectionBinder <string>(
                newProject => Projects.Add(newProject),
                oldProject => Projects.Remove(oldProject),
                windowService
                );

            model.Projects.CollectionChanged += projectBinder.Connect;

            Dictionaries = new ObservableCollection <DictViewModel>();
            CollectionBinder <Dict> dictBinder = new CollectionBinder <Dict>(
                newDict => Dictionaries.Add(new DictViewModel(windowService, newDict)),
                oldDict => Dictionaries.Remove(new DictViewModel(windowService, oldDict)),
                windowService
                );

            model.Dictionaries.CollectionChanged += dictBinder.Connect;

            Files = new ObservableCollection <FileStatsViewModel>();
            CollectionBinder <FileStats> fileBinder = new CollectionBinder <FileStats>(
                newFile =>
            {
                FileStatsViewModel fsvm = new FileStatsViewModel(windowService, newFile);
                Files.Add(fsvm);
                totalUnknown += fsvm.Unknown.GetValueOrDefault();
                TotalWords   += fsvm.Size.GetValueOrDefault();
            },
                oldFile =>
            {
                FileStatsViewModel fsvm = new FileStatsViewModel(windowService, oldFile);
                Files.Remove(fsvm);
                totalUnknown -= fsvm.Unknown.GetValueOrDefault();
                TotalWords   -= fsvm.Size.GetValueOrDefault();
            },
                windowService);

            model.Files.CollectionChanged += fileBinder.Connect;

            Words          = new ObservableCollection <WordViewModel>();
            WordsInProject = new ObservableCollection <WordViewModel>();

            model.InitializeLanguages();
            ProgressValue = 100;
            L.Logger.Debug("MainView has started.");
        }