using System; using System.ComponentModel; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Drawing; namespace TrendCtrlII { [TypeConverterAttribute(typeof(ExpandableObjectConverter))] public class ChartStyle { //XÃàÀÇ ¿øº» °ª private Int64 _X1; private Int64 _X2; //½ÇÁ¦È­¸é¿¡ Ç¥½ÃµÇ´Â µ¥ÀÌÅÍ private Int64 _XV1; private Int64 _XV2; //½ÇÁ¦È­¸é¿¡ Ç¥½ÃµÇ´Â µ¥ÀÌÅÍÀÇ ¿øº»°ª public Int64 XV1o; public Int64 XV2o; //YÃàÀÇ ¿øº»°ª private Single _Y1; private Single _Y2; //½ÇÁ¦È­¸é¿¡ Ç¥½ÃµÇ´Â µ¥ÀÌÅÍ private Single _YV1 = 1; private Single _YV2 = 3; //½ÇÁ¦È­¸é¿¡ Ç¥½ÃµÇ´Â µ¥ÀÌÅÍÀÇ ¿øº»°ª public Single YV1o = 1; public Single YV2o = 3; // private Boolean _datapoint = false; private Font _yfont = new Font("³ª´®°íµñ", 12, FontStyle.Bold); public int _ZoneMarginX = 50; public int _ZoneMarginY = 50; //public Color design_backcolor = Color.White; public Color design_mouseinfocolor = Color.Black; // public int _xterm = 1800; private Font _xfont = new Font("³ª´®°íµñ", 8, FontStyle.Bold); public Font _mouseinfofont = new Font("³ª´®°íµñ", 12, FontStyle.Bold); private Boolean showdebug = false; // private short defaultviewhour = 3; public event OnUpdateinfoHandler OnUpdateinfo; //UPDATE USER CURSOR public delegate void OnUpdateinfoHandler(); public Boolean UseZoomX { get; set; } public Boolean UseZoomY { get; set; } public UInt16 MaxZoomX { get; set; } public Single MaxZoomY { get; set; } public String UnitY { get; set; } public String UnitX { get; set; } public ChartStyle() { MaxZoomX = 10; MaxZoomY = 0.01f; UseZoomX = true; UseZoomY = true; UnitY = "Volt"; UnitX = "Sec"; XÇ¥½Ã¹üÀ§ = 0; //±âº»Àüüǥ½Ã¸ðµå·Î Àüȯ XGap = 0; //±âº» XÃà Ç¥½Ã°£°ÝÀº ÀÚµ¿À¸·Î YGap = 0; //±âº» YÃà Ç¥½Ã°£°ÝÀº ÀÚµ¿À¸·Î } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("XÃà(½Ã°£)"), Description("XÃà¿¡ Ç¥½ÃµÇ´Â ½Ã°£ÀÇ Ç¥½Ã°£°Ý (0Àº ÀÚµ¿)")] public int XGap { get; set; } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â Ç¥½Ã°£°Ý (0Àº ÀÚµ¿)")] public Single YGap { get; set; } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ Ç¥½Ã°£°ÝÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Font FontY { get { return _yfont; } set { _yfont = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("XÃà(½Ã°£)"), Description("°¡·ÎÃà¿¡ Ç¥½ÃµÇ´Â ±Û²ÃÀ» ¼±ÅÃÇϼ¼¿ä.")] public Font FontX { get { return _xfont; } set { _xfont = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } private Int32 _xterm = 0; /// /// XÃàÀÇ Ç¥½Ã¹üÀ§°ª(ÃÊ) ÁöÁ¤µÈ ½Ã°£(ÃÊ)ÀÇ µ¥ÀÌÅ͸¸ È­¸é¿¡ Ç¥½ÃµË´Ï´Ù. ÀÌ °ªÀÌ 0ÀÏ °æ¿ì Á¦ÇÑÀÌ ¾øÀ½ÀÌ µÇ¸ç ¸¸¾à ÀÌ °ªÀÌ ¼³Á¤µÇ¾îÀÖ´Ù¸é ½Ç½Ã°£¸ðµåó·³ ÀÛµ¿ÇÏ°Ô µË´Ï´Ù. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("Á¶È¸"), Description("XÃàÀÇ Ç¥½Ã¹üÀ§°ª(ÃÊ) ÁöÁ¤µÈ ½Ã°£(ÃÊ)ÀÇ µ¥ÀÌÅ͸¸ È­¸é¿¡ Ç¥½ÃµË´Ï´Ù. ÀÌ °ªÀÌ 0ÀÏ °æ¿ì Á¦ÇÑÀÌ ¾øÀ½ÀÌ µÇ¸ç ¸¸¾à ÀÌ °ªÀÌ ¼³Á¤µÇ¾îÀÖ´Ù¸é ½Ç½Ã°£¸ðµåó·³ ÀÛµ¿ÇÏ°Ô µË´Ï´Ù.")] public Int32 XÇ¥½Ã¹üÀ§ { get { return _xterm; } set { _xterm = value; //ÇöÀç ¿µ¿ªÀ» È®ÀÎÇÏ°í ³Ñ´Â´Ù¸é ¾ÕºÎºÐÀ» ÀÚ¸¥´Ù. if(value != 0 ) { TimeSpan ts = DateTime.FromFileTime(X2) - DateTime.FromFileTime(X1); if (ts.TotalSeconds > value) { DateTime NewEd = DateTime.FromFileTime(X2); DateTime NewSd = NewEd.AddSeconds(-1 * value); if (NewSd > DateTime.Now) { NewSd = DateTime.Now; NewEd = NewSd.AddSeconds(value); } X1 = NewSd.ToFileTime(); X2 = NewEd.ToFileTime(); } } } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("±âŸ"), Description("µ¥ÀÌÅÍÆ÷ÀÎÅ͸¦ Ç¥½ÃÇÕ´Ï´Ù.")] public Boolean Show_DataPoint { get { return _datapoint; } set { _datapoint = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("°³¹ßÀÚÁ¤º¸"), Description("Debug Message")] public Boolean Show_DebugMsg { get { return this.showdebug; } set { this.showdebug = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("¸¶¿ì½ºÁ¤º¸"), Description("¸¶¿ì½ºÁ¤º¸¸¦ Ç¥½ÃÇϴ âÀÇ ±ÛÀÚ»ö")] public Color ¸¶¿ì½º±ÛÀÚ»ö { get { return design_mouseinfocolor; } set { design_mouseinfocolor = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("¸¶¿ì½ºÁ¤º¸"), Description("¸¶¿ì½ºÁ¤º¸¸¦ Ç¥½ÃÇϴ âÀÇ ±Û²Ã")] public Font ¸¶¿ì½º±Û²Ã { get { return _mouseinfofont; } set { _mouseinfofont = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } /// /// YÃà°ªÀ» Ç¥½Ã¿µ¿ªÀ» ÃÖÃÊÀÇ °ªÀ¸·Î º¯°æÇÕ´Ï´Ù. /// public void ResetYxis() { YV1 = Y1; YV2 = Y2; } /// /// XÃà°ªÀÇ Ç¥½Ã¿µ¿ªÀ» ÃÖÃÊÀÇ °ªÀ¸·Î º¯°æÇÕ´Ï´Ù. /// public void ResetXxis() { XV1 = X1; XV2 = X2; } /// /// °¡·ÎÃàÀÇ Á¾·á°ª(ÇöÀç Ç¥½ÃµÇ´Â °ªÀº XV2¸¦ Âü°íÇϼ¼¿ä) /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ´ë°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Int64 X2 { get { return _X2; } set { _X2 = value; _XV2 = value; XV2o = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } /// /// °¡·ÎÃàÀǽÃÀÛ°ª(ÇöÀç Ç¥½ÃµÇ´Â °ªÀº XV1À» Âü°íÇϼ¼¿ä) /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ¼Ò°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Int64 X1 { get { return _X1; } set { _X1 = value; _XV1 = value; XV1o = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } /// /// ÇöÀç Ç¥½ÃµÇ´Â °¡·ÎÃàÀÇ ½ÃÀÛ°ªÀÔ´Ï´Ù. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ¼Ò°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Int64 XV1 { get { return _XV1; } set { //ºä°ªÀÇ ÇѰèÄ¡ üũ if (value < X1) _XV1 = X1; else if (value >= XV2 && XV2 > 0) _XV1 = DateTime.FromFileTime(XV2).AddSeconds(-1).ToFileTime(); else _XV1 = value; XV1o = _XV1; } } /// /// ÇöÀç Ç¥½ÃµÇ´Â °¡·ÎÃàÀÇ Á¾·á°ªÀÔ´Ï´Ù. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ¼Ò°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Int64 XV2 { get { return _XV2; } set { //ºä°ªÀÇ ÇѰèÄ¡ üũ if (value > X2) _XV2 = X2; else if (value <= XV1 && XV1 > 0) _XV2 = DateTime.FromFileTime(XV1).AddSeconds(1).ToFileTime(); else _XV2 = value; XV2o = _XV2; } } /// /// ¼¼·ÎÃàÀÇ Á¾·á°ª(ÇöÀç Ç¥½ÃµÇ´Â °ªÀº YV2¸¦ Âü°íÇϼ¼¿ä) /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ´ë°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Single Y2 { get { return _Y2; } set { _Y2 = value; _YV2 = value; YV2o = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } /// /// ÇöÀçÇ¥½ÃµÇ´Â ¼¼·ÎÃàÀÇ Á¾·á°ªÀÔ´Ï´Ù. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ´ë°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Single YV2 { get { return _YV2; } set { _YV2 = value; YV2o = value; } } /// /// ¼¼·ÎÃàÀÇ ½ÃÀÛ°ª(ÇöÀç Ç¥½ÃµÇ´Â °ªÀº YV1À» Âü°íÇϼ¼¿ä) /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ¼Ò°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Single Y1 { get { return _Y1; } set { _Y1 = value; _YV1 = value; YV1o = value; if (OnUpdateinfo != null) OnUpdateinfo(); } } /// /// ¼¼·ÎÃàÀÇ ½ÃÀÛ°ª /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Browsable(false), Category("YÃà(VOLT)"), Description("YÃà¿¡ Ç¥½ÃµÇ´Â VOLTÀÇ ÃÖ¼Ò°ªÀ» ÀÔ·ÂÇϼ¼¿ä.")] public Single YV1 { get { return _YV1; } set { _YV1 = value; YV1o = value; } } //[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("¿©¹é"), Description("Â÷Æ®°¡Ç¥½ÃµÇ´Â ¿µ¿ªÀÇ »ó´Ü ¿©¹é")] //public int ¿ÞÂÊ¿©¹é //{ // get { return _ZoneMarginX; } // set { _ZoneMarginX = value; // if (OnUpdateinfo != null) OnUpdateinfo(); // } //} //[DesignerSerializationVisibility(DesignerSerializationVisibility.Content), Category("¿©¹é"), Description("Â÷Æ®°¡Ç¥½ÃµÇ´Â ¿µ¿ªÀÇ ÇÏ´Ü ¿©¹é")] //public int À§ÂÊ¿©¹é //{ // get { return _ZoneMarginY; } // set { _ZoneMarginY = value; // if (OnUpdateinfo != null) OnUpdateinfo(); // } //} } }