Exemple #1
0
        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();
        }
Exemple #4
0
        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();
        }
Exemple #6
0
        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();
				}
			}

		}
Exemple #7
0
        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);
        }