public MainWindowViewModel() { // Load application settings (defaults, etc.) SettingsProvider.Instance.LoadApplicationSettings(); // Load addins _PluginManager = new TLCGenPluginManager(System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Plugins\\")); foreach (ITLCGenGenerator gen in _PluginManager.Generators) { Type t = gen.GetType(); TLCGenPluginManager.LoadAddinSettings(gen, t, SettingsProvider.Instance.CustomSettings); Generators.Add(new IGeneratorViewModel(gen)); } if (Generators.Count > 0) { SelectedGenerator = Generators[0]; } foreach (ITLCGenImporter imp in _PluginManager.Importers) { Type t = imp.GetType(); TLCGenPluginManager.LoadAddinSettings(imp, t, SettingsProvider.Instance.CustomSettings); MenuItem mi = new MenuItem(); mi.Header = imp.GetPluginName(); mi.Command = ImportControllerCommand; mi.CommandParameter = imp; ImportMenuItems.Add(mi); } // If we are in debug mode, the code below tries loading a file // called 'test.tlc' from the folder where the application runs. #if DEBUG DataProvider.Instance.FileName = System.AppDomain.CurrentDomain.BaseDirectory + "test.tlc"; if (DataProvider.Instance.LoadController()) { ControllerVM = new ControllerViewModel(this, DataProvider.Instance.Controller); ControllerVM.SelectedTabIndex = 0; OnPropertyChanged("ProgramTitle"); ControllerVM.DoUpdateFasen(); MessageManager.Instance.Send(new UpdateTabsEnabledMessage()); } #endif if (!DesignMode.IsInDesignMode) { if (Application.Current != null && Application.Current.MainWindow != null) { Application.Current.MainWindow.Closing += new CancelEventHandler(MainWindow_Closing); } } }
private void OpenFileCommand_Executed(object prm) { if (!ControllerHasChanged()) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.CheckFileExists = true; openFileDialog.Filter = "TLCGen files|*.tlc;*.tlcgz"; if (openFileDialog.ShowDialog() == true) { DataProvider.Instance.FileName = openFileDialog.FileName; if (DataProvider.Instance.LoadController()) { ControllerVM = null; ControllerVM = new ControllerViewModel(this, DataProvider.Instance.Controller); ControllerVM.SelectedTabIndex = 0; OnPropertyChanged("ProgramTitle"); ControllerVM.DoUpdateFasen(); MessageManager.Instance.Send(new UpdateTabsEnabledMessage()); ControllerVM.SetStatusText("regeling geopend"); } } } }