Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
 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");
             }
         }
     }
 }