개정판 88cb9898
dev issue #1224 : add APID converter palette
Change-Id: If659946746d2344ae0665c40250c63fda57e2a69
DTI_PID/APIDConverter/APIDConverterExplorer.Designer.cs | ||
---|---|---|
1 |
namespace AVEVA.PID.CustomizationUtility |
|
2 |
{ |
|
3 |
partial class APIDConverterExplorer |
|
4 |
{ |
|
5 |
/// <summary> |
|
6 |
/// 필수 디자이너 변수입니다. |
|
7 |
/// </summary> |
|
8 |
private System.ComponentModel.IContainer components = null; |
|
9 |
|
|
10 |
/// <summary> |
|
11 |
/// 사용 중인 모든 리소스를 정리합니다. |
|
12 |
/// </summary> |
|
13 |
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param> |
|
14 |
protected override void Dispose(bool disposing) |
|
15 |
{ |
|
16 |
if (disposing && (components != null)) |
|
17 |
{ |
|
18 |
components.Dispose(); |
|
19 |
} |
|
20 |
base.Dispose(disposing); |
|
21 |
} |
|
22 |
|
|
23 |
#region 구성 요소 디자이너에서 생성한 코드 |
|
24 |
|
|
25 |
/// <summary> |
|
26 |
/// 디자이너 지원에 필요한 메서드입니다. |
|
27 |
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요. |
|
28 |
/// </summary> |
|
29 |
private void InitializeComponent() |
|
30 |
{ |
|
31 |
this.SuspendLayout(); |
|
32 |
// |
|
33 |
// APIDConverterExplorer |
|
34 |
// |
|
35 |
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); |
|
36 |
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
|
37 |
this.Name = "APIDConverterExplorer"; |
|
38 |
this.Size = new System.Drawing.Size(258, 424); |
|
39 |
this.ResumeLayout(false); |
|
40 |
|
|
41 |
} |
|
42 |
|
|
43 |
#endregion |
|
44 |
} |
|
45 |
} |
DTI_PID/APIDConverter/APIDConverterExplorer.cs | ||
---|---|---|
1 |
using System; |
|
2 |
using System.Collections.Generic; |
|
3 |
using System.ComponentModel; |
|
4 |
using System.Drawing; |
|
5 |
using System.Data; |
|
6 |
using System.Linq; |
|
7 |
using System.Text; |
|
8 |
using System.Threading.Tasks; |
|
9 |
using System.Windows.Forms; |
|
10 |
|
|
11 |
namespace AVEVA.PID.CustomizationUtility |
|
12 |
{ |
|
13 |
public partial class APIDConverterExplorer : UserControl |
|
14 |
{ |
|
15 |
public APIDConverterExplorer() |
|
16 |
{ |
|
17 |
InitializeComponent(); |
|
18 |
} |
|
19 |
} |
|
20 |
} |
DTI_PID/APIDConverter/APIDConverterExplorer.resx | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<root> |
|
3 |
<!-- |
|
4 |
Microsoft ResX Schema |
|
5 |
|
|
6 |
Version 2.0 |
|
7 |
|
|
8 |
The primary goals of this format is to allow a simple XML format |
|
9 |
that is mostly human readable. The generation and parsing of the |
|
10 |
various data types are done through the TypeConverter classes |
|
11 |
associated with the data types. |
|
12 |
|
|
13 |
Example: |
|
14 |
|
|
15 |
... ado.net/XML headers & schema ... |
|
16 |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
17 |
<resheader name="version">2.0</resheader> |
|
18 |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
19 |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
20 |
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|
21 |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
22 |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
23 |
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|
24 |
</data> |
|
25 |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
26 |
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|
27 |
<comment>This is a comment</comment> |
|
28 |
</data> |
|
29 |
|
|
30 |
There are any number of "resheader" rows that contain simple |
|
31 |
name/value pairs. |
|
32 |
|
|
33 |
Each data row contains a name, and value. The row also contains a |
|
34 |
type or mimetype. Type corresponds to a .NET class that support |
|
35 |
text/value conversion through the TypeConverter architecture. |
|
36 |
Classes that don't support this are serialized and stored with the |
|
37 |
mimetype set. |
|
38 |
|
|
39 |
The mimetype is used for serialized objects, and tells the |
|
40 |
ResXResourceReader how to depersist the object. This is currently not |
|
41 |
extensible. For a given mimetype the value must be set accordingly: |
|
42 |
|
|
43 |
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
44 |
that the ResXResourceWriter will generate, however the reader can |
|
45 |
read any of the formats listed below. |
|
46 |
|
|
47 |
mimetype: application/x-microsoft.net.object.binary.base64 |
|
48 |
value : The object must be serialized with |
|
49 |
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|
50 |
: and then encoded with base64 encoding. |
|
51 |
|
|
52 |
mimetype: application/x-microsoft.net.object.soap.base64 |
|
53 |
value : The object must be serialized with |
|
54 |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
55 |
: and then encoded with base64 encoding. |
|
56 |
|
|
57 |
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
58 |
value : The object must be serialized into a byte array |
|
59 |
: using a System.ComponentModel.TypeConverter |
|
60 |
: and then encoded with base64 encoding. |
|
61 |
--> |
|
62 |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
63 |
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|
64 |
<xsd:element name="root" msdata:IsDataSet="true"> |
|
65 |
<xsd:complexType> |
|
66 |
<xsd:choice maxOccurs="unbounded"> |
|
67 |
<xsd:element name="metadata"> |
|
68 |
<xsd:complexType> |
|
69 |
<xsd:sequence> |
|
70 |
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|
71 |
</xsd:sequence> |
|
72 |
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|
73 |
<xsd:attribute name="type" type="xsd:string" /> |
|
74 |
<xsd:attribute name="mimetype" type="xsd:string" /> |
|
75 |
<xsd:attribute ref="xml:space" /> |
|
76 |
</xsd:complexType> |
|
77 |
</xsd:element> |
|
78 |
<xsd:element name="assembly"> |
|
79 |
<xsd:complexType> |
|
80 |
<xsd:attribute name="alias" type="xsd:string" /> |
|
81 |
<xsd:attribute name="name" type="xsd:string" /> |
|
82 |
</xsd:complexType> |
|
83 |
</xsd:element> |
|
84 |
<xsd:element name="data"> |
|
85 |
<xsd:complexType> |
|
86 |
<xsd:sequence> |
|
87 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
88 |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
89 |
</xsd:sequence> |
|
90 |
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|
91 |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
92 |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
93 |
<xsd:attribute ref="xml:space" /> |
|
94 |
</xsd:complexType> |
|
95 |
</xsd:element> |
|
96 |
<xsd:element name="resheader"> |
|
97 |
<xsd:complexType> |
|
98 |
<xsd:sequence> |
|
99 |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
100 |
</xsd:sequence> |
|
101 |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
102 |
</xsd:complexType> |
|
103 |
</xsd:element> |
|
104 |
</xsd:choice> |
|
105 |
</xsd:complexType> |
|
106 |
</xsd:element> |
|
107 |
</xsd:schema> |
|
108 |
<resheader name="resmimetype"> |
|
109 |
<value>text/microsoft-resx</value> |
|
110 |
</resheader> |
|
111 |
<resheader name="version"> |
|
112 |
<value>2.0</value> |
|
113 |
</resheader> |
|
114 |
<resheader name="reader"> |
|
115 |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
116 |
</resheader> |
|
117 |
<resheader name="writer"> |
|
118 |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
119 |
</resheader> |
|
120 |
</root> |
DTI_PID/APIDConverter/AVEVA.PID.CustomizationUtility_ACAD2018_x64.csproj | ||
---|---|---|
122 | 122 |
<Reference Include="WindowsBase" /> |
123 | 123 |
</ItemGroup> |
124 | 124 |
<ItemGroup> |
125 |
<Compile Include="APIDConverterExplorer.cs"> |
|
126 |
<SubType>UserControl</SubType> |
|
127 |
</Compile> |
|
128 |
<Compile Include="APIDConverterExplorer.Designer.cs"> |
|
129 |
<DependentUpon>APIDConverterExplorer.cs</DependentUpon> |
|
130 |
</Compile> |
|
125 | 131 |
<Compile Include="DB\Project_DB.cs" /> |
126 | 132 |
<Compile Include="Form\ProjectForm.cs"> |
127 | 133 |
<SubType>Form</SubType> |
... | ... | |
181 | 187 |
<Compile Include="Utils\GUIUtils.cs" /> |
182 | 188 |
</ItemGroup> |
183 | 189 |
<ItemGroup> |
190 |
<EmbeddedResource Include="APIDConverterExplorer.resx"> |
|
191 |
<DependentUpon>APIDConverterExplorer.cs</DependentUpon> |
|
192 |
</EmbeddedResource> |
|
184 | 193 |
<EmbeddedResource Include="Form\APIDConverter.resx"> |
185 | 194 |
<DependentUpon>APIDConverter.cs</DependentUpon> |
186 | 195 |
</EmbeddedResource> |
DTI_PID/APIDConverter/PIDCustomization.cs | ||
---|---|---|
121 | 121 |
GetInstance(); |
122 | 122 |
ConverterRibbonUI.InitUI(); |
123 | 123 |
GetProjectInfo(); |
124 |
APIDUtils.SetAvevaExplorer(); |
|
124 | 125 |
} |
125 | 126 |
[CommandMethod("AC")] |
126 | 127 |
public static void AC() |
... | ... | |
128 | 129 |
GetInstance(); |
129 | 130 |
ConverterRibbonUI.InitUI(); |
130 | 131 |
GetProjectInfo(); |
132 |
APIDUtils.SetAvevaExplorer(); |
|
131 | 133 |
} |
132 | 134 |
[CommandMethod("ConverterForm")] |
133 | 135 |
public static void ConverterForm() |
DTI_PID/APIDConverter/Utils/APIDUtils.cs | ||
---|---|---|
25 | 25 |
|
26 | 26 |
return null; |
27 | 27 |
} |
28 |
|
|
29 |
public static void SetAvevaExplorer() |
|
30 |
{ |
|
31 |
bool exist = false; |
|
32 |
string sName = "APID Converter"; |
|
33 |
for (int i = 0; i < Aveva.Command.AvevaCommands.projectExplorer.Count; i++) |
|
34 |
{ |
|
35 |
if (Aveva.Command.AvevaCommands.projectExplorer[i].Name == sName) |
|
36 |
{ |
|
37 |
exist = true; |
|
38 |
Aveva.Command.AvevaCommands.projectExplorer.Remove(i); |
|
39 |
break; |
|
40 |
} |
|
41 |
} |
|
42 |
|
|
43 |
if (!exist) |
|
44 |
{ |
|
45 |
Aveva.Command.AvevaCommands.projectExplorer.Add(sName, new APIDConverterExplorer()); |
|
46 |
Aveva.Command.AvevaCommands.projectExplorer.Activate(Aveva.Command.AvevaCommands.projectExplorer.Count - 1); |
|
47 |
} |
|
48 |
|
|
49 |
} |
|
28 | 50 |
} |
29 | 51 |
} |
내보내기 Unified diff