Exemplo n.º 1
0
        public MainViewModel(Common.Com.MophAppProxy mophApp, ObservableCollection <IPluginPhantom> availablePhantoms)
        {
            _mophApp = mophApp;
            Status   = new ComStatusViewModel(this, _mophApp);
            Settings = new AppSettingsViewModel(this, availablePhantoms);

            Phantom = availablePhantoms[0].Phantom;
            Control = availablePhantoms[0].Control;

            MainViewState        = MainViewState.Normal;
            ComStatusViewState   = ComStatusViewState.Minimized;
            AppSettingsViewState = AppSettingsViewState.Minimized;
        }
Exemplo n.º 2
0
    protected override void OnStartup(StartupEventArgs e) {
      base.OnStartup(e);

      _cancellationTokenSource = new CancellationTokenSource();

      _mophApp = new Common.Com.MophAppProxy();

      var pluginFactory = new PluginFactory();

      string pluginPath = Environment.CurrentDirectory;
      
      var gris5aPluginBulder= pluginFactory.CreatePluginBuilder(string.Format(@"{0}\ViphApp.Gris5a.dll", pluginPath));
      var no2PluginBulder = pluginFactory.CreatePluginBuilder(string.Format(@"{0}\ViphApp.No2.dll", pluginPath));
      var no3PluginBulder = pluginFactory.CreatePluginBuilder(string.Format(@"{0}\ViphApp.No3.dll", pluginPath));

      ObservableCollection<IPluginPhantom> availablePhantoms = new ObservableCollection<IPluginPhantom>() {
        gris5aPluginBulder.BuildPluginPhantom(_mophApp),
        no2PluginBulder.BuildPluginPhantom(_mophApp),
        no3PluginBulder.BuildPluginPhantom(_mophApp)};

      var mainViewModel = new UI.MainViewModel(_mophApp, availablePhantoms);

      var app = new UI.Views.MainWindow();
      app.DataContext = mainViewModel;

      var templ = gris5aPluginBulder.BuildPhantomTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      templ = gris5aPluginBulder.BuildControlTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      templ = no2PluginBulder.BuildPhantomTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      templ = no2PluginBulder.BuildControlTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      templ = no3PluginBulder.BuildPhantomTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      templ = no3PluginBulder.BuildControlTemplate();
      app.Resources.Add(templ.DataTemplateKey, templ);
      app.Closing += mainViewModel.OnClosing;
      app.Show();
    }