Beispiel #1
0
        public PlotPaneViewModel(IProjectViewModel project, IPanelFactory factory, TimePlotModel paneModel)
            : base(factory, paneModel)
        {
            // The project in main.Project and the project actually loading the panel is not the same here when loading project from file.
            this.projectVM = project;
            this.paneModel = paneModel;
            PlotModel      = new PlotModel();
            SetUpModel();

            this.PlotModel.Title = paneModel.Title;

            project.Files.CollectionChanged   += Files_CollectionChanged;
            project.Markers.CollectionChanged += Markers_CollectionChanged;
        }
        public FileViewModel(IProjectViewModel parentProject, IFileModel fileData)
        {
            this.project  = parentProject;
            this.fileData = fileData;

            try
            {
                // Try to use specified factory
                var parserFactory = PluginFactory.FindParser(fileData.DataParserType);

                // If not available use any other able to use open that format
                if (parserFactory == null)
                {
                    parserFactory = PluginFactory.FindLogFileParser(fileData.FileName);
                }

                if (parserFactory == null)
                {
                    throw new InvalidOperationException("No parser for " + fileData.FileName + " available.");
                }

                this.LogFile = parserFactory.Open(fileData.FileName, fileData.Settings);
            }
            catch (IOException ioe)
            {
                throw new IOException("Can no open file", ioe);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.ToString());
                throw;
            }

            this.Icon        = ResourceHelper.SetIconFromBitmap(Properties.Resources.folder);
            signalViewModels = new ObservableCollection <ISignalViewModel>();

            foreach (Signal s in LogFile.Signals)
            {
                SignalViewModel subitem = new SignalViewModel(this, s);
                this.Signals.Add(subitem);
            }

            foreach (IMarkerModel m in fileData.Markers)
            {
                MarkerViewModel markerItem = new MarkerViewModel(m, false);
                this.Markers.Add(markerItem);
            }

            markerViewModels.CollectionChanged += MarkerViewModels_CollectionChanged;
        }
 public XYPlotPaneViewModel(IProjectViewModel project, IPanelFactory factory, TimePlotModel paneModel)
     : base(project, factory, paneModel)
 {
     project.PropertyChanged += ProjectVM_PropertyChanged;
 }
Beispiel #4
0
 public abstract IPanelViewModel CreateViewModel(IProjectViewModel project, IPanelModel model);
 public override IPanelViewModel CreateViewModel(IProjectViewModel project, IPanelModel model)
 {
     return(new TestPanelViewModel(this, (TestPanelModel)model));
 }
Beispiel #6
0
 public MapPlotPaneViewModel(IProjectViewModel project, IPanelFactory factory, TimePlotModel paneModel)
     : base(project, factory, paneModel)
 {
 }
Beispiel #7
0
 public override IPanelViewModel CreateViewModel(IProjectViewModel project, IPanelModel model)
 {
     return(new MapPlotPaneViewModel(project, this, model as TimePlotModel) as IPanelViewModel);
 }
Beispiel #8
0
 public override IPanelViewModel CreateViewModel(IProjectViewModel project, IPanelModel model)
 {
     return(new MarkersPanelViewModel(this, (MarkerPaneModel)model));
 }
 public TimePlotViewModel(IProjectViewModel project, IPanelFactory factory, TimePlotModel paneModel)
     : base(project, factory, paneModel)
 {
     project.PropertyChanged += ProjectVM_PropertyChanged;
     project.FilesRealigned  += Project_FilesRealigned;
 }