public static IChartFile GetChartFile(Stream s) { IChartFile icf = null; //Try to discover filetype try { XmlTextReader xr = new XmlTextReader(s); while (xr.Read()) { if (xr.NodeType == XmlNodeType.Element) { break; } } if (xr.Name == "ChartData") { s.Position = 0; icf = new FtXnc(); } else if (xr.Name == "NextGenMultipleChart") { s.Position = 0; icf = new FtXnmc(); } } catch (Exception ex) { // TODO: Better Message } return(icf); }
void Save(bool export) { this.saveFileDialog1.AddExtension = true; FileFactory ff = new FileFactory(this.mouseMarkerControl1); if (export) { this.saveFileDialog1.Filter = ff.GetExportFilter(); } else { this.saveFileDialog1.Filter = ff.GetSaveFilter(this.mouseMarkerControl1.ChartDataList); } if (DialogResult.OK == this.saveFileDialog1.ShowDialog(this)) { IChartFile icf = ff.GetChartFile(this.saveFileDialog1.FilterIndex); if (icf != null) { using (Stream s = File.Open(this.saveFileDialog1.FileName, FileMode.Create, FileAccess.ReadWrite)) { icf.Save(s, this.mouseMarkerControl1.ChartDataList); } } } }
public void Open(Stream s, bool Merge) { this.mouseMarkerControl1.SuspendDrawing = true; if (!Merge) { this.mouseMarkerControl1.ChartDataList.Clear(); } IChartFile cf = FileFactory.GetChartFile(s); cf.NewChartData += new NewChartDataHandler(Open); cf.Open(s, Merge); //GC.Collect(); this.mouseMarkerControl1.SuspendDrawing = false; this.mouseMarkerControl1.Invalidate(); }
public static IChartFile GetChartFile(string filename) { IChartFile icf = null; switch (Path.GetExtension(filename)) { case ".xnc": icf = new FtXnc(); break; case ".xnmc": icf = new FtXnmc(); break; } return(null); }
void Open(bool Merge) { if (!Merge) { this.mouseMarkerControl1.ChartDataList.Clear(); } FileFactory fc = new FileFactory(this.mouseMarkerControl1); this.openFileDialog1.Filter = fc.GetOpenFilter(); this.openFileDialog1.InitialDirectory = Application.StartupPath; this.openFileDialog1.Multiselect = Merge; if (DialogResult.OK == this.openFileDialog1.ShowDialog()) { IChartFile icf = fc.GetChartFile(this.openFileDialog1.FilterIndex); if (icf == null) { return; } icf.NewChartData += new NewChartDataHandler(Open); this.mouseMarkerControl1.SuspendDrawing = true; foreach (string filename in this.openFileDialog1.FileNames) { using (Stream s = File.OpenRead(filename)) { icf.Open(s, Merge); } } this.mouseMarkerControl1.SuspendDrawing = false; this.mouseMarkerControl1.Invalidate(); } GC.Collect(); }
void OpenFile(byte[] b) { //bool chartdata = true; IChartFile icf = FileFactory.GetChartFile(new MemoryStream(b)); string s = Encoding.ASCII.GetString(b); string sb = s.Substring(s.Length-20); if(icf is FtXnc) { OpenFile(ChartData.FromXml(new MemoryStream(b))); } else if( icf is FtXnmc) { Chart c = new Chart(); c.MdiParent = this; c.Show(); using(MemoryStream ms = new MemoryStream(b)) { try { c.Open(ms,false); } catch { } ms.Close(); } } }
public IChartFile GetChartFile(int filterindex) { filterindex -= 1; filetypes ft = filetypes.none; if (fts.Length > filterindex) { ft = fts[filterindex]; } IChartFile icf = null; switch (ft) { case filetypes.xnmc: icf = new FtXnmc(); break; case filetypes.xnc: icf = new FtXnc(); break; case filetypes.bnmc: icf = new FtBnmc(); break; case filetypes.html: icf = new FtHtml(); break; case filetypes.tab: icf = new FtText("\t"); break; case filetypes.csvsemi: icf = new FtText(";"); break; case filetypes.cvscomma: icf = new FtText(","); break; case filetypes.jpeg: icf = new FtImage(cc, System.Drawing.Imaging.ImageFormat.Jpeg); break; case filetypes.bmp: icf = new FtImage(cc, System.Drawing.Imaging.ImageFormat.Bmp); break; case filetypes.gif: icf = new FtImage(cc, System.Drawing.Imaging.ImageFormat.Gif); break; case filetypes.png: icf = new FtImage(cc, System.Drawing.Imaging.ImageFormat.Png); break; case filetypes.tiff: icf = new FtImage(cc, System.Drawing.Imaging.ImageFormat.Tiff); break; } return(icf); }