initial commit
This commit is contained in:
104
Viewer/TrendViewer/Setting/CSetting.cs
Normal file
104
Viewer/TrendViewer/Setting/CSetting.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using System.Windows.Media;
|
||||
using System.Windows;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
public class CTrendSetting : AR.Setting
|
||||
{
|
||||
[Browsable(false)]
|
||||
public DateTime graph_time_start { get; set; }
|
||||
[Browsable(false)]
|
||||
public DateTime graph_time_end { get; set; }
|
||||
|
||||
|
||||
|
||||
[Category("Y-Axis"), DisplayName("Y축 표시영역(시작)"), Description("Y축 그래프의 시작범위 입니다(voltage)")]
|
||||
public float graph_y_start { get; set; }
|
||||
[Category("Y-Axis"), DisplayName("Y축 표시영역(종료)"), Description("Y축 그래프의 종료범위 입니다(voltage)")]
|
||||
|
||||
public float graph_y_end { get; set; }
|
||||
[Category("X-Axis"), DisplayName("X축 바닥영역 최소 크기"), Description("X축 바닥 글자 영역의 최소 크기 입니다. 글자가 가려지는 경우 이값을 늘려주세요")]
|
||||
|
||||
public float graph_bottom_minsize { get; set; }
|
||||
[Category("Y-Axis"), DisplayName("Y축영역 자동설정"), Description("Y축 영역을 자동으로 설정합니다. 입력된 값에 따라서 자동으로 변경 됩니다")]
|
||||
public bool y_scale_auto { get; set; }
|
||||
|
||||
|
||||
|
||||
[Browsable(false)]
|
||||
public string tv_selectgroup0 { get; set; }
|
||||
[Browsable(false)]
|
||||
|
||||
public string tv_selectgroup { get; set; }
|
||||
public override void AfterLoad()
|
||||
{
|
||||
if ((graph_y_end < graph_y_start) || (graph_y_start == 0f && graph_y_end == 0f))
|
||||
y_scale_auto = true;
|
||||
|
||||
if (graph_time_end.Year == 1982 || graph_time_start.Year == 1982)
|
||||
{
|
||||
graph_time_end = DateTime.Now;
|
||||
graph_time_start = graph_time_end.AddDays(-7);
|
||||
}
|
||||
|
||||
if (graph_bottom_minsize < 1) graph_bottom_minsize = 45;
|
||||
|
||||
|
||||
}
|
||||
public override void AfterSave()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
public class CSetting : AR.Setting
|
||||
{
|
||||
public int MaxChCount { get; set; }
|
||||
|
||||
public string bugreport { get; set; }
|
||||
public int datadiv { get; set; }
|
||||
public string databasefolder { get; set; }
|
||||
|
||||
public string sangho { get; set; }
|
||||
|
||||
public string tel { get; set; }
|
||||
|
||||
////트렌드뷰의 각종 설정값
|
||||
public CSetting()
|
||||
{
|
||||
var fn = this.filename;
|
||||
bugreport = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Bugreport");
|
||||
}
|
||||
public string GetDatabasePath()
|
||||
{
|
||||
if (databasefolder.isEmpty())
|
||||
{
|
||||
//트렌드와 알람은 상위폴더를 반환해야한다
|
||||
var di = new System.IO.DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
|
||||
return di.Parent.FullName;
|
||||
}
|
||||
else return databasefolder;
|
||||
}
|
||||
|
||||
|
||||
public override void AfterLoad()
|
||||
{
|
||||
if (datadiv == 0) datadiv = 1;
|
||||
}
|
||||
|
||||
|
||||
public override void AfterSave()
|
||||
{
|
||||
//throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
122
Viewer/TrendViewer/Setting/Frm_Config.Designer.cs
generated
Normal file
122
Viewer/TrendViewer/Setting/Frm_Config.Designer.cs
generated
Normal file
@@ -0,0 +1,122 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
partial class Frm_Config : System.Windows.Forms.Form
|
||||
{
|
||||
|
||||
//Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
[System.Diagnostics.DebuggerNonUserCode()]protected override void Dispose(bool disposing)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (disposing && components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
//참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
//수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
//코드 편집기를 사용하여 수정하지 마십시오.
|
||||
[System.Diagnostics.DebuggerStepThrough()]private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Config));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.nudMaxCH = new System.Windows.Forms.NumericUpDown();
|
||||
this.bt_save = new System.Windows.Forms.ToolStripButton();
|
||||
this.ToolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudMaxCH)).BeginInit();
|
||||
this.ToolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(16, 23);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(118, 21);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "최대 표시 채널";
|
||||
//
|
||||
// nudMaxCH
|
||||
//
|
||||
this.nudMaxCH.Location = new System.Drawing.Point(155, 19);
|
||||
this.nudMaxCH.Margin = new System.Windows.Forms.Padding(6, 10, 6, 10);
|
||||
this.nudMaxCH.Name = "nudMaxCH";
|
||||
this.nudMaxCH.Size = new System.Drawing.Size(139, 29);
|
||||
this.nudMaxCH.TabIndex = 3;
|
||||
this.nudMaxCH.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.nudMaxCH.Value = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// bt_save
|
||||
//
|
||||
this.bt_save.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.bt_save.Image = ((System.Drawing.Image)(resources.GetObject("bt_save.Image")));
|
||||
this.bt_save.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.bt_save.Name = "bt_save";
|
||||
this.bt_save.Size = new System.Drawing.Size(83, 52);
|
||||
this.bt_save.Text = "저장";
|
||||
this.bt_save.Click += new System.EventHandler(this.ToolStripButton1_Click);
|
||||
//
|
||||
// ToolStrip1
|
||||
//
|
||||
this.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
|
||||
this.ToolStrip1.ImageScalingSize = new System.Drawing.Size(48, 48);
|
||||
this.ToolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.bt_save});
|
||||
this.ToolStrip1.Location = new System.Drawing.Point(0, 72);
|
||||
this.ToolStrip1.Name = "ToolStrip1";
|
||||
this.ToolStrip1.Padding = new System.Windows.Forms.Padding(0, 0, 3, 0);
|
||||
this.ToolStrip1.Size = new System.Drawing.Size(359, 55);
|
||||
this.ToolStrip1.TabIndex = 0;
|
||||
this.ToolStrip1.Text = "ToolStrip1";
|
||||
this.ToolStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ToolStrip1_ItemClicked);
|
||||
//
|
||||
// Frm_Config
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 21F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(359, 127);
|
||||
this.Controls.Add(this.nudMaxCH);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.ToolStrip1);
|
||||
this.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.KeyPreview = true;
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.Name = "Frm_Config";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "프로그램설정";
|
||||
this.Load += new System.EventHandler(this.Frm_Config_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudMaxCH)).EndInit();
|
||||
this.ToolStrip1.ResumeLayout(false);
|
||||
this.ToolStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
private System.ComponentModel.IContainer components;
|
||||
private Label label1;
|
||||
internal NumericUpDown nudMaxCH;
|
||||
internal ToolStripButton bt_save;
|
||||
internal ToolStrip ToolStrip1;
|
||||
}
|
||||
|
||||
}
|
||||
53
Viewer/TrendViewer/Setting/Frm_Config.cs
Normal file
53
Viewer/TrendViewer/Setting/Frm_Config.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Diagnostics;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using System.Linq;
|
||||
|
||||
namespace vmsnet
|
||||
{
|
||||
|
||||
public partial class Frm_Config
|
||||
{
|
||||
public Frm_Config()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void Frm_Config_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
nudMaxCH.Value = (decimal)PUB.CONFIG.MaxChCount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void ToolStripButton1_Click(System.Object sender, System.EventArgs e)
|
||||
{
|
||||
this.Validate();
|
||||
|
||||
|
||||
PUB.CONFIG.MaxChCount = (int)nudMaxCH.Value;
|
||||
|
||||
////실제파일에 저장한다.
|
||||
PUB.CONFIG.Save();
|
||||
|
||||
|
||||
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
}
|
||||
|
||||
|
||||
public void ToolStrip1_ItemClicked(System.Object sender, System.Windows.Forms.ToolStripItemClickedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
157
Viewer/TrendViewer/Setting/Frm_Config.resx
Normal file
157
Viewer/TrendViewer/Setting/Frm_Config.resx
Normal file
@@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bt_save.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
ICLsniEAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>107</value>
|
||||
</metadata>
|
||||
</root>
|
||||
Reference in New Issue
Block a user