Compare commits
1592
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ad5331ba9 | ||
|
|
8df20f32ce | ||
|
|
6ca427a7c6 | ||
|
|
14a8922976 | ||
|
|
2f5affabbe | ||
|
|
44c86e5d80 | ||
|
|
d5859f2a01 | ||
|
|
506c826eb3 | ||
|
|
96839f8379 | ||
|
|
f6e42d933e | ||
|
|
28b79bf81b | ||
|
|
a87e23af7e | ||
|
|
1e0e3a7114 | ||
|
|
7333247b52 | ||
|
|
e16b3262d9 | ||
|
|
edc5bc611b | ||
|
|
c32121c4c4 | ||
|
|
213b8d18f7 | ||
|
|
8e7be9723e | ||
|
|
61394a8b26 | ||
|
|
1cb397f47b | ||
|
|
298dfaeece | ||
|
|
ae94400fff | ||
|
|
8a33bcafe8 | ||
|
|
dcf9c03738 | ||
|
|
23f6a0febc | ||
|
|
e4c5ddad6d | ||
|
|
30e7c03ca6 | ||
|
|
3ae907cb69 | ||
|
|
51d52fa0c7 | ||
|
|
46feeed669 | ||
|
|
0202ecabd5 | ||
|
|
72882bccce | ||
|
|
7b738c5bff | ||
|
|
0137ccc5b3 | ||
|
|
63aad1e696 | ||
|
|
19666c33bf | ||
|
|
b06a2c5b62 | ||
|
|
6a55b26372 | ||
|
|
2f3d7bf698 | ||
|
|
21c4936ee8 | ||
|
|
df2311dbda | ||
|
|
034aa67e31 | ||
|
|
f8ab3c57be | ||
|
|
6376d4669b | ||
|
|
f9cce608d6 | ||
|
|
3d65b7c34a | ||
|
|
dbea4abafb | ||
|
|
57622931a5 | ||
|
|
75368c2fe0 | ||
|
|
5e071bd35a | ||
|
|
77639318c6 | ||
|
|
1a890b11cb | ||
|
|
795f21f04b | ||
|
|
c95e86c2a6 | ||
|
|
18d2aa3b51 | ||
|
|
7ba3ea8b13 | ||
|
|
30b34c3a50 | ||
|
|
6a42800d2c | ||
|
|
70f132540f | ||
|
|
cd9eaaaba1 | ||
|
|
70aa1f4024 | ||
|
|
1d634d96fe | ||
|
|
4eb5254d96 | ||
|
|
6c2eee0cbc | ||
|
|
3c5265cecf | ||
|
|
478d35890d | ||
|
|
1b9b63412c | ||
|
|
3bb8fff3a1 | ||
|
|
694bc0ead4 | ||
|
|
cfc324d31e | ||
|
|
43b63e2843 | ||
|
|
f2ec510a70 | ||
|
|
453edbb28e | ||
|
|
bc9407f52f | ||
|
|
954cc5918f | ||
|
|
4ef16e7856 | ||
|
|
1eb3c3e725 | ||
|
|
a89c2d3d22 | ||
|
|
914837a5a2 | ||
|
|
9643a71ba5 | ||
|
|
aa7e0528f8 | ||
|
|
57bd8d569e | ||
|
|
b49d8871a2 | ||
|
|
b90d419bc5 | ||
|
|
1f48d498e1 | ||
|
|
da6139c932 | ||
|
|
be744b40a3 | ||
|
|
780ce657ca | ||
|
|
464be0f803 | ||
|
|
58a6cb9a24 | ||
|
|
9bf7b2ffde | ||
|
|
cde1f28215 | ||
|
|
db198cb7d0 | ||
|
|
99fe567e78 | ||
|
|
2261c8f0f5 | ||
|
|
f93b16fc52 | ||
|
|
7c3a43749c | ||
|
|
ecec7b9f1a | ||
|
|
1aca7335f7 | ||
|
|
ba5aee6640 | ||
|
|
abaf55e9b1 | ||
|
|
3a2dd0b0aa | ||
|
|
0fed1acfd8 | ||
|
|
d7c2300021 | ||
|
|
fca333299d | ||
|
|
a13b03a136 | ||
|
|
48054f5bf1 | ||
|
|
51f2897a33 | ||
|
|
7a3a07b0da | ||
|
|
7c3cfca86c | ||
|
|
352af15984 | ||
|
|
2c42933d58 | ||
|
|
2e68362836 | ||
|
|
c6736db7ea | ||
|
|
c005f03af8 | ||
|
|
459aabcc86 | ||
|
|
ad33097d5e | ||
|
|
8d7735735e | ||
|
|
25bbc46925 | ||
|
|
5a26b0ee35 | ||
|
|
09a397bed2 | ||
|
|
a33039bcae | ||
|
|
0ebd125266 | ||
|
|
fd16a6b6c3 | ||
|
|
cf19f764c7 | ||
|
|
88850d6c25 | ||
|
|
b173c61575 | ||
|
|
3b866f0952 | ||
|
|
94db524a11 | ||
|
|
f27616ce1f | ||
|
|
7f75af7119 | ||
|
|
05ab48cdc5 | ||
|
|
38e42723af | ||
|
|
f4ec60c9e0 | ||
|
|
fd51c209a3 | ||
|
|
01394b1978 | ||
|
|
9b7db08fcf | ||
|
|
6d7cdef223 | ||
|
|
d9c35fe02a | ||
|
|
250b3fa406 | ||
|
|
a5a3f16177 | ||
|
|
ffa7e21c18 | ||
|
|
4608c05df0 | ||
|
|
56ff5a0213 | ||
|
|
014fde301c | ||
|
|
0080a42423 | ||
|
|
2035a4c855 | ||
|
|
4dc6a190fa | ||
|
|
e0db322262 | ||
|
|
8f1bb45e42 | ||
|
|
f39aefd28f | ||
|
|
2cfc43dbfd | ||
|
|
f4168b5202 | ||
|
|
2d93b652e8 | ||
|
|
70782cd655 | ||
|
|
768fcc4f05 | ||
|
|
727491f99b | ||
|
|
c5f1c3a340 | ||
|
|
a78311104a | ||
|
|
4b5b06210c | ||
|
|
333645b044 | ||
|
|
23173074aa | ||
|
|
be8bb9c4e1 | ||
|
|
d07e132216 | ||
|
|
401fa12851 | ||
|
|
194ca84d38 | ||
|
|
7bbf62d735 | ||
|
|
3924e2fca5 | ||
|
|
2e39102e7c | ||
|
|
2a0849fae5 | ||
|
|
9f4e8f6eef | ||
|
|
d0fe36f86e | ||
|
|
10da22cd77 | ||
|
|
6dacc2d515 | ||
|
|
7baa9628d6 | ||
|
|
ec5229101f | ||
|
|
a0e0b1e788 | ||
|
|
f1e04396de | ||
|
|
d0cae8c2fc | ||
|
|
90c215d4c1 | ||
|
|
1b1dc78548 | ||
|
|
a112163f85 | ||
|
|
2a9f2e188d | ||
|
|
652e0cb06f | ||
|
|
123b1b08c2 | ||
|
|
b321bc354b | ||
|
|
03d7397242 | ||
|
|
45e78ef184 | ||
|
|
fe7c5893bb | ||
|
|
2b57c552d1 | ||
|
|
7f0d39b684 | ||
|
|
7273a8b13b | ||
|
|
a544a5cd4f | ||
|
|
ff9ade75d4 | ||
|
|
cfd5498521 | ||
|
|
9b7c30e1cd | ||
|
|
670e5d7fa9 | ||
|
|
8258235611 | ||
|
|
4d97f29943 | ||
|
|
ab8d59eb2d | ||
|
|
c324fa69b2 | ||
|
|
1cdb9b4cc2 | ||
|
|
f47fa49b80 | ||
|
|
6ade96c7ef | ||
|
|
61d31a3c67 | ||
|
|
014509ea30 | ||
|
|
1ce1a45ca6 | ||
|
|
b6da13a653 | ||
|
|
604b4d1751 | ||
|
|
874aaf2857 | ||
|
|
17a28def4e | ||
|
|
e72a1aa9e7 | ||
|
|
7b96ef1b4c | ||
|
|
ea048e6d82 | ||
|
|
109abfb4ad | ||
|
|
3f662ab19d | ||
|
|
b0de38909a | ||
|
|
267de44103 | ||
|
|
b7b0e55d94 | ||
|
|
c0d12f5721 | ||
|
|
27a945485f | ||
|
|
d76c81a9d8 | ||
|
|
143a3622dd | ||
|
|
75992293c6 | ||
|
|
0e004828b3 | ||
|
|
714751f404 | ||
|
|
27576e946e | ||
|
|
e548dddcbd | ||
|
|
8cbc8c497e | ||
|
|
c328140441 | ||
|
|
a10798c983 | ||
|
|
06909e260f | ||
|
|
5eca8a5150 | ||
|
|
88a13f9864 | ||
|
|
e03ae6195a | ||
|
|
c3cacaf407 | ||
|
|
4b479b3ceb | ||
|
|
c78cb805fb | ||
|
|
d17688fc9d | ||
|
|
fd59b9d5f0 | ||
|
|
0e71c9f5f5 | ||
|
|
bc3c14589e | ||
|
|
4331f49f6f | ||
|
|
294d19e9d1 | ||
|
|
ed615dbb31 | ||
|
|
e9ad57f588 | ||
|
|
7fee639b53 | ||
|
|
c2a5a8ec7d | ||
|
|
ec823cab97 | ||
|
|
83f88b6df3 | ||
|
|
7636fe7686 | ||
|
|
1e12c82be4 | ||
|
|
9879a80569 | ||
|
|
13b03f4f89 | ||
|
|
331de6ecfe | ||
|
|
7b649c4a62 | ||
|
|
9ccdaef354 | ||
|
|
fa114f4467 | ||
|
|
33cc650871 | ||
|
|
95737d05e1 | ||
|
|
955ffc48d3 | ||
|
|
d79dd908f6 | ||
|
|
4656ec30af | ||
|
|
a0be60a1b9 | ||
|
|
d296d6f000 | ||
|
|
8df4bd2537 | ||
|
|
cc5cdb88ff | ||
|
|
f66c6a93c5 | ||
|
|
a7b5ee33e2 | ||
|
|
fe90af5aa4 | ||
|
|
7e672d91e9 | ||
|
|
09f472bee2 | ||
|
|
30da0c5105 | ||
|
|
d2082cdbea | ||
|
|
c42596811e | ||
|
|
d095a19187 | ||
|
|
8089e2c898 | ||
|
|
a657d03fb0 | ||
|
|
4e829200f5 | ||
|
|
bef9be5cbe | ||
|
|
56f14323d1 | ||
|
|
4fcd22ca68 | ||
|
|
21890e74fe | ||
|
|
ef32564fba | ||
|
|
d95505726f | ||
|
|
bb7b892f7c | ||
|
|
836cdaf087 | ||
|
|
6f5c41abb8 | ||
|
|
6379321785 | ||
|
|
e4c6e4393e | ||
|
|
3e6bb81e39 | ||
|
|
ded6f18dd5 | ||
|
|
81643e2aef | ||
|
|
8a186f9f0c | ||
|
|
14aa39976a | ||
|
|
c077e0ddc2 | ||
|
|
d198a7b63a | ||
|
|
7f36a33dea | ||
|
|
db3d9fc65f | ||
|
|
f9738451db | ||
|
|
ec73b5cbea | ||
|
|
f3bd6b6469 | ||
|
|
fd50993fb9 | ||
|
|
079381dbb0 | ||
|
|
85bdc35342 | ||
|
|
2aaaa55e42 | ||
|
|
e999bea228 | ||
|
|
287c06383b | ||
|
|
202409c140 | ||
|
|
34886beccb | ||
|
|
3d200cc34e | ||
|
|
b13883530a | ||
|
|
032e04bc50 | ||
|
|
625b715832 | ||
|
|
e1ac360271 | ||
|
|
7eda88bdbe | ||
|
|
90fdb94e95 | ||
|
|
15979203ce | ||
|
|
53360a03af | ||
|
|
9f6f7c23f6 | ||
|
|
7419f4e886 | ||
|
|
f90a80c366 | ||
|
|
d9ec756e22 | ||
|
|
9f7c24c540 | ||
|
|
fe2833395d | ||
|
|
a181cf3815 | ||
|
|
dfce44a47a | ||
|
|
22280bf1e3 | ||
|
|
30aedb6eec | ||
|
|
12f175740f | ||
|
|
5c0f11aea1 | ||
|
|
879518c4a9 | ||
|
|
7afca6a254 | ||
|
|
1c56aa2eb1 | ||
|
|
ecaf00c5b3 | ||
|
|
bfdc77da97 | ||
|
|
f38aa4595f | ||
|
|
aa0b906a9f | ||
|
|
9e64e5a60e | ||
|
|
35eb05432b | ||
|
|
77c6298067 | ||
|
|
f43d1e5f47 | ||
|
|
63a74e1aef | ||
|
|
69e45e9ae8 | ||
|
|
53cf35014c | ||
|
|
d6e4239573 | ||
|
|
c76808e11e | ||
|
|
b2428a4211 | ||
|
|
aa0e919713 | ||
|
|
7e2a41b6cb | ||
|
|
258b1d2d1f | ||
|
|
a4ea200e38 | ||
|
|
43a27c16a6 | ||
|
|
3c693baab0 | ||
|
|
d186e2702c | ||
|
|
aee478114b | ||
|
|
6220530855 | ||
|
|
69ae37021c | ||
|
|
e2382a403b | ||
|
|
0ae45eb918 | ||
|
|
d8882f8d0c | ||
|
|
00c64411c5 | ||
|
|
c0f35a7d84 | ||
|
|
12cf05bb87 | ||
|
|
325c17647e | ||
|
|
c6eeb2107a | ||
|
|
70fd037161 | ||
|
|
ed4469bd5f | ||
|
|
5ce168071c | ||
|
|
4273d72b9d | ||
|
|
30f56d1f9b | ||
|
|
d560468f3c | ||
|
|
ac5e49d0fc | ||
|
|
447d1f510c | ||
|
|
c0651e4e2c | ||
|
|
f8865206e9 | ||
|
|
5e7d2431b3 | ||
|
|
9bb13f6d88 | ||
|
|
52dbd8afec | ||
|
|
99216321a8 | ||
|
|
31a0f04710 | ||
|
|
ac88add40b | ||
|
|
5a2c0460aa | ||
|
|
862cf67375 | ||
|
|
dae850616d | ||
|
|
72c2bd90e4 | ||
|
|
d4ecf28147 | ||
|
|
149e114359 | ||
|
|
7d63e7e417 | ||
|
|
d12e5d19c9 | ||
|
|
7a6b3b7a86 | ||
|
|
97fc02b601 | ||
|
|
9485403712 | ||
|
|
caeead0bc0 | ||
|
|
f93204e37e | ||
|
|
e6af91c6ab | ||
|
|
c89428eed8 | ||
|
|
b4f2b89139 | ||
|
|
aab7cdcf77 | ||
|
|
47cdedefd4 | ||
|
|
710145a32d | ||
|
|
2783d2cc77 | ||
|
|
751794c1ec | ||
|
|
a7a5df1991 | ||
|
|
62a296f909 | ||
|
|
c561aad661 | ||
|
|
0a301e1a84 | ||
|
|
37e727202c | ||
|
|
9023cc76a0 | ||
|
|
49bdd03c1c | ||
|
|
23f4b672b2 | ||
|
|
599d45086f | ||
|
|
93aed0e06a | ||
|
|
7eb94d7575 | ||
|
|
fa8b0bd6a1 | ||
|
|
c26e271676 | ||
|
|
7d87477d68 | ||
|
|
9002fb3828 | ||
|
|
10257a832a | ||
|
|
261f5a526c | ||
|
|
b5e0c121e8 | ||
|
|
6d99c456e4 | ||
|
|
8c6f0c2736 | ||
|
|
bd89af5e8c | ||
|
|
b0e4128d3c | ||
|
|
875a8f101a | ||
|
|
c5a8ef57ac | ||
|
|
c8adeed187 | ||
|
|
49f5f506d4 | ||
|
|
1c87585570 | ||
|
|
30eb52da77 | ||
|
|
6f089482e6 | ||
|
|
8e221cc263 | ||
|
|
441917b670 | ||
|
|
6251de3b38 | ||
|
|
d731125a14 | ||
|
|
d6fe64bc40 | ||
|
|
f8b93807ae | ||
|
|
2287a111c1 | ||
|
|
a08d92ea41 | ||
|
|
c41d7981ba | ||
|
|
37f5336806 | ||
|
|
ebdc98dfa7 | ||
|
|
f3c8c860f5 | ||
|
|
f7b27142c4 | ||
|
|
4fc37c54c5 | ||
|
|
849e1e57dd | ||
|
|
c768ca5eba | ||
|
|
c9516d90e9 | ||
|
|
327aae687a | ||
|
|
3cbe4617eb | ||
|
|
de69fe6b6f | ||
|
|
e53101dacb | ||
|
|
d3ec749848 | ||
|
|
410b7d3dd6 | ||
|
|
e87b233713 | ||
|
|
ca38ecb1cf | ||
|
|
5dfa70dc10 | ||
|
|
ff3daff15a | ||
|
|
7b7f235354 | ||
|
|
779c6247cd | ||
|
|
fcaffa8c5f | ||
|
|
d2ffcc903a | ||
|
|
1d12c97e30 | ||
|
|
3bcaeb214e | ||
|
|
85995040a8 | ||
|
|
826d06b532 | ||
|
|
3328e35cf4 | ||
|
|
091c56ec34 | ||
|
|
31e9910242 | ||
|
|
f6e3c72e9c | ||
|
|
3f618bc970 | ||
|
|
1c766e568c | ||
|
|
8ed9bfbfcb | ||
|
|
f1d66fc446 | ||
|
|
50977b367f | ||
|
|
45312d0564 | ||
|
|
3261d63b19 | ||
|
|
2894899ad4 | ||
|
|
dd5c709709 | ||
|
|
618247f4d5 | ||
|
|
abcf035143 | ||
|
|
0b015233a9 | ||
|
|
44d85b842c | ||
|
|
470f4a770b | ||
|
|
808a1ba0ea | ||
|
|
04cef606fc | ||
|
|
1ef6a1d0e4 | ||
|
|
b163a3a7b9 | ||
|
|
e7f7f28ff1 | ||
|
|
b9c17fd360 | ||
|
|
c7534a985a | ||
|
|
52583a05f6 | ||
|
|
081373fc0d | ||
|
|
9130604fa6 | ||
|
|
37b4726925 | ||
|
|
cc66eb5329 | ||
|
|
563c133676 | ||
|
|
e8b32c4ed3 | ||
|
|
72ca259771 | ||
|
|
d175c4b564 | ||
|
|
fb2aeb8192 | ||
|
|
24c25ab26c | ||
|
|
9da91e460f | ||
|
|
2634cf7de9 | ||
|
|
7417091f3f | ||
|
|
f9aad50f46 | ||
|
|
535cd5af2e | ||
|
|
4a8e469736 | ||
|
|
7d89f711fe | ||
|
|
7555a0389b | ||
|
|
1ac6e4b1a0 | ||
|
|
d2fc4c6134 | ||
|
|
73cad308aa | ||
|
|
c9f4c33ba1 | ||
|
|
3f0bdc593c | ||
|
|
0da2d38bd8 | ||
|
|
3a6ce52ead | ||
|
|
eb0582ae69 | ||
|
|
3143d094e8 | ||
|
|
f265a23f97 | ||
|
|
dceeb410c6 | ||
|
|
30be08fe4d | ||
|
|
20247d0bc2 | ||
|
|
c0ac325911 | ||
|
|
c02ab116cd | ||
|
|
7ec4f2a61e | ||
|
|
16129ba742 | ||
|
|
61853fb71f | ||
|
|
58f13eb1dc | ||
|
|
b999f17445 | ||
|
|
c8047854f6 | ||
|
|
91ee23287a | ||
|
|
85b08b8c65 | ||
|
|
c81079a876 | ||
|
|
8abe57552c | ||
|
|
3bf24b838b | ||
|
|
e37928bf89 | ||
|
|
525173bc9f | ||
|
|
aa6dacf0c5 | ||
|
|
69cc71ab3b | ||
|
|
fe52d31168 | ||
|
|
3ea4307716 | ||
|
|
5650df1a9f | ||
|
|
8f154ebf48 | ||
|
|
47a4c62e92 | ||
|
|
539ad769d0 | ||
|
|
5fa90d9eab | ||
|
|
ba9d56811c | ||
|
|
8eb8a328d1 | ||
|
|
e8327316dd | ||
|
|
3bd7001106 | ||
|
|
2e5ad53c6a | ||
|
|
ca0ae279e0 | ||
|
|
adf1120436 | ||
|
|
7879391de0 | ||
|
|
11ba9ea418 | ||
|
|
0fe84ca17c | ||
|
|
1009ca5111 | ||
|
|
2c973fb0be | ||
|
|
dba1f4e71c | ||
|
|
46fe124fe1 | ||
|
|
50688d7d8a | ||
|
|
a7396e3c4a | ||
|
|
41e969f79e | ||
|
|
7b3f78f745 | ||
|
|
14bc171246 | ||
|
|
a584c0751e | ||
|
|
3d7528e069 | ||
|
|
58cc75ef71 | ||
|
|
b5a9462e95 | ||
|
|
1bc421ac6d | ||
|
|
ad0d091b49 | ||
|
|
22de686a44 | ||
|
|
3e7eb09758 | ||
|
|
e2a276085b | ||
|
|
d561c579e0 | ||
|
|
371d117746 | ||
|
|
28c681a562 | ||
|
|
2131efb522 | ||
|
|
6e20774edf | ||
|
|
a7c7744ff3 | ||
|
|
019aefbc61 | ||
|
|
81a23305ba | ||
|
|
4001abff02 | ||
|
|
25bfbeb8d6 | ||
|
|
44025c3978 | ||
|
|
a3aa9747b8 | ||
|
|
009243b091 | ||
|
|
e31e0b6680 | ||
|
|
449bb2522b | ||
|
|
453dce9520 | ||
|
|
655592186b | ||
|
|
1ebf67233b | ||
|
|
1588dabcbe | ||
|
|
09d3995e6c | ||
|
|
db20385a6d | ||
|
|
d701935ddf | ||
|
|
d3888e3c32 | ||
|
|
94f0795247 | ||
|
|
4def73d738 | ||
|
|
99445406fc | ||
|
|
8c32d18aec | ||
|
|
20c31153de | ||
|
|
025fa57e24 | ||
|
|
6f04d0bf07 | ||
|
|
ecb9a805e5 | ||
|
|
0577acad93 | ||
|
|
d7f83fa4d4 | ||
|
|
4c4f4d52d2 | ||
|
|
0bf9025c0d | ||
|
|
7a0f56cad8 | ||
|
|
2784b57a05 | ||
|
|
b9fc9748c7 | ||
|
|
c98299d916 | ||
|
|
f6e25fd966 | ||
|
|
557b9429bf | ||
|
|
139f7bbd0a | ||
|
|
ec25f6426a | ||
|
|
00283b4f28 | ||
|
|
e08b5cde69 | ||
|
|
ec8e4c36a4 | ||
|
|
07c7718320 | ||
|
|
2953e977ef | ||
|
|
92522b1229 | ||
|
|
9ef9dcd7b9 | ||
|
|
5fd8096ef0 | ||
|
|
5f59543a14 | ||
|
|
d44593d6d4 | ||
|
|
38744ff8e8 | ||
|
|
83e935a3f4 | ||
|
|
4d96e73866 | ||
|
|
a55ce75e2e | ||
|
|
c45dbf1dac | ||
|
|
2d08629608 | ||
|
|
49bc67a64f | ||
|
|
abec4d9281 | ||
|
|
149bc601e2 | ||
|
|
66deede936 | ||
|
|
0df5511bf7 | ||
|
|
2e68218cfe | ||
|
|
80f3568dbd | ||
|
|
5fd0ff9e71 | ||
|
|
4dcfa05157 | ||
|
|
42648f31a5 | ||
|
|
e0b628dce9 | ||
|
|
6e9c7e28e6 | ||
|
|
ac091a7d26 | ||
|
|
8f31532917 | ||
|
|
612e7955cf | ||
|
|
ce92031ff7 | ||
|
|
5a7e63871d | ||
|
|
7ade7f6e24 | ||
|
|
e470ef0553 | ||
|
|
fb01a4f8df | ||
|
|
eacdca8669 | ||
|
|
df97a6dd01 | ||
|
|
0259d4ff1d | ||
|
|
f71e9938bb | ||
|
|
69f8e3f4fc | ||
|
|
f49c888307 | ||
|
|
04a2da4371 | ||
|
|
59372b23e4 | ||
|
|
2970c0d7d4 | ||
|
|
392f1b09b2 | ||
|
|
79f66e9641 | ||
|
|
e90fceca86 | ||
|
|
24d5cee8b4 | ||
|
|
31f608a9ec | ||
|
|
1ba4c4f343 | ||
|
|
700d9656b2 | ||
|
|
0c17d9abc2 | ||
|
|
2c1476b74c | ||
|
|
0fa71727ac | ||
|
|
20cacf26ae | ||
|
|
1d406b0c7e | ||
|
|
a099d27b86 | ||
|
|
3e53ec9191 | ||
|
|
637cbd9954 | ||
|
|
717251ca5e | ||
|
|
5d3bb41275 | ||
|
|
e5211fee00 | ||
|
|
41cb078a94 | ||
|
|
0a5e4076e1 | ||
|
|
c3534e21fa | ||
|
|
e9e934cfb1 | ||
|
|
a417ddda85 | ||
|
|
06159c6b68 | ||
|
|
22c14d169b | ||
|
|
f273a8839a | ||
|
|
db09db3cd0 | ||
|
|
ba8a8b8673 | ||
|
|
62ae81c7b3 | ||
|
|
6db9567eb9 | ||
|
|
8ef08c53b3 | ||
|
|
6f354bfeee | ||
|
|
818d764b3d | ||
|
|
9fdbdb05f4 | ||
|
|
d392131005 | ||
|
|
389b9e382b | ||
|
|
6fd84e2f2a | ||
|
|
689ea71846 | ||
|
|
66295594e9 | ||
|
|
042b80b9f4 | ||
|
|
c4da241516 | ||
|
|
74ccbfa760 | ||
|
|
46d8838d0e | ||
|
|
94d2c32025 | ||
|
|
64124cc0f7 | ||
|
|
24c5bc5097 | ||
|
|
1ffde5de50 | ||
|
|
3828da2f8f | ||
|
|
1554d3cc33 | ||
|
|
d808b306b6 | ||
|
|
45aeb808fa | ||
|
|
74f9fc0c18 | ||
|
|
c2c90a2c2e | ||
|
|
05ab077dda | ||
|
|
1ae422c74e | ||
|
|
5da62c3a5d | ||
|
|
86a98118fb | ||
|
|
6a51208a13 | ||
|
|
0749f5e724 | ||
|
|
f65644f553 | ||
|
|
dc74da6e86 | ||
|
|
301c4c2c97 | ||
|
|
8ec820a7f7 | ||
|
|
18734e0f85 | ||
|
|
9980504c47 | ||
|
|
626960da9f | ||
|
|
535728b982 | ||
|
|
ace9672a2e | ||
|
|
05a13861ac | ||
|
|
24374b85c1 | ||
|
|
8c358f1e3c | ||
|
|
289285f517 | ||
|
|
3ee9e0f4eb | ||
|
|
d6c924a51f | ||
|
|
3a739c5b64 | ||
|
|
3564f4ba8e | ||
|
|
5ad9d81cc1 | ||
|
|
0292634374 | ||
|
|
d4418b8d8a | ||
|
|
a33f136e77 | ||
|
|
f85f8e9e2c | ||
|
|
01541c9e0d | ||
|
|
4bfffc945a | ||
|
|
16509c2eab | ||
|
|
bc1f85b657 | ||
|
|
6b0a5d60f4 | ||
|
|
33439b63a0 | ||
|
|
bb24d1207d | ||
|
|
8fc477ec04 | ||
|
|
bf06c9e14f | ||
|
|
5a263107da | ||
|
|
d30bb2e329 | ||
|
|
8248bd8e47 | ||
|
|
378653c536 | ||
|
|
f2d330bd0e | ||
|
|
c1c93cbdc4 | ||
|
|
47a14e143e | ||
|
|
b7aa85f4fc | ||
|
|
90e25f3fcf | ||
|
|
d67e81d8a6 | ||
|
|
057915baaa | ||
|
|
fe268b6122 | ||
|
|
ca61597863 | ||
|
|
a04def360d | ||
|
|
5e43a8501b | ||
|
|
e893264075 | ||
|
|
cf20704811 | ||
|
|
37c5b23a86 | ||
|
|
82d8fe6e17 | ||
|
|
4ca3697845 | ||
|
|
71130bd26b | ||
|
|
37626d8f45 | ||
|
|
f95369d3a4 | ||
|
|
aa00891f8e | ||
|
|
d44f9ba2b6 | ||
|
|
c3b7b1e5a4 | ||
|
|
f3309e4a40 | ||
|
|
8fa059c186 | ||
|
|
96e61aea2b | ||
|
|
565779c9c8 | ||
|
|
b4ccd682c3 | ||
|
|
dba1331556 | ||
|
|
8803ae2274 | ||
|
|
69d09b7fc2 | ||
|
|
8ddfc8654e | ||
|
|
7a3243e882 | ||
|
|
4fc3b89e06 | ||
|
|
a17419ac12 | ||
|
|
88905132e7 | ||
|
|
111bed58d6 | ||
|
|
bed61324d6 | ||
|
|
1a889352b8 | ||
|
|
5bba126a36 | ||
|
|
e01b955d46 | ||
|
|
e3431b0e1e | ||
|
|
b6d646b910 | ||
|
|
bb679a2790 | ||
|
|
e3af0a6426 | ||
|
|
b2108b9e5f | ||
|
|
d100002107 | ||
|
|
afd61303c5 | ||
|
|
d1c3e81a38 | ||
|
|
46419edfee | ||
|
|
81c91d7866 | ||
|
|
34ee092919 | ||
|
|
d07344a88a | ||
|
|
66ae1c632b | ||
|
|
7cc7b71edd | ||
|
|
a223dfd463 | ||
|
|
61e8bc5ffa | ||
|
|
bba52a736a | ||
|
|
c5d575a019 | ||
|
|
08f8441aca | ||
|
|
6bf116cbef | ||
|
|
cc96b3fa5b | ||
|
|
b489452bd1 | ||
|
|
fa4e3997e4 | ||
|
|
7659cbbee6 | ||
|
|
548b845f62 | ||
|
|
4f733656a0 | ||
|
|
f4ef244a10 | ||
|
|
839000d48c | ||
|
|
bcb8f419ee | ||
|
|
059c399240 | ||
|
|
13b3cd6bc4 | ||
|
|
3cd4f4c5d9 | ||
|
|
02b20df652 | ||
|
|
416bdf16e0 | ||
|
|
75a4f66714 | ||
|
|
a5b9c26a97 | ||
|
|
0aa476d9dd | ||
|
|
0f4eec1df6 | ||
|
|
4bc73f847c | ||
|
|
e1271c16d9 | ||
|
|
c7d2140e16 | ||
|
|
ac6ee6ff83 | ||
|
|
1507cf31ce | ||
|
|
aad04647ac | ||
|
|
934d3977d8 | ||
|
|
03b0e52bef | ||
|
|
1da2b8e87c | ||
|
|
e3d16142ac | ||
|
|
b972e40a28 | ||
|
|
c508255ab3 | ||
|
|
e9ec884eb9 | ||
|
|
592d28e898 | ||
|
|
b826fa6a20 | ||
|
|
74c2a303da | ||
|
|
dcf50073e7 | ||
|
|
375871012c | ||
|
|
b7b67cce69 | ||
|
|
6c22bff1fd | ||
|
|
0b12805d4a | ||
|
|
4bac1a4628 | ||
|
|
2cf164c445 | ||
|
|
11904e177b | ||
|
|
527e6b5053 | ||
|
|
053ebca267 | ||
|
|
5e7fae9d47 | ||
|
|
0e4ce99612 | ||
|
|
3c75637752 | ||
|
|
fb890ded1f | ||
|
|
4399f31a83 | ||
|
|
ca4b21e593 | ||
|
|
23a4edb610 | ||
|
|
accc1c622c | ||
|
|
e50ea6a5db | ||
|
|
04ce6f55db | ||
|
|
f0493e60d8 | ||
|
|
13edc9c9ff | ||
|
|
fd0ea4404b | ||
|
|
df9d0f908a | ||
|
|
779394ffd6 | ||
|
|
a230ecef9b | ||
|
|
061bcfdc0f | ||
|
|
aced10498b | ||
|
|
cd963d01e4 | ||
|
|
458dd5fff4 | ||
|
|
0c342fa188 | ||
|
|
43b13443ab | ||
|
|
c867d4e4b1 | ||
|
|
0f541142cc | ||
|
|
b0c55d09b0 | ||
|
|
ee71431210 | ||
|
|
a8196db676 | ||
|
|
8dc78d49eb | ||
|
|
3999d1c49b | ||
|
|
aceb928dba | ||
|
|
f17db695d3 | ||
|
|
214dd8ec08 | ||
|
|
2f974d7b52 | ||
|
|
9f1dce896f | ||
|
|
a8294bb01a | ||
|
|
28e4bdda29 | ||
|
|
7d408df904 | ||
|
|
caec6adf8d | ||
|
|
a38c0dbe33 | ||
|
|
d779d4ad50 | ||
|
|
9b71ce0fee | ||
|
|
8b18005b8e | ||
|
|
a550ef1b50 | ||
|
|
63a60b32cc | ||
|
|
ca4dc8d330 | ||
|
|
0a52aa5c53 | ||
|
|
591fc03ca2 | ||
|
|
ebd7b1249f | ||
|
|
1b6eeaf4ad | ||
|
|
1d3dac0e51 | ||
|
|
48da58b681 | ||
|
|
68639eadf0 | ||
|
|
dc77984c10 | ||
|
|
5b4e1cd694 | ||
|
|
3fbd974fa9 | ||
|
|
b457496297 | ||
|
|
dd83491169 | ||
|
|
a73a8fb993 | ||
|
|
fb7a99653d | ||
|
|
297d75a2b3 | ||
|
|
47c5bb159a | ||
|
|
610b2d178c | ||
|
|
bb45e551a3 | ||
|
|
77cf6177dc | ||
|
|
a830856df2 | ||
|
|
efe215f4d0 | ||
|
|
5e2e2f841c | ||
|
|
9da436ab2d | ||
|
|
5333b96c88 | ||
|
|
6561a11661 | ||
|
|
1c9334a52b | ||
|
|
2e00693a33 | ||
|
|
8617ce4562 | ||
|
|
78416ef452 | ||
|
|
9ad50af4dd | ||
|
|
a6f3d62a01 | ||
|
|
a25b5fc6b8 | ||
|
|
9e26e94e97 | ||
|
|
a571cb5f15 | ||
|
|
2e00c94d34 | ||
|
|
f1506b9aee | ||
|
|
2805471301 | ||
|
|
89f55e091f | ||
|
|
da6c47d0ff | ||
|
|
63cac73de3 | ||
|
|
c8ed5b0565 | ||
|
|
c6342fea49 | ||
|
|
7a3748f7e0 | ||
|
|
516b479c0c | ||
|
|
a43e059733 | ||
|
|
0ac79f4e46 | ||
|
|
c06744b3bb | ||
|
|
218a2c17a2 | ||
|
|
a629f6834b | ||
|
|
bf5337cf63 | ||
|
|
7713f0cd63 | ||
|
|
2711520666 | ||
|
|
4a6c0ba447 | ||
|
|
3f3281e2f4 | ||
|
|
0eadd3fe33 | ||
|
|
4bf42be80a | ||
|
|
d7f829737a | ||
|
|
25cc62c7c6 | ||
|
|
47596c7bca | ||
|
|
7129853902 | ||
|
|
f08466f702 | ||
|
|
4248d40917 | ||
|
|
7cf28366f4 | ||
|
|
037c82e22e | ||
|
|
6de13b12f9 | ||
|
|
cf69aa93e6 | ||
|
|
4b915b78b6 | ||
|
|
a891a62ffa | ||
|
|
7a768484a1 | ||
|
|
5f7af3309d | ||
|
|
1f3a1dabbc | ||
|
|
4b61495960 | ||
|
|
d091a37171 | ||
|
|
189b78d7d3 | ||
|
|
8ee7a31b97 | ||
|
|
055be66421 | ||
|
|
86a3e56a27 | ||
|
|
0db98e4182 | ||
|
|
3102596a3d | ||
|
|
41aa195785 | ||
|
|
954186265e | ||
|
|
33cced07c6 | ||
|
|
afbf6f360d | ||
|
|
df2be585a1 | ||
|
|
c81f527cb8 | ||
|
|
0f67382c27 | ||
|
|
b42b8ddfa3 | ||
|
|
f3efd409c6 | ||
|
|
9011b134d6 | ||
|
|
7c33bad362 | ||
|
|
e49a4d674f | ||
|
|
7872f192ed | ||
|
|
870bba0aa6 | ||
|
|
35c7b2b0cf | ||
|
|
9e6c8acca4 | ||
|
|
099bbdd328 | ||
|
|
720c5db2d0 | ||
|
|
659833c5bf | ||
|
|
5ea9bcdd8b | ||
|
|
3ec7c11797 | ||
|
|
7f899175d1 | ||
|
|
112edd1c8a | ||
|
|
819c1bbec4 | ||
|
|
6b6968561b | ||
|
|
24fbb69e25 | ||
|
|
79751732a3 | ||
|
|
e6e62ed2c8 | ||
|
|
8f2cbf4081 | ||
|
|
c25f501909 | ||
|
|
bf72a6bf78 | ||
|
|
a1380dbb8a | ||
|
|
501798a8cb | ||
|
|
a240bc2c19 | ||
|
|
a804a3866a | ||
|
|
069ffb80e9 | ||
|
|
5255080291 | ||
|
|
ae35d9f0d7 | ||
|
|
afbd653611 | ||
|
|
9a55111e1e | ||
|
|
422a3053b7 | ||
|
|
feb74ee09f | ||
|
|
7cebb2b7f1 | ||
|
|
8097c6283c | ||
|
|
8f08ef5ee4 | ||
|
|
fd26f16776 | ||
|
|
21a83df99d | ||
|
|
616acf0e37 | ||
|
|
3cff87cf97 | ||
|
|
9202d903a5 | ||
|
|
a9a9a56c09 | ||
|
|
aee7819a9c | ||
|
|
d3bc1c4725 | ||
|
|
d0474b22f9 | ||
|
|
5bd1f94be0 | ||
|
|
629fe1b615 | ||
|
|
c92b888ec2 | ||
|
|
5df42daa71 | ||
|
|
9349396d9a | ||
|
|
38425a05f9 | ||
|
|
9d1b99b08e | ||
|
|
4f7a762bf1 | ||
|
|
11cb2e0efd | ||
|
|
78f58bea19 | ||
|
|
a2e830d0c3 | ||
|
|
2ffab17caf | ||
|
|
49aba5c67b | ||
|
|
1b24177b68 | ||
|
|
bf7a967633 | ||
|
|
f5669e50a8 | ||
|
|
2ae0d0d454 | ||
|
|
241785846e | ||
|
|
0d6fd6950c | ||
|
|
bb99d6444c | ||
|
|
db4f114caf | ||
|
|
80d83da9c9 | ||
|
|
54e02e6263 | ||
|
|
c4af911f15 | ||
|
|
f9690ee772 | ||
|
|
623c6a7941 | ||
|
|
7a5129208c | ||
|
|
e15c56f1e2 | ||
|
|
5d808e436a | ||
|
|
20e40a5c49 | ||
|
|
885dae812d | ||
|
|
35bd91f7e8 | ||
|
|
305f2768bb | ||
|
|
5f733161c6 | ||
|
|
4fc13acd1a | ||
|
|
365f6a23c8 | ||
|
|
331d5751c3 | ||
|
|
dfb965edbc | ||
|
|
c7cc69fd73 | ||
|
|
d187aa885d | ||
|
|
b1b4535d9b | ||
|
|
b085a727f0 | ||
|
|
e548e1da63 | ||
|
|
c320634d3d | ||
|
|
af889a8818 | ||
|
|
c265975cbe | ||
|
|
a41a398e7e | ||
|
|
5edaf30601 | ||
|
|
df0c5259c0 | ||
|
|
10c25dbe44 | ||
|
|
2df37533a8 | ||
|
|
6392ee3f0f | ||
|
|
96ddce8b73 | ||
|
|
c88caefe5d | ||
|
|
eb26b7a123 | ||
|
|
c865b67398 | ||
|
|
89814777b4 | ||
|
|
de7e2d5f2a | ||
|
|
f51866236f | ||
|
|
a9eec83382 | ||
|
|
fd5739bbcd | ||
|
|
076e0bfe8e | ||
|
|
07d10c571b | ||
|
|
20cbff0255 | ||
|
|
b643f7fdf8 | ||
|
|
0607fcf261 | ||
|
|
1289e52600 | ||
|
|
fccc47483f | ||
|
|
5ffd99bd0e | ||
|
|
dffea37fad | ||
|
|
811076d432 | ||
|
|
1bdfb7d1e3 | ||
|
|
4a3ca1c074 | ||
|
|
9d50f55f71 | ||
|
|
b8e8e80acb | ||
|
|
c77320d4e7 | ||
|
|
59bc3141e8 | ||
|
|
dc73cc3a50 | ||
|
|
1433f14a0b | ||
|
|
6e3fc49517 | ||
|
|
d0f7da7ef6 | ||
|
|
b0776fb8b7 | ||
|
|
cae3e2323d | ||
|
|
ce8497e61f | ||
|
|
72eaac478f | ||
|
|
776d9891d9 | ||
|
|
6e37911462 | ||
|
|
d2cad3a9f7 | ||
|
|
3f94097f73 | ||
|
|
e45422755f | ||
|
|
09b5cb4be4 | ||
|
|
50f18ff803 | ||
|
|
6c733d54fc | ||
|
|
64bdb9fb76 | ||
|
|
389a3013b5 | ||
|
|
21c2012c15 | ||
|
|
e309c4a814 | ||
|
|
95a39e5a12 | ||
|
|
2c587dd848 | ||
|
|
07f67414a9 | ||
|
|
da4cbfd112 | ||
|
|
e392c1fcc7 | ||
|
|
eeacf9b969 | ||
|
|
cf13e2f7d5 | ||
|
|
5db530f4e8 | ||
|
|
d42e8115ec | ||
|
|
4f68414a8a | ||
|
|
9fd9eac16a | ||
|
|
c4e3ba10c6 | ||
|
|
3c632d4abc | ||
|
|
ccb2bab805 | ||
|
|
a5a0d389e2 | ||
|
|
97dbfad875 | ||
|
|
51ef1d127d | ||
|
|
31301c4717 | ||
|
|
b01a9edc1e | ||
|
|
ac1041fa10 | ||
|
|
f7a692248e | ||
|
|
49500f0926 | ||
|
|
77cf0f09b4 | ||
|
|
4292581840 | ||
|
|
d9018c44e7 | ||
|
|
490c61c225 | ||
|
|
021bcb3c65 | ||
|
|
8e433cc28e | ||
|
|
33972bed19 | ||
|
|
ed65bded13 | ||
|
|
c5e145e4f6 | ||
|
|
2c4a8a79ee | ||
|
|
42180012fe | ||
|
|
00268c8fac | ||
|
|
eabfcf7b82 | ||
|
|
264b444464 | ||
|
|
b1efb03958 | ||
|
|
821ce21e24 | ||
|
|
02b0fa9b6d | ||
|
|
315a897444 | ||
|
|
820f82e977 | ||
|
|
126eff7614 | ||
|
|
82eeaeb351 | ||
|
|
78f83eb2a5 | ||
|
|
e38a706931 | ||
|
|
8a8507395f | ||
|
|
e0faa6403f | ||
|
|
88391824eb | ||
|
|
b6f1c9cdb5 | ||
|
|
3a44d4cd0e | ||
|
|
e6f9ae3623 | ||
|
|
8fa08b09fa | ||
|
|
578b8842f7 | ||
|
|
1db167e5ca | ||
|
|
78020ca40a | ||
|
|
fcaa0ce41d | ||
|
|
6fed25bbfa | ||
|
|
eee137a324 | ||
|
|
3710e871a9 | ||
|
|
b3c6ce633d | ||
|
|
15048a317f | ||
|
|
527422876a | ||
|
|
11f307ec0d | ||
|
|
77706f22e4 | ||
|
|
9e56422df8 | ||
|
|
092ed83ca4 | ||
|
|
6078d30a94 | ||
|
|
9804cf0fce | ||
|
|
faed1cdfd6 | ||
|
|
7d5997cd43 | ||
|
|
72457d956e | ||
|
|
d55df8beb0 | ||
|
|
b2d238f8e1 | ||
|
|
837978da92 | ||
|
|
2005eab8cb | ||
|
|
f3b5b425c0 | ||
|
|
dcfdf5f852 | ||
|
|
77d31a4a99 | ||
|
|
b09c6d654c | ||
|
|
5a1116f359 | ||
|
|
e171aa66fe | ||
|
|
8883ac6358 | ||
|
|
92345f8f91 | ||
|
|
85f683371c | ||
|
|
79f6a0eeb9 | ||
|
|
19aed4e5ac | ||
|
|
719d2b5d90 | ||
|
|
e83648ec38 | ||
|
|
03f7847484 | ||
|
|
fd24f57de3 | ||
|
|
dff3f46ad9 | ||
|
|
afad3365bd | ||
|
|
98d94baa03 | ||
|
|
67f965d8dd | ||
|
|
1d0642a05a | ||
|
|
a132d3de22 | ||
|
|
a3c14cb999 | ||
|
|
b94fb7988d | ||
|
|
8903d2a53e | ||
|
|
cec3b70fbf | ||
|
|
fa10fe4190 | ||
|
|
0a327a3d81 | ||
|
|
41abad1ad9 | ||
|
|
ce68bb9c42 | ||
|
|
1ca341670e | ||
|
|
7b16478417 | ||
|
|
06013afc8b | ||
|
|
b0479c6334 | ||
|
|
5112c7caff | ||
|
|
de8249b584 | ||
|
|
3116729507 | ||
|
|
dd1a8dea33 | ||
|
|
54441eee06 | ||
|
|
8496d70756 | ||
|
|
9beeee2aac | ||
|
|
1c6ac4ac6a | ||
|
|
a8a654e168 | ||
|
|
2439524413 | ||
|
|
293224275d | ||
|
|
1f125619f3 | ||
|
|
9a546064cf | ||
|
|
5be9daa019 | ||
|
|
d6cb841d46 | ||
|
|
0095b2883b | ||
|
|
50e0fcb2b4 | ||
|
|
4a3d32960f | ||
|
|
414c2239ee | ||
|
|
f71bd0da19 | ||
|
|
9b59810c89 | ||
|
|
82fa4f1e74 | ||
|
|
d59ef9118f | ||
|
|
3b3a542b24 | ||
|
|
d6f1f5fb0c | ||
|
|
a2ec9162be | ||
|
|
e2f9dbf1e2 | ||
|
|
3d6cbd9a6b | ||
|
|
35e4826dc4 | ||
|
|
5b985a3cbe | ||
|
|
1be087a279 | ||
|
|
4afac4b3df | ||
|
|
473a170983 | ||
|
|
87c4d13abe | ||
|
|
e1972763ae | ||
|
|
f09a29318c | ||
|
|
aa28de4ba8 | ||
|
|
8e4c42ac05 | ||
|
|
0a1c588625 | ||
|
|
a6e85a6cda | ||
|
|
077564cd3e | ||
|
|
b8807f2289 | ||
|
|
71cef595ca | ||
|
|
eb00324edf | ||
|
|
f0670905b3 | ||
|
|
e53cc2ab71 | ||
|
|
f02ca8bd86 | ||
|
|
27bbbdc9df | ||
|
|
bda5a54754 | ||
|
|
935e666b7f | ||
|
|
b1043cfec1 | ||
|
|
ad64675119 | ||
|
|
e670b3776b | ||
|
|
10c4974cdf | ||
|
|
b6cbb97d7d | ||
|
|
c25421ceb6 | ||
|
|
041e28b61b | ||
|
|
3ad6dea425 | ||
|
|
051805c76d | ||
|
|
3acdf1f6b4 | ||
|
|
4f8eaf2d9b | ||
|
|
e7298c5201 | ||
|
|
03cbaa055a | ||
|
|
389847c9ca | ||
|
|
140d7c72e0 | ||
|
|
8e682201d7 | ||
|
|
5e272075f8 | ||
|
|
09d1e93404 | ||
|
|
7fe4fab1b7 | ||
|
|
24597b0aa1 | ||
|
|
149c1b4252 | ||
|
|
186b2c132d | ||
|
|
34689f75ec | ||
|
|
c24d4f17a4 | ||
|
|
3967b319ad | ||
|
|
53bed9e015 | ||
|
|
e33902b912 | ||
|
|
f65d2067ba | ||
|
|
f6c86e4b56 | ||
|
|
8c952663ac | ||
|
|
076fdb37a9 | ||
|
|
f393acb343 | ||
|
|
27dcedbeaa | ||
|
|
b531dacb25 | ||
|
|
f98627d5e7 | ||
|
|
24237a7cff | ||
|
|
9ea0a7699e | ||
|
|
57e43fe5d7 | ||
|
|
6575516c36 | ||
|
|
12f2732dc1 | ||
|
|
41499c184b | ||
|
|
e0ed777f68 | ||
|
|
6c78449c86 | ||
|
|
4a6f855bd7 | ||
|
|
dece3b5514 | ||
|
|
d7fe17e9b3 | ||
|
|
92b5c37a53 | ||
|
|
cf6507aa71 | ||
|
|
e45c373920 | ||
|
|
3a81a99f3d | ||
|
|
33881adca5 | ||
|
|
6bee941a8a | ||
|
|
4033961323 | ||
|
|
b63db8d513 | ||
|
|
fd97a7853d | ||
|
|
ca665d9fc8 | ||
|
|
0e9d6ac391 | ||
|
|
602682b88d | ||
|
|
1d52c9f469 | ||
|
|
2c93444385 | ||
|
|
7b4b6323bf | ||
|
|
911a86dbf1 | ||
|
|
c5381df38a | ||
|
|
e1249dccee | ||
|
|
128b5d81cc | ||
|
|
ac49c3f297 | ||
|
|
7834cf634f | ||
|
|
30330c175e | ||
|
|
8233f15315 | ||
|
|
a5ca7187c7 | ||
|
|
ab02e9771e | ||
|
|
118ee9db28 | ||
|
|
fcf0ac9843 | ||
|
|
043aeccda7 | ||
|
|
a152b70a6f | ||
|
|
1170822dad | ||
|
|
168fa1da10 | ||
|
|
9792c7b900 | ||
|
|
f1aa365958 | ||
|
|
621ec356fd | ||
|
|
7e3ffffd9a | ||
|
|
266667a6df | ||
|
|
22e70d03ad | ||
|
|
f320c8a865 | ||
|
|
bf3ddcc122 | ||
|
|
a94fb328de | ||
|
|
a79819bb65 | ||
|
|
fedbb698ab | ||
|
|
928fba3b37 | ||
|
|
3b88b78b34 | ||
|
|
4e064786e0 | ||
|
|
447c6ce343 | ||
|
|
8ce9380afe | ||
|
|
d275e9353f | ||
|
|
8f17b49287 | ||
|
|
f37872e209 | ||
|
|
b34fb42f94 | ||
|
|
cbcf7c845d | ||
|
|
4be7cdc6c7 | ||
|
|
55a78eb845 | ||
|
|
52a1e0dd5b | ||
|
|
34e9c39d9b | ||
|
|
b83ec3520b | ||
|
|
0cd54eb2e4 | ||
|
|
c4bfbcf1e6 | ||
|
|
42dea70a80 | ||
|
|
7ecc3e578f | ||
|
|
94731c96b8 | ||
|
|
8a58426d89 | ||
|
|
ddfbb64359 | ||
|
|
cb54fa34a8 | ||
|
|
f32553846f | ||
|
|
5d56311d5e | ||
|
|
65c874508e | ||
|
|
830c84a62e | ||
|
|
8b666ed287 | ||
|
|
6d5d87f04d | ||
|
|
ef3efe2380 | ||
|
|
a923a597f3 | ||
|
|
e4af381d0c | ||
|
|
350b943066 | ||
|
|
1cf3a52afa | ||
|
|
10821a478b | ||
|
|
3a6b1adc47 | ||
|
|
ad476d8de4 | ||
|
|
a472169c9d | ||
|
|
dcc49a10e5 | ||
|
|
3ea3c32d06 | ||
|
|
25d500c44e | ||
|
|
7312330448 | ||
|
|
0fa0213eac | ||
|
|
314356de36 | ||
|
|
c9b0590be4 | ||
|
|
e8029abdcb | ||
|
|
7eaa14d196 | ||
|
|
bc11b2118f | ||
|
|
ba5e76edae | ||
|
|
47c7af2918 | ||
|
|
d0b22aca17 | ||
|
|
707136d2fc | ||
|
|
3e567a192c | ||
|
|
d12733bd48 | ||
|
|
d0ddbce414 | ||
|
|
19cec83ce4 | ||
|
|
ac8f56c85e | ||
|
|
c16cbd0978 | ||
|
|
fcc9e1f99f | ||
|
|
754e41645f | ||
|
|
821859d2a7 | ||
|
|
a363e2b12b | ||
|
|
5dcbae4eda | ||
|
|
9ba13ef8e9 | ||
|
|
efb3532928 | ||
|
|
aee97ad3f5 | ||
|
|
6606b6f9de | ||
|
|
8aae830452 | ||
|
|
16d64b3a0d | ||
|
|
d3e0fee01f | ||
|
|
e2581bf8dd | ||
|
|
a50e86ac1a | ||
|
|
e1f48d4475 | ||
|
|
38ad6d49fe | ||
|
|
8dc255f0a6 | ||
|
|
d6ea577e25 | ||
|
|
d7b0e99c4a | ||
|
|
95084aef73 | ||
|
|
c8657e46c5 | ||
|
|
b2e81621e6 | ||
|
|
2e4d35f2c4 | ||
|
|
e2ce24a9f3 | ||
|
|
d1d0d0afb0 | ||
|
|
6781b41d34 | ||
|
|
ded2d5fb66 | ||
|
|
2ad06e937f | ||
|
|
256b2389cd | ||
|
|
6fdcd9f8c1 | ||
|
|
d93874f667 | ||
|
|
3d69790f23 | ||
|
|
f4f1463a7f | ||
|
|
a63fa8eb6b | ||
|
|
2f538d4b66 | ||
|
|
9f744942b3 | ||
|
|
5460644837 | ||
|
|
b589a67ce3 | ||
|
|
d4ab586dfb | ||
|
|
f904492136 | ||
|
|
58fa085ba2 | ||
|
|
fd7d707315 | ||
|
|
5b09ae581c | ||
|
|
bda0661723 | ||
|
|
74ae53e150 | ||
|
|
57ce10c724 | ||
|
|
a1464936be | ||
|
|
7761216e4f | ||
|
|
cfe352743f | ||
|
|
c5c8b3d72f | ||
|
|
8365e5cc4f | ||
|
|
46311a51e0 | ||
|
|
e03defc3f2 | ||
|
|
cd2b6c91e5 | ||
|
|
268c7fe8b0 | ||
|
|
8c9ff1a302 | ||
|
|
63679fb957 | ||
|
|
da32e0ebdf | ||
|
|
35fde9ec4b | ||
|
|
c80c74f3f4 | ||
|
|
62e90354c3 | ||
|
|
71c8d45b79 | ||
|
|
551ebde070 | ||
|
|
4ad7e852f5 | ||
|
|
15b6327202 | ||
|
|
1953dc554e | ||
|
|
dca9b471f0 | ||
|
|
988f685be0 | ||
|
|
3b0d6dc723 | ||
|
|
63b86d8434 | ||
|
|
957850f7cc | ||
|
|
c2d43d8e78 | ||
|
|
fdb5918774 | ||
|
|
073e1fc21e | ||
|
|
d36ea56732 | ||
|
|
a2aaba7886 | ||
|
|
a94ce9c091 | ||
|
|
30ae17674c | ||
|
|
ab9209d61d | ||
|
|
53807d67cd | ||
|
|
2c3cf7f163 | ||
|
|
afb9e2a162 | ||
|
|
fbfb570c59 | ||
|
|
9feb073c07 | ||
|
|
cb7a549a6f | ||
|
|
42483033d5 | ||
|
|
a26f9dd89c | ||
|
|
5915ca3e47 | ||
|
|
01b79bf2a3 | ||
|
|
ebc194331f | ||
|
|
69046b28bf | ||
|
|
5f8011d4e0 | ||
|
|
5fff20b107 | ||
|
|
4413fbc934 | ||
|
|
7535c36cad | ||
|
|
74d4c80a4f | ||
|
|
6768468a60 | ||
|
|
9243b011fd | ||
|
|
2f7fbaea54 | ||
|
|
7f401d74ba | ||
|
|
d9092f4f18 | ||
|
|
71a4350259 | ||
|
|
a7aed0ddf3 | ||
|
|
16876375df | ||
|
|
deeb7ff3fa | ||
|
|
a8d13bb998 | ||
|
|
411445901e | ||
|
|
ceda31c80e | ||
|
|
c558e9908c | ||
|
|
db7775fbae | ||
|
|
8e0b0ce2a7 | ||
|
|
74594adcdb | ||
|
|
9d6df6c80b | ||
|
|
9c6fb2e12d | ||
|
|
93c8844fd2 | ||
|
|
5865e0c39d | ||
|
|
1d3d1a9a3c | ||
|
|
dd28160d17 | ||
|
|
312a3d5ae9 | ||
|
|
efbbe19d12 | ||
|
|
a4ceb1a42d | ||
|
|
c14434690d | ||
|
|
4879a923d7 | ||
|
|
05247bc026 | ||
|
|
97d5956c02 | ||
|
|
45741b1720 | ||
|
|
50d462e806 | ||
|
|
f215800b1e | ||
|
|
185263dc22 | ||
|
|
bc7460d801 | ||
|
|
376a462c2d | ||
|
|
480f742838 | ||
|
|
be0c910432 | ||
|
|
719ee03ba4 | ||
|
|
c47a628aea | ||
|
|
a4db26f764 | ||
|
|
55785bdf9e | ||
|
|
3866095240 | ||
|
|
59641b3ebb | ||
|
|
01e15bf58b | ||
|
|
9a397e5f50 | ||
|
|
b2e089fe47 | ||
|
|
21399daff1 | ||
|
|
f68ca213a8 | ||
|
|
bbce2ad0a6 | ||
|
|
be72063a3c | ||
|
|
fe270e55c7 | ||
|
|
dce82f86cd | ||
|
|
1667d831ad | ||
|
|
34679bc07c |
No files matched your search
+405
@@ -0,0 +1,405 @@
|
||||
# ---> VisualStudio
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.tlog
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*.json
|
||||
coverage*.xml
|
||||
coverage*.info
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
*.bak
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
||||
*.vbp
|
||||
|
||||
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
||||
*.dsw
|
||||
*.dsp
|
||||
|
||||
# Visual Studio 6 technical files
|
||||
*.ncb
|
||||
*.aps
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# Visual Studio History (VSHistory) files
|
||||
.vshistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
||||
# VS Code files for those working on multiple tools
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Windows Installer files from build outputs
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# JetBrains Rider
|
||||
*.sln.iml
|
||||
|
||||
/fmtall
|
||||
/genmacall
|
||||
*AssemblyInfo.cs
|
||||
/PROMS/Baseline/Baseline.sln
|
||||
@@ -5,8 +5,9 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -18,11 +19,20 @@
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AdjustBuildRevision</RootNamespace>
|
||||
<AssemblyName>AdjustBuildRevision</AssemblyName>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
@@ -33,6 +43,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -41,14 +53,17 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = ""
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdjustBuildRevision", "AdjustBuildRevision.csproj", "{D1AB675E-828D-4781-BACD-8A2324CD84A5}"
|
||||
ProjectSection(WebsiteProperties) = preProject
|
||||
Debug.AspNetCompiler.Debug = "True"
|
||||
Release.AspNetCompiler.Debug = "False"
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SourceCodeControl) = preSolution
|
||||
SccNumberOfProjects = 2
|
||||
SccProjectUniqueName0 = AdjustBuildRevision.csproj
|
||||
SccLocalPath0 = .
|
||||
SccLocalPath1 = .
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|x86.Build.0 = Debug|x86
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|x86.ActiveCfg = Release|x86
|
||||
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = ""
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
|
||||
}
|
||||
@@ -32,9 +32,9 @@ namespace AdjustBuildRevision
|
||||
{
|
||||
// Allow for setting build revision on either proms or the roeditor:
|
||||
if (Directory.GetCurrentDirectory().ToUpper().Contains("REFOBJ"))
|
||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.1.yyMM.dHH") + "\")");
|
||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.4.yyMM.dHH") + "\")");
|
||||
else
|
||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.0.yyMM.dHH") + "\")");
|
||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.3.yyMM.dHH") + "\")");
|
||||
// if (outline != line)
|
||||
// {
|
||||
// Console.WriteLine("Before: '{0}'", line);
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/></startup></configuration>
|
||||
@@ -1,105 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.21005.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLConvert", "XMLConvert\XMLConvert.csproj", "{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CPPConvert", "CPPConvert\CPPConvert.csproj", "{1153363A-3395-4BBA-A507-4FA69132CDFC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConvertAlarms", "ConvertAlarms\ConvertAlarms.csproj", "{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConvertLocalAlarms", "ConvertLocalAlarms\ConvertLocalAlarms.csproj", "{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReadFile", "ReadFile\ReadFile.csproj", "{D83BC593-811C-4D32-81B2-9C6031AFDAF5}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SourceCodeControl) = preSolution
|
||||
SccNumberOfProjects = 6
|
||||
SccLocalPath0 = .
|
||||
SccProjectUniqueName1 = ConvertAlarms\\ConvertAlarms.csproj
|
||||
SccLocalPath1 = .
|
||||
SccProjectFilePathRelativizedFromConnection1 = ConvertAlarms\\
|
||||
SccProjectUniqueName2 = ConvertLocalAlarms\\ConvertLocalAlarms.csproj
|
||||
SccLocalPath2 = .
|
||||
SccProjectFilePathRelativizedFromConnection2 = ConvertLocalAlarms\\
|
||||
SccProjectUniqueName3 = CPPConvert\\CPPConvert.csproj
|
||||
SccLocalPath3 = .
|
||||
SccProjectFilePathRelativizedFromConnection3 = CPPConvert\\
|
||||
SccProjectUniqueName4 = ReadFile\\ReadFile.csproj
|
||||
SccLocalPath4 = .
|
||||
SccProjectFilePathRelativizedFromConnection4 = ReadFile\\
|
||||
SccProjectUniqueName5 = XMLConvert\\XMLConvert.csproj
|
||||
SccLocalPath5 = .
|
||||
SccProjectFilePathRelativizedFromConnection5 = XMLConvert\\
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mixed Platforms = Release|Mixed Platforms
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Debug|x86.Build.0 = Debug|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|x86.ActiveCfg = Release|x86
|
||||
{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}.Release|x86.Build.0 = Release|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Debug|x86.Build.0 = Debug|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|x86.ActiveCfg = Release|x86
|
||||
{1153363A-3395-4BBA-A507-4FA69132CDFC}.Release|x86.Build.0 = Release|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Debug|x86.Build.0 = Debug|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|x86.ActiveCfg = Release|x86
|
||||
{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}.Release|x86.Build.0 = Release|x86
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D83BC593-811C-4D32-81B2-9C6031AFDAF5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = ""
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{1153363A-3395-4BBA-A507-4FA69132CDFC}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CPPConvert</RootNamespace>
|
||||
<AssemblyName>CPPConvert</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Csla">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.0.0.11, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL" />
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="VEPROMS.CSLA.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="frmCPPConvert.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmCPPConvert.Designer.cs">
|
||||
<DependentUpon>frmCPPConvert.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="frmCPPConvert.resx">
|
||||
<DependentUpon>frmCPPConvert.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = "relative:CPPConvert"
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CPPConvert
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new frmCPPConvert());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("CPPConvert")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("CPPConvert")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1e1f432a-54d7-4c79-a5ed-c8c863ca75b0")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,63 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace CPPConvert.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CPPConvert.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace CPPConvert.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,236 +0,0 @@
|
||||
namespace CPPConvert
|
||||
{
|
||||
partial class frmCPPConvert
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCPPConvert));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tbFile = new System.Windows.Forms.TextBox();
|
||||
this.tbResults = new System.Windows.Forms.TextBox();
|
||||
this.btnBrowse = new System.Windows.Forms.Button();
|
||||
this.tbDest = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.btnBrowseDest = new System.Windows.Forms.Button();
|
||||
this.fbd = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.ofd = new System.Windows.Forms.OpenFileDialog();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.processToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.pb = new DevComponents.DotNetBar.Controls.ProgressBarX();
|
||||
this.testToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(14, 30);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(47, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "CPP File";
|
||||
//
|
||||
// tbFile
|
||||
//
|
||||
this.tbFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbFile.Location = new System.Drawing.Point(83, 27);
|
||||
this.tbFile.Name = "tbFile";
|
||||
this.tbFile.Size = new System.Drawing.Size(482, 20);
|
||||
this.tbFile.TabIndex = 1;
|
||||
this.tbFile.Text = "C:\\Development\\Proms\\Barakah\\SGTR\\1N2-OP-EOP-RC-0002 Rev00 - Steam Generator Tube" +
|
||||
" Rupture (CPS-CPP).cpp";
|
||||
//
|
||||
// tbResults
|
||||
//
|
||||
this.tbResults.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbResults.Location = new System.Drawing.Point(12, 124);
|
||||
this.tbResults.Multiline = true;
|
||||
this.tbResults.Name = "tbResults";
|
||||
this.tbResults.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tbResults.Size = new System.Drawing.Size(637, 169);
|
||||
this.tbResults.TabIndex = 3;
|
||||
//
|
||||
// btnBrowse
|
||||
//
|
||||
this.btnBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowse.Location = new System.Drawing.Point(571, 25);
|
||||
this.btnBrowse.Name = "btnBrowse";
|
||||
this.btnBrowse.Size = new System.Drawing.Size(72, 23);
|
||||
this.btnBrowse.TabIndex = 4;
|
||||
this.btnBrowse.Text = "Browse...";
|
||||
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
//
|
||||
// tbDest
|
||||
//
|
||||
this.tbDest.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbDest.Location = new System.Drawing.Point(83, 53);
|
||||
this.tbDest.Name = "tbDest";
|
||||
this.tbDest.Size = new System.Drawing.Size(482, 20);
|
||||
this.tbDest.TabIndex = 5;
|
||||
this.tbDest.Text = "C:\\Development\\Proms\\Barakah\\EOP CPPs\\Output";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(14, 53);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(60, 13);
|
||||
this.label2.TabIndex = 6;
|
||||
this.label2.Text = "Destination";
|
||||
//
|
||||
// btnBrowseDest
|
||||
//
|
||||
this.btnBrowseDest.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowseDest.Location = new System.Drawing.Point(571, 50);
|
||||
this.btnBrowseDest.Name = "btnBrowseDest";
|
||||
this.btnBrowseDest.Size = new System.Drawing.Size(72, 23);
|
||||
this.btnBrowseDest.TabIndex = 7;
|
||||
this.btnBrowseDest.Text = "Browse...";
|
||||
this.btnBrowseDest.UseVisualStyleBackColor = true;
|
||||
this.btnBrowseDest.Click += new System.EventHandler(this.btnBrowseDest_Click);
|
||||
//
|
||||
// ofd
|
||||
//
|
||||
this.ofd.FileName = "openFileDialog1";
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(661, 24);
|
||||
this.menuStrip1.TabIndex = 8;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.processToolStripMenuItem,
|
||||
this.allToolStripMenuItem,
|
||||
this.testToolStripMenuItem,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// processToolStripMenuItem
|
||||
//
|
||||
this.processToolStripMenuItem.Name = "processToolStripMenuItem";
|
||||
this.processToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.processToolStripMenuItem.Text = "&Process";
|
||||
this.processToolStripMenuItem.Click += new System.EventHandler(this.processToolStripMenuItem_Click);
|
||||
//
|
||||
// allToolStripMenuItem
|
||||
//
|
||||
this.allToolStripMenuItem.Name = "allToolStripMenuItem";
|
||||
this.allToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.allToolStripMenuItem.Text = "&All";
|
||||
this.allToolStripMenuItem.Click += new System.EventHandler(this.allToolStripMenuItem_Click);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.exitToolStripMenuItem.Text = "E&xit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
// pb
|
||||
//
|
||||
this.pb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
//
|
||||
//
|
||||
this.pb.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.pb.Location = new System.Drawing.Point(12, 91);
|
||||
this.pb.Name = "pb";
|
||||
this.pb.Size = new System.Drawing.Size(637, 23);
|
||||
this.pb.TabIndex = 9;
|
||||
this.pb.Text = "progressBarX1";
|
||||
//
|
||||
// testToolStripMenuItem
|
||||
//
|
||||
this.testToolStripMenuItem.Name = "testToolStripMenuItem";
|
||||
this.testToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.testToolStripMenuItem.Text = "&Test";
|
||||
this.testToolStripMenuItem.Click += new System.EventHandler(this.testToolStripMenuItem_Click);
|
||||
//
|
||||
// frmCPPConvert
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(661, 305);
|
||||
this.Controls.Add(this.pb);
|
||||
this.Controls.Add(this.btnBrowseDest);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.tbDest);
|
||||
this.Controls.Add(this.btnBrowse);
|
||||
this.Controls.Add(this.tbResults);
|
||||
this.Controls.Add(this.tbFile);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Name = "frmCPPConvert";
|
||||
this.Text = "Extract XML and Image Files";
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tbFile;
|
||||
private System.Windows.Forms.TextBox tbResults;
|
||||
private System.Windows.Forms.Button btnBrowse;
|
||||
private System.Windows.Forms.TextBox tbDest;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button btnBrowseDest;
|
||||
private System.Windows.Forms.FolderBrowserDialog fbd;
|
||||
private System.Windows.Forms.OpenFileDialog ofd;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem processToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private DevComponents.DotNetBar.Controls.ProgressBarX pb;
|
||||
private System.Windows.Forms.ToolStripMenuItem allToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem testToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,310 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace CPPConvert
|
||||
{
|
||||
public partial class frmCPPConvert : Form
|
||||
{
|
||||
public frmCPPConvert()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
private long _Offset;
|
||||
private static long _lastPos = 0l;
|
||||
private void ReadRecord(BinaryReader br)
|
||||
{
|
||||
long curPos = FS.Position;
|
||||
int nxtPos = PathStartList[0];
|
||||
if (nxtPos - 4 != curPos)
|
||||
{
|
||||
Console.WriteLine("curpos, nxtpos, lastpos\t{0:X08}\t{1:X08}", curPos - _lastPos, nxtPos- _lastPos);
|
||||
FS.Seek(nxtPos - 4, SeekOrigin.Begin);
|
||||
}
|
||||
PathStartList.RemoveAt(0);
|
||||
_lastPos = FS.Position;
|
||||
string filePath = ReadString(br);
|
||||
Console.WriteLine(filePath.Substring(120,filePath.Length-120));
|
||||
string type = ReadString(br);
|
||||
int pos = (int) FS.Position;
|
||||
byte [] buf = ReadBuffer(br);
|
||||
int size = buf.Length;
|
||||
if (buf.Length > 4 && StartsWith(buf, "<?xml"))
|
||||
{
|
||||
int HowMany0Ds = 0;
|
||||
int HowMany0As = 0;
|
||||
int j = 0;
|
||||
while (j < buf.Length - HowMany0As - HowMany0Ds)
|
||||
{
|
||||
if (buf[j] == 0x0D) HowMany0Ds++;
|
||||
if (buf[j] == 0x0A) HowMany0As++;
|
||||
j++;
|
||||
}
|
||||
int misMatch = HowMany0As - HowMany0Ds;
|
||||
if (misMatch > 0)
|
||||
{
|
||||
FS.Position = pos + buf.Length + 4 - misMatch;
|
||||
size -= misMatch;
|
||||
}
|
||||
}
|
||||
|
||||
//Console.WriteLine("filePath={0}\r\ntype={1}", filePath, type);
|
||||
if(type.ToLower().Contains("procedure"))
|
||||
{
|
||||
tbResults.AppendText(string.Format("Extracted {0}\r\n",PartialName(filePath,type)));
|
||||
SaveFile(filePath,type,buf,size);
|
||||
}
|
||||
}
|
||||
private string PartialName(string filePath, string type)
|
||||
{
|
||||
int skipSlashes = 2 +type.Length - type.Replace("/", "").Length;
|
||||
int start = filePath.Length;
|
||||
while(skipSlashes-- > 0)
|
||||
start = filePath.LastIndexOf('/', start-1);
|
||||
return filePath.Substring(start+1);
|
||||
}
|
||||
private void SaveFile(string filePath, string type, byte[] buf,int size)
|
||||
{
|
||||
string fn = (tbDest.Text.EndsWith("/") ? tbDest.Text : tbDest.Text + "/") + PartialName(filePath, type);
|
||||
BuildPath(fn);
|
||||
FileStream fs = File.Create(fn);
|
||||
BinaryWriter bw = new BinaryWriter(fs);
|
||||
if (filePath.ToUpper().EndsWith(".PNG") && buf[4]==0xA)
|
||||
{
|
||||
bw.Write(buf, 0, 4);
|
||||
bw.Write(Encoding.ASCII.GetBytes("\xD"));
|
||||
bw.Write(buf, 4, size-4);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
bw.Write(buf,0,size);
|
||||
bw.Close();
|
||||
}
|
||||
private void BuildPath(string fn)
|
||||
{
|
||||
FileInfo fi = new FileInfo(fn);
|
||||
fi.Directory.Create();
|
||||
}
|
||||
private string ReadString(BinaryReader br)
|
||||
{
|
||||
byte[] buffer = ReadBuffer(br);
|
||||
return Encoding.BigEndianUnicode.GetString(buffer, 0, buffer.Length);
|
||||
}
|
||||
private byte[] ReadBuffer(BinaryReader br)
|
||||
{
|
||||
int size = ReadBytesToInt32(br);
|
||||
if (size == -1) size = 0;
|
||||
if(size > FS.Length || size < 0)
|
||||
throw(new Exception(string.Format("Location {0:X08} has a buffer that is too big {1:X08}",FS.Position,size)));
|
||||
byte[] buffer = new byte[size];
|
||||
br.Read(buffer, 0, size);
|
||||
_Offset += size;
|
||||
return buffer;
|
||||
}
|
||||
private int ReadBytesToInt32(BinaryReader br)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
long off = Offset;
|
||||
br.Read(buffer, 0, 4);
|
||||
int i = BitConverter.ToInt32(buffer.Reverse().ToArray(), 0);
|
||||
//if(i>255) Console.WriteLine("{0:X8} - {1:X8}", off,i);
|
||||
_Offset += 4;
|
||||
return i;
|
||||
}
|
||||
private void btnBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
ofd.FileName = tbFile.Text;
|
||||
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
tbFile.Text = ofd.FileName;
|
||||
}
|
||||
private void btnBrowseDest_Click(object sender, EventArgs e)
|
||||
{
|
||||
fbd.SelectedPath = tbDest.Text;
|
||||
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
tbDest.Text = fbd.SelectedPath;
|
||||
}
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
public long Offset
|
||||
{
|
||||
get
|
||||
{
|
||||
return FS.Seek(0, SeekOrigin.Current);
|
||||
}
|
||||
}
|
||||
FileStream _FS;
|
||||
public FileStream FS
|
||||
{
|
||||
get { return _FS; }
|
||||
set { _FS = value; }
|
||||
}
|
||||
private List<int> _PathStartList;
|
||||
|
||||
public List<int> PathStartList
|
||||
{
|
||||
get { return _PathStartList; }
|
||||
set { _PathStartList = value; }
|
||||
}
|
||||
private List<int> GetPathStartList(string findIt,FileStream fs)
|
||||
{
|
||||
List<int> lst= new List<int>();
|
||||
BinaryReader br = new BinaryReader(FS);
|
||||
int buflen = (int) FS.Length;
|
||||
byte [] buf =br.ReadBytes(buflen);
|
||||
byte[] bFindIt = Encoding.BigEndianUnicode.GetBytes(findIt);
|
||||
int findlen = bFindIt.Length;
|
||||
pb.Text = "Looking for C:/";
|
||||
pb.Maximum = (int) fs.Length;
|
||||
for (int i = 0; i < buflen - 4; i++)
|
||||
{
|
||||
if (buf[i] == bFindIt[0])
|
||||
{
|
||||
int k=0;
|
||||
for (; k < findlen; k++)
|
||||
if (buf[k + i] != bFindIt[k])
|
||||
break;
|
||||
if (k == findlen) lst.Add(i);
|
||||
}
|
||||
pb.Value = i;
|
||||
}
|
||||
pb.Text = "Done";
|
||||
br.Close();
|
||||
return lst;
|
||||
}
|
||||
|
||||
private bool Foundit(byte[] buf, int offset, byte [] bFindIt)
|
||||
{
|
||||
for (int i = 0; i < bFindIt.Length; i++)
|
||||
if (buf[i + offset] != (int)bFindIt[i])
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
private void processToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbResults.Clear();
|
||||
ConvertCPP(tbFile.Text);
|
||||
pb.Text = "All Done";
|
||||
}
|
||||
|
||||
private void ConvertCPP(string fileName)
|
||||
{
|
||||
FS = File.OpenRead(fileName);
|
||||
PathStartList = GetPathStartList("C:/", FS);
|
||||
//Console.WriteLine("===> {0} Paths", PathStartList.Count);
|
||||
FS = File.OpenRead(fileName);
|
||||
BinaryReader br = new BinaryReader(FS);
|
||||
try
|
||||
{
|
||||
_Offset = 0;
|
||||
int nRecords = ReadBytesToInt32(br);
|
||||
//Console.WriteLine("===> {0} Records", nRecords);
|
||||
int i = 0;
|
||||
pb.Text = "Splitting File";
|
||||
pb.Maximum = nRecords;
|
||||
while (_Offset < FS.Length && nRecords-- > 0)
|
||||
{
|
||||
ReadRecord(br);
|
||||
pb.Value = ++i;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tbResults.AppendText(string.Format("{0} - {1}-{2}\r\n{3}\r\n\r\n", fileName, ex.GetType().Name, ex.Message, ex.StackTrace));
|
||||
}
|
||||
finally
|
||||
{
|
||||
br.Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void allToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbResults.Clear();
|
||||
FileInfo[] myFiles = new FileInfo(tbFile.Text).Directory.GetFiles("*.cpp");
|
||||
foreach (FileInfo fi in myFiles)
|
||||
ConvertCPP(fi.FullName);
|
||||
pb.Text = "All Done";
|
||||
}
|
||||
|
||||
private void testToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FS = File.OpenRead(tbFile.Text);
|
||||
PathStartList = GetPathStartList("C:/", FS);
|
||||
FS = File.OpenRead(tbFile.Text);
|
||||
BinaryReader br = new BinaryReader(FS);
|
||||
int nRecords = ReadBytesToInt32(br);
|
||||
int bytesRead = 4;
|
||||
int countByThree = 0;
|
||||
while (bytesRead < FS.Length)
|
||||
{
|
||||
if(countByThree % 3 == 0)
|
||||
{
|
||||
long curPos = FS.Position;
|
||||
int nxtPos = PathStartList[0];
|
||||
if (nxtPos - 4 != curPos)
|
||||
{
|
||||
Console.WriteLine("curpos, nxtpos, lastpos\t{0:X08}\t{1:X08}", curPos - _lastPos, nxtPos - _lastPos);
|
||||
FS.Seek(nxtPos - 4, SeekOrigin.Begin);
|
||||
}
|
||||
PathStartList.RemoveAt(0);
|
||||
}
|
||||
_lastPos = FS.Position;
|
||||
long pos = FS.Position;
|
||||
int size = ReadBytesToInt32(br);
|
||||
bytesRead += 4;
|
||||
byte[] buf = br.ReadBytes(size);
|
||||
bytesRead += size;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(string.Format("{0:D4} {1:X08} {2:X08} ",countByThree ,pos,size));
|
||||
for (int i = 0; i < 120 && i < size; i++)
|
||||
{
|
||||
if(buf[i] < 0x20)
|
||||
sb.Append('.');
|
||||
else
|
||||
sb.Append((char) buf[i]);
|
||||
}
|
||||
Console.WriteLine(sb.ToString());
|
||||
if (StartsWith(buf, "<?xml"))
|
||||
{
|
||||
int HowMany0Ds = 0;
|
||||
int HowMany0As = 0;
|
||||
int j = 0;
|
||||
while (j < buf.Length - HowMany0As - HowMany0Ds)
|
||||
{
|
||||
if (buf[j] == 0x0D) HowMany0Ds++;
|
||||
if (buf[j] == 0x0A) HowMany0As++;
|
||||
j++;
|
||||
}
|
||||
int misMatch = HowMany0As - HowMany0Ds;
|
||||
if (misMatch > 0)
|
||||
{
|
||||
FS.Position = pos + size + 4 - misMatch;
|
||||
bytesRead -= misMatch;
|
||||
}
|
||||
}
|
||||
countByThree++;
|
||||
}
|
||||
}
|
||||
|
||||
private bool StartsWith(byte[] buf, string findIt)
|
||||
{
|
||||
byte[] bFindIt = Encoding.ASCII.GetBytes(findIt);
|
||||
int findlen = bFindIt.Length;
|
||||
int k=0;
|
||||
for (; k < findlen; k++)
|
||||
if (buf[k] != bFindIt[k])
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="ConvertAlarms.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<ConvertAlarms.Properties.Settings>
|
||||
<setting name="Size" serializeAs="String">
|
||||
<value>1000, 600</value>
|
||||
</setting>
|
||||
<setting name="Location" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="FileName" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="Split1" serializeAs="String">
|
||||
<value>250</value>
|
||||
</setting>
|
||||
<setting name="SqlServer" serializeAs="String">
|
||||
<value>.\Sql2008Express</value>
|
||||
</setting>
|
||||
<setting name="Database" serializeAs="String">
|
||||
<value>VEPROMS_Barakah</value>
|
||||
</setting>
|
||||
<setting name="ProcedureSet" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</ConvertAlarms.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
@@ -1,145 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{8185CA5B-2403-450A-9989-C7E4A2A5D7A1}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ConvertAlarms</RootNamespace>
|
||||
<AssemblyName>ConvertAlarms</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" />
|
||||
<Reference Include="Csla">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=12.5.0.2, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files\DotNetBar for Windows Forms\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS User Interface\bin\Debug\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="VEPROMS.CSLA.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Controls.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\Volian.Controls.Library\bin\Debug\Volian.Controls.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ConvertTable.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertAlarms.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertAlarms.Designer.cs">
|
||||
<DependentUpon>frmConvertAlarms.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SaveProcedure.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="frmConvertAlarms.resx">
|
||||
<DependentUpon>frmConvertAlarms.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = "relative:ConvertAlarms"
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,197 +0,0 @@
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
|
||||
namespace ConvertAlarms
|
||||
{
|
||||
public partial class frmConvertAlarms
|
||||
{
|
||||
private static string GetTableText()
|
||||
{
|
||||
return _MyFlexGrid.GetSearchableText();
|
||||
}
|
||||
private static void LoadTable2(XmlNode xn, StepLookup mySteps, int level)
|
||||
{
|
||||
XmlNode xn2 = xn.SelectSingleNode("tr/td/table");
|
||||
if (xn2 != null) xn = xn2;
|
||||
VlnFlexGrid fg = _MyFlexGrid;
|
||||
fg.Font = new Font("Arial", 11, FontStyle.Regular, GraphicsUnit.Point);
|
||||
fg.Clear();
|
||||
fg.Rows.Count = 1;
|
||||
fg.Cols.Count = 1;
|
||||
int rows = 0;
|
||||
fg.MergedRanges.Clear();
|
||||
foreach (XmlNode xr in xn.ChildNodes)
|
||||
{
|
||||
if (xr.Name == "tr")
|
||||
{
|
||||
++rows;
|
||||
AddTableRow(xr, fg, rows);
|
||||
}
|
||||
}
|
||||
fg.MyBorders = new VlnBorders(GridLinePattern.Single, fg.Rows.Count, fg.Cols.Count);
|
||||
fg.BringToFront();
|
||||
fg.Invalidate();
|
||||
Application.DoEvents();
|
||||
//ShowColumnWidths(fg);
|
||||
fg.MakeRTFcells(false);
|
||||
//ShowMergedCells(fg);
|
||||
//ShowColumnWidths(fg);
|
||||
//Well, Can I save the table
|
||||
//using (Step step = MakeCSLAStep(mySteps, mySteps.Count, null, {TableContent}, 20008, E_FromType.Table))
|
||||
//{
|
||||
// Grid.MakeGrid(step.MyContent, fg.GetXMLData(), "");
|
||||
//}
|
||||
}
|
||||
public static VlnFlexGrid _MyFlexGrid = null;
|
||||
private static void AddTableRow(XmlNode xr, VlnFlexGrid fg, int rows)
|
||||
{
|
||||
if (rows > fg.Rows.Count)
|
||||
fg.Rows.Count = rows;
|
||||
int cols = 0;
|
||||
foreach (XmlNode xc in xr.ChildNodes)
|
||||
{
|
||||
++cols;
|
||||
//if (xc.InnerText.Contains("RC-V200"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerText.Contains("RC-V121"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerXml.Contains("AB 137") || xc.InnerXml.Contains("3013N01"))
|
||||
// Console.WriteLine("here");
|
||||
CellRange cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
//Console.WriteLine("Check {0}", cr2);
|
||||
while (cr2.c1 != cols - 1 || cr2.r1 != rows - 1)
|
||||
{
|
||||
cols++;
|
||||
cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
}
|
||||
AddMergedCells(fg, rows, cols, xc);
|
||||
//ShowMergedCells(fg);
|
||||
if (xc.Name == "td")
|
||||
{
|
||||
AddTableColumn(xc, fg, rows, cols);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//private static void ShowColumnWidths(VlnFlexGrid fg)
|
||||
//{
|
||||
// foreach (Column c in fg.Cols)
|
||||
// Console.WriteLine("Width[{0}]={1}", c.Index, c.Width);
|
||||
//}
|
||||
private static void ShowMergedCells(VlnFlexGrid fg)
|
||||
{
|
||||
for (int r = 0; r < fg.Rows.Count; r++)
|
||||
{
|
||||
for (int c = 0; c < fg.Cols.Count; c++)
|
||||
{
|
||||
CellRange cr3 = GetMyMergedRange(fg, r, c);
|
||||
if (fg.MergedRanges.Contains(cr3))
|
||||
Console.WriteLine("cr3 r={0},c={1},rng={2}", r, c, cr3);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static int GetSpan(string span)
|
||||
{
|
||||
int retval = int.Parse("0" + (span ?? ""));
|
||||
if (retval == 0) return 0;
|
||||
return retval - 1;
|
||||
}
|
||||
private static string GetAttribute(XmlNode xc, string attName)
|
||||
{
|
||||
string retval = null;
|
||||
XmlAttribute xa = xc.Attributes[attName];
|
||||
if (xa != null)
|
||||
retval = xa.Value;
|
||||
return retval;
|
||||
}
|
||||
private static void AddMergedCells(VlnFlexGrid fg, int rows, int cols, XmlNode xc)
|
||||
{
|
||||
string colspan = GetAttribute(xc, "colspan");
|
||||
string rowspan = GetAttribute(xc, "rowspan");
|
||||
if (colspan != null || rowspan != null)
|
||||
{
|
||||
//AddMergedRanges
|
||||
int r1 = rows;
|
||||
int c1 = cols;
|
||||
int r2 = r1 + GetSpan(rowspan);
|
||||
if (r2 > fg.Rows.Count) fg.Rows.Count = r2;
|
||||
int c2 = c1 + GetSpan(colspan);
|
||||
if (c2 > fg.Cols.Count) fg.Cols.Count = c2;
|
||||
CellRange cr = new CellRange();
|
||||
cr.r1 = r1 - 1;
|
||||
cr.r2 = r2 - 1;
|
||||
cr.c1 = c1 - 1;
|
||||
cr.c2 = c2 - 1;
|
||||
fg.MergedRanges.Add(cr);
|
||||
//Console.WriteLine("Merged {0}", cr);
|
||||
}
|
||||
}
|
||||
|
||||
private static CellRange GetMyMergedRange(VlnFlexGrid fg, int r, int c)
|
||||
{
|
||||
foreach (CellRange cr in fg.MergedRanges)
|
||||
{
|
||||
if (cr.r1 <= r && cr.r2 >= r && cr.c1 <= c && cr.c2 >= c)
|
||||
return cr;
|
||||
}
|
||||
return fg.GetMergedRange(r, c);
|
||||
}
|
||||
private static Regex regNumber = new Regex("^[0-9]+$", RegexOptions.Compiled);
|
||||
private static void AddTableColumn(XmlNode xc, VlnFlexGrid fg, int rows, int cols)
|
||||
{
|
||||
//Console.WriteLine("Rows {0}, Cols {1}", rows, cols);
|
||||
if (cols > fg.Cols.Count)
|
||||
fg.Cols.Count = cols;
|
||||
string width = GetAttribute(xc, "width");
|
||||
if (width != null && width != "" && regNumber.IsMatch(width))
|
||||
{
|
||||
if (width.EndsWith("%"))
|
||||
fg.Cols[cols - 1].Width = (int)(int.Parse(width.Replace("%", "")) * 96 * 6.5F / 100);
|
||||
else
|
||||
{
|
||||
int w = int.Parse(width)*96/72;
|
||||
//Console.WriteLine("w[{0}]={1}", cols - 1, w);
|
||||
fg.Cols[cols - 1].Width = w;
|
||||
}
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string prefix = "";
|
||||
foreach (XmlNode xn in xc.ChildNodes)
|
||||
{
|
||||
if (xn.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
if (xn.Name == "ul")
|
||||
{
|
||||
foreach (XmlNode xn2 in xn.ChildNodes)
|
||||
{
|
||||
if (xn2.Name == "li")
|
||||
{
|
||||
sb.Append(prefix + "*" + xn.InnerText);
|
||||
}
|
||||
if (xn2.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (width != null && width != "" && !regNumber.IsMatch(width))
|
||||
{
|
||||
Console.WriteLine("width is not a number {0}, rows {1}, cols {2}, Text='{3}'", width, rows, cols, xc.OuterXml);
|
||||
}
|
||||
fg[rows - 1, cols - 1] = sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ConvertAlarms
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new frmConvertAlarms());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("ConvertAlarms")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ConvertAlarms")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("80225e3c-f32e-41b5-8b31-b8301eea4831")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,63 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ConvertAlarms.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ConvertAlarms.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,110 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ConvertAlarms.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("1000, 600")]
|
||||
public global::System.Drawing.Size Size {
|
||||
get {
|
||||
return ((global::System.Drawing.Size)(this["Size"]));
|
||||
}
|
||||
set {
|
||||
this["Size"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
|
||||
public global::System.Drawing.Point Location {
|
||||
get {
|
||||
return ((global::System.Drawing.Point)(this["Location"]));
|
||||
}
|
||||
set {
|
||||
this["Location"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string FileName {
|
||||
get {
|
||||
return ((string)(this["FileName"]));
|
||||
}
|
||||
set {
|
||||
this["FileName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("250")]
|
||||
public int Split1 {
|
||||
get {
|
||||
return ((int)(this["Split1"]));
|
||||
}
|
||||
set {
|
||||
this["Split1"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute(".\\Sql2008Express")]
|
||||
public string SqlServer {
|
||||
get {
|
||||
return ((string)(this["SqlServer"]));
|
||||
}
|
||||
set {
|
||||
this["SqlServer"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("VEPROMS_Barakah")]
|
||||
public string Database {
|
||||
get {
|
||||
return ((string)(this["Database"]));
|
||||
}
|
||||
set {
|
||||
this["Database"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int ProcedureSet {
|
||||
get {
|
||||
return ((int)(this["ProcedureSet"]));
|
||||
}
|
||||
set {
|
||||
this["ProcedureSet"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="ConvertAlarms.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="Size" Type="System.Drawing.Size" Scope="User">
|
||||
<Value Profile="(Default)">1000, 600</Value>
|
||||
</Setting>
|
||||
<Setting Name="Location" Type="System.Drawing.Point" Scope="User">
|
||||
<Value Profile="(Default)">0, 0</Value>
|
||||
</Setting>
|
||||
<Setting Name="FileName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="Split1" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">250</Value>
|
||||
</Setting>
|
||||
<Setting Name="SqlServer" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">.\Sql2008Express</Value>
|
||||
</Setting>
|
||||
<Setting Name="Database" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">VEPROMS_Barakah</Value>
|
||||
</Setting>
|
||||
<Setting Name="ProcedureSet" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -1 +0,0 @@
|
||||
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
@@ -1,517 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Text.RegularExpressions;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using log4net;
|
||||
using Volian.Controls.Library;
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace ConvertAlarms
|
||||
{
|
||||
public partial class frmConvertAlarms : Form
|
||||
{
|
||||
//private void SaveProcedure(string text, string procNumber, string procTitle, int serialNo)
|
||||
private static DocVersionInfo DVI;
|
||||
private void SaveProcedure(string text, string procNumber, string procTitle, string fileName)
|
||||
{
|
||||
MatchCollection mc = Regex.Matches(text, "pNote");
|
||||
if (mc.Count > 1) Console.WriteLine("-------> {0} Notes", mc.Count);
|
||||
// Add Procedure Number and Title
|
||||
ItemInfo prev = null;
|
||||
//if (serialNo == 999999)
|
||||
prev = DVI.MyItem == null ? null : DVI.MyItem.LastSibling; //FindLocation(DVI.MyItem,procNumber);
|
||||
//else
|
||||
//{
|
||||
// prev = FindPrevious(dicSerialNo, serialNo);
|
||||
//}
|
||||
using (Procedure prc = Procedure.MakeProcedure(DVI, prev, procNumber, procTitle, 0))
|
||||
{
|
||||
MyLookUp = DVI.DocVersionAssociations[0].MyROFst.GetROFSTLookup(DVI);
|
||||
if (MyLookUp.GetROIDByAccPagID("ALR-" + procNumber, "SP", "IG") == null)
|
||||
{
|
||||
prc.MyContent.Config = MakeConfig("<config><PSI ALMSERIALNUMBER=\"{0}\" ALM=\"{1}\" ALMID=\"{2}\" ALMSOURCE=\"{3}\" ALMSETPOINT=\"{4}\" KEPCOPROCNUM=\"{5}\" KEPCOPROCTITLE1=\"{6}\" /></config>",
|
||||
prcSerialNoValue, prcTitleValue, prcNumberValue, prcSourceValue, prcSetpointValue, FullName.Substring(0, 13), FullName.Substring(14));
|
||||
Annotation.MakeAnnotation(prc, AnnotationType.GetByNameOrCreate("Conversion Error"), null, "Missing Referenced Object " + procNumber , null);
|
||||
}
|
||||
else
|
||||
prc.MyContent.Config = MakeConfig("<config><PSI KEPCOPROCNUM=\"{0}\" KEPCOPROCTITLE1=\"{1}\" /></config>",
|
||||
FullName.Substring(0, 13), FullName.Substring(14));
|
||||
prc.MyContent.Config = prc.MyContent.Config.Replace("<config><",string.Format("<config><Procedure Rev=\"{0}\"/><",RevisionNumber));
|
||||
Annotation.MakeAnnotation(prc, AnnotationType.GetByNameOrCreate("Conversion Info"), null, GetAnnotationText(fileName), null);
|
||||
|
||||
ProcedureInfo prci = ProcedureInfo.Get(prc.ItemID);
|
||||
// dicSerialNo.Add(serialNo, prci);
|
||||
// Console.WriteLine("{0},{1}", serialNo, prci.ShortPath);
|
||||
// Add Section
|
||||
using (Section sec = Section.MakeSection(prci, null, null, "Procedure Content", 10006))
|
||||
{
|
||||
sec.SectionConfig.Section_ColumnMode = SectionConfig.SectionColumnMode.One;
|
||||
sec.SectionConfig.Section_Pagination = SectionConfig.SectionPagination.Separate;
|
||||
sec.Save();
|
||||
SectionInfo seci = SectionInfo.Get(sec.ItemID);
|
||||
// TODO: Add High Level Steps
|
||||
// TODO: Add Substeps
|
||||
MemoryStream ms = GetMemoryStream(text);
|
||||
Queue<string> qread = new Queue<string>();
|
||||
using (StreamReader sr = new StreamReader(ms))
|
||||
fillQueue(qread, sr);
|
||||
|
||||
Dictionary<int, ItemInfo> lookup = new Dictionary<int, ItemInfo>();
|
||||
lookup.Add(0, prci);
|
||||
lookup.Add(1, seci);
|
||||
int level = 2;
|
||||
int type = 20001;
|
||||
int lastLevel = 2;
|
||||
int lastType = 0;
|
||||
int lastIndent = 0;
|
||||
int extra = 0;
|
||||
string lastTab = "";
|
||||
int? DeQueueType = null;
|
||||
E_FromType myFromType = E_FromType.Step;
|
||||
Queue<string> enQueue = null;
|
||||
Queue<string> deQueue = null;
|
||||
int deQueueLevel = 0;
|
||||
int deQueueLevelLast = 0;
|
||||
bool wasFromQueue;
|
||||
bool firstQueue = false;
|
||||
ItemInfo deQueueItem = null;
|
||||
bool saveDeQueueInfo = false;
|
||||
bool isTable = false;
|
||||
bool lastWasTable = false;
|
||||
string tableText = null;
|
||||
string tab = "";
|
||||
bool strangeBullet = false;
|
||||
while (qread.Count > 0 || deQueue != null)
|
||||
{
|
||||
string lineText;
|
||||
tableText = null;
|
||||
if (deQueue != null)
|
||||
{
|
||||
wasFromQueue = true;
|
||||
extra = 1;
|
||||
lineText = deQueue.Dequeue().Trim();
|
||||
if (deQueue.Count == 0)
|
||||
deQueue = null;
|
||||
if (Regex.IsMatch(lineText, "(NOTE|CAUTION|WARNING)"))
|
||||
{
|
||||
Console.WriteLine("Level {0} Type = {1}", deQueueLevel, DeQueueType);
|
||||
switch (lineText)
|
||||
{
|
||||
case "<NOTE>":
|
||||
DeQueueType = 20007;
|
||||
break;
|
||||
case "<CAUTION>":
|
||||
DeQueueType = 20006;
|
||||
break;
|
||||
case "<WARNING>":
|
||||
DeQueueType = 20020;
|
||||
break;
|
||||
}
|
||||
firstQueue = true;
|
||||
lineText = "\t" + deQueue.Dequeue();
|
||||
while (deQueue.Count > 0 && deQueue.Peek().ToString().Trim().StartsWith("\u2022") == false && !Regex.IsMatch(deQueue.Peek(), "<(NOTE|CAUTION|WARNING)>"))
|
||||
lineText += " " + deQueue.Dequeue();
|
||||
myFromType = E_FromType.Note;
|
||||
}
|
||||
if (deQueue.Count == 0)
|
||||
{
|
||||
deQueue = null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wasFromQueue = false;
|
||||
DeQueueType = null;
|
||||
extra = 0;
|
||||
//if (NextLine != null)
|
||||
//{
|
||||
// lineText = NextLine;
|
||||
// NextLine = null;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
lineText = qread.Dequeue().TrimEnd(" ".ToCharArray());
|
||||
while (lineText.Trim() == "<pNOTE>" || lineText.Trim() == "<pCAUTION>" || lineText.Trim() == "<pWARNING>")
|
||||
{
|
||||
if (enQueue == null) enQueue = new Queue<string>();
|
||||
lineText = qread.Dequeue().Trim();
|
||||
//Console.WriteLine("======> {0},Count Before = {1} ", lineText.Trim(), enQueue.Count());
|
||||
while (lineText != "</pNOTE>" && lineText != "</pCAUTION>" && lineText != "</pWARNING>")
|
||||
{
|
||||
enQueue.Enqueue(lineText.Trim());
|
||||
lineText = qread.Dequeue().Trim();
|
||||
}
|
||||
lineText = qread.Dequeue().Trim();
|
||||
//Console.WriteLine("======> {0},Count After = {1} ", lineText.Trim(), enQueue.Count());
|
||||
}
|
||||
if (lineText == ">") lineText = lineText.Replace(">", "");
|
||||
else lineText = lineText.Replace("<", "<").Replace(">", ">");
|
||||
//}
|
||||
HasSpecialCharacters(lineText);
|
||||
if (lineText.StartsWith("<table>"))
|
||||
{
|
||||
while (!lineText.Contains("</table>"))
|
||||
{
|
||||
lineText += " " + qread.Dequeue();
|
||||
lineText = Regex.Replace(lineText, "</table>.*", "</table>");
|
||||
}
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.LoadXml(lineText);
|
||||
LoadTable2(xd.DocumentElement, null, 0);
|
||||
|
||||
isTable = true;
|
||||
if (!lastWasTable) level = lastLevel + 1;
|
||||
else level = lastLevel;
|
||||
type = 20008;
|
||||
tableText = GetTableText();
|
||||
//StringBuilder sbxml= new StringBuilder();
|
||||
//using(StringWriter sw = new StringWriter(sbxml))
|
||||
// _MyFlexGrid.WriteXml(sw);
|
||||
//using(StringReader sr= new StringReader(sbxml.ToString()))
|
||||
// _MyFlexGrid.ReadXml(sr);
|
||||
//Application.DoEvents();
|
||||
}
|
||||
else lineText = Regex.Replace(lineText, "<[^<>]+>", "");
|
||||
}
|
||||
if (lineText.Replace("\t", "").Replace(" ", "") != "")
|
||||
{
|
||||
lastLine = lineText;
|
||||
Match m = Regex.Match(lineText, @"^(\t*)([1-9][0-9]*\.0|[1-9][0-9]*\.[1-9][0-9]*|[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*|[A-Z]\.|\u2022|)([\t ]+)([^\u2022]*)$", RegexOptions.Multiline);
|
||||
if (m.Groups[4].Value != "")
|
||||
{
|
||||
tab = m.Groups[2].Value;
|
||||
int indent = m.Groups[1].Value.Length;
|
||||
if (isTable)
|
||||
{
|
||||
// do nothing
|
||||
if (lastWasTable)
|
||||
level = lastLevel;
|
||||
else
|
||||
level = 1 + lastLevel;
|
||||
type = 20008;
|
||||
myFromType = E_FromType.Table;
|
||||
}
|
||||
else if (indent == 0 && tab.EndsWith(".0")) // High Level Step
|
||||
{
|
||||
level = 2;
|
||||
type = 20002;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*\\.[1-9][0-9]*\\.[1-9][0-9]*")) // Sub-Substep
|
||||
{
|
||||
level = 4;
|
||||
type = 20001;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*\\.[1-9][0-9]*")) // Substep
|
||||
{
|
||||
level = 3;
|
||||
type = 20001;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[A-Z]\\.")) // Sub-Substep
|
||||
{
|
||||
level = 5;
|
||||
type = 20001;
|
||||
}
|
||||
else if (tab == "") // Paragraph
|
||||
{
|
||||
level = lastLevel + 1;
|
||||
type = 20024;
|
||||
}
|
||||
else if (tab == "\u2022")//bullet
|
||||
{
|
||||
if (firstQueue)
|
||||
level = lastLevel + 1;
|
||||
else if (lastTab == "\u2022")
|
||||
level = lastLevel;
|
||||
else
|
||||
if (lastType == 20007 && lastTab == "")
|
||||
level = lastLevel + 1;
|
||||
else
|
||||
{
|
||||
level = indent + 3;
|
||||
strangeBullet = true;
|
||||
}
|
||||
type = 20004;
|
||||
if (Regex.IsMatch(m.Groups[4].Value, "^[0-9]"))
|
||||
type = 20011;
|
||||
}
|
||||
else if (tab == "\u25CB")//bullet
|
||||
{
|
||||
level = indent + 4;
|
||||
type = 20004;
|
||||
if (Regex.IsMatch(m.Groups[4].Value, "^[0-9]"))
|
||||
type = 20011;
|
||||
}
|
||||
//while (level < lastLevel)
|
||||
// lookup.Remove(lastLevel--);
|
||||
if (firstQueue && deQueueLevelLast > 0) level = deQueueLevelLast+1;
|
||||
while (level < lookup.Count - 1)
|
||||
lookup.Remove(lookup.Count - 1);
|
||||
lastTab = tab;
|
||||
lastLevel = level;
|
||||
//lastIndent = indent;
|
||||
lastWasTable = isTable;
|
||||
deQueueLevelLast = deQueueLevel;
|
||||
}
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
saveDeQueueInfo = true;
|
||||
enQueue = null;
|
||||
}
|
||||
int newType = DeQueueType ?? (isTable ? 20008 : type);
|
||||
lastType = newType;
|
||||
|
||||
if (enQueue == null)
|
||||
{
|
||||
if (lookup.Count < level)
|
||||
{
|
||||
using (Step stp = (lookup[lookup.Count - 1] as StepInfo).Get())
|
||||
{
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, GetAnnotationText2(lineText), null);
|
||||
}
|
||||
}
|
||||
else if (lookup.Count == level)
|
||||
{
|
||||
using (Step stp = Step.MakeStep(lookup[level - 1], null, null, tableText ?? m.Groups[4].Value, newType, myFromType))
|
||||
{
|
||||
if (strangeBullet)
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, "Strange Bullet", null);
|
||||
ItemInfo myItem = StepInfo.Get(stp.ItemID);
|
||||
if (isTable)
|
||||
{
|
||||
Grid.MakeGrid(stp.MyContent, _MyFlexGrid.GetXMLData(), "");
|
||||
String footnote = GetFootNote(ms, qread);
|
||||
if (footnote.Length > 0)
|
||||
Step.MakeStep(myItem, null, null, footnote, 20024, E_FromType.Step);
|
||||
}
|
||||
isTable = false;
|
||||
//Console.WriteLine("+++B tab = {0}, Lookup.Count = {1}, Level = {2}",tab, lookup.Count, level);
|
||||
lookup.Add(level, myItem);
|
||||
//Console.WriteLine("+++A tab = {0}, Lookup.Count = {1}, Level = {2}",tab, lookup.Count, level);
|
||||
if (saveDeQueueInfo)
|
||||
{
|
||||
deQueueLevel = level;
|
||||
deQueueItem = lookup[level];
|
||||
saveDeQueueInfo = false;
|
||||
}
|
||||
if (firstQueue) firstQueue = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int previousType = ((int)lookup[level].MyContent.Type);
|
||||
if (firstQueue && DeQueueType != null)
|
||||
{
|
||||
previousType = (int) DeQueueType;
|
||||
level = deQueueLevel + 1;
|
||||
}
|
||||
using (Step stp = Step.MakeStep(lookup[level - 1], lookup[level], null, tableText ?? m.Groups[4].Value, previousType, myFromType))
|
||||
{
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, string.Format("Type Change {0} to {1}", newType, ((int)lookup[level].MyContent.Type)), null);
|
||||
if (strangeBullet)
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, "Strange Bullet", null);
|
||||
strangeBullet = false;
|
||||
ItemInfo myItem = StepInfo.Get(stp.ItemID);
|
||||
if (isTable)
|
||||
{
|
||||
Grid.MakeGrid(stp.MyContent, _MyFlexGrid.GetXMLData(), "");
|
||||
String footnote = GetFootNote(ms, qread);
|
||||
if (footnote.Length > 0)
|
||||
Step.MakeStep(myItem, null, null, footnote, 20024, E_FromType.Step);
|
||||
}
|
||||
isTable = false;
|
||||
//Console.WriteLine(">>> tab = {0}, Lookup.Count = {1}, Level = {2}", tab, lookup.Count, level);
|
||||
lookup[level] = myItem;
|
||||
if (saveDeQueueInfo)
|
||||
{
|
||||
deQueueLevel = level;
|
||||
deQueueItem = lookup[level];
|
||||
saveDeQueueInfo = false;
|
||||
}
|
||||
if (firstQueue) firstQueue = false;
|
||||
}
|
||||
}
|
||||
myFromType = E_FromType.Step;
|
||||
if (deQueue == null && deQueueItem != null)
|
||||
{
|
||||
level = deQueueLevel;
|
||||
while (level < lookup.Count)
|
||||
lookup.Remove(lookup.Count - 1);
|
||||
lookup[level] = deQueueItem;
|
||||
deQueueItem = null;
|
||||
DeQueueType = null;
|
||||
}
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// enQueue.Enqueue(lineText);
|
||||
//}
|
||||
DeQueueType = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (runOne) MessageBox.Show("Done", "Converted");
|
||||
}
|
||||
private ItemInfo FindLocation(ItemInfo myItem, string procNumber)
|
||||
{
|
||||
while (myItem != null)
|
||||
{
|
||||
if (myItem.DisplayNumber.CompareTo(procNumber) >= 0)
|
||||
return myItem.MyPrevious;
|
||||
myItem = myItem.NextItem;
|
||||
}
|
||||
return myItem;
|
||||
}
|
||||
private string MakeConfig(string fmt, params string [] args)
|
||||
{
|
||||
string [] atts = new string[args.Length];
|
||||
args.CopyTo(atts,0);
|
||||
for(int i=0; i<atts.Length; i++)
|
||||
atts[i] = atts[i].Replace("&","&").Replace("<","<").Replace(">",">");
|
||||
return string.Format(fmt, atts);
|
||||
}
|
||||
|
||||
private void fillQueue(Queue<string> qread, StreamReader sr)
|
||||
{
|
||||
while(sr.Peek() > 0)
|
||||
qread.Enqueue(sr.ReadLine());
|
||||
}
|
||||
//private string _NextLine;
|
||||
|
||||
//public string NextLine
|
||||
//{
|
||||
// get { return _NextLine; }
|
||||
// set { _NextLine = value; }
|
||||
//}
|
||||
private string GetFootNote(MemoryStream ms, Queue<string> qRead)
|
||||
{
|
||||
string sep = "";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int lineCount = 0;
|
||||
string lookingFor = null;
|
||||
while(qRead.Count > 0)
|
||||
{
|
||||
// Read a line at a time
|
||||
string str = qRead.Peek();
|
||||
if(lineCount == 0 && str.StartsWith("<p>"))
|
||||
{
|
||||
lookingFor = "</p>";
|
||||
str = str.Replace("<p>", "");
|
||||
}
|
||||
lineCount++;
|
||||
str = Regex.Replace(str, "<[^<>]+>", "").Trim(" \t".ToCharArray()).Replace(">", "");
|
||||
str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u9679?");
|
||||
//str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u7?");
|
||||
// If Text begins with number then
|
||||
if (lookingFor != null)
|
||||
{
|
||||
if (str.Contains(lookingFor))
|
||||
{
|
||||
sb.Append(sep + str.Replace(lookingFor, ""));
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
else if (Regex.IsMatch(str, "[0-9].*") || str.StartsWith("<table>"))
|
||||
return sb.ToString();
|
||||
//append string
|
||||
if (sb.ToString() != "" && str != "")
|
||||
sep = "\r\n";
|
||||
sb.Append(sep + str);
|
||||
qRead.Dequeue();// Remove current line from queue
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private void ProcessChars(string str)
|
||||
{
|
||||
foreach (char c in str)
|
||||
{
|
||||
if (c < 0x20 || c > 0x7F)
|
||||
Console.WriteLine("{0:X4}", (int)c);
|
||||
}
|
||||
}
|
||||
public void ResetSpecial()
|
||||
{
|
||||
FoundSpecial = new List<char>();
|
||||
}
|
||||
List<char> FoundSpecial = new List<char>();
|
||||
private void HasSpecialCharacters(string lineText)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (char c in lineText)
|
||||
{
|
||||
if ((c < 0x20 || c > 0x7F) && !FoundSpecial.Contains(c))
|
||||
{
|
||||
Console.WriteLine("*** Special Character {0:X4}", (int)c);
|
||||
FoundSpecial.Add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetAnnotationText(string fileName)
|
||||
{
|
||||
return string.Format("FileName:{0}\r\nShortName:{1}\r\nFullName:{2}\r\nSystem:{3}\r\nPNSNo:{4}\r\nRelatedFunction:{5}" ,
|
||||
fileName,ShortName,FullName,ApSystem,PNSNo ,RelatedFunction);
|
||||
}
|
||||
private static string GetAnnotationText2(string lineText)
|
||||
{
|
||||
//return string.Format("LineText:{0}\r\nShortName:{1}\r\nFullName:{2}\r\nSystem:{3}\r\nPNSNo:{4}\r\nRelatedFunction:{5}",
|
||||
// lineText, ShortName, FullName, apSystem, PNSNo, RelatedFunction);
|
||||
return string.Format("LineText:{0}",
|
||||
lineText);
|
||||
}
|
||||
}
|
||||
public class StepLookup : SortedDictionary<string, StepInfo>
|
||||
{
|
||||
public StepInfo this[int i]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.ContainsKey(i.ToString())) return base[i.ToString()];
|
||||
return null;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (i > this.Count)
|
||||
throw new Exception("Gap in Stack");
|
||||
if (value == null)
|
||||
throw new Exception("Null StepInfo");
|
||||
//if (value.MyHLS.Ordinal==5 && (value.IsNote || value.IsCaution ))
|
||||
// Volian.Base.Library.vlnStackTrace.ShowStackLocal(2,5,"=====> Adding Caution or Note on Step 5 {0}",value);
|
||||
if (this.ContainsKey(i.ToString()))
|
||||
{
|
||||
base[i.ToString()] = value;
|
||||
while (this.ContainsKey((i + 1).ToString()))
|
||||
base.Remove((base.Count - 1).ToString());
|
||||
}
|
||||
else base.Add(i.ToString(), value);
|
||||
//ListMySteps("Set ", this);
|
||||
}
|
||||
}
|
||||
public void AddOne(StepInfo previousStep)
|
||||
{
|
||||
this[this.Count] = previousStep;
|
||||
}
|
||||
private static void ListMySteps(string str, StepLookup mySteps)
|
||||
{
|
||||
int i = 0;
|
||||
foreach (string key in mySteps.Keys)
|
||||
{
|
||||
if (key != i.ToString())
|
||||
Console.WriteLine("{0} {1} {2} {3}", str, i, key, mySteps[key].DisplayText);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,499 +0,0 @@
|
||||
namespace ConvertAlarms
|
||||
{
|
||||
partial class frmConvertAlarms
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tbFileName = new System.Windows.Forms.TextBox();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnRun = new System.Windows.Forms.Button();
|
||||
this.btnBrowse = new System.Windows.Forms.Button();
|
||||
this.btnAll = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.btnConvert = new System.Windows.Forms.Button();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.tbServer = new System.Windows.Forms.TextBox();
|
||||
this.cmbDatabase = new System.Windows.Forms.ComboBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.cmbDocVersion = new System.Windows.Forms.ComboBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.ofd = new System.Windows.Forms.OpenFileDialog();
|
||||
this.sc1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tcXML = new System.Windows.Forms.TabControl();
|
||||
this.tpXML = new System.Windows.Forms.TabPage();
|
||||
this.tbXML = new System.Windows.Forms.TextBox();
|
||||
this.tpColorCoded = new System.Windows.Forms.TabPage();
|
||||
this.rtbXML = new System.Windows.Forms.RichTextBox();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tpHTML = new System.Windows.Forms.TabPage();
|
||||
this.wb = new System.Windows.Forms.WebBrowser();
|
||||
this.tpRaw = new System.Windows.Forms.TabPage();
|
||||
this.tbPROMS = new System.Windows.Forms.TextBox();
|
||||
this.tpStructure = new System.Windows.Forms.TabPage();
|
||||
this.tv = new System.Windows.Forms.TreeView();
|
||||
this.tpGrid = new System.Windows.Forms.TabPage();
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.tspb = new System.Windows.Forms.ToolStripProgressBar();
|
||||
this.tsslStatus = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tmr = new System.Windows.Forms.Timer(this.components);
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.sc1)).BeginInit();
|
||||
this.sc1.Panel1.SuspendLayout();
|
||||
this.sc1.Panel2.SuspendLayout();
|
||||
this.sc1.SuspendLayout();
|
||||
this.tcXML.SuspendLayout();
|
||||
this.tpXML.SuspendLayout();
|
||||
this.tpColorCoded.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tpHTML.SuspendLayout();
|
||||
this.tpRaw.SuspendLayout();
|
||||
this.tpStructure.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Controls.Add(this.tbFileName);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(954, 88);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(23, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "File";
|
||||
//
|
||||
// tbFileName
|
||||
//
|
||||
this.tbFileName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbFileName.Location = new System.Drawing.Point(56, 6);
|
||||
this.tbFileName.Name = "tbFileName";
|
||||
this.tbFileName.Size = new System.Drawing.Size(692, 20);
|
||||
this.tbFileName.TabIndex = 0;
|
||||
this.tbFileName.Text = "H:\\Barakah Alarms\\1N2-OP-ARP-CS-0001_Rev_02_FINAL_Zipped_XML_20190804\\ARP-3442-10" +
|
||||
"01 CS CNMT Spray HDR Block VLV V0001 TRBL.xml";
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.btnRun);
|
||||
this.panel2.Controls.Add(this.btnBrowse);
|
||||
this.panel2.Controls.Add(this.btnAll);
|
||||
this.panel2.Controls.Add(this.label2);
|
||||
this.panel2.Controls.Add(this.btnConvert);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.tbServer);
|
||||
this.panel2.Controls.Add(this.cmbDatabase);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.cmbDocVersion);
|
||||
this.panel2.Controls.Add(this.label6);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(954, 88);
|
||||
this.panel2.TabIndex = 9;
|
||||
//
|
||||
// btnRun
|
||||
//
|
||||
this.btnRun.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnRun.Location = new System.Drawing.Point(862, 3);
|
||||
this.btnRun.Name = "btnRun";
|
||||
this.btnRun.Size = new System.Drawing.Size(37, 24);
|
||||
this.btnRun.TabIndex = 13;
|
||||
this.btnRun.Text = "Run";
|
||||
this.btnRun.UseVisualStyleBackColor = true;
|
||||
this.btnRun.Click += new System.EventHandler(this.btnRun_Click);
|
||||
//
|
||||
// btnBrowse
|
||||
//
|
||||
this.btnBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBrowse.Location = new System.Drawing.Point(758, 3);
|
||||
this.btnBrowse.Name = "btnBrowse";
|
||||
this.btnBrowse.Size = new System.Drawing.Size(72, 24);
|
||||
this.btnBrowse.TabIndex = 2;
|
||||
this.btnBrowse.Text = "Browse...";
|
||||
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
//
|
||||
// btnAll
|
||||
//
|
||||
this.btnAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnAll.Location = new System.Drawing.Point(799, 44);
|
||||
this.btnAll.Name = "btnAll";
|
||||
this.btnAll.Size = new System.Drawing.Size(37, 25);
|
||||
this.btnAll.TabIndex = 12;
|
||||
this.btnAll.Text = "All";
|
||||
this.btnAll.UseVisualStyleBackColor = true;
|
||||
this.btnAll.Click += new System.EventHandler(this.btnAll_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(396, 35);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(53, 13);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "Database";
|
||||
//
|
||||
// btnConvert
|
||||
//
|
||||
this.btnConvert.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnConvert.Location = new System.Drawing.Point(717, 44);
|
||||
this.btnConvert.Name = "btnConvert";
|
||||
this.btnConvert.Size = new System.Drawing.Size(76, 28);
|
||||
this.btnConvert.TabIndex = 11;
|
||||
this.btnConvert.Text = "Convert";
|
||||
this.btnConvert.UseVisualStyleBackColor = true;
|
||||
this.btnConvert.Click += new System.EventHandler(this.btnConvert_Click);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(12, 35);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(38, 13);
|
||||
this.label7.TabIndex = 10;
|
||||
this.label7.Text = "Server";
|
||||
//
|
||||
// tbServer
|
||||
//
|
||||
this.tbServer.Location = new System.Drawing.Point(56, 32);
|
||||
this.tbServer.Name = "tbServer";
|
||||
this.tbServer.Size = new System.Drawing.Size(329, 20);
|
||||
this.tbServer.TabIndex = 9;
|
||||
//
|
||||
// cmbDatabase
|
||||
//
|
||||
this.cmbDatabase.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDatabase.FormattingEnabled = true;
|
||||
this.cmbDatabase.Location = new System.Drawing.Point(455, 32);
|
||||
this.cmbDatabase.Name = "cmbDatabase";
|
||||
this.cmbDatabase.Size = new System.Drawing.Size(256, 21);
|
||||
this.cmbDatabase.TabIndex = 8;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(11, 61);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(75, 13);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "Procedure Set";
|
||||
//
|
||||
// cmbDocVersion
|
||||
//
|
||||
this.cmbDocVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDocVersion.FormattingEnabled = true;
|
||||
this.cmbDocVersion.Location = new System.Drawing.Point(92, 58);
|
||||
this.cmbDocVersion.Name = "cmbDocVersion";
|
||||
this.cmbDocVersion.Size = new System.Drawing.Size(619, 21);
|
||||
this.cmbDocVersion.TabIndex = 6;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(12, 9);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(23, 13);
|
||||
this.label6.TabIndex = 1;
|
||||
this.label6.Text = "File";
|
||||
//
|
||||
// sc1
|
||||
//
|
||||
this.sc1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sc1.Location = new System.Drawing.Point(0, 88);
|
||||
this.sc1.Name = "sc1";
|
||||
//
|
||||
// sc1.Panel1
|
||||
//
|
||||
this.sc1.Panel1.Controls.Add(this.tcXML);
|
||||
//
|
||||
// sc1.Panel2
|
||||
//
|
||||
this.sc1.Panel2.Controls.Add(this.tabControl1);
|
||||
this.sc1.Size = new System.Drawing.Size(954, 392);
|
||||
this.sc1.SplitterDistance = 372;
|
||||
this.sc1.TabIndex = 1;
|
||||
//
|
||||
// tcXML
|
||||
//
|
||||
this.tcXML.Controls.Add(this.tpXML);
|
||||
this.tcXML.Controls.Add(this.tpColorCoded);
|
||||
this.tcXML.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tcXML.Location = new System.Drawing.Point(0, 0);
|
||||
this.tcXML.Name = "tcXML";
|
||||
this.tcXML.SelectedIndex = 0;
|
||||
this.tcXML.Size = new System.Drawing.Size(372, 392);
|
||||
this.tcXML.TabIndex = 2;
|
||||
//
|
||||
// tpXML
|
||||
//
|
||||
this.tpXML.Controls.Add(this.tbXML);
|
||||
this.tpXML.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpXML.Name = "tpXML";
|
||||
this.tpXML.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tpXML.Size = new System.Drawing.Size(364, 366);
|
||||
this.tpXML.TabIndex = 1;
|
||||
this.tpXML.Text = "XML";
|
||||
this.tpXML.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbXML
|
||||
//
|
||||
this.tbXML.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbXML.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tbXML.HideSelection = false;
|
||||
this.tbXML.Location = new System.Drawing.Point(3, 3);
|
||||
this.tbXML.Multiline = true;
|
||||
this.tbXML.Name = "tbXML";
|
||||
this.tbXML.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.tbXML.Size = new System.Drawing.Size(358, 360);
|
||||
this.tbXML.TabIndex = 0;
|
||||
this.tbXML.TextChanged += new System.EventHandler(this.tbXML_TextChanged);
|
||||
//
|
||||
// tpColorCoded
|
||||
//
|
||||
this.tpColorCoded.Controls.Add(this.rtbXML);
|
||||
this.tpColorCoded.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpColorCoded.Name = "tpColorCoded";
|
||||
this.tpColorCoded.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tpColorCoded.Size = new System.Drawing.Size(364, 366);
|
||||
this.tpColorCoded.TabIndex = 0;
|
||||
this.tpColorCoded.Text = "Color Coded";
|
||||
this.tpColorCoded.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rtbXML
|
||||
//
|
||||
this.rtbXML.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rtbXML.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.rtbXML.Location = new System.Drawing.Point(3, 3);
|
||||
this.rtbXML.Name = "rtbXML";
|
||||
this.rtbXML.Size = new System.Drawing.Size(358, 360);
|
||||
this.rtbXML.TabIndex = 1;
|
||||
this.rtbXML.Text = "";
|
||||
this.rtbXML.SelectionChanged += new System.EventHandler(this.rtbXML_SelectionChanged);
|
||||
this.rtbXML.TextChanged += new System.EventHandler(this.rtbXML_TextChanged);
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tpHTML);
|
||||
this.tabControl1.Controls.Add(this.tpRaw);
|
||||
this.tabControl1.Controls.Add(this.tpStructure);
|
||||
this.tabControl1.Controls.Add(this.tpGrid);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(578, 392);
|
||||
this.tabControl1.TabIndex = 0;
|
||||
//
|
||||
// tpHTML
|
||||
//
|
||||
this.tpHTML.Controls.Add(this.wb);
|
||||
this.tpHTML.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpHTML.Name = "tpHTML";
|
||||
this.tpHTML.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tpHTML.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpHTML.TabIndex = 0;
|
||||
this.tpHTML.Text = "HTML";
|
||||
this.tpHTML.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// wb
|
||||
//
|
||||
this.wb.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.wb.Location = new System.Drawing.Point(3, 3);
|
||||
this.wb.MinimumSize = new System.Drawing.Size(20, 20);
|
||||
this.wb.Name = "wb";
|
||||
this.wb.Size = new System.Drawing.Size(564, 360);
|
||||
this.wb.TabIndex = 0;
|
||||
//
|
||||
// tpRaw
|
||||
//
|
||||
this.tpRaw.Controls.Add(this.tbPROMS);
|
||||
this.tpRaw.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpRaw.Name = "tpRaw";
|
||||
this.tpRaw.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tpRaw.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpRaw.TabIndex = 1;
|
||||
this.tpRaw.Text = "Raw Text";
|
||||
this.tpRaw.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbPROMS
|
||||
//
|
||||
this.tbPROMS.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbPROMS.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tbPROMS.Location = new System.Drawing.Point(3, 3);
|
||||
this.tbPROMS.Multiline = true;
|
||||
this.tbPROMS.Name = "tbPROMS";
|
||||
this.tbPROMS.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.tbPROMS.Size = new System.Drawing.Size(564, 360);
|
||||
this.tbPROMS.TabIndex = 0;
|
||||
//
|
||||
// tpStructure
|
||||
//
|
||||
this.tpStructure.Controls.Add(this.tv);
|
||||
this.tpStructure.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpStructure.Name = "tpStructure";
|
||||
this.tpStructure.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpStructure.TabIndex = 2;
|
||||
this.tpStructure.Text = "Structure";
|
||||
this.tpStructure.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tv
|
||||
//
|
||||
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tv.Location = new System.Drawing.Point(0, 0);
|
||||
this.tv.Name = "tv";
|
||||
this.tv.Size = new System.Drawing.Size(570, 366);
|
||||
this.tv.TabIndex = 0;
|
||||
//
|
||||
// tpGrid
|
||||
//
|
||||
this.tpGrid.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpGrid.Name = "tpGrid";
|
||||
this.tpGrid.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpGrid.TabIndex = 3;
|
||||
this.tpGrid.Text = "Grid";
|
||||
this.tpGrid.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tspb,
|
||||
this.tsslStatus});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 480);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(954, 22);
|
||||
this.statusStrip1.TabIndex = 2;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
this.statusStrip1.Click += new System.EventHandler(this.statusStrip1_Click);
|
||||
//
|
||||
// tspb
|
||||
//
|
||||
this.tspb.Name = "tspb";
|
||||
this.tspb.Size = new System.Drawing.Size(300, 16);
|
||||
this.tspb.Visible = false;
|
||||
//
|
||||
// tsslStatus
|
||||
//
|
||||
this.tsslStatus.Name = "tsslStatus";
|
||||
this.tsslStatus.Size = new System.Drawing.Size(39, 17);
|
||||
this.tsslStatus.Text = "Ready";
|
||||
this.tsslStatus.Click += new System.EventHandler(this.tsslStatus_Click);
|
||||
//
|
||||
// tmr
|
||||
//
|
||||
this.tmr.Interval = 2000;
|
||||
this.tmr.Tick += new System.EventHandler(this.tmr_Tick);
|
||||
//
|
||||
// frmConvertAlarms
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(954, 502);
|
||||
this.Controls.Add(this.sc1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.Name = "frmConvertAlarms";
|
||||
this.Text = "Convert Alarms";
|
||||
this.Load += new System.EventHandler(this.frmConvertAlarms_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.sc1.Panel1.ResumeLayout(false);
|
||||
this.sc1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.sc1)).EndInit();
|
||||
this.sc1.ResumeLayout(false);
|
||||
this.tcXML.ResumeLayout(false);
|
||||
this.tpXML.ResumeLayout(false);
|
||||
this.tpXML.PerformLayout();
|
||||
this.tpColorCoded.ResumeLayout(false);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tpHTML.ResumeLayout(false);
|
||||
this.tpRaw.ResumeLayout(false);
|
||||
this.tpRaw.PerformLayout();
|
||||
this.tpStructure.ResumeLayout(false);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Button btnBrowse;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tbFileName;
|
||||
private System.Windows.Forms.OpenFileDialog ofd;
|
||||
private System.Windows.Forms.SplitContainer sc1;
|
||||
private System.Windows.Forms.TextBox tbXML;
|
||||
private System.Windows.Forms.WebBrowser wb;
|
||||
private System.Windows.Forms.TextBox tbPROMS;
|
||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsslStatus;
|
||||
private System.Windows.Forms.RichTextBox rtbXML;
|
||||
private System.Windows.Forms.TabControl tcXML;
|
||||
private System.Windows.Forms.TabPage tpXML;
|
||||
private System.Windows.Forms.TabPage tpColorCoded;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tpHTML;
|
||||
private System.Windows.Forms.TabPage tpRaw;
|
||||
private System.Windows.Forms.TabPage tpStructure;
|
||||
private System.Windows.Forms.TreeView tv;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox tbServer;
|
||||
private System.Windows.Forms.ComboBox cmbDatabase;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox cmbDocVersion;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Button btnConvert;
|
||||
private System.Windows.Forms.Button btnAll;
|
||||
private System.Windows.Forms.TabPage tpGrid;
|
||||
private System.Windows.Forms.Button btnRun;
|
||||
private System.Windows.Forms.ToolStripProgressBar tspb;
|
||||
private System.Windows.Forms.Timer tmr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,886 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Text.RegularExpressions;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using log4net;
|
||||
using Volian.Controls.Library;
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace ConvertAlarms
|
||||
{
|
||||
public partial class frmConvertAlarms : Form
|
||||
{
|
||||
public frmConvertAlarms()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
private void SetDatabaseConnection()
|
||||
{
|
||||
Database.VEPROMS_Connection = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True", tbServer.Text, cmbDatabase.SelectedText);
|
||||
}
|
||||
private void btnBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
FileInfo fi = new FileInfo(tbFileName.Text);
|
||||
ofd.InitialDirectory = fi.DirectoryName;
|
||||
ofd.FileName = fi.Name;
|
||||
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
tbFileName.Text = ofd.FileName;
|
||||
ProcessXML();
|
||||
}
|
||||
}
|
||||
private void ProcessXML()
|
||||
{
|
||||
string fileName = tbFileName.Text;
|
||||
ProcessXmlFile(fileName);
|
||||
}
|
||||
private void ProcessXmlFile(string fileName)
|
||||
{
|
||||
UpdateHTML = false;
|
||||
tbXML.Clear();
|
||||
UpdateHTML = true;
|
||||
XmlDocument xDoc = new XmlDocument();
|
||||
xDoc.Load(fileName);
|
||||
XmlElement xe1 = xDoc.DocumentElement;
|
||||
XmlElement xe2 = xe1.ChildNodes[0] as XmlElement;
|
||||
XmlElement xe3 = xe2.ChildNodes[0] as XmlElement;
|
||||
XmlElement xe4 = (xe1.ChildNodes[1] as XmlElement).ChildNodes[0] as XmlElement;
|
||||
RelatedFunction = xe3.Attributes["relatedFunction"].Value;
|
||||
PNSNo = xe3.Attributes["PNSNo"].Value;
|
||||
ShortName = xe3.Attributes["shortName"].Value;
|
||||
FullName = xe3.Attributes["fullName"].Value;
|
||||
RevisionNumber = xe3.Attributes["revisionNumber"].Value;
|
||||
Priority = xe3.Attributes["priority"].Value;
|
||||
Number = xe3.Attributes["number"].Value;
|
||||
Responsibility = xe4.Attributes["implementor"].Value;
|
||||
ApSystem = GetSystem(xe3);
|
||||
XmlNode xn = xDoc.DocumentElement.LastChild.LastChild.LastChild;
|
||||
string html = GetHtml(xn);
|
||||
tbXML.Text = html;
|
||||
}
|
||||
private static string _RelatedFunction;
|
||||
public static string RelatedFunction
|
||||
{
|
||||
get { return _RelatedFunction; }
|
||||
set { _RelatedFunction = value; }
|
||||
}
|
||||
private static string _PNSNo;
|
||||
public static string PNSNo
|
||||
{
|
||||
get { return _PNSNo; }
|
||||
set { _PNSNo = value; }
|
||||
}
|
||||
private static string _fullName;
|
||||
public static string FullName
|
||||
{
|
||||
get { return _fullName; }
|
||||
set { _fullName = value; }
|
||||
}
|
||||
private static string _Number;
|
||||
public static string Number
|
||||
{
|
||||
get { return frmConvertAlarms._Number; }
|
||||
set { frmConvertAlarms._Number = value; }
|
||||
}
|
||||
private static string _RevisionNumber;
|
||||
public static string RevisionNumber
|
||||
{
|
||||
get { return frmConvertAlarms._RevisionNumber; }
|
||||
set { frmConvertAlarms._RevisionNumber = value; }
|
||||
}
|
||||
private static string _Priority;
|
||||
public static string Priority
|
||||
{
|
||||
get { return frmConvertAlarms._Priority; }
|
||||
set { frmConvertAlarms._Priority = value; }
|
||||
}
|
||||
private static string Responsibility;
|
||||
public static string Responsibility1
|
||||
{
|
||||
get { return frmConvertAlarms.Responsibility; }
|
||||
set { frmConvertAlarms.Responsibility = value; }
|
||||
}
|
||||
private static string _shortName;
|
||||
public static string ShortName
|
||||
{
|
||||
get { return _shortName; }
|
||||
set { _shortName = value; }
|
||||
}
|
||||
private static string _system;
|
||||
public static string ApSystem
|
||||
{
|
||||
get { return _system; }
|
||||
set { _system = value; }
|
||||
}
|
||||
private static string _MyFileName;
|
||||
|
||||
public static string MyFileName
|
||||
{
|
||||
get { return frmConvertAlarms._MyFileName; }
|
||||
set { frmConvertAlarms._MyFileName = value; }
|
||||
}
|
||||
private static string GetHtml(XmlNode xn)
|
||||
{
|
||||
XmlNode pr = xn.PreviousSibling;
|
||||
int i = 0;
|
||||
string html = xn.Attributes["content"].Value;
|
||||
//Console.WriteLine(@"{0} ""{1}""", i++, html);
|
||||
if (xn != pr)
|
||||
{
|
||||
while (pr != null && pr.Name == "NoteInstruction")
|
||||
{
|
||||
string html2 = pr.Attributes["content"].Value;
|
||||
//Console.WriteLine(@"{0} ""{1}""", i++, html2);
|
||||
html = MergeHTML(html2, html);
|
||||
//Console.WriteLine(@"{0} ""{1}""", -1, html);
|
||||
pr = pr.PreviousSibling;
|
||||
}
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
private static string MergeHTML(string part1, string part2)
|
||||
{
|
||||
part1 = part1.Replace("</body></html", "");
|
||||
part2 = Regex.Replace(part2, "^.*<body[^<>]*>", "", RegexOptions.Singleline);
|
||||
//part2 = part2.Substring(part2.IndexOf("<p"));
|
||||
return part1 + part2;
|
||||
}
|
||||
private void htmlChanged(string html)
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(html.Replace("\u2022", "•"));
|
||||
MemoryStream ms = new MemoryStream();
|
||||
ms.Write(bytes, 0, bytes.Length);
|
||||
ms.Position = 0;
|
||||
wb.DocumentStream = ms;
|
||||
}
|
||||
private string _HtmlPrefix = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">";
|
||||
public string HtmlPrefix
|
||||
{
|
||||
get { return _HtmlPrefix; }
|
||||
set { _HtmlPrefix = value; }
|
||||
}
|
||||
private string prcSerialNoFldName;
|
||||
private string prcSerialNoValue;
|
||||
private string prcTitleFldName;
|
||||
private string prcTitleValue;
|
||||
private string prcNumberFldName;
|
||||
private string prcNumberValue;
|
||||
private string prcSourceFldName;
|
||||
private string prcSourceValue;
|
||||
private string prcSetpointFldName;
|
||||
private string prcSetpointValue;
|
||||
|
||||
//private Regex myReg01 = new Regex("<br /></span>", RegexOptions.Compiled);
|
||||
//private Regex myReg02 = new Regex("</span><br />", RegexOptions.Compiled);
|
||||
//private Regex myReg03 = new Regex("<span [^<>]+>", RegexOptions.Compiled);
|
||||
//private Regex myReg04 = new Regex("</span *>", RegexOptions.Compiled);
|
||||
//private Regex myReg05 = new Regex("</p>[ \r\n]+<p [^<>]+>", RegexOptions.Compiled);
|
||||
//private Regex myReg06 = new Regex("<p [^<>]+>", RegexOptions.Compiled);
|
||||
////private Regex myReg07 = new Regex(@"<br /> +(?=\w)", RegexOptions.Compiled);
|
||||
//private Regex myReg08 = new Regex(@"<br />[ \r\n]*\t +", RegexOptions.Compiled);
|
||||
//private Regex myReg09 = new Regex(@"<br />[ \t\r\n]+\[", RegexOptions.Compiled);
|
||||
//private Regex myReg10 = new Regex("</p *>", RegexOptions.Compiled);
|
||||
//private Regex myReg11 = new Regex(@"] *\t{4,10}", RegexOptions.Compiled);
|
||||
//private Regex myReg12 = new Regex("<br ?/>\t+(?=None)", RegexOptions.Compiled);
|
||||
//private Regex myReg13 = new Regex("<br ?/>\t+(?![[\\u2022]|[1-9])", RegexOptions.Compiled);
|
||||
//private Regex myReg14 = new Regex("<br />", RegexOptions.Compiled);
|
||||
//private Regex myReg15 = new Regex("\t\t+", RegexOptions.Compiled);
|
||||
//private Regex myReg16 = new Regex("\r\n +", RegexOptions.Compiled);
|
||||
//private Regex myReg17 = new Regex("(\r\n){2,}", RegexOptions.Compiled);
|
||||
//private Regex myReg18 = new Regex("<table [^<>]+>", RegexOptions.Compiled);
|
||||
////private Regex myReg19 = new Regex("(?<!\\\\line )\r\n\t(?!([[\\u2022]|None|[1-9]))", RegexOptions.Compiled);
|
||||
//private Regex myReg20 = new Regex("(?<!\\\\line )\r\n\t(?!([[\\u2022]|None|[1-9]))", RegexOptions.Compiled);
|
||||
//private Regex myReg21 = new Regex("<table>[^<>]*<tr[^<>]*>[^<>]*<td[^<>]*>[^<>]*<p>(NOTE|CAUTION|WARNING)([^<>]+?)</p>[^<>]*</td>[^<>]*</tr>[^<>]*</table>", RegexOptions.Compiled & RegexOptions.Singleline );
|
||||
//private Regex myReg22 = new Regex("\\.\\.\\.+", RegexOptions.Compiled);
|
||||
private void XMLChanged(string xml)
|
||||
{
|
||||
Application.DoEvents();
|
||||
xml = "<?xml version='1.0' encoding='UTF-8'?>\n" + xml;
|
||||
xml = xml.Replace(HtmlPrefix, "");
|
||||
//xml = myReg01.Replace(xml, "<br /> </span>");
|
||||
//xml = myReg02.Replace(xml, "</span><br /> ");
|
||||
//xml = myReg03.Replace(xml, "");// Remove Style Span start
|
||||
//xml = myReg04.Replace(xml, "");//
|
||||
//xml = myReg05.Replace(xml, "<br />\r\n");
|
||||
//xml = myReg06.Replace(xml, "<br />\r\n<p>");
|
||||
////xml = myReg07.Replace(xml, " ");//New
|
||||
//xml = myReg08.Replace(xml, " ");//New
|
||||
//xml = myReg09.Replace(xml, @"\line [");
|
||||
//xml = myReg10.Replace(xml, "</p>");
|
||||
//xml = myReg11.Replace(xml, "]\r\n");
|
||||
//xml = myReg12.Replace(xml, "\r\n\t");
|
||||
//xml = myReg13.Replace(xml, " ");
|
||||
//xml = myReg14.Replace(xml, "\r\n");
|
||||
//xml = myReg15.Replace(xml, " ");
|
||||
//xml = myReg16.Replace(xml, "\r\n");
|
||||
//xml = myReg17.Replace(xml, "\r\n");
|
||||
//xml = myReg18.Replace(xml, "<table>");
|
||||
////xml = myReg19.Replace(xml, "{SPACE}");
|
||||
//xml = myReg20.Replace(xml, " ");
|
||||
//xml = myReg21.Replace(xml, "<p>\r\n$1$2\r\n</p>");
|
||||
//xml = myReg22.Replace(xml, ""); //Remove multiple periods
|
||||
xml = Regex.Replace(xml, "<br /></span>", "<br /> </span>");
|
||||
xml = Regex.Replace(xml, "</span><br />", "</span><br /> ");
|
||||
xml = Regex.Replace(xml, "<span [^<>]+>", "");// Remove Style Span start
|
||||
xml = Regex.Replace(xml, "</span *>", "");//
|
||||
xml = Regex.Replace(xml, "</p>[ \r\n]+<p [^<>]+>", "<br />\r\n");
|
||||
xml = Regex.Replace(xml, "<p [^<>]+>", "<br />\r\n<p>");
|
||||
// xml = Regex.Replace(xml, @"<br /> +(?=\w)", " ");//New
|
||||
xml = Regex.Replace(xml, @"<br />[ \r\n]*\t (?! +[[\\u2022]| +[1-9]| +[A-Z][.])", " ");//New
|
||||
//xml = Regex.Replace(xml, @"<br />[ \r\n]*\t +", " ");//New
|
||||
xml = Regex.Replace(xml, @"<br />[ \t\r\n]+\[", @"\line [");
|
||||
xml = Regex.Replace(xml, "</p *>", "</p>");
|
||||
xml = Regex.Replace(xml, @"] *\t{4,10}", "]\r\n");
|
||||
xml = Regex.Replace(xml, "<br ?/>\t+(?=None)", "\r\n\t");
|
||||
xml = Regex.Replace(xml, "<br ?/>\t+(?![[\\u2022]|[1-9]|[A-Z]\\.)", " ");
|
||||
xml = Regex.Replace(xml, "<br />", "\r\n");
|
||||
xml = Regex.Replace(xml, "\t\t+", " ");
|
||||
xml = Regex.Replace(xml, "\r\n +", "\r\n");
|
||||
xml = Regex.Replace(xml, "(\r\n){2,}", "\r\n");
|
||||
xml = Regex.Replace(xml, "<table [^<>]+>", "<table>");
|
||||
//xml = Regex.Replace(xml, "(?<!\\\\line )\r\n\t(?!([[\\u2022]|None|[1-9]))", "{SPACE}");
|
||||
xml = Regex.Replace(xml, "(?<!\\\\line )\r\n\t(?!([[\\u2022]|None|[1-9]))", " ");
|
||||
xml = Regex.Replace(xml, "<table>[^<>]*<tr[^<>]*>[^<>]*<td[^<>]*>[^<>]*<p>(NOTE|CAUTION|WARNING)([^<>]+?)</p>[^<>]*</td>[^<>]*</tr>[^<>]*</table>", "<p$1>\r\n$1$2\r\n</p$1>", RegexOptions.Singleline);
|
||||
xml = Regex.Replace(xml, "\\.\\.\\.+", ""); //Remove multiple periods
|
||||
//xml = Regex.Replace(xml,"
|
||||
//xml = xml.Replace(">", "");
|
||||
Application.DoEvents();
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(xml);
|
||||
MemoryStream ms = new MemoryStream();
|
||||
ms.Write(bytes, 0, bytes.Length);
|
||||
ms.Position = 0;
|
||||
XmlDocument xDoc2 = new XmlDocument();
|
||||
xDoc2.Load(ms);
|
||||
int iStart = 1;
|
||||
XmlNode xn3 = xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes[0];
|
||||
if (!xn3.OuterXml.Contains("table"))
|
||||
{
|
||||
iStart = 2;
|
||||
xn3 = xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes[1];
|
||||
}
|
||||
prcSerialNoFldName = GetProcInfo(xn3, 0, 0, 0);
|
||||
prcSerialNoValue = GetProcInfo(xn3, 0, 1, 0);
|
||||
SerialNo = int.Parse(prcSerialNoValue);
|
||||
prcTitleFldName = GetProcInfo(xn3, 1, 0, 0);
|
||||
prcTitleValue = GetProcInfo(xn3, 1, 1, 0);
|
||||
prcNumberFldName = GetProcInfo(xn3, 2, 0, 0);
|
||||
prcNumberValue = GetProcInfo(xn3, 2, 1, 0);
|
||||
prcSourceFldName = GetProcInfo(xn3, 3, 0, 0);
|
||||
prcSourceValue = GetProcInfo(xn3, 3, 1, 0);
|
||||
prcSetpointFldName = GetProcInfo(xn3, 4, 0, 0);
|
||||
prcSetpointValue = GetProcInfo(xn3, 4, 1, 0);
|
||||
Console.WriteLine("\"FromProcedures\"\t\"{0}\"\t\"{1}\"\t\"{2}\"\t\"{3}\"\t\"{4}\"\t\"{5}\"\t\"{6}\"\t\"{7}\"\t\"{8}\"\t\"{9}\"\t\"{10}\"\t\"{11}\"\t\"{12}\"\t\"{13}\"\t\"{14}\""
|
||||
, PNSNo.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, ApSystem.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, FullName.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, ShortName.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, RelatedFunction.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, "Rev" + RevisionNumber.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, Priority.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, Number.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, prcNumberValue.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, prcSerialNoValue.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, prcSetpointValue.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, prcSourceValue.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, prcTitleValue.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, Responsibility.Replace("\r\n", ";CR;").Replace("\n", ";CR;").Replace("\r", ";CR;")
|
||||
, MyFileName);
|
||||
ProcNumber = prcNumberValue;
|
||||
ProcTitle = prcTitleValue;
|
||||
// Skip First Node
|
||||
UpdateHTML = false;
|
||||
tbPROMS.Clear();
|
||||
tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n", prcSerialNoFldName, prcSerialNoValue));
|
||||
tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n", prcTitleFldName, prcTitleValue));
|
||||
tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n", prcNumberFldName, prcNumberValue));
|
||||
tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n", prcSourceFldName, prcSourceValue));
|
||||
tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n", prcSetpointFldName, prcSetpointValue));
|
||||
StringBuilder sbAllText = new StringBuilder();
|
||||
for (int i = iStart; i < xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes.Count; i++)
|
||||
{
|
||||
XmlNode xn2 = xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes[i];
|
||||
if (xn2.OuterXml != ">\r\n" && xn2.OuterXml != "<p></p>")
|
||||
{
|
||||
sbAllText.Append("\r\n" + xn2.OuterXml);
|
||||
//Console.WriteLine("--{0}--|{1}|", i, IndentifySpecialCharacters(xn2.OuterXml));
|
||||
}
|
||||
}
|
||||
tbPROMS.AppendText(sbAllText.ToString().Replace(" ", "\xB7"));
|
||||
//SaveTree(sbAllText.ToString(), prcNumberValue, prcTitleValue);
|
||||
ProcTextAll = sbAllText.ToString();
|
||||
UpdateHTML = true;
|
||||
}
|
||||
String ProcTextAll;
|
||||
int SerialNo;
|
||||
String ProcNumber;
|
||||
String ProcTitle;
|
||||
TreeNode lastNode = null;
|
||||
private void SaveTree(string text, string procNumber, string procTitle)
|
||||
{
|
||||
tv.Nodes.Clear();
|
||||
MemoryStream ms = GetMemoryStream(text);
|
||||
using (TextReader tr = new StreamReader(ms))
|
||||
{
|
||||
Dictionary<int, TreeNode> lookup = new Dictionary<int, TreeNode>();
|
||||
lookup.Add(0, tv.Nodes.Add(string.Format("{0} - {1}", procNumber, procTitle)));
|
||||
int level = 0;
|
||||
int lastLevel = 0;
|
||||
int lastIndent = 0;
|
||||
int extra = 0;
|
||||
bool textContinued = false;
|
||||
string lastTab = "";
|
||||
Queue<string> enQueue = null;
|
||||
Queue<string> deQueue = null;
|
||||
bool isTable = false;
|
||||
while (tr.Peek() >= 0 || deQueue != null)
|
||||
{
|
||||
string lineText;
|
||||
if (deQueue != null)
|
||||
{
|
||||
extra = 1;
|
||||
lineText = deQueue.Dequeue();
|
||||
if (deQueue.Count == 0)
|
||||
deQueue = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
extra = 0;
|
||||
lineText = tr.ReadLine();
|
||||
if (lineText.StartsWith("<table>"))
|
||||
{
|
||||
while (!lineText.Contains("</table>"))
|
||||
{
|
||||
lineText += " " + tr.ReadLine();
|
||||
lineText = Regex.Replace(lineText, "</table>.*", "</table>");
|
||||
}
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.LoadXml(lineText);
|
||||
LoadTable2(xd.DocumentElement, null, 0);
|
||||
isTable = true;
|
||||
//StringBuilder sbxml= new StringBuilder();
|
||||
//using(StringWriter sw = new StringWriter(sbxml))
|
||||
// _MyFlexGrid.WriteXml(sw);
|
||||
//using(StringReader sr= new StringReader(sbxml.ToString()))
|
||||
// _MyFlexGrid.ReadXml(sr);
|
||||
//Application.DoEvents();
|
||||
}
|
||||
else if (lineText == "NOTE" || lineText == "CAUTION" || lineText == "Warning")
|
||||
enQueue = new Queue<string>();
|
||||
}
|
||||
lineText = Regex.Replace(lineText, "<[^<>]+>", "");
|
||||
textContinued = false;
|
||||
if (lineText.Replace("\t", "") != "")
|
||||
{
|
||||
Match m = Regex.Match(lineText, @"^(\t*)([1-9][0-9]*\.0|[1-9][0-9]*\.[1-9][0-9]*|\u2022|\u25CB)([\t ]+)([^\u2022]*)$", RegexOptions.Multiline);
|
||||
string tab = m.Groups[2].Value;
|
||||
int indent = m.Groups[1].Value.Length;
|
||||
//if (lineText.Contains("THEN·GO·TO·1N2-OP-EOP-XX-0002"))
|
||||
// Console.WriteLine("here");
|
||||
if (isTable)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
if (indent == 0 && tab.EndsWith(".0")) // High Level Step
|
||||
{
|
||||
level = 1;
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
enQueue = null;
|
||||
}
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*[.0-9]*")) // Substep
|
||||
{
|
||||
level = 2;
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
enQueue = null;
|
||||
}
|
||||
}
|
||||
else if (tab == "") // Paragraph
|
||||
{
|
||||
if (Regex.IsMatch(lineText, "(NOTE|NOTES|CAUTION|CAUTIONS|WARNING|WARNINGS)"))
|
||||
extra = 0;
|
||||
else
|
||||
{
|
||||
lastNode.Text += " " + lineText.TrimStart("\r\n \t".ToCharArray());
|
||||
//Console.WriteLine("maybe continue '{0}'", lineText);
|
||||
textContinued = true;
|
||||
}
|
||||
level = lastLevel + 1;
|
||||
}
|
||||
else if (tab == "\u2022")//bullet
|
||||
level = indent + 2;
|
||||
else if (tab == "\u25CB")//bullet
|
||||
level = indent + 3;
|
||||
if (level < lastLevel)
|
||||
while (level < lastLevel) lookup.Remove(lastLevel--);
|
||||
string txt = string.Format("{0}|{1}||{2}", m.Groups[1].Value, m.Groups[2].Value, m.Groups[4].Value);
|
||||
if (txt == "|||") txt = lineText;
|
||||
if (enQueue == null)
|
||||
{
|
||||
if (!textContinued && !isTable)
|
||||
{
|
||||
if (level > lookup.Count - extra) extra = 0;
|
||||
//if (level + extra - 1 == lookup.Count)
|
||||
// Console.WriteLine("Problems {0}, {1}", procNumber, txt);
|
||||
else if (lookup.Count <= level)
|
||||
lookup.Add(level + extra, lookup[level + extra - 1].Nodes.Add(txt));
|
||||
else
|
||||
lookup[level + extra] = lookup[level + extra - 1].Nodes.Add(txt);
|
||||
lastNode = lookup[level + extra];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
enQueue.Enqueue(lineText);
|
||||
}
|
||||
lastTab = tab;
|
||||
lastLevel = level;
|
||||
lastIndent = indent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private ItemInfo FindPrevious(SortedDictionary<int, ItemInfo> dicSerialNo, int serialNo)
|
||||
{
|
||||
ItemInfo lastItem = null;
|
||||
foreach (int serno in dicSerialNo.Keys)
|
||||
{
|
||||
if (serno > serialNo)
|
||||
return lastItem;
|
||||
lastItem = dicSerialNo[serno];
|
||||
}
|
||||
return lastItem;
|
||||
}
|
||||
private bool runOne = true;
|
||||
private static MemoryStream GetMemoryStream(string text)
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(text);
|
||||
MemoryStream ms = new MemoryStream(bytes);
|
||||
ms.Position = 0;
|
||||
return ms;
|
||||
}
|
||||
private string GetProcInfo(XmlNode xn3, int p1, int p2, int p3)
|
||||
{
|
||||
if (xn3.OuterXml == "<p></p>") xn3 = xn3.NextSibling;
|
||||
return xn3.ChildNodes[p1].ChildNodes[p2].ChildNodes[p3].ChildNodes[0].Value.Trim("\r\n ".ToCharArray());
|
||||
}
|
||||
private bool _UpdateHTML = true;
|
||||
public bool UpdateHTML
|
||||
{
|
||||
get { return _UpdateHTML; }
|
||||
set { _UpdateHTML = value; }
|
||||
}
|
||||
private string IndentifySpecialCharacters(string xml)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string txt = Regex.Replace(xml, "<span[^<>]+>", "");
|
||||
foreach (char c in txt)
|
||||
{
|
||||
if (((int)c) < 32 || ((int)c) > 256)
|
||||
sb.Append(string.Format("[x{0:X4}]", (int)c));
|
||||
else
|
||||
sb.Append(c == ' ' ? '\xb7' : c);
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
private void btnRun_Click(object sender, EventArgs e)
|
||||
{
|
||||
ProcessXML();
|
||||
}
|
||||
Regex regColorCode = new Regex(@"(\<[^<>]+\>)([^<>]*)", RegexOptions.Singleline);
|
||||
Regex regColorCodeText = new Regex("(\t*)([^\t]*)", RegexOptions.Singleline);
|
||||
private void ColorCoded(string str)
|
||||
{
|
||||
rtbXML.Clear();
|
||||
Color fColor = Color.PaleTurquoise;
|
||||
Color fNext = Color.PaleTurquoise;
|
||||
foreach (Match m in regColorCode.Matches(str))
|
||||
{
|
||||
string fmt = m.Groups[1].Value;
|
||||
string txt = m.Groups[2].Value;
|
||||
if (fmt.StartsWith("<table"))
|
||||
fNext = fColor = Color.PaleGreen;
|
||||
else if (fmt == "</table>")
|
||||
fNext = Color.PaleTurquoise;
|
||||
else if (fmt == "<br />")
|
||||
fColor = Color.PeachPuff;
|
||||
else if (fmt == "</p>")
|
||||
fColor = Color.LightPink;
|
||||
AddToXML(fmt, fColor);
|
||||
fColor = fNext;
|
||||
foreach (Match mm in regColorCodeText.Matches(txt))
|
||||
{
|
||||
string tabs = mm.Groups[1].Value;
|
||||
string nontabs = mm.Groups[2].Value;
|
||||
AddToXML(tabs, Color.Khaki);
|
||||
AddToXML(nontabs, Color.Yellow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void AddToXML(string txt, Color fColor)
|
||||
{
|
||||
if (txt == "") return;
|
||||
rtbXML.SelectionStart = rtbXML.TextLength;
|
||||
rtbXML.SelectionBackColor = fColor;
|
||||
rtbXML.SelectedText = txt;
|
||||
}
|
||||
private void frmConvertAlarms_Load(object sender, EventArgs e)
|
||||
{
|
||||
LoadSettings();
|
||||
SetEventHandlers();
|
||||
_MyFlexGrid = new VlnFlexGrid();
|
||||
tpGrid.Controls.Add(_MyFlexGrid);
|
||||
string str = AutoFolder;
|
||||
if (str != null && str.Length > 5)
|
||||
{
|
||||
tmr.Enabled = true;
|
||||
}
|
||||
}
|
||||
private void SetEventHandlers()
|
||||
{
|
||||
tbFileName.TextChanged += tbFileName_TextChanged;
|
||||
Move += frmConvertAlarms_Move;
|
||||
Resize += frmConvertAlarms_Resize;
|
||||
sc1.SplitterMoved += sc1_SplitterMoved;
|
||||
//sc2.SplitterMoved += sc2_SplitterMoved;
|
||||
tbServer.TextChanged += tbServer_TextChanged;
|
||||
cmbDatabase.TextChanged += cmbDatabase_TextChanged;
|
||||
cmbDatabase.Click += cmbDatabase_Click;
|
||||
cmbDocVersion.TextChanged += cmbDocVersion_TextChanged;
|
||||
//BuildTableCombo();
|
||||
//BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
void cmbDatabase_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Database = cmbDatabase.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
private void BuildProcedureSetCombo()
|
||||
{
|
||||
DocVersionInfoList dvil = DocVersionInfoList.Get();
|
||||
cmbDocVersion.DataSource = dvil;
|
||||
cmbDocVersion.DisplayMember = "SearchDVPath";
|
||||
cmbDocVersion.ValueMember = "VersionId";
|
||||
}
|
||||
|
||||
private void cmbDocVersion_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.ProcedureSet = (int)cmbDocVersion.SelectedValue;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void cmbDatabase_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Database = cmbDatabase.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
private void tbServer_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.SqlServer = tbServer.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
string db = cmbDatabase.Text;
|
||||
try
|
||||
{
|
||||
BuildDatabaseCombo();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tsslStatus.Text = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private void BuildDatabaseCombo()
|
||||
{
|
||||
string tmp = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True", tbServer.Text, "MASTER");
|
||||
SqlConnection cn = new SqlConnection(tmp);
|
||||
cn.Open();
|
||||
// SqlDataAdapter da = new SqlDataAdapter("select name from sysdatabases where name like 'VEP%' order by name", cn);
|
||||
//SqlDataAdapter da = new SqlDataAdapter("select name, case when object_id('[' + name + ']..Items') is null then 'Not PROMS' when object_id('[' + name + ']..Revisions') is not null then 'Approval' when object_id('[' + name + ']..ContentAudits') is not null then 'Change Manager' else 'Original' end functionality from sysdatabases where name not in ('master','model','msdb','tempdb') order by name", cn);
|
||||
SqlDataAdapter da = new SqlDataAdapter("select name, 'Approval' functionality from sysdatabases where name not in ('master','model','msdb','tempdb') order by name", cn);
|
||||
da.SelectCommand.CommandTimeout = 300; // 300 sec timeout
|
||||
DataSet ds = new DataSet();
|
||||
try
|
||||
{
|
||||
da.Fill(ds);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.GetType().Name, ex.Message);
|
||||
throw (new Exception("Cannot Load Data List", ex));
|
||||
}
|
||||
cn.Close();
|
||||
//System.Windows.Forms.ContextMenuStrip cms = new System.Windows.Forms.ContextMenuStrip();
|
||||
//cms.Items.Add("Choose Database");
|
||||
//System.Windows.Forms.ToolStripMenuItem tsmi = cms.Items[0] as System.Windows.Forms.ToolStripMenuItem;
|
||||
//tsmi.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ActiveCaption);// System.Drawing.Color.Pink;
|
||||
//tsmi.ForeColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ActiveCaptionText);
|
||||
//tsmi.Font = new System.Drawing.Font(tsmi.Font, System.Drawing.FontStyle.Bold);
|
||||
foreach (DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
if (dr["functionality"].ToString() == "Approval")
|
||||
cmbDatabase.Items.Add(dr["name"].ToString());
|
||||
}
|
||||
}
|
||||
void frmConvertAlarms_Resize(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Size = Size;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
void frmConvertAlarms_Move(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Location = Location;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
void tbFileName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.FileName = tbFileName.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
private void sc1_SplitterMoved(object sender, SplitterEventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Split1 = sc1.SplitterDistance;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
private void LoadSettings()
|
||||
{
|
||||
Size = Properties.Settings.Default.Size;
|
||||
Location = Properties.Settings.Default.Location;
|
||||
if (Properties.Settings.Default.FileName != null && Properties.Settings.Default.FileName != "")
|
||||
{
|
||||
FileInfo fi = new FileInfo(Properties.Settings.Default.FileName);
|
||||
tbFileName.Text = fi.FullName;
|
||||
}
|
||||
sc1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||
tbServer.Text = Properties.Settings.Default.SqlServer;
|
||||
cmbDatabase.Text = Properties.Settings.Default.Database;
|
||||
try
|
||||
{
|
||||
BuildDatabaseCombo();
|
||||
Database.VEPROMS_Connection = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True", tbServer.Text, cmbDatabase.Text);
|
||||
BuildProcedureSetCombo();
|
||||
cmbDocVersion.SelectedValue = Properties.Settings.Default.ProcedureSet;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tsslStatus.Text = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private void tsslStatus_Click(object sender, EventArgs e)
|
||||
{
|
||||
tsslStatus.Text = string.Format("Selection = '{0}'", IndentifySpecialCharacters(tbXML.SelectedText));
|
||||
Clipboard.Clear();
|
||||
if (tbXML.SelectedText != "")
|
||||
Clipboard.SetText(IndentifySpecialCharacters(tbXML.SelectedText));
|
||||
}
|
||||
|
||||
private void rtbXML_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
private void tbXML_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (UpdateHTML)
|
||||
{
|
||||
if (AutoFolder == null) htmlChanged(tbXML.Text);
|
||||
XMLChanged(tbXML.Text);
|
||||
if (AutoFolder == null) ColorCoded(tbXML.Text);
|
||||
}
|
||||
}
|
||||
private bool _UpdateTbXML = true;
|
||||
|
||||
public bool UpdateTbXML
|
||||
{
|
||||
get { return _UpdateTbXML; }
|
||||
set { _UpdateTbXML = value; }
|
||||
}
|
||||
private void rtbXML_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//if (UpdateHTML)
|
||||
//{
|
||||
// UpdateHTML = false;
|
||||
// htmlChanged(rtbXML.Text);
|
||||
// XMLChanged(rtbXML.Text);
|
||||
// tbXML.Text = rtbXML.Text;
|
||||
// UpdateHTML = true;
|
||||
//}
|
||||
}
|
||||
private void btnConvert_Click(object sender, EventArgs e)
|
||||
{
|
||||
//SaveProcedure(ProcTextAll, ProcNumber, ProcTitle,999999);
|
||||
DVI = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, tbFileName.Text);
|
||||
}
|
||||
string lastLine = "";
|
||||
SortedDictionary<int, ItemInfo> dicSerialNo;
|
||||
int errorCount;
|
||||
private void btnAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
DVI = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
string fileName = tbFileName.Text;
|
||||
ConvertFiles(fileName);
|
||||
}
|
||||
|
||||
private void ConvertFiles(string fileName)
|
||||
{
|
||||
Application.DoEvents();
|
||||
DateTime dtStart = DateTime.Now;
|
||||
errorCount = 0;
|
||||
dicSerialNo = new SortedDictionary<int, ItemInfo>();
|
||||
runOne = false;
|
||||
// Get List of files
|
||||
FileInfo fi = new FileInfo(fileName);
|
||||
DirectoryInfo di = fi.Directory;
|
||||
// Loop through list
|
||||
FileInfo[] fs = di.GetFiles("*.xml");
|
||||
tspb.Visible = true;
|
||||
tspb.Value = 0;
|
||||
tspb.Maximum = fs.Length;
|
||||
foreach (FileInfo f in fs)
|
||||
{
|
||||
//ResetSpecial();
|
||||
MyFileName = f.FullName;
|
||||
tspb.Value++;
|
||||
tsslStatus.Text = f.Name;
|
||||
Application.DoEvents();
|
||||
// Process each file
|
||||
try
|
||||
{
|
||||
ProcessXmlFile(f.FullName);
|
||||
// Convert each file
|
||||
//SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, SerialNo);
|
||||
SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, f.Name);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
++errorCount;
|
||||
Console.WriteLine("*** {0} - {1}\r\n*** Procedure {2}\r\n*** Text: {3}\r\n*** File Name:{4} ",
|
||||
ex.GetType().Name, ex.Message, ProcNumber, lastLine, f.Name);
|
||||
//break;
|
||||
}
|
||||
//break; one Procedure per set
|
||||
}
|
||||
runOne = true;
|
||||
tspb.Visible = false;
|
||||
tsslStatus.Text = "Done";
|
||||
//MessageBox.Show(string.Format(
|
||||
// "{0} Errors\r\n{1} Procedures\r\n{2:F} Seconds", errorCount,
|
||||
// fs.Length,
|
||||
// TimeSpan.FromTicks(DateTime.Now.Ticks - dtStart.Ticks).TotalSeconds),
|
||||
// "Done with this set", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
private void statusStrip1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (rtbXML.SelectedText != "")
|
||||
{
|
||||
tsslStatus.Text = string.Format("Selection = '{0}'", IndentifySpecialCharacters(rtbXML.SelectedText));
|
||||
Clipboard.Clear();
|
||||
Clipboard.SetText(IndentifySpecialCharacters(rtbXML.SelectedText));
|
||||
}
|
||||
}
|
||||
ROFSTLookup MyLookUp;
|
||||
private void tmr_Tick(object sender, EventArgs e)
|
||||
{
|
||||
tmr.Enabled = false;
|
||||
// If timer on the its ready to proccess
|
||||
string str = AutoFolder;
|
||||
if (str != null && str.Length > 5)
|
||||
{
|
||||
DirectoryInfo di = new DirectoryInfo(str);
|
||||
FileInfo fi = di.GetFiles("*.xml")[0];
|
||||
DVI = GetDVI(fi.FullName);
|
||||
ConvertFiles(fi.FullName);
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
private static string _AutoFolder = null;
|
||||
private static string AutoFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_AutoFolder == null)
|
||||
{
|
||||
_AutoFolder = System.Environment.CommandLine;
|
||||
_AutoFolder = _AutoFolder.Substring(_AutoFolder.IndexOf(@".exe"" ") + 6).Trim(" \t\r\n".ToCharArray());
|
||||
}
|
||||
if (_AutoFolder.Length < 1)
|
||||
return null;
|
||||
return _AutoFolder;
|
||||
}
|
||||
}
|
||||
|
||||
private DocVersionInfo GetDVI(string fileName)
|
||||
{
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.Load(fileName);
|
||||
XmlElement xe = xd.DocumentElement;
|
||||
while (xe.Name != "ident")
|
||||
xe = xe.ChildNodes[0] as XmlElement;
|
||||
string DVIFolderName = xe.Attributes["PNSNo"].Value;
|
||||
if (cmbDocVersion.SelectedValue != null)
|
||||
{
|
||||
DocVersionInfo dvi = DocVersionInfo.Get((int)(cmbDocVersion.SelectedValue));
|
||||
int idnew;
|
||||
ROFstInfo fst = dvi.DocVersionAssociations[0].MyROFst;
|
||||
FolderInfo grandParent = dvi.ActiveParent.ActiveParent as FolderInfo;
|
||||
// Create a folder
|
||||
double myOrder = GetMyOrder(grandParent.SortedChildFolders, DVIFolderName);
|
||||
using (Folder flder = Folder.MakeFolder(grandParent.Get(), null, DVIFolderName, fileName, GetSystem(xe), null, myOrder, null))
|
||||
{
|
||||
flder.ManualOrder = 0;
|
||||
flder.ManualOrder = myOrder;
|
||||
//Console.WriteLine("myOrder = {0}, flder = {1}", myOrder, flder.ManualOrder);
|
||||
flder.Save();
|
||||
// create a a DocVersion
|
||||
using (DocVersion dv = DocVersion.MakeDocVersion(flder, "Working Draft", null, null, null, null))
|
||||
{
|
||||
dv.DocVersionAssociations.Add(fst.Get());
|
||||
dv.Save();
|
||||
idnew = dv.VersionID;
|
||||
}
|
||||
}
|
||||
return DocVersionInfo.Get(idnew);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
private double GetMyOrder(Csla.SortedBindingList<FolderInfo> myList, string DVIFolderName)
|
||||
{
|
||||
double lastNum = 0;
|
||||
// Console.WriteLine("--->>> FolderName {0} Insert Count {1}",DVIFolderName, myList.Count);
|
||||
foreach (FolderInfo myFolder in myList)
|
||||
{
|
||||
// Console.WriteLine("--->>> FolderName {0} Insert Name {1} Insert Order {2}",DVIFolderName, myFolder.Name, myFolder.ManualOrder);
|
||||
if (myFolder.Name.CompareTo(DVIFolderName) >= 0)
|
||||
return (lastNum + (double) myFolder.ManualOrder) / 2.0;
|
||||
lastNum = myFolder.ManualOrder ?? 1.0;
|
||||
}
|
||||
return lastNum + 1;
|
||||
}
|
||||
private string GetSystem(XmlElement xe)
|
||||
{
|
||||
XmlAttribute xa = xe.Attributes["system"];
|
||||
if (xa is XmlAttribute) return xa.Value;
|
||||
return "N/A";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
<?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>
|
||||
<metadata name="ofd.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>87, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tmr.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>203, 3</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>25</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="ConvertLocalAlarms.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<ConvertLocalAlarms.Properties.Settings>
|
||||
<setting name="Size" serializeAs="String">
|
||||
<value>1000, 600</value>
|
||||
</setting>
|
||||
<setting name="Location" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="FileName" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="Split1" serializeAs="String">
|
||||
<value>250</value>
|
||||
</setting>
|
||||
<setting name="SqlServer" serializeAs="String">
|
||||
<value>.\Sql2008Express</value>
|
||||
</setting>
|
||||
<setting name="Database" serializeAs="String">
|
||||
<value>VEPROMs_BARAKAH</value>
|
||||
</setting>
|
||||
<setting name="ProcedureSet" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</ConvertLocalAlarms.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
@@ -1,143 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{BF0EEE6A-5350-4CE7-8E28-73F1A3811870}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ConvertLocalAlarms</RootNamespace>
|
||||
<AssemblyName>ConvertLocalAlarms</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" />
|
||||
<Reference Include="Csla">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=12.5.0.2, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files\DotNetBar for Windows Forms\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="VEPROMS.CSLA.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Controls.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\Volian.Controls.Library\bin\Debug\Volian.Controls.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ConvertTable.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertLocalAlarms.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertLocalAlarms.Designer.cs">
|
||||
<DependentUpon>frmConvertLocalAlarms.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SaveProcedureLocal.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="frmConvertLocalAlarms.resx">
|
||||
<DependentUpon>frmConvertLocalAlarms.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = "relative:ConvertLocalAlarms"
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,197 +0,0 @@
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
|
||||
namespace ConvertLocalAlarms
|
||||
{
|
||||
public partial class frmConvertLocalAlarms
|
||||
{
|
||||
private static string GetTableText()
|
||||
{
|
||||
return _MyFlexGrid.GetSearchableText();
|
||||
}
|
||||
private static void LoadTable2(XmlNode xn, StepLookup mySteps, int level)
|
||||
{
|
||||
XmlNode xn2 = xn.SelectSingleNode("tr/td/table");
|
||||
if (xn2 != null) xn = xn2;
|
||||
VlnFlexGrid fg = _MyFlexGrid;
|
||||
fg.Font = new Font("Arial", 11, FontStyle.Regular, GraphicsUnit.Point);
|
||||
fg.Clear();
|
||||
fg.Rows.Count = 1;
|
||||
fg.Cols.Count = 1;
|
||||
int rows = 0;
|
||||
fg.MergedRanges.Clear();
|
||||
foreach (XmlNode xr in xn.ChildNodes)
|
||||
{
|
||||
if (xr.Name == "tr")
|
||||
{
|
||||
++rows;
|
||||
AddTableRow(xr, fg, rows);
|
||||
}
|
||||
}
|
||||
fg.MyBorders = new VlnBorders(GridLinePattern.Single, fg.Rows.Count, fg.Cols.Count);
|
||||
fg.BringToFront();
|
||||
fg.Invalidate();
|
||||
Application.DoEvents();
|
||||
//ShowColumnWidths(fg);
|
||||
fg.MakeRTFcells(false);
|
||||
//ShowMergedCells(fg);
|
||||
//ShowColumnWidths(fg);
|
||||
//Well, Can I save the table
|
||||
//using (Step step = MakeCSLAStep(mySteps, mySteps.Count, null, {TableContent}, 20008, E_FromType.Table))
|
||||
//{
|
||||
// Grid.MakeGrid(step.MyContent, fg.GetXMLData(), "");
|
||||
//}
|
||||
}
|
||||
public static VlnFlexGrid _MyFlexGrid = null;
|
||||
private static void AddTableRow(XmlNode xr, VlnFlexGrid fg, int rows)
|
||||
{
|
||||
if (rows > fg.Rows.Count)
|
||||
fg.Rows.Count = rows;
|
||||
int cols = 0;
|
||||
foreach (XmlNode xc in xr.ChildNodes)
|
||||
{
|
||||
++cols;
|
||||
//if (xc.InnerText.Contains("RC-V200"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerText.Contains("RC-V121"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerXml.Contains("AB 137") || xc.InnerXml.Contains("3013N01"))
|
||||
// Console.WriteLine("here");
|
||||
CellRange cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
//Console.WriteLine("Check {0}", cr2);
|
||||
while (cr2.c1 != cols - 1 || cr2.r1 != rows - 1)
|
||||
{
|
||||
cols++;
|
||||
cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
}
|
||||
AddMergedCells(fg, rows, cols, xc);
|
||||
//ShowMergedCells(fg);
|
||||
if (xc.Name == "td")
|
||||
{
|
||||
AddTableColumn(xc, fg, rows, cols);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//private static void ShowColumnWidths(VlnFlexGrid fg)
|
||||
//{
|
||||
// foreach (Column c in fg.Cols)
|
||||
// Console.WriteLine("Width[{0}]={1}", c.Index, c.Width);
|
||||
//}
|
||||
private static void ShowMergedCells(VlnFlexGrid fg)
|
||||
{
|
||||
for (int r = 0; r < fg.Rows.Count; r++)
|
||||
{
|
||||
for (int c = 0; c < fg.Cols.Count; c++)
|
||||
{
|
||||
CellRange cr3 = GetMyMergedRange(fg, r, c);
|
||||
if (fg.MergedRanges.Contains(cr3))
|
||||
Console.WriteLine("cr3 r={0},c={1},rng={2}", r, c, cr3);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static int GetSpan(string span)
|
||||
{
|
||||
int retval = int.Parse("0" + (span ?? ""));
|
||||
if (retval == 0) return 0;
|
||||
return retval - 1;
|
||||
}
|
||||
private static string GetAttribute(XmlNode xc, string attName)
|
||||
{
|
||||
string retval = null;
|
||||
XmlAttribute xa = xc.Attributes[attName];
|
||||
if (xa != null)
|
||||
retval = xa.Value;
|
||||
return retval;
|
||||
}
|
||||
private static void AddMergedCells(VlnFlexGrid fg, int rows, int cols, XmlNode xc)
|
||||
{
|
||||
string colspan = GetAttribute(xc, "colspan");
|
||||
string rowspan = GetAttribute(xc, "rowspan");
|
||||
if (colspan != null || rowspan != null)
|
||||
{
|
||||
//AddMergedRanges
|
||||
int r1 = rows;
|
||||
int c1 = cols;
|
||||
int r2 = r1 + GetSpan(rowspan);
|
||||
if (r2 > fg.Rows.Count) fg.Rows.Count = r2;
|
||||
int c2 = c1 + GetSpan(colspan);
|
||||
if (c2 > fg.Cols.Count) fg.Cols.Count = c2;
|
||||
CellRange cr = new CellRange();
|
||||
cr.r1 = r1 - 1;
|
||||
cr.r2 = r2 - 1;
|
||||
cr.c1 = c1 - 1;
|
||||
cr.c2 = c2 - 1;
|
||||
fg.MergedRanges.Add(cr);
|
||||
//Console.WriteLine("Merged {0}", cr);
|
||||
}
|
||||
}
|
||||
|
||||
private static CellRange GetMyMergedRange(VlnFlexGrid fg, int r, int c)
|
||||
{
|
||||
foreach (CellRange cr in fg.MergedRanges)
|
||||
{
|
||||
if (cr.r1 <= r && cr.r2 >= r && cr.c1 <= c && cr.c2 >= c)
|
||||
return cr;
|
||||
}
|
||||
return fg.GetMergedRange(r, c);
|
||||
}
|
||||
private static Regex regNumber = new Regex("^[0-9]+$", RegexOptions.Compiled);
|
||||
private static void AddTableColumn(XmlNode xc, VlnFlexGrid fg, int rows, int cols)
|
||||
{
|
||||
//Console.WriteLine("Rows {0}, Cols {1}", rows, cols);
|
||||
if (cols > fg.Cols.Count)
|
||||
fg.Cols.Count = cols;
|
||||
string width = GetAttribute(xc, "width");
|
||||
if (width != null && width != "" && regNumber.IsMatch(width))
|
||||
{
|
||||
if (width.EndsWith("%"))
|
||||
fg.Cols[cols - 1].Width = (int)(int.Parse(width.Replace("%", "")) * 96 * 6.5F / 100);
|
||||
else
|
||||
{
|
||||
int w = int.Parse(width)*96/72;
|
||||
//Console.WriteLine("w[{0}]={1}", cols - 1, w);
|
||||
fg.Cols[cols - 1].Width = w;
|
||||
}
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string prefix = "";
|
||||
foreach (XmlNode xn in xc.ChildNodes)
|
||||
{
|
||||
if (xn.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
if (xn.Name == "ul")
|
||||
{
|
||||
foreach (XmlNode xn2 in xn.ChildNodes)
|
||||
{
|
||||
if (xn2.Name == "li")
|
||||
{
|
||||
sb.Append(prefix + "*" + xn.InnerText);
|
||||
}
|
||||
if (xn2.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (width != null && width != "" && !regNumber.IsMatch(width))
|
||||
{
|
||||
Console.WriteLine("width is not a number {0}, rows {1}, cols {2}, Text='{3}'", width, rows, cols, xc.OuterXml);
|
||||
}
|
||||
fg[rows - 1, cols - 1] = sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ConvertLocalAlarms
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new frmConvertLocalAlarms());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("ConvertLocalAlarms")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ConvertLocalAlarms")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("4fbb3402-5209-47ff-a6ba-e0da93ef51c4")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,63 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ConvertLocalAlarms.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ConvertLocalAlarms.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,110 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ConvertLocalAlarms.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("1000, 600")]
|
||||
public global::System.Drawing.Size Size {
|
||||
get {
|
||||
return ((global::System.Drawing.Size)(this["Size"]));
|
||||
}
|
||||
set {
|
||||
this["Size"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
|
||||
public global::System.Drawing.Point Location {
|
||||
get {
|
||||
return ((global::System.Drawing.Point)(this["Location"]));
|
||||
}
|
||||
set {
|
||||
this["Location"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string FileName {
|
||||
get {
|
||||
return ((string)(this["FileName"]));
|
||||
}
|
||||
set {
|
||||
this["FileName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("250")]
|
||||
public int Split1 {
|
||||
get {
|
||||
return ((int)(this["Split1"]));
|
||||
}
|
||||
set {
|
||||
this["Split1"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute(".\\Sql2008Express")]
|
||||
public string SqlServer {
|
||||
get {
|
||||
return ((string)(this["SqlServer"]));
|
||||
}
|
||||
set {
|
||||
this["SqlServer"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("VEPROMs_BARAKAH")]
|
||||
public string Database {
|
||||
get {
|
||||
return ((string)(this["Database"]));
|
||||
}
|
||||
set {
|
||||
this["Database"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int ProcedureSet {
|
||||
get {
|
||||
return ((int)(this["ProcedureSet"]));
|
||||
}
|
||||
set {
|
||||
this["ProcedureSet"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="ConvertLocalAlarms.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="Size" Type="System.Drawing.Size" Scope="User">
|
||||
<Value Profile="(Default)">1000, 600</Value>
|
||||
</Setting>
|
||||
<Setting Name="Location" Type="System.Drawing.Point" Scope="User">
|
||||
<Value Profile="(Default)">0, 0</Value>
|
||||
</Setting>
|
||||
<Setting Name="FileName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="Split1" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">250</Value>
|
||||
</Setting>
|
||||
<Setting Name="SqlServer" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">.\Sql2008Express</Value>
|
||||
</Setting>
|
||||
<Setting Name="Database" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">VEPROMs_BARAKAH</Value>
|
||||
</Setting>
|
||||
<Setting Name="ProcedureSet" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -1 +0,0 @@
|
||||
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
@@ -1,549 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Text.RegularExpressions;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using log4net;
|
||||
using Volian.Controls.Library;
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
|
||||
namespace ConvertLocalAlarms
|
||||
{
|
||||
public partial class frmConvertLocalAlarms : Form
|
||||
{
|
||||
string lastLine = "";
|
||||
//private void SaveProcedure(string text, string procNumber, string procTitle, int serialNo)
|
||||
private void SaveProcedure(string text, string procNumber, string procTitle, DocVersionInfo dvi)
|
||||
{
|
||||
Console.WriteLine("===> ARP: {0}, AppContext: {1}", dvi.MyFolder.Name, procNumber);
|
||||
// Add Procedure Number and Title
|
||||
ItemInfo prev = null;
|
||||
//if (serialNo == 999999)
|
||||
prev = dvi.MyItem == null ? null : dvi.MyItem.LastSibling;
|
||||
//else
|
||||
//{
|
||||
// prev = FindPrevious(dicSerialNo, serialNo);
|
||||
//}
|
||||
using (Procedure prc = Procedure.MakeProcedure(dvi, prev, procNumber, procTitle, 0))
|
||||
{
|
||||
ProcedureInfo prci = ProcedureInfo.Get(prc.ItemID);
|
||||
// dicSerialNo.Add(serialNo, prci);
|
||||
// Console.WriteLine("{0},{1}", serialNo, prci.ShortPath);
|
||||
// Add Section
|
||||
using (Section sec = Section.MakeSection(prci, null, null, "Procedure Content", 10000))
|
||||
{
|
||||
sec.SectionConfig.Section_ColumnMode = SectionConfig.SectionColumnMode.One;
|
||||
sec.SectionConfig.Section_Pagination = SectionConfig.SectionPagination.Separate;
|
||||
sec.Save();
|
||||
SectionInfo seci = SectionInfo.Get(sec.ItemID);
|
||||
// TODO: Add High Level Steps
|
||||
// TODO: Add Substeps
|
||||
MemoryStream ms = GetMemoryStream(text);
|
||||
Queue<string> qRead = new Queue<string>();
|
||||
using (StreamReader sr = new StreamReader(ms))
|
||||
fillQueue(qRead, sr);
|
||||
Dictionary<int, ItemInfo> lookup = new Dictionary<int, ItemInfo>();
|
||||
lookup.Add(0, prci);
|
||||
lookup.Add(1, seci);
|
||||
int level = 2;
|
||||
int type = 20001;
|
||||
int lastLevel = 2;
|
||||
int lastType = 0;
|
||||
int lastIndent = 0;
|
||||
int extra = 0;
|
||||
string lastTab = "";
|
||||
int? DeQueueType = null;
|
||||
E_FromType myFromType = E_FromType.Step;
|
||||
Queue<string> enQueue = null;
|
||||
Queue<string> deQueue = null;
|
||||
int deQueueLevel = 0;
|
||||
int deQueueLevelLast = 0;
|
||||
bool wasFromQueue;
|
||||
bool firstQueue = false;
|
||||
ItemInfo deQueueItem = null;
|
||||
bool saveDeQueueInfo = false;
|
||||
bool isTable = false;
|
||||
bool lastWasTable = false;
|
||||
string tableText = null;
|
||||
string tab = "";
|
||||
bool strangeBullet = false;
|
||||
bool lastNoteHadBullet = false;
|
||||
while (qRead.Count > 0 || deQueue != null)
|
||||
{
|
||||
string lineText;
|
||||
tableText = null;
|
||||
if (deQueue != null)
|
||||
{
|
||||
wasFromQueue = true;
|
||||
extra = 1;
|
||||
lineText = deQueue.Dequeue();
|
||||
if (deQueue.Count == 0)
|
||||
deQueue = null;
|
||||
if (lineText=="<NOTE>")
|
||||
{
|
||||
DeQueueType = 20007;
|
||||
}
|
||||
if (lineText=="<CAUTION>")
|
||||
{
|
||||
DeQueueType = 20006;
|
||||
}
|
||||
if (lineText=="<WARNING>")
|
||||
{
|
||||
DeQueueType = 20020;
|
||||
}
|
||||
if (deQueue != null)
|
||||
{
|
||||
if (deQueue.Count > 0)
|
||||
lineText = deQueue.Dequeue();
|
||||
if (deQueue.Count == 0)
|
||||
deQueue = null;
|
||||
}
|
||||
if (lastNoteHadBullet && lineText.Contains("\u2022"))
|
||||
DeQueueType = lastType;
|
||||
}
|
||||
else
|
||||
{
|
||||
wasFromQueue = false;
|
||||
DeQueueType = null;
|
||||
extra = 0;
|
||||
string findend = "";
|
||||
while (Regex.IsMatch(qRead.Peek(), "<(NOTE|CAUTION|WARNING)>(.*)"))
|
||||
{
|
||||
if (enQueue == null) enQueue = new Queue<string>();
|
||||
lineText = qRead.Dequeue();
|
||||
string sType = Regex.Replace(lineText, "^<(NOTE|CAUTION|WARNING)>(.*)$", "$1");
|
||||
lineText = Regex.Replace(lineText, "^<(NOTE|CAUTION|WARNING)>(.*)$", "$2");
|
||||
findend = string.Format("</{0}>", sType);
|
||||
enQueue.Enqueue(string.Format("<{0}>", sType));
|
||||
while (!lineText.Contains(findend))
|
||||
{
|
||||
enQueue.Enqueue(lineText);//.Replace("\u2022","").Trim());
|
||||
lineText = qRead.Dequeue().Trim();
|
||||
}
|
||||
lineText = lineText.Replace(findend, "");
|
||||
enQueue.Enqueue(lineText); //.Replace("\u2022", "").Trim());
|
||||
}
|
||||
lineText = qRead.Dequeue().TrimEnd(" ".ToCharArray());
|
||||
//string append = qRead.Peek();
|
||||
//lineText = qRead.Dequeue().Trim();
|
||||
if (lineText == ">") lineText = lineText.Replace(">", "");
|
||||
else lineText = lineText.Replace("<", "<").Replace(">", ">");
|
||||
//}
|
||||
HasSpecialCharacters(lineText);
|
||||
if (lineText.StartsWith("<table>"))
|
||||
{
|
||||
while (!lineText.Contains("</table>"))
|
||||
{
|
||||
lineText += " " + qRead.Dequeue();
|
||||
lineText = Regex.Replace(lineText, "</table>.*", "</table>");
|
||||
}
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.LoadXml(lineText);
|
||||
LoadTable2(xd.DocumentElement, null, 0);
|
||||
isTable = true;
|
||||
if (!lastWasTable) level = lastLevel + 1;
|
||||
else level = lastLevel;
|
||||
type = 20008;
|
||||
tableText = GetTableText();
|
||||
//StringBuilder sbxml= new StringBuilder();
|
||||
//using(StringWriter sw = new StringWriter(sbxml))
|
||||
// _MyFlexGrid.WriteXml(sw);
|
||||
//using(StringReader sr= new StringReader(sbxml.ToString()))
|
||||
// _MyFlexGrid.ReadXml(sr);
|
||||
//Application.DoEvents();
|
||||
}
|
||||
else lineText = Regex.Replace(lineText, "<[^<>]+>", "");
|
||||
}
|
||||
if (lineText.Replace("\t", "").Replace(" ", "") != "")
|
||||
lastLine = lineText;
|
||||
Match m = Regex.Match(lineText.Replace('\xFFFD', '\x2022'), @"^(\t*)([1-9][0-9]*\.0|[1-9][0-9]*\.[1-9][0-9]*|[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*|[A-Z]\.|\u2022|)([\t ]+)([^\u2022]*)$", RegexOptions.Multiline);
|
||||
if (m.Groups[4].Value != "")
|
||||
{
|
||||
tab = m.Groups[2].Value;
|
||||
int indent = m.Groups[1].Value.Length;
|
||||
if (isTable)
|
||||
{
|
||||
// do nothing
|
||||
if (lastWasTable)
|
||||
level = lastLevel;
|
||||
else
|
||||
level = 1 + lastLevel;
|
||||
type = 20008;
|
||||
myFromType = E_FromType.Table;
|
||||
}
|
||||
else if (indent == 0 && tab.EndsWith(".0")) // High Level Step
|
||||
{
|
||||
level = 2;
|
||||
type = 20002;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*\\.[1-9][0-9]*\\.[1-9][0-9]*")) // Sub-Substep
|
||||
{
|
||||
level = 4;
|
||||
type = 20001;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*\\.[1-9][0-9]*")) // Substep
|
||||
{
|
||||
level = 3;
|
||||
type = 20001;
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[A-Z]\\.")) // Sub-Substep
|
||||
{
|
||||
level = 5;
|
||||
type = 20001;
|
||||
}
|
||||
else if (tab == "") // Paragraph
|
||||
{
|
||||
//Console.WriteLine("Type = 20024, deQueueuType= {0} Level = {1}", DeQueueType, level);
|
||||
level = lastLevel + 1;
|
||||
type = 20024;
|
||||
}
|
||||
else if (tab == "\u2022")//bullet
|
||||
{
|
||||
if (firstQueue)
|
||||
level = lastLevel + 1;
|
||||
else if (lastTab == "\u2022")
|
||||
level = lastLevel;
|
||||
else
|
||||
if (lastType == 20007 && lastTab == "")
|
||||
level = lastLevel + 1;
|
||||
else
|
||||
{
|
||||
level = indent + 3;
|
||||
strangeBullet = true;
|
||||
}
|
||||
type = 20004;
|
||||
if (Regex.IsMatch(m.Groups[4].Value, "^[0-9]"))
|
||||
type = 20011;
|
||||
}
|
||||
else if (tab == "\u25CB")//bullet
|
||||
{
|
||||
level = indent + 4;
|
||||
type = 20004;
|
||||
if (Regex.IsMatch(m.Groups[4].Value, "^[0-9]"))
|
||||
type = 20011;
|
||||
}
|
||||
//while (level < lastLevel)
|
||||
// lookup.Remove(lastLevel--);
|
||||
if (firstQueue && deQueueLevelLast > 0) level = deQueueLevelLast + 1;
|
||||
while (level < lookup.Count - 1)
|
||||
lookup.Remove(lookup.Count - 1);
|
||||
lastTab = tab;
|
||||
lastLevel = level;
|
||||
//lastIndent = indent;
|
||||
lastWasTable = isTable;
|
||||
deQueueLevelLast = deQueueLevel;
|
||||
}
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
saveDeQueueInfo = true;
|
||||
enQueue = null;
|
||||
}
|
||||
int newType = DeQueueType ?? (isTable ? 20008 : type);
|
||||
if (DeQueueType != null)
|
||||
{
|
||||
myFromType = E_FromType.Note;
|
||||
level = 3;
|
||||
if(deQueue!=null)
|
||||
Console.WriteLine("Multiple NoteLines");
|
||||
if (tab == "\u2022")
|
||||
lastNoteHadBullet = true;
|
||||
}
|
||||
lastType = newType;
|
||||
if (enQueue == null)
|
||||
{
|
||||
if (lookup.Count < level)
|
||||
{
|
||||
using (Step stp = (lookup[lookup.Count - 1] as StepInfo).Get())
|
||||
{
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, GetAnnotationText2(lineText), null);
|
||||
}
|
||||
}
|
||||
else if (lookup.Count == level)
|
||||
{ // Make new Step Type Child
|
||||
using (Step stp = Step.MakeStep(lookup[level - 1], null, null, tableText ?? m.Groups[4].Value, newType, myFromType))
|
||||
{
|
||||
if (strangeBullet)
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, "Strange Bullet", null);
|
||||
ItemInfo myItem = StepInfo.Get(stp.ItemID);
|
||||
if (isTable)
|
||||
{
|
||||
Grid.MakeGrid(stp.MyContent, _MyFlexGrid.GetXMLData(), "");
|
||||
String footnote = GetFootNote(ms, qRead);
|
||||
if (footnote.Length > 0) // Make Table FootNote
|
||||
Step.MakeStep(myItem, null, null, footnote, 20024, E_FromType.Step);
|
||||
}
|
||||
isTable = false;
|
||||
lookup.Add(level, myItem);
|
||||
//Console.WriteLine("+++B tab = {0}, Lookup.Count = {1}, Level = {2}",tab, lookup.Count, level);
|
||||
//Console.WriteLine("+++A tab = {0}, Lookup.Count = {1}, Level = {2}",tab, lookup.Count, level);
|
||||
if (saveDeQueueInfo)
|
||||
{
|
||||
deQueueLevel = level;
|
||||
deQueueItem = lookup[level];
|
||||
saveDeQueueInfo = false;
|
||||
}
|
||||
if (firstQueue) firstQueue = false;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // MakeConfig Next Child
|
||||
int previousType = ((int)lookup[level].MyContent.Type);
|
||||
if (firstQueue && DeQueueType != null)
|
||||
{
|
||||
previousType = (int)DeQueueType;
|
||||
level = deQueueLevel + 1;
|
||||
}
|
||||
using (Step stp = Step.MakeStep(lookup[level - 1], lookup[level], null, tableText ?? m.Groups[4].Value, previousType, myFromType))
|
||||
{
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, string.Format("Type Change {0} to {1}", newType, ((int)lookup[level].MyContent.Type)), null);
|
||||
if (strangeBullet)
|
||||
Annotation.MakeAnnotation(stp, AnnotationType.GetByNameOrCreate("Conversion Error"), null, "Strange Bullet", null);
|
||||
strangeBullet = false;
|
||||
ItemInfo myItem = StepInfo.Get(stp.ItemID);
|
||||
if (isTable)
|
||||
{
|
||||
Grid.MakeGrid(stp.MyContent, _MyFlexGrid.GetXMLData(), "");
|
||||
String footnote = GetFootNote(ms, qRead);
|
||||
if (footnote.Length > 0)// Make Table Footnote
|
||||
Step.MakeStep(myItem, null, null, footnote, 20024, E_FromType.Step);
|
||||
}
|
||||
isTable = false;
|
||||
//Console.WriteLine(">>> tab = {0}, Lookup.Count = {1}, Level = {2}", tab, lookup.Count, level);
|
||||
lookup[level] = myItem;
|
||||
if (saveDeQueueInfo)
|
||||
{
|
||||
deQueueLevel = level;
|
||||
deQueueItem = lookup[level];
|
||||
saveDeQueueInfo = false;
|
||||
}
|
||||
if (firstQueue) firstQueue = false;
|
||||
}
|
||||
}
|
||||
myFromType = E_FromType.Step;
|
||||
if (deQueue == null && deQueueItem != null)
|
||||
{
|
||||
level = deQueueLevel;
|
||||
while (level < lookup.Count)
|
||||
lookup.Remove(lookup.Count - 1);
|
||||
lookup[level] = deQueueItem;
|
||||
deQueueItem = null;
|
||||
DeQueueType = null;
|
||||
}
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// enQueue.Enqueue(lineText);
|
||||
//}
|
||||
DeQueueType = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (runOne) MessageBox.Show("Done", "Converted");
|
||||
}
|
||||
|
||||
private ItemInfo FindLocation(ItemInfo myItem, string procNumber)
|
||||
{
|
||||
while (myItem != null)
|
||||
{
|
||||
if (myItem.DisplayNumber.CompareTo(procNumber) >= 0)
|
||||
return myItem.MyPrevious;
|
||||
myItem = myItem.NextItem;
|
||||
}
|
||||
return myItem;
|
||||
}
|
||||
private string MakeConfig(string fmt, params string [] args)
|
||||
{
|
||||
string [] atts = new string[args.Length];
|
||||
args.CopyTo(atts,0);
|
||||
for(int i=0; i<atts.Length; i++)
|
||||
atts[i] = atts[i].Replace("&","&").Replace("<","<").Replace(">",">");
|
||||
return string.Format(fmt, atts);
|
||||
}
|
||||
private void fillQueue(Queue<string> qread, StreamReader sr)
|
||||
{
|
||||
while(sr.Peek() > 0)
|
||||
qread.Enqueue(sr.ReadLine());
|
||||
}
|
||||
//public string NextLine
|
||||
//{
|
||||
// get { return _NextLine; }
|
||||
// set { _NextLine = value; }
|
||||
//}
|
||||
private string GetFootNote(MemoryStream ms, Queue<string> qRead)
|
||||
{
|
||||
string sep = "";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
while(qRead.Count > 0)
|
||||
{
|
||||
// Read a line at a time
|
||||
string str = qRead.Peek();
|
||||
str = Regex.Replace(str, "<[^<>]+>", "").Trim(" \t".ToCharArray()).Replace(">", "");
|
||||
str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u9679?");
|
||||
//str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u7?");
|
||||
// If Text begins with number then
|
||||
if(Regex.IsMatch(str,"[0-9].*") || str.StartsWith("<table>"))
|
||||
return sb.ToString();
|
||||
//append string
|
||||
if (sb.ToString() != "" || str != "")
|
||||
{
|
||||
sep = "\r\n";
|
||||
}
|
||||
sb.Append(sep + qRead.Dequeue());
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
private void ProcessChars(string str)
|
||||
{
|
||||
foreach (char c in str)
|
||||
{
|
||||
if (c < 0x20 || c > 0x7F)
|
||||
Console.WriteLine("{0:X4}", (int)c);
|
||||
}
|
||||
}
|
||||
public void ResetSpecial()
|
||||
{
|
||||
FoundSpecial = new List<char>();
|
||||
}
|
||||
List<char> FoundSpecial = new List<char>();
|
||||
private void HasSpecialCharacters(string lineText)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (char c in lineText)
|
||||
{
|
||||
if ((c < 0x20 || c > 0x7F) && !FoundSpecial.Contains(c))
|
||||
{
|
||||
Console.WriteLine("*** Special Character {0:X4}", (int)c);
|
||||
FoundSpecial.Add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//private static string GetAnnotationText(string fileName)
|
||||
//{
|
||||
// return string.Format("FileName:{0}\r\nShortName:{1}\r\nFullName:{2}\r\nSystem:{3}\r\nPNSNo:{4}\r\nRelatedFunction:{5}" ,
|
||||
// fileName,ShortName,FullName,ApSystem,PNSNo ,RelatedFunction);
|
||||
//}
|
||||
private static string GetAnnotationText2(string lineText)
|
||||
{
|
||||
//return string.Format("LineText:{0}\r\nShortName:{1}\r\nFullName:{2}\r\nSystem:{3}\r\nPNSNo:{4}\r\nRelatedFunction:{5}",
|
||||
// lineText, ShortName, FullName, apSystem, PNSNo, RelatedFunction);
|
||||
return string.Format("LineText:{0}",
|
||||
lineText);
|
||||
}
|
||||
//private void fillQueue(Queue<string> qread, StreamReader sr)
|
||||
//{
|
||||
// while (sr.Peek() > 0)
|
||||
// qread.Enqueue(sr.ReadLine());
|
||||
//}
|
||||
//private string _NextLine;
|
||||
|
||||
//public string NextLine
|
||||
//{
|
||||
// get { return _NextLine; }
|
||||
// set { _NextLine = value; }
|
||||
//}
|
||||
//private string GetFootNote(MemoryStream ms, Queue<string> qRead)
|
||||
//{
|
||||
// string sep = "";
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// while (qRead.Count > 0)
|
||||
// {
|
||||
// // Read a line at a time
|
||||
// string str = qRead.Peek();
|
||||
// str = Regex.Replace(str, "<[^<>]+>", "").Trim(" \t".ToCharArray()).Replace(">", "");
|
||||
// str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u9679?");
|
||||
// //str = str.Replace('\x25CB', 'o').Replace("\u2022", "\\u7?");
|
||||
// // If Text begins with number then
|
||||
// if (Regex.IsMatch(str, "[0-9].*") || str.StartsWith("<table>"))
|
||||
// return sb.ToString();
|
||||
// //append string
|
||||
// if (sb.ToString() != "" || str != "")
|
||||
// {
|
||||
// sep = "\r\n";
|
||||
// }
|
||||
// sb.Append(sep + qRead.Dequeue());
|
||||
// }
|
||||
// return sb.ToString();
|
||||
//}
|
||||
|
||||
//private void ProcessChars(string str)
|
||||
//{
|
||||
// foreach (char c in str)
|
||||
// {
|
||||
// if (c < 0x20 || c > 0x7F)
|
||||
// Console.WriteLine("{0:X4}", (int)c);
|
||||
// }
|
||||
//}
|
||||
//public void ResetSpecial()
|
||||
//{
|
||||
// FoundSpecial = new List<char>();
|
||||
//}
|
||||
//List<char> FoundSpecial = new List<char>();
|
||||
//private void HasSpecialCharacters(string lineText)
|
||||
//{
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// foreach (char c in lineText)
|
||||
// {
|
||||
// if ((c < 0x20 || c > 0x7F) && !FoundSpecial.Contains(c))
|
||||
// {
|
||||
// Console.WriteLine("*** Special Character {0:X4}", (int)c);
|
||||
// FoundSpecial.Add(c);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
public class StepLookup : SortedDictionary<string, StepInfo>
|
||||
{
|
||||
public StepInfo this[int i]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.ContainsKey(i.ToString())) return base[i.ToString()];
|
||||
return null;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (i > this.Count)
|
||||
throw new Exception("Gap in Stack");
|
||||
if (value == null)
|
||||
throw new Exception("Null StepInfo");
|
||||
//if (value.MyHLS.Ordinal==5 && (value.IsNote || value.IsCaution ))
|
||||
// Volian.Base.Library.vlnStackTrace.ShowStackLocal(2,5,"=====> Adding Caution or Note on Step 5 {0}",value);
|
||||
if (this.ContainsKey(i.ToString()))
|
||||
{
|
||||
base[i.ToString()] = value;
|
||||
while (this.ContainsKey((i + 1).ToString()))
|
||||
base.Remove((base.Count - 1).ToString());
|
||||
}
|
||||
else base.Add(i.ToString(), value);
|
||||
//ListMySteps("Set ", this);
|
||||
}
|
||||
}
|
||||
public void AddOne(StepInfo previousStep)
|
||||
{
|
||||
this[this.Count] = previousStep;
|
||||
}
|
||||
private static void ListMySteps(string str, StepLookup mySteps)
|
||||
{
|
||||
int i = 0;
|
||||
foreach (string key in mySteps.Keys)
|
||||
{
|
||||
if (key != i.ToString())
|
||||
Console.WriteLine("{0} {1} {2} {3}", str, i, key, mySteps[key].DisplayText);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,406 +0,0 @@
|
||||
namespace ConvertLocalAlarms
|
||||
{
|
||||
partial class frmConvertLocalAlarms
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btn_All = new System.Windows.Forms.Button();
|
||||
this.btnConvert = new System.Windows.Forms.Button();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.tbServer = new System.Windows.Forms.TextBox();
|
||||
this.cmbDatabase = new System.Windows.Forms.ComboBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.cmbDocVersion = new System.Windows.Forms.ComboBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.btn_Run = new System.Windows.Forms.Button();
|
||||
this.btn_Browse = new System.Windows.Forms.Button();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.tbFileName = new System.Windows.Forms.TextBox();
|
||||
this.ofd = new System.Windows.Forms.OpenFileDialog();
|
||||
this.sc1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tcXML = new System.Windows.Forms.TabControl();
|
||||
this.tpXML = new System.Windows.Forms.TabPage();
|
||||
this.tbPROMS = new System.Windows.Forms.TextBox();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tpStructure = new System.Windows.Forms.TabPage();
|
||||
this.tv = new System.Windows.Forms.TreeView();
|
||||
this.tpGrid = new System.Windows.Forms.TabPage();
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.tsslStatus = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.tmr = new System.Windows.Forms.Timer(this.components);
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.sc1)).BeginInit();
|
||||
this.sc1.Panel1.SuspendLayout();
|
||||
this.sc1.Panel2.SuspendLayout();
|
||||
this.sc1.SuspendLayout();
|
||||
this.tcXML.SuspendLayout();
|
||||
this.tpXML.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tpStructure.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(954, 88);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(23, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "File";
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.btn_All);
|
||||
this.panel2.Controls.Add(this.btnConvert);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.tbServer);
|
||||
this.panel2.Controls.Add(this.cmbDatabase);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.cmbDocVersion);
|
||||
this.panel2.Controls.Add(this.label5);
|
||||
this.panel2.Controls.Add(this.btn_Run);
|
||||
this.panel2.Controls.Add(this.btn_Browse);
|
||||
this.panel2.Controls.Add(this.label6);
|
||||
this.panel2.Controls.Add(this.tbFileName);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(954, 88);
|
||||
this.panel2.TabIndex = 9;
|
||||
//
|
||||
// btn_All
|
||||
//
|
||||
this.btn_All.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btn_All.Location = new System.Drawing.Point(862, 46);
|
||||
this.btn_All.Name = "btn_All";
|
||||
this.btn_All.Size = new System.Drawing.Size(37, 25);
|
||||
this.btn_All.TabIndex = 12;
|
||||
this.btn_All.Text = "All";
|
||||
this.btn_All.UseVisualStyleBackColor = true;
|
||||
this.btn_All.Click += new System.EventHandler(this.btnAll_Click);
|
||||
//
|
||||
// btnConvert
|
||||
//
|
||||
this.btnConvert.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnConvert.Location = new System.Drawing.Point(754, 46);
|
||||
this.btnConvert.Name = "btnConvert";
|
||||
this.btnConvert.Size = new System.Drawing.Size(76, 28);
|
||||
this.btnConvert.TabIndex = 11;
|
||||
this.btnConvert.Text = "Convert";
|
||||
this.btnConvert.UseVisualStyleBackColor = true;
|
||||
this.btnConvert.Click += new System.EventHandler(this.btnConvert_Click);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(12, 35);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(38, 13);
|
||||
this.label7.TabIndex = 10;
|
||||
this.label7.Text = "Server";
|
||||
//
|
||||
// tbServer
|
||||
//
|
||||
this.tbServer.Location = new System.Drawing.Point(56, 32);
|
||||
this.tbServer.Name = "tbServer";
|
||||
this.tbServer.Size = new System.Drawing.Size(190, 20);
|
||||
this.tbServer.TabIndex = 9;
|
||||
//
|
||||
// cmbDatabase
|
||||
//
|
||||
this.cmbDatabase.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDatabase.FormattingEnabled = true;
|
||||
this.cmbDatabase.Location = new System.Drawing.Point(331, 32);
|
||||
this.cmbDatabase.Name = "cmbDatabase";
|
||||
this.cmbDatabase.Size = new System.Drawing.Size(417, 21);
|
||||
this.cmbDatabase.TabIndex = 8;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(11, 61);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(75, 13);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "Procedure Set";
|
||||
//
|
||||
// cmbDocVersion
|
||||
//
|
||||
this.cmbDocVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDocVersion.FormattingEnabled = true;
|
||||
this.cmbDocVersion.Location = new System.Drawing.Point(92, 58);
|
||||
this.cmbDocVersion.Name = "cmbDocVersion";
|
||||
this.cmbDocVersion.Size = new System.Drawing.Size(656, 21);
|
||||
this.cmbDocVersion.TabIndex = 6;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(259, 35);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(53, 13);
|
||||
this.label5.TabIndex = 4;
|
||||
this.label5.Text = "Database";
|
||||
//
|
||||
// btn_Run
|
||||
//
|
||||
this.btn_Run.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btn_Run.Location = new System.Drawing.Point(905, 3);
|
||||
this.btn_Run.Name = "btn_Run";
|
||||
this.btn_Run.Size = new System.Drawing.Size(37, 25);
|
||||
this.btn_Run.TabIndex = 3;
|
||||
this.btn_Run.Text = "Run";
|
||||
this.btn_Run.UseVisualStyleBackColor = true;
|
||||
this.btn_Run.Click += new System.EventHandler(this.btnRun_Click);
|
||||
//
|
||||
// btn_Browse
|
||||
//
|
||||
this.btn_Browse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btn_Browse.Location = new System.Drawing.Point(827, 3);
|
||||
this.btn_Browse.Name = "btn_Browse";
|
||||
this.btn_Browse.Size = new System.Drawing.Size(72, 24);
|
||||
this.btn_Browse.TabIndex = 2;
|
||||
this.btn_Browse.Text = "Browse...";
|
||||
this.btn_Browse.UseVisualStyleBackColor = true;
|
||||
this.btn_Browse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(12, 9);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(23, 13);
|
||||
this.label6.TabIndex = 1;
|
||||
this.label6.Text = "File";
|
||||
//
|
||||
// tbFileName
|
||||
//
|
||||
this.tbFileName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbFileName.Location = new System.Drawing.Point(56, 6);
|
||||
this.tbFileName.Name = "tbFileName";
|
||||
this.tbFileName.Size = new System.Drawing.Size(756, 20);
|
||||
this.tbFileName.TabIndex = 0;
|
||||
this.tbFileName.Text = "H:\\Barakah Alarms\\1N2-OP-ARP-CS-0001_Rev_02_FINAL_Zipped_XML_20190804\\ARP-3442-10" +
|
||||
"01 CS CNMT Spray HDR Block VLV V0001 TRBL.xml";
|
||||
this.tbFileName.TextChanged += new System.EventHandler(this.tbFileName_TextChanged);
|
||||
//
|
||||
// ofd
|
||||
//
|
||||
this.ofd.Filter = "Text Files|*.txt";
|
||||
//
|
||||
// sc1
|
||||
//
|
||||
this.sc1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sc1.Location = new System.Drawing.Point(0, 88);
|
||||
this.sc1.Name = "sc1";
|
||||
//
|
||||
// sc1.Panel1
|
||||
//
|
||||
this.sc1.Panel1.Controls.Add(this.tcXML);
|
||||
//
|
||||
// sc1.Panel2
|
||||
//
|
||||
this.sc1.Panel2.Controls.Add(this.tabControl1);
|
||||
this.sc1.Size = new System.Drawing.Size(954, 392);
|
||||
this.sc1.SplitterDistance = 372;
|
||||
this.sc1.TabIndex = 1;
|
||||
//
|
||||
// tcXML
|
||||
//
|
||||
this.tcXML.Controls.Add(this.tpXML);
|
||||
this.tcXML.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tcXML.Location = new System.Drawing.Point(0, 0);
|
||||
this.tcXML.Name = "tcXML";
|
||||
this.tcXML.SelectedIndex = 0;
|
||||
this.tcXML.Size = new System.Drawing.Size(372, 392);
|
||||
this.tcXML.TabIndex = 2;
|
||||
//
|
||||
// tpXML
|
||||
//
|
||||
this.tpXML.Controls.Add(this.tbPROMS);
|
||||
this.tpXML.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpXML.Name = "tpXML";
|
||||
this.tpXML.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tpXML.Size = new System.Drawing.Size(364, 366);
|
||||
this.tpXML.TabIndex = 1;
|
||||
this.tpXML.Text = "Raw";
|
||||
this.tpXML.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbPROMS
|
||||
//
|
||||
this.tbPROMS.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tbPROMS.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tbPROMS.Location = new System.Drawing.Point(3, 3);
|
||||
this.tbPROMS.Multiline = true;
|
||||
this.tbPROMS.Name = "tbPROMS";
|
||||
this.tbPROMS.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.tbPROMS.Size = new System.Drawing.Size(358, 360);
|
||||
this.tbPROMS.TabIndex = 1;
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tpStructure);
|
||||
this.tabControl1.Controls.Add(this.tpGrid);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(578, 392);
|
||||
this.tabControl1.TabIndex = 0;
|
||||
//
|
||||
// tpStructure
|
||||
//
|
||||
this.tpStructure.Controls.Add(this.tv);
|
||||
this.tpStructure.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpStructure.Name = "tpStructure";
|
||||
this.tpStructure.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpStructure.TabIndex = 2;
|
||||
this.tpStructure.Text = "Structure";
|
||||
this.tpStructure.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tv
|
||||
//
|
||||
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tv.Location = new System.Drawing.Point(0, 0);
|
||||
this.tv.Name = "tv";
|
||||
this.tv.Size = new System.Drawing.Size(570, 366);
|
||||
this.tv.TabIndex = 0;
|
||||
//
|
||||
// tpGrid
|
||||
//
|
||||
this.tpGrid.Location = new System.Drawing.Point(4, 22);
|
||||
this.tpGrid.Name = "tpGrid";
|
||||
this.tpGrid.Size = new System.Drawing.Size(570, 366);
|
||||
this.tpGrid.TabIndex = 3;
|
||||
this.tpGrid.Text = "Grid";
|
||||
this.tpGrid.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsslStatus});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 480);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(954, 22);
|
||||
this.statusStrip1.TabIndex = 2;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
this.statusStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.statusStrip1_ItemClicked);
|
||||
this.statusStrip1.Click += new System.EventHandler(this.tsslStatus_Click);
|
||||
//
|
||||
// tsslStatus
|
||||
//
|
||||
this.tsslStatus.Name = "tsslStatus";
|
||||
this.tsslStatus.Size = new System.Drawing.Size(39, 17);
|
||||
this.tsslStatus.Text = "Ready";
|
||||
this.tsslStatus.Click += new System.EventHandler(this.tsslStatus_Click);
|
||||
//
|
||||
// tmr
|
||||
//
|
||||
this.tmr.Tick += new System.EventHandler(this.tmr_Tick);
|
||||
//
|
||||
// frmConvertLocalAlarms
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(954, 502);
|
||||
this.Controls.Add(this.sc1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.Name = "frmConvertLocalAlarms";
|
||||
this.Text = "Convert Alarms";
|
||||
this.Load += new System.EventHandler(this.frmConvertAlarms_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.sc1.Panel1.ResumeLayout(false);
|
||||
this.sc1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.sc1)).EndInit();
|
||||
this.sc1.ResumeLayout(false);
|
||||
this.tcXML.ResumeLayout(false);
|
||||
this.tpXML.ResumeLayout(false);
|
||||
this.tpXML.PerformLayout();
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tpStructure.ResumeLayout(false);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.OpenFileDialog ofd;
|
||||
private System.Windows.Forms.SplitContainer sc1;
|
||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel tsslStatus;
|
||||
private System.Windows.Forms.TabControl tcXML;
|
||||
private System.Windows.Forms.TabPage tpXML;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tpStructure;
|
||||
private System.Windows.Forms.TreeView tv;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox tbServer;
|
||||
private System.Windows.Forms.ComboBox cmbDatabase;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox cmbDocVersion;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Button btn_Run;
|
||||
private System.Windows.Forms.Button btn_Browse;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox tbFileName;
|
||||
private System.Windows.Forms.Button btnConvert;
|
||||
private System.Windows.Forms.Button btn_All;
|
||||
private System.Windows.Forms.TabPage tpGrid;
|
||||
private System.Windows.Forms.TextBox tbPROMS;
|
||||
private System.Windows.Forms.Timer tmr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,727 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using System.Text.RegularExpressions;
|
||||
using log4net;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace ConvertLocalAlarms
|
||||
{
|
||||
public partial class frmConvertLocalAlarms : Form
|
||||
{
|
||||
public frmConvertLocalAlarms()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
private void SetDatabaseConnection()
|
||||
{
|
||||
Database.VEPROMS_Connection = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True",tbServer.Text,cmbDatabase.SelectedText );
|
||||
}
|
||||
private void btnBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
FileInfo fi = new FileInfo(tbFileName.Text);
|
||||
ofd.InitialDirectory = fi.DirectoryName;
|
||||
ofd.FileName = fi.Name;
|
||||
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
tbFileName.Text = ofd.FileName;
|
||||
ProcessTxt();
|
||||
}
|
||||
}
|
||||
private void ProcessTxtFile(string fileName)
|
||||
{
|
||||
//FileInfo fi = new FileInfo(fileName);
|
||||
//StreamReader sr = fi.OpenText();
|
||||
//ProcessHeader(sr);
|
||||
//ProcTextAll = tbPROMS.Text = sr.ReadToEnd();
|
||||
//HasSpecialCharacters(ProcTextAll);
|
||||
//sr.Close();
|
||||
//SaveTree(ProcTextAll, ProcNumber, ProcTitle);
|
||||
FileInfo fi = new FileInfo(fileName);
|
||||
FileStream sr = fi.OpenRead();
|
||||
byte[] buffer = new byte[fi.Length];
|
||||
sr.Read(buffer, 0, (int) fi.Length);
|
||||
string str = Encoding.UTF7.GetString(buffer).Replace("\x95", "\u2022");
|
||||
ProcessHeader(str);
|
||||
int headercount = str.IndexOf("Setpoint");
|
||||
headercount = str.IndexOf("\r\n", headercount);
|
||||
ProcTextAll = tbPROMS.Text = str.Substring(headercount + 2);
|
||||
sr.Close();
|
||||
SaveTree(ProcTextAll, ProcNumber, ProcTitle);
|
||||
}
|
||||
Regex regHeader = new Regex("([ A-Z.a-z]+) = '([^']+)'.*", RegexOptions.Compiled);
|
||||
private void ProcessHeader(string str)
|
||||
{
|
||||
ProcNumber="";
|
||||
ProcTitle="";
|
||||
int offset = 0;
|
||||
int linelength = 0;
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
linelength = str.IndexOf("\r\n",offset)-offset;
|
||||
string txt = str.Substring(offset,linelength);
|
||||
offset += linelength + 2;
|
||||
Match m = regHeader.Match(txt);
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
if(m.Groups[1].Value == "Alarm") ProcTitle = m.Groups[2].Value;
|
||||
break;
|
||||
case 2:
|
||||
if(m.Groups[1].Value == "AlarmID") ProcNumber = m.Groups[2].Value;
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void ProcessTxt()
|
||||
{
|
||||
ProcessTxtFile(tbFileName.Text);
|
||||
}
|
||||
//private void ProcessXML()
|
||||
//{
|
||||
// //string fileName = tbFileName.Text;
|
||||
// //ProcessXmlFile(fileName);
|
||||
//}
|
||||
//private void ProcessXmlFile(string fileName)
|
||||
//{
|
||||
// //UpdateHTML = false;
|
||||
// //tbXML.Clear();
|
||||
// //UpdateHTML = true;
|
||||
// //XmlDocument xDoc = new XmlDocument();
|
||||
// //xDoc.Load(fileName);
|
||||
// //XmlNode xn = xDoc.DocumentElement.LastChild.LastChild.LastChild;
|
||||
// //string html = GetHtml(xn);
|
||||
// //tbXML.Text = html;
|
||||
//}
|
||||
//private static string GetHtml(XmlNode xn)
|
||||
//{
|
||||
// XmlNode pr = xn.PreviousSibling;
|
||||
// XmlAttribute xa;
|
||||
// string html = xn.Attributes["content"].Value;
|
||||
// while (pr != null && pr.Name == "NoteInstruction")
|
||||
// {
|
||||
// html = MergeHTML(pr.Attributes["content"].Value, html);
|
||||
// pr = pr.PreviousSibling;
|
||||
// }
|
||||
// return html;
|
||||
//}
|
||||
|
||||
//private static string MergeHTML(string part1, string part2)
|
||||
//{
|
||||
// part1 = part1.Replace("</body></html","");
|
||||
// part2 = part2.Substring(part2.IndexOf("<p"));
|
||||
// return part1 + part2;
|
||||
//}
|
||||
//private string _HtmlPrefix = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">";
|
||||
//public string HtmlPrefix
|
||||
//{
|
||||
// get { return _HtmlPrefix; }
|
||||
// set { _HtmlPrefix = value; }
|
||||
//}
|
||||
//private void XMLChanged(string xml)
|
||||
//{
|
||||
// Application.DoEvents();
|
||||
// xml = "<?xml version='1.0' encoding='UTF-8'?>\n" + xml;
|
||||
// xml = xml.Replace(HtmlPrefix, "");
|
||||
// //xml = xml.Replace("\x09", "[Tab]");
|
||||
// //xml = xml.Replace("text-indent:0px;\">", "text-indent:0px;\">\r\n");
|
||||
// //xml = xml.Replace(" \x09", "\r\n	");
|
||||
// //xml = xml.Replace("\x09", "	");
|
||||
// xml = Regex.Replace(xml, "<br /></span>", "<br /> </span>");
|
||||
// xml = Regex.Replace(xml, "</span><br />", "</span><br /> ");
|
||||
// xml = Regex.Replace(xml, "\\<span [^<>]+\\>", "");
|
||||
// xml = Regex.Replace(xml, "\\</span *\\>", "");
|
||||
// xml = Regex.Replace(xml, "\\</p\\>[ \r\n]+\\<p [^<>]+\\>", "<br />\r\n");
|
||||
// xml = Regex.Replace(xml, "\\<p [^<>]+\\>", "<br />\r\n");
|
||||
// xml = Regex.Replace(xml, @"<br />[ \t\r\n]+\[", @"\line [");
|
||||
// xml = Regex.Replace(xml, "\\</p *\\>", "");
|
||||
// xml = Regex.Replace(xml, @"\]\t{4,5}", "]\r\n");
|
||||
// xml = Regex.Replace(xml, "<br ?/>\t+(?![[\\u2022])", " ");
|
||||
// xml = Regex.Replace(xml, "<br ?/>\t+(?![[\\u2022])", " ");
|
||||
// xml = Regex.Replace(xml, "\t\t+", " ");
|
||||
// xml = Regex.Replace(xml, "<br />", "\r\n");
|
||||
// xml = Regex.Replace(xml, "\r\n +", "\r\n");
|
||||
// xml = Regex.Replace(xml, "(\r\n){2,}", "\r\n");
|
||||
// //aml = Regex.Replace(xml,"
|
||||
// Application.DoEvents();
|
||||
// byte[] bytes = Encoding.UTF8.GetBytes(xml);
|
||||
// MemoryStream ms = new MemoryStream();
|
||||
// ms.Write(bytes, 0, bytes.Length);
|
||||
// ms.Position = 0;
|
||||
// XmlDocument xDoc2 = new XmlDocument();
|
||||
// xDoc2.Load(ms);
|
||||
// //FileInfo fi = new FileInfo("C:\\Temp\\Alarm.xml");
|
||||
// //StreamWriter sw = fi.CreateText();
|
||||
// //sw.Write(xml);
|
||||
// //sw.Close();
|
||||
// //XmlDocument xDoc2 = new XmlDocument();
|
||||
// //// Lookfor special characters
|
||||
// ////FindSpecialCharacters(xml);
|
||||
// //xDoc2.Load(fi.FullName);
|
||||
// XmlNode xn3 = xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes[0];
|
||||
// string prcSerialNoFldName = GetProcInfo(xn3, 0, 0, 0);
|
||||
// string prcSerialNoValue = GetProcInfo(xn3, 0, 1, 0);
|
||||
// SerialNo = int.Parse(prcSerialNoValue);
|
||||
// string prcTitleFldName = GetProcInfo(xn3, 1, 0, 0);
|
||||
// string prcTitleValue = GetProcInfo(xn3, 1, 1, 0);
|
||||
// string prcNumberFldName = GetProcInfo(xn3, 2, 0, 0);
|
||||
// string prcNumberValue = GetProcInfo(xn3, 2, 1, 0);
|
||||
// string prcSourceFldName = GetProcInfo(xn3, 3, 0, 0);
|
||||
// string prcSourceValue = GetProcInfo(xn3, 3, 1, 0);
|
||||
// string prcSetpointFldName = GetProcInfo(xn3, 4, 0, 0);
|
||||
// string prcSetpointValue = GetProcInfo(xn3, 4, 1, 0);
|
||||
// ProcNumber = prcNumberValue;
|
||||
// ProcTitle = prcTitleValue;
|
||||
// // Skip First Node
|
||||
// UpdateHTML = false;
|
||||
// tbPROMS.Clear();
|
||||
// tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n",prcSerialNoFldName,prcSerialNoValue));
|
||||
// tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n",prcTitleFldName,prcTitleValue));
|
||||
// tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n",prcNumberFldName,prcNumberValue));
|
||||
// tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n",prcSourceFldName,prcSourceValue));
|
||||
// tbPROMS.AppendText(string.Format("{0} = '{1}'\r\n",prcSetpointFldName,prcSetpointValue));
|
||||
// StringBuilder sbAllText = new StringBuilder();
|
||||
// for (int i = 1; i < xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes.Count; i++)
|
||||
// {
|
||||
// XmlNode xn2 = xDoc2.ChildNodes[1].ChildNodes[1].ChildNodes[i];
|
||||
// sbAllText.Append(xn2.OuterXml);
|
||||
// }
|
||||
// tbPROMS.AppendText(sbAllText.ToString().Replace(" ", "\xB7"));
|
||||
// SaveTree(sbAllText.ToString(), prcNumberValue, prcTitleValue);
|
||||
// ProcTextAll = sbAllText.ToString();
|
||||
// UpdateHTML = true;
|
||||
//}
|
||||
String ProcTextAll;
|
||||
//int SerialNo;
|
||||
String ProcNumber;
|
||||
String ProcTitle;
|
||||
private void SaveTree(string text, string procNumber, string procTitle)
|
||||
{
|
||||
tv.Nodes.Clear();
|
||||
MemoryStream ms = GetMemoryStream(text);
|
||||
using (TextReader tr = new StreamReader(ms))
|
||||
{
|
||||
Dictionary<int, TreeNode> lookup = new Dictionary<int, TreeNode>();
|
||||
lookup.Add(0, tv.Nodes.Add(string.Format("{0} - {1}", procNumber, procTitle)));
|
||||
int level = 0;
|
||||
int lastLevel = 0;
|
||||
int lastIndent = 0;
|
||||
int extra = 0;
|
||||
string lastTab = "";
|
||||
Queue<string> enQueue = null;
|
||||
Queue<string> deQueue = null;
|
||||
while (tr.Peek() >= 0 || deQueue != null)
|
||||
{
|
||||
string lineText;
|
||||
if (deQueue != null)
|
||||
{
|
||||
extra = 1;
|
||||
lineText = deQueue.Dequeue();
|
||||
if (deQueue.Count == 0)
|
||||
deQueue = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
extra = 0;
|
||||
lineText = tr.ReadLine();
|
||||
if (lineText == "NOTE")
|
||||
enQueue = new Queue<string>();
|
||||
if (lineText.StartsWith("<NOTE>"))
|
||||
{
|
||||
enQueue = new Queue<string>();
|
||||
enQueue.Enqueue("NOTE");
|
||||
}
|
||||
lineText = lineText.Replace("<NOTE>", "");
|
||||
}
|
||||
// Strip XML Tags
|
||||
lineText = Regex.Replace(lineText, "<[^<>]+>", "");
|
||||
if (lineText.Replace("\t", "") != "")
|
||||
{
|
||||
Match m = Regex.Match(lineText, @"^(\t*)([1-9][0-9]*\.0|[1-9][0-9]*\.[1-9][0-9]*|[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*|\u2022)([\t ]+)([^\u2022]*)$", RegexOptions.Multiline);
|
||||
string tab = m.Groups[2].Value;
|
||||
int indent = m.Groups[1].Value.Length;
|
||||
if (indent == 0 && tab.EndsWith(".0")) // High Level Step
|
||||
{
|
||||
level = 1;
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
enQueue = null;
|
||||
}
|
||||
}
|
||||
else if (Regex.IsMatch(tab, "[1-9][0-9]*[.0-9]*")) // Substep
|
||||
{
|
||||
level = 1 + tab.Length - tab.Replace(".","").Length;
|
||||
if (deQueue == null && enQueue != null)
|
||||
{
|
||||
deQueue = enQueue;
|
||||
enQueue = null;
|
||||
}
|
||||
}
|
||||
else if (tab == "") // Paragraph
|
||||
{
|
||||
if (Regex.IsMatch(lineText, "(NOTE|NOTES|CAUTION|CAUTIONS)")) extra = 0;
|
||||
level = lastLevel + 1;
|
||||
}
|
||||
else if (tab == "\u2022")//bullet
|
||||
level = indent + 2;
|
||||
if (level < lastLevel)
|
||||
while (level < lastLevel) lookup.Remove(lastLevel--);
|
||||
string txt = string.Format("{0}|{1}||{2}", m.Groups[1].Value, m.Groups[2].Value, m.Groups[4].Value);
|
||||
if (txt == "|||") txt = lineText;
|
||||
if (enQueue == null)
|
||||
{
|
||||
if (level > lookup.Count - extra) extra = 0;
|
||||
if(level + extra -1 == lookup.Count)
|
||||
Console.WriteLine("Problems {0}, {1}",procNumber,txt);
|
||||
else if (lookup.Count <= level)
|
||||
lookup.Add(level + extra, lookup[level + extra - 1].Nodes.Add(txt));
|
||||
else
|
||||
lookup[level + extra] = lookup[level + extra - 1].Nodes.Add(txt);
|
||||
}
|
||||
else
|
||||
{
|
||||
enQueue.Enqueue(lineText);
|
||||
}
|
||||
lastTab = tab;
|
||||
lastLevel = level;
|
||||
lastIndent = indent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//private ItemInfo FindPrevious(SortedDictionary<int, ItemInfo> dicSerialNo, int serialNo)
|
||||
//{
|
||||
// ItemInfo lastItem = null;
|
||||
// foreach (int serno in dicSerialNo.Keys)
|
||||
// {
|
||||
// if (serno > serialNo)
|
||||
// return lastItem;
|
||||
// lastItem = dicSerialNo[serno];
|
||||
// }
|
||||
// return lastItem;
|
||||
//}
|
||||
private bool runOne = true;
|
||||
private static MemoryStream GetMemoryStream(string text)
|
||||
{
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(text);
|
||||
MemoryStream ms = new MemoryStream(bytes);
|
||||
ms.Position = 0;
|
||||
return ms;
|
||||
}
|
||||
//private string GetProcInfo(XmlNode xn3, int p1, int p2, int p3)
|
||||
//{
|
||||
// return xn3.ChildNodes[p1].ChildNodes[p2].ChildNodes[p3].Value.Trim("\r\n ".ToCharArray());
|
||||
//}
|
||||
//private bool _UpdateHTML = true;
|
||||
//public bool UpdateHTML
|
||||
//{
|
||||
// get { return _UpdateHTML; }
|
||||
// set { _UpdateHTML = value; }
|
||||
//}
|
||||
private string IndentifySpecialCharacters(string txt)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (char c in txt)
|
||||
{
|
||||
if (((int)c) < 32 || ((int)c) > 256)
|
||||
sb.Append(string.Format("[x{0:X4}]", (int)c));
|
||||
else
|
||||
sb.Append(c == ' ' ? '\xb7' : c);
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
private void btnRun_Click(object sender, EventArgs e)
|
||||
{
|
||||
ProcessTxt();
|
||||
}
|
||||
//Regex regColorCode = new Regex(@"(\<[^<>]+\>)([^<>]*)", RegexOptions.Singleline);
|
||||
//Regex regColorCodeText = new Regex("(\t*)([^\t]*)", RegexOptions.Singleline);
|
||||
//private void ColorCoded(string str)
|
||||
//{
|
||||
// rtbXML.Clear();
|
||||
// Color fColor = Color.PaleTurquoise;
|
||||
// Color fNext = Color.PaleTurquoise;
|
||||
// foreach(Match m in regColorCode.Matches(str))
|
||||
// {
|
||||
// string fmt = m.Groups[1].Value;
|
||||
// string txt = m.Groups[2].Value;
|
||||
// if (fmt.StartsWith("<table"))
|
||||
// fNext = fColor = Color.PaleGreen;
|
||||
// else if (fmt == "</table>")
|
||||
// fNext = Color.PaleTurquoise;
|
||||
// else if (fmt == "<br />")
|
||||
// fColor = Color.PeachPuff;
|
||||
// else if (fmt == "</p>")
|
||||
// fColor = Color.LightPink;
|
||||
// AddToXML(fmt, fColor);
|
||||
// fColor = fNext;
|
||||
// foreach (Match mm in regColorCodeText.Matches(txt))
|
||||
// {
|
||||
// string tabs = mm.Groups[1].Value;
|
||||
// string nontabs = mm.Groups[2].Value;
|
||||
// AddToXML(tabs, Color.Khaki);
|
||||
// AddToXML(nontabs, Color.Yellow);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//private void AddToXML(string txt, Color fColor)
|
||||
//{
|
||||
// if(txt=="") return;
|
||||
// rtbXML.SelectionStart = rtbXML.TextLength;
|
||||
// rtbXML.SelectionBackColor = fColor;
|
||||
// rtbXML.SelectedText = txt;
|
||||
//}
|
||||
private double GetMyOrder(Csla.SortedBindingList<FolderInfo> myList, string DVIFolderName)
|
||||
{
|
||||
double lastNum = 0;
|
||||
// Console.WriteLine("--->>> FolderName {0} Insert Count {1}",DVIFolderName, myList.Count);
|
||||
foreach (FolderInfo myFolder in myList)
|
||||
{
|
||||
// Console.WriteLine("--->>> FolderName {0} Insert Name {1} Insert Order {2}",DVIFolderName, myFolder.Name, myFolder.ManualOrder);
|
||||
if (myFolder.Name.CompareTo(DVIFolderName) >= 0)
|
||||
return (lastNum + (double)myFolder.ManualOrder) / 2.0;
|
||||
lastNum = myFolder.ManualOrder ?? 1.0;
|
||||
}
|
||||
return lastNum + 1;
|
||||
}
|
||||
private void tmr_Tick(object sender, EventArgs e)
|
||||
{
|
||||
tmr.Enabled = false;
|
||||
// If timer on the its ready to proccess
|
||||
int idnew = 0;
|
||||
string str = AutoFolder;
|
||||
if (str != null && str.Length > 5)
|
||||
{
|
||||
|
||||
DirectoryInfo di = new DirectoryInfo(str);
|
||||
DocVersionInfo dvi = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
VEPROMS.CSLA.Library.FolderInfo grandParent = dvi.ActiveParent.ActiveParent as FolderInfo;
|
||||
using (VEPROMS.CSLA.Library.Folder flder = MakeFolder(str, grandParent))
|
||||
{
|
||||
ROFstInfo fst = dvi.DocVersionAssociations[0].MyROFst;
|
||||
flder.ManualOrder = 0;
|
||||
double myOrder = GetMyOrder(grandParent.SortedChildFolders, str); flder.ManualOrder = myOrder;
|
||||
//Console.WriteLine("myOrder = {0}, flder = {1}", myOrder, flder.ManualOrder);
|
||||
flder.Save();
|
||||
// create a a DocVersion
|
||||
|
||||
using (DocVersion dv = DocVersion.MakeDocVersion(flder, "Working Draft", null, null, null, null))
|
||||
{
|
||||
dv.DocVersionAssociations.Add(fst.Get());
|
||||
dv.Save();
|
||||
idnew = dv.VersionID;
|
||||
}
|
||||
}
|
||||
|
||||
ProcessFolder(di, DocVersionInfo.Get(idnew));
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private static Folder MakeFolder(string str, VEPROMS.CSLA.Library.FolderInfo grandParent)
|
||||
{
|
||||
int num = 0;
|
||||
foreach(FolderInfo chld in grandParent.ChildFolders)
|
||||
{
|
||||
if(chld.Name.StartsWith(str))
|
||||
{
|
||||
if(chld.Name.StartsWith(str + "."))
|
||||
{
|
||||
string str2=chld.Name.Substring(str.Length+1);
|
||||
num = Math.Max(int.Parse(str2)+1,num);
|
||||
}
|
||||
else num=1;
|
||||
}
|
||||
}
|
||||
return Folder.MakeFolder(grandParent.Get(), null, str+(num==0?"":"." + num.ToString()), str, str.Substring(12, 2), null, 1, null);
|
||||
}
|
||||
|
||||
private static string _AutoFolder = null;
|
||||
private static string AutoFolder
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_AutoFolder == null)
|
||||
{
|
||||
_AutoFolder = System.Environment.CommandLine;
|
||||
_AutoFolder = _AutoFolder.Substring(_AutoFolder.IndexOf(@".exe"" ") + 6).Trim(" \t\r\n".ToCharArray());
|
||||
}
|
||||
if (_AutoFolder.Length < 1)
|
||||
return null;
|
||||
return _AutoFolder;
|
||||
}
|
||||
}
|
||||
private void frmConvertAlarms_Load(object sender, EventArgs e)
|
||||
{
|
||||
_MyFlexGrid = new VlnFlexGrid();
|
||||
LoadSettings();
|
||||
SetEventHandlers();
|
||||
string str = AutoFolder;
|
||||
if (str != null && str.Length > 5)
|
||||
{
|
||||
tmr.Enabled = true;
|
||||
}
|
||||
|
||||
}
|
||||
private void SetEventHandlers()
|
||||
{
|
||||
tbFileName.TextChanged += tbFileName_TextChanged;
|
||||
Move += frmConvertAlarms_Move;
|
||||
Resize += frmConvertAlarms_Resize;
|
||||
sc1.SplitterMoved += sc1_SplitterMoved;
|
||||
//sc2.SplitterMoved += sc2_SplitterMoved;
|
||||
tbServer.TextChanged+=tbServer_TextChanged;
|
||||
cmbDatabase.TextChanged+=cmbDatabase_TextChanged;
|
||||
cmbDatabase.Click += cmbDatabase_Click;
|
||||
cmbDocVersion.TextChanged+=cmbDocVersion_TextChanged;
|
||||
//BuildTableCombo();
|
||||
//BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
void cmbDatabase_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Database = cmbDatabase.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
private void BuildProcedureSetCombo()
|
||||
{
|
||||
DocVersionInfoList dvil = DocVersionInfoList.Get();
|
||||
cmbDocVersion.DataSource = dvil;
|
||||
cmbDocVersion.DisplayMember = "SearchDVPath";
|
||||
cmbDocVersion.ValueMember = "VersionId";
|
||||
}
|
||||
|
||||
private void cmbDocVersion_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.ProcedureSet = (int) cmbDocVersion.SelectedValue;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void cmbDatabase_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Database = cmbDatabase.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
BuildProcedureSetCombo();
|
||||
}
|
||||
|
||||
private void tbServer_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.SqlServer = tbServer.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
string db = cmbDatabase.Text;
|
||||
try
|
||||
{
|
||||
BuildDatabaseCombo();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tsslStatus.Text = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private void BuildDatabaseCombo()
|
||||
{
|
||||
string tmp = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True",tbServer.Text,"MASTER");
|
||||
SqlConnection cn = new SqlConnection(tmp);
|
||||
cn.Open();
|
||||
// SqlDataAdapter da = new SqlDataAdapter("select name from sysdatabases where name like 'VEP%' order by name", cn);
|
||||
//SqlDataAdapter da = new SqlDataAdapter("select name, case when object_id('[' + name + ']..Items') is null then 'Not PROMS' when object_id('[' + name + ']..Revisions') is not null then 'Approval' when object_id('[' + name + ']..ContentAudits') is not null then 'Change Manager' else 'Original' end functionality from sysdatabases where name not in ('master','model','msdb','tempdb') order by name", cn);
|
||||
SqlDataAdapter da = new SqlDataAdapter("select name, 'Approval' functionality from sysdatabases where name not in ('master','model','msdb','tempdb') order by name", cn);
|
||||
da.SelectCommand.CommandTimeout = 300; // 300 sec timeout
|
||||
DataSet ds = new DataSet();
|
||||
try
|
||||
{
|
||||
da.Fill(ds);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.GetType().Name, ex.Message);
|
||||
throw (new Exception("Cannot Load Data List", ex));
|
||||
}
|
||||
cn.Close();
|
||||
//System.Windows.Forms.ContextMenuStrip cms = new System.Windows.Forms.ContextMenuStrip();
|
||||
//cms.Items.Add("Choose Database");
|
||||
//System.Windows.Forms.ToolStripMenuItem tsmi = cms.Items[0] as System.Windows.Forms.ToolStripMenuItem;
|
||||
//tsmi.BackColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ActiveCaption);// System.Drawing.Color.Pink;
|
||||
//tsmi.ForeColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ActiveCaptionText);
|
||||
//tsmi.Font = new System.Drawing.Font(tsmi.Font, System.Drawing.FontStyle.Bold);
|
||||
foreach (DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
if (dr["functionality"].ToString() == "Approval")
|
||||
cmbDatabase.Items.Add( dr["name"].ToString());
|
||||
}
|
||||
}
|
||||
void frmConvertAlarms_Resize(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Size = Size;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
void frmConvertAlarms_Move(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Location = Location;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
void tbFileName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.FileName = tbFileName.Text;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
private void sc1_SplitterMoved(object sender, SplitterEventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Split1 = sc1.SplitterDistance;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
private void LoadSettings()
|
||||
{
|
||||
Size = Properties.Settings.Default.Size;
|
||||
Location = Properties.Settings.Default.Location;
|
||||
if (Properties.Settings.Default.FileName != null && Properties.Settings.Default.FileName != "")
|
||||
{
|
||||
FileInfo fi = new FileInfo(Properties.Settings.Default.FileName);
|
||||
tbFileName.Text = fi.FullName;
|
||||
}
|
||||
sc1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||
tbServer.Text = Properties.Settings.Default.SqlServer;
|
||||
cmbDatabase.Text = Properties.Settings.Default.Database;
|
||||
try
|
||||
{
|
||||
BuildDatabaseCombo();
|
||||
Database.VEPROMS_Connection = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True", tbServer.Text, cmbDatabase.Text);
|
||||
BuildProcedureSetCombo();
|
||||
cmbDocVersion.SelectedValue = Properties.Settings.Default.ProcedureSet;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tsslStatus.Text = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private void tsslStatus_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
//private void rtbXML_SelectionChanged(object sender, EventArgs e)
|
||||
//{
|
||||
//}
|
||||
//private void tbXML_TextChanged(object sender, EventArgs e)
|
||||
//{
|
||||
// if (UpdateHTML)
|
||||
// {
|
||||
// htmlChanged(tbXML.Text);
|
||||
// XMLChanged(tbXML.Text);
|
||||
// ColorCoded(tbXML.Text);
|
||||
// }
|
||||
//}
|
||||
//private bool _UpdateTbXML = true;
|
||||
|
||||
//public bool UpdateTbXML
|
||||
//{
|
||||
// get { return _UpdateTbXML; }
|
||||
// set { _UpdateTbXML = value; }
|
||||
//}
|
||||
//private void rtbXML_TextChanged(object sender, EventArgs e)
|
||||
//{
|
||||
// //if (UpdateHTML)
|
||||
// //{
|
||||
// // UpdateHTML = false;
|
||||
// // htmlChanged(rtbXML.Text);
|
||||
// // XMLChanged(rtbXML.Text);
|
||||
// // tbXML.Text = rtbXML.Text;
|
||||
// // UpdateHTML = true;
|
||||
// //}
|
||||
//}
|
||||
private void btnConvert_Click(object sender, EventArgs e)
|
||||
{
|
||||
DocVersionInfo dvi = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
try
|
||||
{
|
||||
SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, dvi);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error: {0}.{1} {2} {3}",dvi.MyFolder.Name,ProcNumber, ex.GetType().Name, ex.Message);
|
||||
}
|
||||
}
|
||||
//SortedDictionary<int, ItemInfo> dicSerialNo;
|
||||
private void btnAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
//dicSerialNo = new SortedDictionary<int, ItemInfo>();
|
||||
FileInfo fi = new FileInfo(tbFileName.Text);
|
||||
DirectoryInfo di = fi.Directory;
|
||||
// Loop through list
|
||||
DocVersionInfo dvi = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
ProcessFolder(di,dvi);
|
||||
}
|
||||
|
||||
private void ProcessFolder(DirectoryInfo di, DocVersionInfo dvi)
|
||||
{
|
||||
runOne = false;
|
||||
// Get List of files
|
||||
//DocVersionInfo dvi = DocVersionInfo.Get((int)cmbDocVersion.SelectedValue);
|
||||
foreach (FileInfo f in di.GetFiles("*.txt"))
|
||||
{
|
||||
if (f.Name.StartsWith("AlarmData") == false && f.Name.Length > 14)
|
||||
{
|
||||
tsslStatus.Text = f.Name;
|
||||
Application.DoEvents();
|
||||
// Process each file
|
||||
try
|
||||
{
|
||||
ProcessTxtFile(f.FullName);
|
||||
// Convert each file
|
||||
//SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, SerialNo);
|
||||
SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, dvi);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("Error: {0}.{1} {2} {3}", di.Name, f.Name, ex.GetType().Name, ex.Message);
|
||||
}
|
||||
|
||||
//SaveProcedure(ProcTextAll, ProcNumber, ProcTitle, dvi);
|
||||
}
|
||||
}
|
||||
runOne = true;
|
||||
}
|
||||
|
||||
private void statusStrip1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbPROMS.SelectedText != "")
|
||||
{
|
||||
tsslStatus.Text = string.Format("Selection = '{0}'", IndentifySpecialCharacters(tbPROMS.SelectedText));
|
||||
Clipboard.Clear();
|
||||
Clipboard.SetText(IndentifySpecialCharacters(tbPROMS.SelectedText));
|
||||
}
|
||||
}
|
||||
|
||||
private void statusStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
|
||||
{
|
||||
if (tbPROMS.SelectedText != "")
|
||||
{
|
||||
tsslStatus.Text = string.Format("Selection = '{0}'", IndentifySpecialCharacters(tbPROMS.SelectedText));
|
||||
Clipboard.Clear();
|
||||
Clipboard.SetText(IndentifySpecialCharacters(tbPROMS.SelectedText));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
<?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>
|
||||
<metadata name="ofd.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>87, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tmr.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>203, 3</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>25</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
</configuration>
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
namespace ReadFile
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(540, 262);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace ReadFile
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
Test();
|
||||
}
|
||||
public void Test()
|
||||
{
|
||||
// Use default replacement fallback for invalid encoding.
|
||||
//UnicodeEncoding enc = new UnicodeEncoding(true, false, false);
|
||||
UTF8Encoding enc = new UTF8Encoding();
|
||||
// Define a string with various Unicode characters.
|
||||
string str1 = "AB YZ 19 DEGREE \xb0 BULLET \x95 \uD800\udc05 \u00e4";
|
||||
str1 += "Unicode characters. \u00a9 \u010C s \u0062\u0308";
|
||||
Console.WriteLine("Created original string...\n");
|
||||
|
||||
// Convert string to byte array.
|
||||
byte[] bytes = enc.GetBytes(str1);
|
||||
|
||||
FileStream fs = File.Create(@".\characters.bin");
|
||||
BinaryWriter bw = new BinaryWriter(fs);
|
||||
bw.Write(bytes);
|
||||
bw.Close();
|
||||
|
||||
// Read bytes from file.
|
||||
FileStream fsIn = File.OpenRead(@".\characters.bin");
|
||||
BinaryReader br = new BinaryReader(fsIn);
|
||||
|
||||
const int count = 10; // Number of bytes to read at a time.
|
||||
byte[] bytesRead = new byte[10]; // Buffer (byte array).
|
||||
int read; // Number of bytes actually read.
|
||||
string str2 = String.Empty; // Decoded string.
|
||||
|
||||
// Try using Encoding object for all operations.
|
||||
do
|
||||
{
|
||||
read = br.Read(bytesRead, 0, count);
|
||||
str2 += enc.GetString(bytesRead, 0, read);
|
||||
} while (read == count);
|
||||
br.Close();
|
||||
Console.WriteLine("Decoded string using UnicodeEncoding.GetString()...");
|
||||
CompareForEquality(str1, str2);
|
||||
Console.WriteLine();
|
||||
|
||||
// Use Decoder for all operations.
|
||||
fsIn = File.OpenRead(@".\characters.bin");
|
||||
br = new BinaryReader(fsIn);
|
||||
Decoder decoder = enc.GetDecoder();
|
||||
char[] chars = new char[50];
|
||||
int index = 0; // Next character to write in array.
|
||||
int written = 0; // Number of chars written to array.
|
||||
do
|
||||
{
|
||||
read = br.Read(bytesRead, 0, count);
|
||||
if (index + decoder.GetCharCount(bytesRead, 0, read) - 1 >= chars.Length)
|
||||
Array.Resize(ref chars, chars.Length + 50);
|
||||
|
||||
written = decoder.GetChars(bytesRead, 0, read, chars, index);
|
||||
index += written;
|
||||
} while (read == count);
|
||||
br.Close();
|
||||
// Instantiate a string with the decoded characters.
|
||||
string str3 = new String(chars, 0, index);
|
||||
Console.WriteLine("Decoded string using UnicodeEncoding.Decoder.GetString()...");
|
||||
CompareForEquality(str1, str3);
|
||||
}
|
||||
|
||||
private static void CompareForEquality(string original, string decoded)
|
||||
{
|
||||
bool result = original.Equals(decoded);
|
||||
Console.WriteLine("original = decoded: {0}",
|
||||
original.Equals(decoded, StringComparison.Ordinal));
|
||||
if (!result)
|
||||
{
|
||||
Console.WriteLine("Code points in original string:{0}",original);
|
||||
foreach (var ch in original)
|
||||
Console.Write("{0} ", Convert.ToUInt16(ch).ToString("X4"));
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("Code points in decoded string:{0}",decoded);
|
||||
foreach (var ch in decoded)
|
||||
Console.Write("{0} ", Convert.ToUInt16(ch).ToString("X4"));
|
||||
Console.WriteLine();
|
||||
}
|
||||
}
|
||||
// The example displays the following output:
|
||||
// Created original string...
|
||||
//
|
||||
// Decoded string using UnicodeEncoding.GetString()...
|
||||
// original = decoded: False
|
||||
// Code points in original string:
|
||||
// 0041 0042 0020 0059 005A 0020 0031 0039 0020 D800 DC05 0020 00E4 0055 006E 0069 0063 006F
|
||||
// 0064 0065 0020 0063 0068 0061 0072 0061 0063 0074 0065 0072 0073 002E 0020 00A9 0020 010C
|
||||
// 0020 0073 0020 0062 0308
|
||||
// Code points in decoded string:
|
||||
// 0041 0042 0020 0059 005A 0020 0031 0039 0020 FFFD FFFD 0020 00E4 0055 006E 0069 0063 006F
|
||||
// 0064 0065 0020 0063 0068 0061 0072 0061 0063 0074 0065 0072 0073 002E 0020 00A9 0020 010C
|
||||
// 0020 0073 0020 0062 0308
|
||||
//
|
||||
// Decoded string using UnicodeEncoding.Decoder.GetString()...
|
||||
// original = decoded: True
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ReadFile
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("ReadFile")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ReadFile")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("d6efcdc1-06b8-4c4d-b126-515701db696b")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,71 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ReadFile.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ReadFile.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,30 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ReadFile.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{D83BC593-811C-4D32-81B2-9C6031AFDAF5}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>ReadFile</RootNamespace>
|
||||
<AssemblyName>ReadFile</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = "relative:ReadFile"
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -1,172 +0,0 @@
|
||||
using C1.Win.C1FlexGrid;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
|
||||
namespace XMLConvert
|
||||
{
|
||||
public partial class frmConvertXML
|
||||
{
|
||||
private static void LoadTable2(XmlNode xn, StepLookup mySteps, int level)
|
||||
{
|
||||
XmlNode xn2 = xn.SelectSingleNode("tr/td/table");
|
||||
if (xn2 != null) xn = xn2;
|
||||
VlnFlexGrid fg = _MyFlexGrid;
|
||||
fg.Font = new Font("Arial", 11, FontStyle.Regular, GraphicsUnit.Point);
|
||||
fg.Clear();
|
||||
fg.Rows.Count = 1;
|
||||
fg.Cols.Count = 1;
|
||||
int rows = 0;
|
||||
fg.MergedRanges.Clear();
|
||||
foreach (XmlNode xr in xn.ChildNodes)
|
||||
{
|
||||
if (xr.Name == "tr")
|
||||
{
|
||||
++rows;
|
||||
AddTableRow(xr, fg, rows);
|
||||
}
|
||||
}
|
||||
fg.MyBorders = new VlnBorders(GridLinePattern.Single, fg.Rows.Count, fg.Cols.Count);
|
||||
fg.BringToFront();
|
||||
fg.Invalidate();
|
||||
Application.DoEvents();
|
||||
fg.MakeRTFcells();
|
||||
//Well, Can I save the table
|
||||
using (Step step = MakeCSLAStep(mySteps, mySteps.Count, null, "table", 20008, E_FromType.Table))
|
||||
{
|
||||
Grid.MakeGrid(step.MyContent, fg.GetXMLData(), "");
|
||||
}
|
||||
}
|
||||
public static VlnFlexGrid _MyFlexGrid = null;
|
||||
private static void AddTableRow(XmlNode xr, VlnFlexGrid fg, int rows)
|
||||
{
|
||||
if (rows > fg.Rows.Count)
|
||||
fg.Rows.Count = rows;
|
||||
int cols = 0;
|
||||
foreach (XmlNode xc in xr.ChildNodes)
|
||||
{
|
||||
++cols;
|
||||
//if (xc.InnerText.Contains("RC-V200"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerText.Contains("RC-V121"))
|
||||
// Console.WriteLine(xc.InnerText);
|
||||
//if (xc.InnerXml.Contains("AB 137") || xc.InnerXml.Contains("3013N01"))
|
||||
// Console.WriteLine("here");
|
||||
CellRange cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
//Console.WriteLine("Check {0}", cr2);
|
||||
while (cr2.c1 != cols - 1 || cr2.r1 != rows - 1)
|
||||
{
|
||||
cols++;
|
||||
cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
|
||||
}
|
||||
AddMergedCells(fg, rows, cols, xc);
|
||||
//ShowMergedCells(fg);
|
||||
if (xc.Name == "td")
|
||||
{
|
||||
AddTableColumn(xc, fg, rows, cols);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void ShowMergedCells(VlnFlexGrid fg)
|
||||
{
|
||||
for (int r = 0; r < fg.Rows.Count; r++)
|
||||
{
|
||||
for (int c = 0; c < fg.Cols.Count; c++)
|
||||
{
|
||||
CellRange cr3 = GetMyMergedRange(fg, r, c);
|
||||
if (fg.MergedRanges.Contains(cr3))
|
||||
Console.WriteLine("*** cr3 r={0},c={1},rng={2}", r, c, cr3);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static int GetSpan(string span)
|
||||
{
|
||||
int retval = int.Parse("0" + (span ?? ""));
|
||||
if (retval == 0) return 0;
|
||||
return retval - 1;
|
||||
}
|
||||
private static void AddMergedCells(VlnFlexGrid fg, int rows, int cols, XmlNode xc)
|
||||
{
|
||||
string colspan = GetAttribute(xc, "colspan");
|
||||
string rowspan = GetAttribute(xc, "rowspan");
|
||||
if (colspan != null || rowspan != null)
|
||||
{
|
||||
//AddMergedRanges
|
||||
int r1 = rows;
|
||||
int c1 = cols;
|
||||
int r2 = r1 + GetSpan(rowspan);
|
||||
if (r2 > fg.Rows.Count) fg.Rows.Count = r2;
|
||||
int c2 = c1 + GetSpan(colspan);
|
||||
if (c2 > fg.Cols.Count) fg.Cols.Count = c2;
|
||||
CellRange cr = new CellRange();
|
||||
cr.r1 = r1 - 1;
|
||||
cr.r2 = r2 - 1;
|
||||
cr.c1 = c1 - 1;
|
||||
cr.c2 = c2 - 1;
|
||||
fg.MergedRanges.Add(cr);
|
||||
//Console.WriteLine("Merged {0}", cr);
|
||||
}
|
||||
}
|
||||
|
||||
private static CellRange GetMyMergedRange(VlnFlexGrid fg, int r, int c)
|
||||
{
|
||||
foreach (CellRange cr in fg.MergedRanges)
|
||||
{
|
||||
if (cr.r1 <= r && cr.r2 >= r && cr.c1 <= c && cr.c2 >= c)
|
||||
return cr;
|
||||
}
|
||||
return fg.GetMergedRange(r, c);
|
||||
}
|
||||
private static Regex regNumber = new Regex("^[0-9]+$", RegexOptions.Compiled);
|
||||
private static void AddTableColumn(XmlNode xc, VlnFlexGrid fg, int rows, int cols)
|
||||
{
|
||||
//Console.WriteLine("Rows {0}, Cols {1}", rows, cols);
|
||||
if (cols > fg.Cols.Count)
|
||||
fg.Cols.Count = cols;
|
||||
string width = GetAttribute(xc, "width");
|
||||
if (width != null && width != "" && regNumber.IsMatch(width))
|
||||
{
|
||||
if (width.EndsWith("%"))
|
||||
fg.Cols[cols - 1].Width = (int)(int.Parse(width.Replace("%", "")) * 96 * 6.5F / 100);
|
||||
else
|
||||
fg.Cols[cols - 1].Width = int.Parse(width) * 96 / 72;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string prefix = "";
|
||||
foreach (XmlNode xn in xc.ChildNodes)
|
||||
{
|
||||
if (xn.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
if (xn.Name == "ul")
|
||||
{
|
||||
foreach (XmlNode xn2 in xn.ChildNodes)
|
||||
{
|
||||
if (xn2.Name == "li")
|
||||
{
|
||||
sb.Append(prefix + "*" + xn.InnerText);
|
||||
}
|
||||
if (xn2.Name == "p")
|
||||
{
|
||||
sb.Append(prefix + xn.InnerText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (width != null && width != "" && !regNumber.IsMatch(width))
|
||||
{
|
||||
Console.WriteLine("*** width is not a number {0}, rows {1}, cols {2}, Text='{3}'", width, rows, cols, xc.OuterXml);
|
||||
}
|
||||
fg[rows - 1, cols - 1] = sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace XMLConvert
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new frmConvertXML());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("XMLConvert")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("XMLConvert")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("76909147-264a-4d49-84e9-6c6da792991a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,63 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace XMLConvert.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XMLConvert.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace XMLConvert.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
@@ -1,319 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace XMLConvert
|
||||
{
|
||||
public partial class frmConvertXML
|
||||
{
|
||||
private string xmlSample1 = @"<C1FlexGrid version='1.0.5612.18617'>
|
||||
<Control>
|
||||
<MyBorderDetailString><?xml version='1.0' encoding='utf-16'?>
|
||||
<VlnBorders Rows='5' Columns='3'>
|
||||
<VerticalLines Rows='5' Columns='4'>
|
||||
<Lines>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
</Lines>
|
||||
</VerticalLines>
|
||||
<HorizontalLines Rows='6' Columns='3'>
|
||||
<Lines>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
<GridLinePattern>Single</GridLinePattern>
|
||||
</Lines>
|
||||
</HorizontalLines>
|
||||
</VlnBorders></MyBorderDetailString>
|
||||
<MyBorders>Volian Custom Borders</MyBorders>
|
||||
<IsRoTable>False</IsRoTable>
|
||||
<RODbId>0</RODbId>
|
||||
<DPI>96</DPI>
|
||||
<FirstEntry>False</FirstEntry>
|
||||
<BorderColor>Black</BorderColor>
|
||||
<StyleBackColor>255, 255, 255</StyleBackColor>
|
||||
<AllowMerging>Custom</AllowMerging>
|
||||
<AllowResizing>Both</AllowResizing>
|
||||
<HighLight>WithFocus</HighLight>
|
||||
<FocusRect>Solid</FocusRect>
|
||||
<DrawMode>OwnerDraw</DrawMode>
|
||||
<BackColor>255, 255, 255</BackColor>
|
||||
<VisualStyle>Custom</VisualStyle>
|
||||
<ScrollBars>None</ScrollBars>
|
||||
<Cursor>Default</Cursor>
|
||||
<Font>Courier New, 12pt</Font>
|
||||
<Margin>3, 3, 3, 3</Margin>
|
||||
<MaximumSize>0, 0</MaximumSize>
|
||||
<MinimumSize>0, 0</MinimumSize>
|
||||
<RightToLeft>No</RightToLeft>
|
||||
<Padding>0, 0, 0, 0</Padding>
|
||||
<ImeMode>NoControl</ImeMode>
|
||||
</Control>
|
||||
<ColumnInfo>
|
||||
<Count>3</Count>
|
||||
<Fixed>0</Fixed>
|
||||
<DefaultSize>125</DefaultSize>
|
||||
</ColumnInfo>
|
||||
<Columns>
|
||||
<Column index='0'>
|
||||
<Width>68</Width>
|
||||
</Column>
|
||||
<Column index='1'>
|
||||
<Width>178</Width>
|
||||
</Column>
|
||||
<Column index='2'>
|
||||
<Width>368</Width>
|
||||
</Column>
|
||||
</Columns>
|
||||
<RowInfo>
|
||||
<Count>5</Count>
|
||||
<Fixed>0</Fixed>
|
||||
<DefaultSize>25</DefaultSize>
|
||||
</RowInfo>
|
||||
<Rows>
|
||||
<Row index='0'>
|
||||
<Height>25</Height>
|
||||
</Row>
|
||||
<Row index='1'>
|
||||
<Height>25</Height>
|
||||
</Row>
|
||||
<Row index='2'>
|
||||
<Height>25</Height>
|
||||
</Row>
|
||||
<Row index='3'>
|
||||
<Height>25</Height>
|
||||
</Row>
|
||||
<Row index='4'>
|
||||
<Height>51</Height>
|
||||
</Row>
|
||||
</Rows>
|
||||
<Cells>
|
||||
<Cell index='0,0'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 PROC \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='0,1'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 PROC TITLE \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='0,2'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 FUNCTION \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='1,0'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 R-3 \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='1,1'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Restore CCW \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='1,2'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Cross-tie CCW from Unit Two \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='2,0'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 R-11 \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='2,1'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Restore RHR \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='2,2'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Repower RHR pump(s) from Unit Two \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='3,0'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 LS-2 \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='3,1'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Start-up AFW \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='3,2'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Cross-tie AFW from Unit Two \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>16</UserData>
|
||||
</Cell>
|
||||
<Cell index='4,0'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 LS-6 \par
|
||||
\par
|
||||
\par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>48</UserData>
|
||||
</Cell>
|
||||
<Cell index='4,1'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 RCS Make-up \par
|
||||
With CVCS \par
|
||||
Cross-tie \par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>48</UserData>
|
||||
</Cell>
|
||||
<Cell index='4,2'>
|
||||
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
|
||||
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 CVCS Cross-tie For Level Control\par
|
||||
\par
|
||||
}
|
||||
</Data>
|
||||
<UserData type='System.Int32'>32</UserData>
|
||||
</Cell>
|
||||
</Cells>
|
||||
<Styles>
|
||||
<Style>
|
||||
<Name>Normal</Name>
|
||||
<Definition>Font:Courier New, 12pt;BackColor:255, 255, 255;TextAlign:LeftTop;Border:Flat,1,Black,Both;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Alternate</Name>
|
||||
<Definition>BackColor:255, 255, 255;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Fixed</Name>
|
||||
<Definition>BackColor:Control;ForeColor:ControlText;Border:Flat,1,ControlDark,Both;BackgroundImageLayout:Hide;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Highlight</Name>
|
||||
<Definition>BackColor:LightCyan;ForeColor:Black;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Focus</Name>
|
||||
<Definition>BackColor:LightCyan;ForeColor:Black;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Editor</Name>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Search</Name>
|
||||
<Definition>BackColor:Highlight;ForeColor:HighlightText;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Frozen</Name>
|
||||
<Definition>BackColor:Beige;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>NewRow</Name>
|
||||
<Definition>ForeColor:GrayText;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>EmptyArea</Name>
|
||||
<Definition>BackColor:Transparent;Border:None,1,Black,Both;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>SelectedColumnHeader</Name>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>SelectedRowHeader</Name>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>GrandTotal</Name>
|
||||
<Definition>BackColor:Black;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal0</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal1</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal2</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal3</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal4</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>Subtotal5</Name>
|
||||
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>FilterEditor</Name>
|
||||
</Style>
|
||||
<Style>
|
||||
<Name>FirstCustomStyle</Name>
|
||||
</Style>
|
||||
</Styles>
|
||||
</C1FlexGrid>";
|
||||
}
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>XMLConvert</RootNamespace>
|
||||
<AssemblyName>XMLConvert</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" />
|
||||
<Reference Include="Csla">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.0.0.11, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL" />
|
||||
<Reference Include="log4net">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="VEPROMS.CSLA.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Controls.Library">
|
||||
<HintPath>..\..\..\..\..\..\..\Development\Proms\Volian.Controls.Library\bin\Debug\Volian.Controls.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ConvertTable.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SampleXML.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertXML.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmConvertXML.Designer.cs">
|
||||
<DependentUpon>frmConvertXML.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="vlnhtml.cs" />
|
||||
<EmbeddedResource Include="frmConvertXML.resx">
|
||||
<DependentUpon>frmConvertXML.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = "relative:XMLConvert"
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -1,434 +0,0 @@
|
||||
namespace XMLConvert
|
||||
{
|
||||
partial class frmConvertXML
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tbFile = new System.Windows.Forms.TextBox();
|
||||
this.btnLoad = new System.Windows.Forms.Button();
|
||||
this.tbResults = new System.Windows.Forms.TextBox();
|
||||
this.btnFindNodeTypes = new System.Windows.Forms.Button();
|
||||
this.btnStructure = new System.Windows.Forms.Button();
|
||||
this.btnLoadContent = new System.Windows.Forms.Button();
|
||||
this.btnLoadProcedure = new System.Windows.Forms.Button();
|
||||
this.btnBrowse = new System.Windows.Forms.Button();
|
||||
this.ofd = new System.Windows.Forms.OpenFileDialog();
|
||||
this.pbSection = new DevComponents.DotNetBar.Controls.ProgressBarX();
|
||||
this.pbStep = new DevComponents.DotNetBar.Controls.ProgressBarX();
|
||||
this.btnAll = new System.Windows.Forms.Button();
|
||||
this.btnAllStructure = new System.Windows.Forms.Button();
|
||||
this.pbProcs = new DevComponents.DotNetBar.Controls.ProgressBarX();
|
||||
this.btnAllStructure2 = new System.Windows.Forms.Button();
|
||||
this.lblProcedure = new System.Windows.Forms.Label();
|
||||
this.lblSection = new System.Windows.Forms.Label();
|
||||
this.lblStep = new System.Windows.Forms.Label();
|
||||
this.btnAllContent = new System.Windows.Forms.Button();
|
||||
this.btnHTML = new System.Windows.Forms.Button();
|
||||
this.btnHTML2 = new System.Windows.Forms.Button();
|
||||
this.btnCandN = new System.Windows.Forms.Button();
|
||||
this.btnHTLM3 = new System.Windows.Forms.Button();
|
||||
this.btnAllContent2 = new System.Windows.Forms.Button();
|
||||
this.btnVerbs = new System.Windows.Forms.Button();
|
||||
this.btnFigures = new System.Windows.Forms.Button();
|
||||
this.btnTables = new System.Windows.Forms.Button();
|
||||
this.bntTable2 = new System.Windows.Forms.Button();
|
||||
this.btnStepOrNo = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(22, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(48, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "XML File";
|
||||
//
|
||||
// tbFile
|
||||
//
|
||||
this.tbFile.Location = new System.Drawing.Point(85, 17);
|
||||
this.tbFile.Name = "tbFile";
|
||||
this.tbFile.Size = new System.Drawing.Size(578, 20);
|
||||
this.tbFile.TabIndex = 1;
|
||||
this.tbFile.Text = "C:\\Development\\Proms\\Barakah\\AOPRev1\\AOP CPP Batch 1\\XML\\procedure\\1N2-OP-AOP-MP-" +
|
||||
"0001 Rev01 FINAL - Main Transformer Abnormal.xml";
|
||||
//
|
||||
// btnLoad
|
||||
//
|
||||
this.btnLoad.Location = new System.Drawing.Point(12, 43);
|
||||
this.btnLoad.Name = "btnLoad";
|
||||
this.btnLoad.Size = new System.Drawing.Size(58, 23);
|
||||
this.btnLoad.TabIndex = 2;
|
||||
this.btnLoad.Text = "Load";
|
||||
this.btnLoad.UseVisualStyleBackColor = true;
|
||||
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
|
||||
//
|
||||
// tbResults
|
||||
//
|
||||
this.tbResults.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbResults.Location = new System.Drawing.Point(12, 183);
|
||||
this.tbResults.Multiline = true;
|
||||
this.tbResults.Name = "tbResults";
|
||||
this.tbResults.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.tbResults.Size = new System.Drawing.Size(726, 351);
|
||||
this.tbResults.TabIndex = 3;
|
||||
this.tbResults.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbResults_KeyDown);
|
||||
//
|
||||
// btnFindNodeTypes
|
||||
//
|
||||
this.btnFindNodeTypes.Location = new System.Drawing.Point(76, 43);
|
||||
this.btnFindNodeTypes.Name = "btnFindNodeTypes";
|
||||
this.btnFindNodeTypes.Size = new System.Drawing.Size(92, 23);
|
||||
this.btnFindNodeTypes.TabIndex = 4;
|
||||
this.btnFindNodeTypes.Text = "FindNodeTypes";
|
||||
this.btnFindNodeTypes.UseVisualStyleBackColor = true;
|
||||
this.btnFindNodeTypes.Click += new System.EventHandler(this.btnFindNodeTypes_Click);
|
||||
//
|
||||
// btnStructure
|
||||
//
|
||||
this.btnStructure.Location = new System.Drawing.Point(174, 43);
|
||||
this.btnStructure.Name = "btnStructure";
|
||||
this.btnStructure.Size = new System.Drawing.Size(59, 23);
|
||||
this.btnStructure.TabIndex = 5;
|
||||
this.btnStructure.Text = "Structure";
|
||||
this.btnStructure.UseVisualStyleBackColor = true;
|
||||
this.btnStructure.Click += new System.EventHandler(this.btnStructure_Click);
|
||||
//
|
||||
// btnLoadContent
|
||||
//
|
||||
this.btnLoadContent.Location = new System.Drawing.Point(270, 43);
|
||||
this.btnLoadContent.Name = "btnLoadContent";
|
||||
this.btnLoadContent.Size = new System.Drawing.Size(83, 23);
|
||||
this.btnLoadContent.TabIndex = 6;
|
||||
this.btnLoadContent.Text = "Load Content";
|
||||
this.btnLoadContent.UseVisualStyleBackColor = true;
|
||||
this.btnLoadContent.Click += new System.EventHandler(this.btnLoadContent_Click);
|
||||
//
|
||||
// btnLoadProcedure
|
||||
//
|
||||
this.btnLoadProcedure.AccessibleDescription = "z";
|
||||
this.btnLoadProcedure.Location = new System.Drawing.Point(643, 43);
|
||||
this.btnLoadProcedure.Name = "btnLoadProcedure";
|
||||
this.btnLoadProcedure.Size = new System.Drawing.Size(95, 23);
|
||||
this.btnLoadProcedure.TabIndex = 7;
|
||||
this.btnLoadProcedure.Text = "Load Procedure";
|
||||
this.btnLoadProcedure.UseVisualStyleBackColor = true;
|
||||
this.btnLoadProcedure.Click += new System.EventHandler(this.btnLoadProcedure_Click);
|
||||
//
|
||||
// btnBrowse
|
||||
//
|
||||
this.btnBrowse.Location = new System.Drawing.Point(669, 14);
|
||||
this.btnBrowse.Name = "btnBrowse";
|
||||
this.btnBrowse.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBrowse.TabIndex = 8;
|
||||
this.btnBrowse.Text = "Browse";
|
||||
this.btnBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
|
||||
//
|
||||
// ofd
|
||||
//
|
||||
this.ofd.FileName = "openFileDialog1";
|
||||
//
|
||||
// pbSection
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.pbSection.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.pbSection.Location = new System.Drawing.Point(99, 141);
|
||||
this.pbSection.Name = "pbSection";
|
||||
this.pbSection.Size = new System.Drawing.Size(639, 12);
|
||||
this.pbSection.TabIndex = 9;
|
||||
this.pbSection.Text = "progressBarX1";
|
||||
//
|
||||
// pbStep
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.pbStep.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.pbStep.Location = new System.Drawing.Point(99, 159);
|
||||
this.pbStep.Name = "pbStep";
|
||||
this.pbStep.Size = new System.Drawing.Size(639, 13);
|
||||
this.pbStep.TabIndex = 10;
|
||||
this.pbStep.Text = "progressBarX2";
|
||||
//
|
||||
// btnAll
|
||||
//
|
||||
this.btnAll.Location = new System.Drawing.Point(705, 72);
|
||||
this.btnAll.Name = "btnAll";
|
||||
this.btnAll.Size = new System.Drawing.Size(33, 23);
|
||||
this.btnAll.TabIndex = 11;
|
||||
this.btnAll.Text = "All";
|
||||
this.btnAll.UseVisualStyleBackColor = true;
|
||||
this.btnAll.Click += new System.EventHandler(this.btnAll_Click);
|
||||
//
|
||||
// btnAllStructure
|
||||
//
|
||||
this.btnAllStructure.Location = new System.Drawing.Point(186, 72);
|
||||
this.btnAllStructure.Name = "btnAllStructure";
|
||||
this.btnAllStructure.Size = new System.Drawing.Size(47, 23);
|
||||
this.btnAllStructure.TabIndex = 12;
|
||||
this.btnAllStructure.Text = "All Structure";
|
||||
this.btnAllStructure.UseVisualStyleBackColor = true;
|
||||
this.btnAllStructure.Click += new System.EventHandler(this.btnAllStructure_Click);
|
||||
//
|
||||
// pbProcs
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.pbProcs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.pbProcs.Location = new System.Drawing.Point(99, 123);
|
||||
this.pbProcs.Name = "pbProcs";
|
||||
this.pbProcs.Size = new System.Drawing.Size(639, 12);
|
||||
this.pbProcs.TabIndex = 13;
|
||||
this.pbProcs.Text = "progressBarX1";
|
||||
//
|
||||
// btnAllStructure2
|
||||
//
|
||||
this.btnAllStructure2.Location = new System.Drawing.Point(186, 94);
|
||||
this.btnAllStructure2.Name = "btnAllStructure2";
|
||||
this.btnAllStructure2.Size = new System.Drawing.Size(47, 23);
|
||||
this.btnAllStructure2.TabIndex = 14;
|
||||
this.btnAllStructure2.Text = "All Structure";
|
||||
this.btnAllStructure2.UseVisualStyleBackColor = true;
|
||||
this.btnAllStructure2.Click += new System.EventHandler(this.btnAllStructure2_Click);
|
||||
//
|
||||
// lblProcedure
|
||||
//
|
||||
this.lblProcedure.Location = new System.Drawing.Point(12, 123);
|
||||
this.lblProcedure.Name = "lblProcedure";
|
||||
this.lblProcedure.Size = new System.Drawing.Size(86, 18);
|
||||
this.lblProcedure.TabIndex = 15;
|
||||
this.lblProcedure.Text = "Procedure";
|
||||
//
|
||||
// lblSection
|
||||
//
|
||||
this.lblSection.Location = new System.Drawing.Point(12, 141);
|
||||
this.lblSection.Name = "lblSection";
|
||||
this.lblSection.Size = new System.Drawing.Size(86, 18);
|
||||
this.lblSection.TabIndex = 16;
|
||||
this.lblSection.Text = "Section";
|
||||
//
|
||||
// lblStep
|
||||
//
|
||||
this.lblStep.Location = new System.Drawing.Point(12, 160);
|
||||
this.lblStep.Name = "lblStep";
|
||||
this.lblStep.Size = new System.Drawing.Size(86, 18);
|
||||
this.lblStep.TabIndex = 17;
|
||||
this.lblStep.Text = "Step";
|
||||
//
|
||||
// btnAllContent
|
||||
//
|
||||
this.btnAllContent.Location = new System.Drawing.Point(270, 72);
|
||||
this.btnAllContent.Name = "btnAllContent";
|
||||
this.btnAllContent.Size = new System.Drawing.Size(33, 23);
|
||||
this.btnAllContent.TabIndex = 18;
|
||||
this.btnAllContent.Text = "All";
|
||||
this.btnAllContent.UseVisualStyleBackColor = true;
|
||||
this.btnAllContent.Click += new System.EventHandler(this.btnAllContent_Click);
|
||||
//
|
||||
// btnHTML
|
||||
//
|
||||
this.btnHTML.Location = new System.Drawing.Point(359, 43);
|
||||
this.btnHTML.Name = "btnHTML";
|
||||
this.btnHTML.Size = new System.Drawing.Size(51, 23);
|
||||
this.btnHTML.TabIndex = 19;
|
||||
this.btnHTML.Text = "HTML";
|
||||
this.btnHTML.UseVisualStyleBackColor = true;
|
||||
this.btnHTML.Click += new System.EventHandler(this.btnHTML_Click);
|
||||
//
|
||||
// btnHTML2
|
||||
//
|
||||
this.btnHTML2.Location = new System.Drawing.Point(359, 72);
|
||||
this.btnHTML2.Name = "btnHTML2";
|
||||
this.btnHTML2.Size = new System.Drawing.Size(51, 23);
|
||||
this.btnHTML2.TabIndex = 20;
|
||||
this.btnHTML2.Text = "HTML2";
|
||||
this.btnHTML2.UseVisualStyleBackColor = true;
|
||||
this.btnHTML2.Click += new System.EventHandler(this.btnHTML2_Click);
|
||||
//
|
||||
// btnCandN
|
||||
//
|
||||
this.btnCandN.Location = new System.Drawing.Point(416, 43);
|
||||
this.btnCandN.Name = "btnCandN";
|
||||
this.btnCandN.Size = new System.Drawing.Size(58, 23);
|
||||
this.btnCandN.TabIndex = 21;
|
||||
this.btnCandN.Text = "C and N";
|
||||
this.btnCandN.UseVisualStyleBackColor = true;
|
||||
this.btnCandN.Click += new System.EventHandler(this.btnCandN_Click);
|
||||
//
|
||||
// btnHTLM3
|
||||
//
|
||||
this.btnHTLM3.Location = new System.Drawing.Point(359, 94);
|
||||
this.btnHTLM3.Name = "btnHTLM3";
|
||||
this.btnHTLM3.Size = new System.Drawing.Size(51, 23);
|
||||
this.btnHTLM3.TabIndex = 22;
|
||||
this.btnHTLM3.Text = "HTML3";
|
||||
this.btnHTLM3.UseVisualStyleBackColor = true;
|
||||
this.btnHTLM3.Click += new System.EventHandler(this.btnHTLM3_Click);
|
||||
//
|
||||
// btnAllContent2
|
||||
//
|
||||
this.btnAllContent2.Location = new System.Drawing.Point(270, 94);
|
||||
this.btnAllContent2.Name = "btnAllContent2";
|
||||
this.btnAllContent2.Size = new System.Drawing.Size(33, 23);
|
||||
this.btnAllContent2.TabIndex = 18;
|
||||
this.btnAllContent2.Text = "All2";
|
||||
this.btnAllContent2.UseVisualStyleBackColor = true;
|
||||
this.btnAllContent2.Click += new System.EventHandler(this.btnAllContent2_Click);
|
||||
//
|
||||
// btnVerbs
|
||||
//
|
||||
this.btnVerbs.Location = new System.Drawing.Point(416, 72);
|
||||
this.btnVerbs.Name = "btnVerbs";
|
||||
this.btnVerbs.Size = new System.Drawing.Size(58, 23);
|
||||
this.btnVerbs.TabIndex = 23;
|
||||
this.btnVerbs.Text = "Verbs";
|
||||
this.btnVerbs.UseVisualStyleBackColor = true;
|
||||
this.btnVerbs.Click += new System.EventHandler(this.btnVerbs_Click);
|
||||
//
|
||||
// btnFigures
|
||||
//
|
||||
this.btnFigures.Location = new System.Drawing.Point(416, 94);
|
||||
this.btnFigures.Name = "btnFigures";
|
||||
this.btnFigures.Size = new System.Drawing.Size(58, 24);
|
||||
this.btnFigures.TabIndex = 24;
|
||||
this.btnFigures.Text = "Figures";
|
||||
this.btnFigures.UseVisualStyleBackColor = true;
|
||||
this.btnFigures.Click += new System.EventHandler(this.btnFigures_Click);
|
||||
//
|
||||
// btnTables
|
||||
//
|
||||
this.btnTables.Location = new System.Drawing.Point(480, 72);
|
||||
this.btnTables.Name = "btnTables";
|
||||
this.btnTables.Size = new System.Drawing.Size(65, 23);
|
||||
this.btnTables.TabIndex = 25;
|
||||
this.btnTables.Text = "Tables";
|
||||
this.btnTables.UseVisualStyleBackColor = true;
|
||||
this.btnTables.Click += new System.EventHandler(this.btnTables_Click);
|
||||
//
|
||||
// bntTable2
|
||||
//
|
||||
this.bntTable2.Location = new System.Drawing.Point(558, 72);
|
||||
this.bntTable2.Name = "bntTable2";
|
||||
this.bntTable2.Size = new System.Drawing.Size(67, 22);
|
||||
this.bntTable2.TabIndex = 26;
|
||||
this.bntTable2.Text = "Table2";
|
||||
this.bntTable2.UseVisualStyleBackColor = true;
|
||||
this.bntTable2.Click += new System.EventHandler(this.bntTable2_Click);
|
||||
//
|
||||
// btnStepOrNo
|
||||
//
|
||||
this.btnStepOrNo.Location = new System.Drawing.Point(480, 43);
|
||||
this.btnStepOrNo.Name = "btnStepOrNo";
|
||||
this.btnStepOrNo.Size = new System.Drawing.Size(73, 23);
|
||||
this.btnStepOrNo.TabIndex = 27;
|
||||
this.btnStepOrNo.Text = "StepOrNot";
|
||||
this.btnStepOrNo.UseVisualStyleBackColor = true;
|
||||
this.btnStepOrNo.Click += new System.EventHandler(this.btnStepOrNo_Click);
|
||||
//
|
||||
// frmConvertXML
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(750, 557);
|
||||
this.Controls.Add(this.btnStepOrNo);
|
||||
this.Controls.Add(this.bntTable2);
|
||||
this.Controls.Add(this.btnTables);
|
||||
this.Controls.Add(this.btnFigures);
|
||||
this.Controls.Add(this.btnVerbs);
|
||||
this.Controls.Add(this.btnHTLM3);
|
||||
this.Controls.Add(this.btnCandN);
|
||||
this.Controls.Add(this.btnHTML2);
|
||||
this.Controls.Add(this.btnHTML);
|
||||
this.Controls.Add(this.btnAllContent2);
|
||||
this.Controls.Add(this.btnAllContent);
|
||||
this.Controls.Add(this.lblStep);
|
||||
this.Controls.Add(this.lblSection);
|
||||
this.Controls.Add(this.lblProcedure);
|
||||
this.Controls.Add(this.btnAllStructure2);
|
||||
this.Controls.Add(this.pbProcs);
|
||||
this.Controls.Add(this.btnAllStructure);
|
||||
this.Controls.Add(this.btnAll);
|
||||
this.Controls.Add(this.pbStep);
|
||||
this.Controls.Add(this.pbSection);
|
||||
this.Controls.Add(this.btnBrowse);
|
||||
this.Controls.Add(this.btnLoadProcedure);
|
||||
this.Controls.Add(this.btnLoadContent);
|
||||
this.Controls.Add(this.btnStructure);
|
||||
this.Controls.Add(this.btnFindNodeTypes);
|
||||
this.Controls.Add(this.tbResults);
|
||||
this.Controls.Add(this.btnLoad);
|
||||
this.Controls.Add(this.tbFile);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Name = "frmConvertXML";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox tbFile;
|
||||
private System.Windows.Forms.Button btnLoad;
|
||||
private System.Windows.Forms.TextBox tbResults;
|
||||
private System.Windows.Forms.Button btnFindNodeTypes;
|
||||
private System.Windows.Forms.Button btnStructure;
|
||||
private System.Windows.Forms.Button btnLoadContent;
|
||||
private System.Windows.Forms.Button btnLoadProcedure;
|
||||
private System.Windows.Forms.Button btnBrowse;
|
||||
private System.Windows.Forms.OpenFileDialog ofd;
|
||||
private DevComponents.DotNetBar.Controls.ProgressBarX pbSection;
|
||||
private DevComponents.DotNetBar.Controls.ProgressBarX pbStep;
|
||||
private System.Windows.Forms.Button btnAll;
|
||||
private System.Windows.Forms.Button btnAllStructure;
|
||||
private DevComponents.DotNetBar.Controls.ProgressBarX pbProcs;
|
||||
private System.Windows.Forms.Button btnAllStructure2;
|
||||
private System.Windows.Forms.Label lblProcedure;
|
||||
private System.Windows.Forms.Label lblSection;
|
||||
private System.Windows.Forms.Label lblStep;
|
||||
private System.Windows.Forms.Button btnAllContent;
|
||||
private System.Windows.Forms.Button btnHTML;
|
||||
private System.Windows.Forms.Button btnHTML2;
|
||||
private System.Windows.Forms.Button btnCandN;
|
||||
private System.Windows.Forms.Button btnHTLM3;
|
||||
private System.Windows.Forms.Button btnAllContent2;
|
||||
private System.Windows.Forms.Button btnVerbs;
|
||||
private System.Windows.Forms.Button btnFigures;
|
||||
private System.Windows.Forms.Button btnTables;
|
||||
private System.Windows.Forms.Button bntTable2;
|
||||
private System.Windows.Forms.Button btnStepOrNo;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,126 +0,0 @@
|
||||
<?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>
|
||||
<metadata name="ofd.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>25</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,742 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Serialization;
|
||||
using System.ComponentModel;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
using System.IO;
|
||||
|
||||
namespace XMLConvert
|
||||
{
|
||||
/// <summary>
|
||||
/// Root Node
|
||||
/// </summary>
|
||||
[XmlRoot("html")]
|
||||
public class vlnhtml : VlnHtmlContainer
|
||||
{
|
||||
}
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
/// <summary>
|
||||
/// Part
|
||||
/// </summary>
|
||||
public class VlnHtmlPart
|
||||
{
|
||||
#region ID
|
||||
protected string _ID = string.Empty;
|
||||
[System.ComponentModel.DefaultValueAttribute("")]
|
||||
[XmlIgnore]
|
||||
public string ID
|
||||
{
|
||||
get { return _ID; }
|
||||
set { _ID = value; }
|
||||
}
|
||||
#endregion
|
||||
//#region Parent and Containing Svg
|
||||
//// ToDo: MyParent
|
||||
//private SvgPartGrouping _MyParent;
|
||||
//[XmlIgnore()]
|
||||
//public SvgPartGrouping MyParent
|
||||
//{
|
||||
// get { return _MyParent; }
|
||||
// set { _MyParent = value; }
|
||||
//}
|
||||
//// ToDo: MySvg
|
||||
//private Svg _MySvg;
|
||||
//public Svg MySvg
|
||||
//{
|
||||
// get { return _MySvg; }
|
||||
// set { _MySvg = value; }
|
||||
//}
|
||||
//internal void SetParent(SvgPartGrouping myParent)
|
||||
//{
|
||||
// _MyParent = myParent;
|
||||
// _MySvg = myParent.MySvg == null? MyParent : myParent.MySvg;
|
||||
//}
|
||||
//#endregion
|
||||
#region Dictionary of Parts
|
||||
internal virtual void AddLookup(Dictionary<string, VlnHtmlPart> lookUp)
|
||||
{
|
||||
if (_ID != string.Empty && !lookUp.ContainsKey(_ID))
|
||||
lookUp.Add(_ID, this);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
[Serializable()]
|
||||
[TypeConverter(typeof(VlnHtmlPartsConverter))]
|
||||
/// <summary>
|
||||
/// Parts
|
||||
/// </summary>
|
||||
public class VlnHtmlParts : CollectionBase, ICustomTypeDescriptor
|
||||
{
|
||||
/// <summary>Notifies when the collection has been modified.</summary>
|
||||
public event EventHandler OnItemsChanged;
|
||||
|
||||
/// <summary>Notifies that an item has been added.</summary>
|
||||
public event VlnHtmlPartHandler OnItemAdd;
|
||||
|
||||
/// <summary>Notifies that items have been added.</summary>
|
||||
public event VlnHtmlPartHandler OnItemsAdd;
|
||||
|
||||
/// <summary>Notifies that an item has been removed.</summary>
|
||||
public event VlnHtmlPartHandler OnItemRemove;
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Initializes a new instance of <see cref='VlnHtmlPart'/>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public VlnHtmlParts()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Initializes a new instance of <see cref='VlnHtmlPart'/> based on another <see cref='VlnHtmlPart'/>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name='value'>
|
||||
/// A <see cref='VlnHtmlPart'/> from which the contents are copied
|
||||
/// </param>
|
||||
public VlnHtmlParts(VlnHtmlParts value)
|
||||
{
|
||||
this.AddRange(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Initializes a new instance of <see cref='VlnHtmlPart'/> containing any array of <see cref='VlnHtmlPart'/> objects.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name='value'>
|
||||
/// A array of <see cref='VlnHtmlPart'/> objects with which to intialize the collection
|
||||
/// </param>
|
||||
public VlnHtmlParts(VlnHtmlPart[] value)
|
||||
{
|
||||
this.AddRange(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Represents the entry at the specified index of the <see cref='VlnHtmlPart'/>.</para>
|
||||
/// </summary>
|
||||
/// <param name='index'><para>The zero-based index of the entry to locate in the collection.</para></param>
|
||||
/// <value>
|
||||
/// <para> The entry at the specified index of the collection.</para>
|
||||
/// </value>
|
||||
/// <exception cref='System.ArgumentOutOfRangeException'><paramref name='index'/> is outside the valid range of indexes for the collection.</exception>
|
||||
public VlnHtmlPart this[int index]
|
||||
{
|
||||
get { return ((VlnHtmlPart)(List[index])); }
|
||||
set { List[index] = value; }
|
||||
}
|
||||
//#region SetupInheritance
|
||||
//internal void SetupInheritance(SvgInheritedSettings myParentsSettings)
|
||||
//{
|
||||
// foreach (vlnhtmlpart vlnhtmlpart in List)
|
||||
// vlnhtmlpart.SetupInheritance(myParentsSettings);
|
||||
//}
|
||||
//#endregion
|
||||
#region Dictionary of Parts
|
||||
internal void AddLookup(Dictionary<string, VlnHtmlPart> lookUp)
|
||||
{
|
||||
foreach (VlnHtmlPart vlnhtmlpart in List)
|
||||
vlnhtmlpart.AddLookup(lookUp);
|
||||
}
|
||||
#endregion
|
||||
internal static void ShowException(Exception ex)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
string sep = "";
|
||||
for (Exception ex1 = ex; ex1 != null; ex1 = ex1.InnerException)
|
||||
{
|
||||
sb.Append(sep + string.Format("ShowException {0} - {1}", ex1.GetType().Name, ex1.Message));
|
||||
sep = "\r\n";
|
||||
}
|
||||
Console.WriteLine(sb);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>Adds a <see cref='VlnHtmlPart'/> with the specified value to the
|
||||
/// <see cref='VlnHtmlPart'/> .</para>
|
||||
/// </summary>
|
||||
/// <param name='value'>The <see cref='VlnHtmlPart'/> to add.</param>
|
||||
/// <returns>
|
||||
/// <para>The index at which the new element was inserted.</para>
|
||||
/// </returns>
|
||||
/// <seealso cref='VlnHtmlParts.AddRange'/>
|
||||
public int Add(VlnHtmlPart value)
|
||||
{
|
||||
int ndx = List.Add(value);
|
||||
if (OnItemAdd != null) { OnItemAdd(this, new vlnhtmlpartArgs(value)); }
|
||||
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
|
||||
return ndx;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Copies the elements of an array to the end of the <see cref='VlnHtmlPart'/>.</para>
|
||||
/// </summary>
|
||||
/// <param name='value'>
|
||||
/// An array of type <see cref='VlnHtmlPart'/> containing the objects to add to the collection.
|
||||
/// </param>
|
||||
/// <returns>
|
||||
/// <para>None.</para>
|
||||
/// </returns>
|
||||
/// <seealso cref='VlnHtmlParts.Add'/>
|
||||
public void AddRange(VlnHtmlPart[] value)
|
||||
{
|
||||
for (int i = 0; i < value.Length; i++)
|
||||
{
|
||||
this.Add(value[i]);
|
||||
}
|
||||
if (OnItemsAdd != null) { OnItemsAdd(this, new vlnhtmlpartArgs(value)); }
|
||||
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Adds the contents of another <see cref='VlnHtmlPart'/> to the end of the collection.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name='value'>
|
||||
/// A <see cref='VlnHtmlPart'/> containing the objects to add to the collection.
|
||||
/// </param>
|
||||
/// <returns>
|
||||
/// <para>None.</para>
|
||||
/// </returns>
|
||||
/// <seealso cref='VlnHtmlParts.Add'/>
|
||||
public void AddRange(VlnHtmlParts value)
|
||||
{
|
||||
for (int i = 0; i < value.Count; i++)
|
||||
{
|
||||
this.Add(value[i]);
|
||||
}
|
||||
if (OnItemsAdd != null) { OnItemsAdd(this, new vlnhtmlpartArgs(value)); }
|
||||
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Gets a value indicating whether the
|
||||
/// <see cref='VlnHtmlPart'/> contains the specified <see cref='VlnHtmlPart'/>.</para>
|
||||
/// </summary>
|
||||
/// <param name='value'>The <see cref='VlnHtmlPart'/> to locate.</param>
|
||||
/// <returns>
|
||||
/// <para><see langword='true'/> if the <see cref='VlnHtmlPart'/> is contained in the collection;
|
||||
/// otherwise, <see langword='false'/>.</para>
|
||||
/// </returns>
|
||||
/// <seealso cref='VlnHtmlParts.IndexOf'/>
|
||||
public bool Contains(VlnHtmlPart value)
|
||||
{
|
||||
return List.Contains(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Copies the <see cref='VlnHtmlPart'/> values to a one-dimensional <see cref='System.Array'/> instance at the
|
||||
/// specified index.</para>
|
||||
/// </summary>
|
||||
/// <param name='array'><para>The one-dimensional <see cref='System.Array'/> that is the destination of the values copied from <see cref='VlnHtmlPart'/> .</para></param>
|
||||
/// <param name='index'>The index in <paramref name='array'/> where copying begins.</param>
|
||||
/// <returns>
|
||||
/// <para>None.</para>
|
||||
/// </returns>
|
||||
/// <exception cref='System.ArgumentException'><para><paramref name='array'/> is multidimensional.</para> <para>-or-</para> <para>The number of elements in the <see cref='VlnHtmlPart'/> is greater than the available space between <paramref name='arrayIndex'/> and the end of <paramref name='array'/>.</para></exception>
|
||||
/// <exception cref='System.ArgumentNullException'><paramref name='array'/> is <see langword='null'/>. </exception>
|
||||
/// <exception cref='System.ArgumentOutOfRangeException'><paramref name='arrayIndex'/> is less than <paramref name='array'/>'s lowbound. </exception>
|
||||
/// <seealso cref='System.Array'/>
|
||||
public void CopyTo(VlnHtmlPart[] array, int index)
|
||||
{
|
||||
List.CopyTo(array, index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Returns the index of a <see cref='VlnHtmlPart'/> in
|
||||
/// the <see cref='VlnHtmlPart'/> .</para>
|
||||
/// </summary>
|
||||
/// <param name='value'>The <see cref='VlnHtmlPart'/> to locate.</param>
|
||||
/// <returns>
|
||||
/// <para>The index of the <see cref='VlnHtmlPart'/> of <paramref name='value'/> in the
|
||||
/// <see cref='VlnHtmlPart'/>, if found; otherwise, -1.</para>
|
||||
/// </returns>
|
||||
/// <seealso cref='VlnHtmlParts.Contains'/>
|
||||
public int IndexOf(VlnHtmlPart value)
|
||||
{
|
||||
return List.IndexOf(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Inserts a <see cref='VlnHtmlPart'/> into the <see cref='VlnHtmlParts'/> at the specified index.</para>
|
||||
/// </summary>
|
||||
/// <param name='index'>The zero-based index where <paramref name='value'/> should be inserted.</param>
|
||||
/// <param name=' value'>The <see cref='VlnHtmlPart'/> to insert.</param>
|
||||
/// <returns><para>None.</para></returns>
|
||||
/// <seealso cref='VlnHtmlParts.Add'/>
|
||||
public void Insert(int index, VlnHtmlPart value)
|
||||
{
|
||||
List.Insert(index, value);
|
||||
if (OnItemAdd != null) { OnItemAdd(this, new vlnhtmlpartArgs(value)); }
|
||||
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para> Removes a specific <see cref='VlnHtmlPart'/> from the
|
||||
/// <see cref='VlnHtmlParts'/> .</para>
|
||||
/// </summary>
|
||||
/// <param name='value'>The <see cref='VlnHtmlPart'/> to remove from the <see cref='VlnHtmlParts'/> .</param>
|
||||
/// <returns><para>None.</para></returns>
|
||||
/// <exception cref='System.ArgumentException'><paramref name='value'/> is not found in the Collection. </exception>
|
||||
public void Remove(VlnHtmlPart value)
|
||||
{
|
||||
List.Remove(value);
|
||||
if (OnItemRemove != null) { OnItemRemove(this, new vlnhtmlpartArgs(value)); }
|
||||
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
|
||||
}
|
||||
#region ICustomTypeDescriptor impl
|
||||
public String GetClassName()
|
||||
{ return TypeDescriptor.GetClassName(this, true); }
|
||||
public AttributeCollection GetAttributes()
|
||||
{ return TypeDescriptor.GetAttributes(this, true); }
|
||||
public String GetComponentName()
|
||||
{ return TypeDescriptor.GetComponentName(this, true); }
|
||||
public TypeConverter GetConverter()
|
||||
{ return TypeDescriptor.GetConverter(this, true); }
|
||||
public EventDescriptor GetDefaultEvent()
|
||||
{ return TypeDescriptor.GetDefaultEvent(this, true); }
|
||||
public PropertyDescriptor GetDefaultProperty()
|
||||
{ return TypeDescriptor.GetDefaultProperty(this, true); }
|
||||
public object GetEditor(Type editorBaseType)
|
||||
{ return TypeDescriptor.GetEditor(this, editorBaseType, true); }
|
||||
public EventDescriptorCollection GetEvents(System.Attribute[] attributes)
|
||||
{ return TypeDescriptor.GetEvents(this, attributes, true); }
|
||||
public EventDescriptorCollection GetEvents()
|
||||
{ return TypeDescriptor.GetEvents(this, true); }
|
||||
public object GetPropertyOwner(PropertyDescriptor pd)
|
||||
{ return this; }
|
||||
/// <summary>
|
||||
/// Called to get the properties of this type. Returns properties with certain
|
||||
/// attributes. this restriction is not implemented here.
|
||||
/// </summary>
|
||||
/// <param name="attributes"></param>
|
||||
/// <returns></returns>
|
||||
public PropertyDescriptorCollection GetProperties(System.Attribute[] attributes)
|
||||
{ return GetProperties(); }
|
||||
/// <summary>
|
||||
/// Called to get the properties of this type.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public PropertyDescriptorCollection GetProperties()
|
||||
{
|
||||
// Create a collection object to hold property descriptors
|
||||
PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null);
|
||||
// Iterate the list
|
||||
for (int i = 0; i < this.Count; i++)
|
||||
{
|
||||
// Create a property descriptor for the item and add to the property descriptor collection
|
||||
vlnhtmlpartsPropertyDescriptor pd = new vlnhtmlpartsPropertyDescriptor(this, i);
|
||||
pds.Add(pd);
|
||||
}
|
||||
// return the property descriptor collection
|
||||
return pds;
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// Event arguments for the vlnhtmlparts collection class.
|
||||
public class vlnhtmlpartArgs : EventArgs
|
||||
{
|
||||
private VlnHtmlParts t;
|
||||
|
||||
/// Default constructor.
|
||||
public vlnhtmlpartArgs()
|
||||
{
|
||||
t = new VlnHtmlParts();
|
||||
}
|
||||
|
||||
/// Initializes with a vlnhtmlpart.
|
||||
/// Data object.
|
||||
public vlnhtmlpartArgs(VlnHtmlPart t)
|
||||
: this()
|
||||
{
|
||||
this.t.Add(t);
|
||||
}
|
||||
|
||||
/// Initializes with a collection of vlnhtmlpart objects.
|
||||
/// Collection of data.
|
||||
public vlnhtmlpartArgs(VlnHtmlParts ts)
|
||||
: this()
|
||||
{
|
||||
this.t.AddRange(ts);
|
||||
}
|
||||
|
||||
/// Initializes with an array of vlnhtmlpart objects.
|
||||
/// Array of data.
|
||||
public vlnhtmlpartArgs(VlnHtmlPart[] ts)
|
||||
: this()
|
||||
{
|
||||
this.t.AddRange(ts);
|
||||
}
|
||||
|
||||
/// Gets or sets the data of this argument.
|
||||
public VlnHtmlParts vlnhtmlparts
|
||||
{
|
||||
get { return t; }
|
||||
set { t = value; }
|
||||
}
|
||||
}
|
||||
|
||||
/// vlnhtmlparts event handler.
|
||||
public delegate void VlnHtmlPartHandler(object sender, vlnhtmlpartArgs e);
|
||||
#region Property Descriptor
|
||||
/// <summary>
|
||||
/// Summary description for CollectionPropertyDescriptor.
|
||||
/// </summary>
|
||||
public partial class vlnhtmlpartsPropertyDescriptor : vlnListPropertyDescriptor
|
||||
{
|
||||
private VlnHtmlPart Item { get { return (VlnHtmlPart)_Item; } }
|
||||
public vlnhtmlpartsPropertyDescriptor(VlnHtmlParts collection, int index) : base(collection, index) { ;}
|
||||
public override string DisplayName
|
||||
{ get { return Item.GetType().Name; } }
|
||||
}
|
||||
#endregion
|
||||
[Serializable()]
|
||||
public partial class vlnListPropertyDescriptor : PropertyDescriptor
|
||||
{
|
||||
protected object _Item = null;
|
||||
public vlnListPropertyDescriptor(System.Collections.IList collection, int index)
|
||||
: base("#" + index.ToString(), null)
|
||||
{ _Item = collection[index]; }
|
||||
public override bool CanResetValue(object component)
|
||||
{ return true; }
|
||||
public override Type ComponentType
|
||||
{ get { return _Item.GetType(); } }
|
||||
public override object GetValue(object component)
|
||||
{ return _Item; }
|
||||
public override bool IsReadOnly
|
||||
{ get { return false; } }
|
||||
public override Type PropertyType
|
||||
{ get { return _Item.GetType(); } }
|
||||
public override void ResetValue(object component)
|
||||
{ ;}
|
||||
public override bool ShouldSerializeValue(object component)
|
||||
{ return true; }
|
||||
public override void SetValue(object component, object value)
|
||||
{ /*_Item = value*/;}
|
||||
//public override AttributeCollection Attributes
|
||||
//{ get { return new AttributeCollection(null); } }
|
||||
public override string DisplayName
|
||||
{ get { return _Item.ToString(); } }
|
||||
public override string Description
|
||||
{ get { return _Item.ToString(); } }
|
||||
public override string Name
|
||||
{ get { return _Item.ToString(); } }
|
||||
|
||||
} // Class
|
||||
#region Converter
|
||||
internal class VlnHtmlPartsConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
|
||||
{
|
||||
if (destType == typeof(string) && value is VlnHtmlParts)
|
||||
{
|
||||
// Return department and department role separated by comma.
|
||||
return ((VlnHtmlParts)value).List.Count.ToString() + " SVG Drawing Parts";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destType);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
/// SVGParts event handler.
|
||||
//public delegate void VlnHtmlPartHandler(object sender, VlnHtmlPartArgs e);
|
||||
//#region Property Descriptor
|
||||
///// <summary>
|
||||
///// Summary description for CollectionPropertyDescriptor.
|
||||
///// </summary>
|
||||
//public partial class VlnHtmlPartsPropertyDescriptor : vlnListPropertyDescriptor
|
||||
//{
|
||||
// private VlnHtmlPart Item { get { return (VlnHtmlPart)_Item; } }
|
||||
// public VlnHtmlPartsPropertyDescriptor(VlnHtmlParts collection, int index) : base(collection, index) { ;}
|
||||
// public override string DisplayName
|
||||
// { get { return Item.GetType().Name; } }
|
||||
//}
|
||||
//#endregion
|
||||
//[Serializable()]
|
||||
//public partial class vlnListPropertyDescriptor : PropertyDescriptor
|
||||
//{
|
||||
// protected object _Item = null;
|
||||
// public vlnListPropertyDescriptor(System.Collections.IList collection, int index)
|
||||
// : base("#" + index.ToString(), null)
|
||||
// { _Item = collection[index]; }
|
||||
// public override bool CanResetValue(object component)
|
||||
// { return true; }
|
||||
// public override Type ComponentType
|
||||
// { get { return _Item.GetType(); } }
|
||||
// public override object GetValue(object component)
|
||||
// { return _Item; }
|
||||
// public override bool IsReadOnly
|
||||
// { get { return false; } }
|
||||
// public override Type PropertyType
|
||||
// { get { return _Item.GetType(); } }
|
||||
// public override void ResetValue(object component)
|
||||
// { ;}
|
||||
// public override bool ShouldSerializeValue(object component)
|
||||
// { return true; }
|
||||
// public override void SetValue(object component, object value)
|
||||
// { /*_Item = value*/;}
|
||||
// //public override AttributeCollection Attributes
|
||||
// //{ get { return new AttributeCollection(null); } }
|
||||
// public override string DisplayName
|
||||
// { get { return _Item.ToString(); } }
|
||||
// public override string Description
|
||||
// { get { return _Item.ToString(); } }
|
||||
// public override string Name
|
||||
// { get { return _Item.ToString(); } }
|
||||
|
||||
//} // Class
|
||||
//#region Converter
|
||||
//internal class VlnHtmlPartsConverter : ExpandableObjectConverter
|
||||
//{
|
||||
// public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
|
||||
// {
|
||||
// if (destType == typeof(string) && value is VlnHtmlParts)
|
||||
// {
|
||||
// // Return department and department role separated by comma.
|
||||
// return ((VlnHtmlParts)value).List.Count.ToString() + " Vln Html Parts";
|
||||
// }
|
||||
// return base.ConvertTo(context, culture, value, destType);
|
||||
// }
|
||||
//}
|
||||
// }
|
||||
//#endregion
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Hyperrlink
|
||||
/// </summary>
|
||||
public class vlnhtml_a
|
||||
{
|
||||
//url
|
||||
}
|
||||
public class vlnhtmlContent : VlnHtmlPart
|
||||
{
|
||||
string _text;
|
||||
[XmlText]
|
||||
public string Text
|
||||
{
|
||||
get { return _text; }
|
||||
set { _text = value; }
|
||||
}
|
||||
string _style;// -qt-block-indent:1or2
|
||||
[XmlAttribute("style")]
|
||||
public string Style
|
||||
{
|
||||
get { return _style; }
|
||||
set { _style = value; }
|
||||
}
|
||||
string _align;// Center Right Justify
|
||||
[XmlAttribute("align")]
|
||||
public string Align
|
||||
{
|
||||
get { return _align; }
|
||||
set { _align = value; }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Paragraph
|
||||
/// </summary>
|
||||
public class vlnhtml_p : vlnhtmlContent
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// Break
|
||||
/// </summary>
|
||||
public class vlnhtml_br : VlnHtmlPart
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// Image
|
||||
/// </summary>
|
||||
public class vlnhtml_img : VlnHtmlPart
|
||||
{
|
||||
string _src;//filename and Path
|
||||
[XmlAttribute("src")]
|
||||
public string Src
|
||||
{
|
||||
get { return _src; }
|
||||
set { _src = value; }
|
||||
}
|
||||
int _width;
|
||||
[XmlAttribute("width")]
|
||||
public int Width
|
||||
{
|
||||
get { return _width; }
|
||||
set { _width = value; }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Container
|
||||
/// </summary>
|
||||
public class VlnHtmlContainer : VlnHtmlPart
|
||||
{
|
||||
VlnHtmlParts _Children = new VlnHtmlParts();
|
||||
[XmlElement("ul", typeof(vlnhtml_ul))]
|
||||
[XmlElement("ol", typeof(vlnhtml_ol))]
|
||||
[XmlElement("li", typeof(vlnhtml_li))]
|
||||
[XmlElement("p", typeof(vlnhtml_p))]
|
||||
[XmlElement("a", typeof(vlnhtml_a))]
|
||||
[XmlElement("br", typeof(vlnhtml_br))]
|
||||
[XmlElement("img", typeof(vlnhtml_img))]
|
||||
[XmlElement("table", typeof(vlnhtml_table))]
|
||||
internal VlnHtmlParts Children
|
||||
{
|
||||
get
|
||||
{
|
||||
//if (_Children == null)
|
||||
// _Children = new VlnHtmlParts();
|
||||
return _Children;
|
||||
}
|
||||
set { _Children = value; }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Ordered List
|
||||
/// </summary>
|
||||
public class vlnhtml_ol : VlnHtmlContainer
|
||||
{
|
||||
string _style;// -qt-block-indent:1or2
|
||||
[XmlAttribute("style")]
|
||||
public string Style
|
||||
{
|
||||
get { return _style; }
|
||||
set { _style = value; }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Unordered List
|
||||
/// </summary>
|
||||
public class vlnhtml_ul : VlnHtmlContainer
|
||||
{
|
||||
string _style;// -qt-block-indent:1or2
|
||||
[XmlAttribute("style")]
|
||||
public string Style
|
||||
{
|
||||
get { return _style; }
|
||||
set { _style = value; }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// List Item
|
||||
/// </summary>
|
||||
public class vlnhtml_li : vlnhtmlContent
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// Table
|
||||
/// </summary>
|
||||
public class vlnhtml_table : VlnHtmlContainer
|
||||
{
|
||||
string _style;// -qt-block-indent:1or2
|
||||
[XmlAttribute("style")]
|
||||
public string Style
|
||||
{
|
||||
get { return _style; }
|
||||
set { _style = value; }
|
||||
}
|
||||
int _border;//
|
||||
int _cellspacing;
|
||||
int _cellpadding;
|
||||
}
|
||||
public class vlnhtml_tr : VlnHtmlContainer
|
||||
{
|
||||
}
|
||||
public class vlnhtml_td : VlnHtmlContainer
|
||||
{
|
||||
}
|
||||
public static class HtmlSerializer<T> where T : class
|
||||
{
|
||||
public static string StringSerialize(T t)
|
||||
{
|
||||
string strOutput = string.Empty;
|
||||
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
xs.Serialize(new NonXsiTextWriter(ms, Encoding.UTF8), t);
|
||||
//xs.Serialize(ms, t);
|
||||
ms.Position = 0;
|
||||
StreamReader sr = new StreamReader(ms);
|
||||
strOutput = sr.ReadToEnd();
|
||||
ms.Close();
|
||||
}
|
||||
return strOutput;
|
||||
}
|
||||
public static T StringDeserialize(string s)
|
||||
{
|
||||
T t;
|
||||
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
|
||||
UTF8Encoding enc = new UTF8Encoding();
|
||||
Byte[] arrBytData = enc.GetBytes(s);
|
||||
using (MemoryStream ms = new MemoryStream(arrBytData))
|
||||
{
|
||||
t = (T)xs.Deserialize(ms);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
public static void WriteFile(T t, string fileName)
|
||||
{
|
||||
string strOutput = string.Empty;
|
||||
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
|
||||
using (FileStream fs = new FileStream(fileName, FileMode.Create))
|
||||
{
|
||||
xs.Serialize(new NonXsiTextWriter(fs, Encoding.UTF8), t);
|
||||
fs.Close();
|
||||
}
|
||||
}
|
||||
public static T ReadFile(string fileName)
|
||||
{
|
||||
T t;
|
||||
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
|
||||
using (FileStream fs = new FileStream(fileName, FileMode.Open))
|
||||
{
|
||||
t = (T)xs.Deserialize(fs);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
}
|
||||
public class NonXsiTextWriter : XmlTextWriter
|
||||
{
|
||||
public NonXsiTextWriter(TextWriter w) : base(w) { }
|
||||
public NonXsiTextWriter(Stream w, Encoding encoding)
|
||||
: base(w, encoding)
|
||||
{
|
||||
this.Formatting = Formatting.Indented;
|
||||
}
|
||||
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
|
||||
bool _skip = false;
|
||||
public override void WriteStartAttribute(string prefix, string localName, string ns)
|
||||
{
|
||||
if ((prefix == "xmlns" && (localName == "xsd" || localName == "xsi")) || // Omits XSD and XSI declarations.
|
||||
ns == XmlSchema.InstanceNamespace) // Omits all XSI attributes.
|
||||
{
|
||||
_skip = true;
|
||||
return;
|
||||
}
|
||||
if (localName == "xlink_href")
|
||||
base.WriteStartAttribute(prefix, "xlink:href", ns);
|
||||
else
|
||||
base.WriteStartAttribute(prefix, localName, ns);
|
||||
}
|
||||
public override void WriteString(string text)
|
||||
{
|
||||
if (_skip) return;
|
||||
base.WriteString(text);
|
||||
}
|
||||
public override void WriteEndAttribute()
|
||||
{
|
||||
if (_skip)
|
||||
{ // Reset the flag, so we keep writing.
|
||||
_skip = false;
|
||||
return;
|
||||
}
|
||||
base.WriteEndAttribute();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<Baseline.Properties.Settings>
|
||||
|
||||
@@ -9,16 +9,20 @@
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Baseline</RootNamespace>
|
||||
<AssemblyName>Baseline</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
@@ -26,18 +30,17 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
@@ -64,6 +67,7 @@
|
||||
<Compile Include="frmSettings.Designer.cs">
|
||||
<DependentUpon>frmSettings.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="frmBaseline.resx">
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
""
|
||||
{
|
||||
"FILE_VERSION" = "9237"
|
||||
"ENLISTMENT_CHOICE" = "NEVER"
|
||||
"PROJECT_FILE_RELATIVE_PATH" = ""
|
||||
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// This file is used by Code Analysis to maintain SuppressMessage
|
||||
// attributes that are applied to this project.
|
||||
// Project-level suppressions either have no target or are given
|
||||
// a specific target and scoped to a namespace, type, member, etc.
|
||||
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Not modifying Naming Styles")]
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Baseline
|
||||
|
||||
Generated
+14
@@ -30,6 +30,7 @@
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.cbUseTruncatedData = new System.Windows.Forms.CheckBox();
|
||||
this.btnUC = new System.Windows.Forms.Button();
|
||||
this.cbCaseSensitive = new System.Windows.Forms.CheckBox();
|
||||
this.cbFile2 = new System.Windows.Forms.ComboBox();
|
||||
@@ -72,6 +73,7 @@
|
||||
//
|
||||
this.panel1.Controls.Add(this.btnUC);
|
||||
this.panel1.Controls.Add(this.cbCaseSensitive);
|
||||
this.panel1.Controls.Add(this.cbUseTruncatedData);
|
||||
this.panel1.Controls.Add(this.cbFile2);
|
||||
this.panel1.Controls.Add(this.cbFile1);
|
||||
this.panel1.Controls.Add(this.tbSearch);
|
||||
@@ -87,6 +89,17 @@
|
||||
this.panel1.Size = new System.Drawing.Size(707, 80);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// cbUseTruncatedData // C2026-041
|
||||
//
|
||||
this.cbUseTruncatedData.AutoSize = true;
|
||||
this.cbUseTruncatedData.Location = new System.Drawing.Point(456, 56);
|
||||
this.cbUseTruncatedData.Name = "cbUseTruncatedData";
|
||||
this.cbUseTruncatedData.Size = new System.Drawing.Size(123, 17);
|
||||
this.cbUseTruncatedData.TabIndex = 11;
|
||||
this.cbUseTruncatedData.Text = "Use Truncated Data";
|
||||
this.tt.SetToolTip(this.cbUseTruncatedData, "Set the Search to be Case Sensitive\r\nUppercase and Lowercase will not match");
|
||||
this.cbUseTruncatedData.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnUC
|
||||
//
|
||||
this.btnUC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -381,6 +394,7 @@
|
||||
private System.Windows.Forms.ComboBox cbFile2;
|
||||
private System.Windows.Forms.ComboBox cbFile1;
|
||||
private System.Windows.Forms.CheckBox cbCaseSensitive;
|
||||
private System.Windows.Forms.CheckBox cbUseTruncatedData;
|
||||
private System.Windows.Forms.Button btnUC;
|
||||
private System.Windows.Forms.ToolTip tt;
|
||||
}
|
||||
|
||||
+272
-291
@@ -43,18 +43,15 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Collections.Specialized;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Serialization;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Baseline
|
||||
{
|
||||
@@ -70,15 +67,10 @@ namespace Baseline
|
||||
StartsWith,
|
||||
EndsWith,
|
||||
Regex
|
||||
}
|
||||
}
|
||||
public partial class frmBaseline : Form
|
||||
{
|
||||
private IgnoreLines _MyIgnore = new IgnoreLines();
|
||||
public IgnoreLines MyIgnore
|
||||
{
|
||||
get { return _MyIgnore; }
|
||||
set { _MyIgnore = value; }
|
||||
}
|
||||
public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
|
||||
private LastWas myLast = LastWas.Search;
|
||||
private Settings MySettings;
|
||||
public string MyStatus
|
||||
@@ -149,10 +141,12 @@ namespace Baseline
|
||||
this.Location = Properties.Settings.Default.Location;
|
||||
this.Size = Properties.Settings.Default.Size;
|
||||
this.WindowState = Properties.Settings.Default.WidnowState;
|
||||
if(Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
|
||||
if (Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
|
||||
MyIgnore = IgnoreLines.Get(Properties.Settings.Default.Ignore);
|
||||
MySettings= new Settings();
|
||||
MySettings.IgnoreLines = new BindingList<string>();
|
||||
MySettings = new Settings
|
||||
{
|
||||
IgnoreLines = new BindingList<string>()
|
||||
};
|
||||
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
|
||||
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
|
||||
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
|
||||
@@ -224,7 +218,7 @@ namespace Baseline
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
// Perform DebugPagination Comparison
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore);
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore, cbUseTruncatedData.Checked);
|
||||
lbDifferent.DataSource = fnd;
|
||||
lbDifferent.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -240,28 +234,27 @@ namespace Baseline
|
||||
lbProcedures.Items.Clear();
|
||||
lbResults1.Items.Clear();
|
||||
lbResults2.Items.Clear();
|
||||
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
||||
if (ff != null)
|
||||
{
|
||||
// Fill Procedure or Result ListBoxes
|
||||
switch (myLast)
|
||||
{
|
||||
case LastWas.Pagination:
|
||||
CompareContent(ff.File1, ff.File2);// Compare DebugPagination
|
||||
break;
|
||||
case LastWas.Baseline:
|
||||
CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
|
||||
break;
|
||||
case LastWas.Search:
|
||||
ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
|
||||
break;
|
||||
default:
|
||||
CompareContent(ff.File1, ff.File2);//Default DebugPagination
|
||||
break;
|
||||
}
|
||||
//CompareOneFile(ff.File1, ff.File2);
|
||||
}
|
||||
}
|
||||
if (lbDifferent.SelectedItem is FindFile ff)
|
||||
{
|
||||
// Fill Procedure or Result ListBoxes
|
||||
switch (myLast)
|
||||
{
|
||||
case LastWas.Pagination:
|
||||
CompareContent(ff.File1, ff.File2);// Compare DebugPagination
|
||||
break;
|
||||
case LastWas.Baseline:
|
||||
CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
|
||||
break;
|
||||
case LastWas.Search:
|
||||
ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
|
||||
break;
|
||||
default:
|
||||
CompareContent(ff.File1, ff.File2);//Default DebugPagination
|
||||
break;
|
||||
}
|
||||
//CompareOneFile(ff.File1, ff.File2);
|
||||
}
|
||||
}
|
||||
Procedures MyProcs1;
|
||||
Procedures MyProcs2;
|
||||
/// <summary>
|
||||
@@ -361,13 +354,6 @@ namespace Baseline
|
||||
lines1 = list1.AsEnumerable<string>();// Convert back to Enumerable to work with LINQ
|
||||
return lines1;
|
||||
}
|
||||
private string GetProcNum(string line)
|
||||
{
|
||||
string retval = line.Substring(3, line.IndexOf(" | ") - 3);
|
||||
if (retval.Contains("_"))
|
||||
retval = retval.Substring(0, retval.IndexOf("_") - 1);
|
||||
return retval;
|
||||
}
|
||||
/// <summary>
|
||||
/// Include lines for Procedure or Page or Search is true
|
||||
/// Account for Case Insensitive CheckBox
|
||||
@@ -450,13 +436,13 @@ namespace Baseline
|
||||
private void lbResults1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
string line=null;
|
||||
if (lbResults1.SelectedItem is string)
|
||||
line = (string)lbResults1.SelectedItem;
|
||||
if (lbResults1.SelectedItem is string v)
|
||||
line = v;
|
||||
Line myLine = lbResults1.SelectedItem as Line;
|
||||
switch (myLast)
|
||||
{
|
||||
case LastWas.Pagination:
|
||||
line = OpenPDF(line);
|
||||
OpenPDF(line);
|
||||
break;
|
||||
case LastWas.Baseline: // TODO: Need to add code here to open matching file
|
||||
OpenOnePDF(myLine,1);
|
||||
@@ -472,14 +458,14 @@ namespace Baseline
|
||||
{
|
||||
|
||||
string line=null;
|
||||
if(lbResults2.SelectedItem is string)
|
||||
line = (string)lbResults2.SelectedItem;
|
||||
if(lbResults2.SelectedItem is string v)
|
||||
line = v;
|
||||
Line myLine = lbResults2.SelectedItem as Line;
|
||||
|
||||
switch (myLast)
|
||||
{
|
||||
case LastWas.Pagination:
|
||||
line = OpenPDF(line);
|
||||
OpenPDF(line);
|
||||
break;
|
||||
case LastWas.Baseline: // TODO: Need to add code here to open matching file
|
||||
OpenOnePDF(myLine,2);
|
||||
@@ -491,34 +477,97 @@ namespace Baseline
|
||||
break;
|
||||
}
|
||||
}
|
||||
string exePath;
|
||||
private string OpenPDF(string line)
|
||||
|
||||
/// <summary>
|
||||
/// This will return the full path to the PDF file
|
||||
/// </summary>
|
||||
/// <param name="fi"></param>
|
||||
/// <param name="patern"></param>
|
||||
/// <returns></returns>
|
||||
private string GetPFDFileAndPath(FileInfo fi, string patern)
|
||||
{
|
||||
int page = int.Parse(line.Substring(0, 6));
|
||||
string[] fileList = Directory.GetFiles(fi.DirectoryName, patern);
|
||||
// sort the list of file list
|
||||
Array.Sort((string[])fileList);
|
||||
return fileList.FirstOrDefault(); // the PDF file that we what should be top of the list then.
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This will parse out the procedure number for the PROMS ShortPath representation of a procedure section or step part
|
||||
/// In the PROMS ShortPath, ".S" is used to delimit the procedure number, section then uses "..S" for the step parts
|
||||
/// This method was written to handle cases where ".S" is used as part of the procedure number
|
||||
/// </summary>
|
||||
/// <param name="txt"></param>
|
||||
/// <returns></returns>
|
||||
private string ParseOutProcedureNumberFromLine(string txt)
|
||||
{
|
||||
// if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
|
||||
// so look for the last occurence of ".." which will be the end of the section information
|
||||
int lidx = txt.LastIndexOf("..");
|
||||
if (lidx > 0)
|
||||
{
|
||||
lidx = txt.LastIndexOf(".S", lidx); // this will position us to the end of the procedure number
|
||||
}
|
||||
else
|
||||
{
|
||||
lidx = txt.LastIndexOf(".S"); // this will position us to the end of the procedure number if there was no step information
|
||||
}
|
||||
// old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
|
||||
// Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
|
||||
// 1.SBGEN.SC. ==> short path of attachment section "C"
|
||||
// 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
|
||||
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
|
||||
string rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
|
||||
return rtnstr;
|
||||
}
|
||||
|
||||
string exePath;
|
||||
private void OpenPDF(string line)
|
||||
{
|
||||
int pageNum = int.Parse(line.Substring(0, 6));
|
||||
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
|
||||
line = line.Substring(8, line.IndexOf(".S") - 8).Replace("/", "_").Replace("\\", "_");
|
||||
string ProcNum = ParseOutProcedureNumberFromLine(line);
|
||||
string procPatern = string.Format("*{0}*.pdf", string.IsNullOrEmpty(line) ? "noProcNumber" : ProcNum);
|
||||
|
||||
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
||||
FileInfo fi1 = new FileInfo(ff.File1);
|
||||
FileInfo fi2 = new FileInfo(ff.File2);
|
||||
string PDFfileName1 = GetPFDFileAndPath(fi1,procPatern);
|
||||
string PDFfileName2 = GetPFDFileAndPath(fi2,procPatern);
|
||||
if (string.IsNullOrEmpty(PDFfileName1) || string.IsNullOrEmpty(PDFfileName2)) return;
|
||||
|
||||
// If you don't know where the Reader executable is for PDFs Open a PDF and Check to see where the path points
|
||||
if (exePath == null)
|
||||
{
|
||||
System.Diagnostics.Process p = System.Diagnostics.Process.Start(fi1.DirectoryName + "\\" + line + ".pdf");
|
||||
exePath = TryToGetPath(p);
|
||||
p.Kill(); // No need to keep it open
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Process p = System.Diagnostics.Process.Start(PDFfileName1);
|
||||
exePath = TryToGetPath(p);
|
||||
p.Kill(); // No need to keep it open
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Application.DoEvents();
|
||||
string msg = string.Format("{0} - {1}", ex.GetType().Name, ex.Message);
|
||||
Console.WriteLine(msg);
|
||||
MessageBox.Show(msg, "Error opening default PDF Viewer");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Open the first PDF on a Specific Page
|
||||
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", page) + fi1.DirectoryName + "\\" + line + ".pdf ");
|
||||
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format(" /A \"page={0}\" \"{1}\" ", pageNum,PDFfileName1));
|
||||
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
|
||||
// Move the PDF Reader window to 0,0
|
||||
MoveProcess(p1, 0, 0);
|
||||
// Open the first PDF on a Specific Page
|
||||
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", page) + fi2.DirectoryName + "\\" + line + ".pdf ");
|
||||
|
||||
// Open the second PDF on a Specific Page
|
||||
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format(" /A \"page={0}\" \"{1}\" ", pageNum, PDFfileName2));
|
||||
System.Diagnostics.Process p2 = System.Diagnostics.Process.Start(psi2);
|
||||
// Move the PDF Reader window to 960,0
|
||||
// TODO: This Offset could be a Setting
|
||||
MoveProcess(p2, 960, 0);
|
||||
return line;
|
||||
return;
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to get the location of the PDF Reader executable
|
||||
@@ -530,7 +579,7 @@ namespace Baseline
|
||||
p.WaitForInputIdle();
|
||||
while (p.MainModule == null)
|
||||
{
|
||||
Console.WriteLine("{0} - {1}", p.MainWindowTitle,p.ProcessName);
|
||||
Console.WriteLine("{0} - {1}", p.MainWindowTitle, p.ProcessName);
|
||||
p.WaitForInputIdle();
|
||||
Application.DoEvents();
|
||||
}
|
||||
@@ -551,10 +600,10 @@ namespace Baseline
|
||||
progname = @"C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\UC.exe";
|
||||
System.Diagnostics.ProcessStartInfo psi =
|
||||
new System.Diagnostics.ProcessStartInfo(progname, string.Format(@" -t ""{0}"" ""{1}""", compareFile, baseFile));
|
||||
System.Diagnostics.Process prc = System.Diagnostics.Process.Start(psi);
|
||||
}
|
||||
_ = System.Diagnostics.Process.Start(psi);
|
||||
}
|
||||
|
||||
private ProcessLocationQueue myQueue= new ProcessLocationQueue();
|
||||
private readonly ProcessLocationQueue myQueue= new ProcessLocationQueue();
|
||||
private Timer queueTimer = null;
|
||||
/// <summary>
|
||||
/// Move a Process to a specific screen location - This is done with a timer so
|
||||
@@ -567,9 +616,11 @@ namespace Baseline
|
||||
{
|
||||
if (queueTimer == null)
|
||||
{
|
||||
queueTimer = new Timer();
|
||||
queueTimer.Enabled = false;
|
||||
queueTimer.Tick += queueTimer_Tick;
|
||||
queueTimer = new Timer
|
||||
{
|
||||
Enabled = false
|
||||
};
|
||||
queueTimer.Tick += queueTimer_Tick;
|
||||
queueTimer.Interval = 1000;
|
||||
}
|
||||
myQueue.Add(proc, x, y);
|
||||
@@ -594,41 +645,55 @@ namespace Baseline
|
||||
/// <param name="list"></param>
|
||||
private void OpenOnePDF(Line myLine, int list)
|
||||
{
|
||||
if (myLine == null) return; // no PDF to open
|
||||
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
|
||||
string proc = myLine.MyProc.Number.Replace("/","_").Replace("\\","_");
|
||||
|
||||
// if no procedure number, PROMS creates pdf filename "NoProcNumber.pdf"
|
||||
// create pattern to use to get the PDF from the directory
|
||||
// add wildcards (*) to file the file if any prefix or suffix was added to the filename
|
||||
string procPatern = string.Format("*{0}*.pdf", proc == string.Empty ? "noProcNumber" : proc);
|
||||
int pagenum = myLine.MyPage.Number;
|
||||
FindFile ff = lbDifferent.SelectedItem as FindFile;
|
||||
FileInfo fi1 = new FileInfo(ff.File1);
|
||||
FileInfo fi2 = new FileInfo(ff.File2);
|
||||
string PDFfileName;
|
||||
if (list == 1)
|
||||
{
|
||||
FileInfo fi1 = new FileInfo(ff.File1);
|
||||
PDFfileName = GetPFDFileAndPath(fi1, procPatern);
|
||||
}
|
||||
else // list == 2
|
||||
{
|
||||
FileInfo fi2 = new FileInfo(ff.File2);
|
||||
PDFfileName = GetPFDFileAndPath(fi2, procPatern);
|
||||
}
|
||||
if (string.IsNullOrEmpty(PDFfileName)) return; // no PDF to open
|
||||
|
||||
// if exePath is null, then open the found PDF with the default PDF viewer and
|
||||
// capture/save the entire name and path of the default PDF viewer
|
||||
if (exePath == null)
|
||||
{
|
||||
System.Diagnostics.Process p = System.Diagnostics.Process.Start(fi1.DirectoryName + "\\" + proc + ".pdf");
|
||||
while (exePath == null)
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
exePath = p.MainModule.FileName;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Application.DoEvents();
|
||||
Console.WriteLine("{0} - {1}", ex.GetType().Name, ex.Message);
|
||||
}
|
||||
System.Diagnostics.Process tp = System.Diagnostics.Process.Start(PDFfileName);
|
||||
exePath = TryToGetPath(tp);
|
||||
tp.Kill();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Application.DoEvents();
|
||||
string msg = string.Format("{0} - {1}", ex.GetType().Name, ex.Message);
|
||||
Console.WriteLine(msg);
|
||||
MessageBox.Show(msg, "Error opening default PDF Viewer");
|
||||
return;
|
||||
}
|
||||
p.Kill();
|
||||
}
|
||||
if (list == 1)
|
||||
{
|
||||
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", pagenum) + fi1.DirectoryName + "\\" + proc + ".pdf ");
|
||||
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", pagenum) + fi2.DirectoryName + "\\" + proc + ".pdf ");
|
||||
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi2);
|
||||
}
|
||||
}
|
||||
// open the PDF and jump to the page number
|
||||
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum, PDFfileName))
|
||||
{
|
||||
UseShellExecute = false
|
||||
};
|
||||
_ = System.Diagnostics.Process.Start(psi1);
|
||||
}
|
||||
/// <summary>
|
||||
/// Perform Debug Meta file comparison for all of the folders within the automated testing folders
|
||||
/// </summary>
|
||||
@@ -643,8 +708,9 @@ namespace Baseline
|
||||
lbResults1.Items.Clear();
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
// Perform code to find DebugMeta files with diffences
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt",MyIgnore);
|
||||
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", MyIgnore, cbUseTruncatedData.Checked);
|
||||
|
||||
lbDifferent.DataSource = fnd;
|
||||
lbDifferent.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -667,7 +733,7 @@ namespace Baseline
|
||||
lbResults2.Items.Clear();
|
||||
MyStatus = "Searching...";
|
||||
//Perform Search
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked);
|
||||
FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked, cbUseTruncatedData.Checked);
|
||||
lbDifferent.DataSource = fnd;
|
||||
lbDifferent.DisplayMember = "File1";
|
||||
MyStatus = string.Format("{0} Differences Found", fnd.Count);
|
||||
@@ -708,12 +774,12 @@ namespace Baseline
|
||||
}
|
||||
private void lbProcedures_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
//Initialize Results List Box
|
||||
lbResults1.Items.Clear();
|
||||
Procedure myProc = lbProcedures.SelectedItem as Procedure;
|
||||
//TODO: May need to consider if there are duplicate procedure numers and titles
|
||||
Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
|
||||
//Initialize Results List Box
|
||||
if (!(lbProcedures.SelectedItem is Procedure myProc)) return; // clicked on the white space (blank line) in the list of different procedures
|
||||
//TODO: May need to consider if there are duplicate procedure numers and titles
|
||||
Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
|
||||
// Build the results ListBox for the left window
|
||||
lbResults1.Items.Clear();
|
||||
if (myProc1 != null)
|
||||
{
|
||||
foreach (Page myPage in myProc1.MyPages)
|
||||
@@ -749,6 +815,7 @@ namespace Baseline
|
||||
CompareOneFile(ff.File1, ff.File2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public enum SearchType
|
||||
{
|
||||
@@ -758,28 +825,13 @@ namespace Baseline
|
||||
};
|
||||
public class Settings
|
||||
{
|
||||
private BindingList<string> _IgnoreLines;
|
||||
public BindingList<string> IgnoreLines
|
||||
{
|
||||
get { return _IgnoreLines; }
|
||||
set { _IgnoreLines = value; }
|
||||
}
|
||||
}
|
||||
public BindingList<string> IgnoreLines { get; set; }
|
||||
}
|
||||
public partial class FindFile
|
||||
{
|
||||
private string _File1;
|
||||
public string File1
|
||||
{
|
||||
get { return _File1; }
|
||||
set { _File1 = value; }
|
||||
}
|
||||
private string _File2;
|
||||
public string File2
|
||||
{
|
||||
get { return _File2; }
|
||||
set { _File2 = value; }
|
||||
}
|
||||
public FindFile(string file1, string file2)
|
||||
public string File1 { get; set; }
|
||||
public string File2 { get; set; }
|
||||
public FindFile(string file1, string file2)
|
||||
{
|
||||
File1 = file1;
|
||||
File2 = file2;
|
||||
@@ -787,24 +839,23 @@ namespace Baseline
|
||||
}
|
||||
public partial class FindFiles : List<FindFile>
|
||||
{
|
||||
private string _FileName;
|
||||
public string FileName
|
||||
{
|
||||
get { return _FileName; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Build list of DocVersion Folders with differences
|
||||
/// </summary>
|
||||
/// <param name="path1">Base path</param>
|
||||
/// <param name="path2">Compare path</param>
|
||||
/// <param name="fileName">filename</param>
|
||||
/// <param name="myIgnore">Ignore list</param>
|
||||
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore)
|
||||
private readonly string _FileName;
|
||||
|
||||
public string FileName => _FileName;
|
||||
|
||||
/// <summary>
|
||||
/// Build list of DocVersion Folders with differences
|
||||
/// </summary>
|
||||
/// <param name="path1">Base path</param>
|
||||
/// <param name="path2">Compare path</param>
|
||||
/// <param name="fileName">filename</param>
|
||||
/// <param name="myIgnore">Ignore list</param>
|
||||
public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore, bool TruncatedDataFg)
|
||||
{
|
||||
DirectoryInfo di1 = new DirectoryInfo(path1);
|
||||
DirectoryInfo di2 = new DirectoryInfo(path2);
|
||||
_FileName = fileName;
|
||||
FillByCompare(di1, di2, fileName, myIgnore);
|
||||
FillByCompare(di1, di2, fileName, myIgnore, TruncatedDataFg);
|
||||
}
|
||||
/// <summary>
|
||||
/// Fill for a search
|
||||
@@ -815,12 +866,12 @@ namespace Baseline
|
||||
/// <param name="searchText"></param>
|
||||
/// <param name="searchType"></param>
|
||||
/// <param name="caseSensitive"></param>
|
||||
public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive)
|
||||
public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool useTruncatedData)
|
||||
{
|
||||
DirectoryInfo di1 = new DirectoryInfo(path1);
|
||||
DirectoryInfo di2 = new DirectoryInfo(path2);
|
||||
_FileName = fileName;
|
||||
FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive);
|
||||
FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive, useTruncatedData);
|
||||
}
|
||||
/// <summary>
|
||||
/// Fill results by search
|
||||
@@ -831,13 +882,13 @@ namespace Baseline
|
||||
/// <param name="searchText"></param>
|
||||
/// <param name="searchType"></param>
|
||||
/// <param name="caseSensitive"></param>
|
||||
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive)
|
||||
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool UseTruncatedData)
|
||||
{
|
||||
foreach (DirectoryInfo diChild1 in di1.GetDirectories())
|
||||
{
|
||||
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
|
||||
if (diChild2.Exists)
|
||||
FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive);
|
||||
FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive, UseTruncatedData);
|
||||
}
|
||||
foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
|
||||
{
|
||||
@@ -911,27 +962,49 @@ namespace Baseline
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore)
|
||||
private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore, bool isTruncatedChecked = false)
|
||||
{
|
||||
foreach (DirectoryInfo diChild1 in di1.GetDirectories())
|
||||
foreach (DirectoryInfo diChild1 in di1.GetDirectories())
|
||||
{
|
||||
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
|
||||
DirectoryInfo diChild2 = new DirectoryInfo(Path.Combine(di2.FullName, diChild1.Name));
|
||||
if (diChild2.Exists)
|
||||
FillByCompare(diChild1, diChild2, fileName,myIgnore);// Recursively work on Sub-Folders
|
||||
FillByCompare(diChild1, diChild2, fileName,myIgnore, isTruncatedChecked);// Recursively work on Sub-Folders
|
||||
}
|
||||
foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
|
||||
{
|
||||
FileInfo fiChild2 = new FileInfo(di2.FullName + "\\" + fiChild1.Name);
|
||||
if (fiChild2.Exists)
|
||||
FileInfo fiChild2 = new FileInfo(Path.Combine(di2.FullName, fiChild1.Name));
|
||||
FileInfo fiChild1_truncated = new FileInfo(fiChild1.FullName.Replace(".txt", "_Truncated.txt"));
|
||||
FileInfo fiChild2_truncated = new FileInfo(fiChild2.FullName.Replace(".txt", "_Truncated.txt"));
|
||||
|
||||
//truncate checked and both files exist
|
||||
if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2_truncated.Exists)
|
||||
{
|
||||
if (CompareFile(fiChild1, fiChild2,myIgnore))
|
||||
Add(new FindFile(fiChild1.FullName, fiChild2.FullName));// Process Each File
|
||||
if (CompareFile(fiChild1_truncated, fiChild2_truncated, myIgnore))
|
||||
Add(new FindFile(fiChild1_truncated.FullName, fiChild2_truncated.FullName));
|
||||
}
|
||||
//truncate checked and only file 1 truncate files exist
|
||||
else if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2.Exists)
|
||||
{
|
||||
if (CompareFile(fiChild1_truncated, fiChild2, myIgnore))
|
||||
Add(new FindFile(fiChild1_truncated.FullName, fiChild2.FullName));
|
||||
}
|
||||
//truncate checked and only file 2 truncate files exist
|
||||
else if (isTruncatedChecked && fiChild2_truncated.Exists)
|
||||
{
|
||||
if (CompareFile(fiChild1, fiChild2_truncated, myIgnore))
|
||||
Add(new FindFile(fiChild1.FullName, fiChild2_truncated.FullName));
|
||||
}
|
||||
//truncated not checked or truncate files dont exist
|
||||
else if (fiChild2.Exists)
|
||||
{
|
||||
if (CompareFile(fiChild1, fiChild2, myIgnore))
|
||||
Add(new FindFile(fiChild1.FullName, fiChild2.FullName));
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool CompareFile(FileInfo fiChild1, FileInfo fiChild2,IgnoreLines myIgnore)
|
||||
{
|
||||
if (fiChild1.Name == "DebugMeta.txt")
|
||||
if (fiChild1.Name == "DebugMeta.txt" || fiChild1.Name == "DebugMeta_Truncated.txt")
|
||||
{
|
||||
IEnumerable<string> lines1 = ReadFilteredLines(fiChild1.FullName, false, myIgnore);//LINQ Read lines without ignored lines
|
||||
IEnumerable<string> lines2 = ReadFilteredLines(fiChild2.FullName, false, myIgnore);//LINQ Read lines without ignored lines
|
||||
@@ -1025,34 +1098,16 @@ namespace Baseline
|
||||
// Text - the line of text
|
||||
public partial class Procedure
|
||||
{
|
||||
private string _Number;
|
||||
public string Number
|
||||
public string Number { get; set; }
|
||||
public string Title { get; set; }
|
||||
public Pages MyPages { get; set; } = new Pages();
|
||||
public Procedure(string number, string title)
|
||||
{
|
||||
get { return _Number; }
|
||||
set { _Number = value; }
|
||||
Number = number;
|
||||
Title = title;
|
||||
}
|
||||
private string _Title;
|
||||
public string Title
|
||||
{
|
||||
get { return _Title; }
|
||||
set { _Title = value; }
|
||||
}
|
||||
private Pages _MyPages = new Pages();
|
||||
public Pages MyPages
|
||||
{
|
||||
get { return _MyPages; }
|
||||
set { _MyPages = value; }
|
||||
}
|
||||
public Procedure(string number, string title)
|
||||
{
|
||||
_Number = number;
|
||||
_Title = title;
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0} - {1}", Number, Title);
|
||||
}
|
||||
}
|
||||
public override string ToString() => string.Format("{0} - {1}", Number, Title);
|
||||
}
|
||||
public partial class Procedures : List<Procedure>
|
||||
{
|
||||
// Sample data for a Procedure Number line
|
||||
@@ -1083,77 +1138,34 @@ namespace Baseline
|
||||
}
|
||||
public partial class Page
|
||||
{
|
||||
private int _Number;
|
||||
public int Number
|
||||
{
|
||||
get { return _Number; }
|
||||
set { _Number = value; }
|
||||
}
|
||||
private Lines _MyLines = new Lines();
|
||||
public int Number { get; set; }
|
||||
|
||||
public Lines MyLines
|
||||
{
|
||||
get { return _MyLines; }
|
||||
set { _MyLines = value; }
|
||||
}
|
||||
public Page(int number)
|
||||
{
|
||||
_Number = number;
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("Page {0}", Number);
|
||||
}
|
||||
}
|
||||
public Lines MyLines { get; set; } = new Lines();
|
||||
public Page(int number) => Number = number;
|
||||
public override string ToString() => string.Format("Page {0}", Number);
|
||||
}
|
||||
public partial class Pages : List<Page>
|
||||
{
|
||||
public void Add(int number)
|
||||
{
|
||||
Add(new Page(number));
|
||||
}
|
||||
}
|
||||
public void Add(int number) => Add(new Page(number));
|
||||
}
|
||||
public partial class Line
|
||||
{
|
||||
private Procedure _MyProc;
|
||||
public Procedure MyProc
|
||||
public Procedure MyProc { get; set; }
|
||||
public Page MyPage { get; set; }
|
||||
public string Text { get; set; }
|
||||
public Line(string text) => Text = text;
|
||||
public Line(string text, Procedure myProc, Page myPage)
|
||||
{
|
||||
get { return _MyProc; }
|
||||
set { _MyProc = value; }
|
||||
Text = text;
|
||||
MyProc = myProc;
|
||||
MyPage = myPage;
|
||||
}
|
||||
private Page _MyPage;
|
||||
public Page MyPage
|
||||
{
|
||||
get { return _MyPage; }
|
||||
set { _MyPage = value; }
|
||||
}
|
||||
private string _Text;
|
||||
public string Text
|
||||
{
|
||||
get { return _Text; }
|
||||
set { _Text = value; }
|
||||
}
|
||||
public Line(string text)
|
||||
{
|
||||
_Text = text;
|
||||
}
|
||||
public Line(string text, Procedure myProc, Page myPage)
|
||||
{
|
||||
_Text = text;
|
||||
_MyProc = myProc;
|
||||
_MyPage = myPage;
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return Text;
|
||||
}
|
||||
}
|
||||
public override string ToString() => Text;
|
||||
}
|
||||
public partial class Lines : List<Line>
|
||||
{
|
||||
public void Add(string text)
|
||||
{
|
||||
Add(new Line(text));
|
||||
}
|
||||
}
|
||||
public void Add(string text) => Add(new Line(text));
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IgnoreLine
|
||||
{
|
||||
@@ -1191,21 +1203,12 @@ namespace Baseline
|
||||
public IgnoreLines()
|
||||
{
|
||||
}
|
||||
public void Add(string text, Relation searchType, bool active)
|
||||
{
|
||||
Add(new IgnoreLine(text, searchType, active));
|
||||
}
|
||||
// Convert IgnoreLines to string (XML)
|
||||
public override string ToString()
|
||||
{
|
||||
return GenericSerializer<IgnoreLines>.StringSerialize(this);
|
||||
}
|
||||
// Convert string to IgnoreLines
|
||||
public static IgnoreLines Get(string xml)
|
||||
{
|
||||
return GenericSerializer<IgnoreLines>.StringDeserialize(xml);
|
||||
}
|
||||
}
|
||||
public void Add(string text, Relation searchType, bool active) => Add(new IgnoreLine(text, searchType, active));
|
||||
// Convert IgnoreLines to string (XML)
|
||||
public override string ToString() => GenericSerializer<IgnoreLines>.StringSerialize(this);
|
||||
// Convert string to IgnoreLines
|
||||
public static IgnoreLines Get(string xml) => GenericSerializer<IgnoreLines>.StringDeserialize(xml);
|
||||
}
|
||||
/// <summary>
|
||||
/// This is a simple serializer that takes a class and converts it to and from string (XML)
|
||||
/// </summary>
|
||||
@@ -1233,7 +1236,7 @@ namespace Baseline
|
||||
string ss = s.Replace("encoding=\"utf-16\"", "");
|
||||
XmlSerializer xs = new XmlSerializer(typeof(T));
|
||||
UTF8Encoding enc = new UTF8Encoding();
|
||||
Byte[] arrBytData = enc.GetBytes(ss);
|
||||
byte[] arrBytData = enc.GetBytes(ss);
|
||||
using (MemoryStream ms = new MemoryStream(arrBytData))
|
||||
{
|
||||
t = (T)xs.Deserialize(ms);
|
||||
@@ -1247,12 +1250,9 @@ namespace Baseline
|
||||
public class NonXsiTextWriter : XmlTextWriter
|
||||
{
|
||||
public NonXsiTextWriter(TextWriter w) : base(w) { }
|
||||
public NonXsiTextWriter(Stream w, Encoding encoding)
|
||||
: base(w, encoding)
|
||||
{
|
||||
this.Formatting = Formatting.Indented;
|
||||
}
|
||||
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
|
||||
public NonXsiTextWriter(Stream w, Encoding encoding)
|
||||
: base(w, encoding) => Formatting = Formatting.Indented;
|
||||
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
|
||||
bool _skip = false;
|
||||
public override void WriteStartAttribute(string prefix, string localName, string ns)
|
||||
{
|
||||
@@ -1294,32 +1294,16 @@ namespace Baseline
|
||||
public const short SWP_NOZORDER = 0X4;
|
||||
public const int SWP_SHOWWINDOW = 0x0040;
|
||||
|
||||
private System.Diagnostics.Process _Process;
|
||||
|
||||
public System.Diagnostics.Process Process
|
||||
{
|
||||
get { return _Process; }
|
||||
set { _Process = value; }
|
||||
}
|
||||
private int _X;
|
||||
public int X
|
||||
{
|
||||
get { return _X; }
|
||||
set { _X = value; }
|
||||
}
|
||||
private int _Y;
|
||||
public int Y
|
||||
{
|
||||
get { return _Y; }
|
||||
set { _Y = value; }
|
||||
}
|
||||
public ProcessLocation(System.Diagnostics.Process process, int x, int y)
|
||||
public System.Diagnostics.Process Process { get; set; }
|
||||
public int X { get; set; }
|
||||
public int Y { get; set; }
|
||||
public ProcessLocation(System.Diagnostics.Process process, int x, int y)
|
||||
{
|
||||
Process = process;
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
private static Boolean FoxitSettingInfo = true;
|
||||
private static bool FoxitSettingInfo = true;
|
||||
|
||||
/// <summary>
|
||||
/// MoveIt() moves the window containing the PDF viewer to the right so the two pdf viewer windows will not overlap.
|
||||
@@ -1340,11 +1324,8 @@ namespace Baseline
|
||||
}
|
||||
public class ProcessLocationQueue: Queue<ProcessLocation>
|
||||
{
|
||||
public void Add(System.Diagnostics.Process process, int x, int y)
|
||||
{
|
||||
Enqueue(new ProcessLocation(process,x,y));
|
||||
}
|
||||
public void ProcessNext()
|
||||
public void Add(System.Diagnostics.Process process, int x, int y) => Enqueue(new ProcessLocation(process, x, y));
|
||||
public void ProcessNext()
|
||||
{
|
||||
ProcessLocation pl = Dequeue();
|
||||
pl.MoveIt();
|
||||
|
||||
@@ -120,9 +120,6 @@
|
||||
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>306, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>306, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fbd.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
|
||||
@@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Baseline
|
||||
@@ -19,17 +12,7 @@ namespace Baseline
|
||||
set {
|
||||
_MyIgnore = value;
|
||||
dgv.DataSource=null;
|
||||
//dgvcSearchType.ValueType = typeof(Relation);
|
||||
//dgvcSearchType.ValueMember = "Value";
|
||||
//dgvcSearchType.DisplayMember = "Display";
|
||||
//dgvcSearchType.DataSource = new Relation[] { Relation.Contains, Relation.StartsWith, Relation.EndsWith, Relation.Regex }
|
||||
//.Select(x => new { Display = x.ToString(), Value = x })
|
||||
//.ToList();
|
||||
dgv.DataSource=value;
|
||||
//dgvcSearchType.DataSource =
|
||||
//new List<Relation>((Relation[]) Enum.GetValues(typeof(Relation)))
|
||||
//.Select(x => new { Display=x.ToString(), Value=(int)x })
|
||||
//.ToList();;
|
||||
}
|
||||
}
|
||||
public frmSettings(IgnoreLines myIgnore)
|
||||
@@ -46,19 +29,16 @@ namespace Baseline
|
||||
col.ValueType = typeof(Relation);
|
||||
}
|
||||
|
||||
private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
|
||||
private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e) => Console.WriteLine("Here");
|
||||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
Console.WriteLine("Here");
|
||||
}
|
||||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.Close();
|
||||
DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.Close();
|
||||
DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
@ECHO OFF
|
||||
if not exist g:\ goto :NoGDrive
|
||||
if "%1" NEQ "" goto :passedparam
|
||||
set /p DBNAME=Restore Database[%_DBNAME_TOG%]: || set DBNAME=%_DBNAME_TOG%
|
||||
SETX _DBNAME_TOG %DBNAME%
|
||||
goto :paramdone
|
||||
:passedparam
|
||||
set DBNAME=%1
|
||||
:paramdone
|
||||
xcopy C:\Development\Proms\Formats\fmtall\. c:\development\fmtall /Y
|
||||
if ERRORLEVEL 1 GOTO :OOPS
|
||||
xcopy c:\Development\Proms\Formats\genmacall\. c:\development\genmacall /Y
|
||||
if ERRORLEVEL 1 GOTO :OOPS
|
||||
for /F "tokens=1" %%i in ('"DIR /B /OD G:\Backup2008\%DBNAME%\*.bak"') DO SET _FileName=G:\Backup2008\%DBNAME%\%%i
|
||||
ECHO Copy Formats "%_FileName%" to VEPROMS_G%DBNAME%
|
||||
"C:\Development\Proms\VEPROMS User Interface\bin\Debug\VEPROMS.exe" /UF=C:\Development /P= /DB=._SQL2008Express:VEPROMS_G%DBNAME%
|
||||
if ERRORLEVEL 1 GOTO :OOPS
|
||||
ECHO Restored "%_FileName%" to VEPROMS_G%DBNAME%
|
||||
timeout /T 10
|
||||
goto :eof
|
||||
:NoGDrive
|
||||
Echo No G Drive
|
||||
:oops
|
||||
@ECHO ON
|
||||
Pause
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 318 B |
@@ -1,154 +0,0 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
#include "..\version.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TYPELIB
|
||||
//
|
||||
#ifdef _DEBUG
|
||||
IDR_TYPELIB TYPELIB DISCARDABLE "..\\Debug\\dsoframer.tlb"
|
||||
#else
|
||||
IDR_TYPELIB TYPELIB DISCARDABLE "..\\Release\\dsoframer.tlb"
|
||||
#endif // _DEBUG
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION DSOFRAMERCTL_VERSION_MAJOR,DSOFRAMERCTL_VERSION_MINOR,DSOFRAMERCTL_VERSION_BUILD,0
|
||||
PRODUCTVERSION DSOFRAMERCTL_VERSION_MAJOR,DSOFRAMERCTL_VERSION_MINOR,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments", "UNSUPPORTED BY MICROSOFT\0"
|
||||
VALUE "CompanyName", "Your Company\0"
|
||||
VALUE "FileDescription", "Your Company's Office Framer Control Sample\0"
|
||||
VALUE "FileVersion", DSOFRAMERCTL_VERSIONSTRFULL "\0"
|
||||
VALUE "OriginalFilename", "dsoframer.ocx\0"
|
||||
VALUE "ProductName", "DSOFRAMER\0"
|
||||
VALUE "ProductVersion", DSOFRAMERCTL_VERSIONSTR "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
IDB_TOOLBOX BITMAP DISCARDABLE "toolbox.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_SMALLOFFDOC ICON DISCARDABLE "dso.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
RES_DSO_E_UNKNOWN "An unknown problem has occurred."
|
||||
RES_DSO_E_INVALIDPROGID "The ProgID/Template could not be found or is not associated with a COM server."
|
||||
RES_DSO_E_INVALIDSERVER "The associated COM server does not support ActiveX Document embedding."
|
||||
RES_DSO_E_COMMANDNOTSUPPORTED
|
||||
"The command is not supported by the document server."
|
||||
RES_DSO_E_DOCUMENTREADONLY
|
||||
"Unable to perform action because document was opened in read-only mode."
|
||||
RES_DSO_E_REQUIRESMSDAIPP
|
||||
"The Microsoft Internet Publishing Provider is not installed, so the URL document cannot be open for write access."
|
||||
RES_DSO_E_DOCUMENTNOTOPEN "No document is open to perform the operation requested."
|
||||
RES_DSO_E_INMODALSTATE "Cannot access document when in modal condition."
|
||||
RES_DSO_E_NOTBEENSAVED "Cannot Save file without a file path."
|
||||
RES_DSO_E_FRAMEHOOKFAILED "Unable to set frame hook for the parent window."
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by dsoframer.rc
|
||||
//
|
||||
#define IDR_TYPELIB 1
|
||||
#define RES_DSO_E_UNKNOWN 1
|
||||
#define RES_DSO_E_INVALIDPROGID 2
|
||||
#define RES_DSO_E_INVALIDSERVER 3
|
||||
#define RES_DSO_E_COMMANDNOTSUPPORTED 4
|
||||
#define RES_DSO_E_DOCUMENTREADONLY 5
|
||||
#define RES_DSO_E_REQUIRESMSDAIPP 6
|
||||
#define RES_DSO_E_DOCUMENTNOTOPEN 7
|
||||
#define RES_DSO_E_INMODALSTATE 8
|
||||
#define RES_DSO_E_NOTBEENSAVED 9
|
||||
#define RES_DSO_E_FRAMEHOOKFAILED 10
|
||||
#define IDB_TOOLBOX 102
|
||||
#define IDB_TOOLBAR 103
|
||||
#define IDR_BINDMENU 104
|
||||
#define IDI_SMALLOFFDOC 105
|
||||
#define MNU_NEW 40001
|
||||
#define MNU_OPEN 40002
|
||||
#define MNU_CLOSE 40003
|
||||
#define MNU_SAVE 40004
|
||||
#define MNU_SAVEAS 40005
|
||||
#define MNU_PGSETUP 40006
|
||||
#define MNU_PRINT 40007
|
||||
#define MNU_PROPS 40008
|
||||
#define MNU_PRINTPV 40009
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 107
|
||||
#define _APS_NEXT_COMMAND_VALUE 40011
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 334 B |
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
|
||||
<Properties><Property Name="Solution" Value="dsoframer">
|
||||
</Property><Property Name="Solution File" Value="C:\DsoFramer13\Source2005\dsoframer.sln">
|
||||
</Property><Property Name="User Options File" Value="C:\DsoFramer13\Source2005\dsoframer.suo">
|
||||
</Property><Property Name="Date" Value="Monday, October 22, 2007">
|
||||
</Property><Property Name="Time" Value="15:21 PM">
|
||||
</Property></Properties><Event ErrorLevel="0" Project="" Source="dsoframer.sln" Description="File successfully backed up as C:\DsoFramer13\Source2005\dsoframer.sln.old">
|
||||
</Event><Event ErrorLevel="0" Project="" Source="dsoframer.suo" Description="File successfully backed up as C:\DsoFramer13\Source2005\dsoframer.suo.old">
|
||||
</Event><Event ErrorLevel="0" Project="dsoframer" Source="dsoframer.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
|
||||
</Event><Event ErrorLevel="0" Project="dsoframer" Source="dsoframer.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
|
||||
</Event><Event ErrorLevel="0" Project="dsoframer" Source="dsoframer.vcproj" Description="The single-threaded run-time library switches (/MLd, /ML) have been removed from the C++ compiler. The project has been automatically converted to use the corresponding multi-threaded run-time library switches (/MTd, /MT).">
|
||||
</Event><Event ErrorLevel="1" Project="dsoframer" Source="dsoframer.vcproj" Description="The C/C++ compiler switch /YX is lo longer supported. /YX has been removed from your project settings.">
|
||||
</Event><Event ErrorLevel="1" Project="dsoframer" Source="dsoframer.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
|
||||
</Event><Event ErrorLevel="1" Project="dsoframer" Source="dsoframer.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
|
||||
</Event><Event ErrorLevel="0" Project="dsoframer" Source="dsoframer.vcproj" Description="Project file successfully backed up as 'C:\DsoFramer13\Source2005\dsoframer.vcproj.7.10.old'.">
|
||||
</Event><Event ErrorLevel="0" Project="dsoframer" Source="dsoframer.vcproj" Description="Project upgraded successfully.">
|
||||
</Event><Event ErrorLevel="3" Project="dsoframer" Source="dsoframer.vcproj" Description="Converted">
|
||||
</Event><Event ErrorLevel="0" Project="" Source="dsoframer.sln" Description="Solution converted successfully">
|
||||
</Event><Event ErrorLevel="3" Project="" Source="dsoframer.sln" Description="Converted">
|
||||
</Event></UpgradeLog>
|
||||
@@ -1,207 +0,0 @@
|
||||
BODY
|
||||
{
|
||||
BACKGROUND-COLOR: white;
|
||||
FONT-FAMILY: "Verdana", sans-serif;
|
||||
FONT-SIZE: 100%;
|
||||
MARGIN-LEFT: 0px;
|
||||
MARGIN-TOP: 0px
|
||||
}
|
||||
P
|
||||
{
|
||||
FONT-FAMILY: "Verdana", sans-serif;
|
||||
FONT-SIZE: 70%;
|
||||
LINE-HEIGHT: 12pt;
|
||||
MARGIN-BOTTOM: 0px;
|
||||
MARGIN-LEFT: 10px;
|
||||
MARGIN-TOP: 10px
|
||||
}
|
||||
.note
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
COLOR: #336699;
|
||||
FONT-FAMILY: "Verdana", sans-serif;
|
||||
FONT-SIZE: 100%;
|
||||
MARGIN-BOTTOM: 0px;
|
||||
MARGIN-LEFT: 0px;
|
||||
MARGIN-TOP: 0px;
|
||||
PADDING-RIGHT: 10px
|
||||
}
|
||||
.infotable
|
||||
{
|
||||
BACKGROUND-COLOR: #f0f0e0;
|
||||
BORDER-BOTTOM: #ffffff 0px solid;
|
||||
BORDER-COLLAPSE: collapse;
|
||||
BORDER-LEFT: #ffffff 0px solid;
|
||||
BORDER-RIGHT: #ffffff 0px solid;
|
||||
BORDER-TOP: #ffffff 0px solid;
|
||||
FONT-SIZE: 70%;
|
||||
MARGIN-LEFT: 10px
|
||||
}
|
||||
.issuetable
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffe8;
|
||||
BORDER-COLLAPSE: collapse;
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 100%;
|
||||
MARGIN-BOTTOM: 10px;
|
||||
MARGIN-LEFT: 13px;
|
||||
MARGIN-TOP: 0px
|
||||
}
|
||||
.issuetitle
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
BORDER-BOTTOM: #dcdcdc 1px solid;
|
||||
BORDER-TOP: #dcdcdc 1px;
|
||||
COLOR: #003366;
|
||||
FONT-WEIGHT: normal
|
||||
}
|
||||
.header
|
||||
{
|
||||
BACKGROUND-COLOR: #cecf9c;
|
||||
BORDER-BOTTOM: #ffffff 1px solid;
|
||||
BORDER-LEFT: #ffffff 1px solid;
|
||||
BORDER-RIGHT: #ffffff 1px solid;
|
||||
BORDER-TOP: #ffffff 1px solid;
|
||||
COLOR: #000000;
|
||||
FONT-WEIGHT: bold
|
||||
}
|
||||
.issuehdr
|
||||
{
|
||||
BACKGROUND-COLOR: #E0EBF5;
|
||||
BORDER-BOTTOM: #dcdcdc 1px solid;
|
||||
BORDER-TOP: #dcdcdc 1px solid;
|
||||
COLOR: #000000;
|
||||
FONT-WEIGHT: normal
|
||||
}
|
||||
.issuenone
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
BORDER-BOTTOM: 0px;
|
||||
BORDER-LEFT: 0px;
|
||||
BORDER-RIGHT: 0px;
|
||||
BORDER-TOP: 0px;
|
||||
COLOR: #000000;
|
||||
FONT-WEIGHT: normal
|
||||
}
|
||||
.content
|
||||
{
|
||||
BACKGROUND-COLOR: #e7e7ce;
|
||||
BORDER-BOTTOM: #ffffff 1px solid;
|
||||
BORDER-LEFT: #ffffff 1px solid;
|
||||
BORDER-RIGHT: #ffffff 1px solid;
|
||||
BORDER-TOP: #ffffff 1px solid;
|
||||
PADDING-LEFT: 3px
|
||||
}
|
||||
.issuecontent
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
BORDER-BOTTOM: #dcdcdc 1px solid;
|
||||
BORDER-TOP: #dcdcdc 1px solid;
|
||||
PADDING-LEFT: 3px
|
||||
}
|
||||
A:link
|
||||
{
|
||||
COLOR: #cc6633;
|
||||
TEXT-DECORATION: underline
|
||||
}
|
||||
A:visited
|
||||
{
|
||||
COLOR: #cc6633;
|
||||
}
|
||||
A:active
|
||||
{
|
||||
COLOR: #cc6633;
|
||||
}
|
||||
A:hover
|
||||
{
|
||||
COLOR: #cc3300;
|
||||
TEXT-DECORATION: underline
|
||||
}
|
||||
H1
|
||||
{
|
||||
BACKGROUND-COLOR: #003366;
|
||||
BORDER-BOTTOM: #336699 6px solid;
|
||||
COLOR: #ffffff;
|
||||
FONT-SIZE: 130%;
|
||||
FONT-WEIGHT: normal;
|
||||
MARGIN: 0em 0em 0em -20px;
|
||||
PADDING-BOTTOM: 8px;
|
||||
PADDING-LEFT: 30px;
|
||||
PADDING-TOP: 16px
|
||||
}
|
||||
H2
|
||||
{
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 80%;
|
||||
FONT-WEIGHT: bold;
|
||||
MARGIN-BOTTOM: 3px;
|
||||
MARGIN-LEFT: 10px;
|
||||
MARGIN-TOP: 20px;
|
||||
PADDING-LEFT: 0px
|
||||
}
|
||||
H3
|
||||
{
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 80%;
|
||||
FONT-WEIGHT: bold;
|
||||
MARGIN-BOTTOM: -5px;
|
||||
MARGIN-LEFT: 10px;
|
||||
MARGIN-TOP: 20px
|
||||
}
|
||||
H4
|
||||
{
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 70%;
|
||||
FONT-WEIGHT: bold;
|
||||
MARGIN-BOTTOM: 0px;
|
||||
MARGIN-TOP: 15px;
|
||||
PADDING-BOTTOM: 0px
|
||||
}
|
||||
UL
|
||||
{
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 70%;
|
||||
LIST-STYLE: square;
|
||||
MARGIN-BOTTOM: 0pt;
|
||||
MARGIN-TOP: 0pt
|
||||
}
|
||||
OL
|
||||
{
|
||||
COLOR: #000000;
|
||||
FONT-SIZE: 70%;
|
||||
LIST-STYLE: square;
|
||||
MARGIN-BOTTOM: 0pt;
|
||||
MARGIN-TOP: 0pt
|
||||
}
|
||||
LI
|
||||
{
|
||||
LIST-STYLE: square;
|
||||
MARGIN-LEFT: 0px
|
||||
}
|
||||
.expandable
|
||||
{
|
||||
CURSOR: hand
|
||||
}
|
||||
.expanded
|
||||
{
|
||||
color: black
|
||||
}
|
||||
.collapsed
|
||||
{
|
||||
DISPLAY: none
|
||||
}
|
||||
.foot
|
||||
{
|
||||
BACKGROUND-COLOR: #ffffff;
|
||||
BORDER-BOTTOM: #cecf9c 1px solid;
|
||||
BORDER-TOP: #cecf9c 2px solid
|
||||
}
|
||||
.settings
|
||||
{
|
||||
MARGIN-LEFT: 25PX;
|
||||
}
|
||||
.help
|
||||
{
|
||||
TEXT-ALIGN: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
@@ -1,232 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl='urn:schemas-microsoft-com:xslt'>
|
||||
|
||||
<xsl:key name="ProjectKey" match="Event" use="@Project" />
|
||||
|
||||
<xsl:template match="Events" mode="createProjects">
|
||||
<projects>
|
||||
<xsl:for-each select="Event">
|
||||
<!--xsl:sort select="@Project" order="descending"/-->
|
||||
<xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)">
|
||||
|
||||
<xsl:variable name="ProjectName" select="@Project"/>
|
||||
|
||||
<project>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:value-of select="@Project"/>
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:if test="@Project=''">
|
||||
<xsl:attribute name="solution">
|
||||
<xsl:value-of select="@Solution"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="key('ProjectKey', $ProjectName)">
|
||||
<!--xsl:sort select="@Source" /-->
|
||||
<xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)">
|
||||
|
||||
<source>
|
||||
<xsl:attribute name="name">
|
||||
<xsl:value-of select="@Source"/>
|
||||
</xsl:attribute>
|
||||
|
||||
<xsl:variable name="Source">
|
||||
<xsl:value-of select="@Source"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]">
|
||||
|
||||
<event>
|
||||
<xsl:attribute name="error-level">
|
||||
<xsl:value-of select="@ErrorLevel"/>
|
||||
</xsl:attribute>
|
||||
<xsl:attribute name="description">
|
||||
<xsl:value-of select="@Description"/>
|
||||
</xsl:attribute>
|
||||
</event>
|
||||
</xsl:for-each>
|
||||
</source>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
</project>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</projects>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="projects">
|
||||
<xsl:for-each select="project">
|
||||
<xsl:sort select="@Name" order="ascending"/>
|
||||
<h2>
|
||||
<xsl:if test="@solution">Solution: <xsl:value-of select="@solution"/></xsl:if>
|
||||
<xsl:if test="not(@solution)">Project: <xsl:value-of select="@name"/>
|
||||
<xsl:for-each select="source">
|
||||
<xsl:variable name="Hyperlink" select="@name"/>
|
||||
<xsl:for-each select="event[@error-level='4']">
|
||||
 <A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</h2>
|
||||
|
||||
<table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable">
|
||||
<tr>
|
||||
<td nowrap="1" class="header" _locID="Filename">Filename</td>
|
||||
<td nowrap="1" class="header" _locID="Status">Status</td>
|
||||
<td nowrap="1" class="header" _locID="Errors">Errors</td>
|
||||
<td nowrap="1" class="header" _locID="Warnings">Warnings</td>
|
||||
</tr>
|
||||
|
||||
<xsl:for-each select="source">
|
||||
<xsl:sort select="@name" order="ascending"/>
|
||||
<xsl:variable name="source-id" select="generate-id(.)"/>
|
||||
|
||||
<xsl:if test="count(event)!=count(event[@error-level='4'])">
|
||||
|
||||
<tr class="row">
|
||||
<td class="content">
|
||||
<A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" alt="expand/collapse section" class="expandable" height="11" onclick="changepic()" src="_UpgradeReport_Files/UpgradeReport_Plus.gif" width="9" ><xsl:attribute name="name"><xsl:value-of select="$source-id"/></xsl:attribute><xsl:attribute name="child">src<xsl:value-of select="$source-id"/></xsl:attribute></IMG></A> <xsl:value-of select="@name"/>
|
||||
</td>
|
||||
<td class="content">
|
||||
<xsl:if test="count(event[@error-level='3'])=1">
|
||||
<xsl:for-each select="event[@error-level='3']">
|
||||
<xsl:if test="@description='Converted'">Converted</xsl:if>
|
||||
<xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
<xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0">Converted
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td>
|
||||
<td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td>
|
||||
</tr>
|
||||
|
||||
<tr class="collapsed" bgcolor="#ffffff">
|
||||
<xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute>
|
||||
|
||||
<td colspan="7">
|
||||
<table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable">
|
||||
<tr>
|
||||
<td colspan="7" class="issuetitle" _locID="ConversionIssues">Conversion Issues - <xsl:value-of select="@name"/>:</td>
|
||||
</tr>
|
||||
|
||||
<xsl:for-each select="event[@error-level!='3']">
|
||||
<xsl:if test="@error-level!='4'">
|
||||
<tr>
|
||||
<td class="issuenone" style="border-bottom:solid 1 lightgray">
|
||||
<xsl:value-of select="@description"/>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
<tr valign="top">
|
||||
<td class="foot">
|
||||
<xsl:if test="count(source)!=1">
|
||||
<xsl:value-of select="count(source)"/> files
|
||||
</xsl:if>
|
||||
<xsl:if test="count(source)=1">
|
||||
1 file
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td class="foot">
|
||||
Converted: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR />
|
||||
Not converted <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/>
|
||||
</td>
|
||||
<td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td>
|
||||
<td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="Property">
|
||||
<xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'">
|
||||
<tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="UpgradeLog">
|
||||
<html>
|
||||
<head>
|
||||
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css" />
|
||||
<title>Conversion Report 
|
||||
<xsl:if test="Properties/Property[@Name='LogNumber']">
|
||||
<xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/>
|
||||
</xsl:if>
|
||||
</title>
|
||||
<script language="javascript">
|
||||
function outliner () {
|
||||
oMe = window.event.srcElement
|
||||
//get child element
|
||||
var child = document.all[event.srcElement.getAttribute("child",false)];
|
||||
//if child element exists, expand or collapse it.
|
||||
if (null != child)
|
||||
child.className = child.className == "collapsed" ? "expanded" : "collapsed";
|
||||
}
|
||||
|
||||
function changepic() {
|
||||
uMe = window.event.srcElement;
|
||||
var check = uMe.src.toLowerCase();
|
||||
if (check.lastIndexOf("upgradereport_plus.gif") != -1)
|
||||
{
|
||||
uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif"
|
||||
}
|
||||
else
|
||||
{
|
||||
uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();">
|
||||
<h1 _locID="ConversionReport">Conversion Report - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1>
|
||||
|
||||
<p><span class="note">
|
||||
<b>Time of Conversion:</b>  <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/>  <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/>
|
||||
</span></p>
|
||||
|
||||
<xsl:variable name="SortedEvents">
|
||||
<Events>
|
||||
<xsl:for-each select="Event">
|
||||
<xsl:sort select="@Project" order="ascending"/>
|
||||
<xsl:sort select="@Source" order="ascending"/>
|
||||
<xsl:sort select="@ErrorLevel" order="ascending"/>
|
||||
<Event>
|
||||
<xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>
|
||||
<xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>
|
||||
<xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>
|
||||
<xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>
|
||||
<xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>
|
||||
</Event>
|
||||
</xsl:for-each>
|
||||
</Events>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="Projects">
|
||||
<xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:apply-templates select="msxsl:node-set($Projects)/*"/>
|
||||
|
||||
<p></p><p>
|
||||
<table class="note">
|
||||
<tr>
|
||||
<td nowrap="1">
|
||||
<b>Conversion Settings</b>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:apply-templates select="Properties"/>
|
||||
</table></p>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 69 B |
Binary file not shown.
|
Before Width: | Height: | Size: 71 B |
@@ -1,118 +0,0 @@
|
||||
/***************************************************************************
|
||||
* CLASSFACTORY.CPP
|
||||
*
|
||||
* CDsoFramerClassFactory: The Class Factroy for the control.
|
||||
*
|
||||
* Copyright ©1999-2004; Microsoft Corporation. All rights reserved.
|
||||
* Written by Microsoft Developer Support Office Integration (PSS DSOI)
|
||||
*
|
||||
* This code is provided via KB 311765 as a sample. It is not a formal
|
||||
* product and has not been tested with all containers or servers. Use it
|
||||
* for educational purposes only. See the EULA.TXT file included in the
|
||||
* KB download for full terms of use and restrictions.
|
||||
*
|
||||
* THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
***************************************************************************/
|
||||
#include "dsoframer.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory - IClassFactory Implementation
|
||||
//
|
||||
// This is a fairly simple CF. We don't provide support for licensing
|
||||
// in this sample because it is just a sample. If licensing is important
|
||||
// you should change the class to support IClassFactory2.
|
||||
//
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory::QueryInterface
|
||||
//
|
||||
STDMETHODIMP CDsoFramerClassFactory::QueryInterface(REFIID riid, void** ppv)
|
||||
{
|
||||
ODS("CDsoFramerClassFactory::QueryInterface\n");
|
||||
CHECK_NULL_RETURN(ppv, E_POINTER);
|
||||
|
||||
if ((IID_IUnknown == riid) || (IID_IClassFactory == riid))
|
||||
{
|
||||
SAFE_SET_INTERFACE(*ppv, (IClassFactory*)this);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*ppv = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory::AddRef
|
||||
//
|
||||
STDMETHODIMP_(ULONG) CDsoFramerClassFactory::AddRef(void)
|
||||
{
|
||||
TRACE1("CDsoFramerClassFactory::AddRef - %d\n", m_cRef+1);
|
||||
return ++m_cRef;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory::Release
|
||||
//
|
||||
STDMETHODIMP_(ULONG) CDsoFramerClassFactory::Release(void)
|
||||
{
|
||||
TRACE1("CDsoFramerClassFactory::Release - %d\n", m_cRef-1);
|
||||
if (0 != --m_cRef) return m_cRef;
|
||||
|
||||
ODS("CDsoFramerClassFactory delete\n");
|
||||
InterlockedDecrement((LPLONG)&v_cLocks);
|
||||
delete this;
|
||||
return 0;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory::CreateInstance
|
||||
//
|
||||
// Creates an instance of our control.
|
||||
//
|
||||
STDMETHODIMP CDsoFramerClassFactory::CreateInstance(LPUNKNOWN punk, REFIID riid, void** ppv)
|
||||
{
|
||||
HRESULT hr;
|
||||
CDsoFramerControl* pocx;
|
||||
IUnknown* pnkInternal;
|
||||
|
||||
ODS("CDsoFramerClassFactory::CreateInstance\n");
|
||||
CHECK_NULL_RETURN(ppv, E_POINTER); *ppv = NULL;
|
||||
|
||||
// Aggregation requires you ask for (internal) IUnknown
|
||||
if ((punk) && (riid != IID_IUnknown))
|
||||
return E_INVALIDARG;
|
||||
|
||||
// Create a new instance of the control...
|
||||
pocx = new CDsoFramerControl(punk);
|
||||
CHECK_NULL_RETURN(pocx, E_OUTOFMEMORY);
|
||||
|
||||
// Grab the internal IUnknown to use for the QI (you don't agg in CF:CreateInstance)...
|
||||
pnkInternal = (IUnknown*)&(pocx->m_xInternalUnknown);
|
||||
|
||||
// Initialize the control (windows, etc.) and QI for requested interface...
|
||||
if (SUCCEEDED(hr = pocx->InitializeNewInstance()) &&
|
||||
SUCCEEDED(hr = pnkInternal->QueryInterface(riid, ppv)))
|
||||
{
|
||||
InterlockedIncrement((LPLONG)&v_cLocks); // on success, bump up the lock count...
|
||||
}
|
||||
else {delete pocx; *ppv = NULL;} // else cleanup the object
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerClassFactory::LockServer
|
||||
//
|
||||
// Keeps the server loaded in memory.
|
||||
//
|
||||
STDMETHODIMP CDsoFramerClassFactory::LockServer(BOOL fLock)
|
||||
{
|
||||
TRACE1("CDsoFramerClassFactory::LockServer - %d\n", fLock);
|
||||
if (fLock) InterlockedIncrement((LPLONG)&v_cLocks);
|
||||
else InterlockedDecrement((LPLONG)&v_cLocks);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,350 +0,0 @@
|
||||
/***************************************************************************
|
||||
* DSOFDOCOBJ.H
|
||||
*
|
||||
* DSOFramer: OLE DocObject Site component (used by the control)
|
||||
*
|
||||
* Copyright ©1999-2004; Microsoft Corporation. All rights reserved.
|
||||
* Written by Microsoft Developer Support Office Integration (PSS DSOI)
|
||||
*
|
||||
* This code is provided via KB 311765 as a sample. It is not a formal
|
||||
* product and has not been tested with all containers or servers. Use it
|
||||
* for educational purposes only. See the EULA.TXT file included in the
|
||||
* KB download for full terms of use and restrictions.
|
||||
*
|
||||
* THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
***************************************************************************/
|
||||
#ifndef DS_DSOFDOCOBJ_H
|
||||
#define DS_DSOFDOCOBJ_H
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Declarations for Interfaces used in DocObject Containment
|
||||
//
|
||||
#include <docobj.h> // Standard DocObjects (common to all AxDocs)
|
||||
#include "ipprevw.h" // PrintPreview (for select Office apps)
|
||||
#include "rbbinder.h" // Internet Publishing (for Web Folder write access)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Microsoft Office 97-2003 Document Object GUIDs
|
||||
//
|
||||
DEFINE_GUID(CLSID_WORD_DOCUMENT_DOC, 0x00020906, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_EXCEL_WORKBOOK_XLS, 0x00020820, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_EXCEL_CHART_XLS, 0x00020821, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_PPT_PRESENTATION_PPT, 0x64818D10, 0x4F9B, 0x11CF, 0x86, 0xEA, 0x00, 0xAA, 0x00, 0xB9, 0x29, 0xE8);
|
||||
DEFINE_GUID(CLSID_VISIO_DRAWING_VSD, 0x00021A13, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_PROJECT_DOCUMENT_MPP, 0x74B78F3A, 0xC8C8, 0x11D1, 0xBE, 0x11, 0x00, 0xC0, 0x4F, 0xB6, 0xFA, 0xF1);
|
||||
DEFINE_GUID(CLSID_MSHTML_DOCUMENT, 0x25336920, 0x03F9, 0x11CF, 0x8F, 0xD0, 0x00, 0xAA, 0x00, 0x68, 0x6F, 0x13);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Microsoft Office 2007 Document GUIDs
|
||||
//
|
||||
DEFINE_GUID(CLSID_WORD_DOCUMENT_DOCX, 0xF4754C9B, 0x64F5, 0x4B40, 0x8A, 0xF4, 0x67, 0x97, 0x32, 0xAC, 0x06, 0x07);
|
||||
DEFINE_GUID(CLSID_WORD_DOCUMENT_DOCM, 0x18A06B6B, 0x2F3F, 0x4E2B, 0xA6, 0x11, 0x52, 0xBE, 0x63, 0x1B, 0x2D, 0x22);
|
||||
DEFINE_GUID(CLSID_EXCEL_WORKBOOK_XLSX, 0x00020830, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_EXCEL_WORKBOOK_XLSM, 0x00020832, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_EXCEL_WORKBOOK_XLSB, 0x00020833, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
|
||||
DEFINE_GUID(CLSID_PPT_PRESENTATION_PPTX, 0xCF4F55F4, 0x8F87, 0x4D47, 0x80, 0xBB, 0x58, 0x08, 0x16, 0x4B, 0xB3, 0xF8);
|
||||
DEFINE_GUID(CLSID_PPT_PRESENTATION_PPTM, 0xDC020317, 0xE6E2, 0x4A62, 0xB9, 0xFA, 0xB3, 0xEF, 0xE1, 0x66, 0x26, 0xF4);
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// IDsoDocObjectSite -- {444CA1F7-B405-4002-95C3-A455BC9F4F55}
|
||||
//
|
||||
// Implemented by control host for callbacks. Required interface.
|
||||
//
|
||||
interface IDsoDocObjectSite : public IServiceProvider
|
||||
{
|
||||
STDMETHOD(GetWindow)(HWND* phWnd) PURE;
|
||||
STDMETHOD(GetBorder)(LPRECT prcBorder) PURE;
|
||||
STDMETHOD(SetStatusText)(LPCOLESTR pszText) PURE;
|
||||
STDMETHOD(GetHostName)(LPWSTR *ppwszHostName) PURE;
|
||||
STDMETHOD(SysMenuCommand)(UINT uiCharCode) PURE;
|
||||
};
|
||||
DEFINE_GUID(IID_IDsoDocObjectSite, 0x444CA1F7, 0xB405, 0x4002, 0x95, 0xC3, 0xA4, 0x55, 0xBC, 0x9F, 0x4F, 0x55);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// CDsoDocObject -- ActiveDocument Container Site Object
|
||||
//
|
||||
// The CDsoDocObject object handles all the DocObject embedding for the
|
||||
// control and os fairly self-contained. Like the control it has its
|
||||
// own window, but it merely acts as a parent for the embedded object
|
||||
// window(s) which it activates.
|
||||
//
|
||||
// CDsoDocObject works by taking a file (or automation object) and
|
||||
// copying out the OLE storage used for its persistent data. It then
|
||||
// creates a new embedding based on the data. If a storage is not
|
||||
// avaiable, it will attempt to oad the file directly, but the results
|
||||
// are less predictable using this manner since DocObjects are embeddings
|
||||
// and not links and this component has limited support for links. As a
|
||||
// result, we will attempt to keep our own storage copy in most cases.
|
||||
//
|
||||
// You should note that this approach is different than one taken by the
|
||||
// web browser control, which is basically a link container which will
|
||||
// try to embed (ip activate) if allowed, but if not it opens the file
|
||||
// externally and keeps the link. If CDsoDocObject cannot embed the object,
|
||||
// it returns an error. It will not open the object external.
|
||||
//
|
||||
// Like the control, this object also uses nested classes for the OLE
|
||||
// interfaces used in the embedding. They are easier to track and easier
|
||||
// to debug if a specific interface is over/under released. Again this was
|
||||
// a design decision to make the sample easier to break apart, but not required.
|
||||
//
|
||||
// Because the object is not tied to the top-level window, it constructs
|
||||
// the OLE merged menu as a set of popup menus which the control then displays
|
||||
// in whatever form it wants. You would need to customize this if you used
|
||||
// the control in a host and wanted the menus to merge with the actual host
|
||||
// menu bar (on the top-level window or form).
|
||||
//
|
||||
class CDsoDocObject : public IUnknown
|
||||
{
|
||||
public:
|
||||
CDsoDocObject();
|
||||
~CDsoDocObject();
|
||||
|
||||
// Static Create Method (Host Provides Site Interface)
|
||||
static STDMETHODIMP_(CDsoDocObject*) CreateInstance(IDsoDocObjectSite* phost);
|
||||
|
||||
// IUnknown Implementation
|
||||
STDMETHODIMP QueryInterface(REFIID riid, void** ppv);
|
||||
STDMETHODIMP_(ULONG) AddRef(void);
|
||||
STDMETHODIMP_(ULONG) Release(void);
|
||||
|
||||
// IOleClientSite Implementation
|
||||
BEGIN_INTERFACE_PART(OleClientSite, IOleClientSite)
|
||||
STDMETHODIMP SaveObject(void);
|
||||
STDMETHODIMP GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk);
|
||||
STDMETHODIMP GetContainer(IOleContainer** ppContainer);
|
||||
STDMETHODIMP ShowObject(void);
|
||||
STDMETHODIMP OnShowWindow(BOOL fShow);
|
||||
STDMETHODIMP RequestNewObjectLayout(void);
|
||||
END_INTERFACE_PART(OleClientSite)
|
||||
|
||||
// IOleInPlaceSite Implementation
|
||||
BEGIN_INTERFACE_PART(OleInPlaceSite, IOleInPlaceSite)
|
||||
STDMETHODIMP GetWindow(HWND* phwnd);
|
||||
STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode);
|
||||
STDMETHODIMP CanInPlaceActivate(void);
|
||||
STDMETHODIMP OnInPlaceActivate(void);
|
||||
STDMETHODIMP OnUIActivate(void);
|
||||
STDMETHODIMP GetWindowContext(IOleInPlaceFrame** ppFrame, IOleInPlaceUIWindow** ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo);
|
||||
STDMETHODIMP Scroll(SIZE sz);
|
||||
STDMETHODIMP OnUIDeactivate(BOOL fUndoable);
|
||||
STDMETHODIMP OnInPlaceDeactivate(void);
|
||||
STDMETHODIMP DiscardUndoState(void);
|
||||
STDMETHODIMP DeactivateAndUndo(void);
|
||||
STDMETHODIMP OnPosRectChange(LPCRECT lprcPosRect);
|
||||
END_INTERFACE_PART(OleInPlaceSite)
|
||||
|
||||
// IOleDocumentSite Implementation
|
||||
BEGIN_INTERFACE_PART(OleDocumentSite, IOleDocumentSite)
|
||||
STDMETHODIMP ActivateMe(IOleDocumentView* pView);
|
||||
END_INTERFACE_PART(OleDocumentSite)
|
||||
|
||||
// IOleInPlaceFrame Implementation
|
||||
BEGIN_INTERFACE_PART(OleInPlaceFrame, IOleInPlaceFrame)
|
||||
STDMETHODIMP GetWindow(HWND* phWnd);
|
||||
STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode);
|
||||
STDMETHODIMP GetBorder(LPRECT prcBorder);
|
||||
STDMETHODIMP RequestBorderSpace(LPCBORDERWIDTHS pBW);
|
||||
STDMETHODIMP SetBorderSpace(LPCBORDERWIDTHS pBW);
|
||||
STDMETHODIMP SetActiveObject(LPOLEINPLACEACTIVEOBJECT pIIPActiveObj, LPCOLESTR pszObj);
|
||||
STDMETHODIMP InsertMenus(HMENU hMenu, LPOLEMENUGROUPWIDTHS pMGW);
|
||||
STDMETHODIMP SetMenu(HMENU hMenu, HOLEMENU hOLEMenu, HWND hWndObj);
|
||||
STDMETHODIMP RemoveMenus(HMENU hMenu);
|
||||
STDMETHODIMP SetStatusText(LPCOLESTR pszText);
|
||||
STDMETHODIMP EnableModeless(BOOL fEnable);
|
||||
STDMETHODIMP TranslateAccelerator(LPMSG pMSG, WORD wID);
|
||||
END_INTERFACE_PART(OleInPlaceFrame)
|
||||
|
||||
// IOleCommandTarget Implementation
|
||||
BEGIN_INTERFACE_PART(OleCommandTarget , IOleCommandTarget)
|
||||
STDMETHODIMP QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText);
|
||||
STDMETHODIMP Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvaIn, VARIANTARG *pvaOut);
|
||||
END_INTERFACE_PART(OleCommandTarget)
|
||||
|
||||
// IServiceProvider Implementation
|
||||
BEGIN_INTERFACE_PART(ServiceProvider , IServiceProvider)
|
||||
STDMETHODIMP QueryService(REFGUID guidService, REFIID riid, void **ppv);
|
||||
END_INTERFACE_PART(ServiceProvider)
|
||||
|
||||
// IAuthenticate Implementation
|
||||
BEGIN_INTERFACE_PART(Authenticate , IAuthenticate)
|
||||
STDMETHODIMP Authenticate(HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword);
|
||||
END_INTERFACE_PART(Authenticate)
|
||||
|
||||
// IContinueCallback Implementation
|
||||
BEGIN_INTERFACE_PART(ContinueCallback , IContinueCallback)
|
||||
STDMETHODIMP FContinue(void);
|
||||
STDMETHODIMP FContinuePrinting(LONG cPagesPrinted, LONG nCurrentPage, LPOLESTR pwszPrintStatus);
|
||||
END_INTERFACE_PART(ContinueCallback)
|
||||
|
||||
// IOlePreviewCallback Implementation
|
||||
BEGIN_INTERFACE_PART(PreviewCallback , IOlePreviewCallback)
|
||||
STDMETHODIMP Notify(DWORD wStatus, LONG nLastPage, LPOLESTR pwszPreviewStatus);
|
||||
END_INTERFACE_PART(PreviewCallback)
|
||||
|
||||
// DocObject Class Methods IDsoDocObjectSite
|
||||
STDMETHODIMP InitializeNewInstance(IDsoDocObjectSite* phost);
|
||||
STDMETHODIMP CreateDocObject(REFCLSID rclsid);
|
||||
STDMETHODIMP CreateDocObject(IStorage *pstg);
|
||||
STDMETHODIMP CreateFromFile(LPWSTR pwszFile, REFCLSID rclsid, LPBIND_OPTS pbndopts);
|
||||
STDMETHODIMP CreateFromURL(LPWSTR pwszUrlFile, REFCLSID rclsid, LPBIND_OPTS pbndopts, LPWSTR pwszUserName, LPWSTR pwszPassword);
|
||||
STDMETHODIMP CreateFromRunningObject(LPUNKNOWN punkObj, LPWSTR pwszObjectName, LPBIND_OPTS pbndopts);
|
||||
STDMETHODIMP IPActivateView();
|
||||
STDMETHODIMP IPDeactivateView();
|
||||
STDMETHODIMP UIActivateView();
|
||||
STDMETHODIMP UIDeactivateView();
|
||||
STDMETHODIMP_(BOOL) IsDirty();
|
||||
STDMETHODIMP Save();
|
||||
STDMETHODIMP SaveToFile(LPWSTR pwszFile, BOOL fOverwriteFile);
|
||||
STDMETHODIMP SaveToURL(LPWSTR pwszURL, BOOL fOverwriteFile, LPWSTR pwszUserName, LPWSTR pwszPassword);
|
||||
STDMETHODIMP PrintDocument(LPCWSTR pwszPrinter, LPCWSTR pwszOutput, UINT cCopies, UINT nFrom, UINT nTo, BOOL fPromptUser);
|
||||
STDMETHODIMP StartPrintPreview();
|
||||
STDMETHODIMP ExitPrintPreview(BOOL fForceExit);
|
||||
STDMETHODIMP DoOleCommand(DWORD dwOleCmdId, DWORD dwOptions, VARIANT* vInParam, VARIANT* vInOutParam);
|
||||
STDMETHODIMP Close();
|
||||
|
||||
// Control should notify us on these conditions (so we can pass to IP object)...
|
||||
STDMETHODIMP_(void) OnNotifySizeChange(LPRECT prc);
|
||||
STDMETHODIMP_(void) OnNotifyAppActivate(BOOL fActive, DWORD dwThreadID);
|
||||
STDMETHODIMP_(void) OnNotifyPaletteChanged(HWND hwndPalChg);
|
||||
STDMETHODIMP_(void) OnNotifyChangeToolState(BOOL fShowTools);
|
||||
STDMETHODIMP_(void) OnNotifyControlFocus(BOOL fGotFocus);
|
||||
|
||||
STDMETHODIMP HrGetDataFromObject(VARIANT *pvtType, VARIANT *pvtOutput);
|
||||
STDMETHODIMP HrSetDataInObject(VARIANT *pvtType, VARIANT *pvtInput, BOOL fMbcsString);
|
||||
|
||||
STDMETHODIMP_(BOOL) GetDocumentTypeAndFileExtension(WCHAR** ppwszFileType, WCHAR** ppwszFileExt);
|
||||
|
||||
// Inline accessors for control to get IP object info...
|
||||
inline IOleInPlaceActiveObject* GetActiveObject(){return m_pipactive;}
|
||||
inline IOleObject* GetOleObject(){return m_pole;}
|
||||
inline HWND GetDocWindow(){return m_hwnd;}
|
||||
inline HWND GetActiveWindow(){return m_hwndUIActiveObj;}
|
||||
inline BOOL IsReadOnly(){return m_fOpenReadOnly;}
|
||||
inline BOOL InPrintPreview(){return ((m_pprtprv != NULL) || (m_fInPptSlideShow));}
|
||||
inline HWND GetMenuHWND(){return m_hwndMenuObj;}
|
||||
inline HMENU GetActiveMenu(){return m_hMenuActive;}
|
||||
inline HMENU GetMergedMenu(){return m_hMenuMerged;}
|
||||
inline void SetMergedMenu(HMENU h){m_hMenuMerged = h;}
|
||||
inline LPCWSTR GetSourceName(){return ((m_pwszWebResource) ? m_pwszWebResource : m_pwszSourceFile);}
|
||||
inline LPCWSTR GetSourceDocName(){return ((m_pwszSourceFile) ? &m_pwszSourceFile[m_idxSourceName] : NULL);}
|
||||
inline CLSID* GetServerCLSID(){return &m_clsidObject;}
|
||||
inline BOOL IsIPActive(){return (m_pipobj != NULL);}
|
||||
|
||||
BOOL IsWordObject()
|
||||
{return ((m_clsidObject == CLSID_WORD_DOCUMENT_DOC) ||
|
||||
(m_clsidObject == CLSID_WORD_DOCUMENT_DOCX) ||
|
||||
(m_clsidObject == CLSID_WORD_DOCUMENT_DOCM));
|
||||
}
|
||||
BOOL IsExcelObject()
|
||||
{return ((m_clsidObject == CLSID_EXCEL_WORKBOOK_XLS) ||
|
||||
(m_clsidObject == CLSID_EXCEL_WORKBOOK_XLSX) ||
|
||||
(m_clsidObject == CLSID_EXCEL_WORKBOOK_XLSM) ||
|
||||
(m_clsidObject == CLSID_EXCEL_WORKBOOK_XLSB) ||
|
||||
(m_clsidObject == CLSID_EXCEL_CHART_XLS));
|
||||
}
|
||||
BOOL IsPPTObject()
|
||||
{return ((m_clsidObject == CLSID_PPT_PRESENTATION_PPT) ||
|
||||
(m_clsidObject == CLSID_PPT_PRESENTATION_PPTX) ||
|
||||
(m_clsidObject == CLSID_PPT_PRESENTATION_PPTM));
|
||||
}
|
||||
BOOL IsVisioObject()
|
||||
{return (m_clsidObject == CLSID_VISIO_DRAWING_VSD);}
|
||||
|
||||
STDMETHODIMP SetRunningServerLock(BOOL fLock);
|
||||
|
||||
protected:
|
||||
// Internal helper methods...
|
||||
STDMETHODIMP InstantiateDocObjectServer(REFCLSID rclsid, IOleObject **ppole);
|
||||
STDMETHODIMP CreateObjectStorage(REFCLSID rclsid);
|
||||
STDMETHODIMP SaveObjectStorage();
|
||||
STDMETHODIMP SaveDocToMoniker(IMoniker *pmk, IBindCtx *pbc, BOOL fKeepLock);
|
||||
STDMETHODIMP SaveDocToFile(LPWSTR pwszFullName, BOOL fKeepLock);
|
||||
STDMETHODIMP ValidateDocObjectServer(REFCLSID rclsid);
|
||||
STDMETHODIMP_(BOOL) ValidateFileExtension(WCHAR* pwszFile, WCHAR** ppwszOut);
|
||||
|
||||
STDMETHODIMP_(void) OnDraw(DWORD dvAspect, HDC hdcDraw, LPRECT prcBounds, LPRECT prcWBounds, HDC hicTargetDev, BOOL fOptimize);
|
||||
|
||||
STDMETHODIMP EnsureOleServerRunning(BOOL fLockRunning);
|
||||
STDMETHODIMP_(void) FreeRunningLock();
|
||||
STDMETHODIMP_(void) TurnOffWebToolbar(BOOL fTurnedOff);
|
||||
STDMETHODIMP_(void) ClearMergedMenu();
|
||||
STDMETHODIMP_(DWORD) CalcDocNameIndex(LPCWSTR pwszPath);
|
||||
STDMETHODIMP_(void) CheckForPPTPreviewChange();
|
||||
|
||||
// These functions allow the component to access files in a Web Folder for
|
||||
// write access using the Microsoft Provider for Internet Publishing (MSDAIPP),
|
||||
// which is installed by Office and comes standard in Windows 2000/ME/XP/2003. The
|
||||
// provider is not required to use the component, only if you wish to save to
|
||||
// an FPSE or DAV Web Folder (URL).
|
||||
STDMETHODIMP_(IUnknown*) CreateIPPBindResource();
|
||||
STDMETHODIMP IPPDownloadWebResource(LPWSTR pwszURL, LPWSTR pwszFile, IStream** ppstmKeepForSave);
|
||||
STDMETHODIMP IPPUploadWebResource(LPWSTR pwszFile, IStream** ppstmSave, LPWSTR pwszURLSaveTo, BOOL fOverwriteFile);
|
||||
|
||||
static STDMETHODIMP_(LRESULT) FrameWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
// The private class variables...
|
||||
private:
|
||||
ULONG m_cRef; // Reference count
|
||||
HWND m_hwnd; // our window
|
||||
HWND m_hwndCtl; // The control's window
|
||||
RECT m_rcViewRect; // Viewable area (set by host)
|
||||
IDsoDocObjectSite *m_psiteCtl; // The control's site interface
|
||||
IOleCommandTarget *m_pcmdCtl; // IOCT of host (for frame msgs)
|
||||
|
||||
LPWSTR m_pwszHostName; // Ole Host Name for container
|
||||
LPWSTR m_pwszSourceFile; // Path to Source File (on Open)
|
||||
IMoniker *m_pmkSourceFile; // Moniker to original source file
|
||||
IBindCtx *m_pbctxSourceFile; // Bind context used to original source file
|
||||
IStorage *m_pstgSourceFile; // Original File Storage (if open/save file)
|
||||
DWORD m_idxSourceName; // Index to doc name in m_pwszSourceFile
|
||||
|
||||
CLSID m_clsidObject; // CLSID of the embedded object
|
||||
IStorage *m_pstgroot; // Root temp storage
|
||||
IStorage *m_pstgfile; // In-memory file storage
|
||||
IStream *m_pstmview; // In-memory view info stream
|
||||
|
||||
LPWSTR m_pwszWebResource; // The full URL to the web resource
|
||||
IStream *m_pstmWebResource; // Original Download Stream (if open/save URL)
|
||||
IUnknown *m_punkIPPResource; // MSDAIPP provider resource (for URL authoring)
|
||||
LPWSTR m_pwszUsername; // Username and password used by MSDAIPP
|
||||
LPWSTR m_pwszPassword; // for Authentication (see IAuthenticate)
|
||||
|
||||
IOleObject *m_pole; // Embedded OLE Object (OLE)
|
||||
IOleInPlaceObject *m_pipobj; // The IP object methods (OLE)
|
||||
IOleInPlaceActiveObject *m_pipactive; // The UI Active object methods (OLE)
|
||||
IOleDocumentView *m_pdocv; // MSO Document View (DocObj)
|
||||
IOleCommandTarget *m_pcmdt; // MSO Command Target (DocObj)
|
||||
IOleInplacePrintPreview *m_pprtprv; // MSO Print Preview (DocObj)
|
||||
|
||||
HMENU m_hMenuActive; // The menu supplied by embedded object
|
||||
HMENU m_hMenuMerged; // The merged menu (set by control host)
|
||||
HOLEMENU m_holeMenu; // The OLE Menu Descriptor
|
||||
HWND m_hwndMenuObj; // The window for menu commands
|
||||
HWND m_hwndIPObject; // IP active object window
|
||||
HWND m_hwndUIActiveObj; // UI Active object window
|
||||
DWORD m_dwObjectThreadID; // Thread Id of UI server
|
||||
BORDERWIDTHS m_bwToolSpace; // Toolspace...
|
||||
|
||||
// Bitflags (state info)...
|
||||
unsigned int m_fDisplayTools:1;
|
||||
unsigned int m_fDisconnectOnQuit:1;
|
||||
unsigned int m_fAppWindowActive:1;
|
||||
unsigned int m_fOpenReadOnly:1;
|
||||
unsigned int m_fObjectInModalCondition:1;
|
||||
unsigned int m_fObjectIPActive:1;
|
||||
unsigned int m_fObjectUIActive:1;
|
||||
unsigned int m_fObjectActivateComplete:1;
|
||||
unsigned int m_fLockedServerRunning:1;
|
||||
unsigned int m_fLoadedFromAuto:1;
|
||||
unsigned int m_fInClose:1;
|
||||
unsigned int m_fAttemptPptPreview:1;
|
||||
unsigned int m_fInPptSlideShow:1;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //DS_DSOFDOCOBJ_H
|
||||
@@ -1,419 +0,0 @@
|
||||
/***************************************************************************
|
||||
* DSOFPRINT.CPP
|
||||
*
|
||||
* CDsoDocObject: Print Code for CDsoDocObject object
|
||||
*
|
||||
* Copyright ©1999-2004; Microsoft Corporation. All rights reserved.
|
||||
* Written by Microsoft Developer Support Office Integration (PSS DSOI)
|
||||
*
|
||||
* This code is provided via KB 311765 as a sample. It is not a formal
|
||||
* product and has not been tested with all containers or servers. Use it
|
||||
* for educational purposes only. See the EULA.TXT file included in the
|
||||
* KB download for full terms of use and restrictions.
|
||||
*
|
||||
* THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
***************************************************************************/
|
||||
#include "dsoframer.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerControl::_PrintOutOld
|
||||
//
|
||||
// Prints the current object by calling IOleCommandTarget for Print.
|
||||
//
|
||||
STDMETHODIMP CDsoFramerControl::_PrintOutOld(VARIANT PromptToSelectPrinter)
|
||||
{
|
||||
DWORD dwOption = BOOL_FROM_VARIANT(PromptToSelectPrinter, FALSE)
|
||||
? OLECMDEXECOPT_PROMPTUSER : OLECMDEXECOPT_DODEFAULT;
|
||||
|
||||
TRACE1("CDsoFramerControl::_PrintOutOld(%d)\n", dwOption);
|
||||
CHECK_NULL_RETURN(m_pDocObjFrame, ProvideErrorInfo(DSO_E_DOCUMENTNOTOPEN));
|
||||
|
||||
// Cannot access object if in modal condition...
|
||||
if ((m_fModalState) || (m_pDocObjFrame->InPrintPreview()))
|
||||
return ProvideErrorInfo(DSO_E_INMODALSTATE);
|
||||
|
||||
return m_pDocObjFrame->DoOleCommand(OLECMDID_PRINT, dwOption, NULL, NULL);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerControl::PrintOut
|
||||
//
|
||||
// Prints document using either IPrint or IOleCommandTarget, depending
|
||||
// on parameters passed. This offers a bit more control over printing if
|
||||
// the doc object server supports IPrint interface.
|
||||
//
|
||||
STDMETHODIMP CDsoFramerControl::PrintOut(VARIANT PromptUser, VARIANT PrinterName,
|
||||
VARIANT Copies, VARIANT FromPage, VARIANT ToPage, VARIANT OutputFile)
|
||||
{
|
||||
HRESULT hr;
|
||||
BOOL fPromptUser = BOOL_FROM_VARIANT(PromptUser, FALSE);
|
||||
LPWSTR pwszPrinter = LPWSTR_FROM_VARIANT(PrinterName);
|
||||
LPWSTR pwszOutput = LPWSTR_FROM_VARIANT(OutputFile);
|
||||
LONG lCopies = LONG_FROM_VARIANT(Copies, 1);
|
||||
LONG lFrom = LONG_FROM_VARIANT(FromPage, 0);
|
||||
LONG lTo = LONG_FROM_VARIANT(ToPage, 0);
|
||||
|
||||
TRACE3("CDsoFramerControl::PrintOut(%d, %S, %d)\n", fPromptUser, pwszPrinter, lCopies);
|
||||
CHECK_NULL_RETURN(m_pDocObjFrame, ProvideErrorInfo(DSO_E_DOCUMENTNOTOPEN));
|
||||
|
||||
// First we do validation of all parameters passed to the function...
|
||||
if ((pwszPrinter) && (*pwszPrinter == L'\0'))
|
||||
return E_INVALIDARG;
|
||||
|
||||
if ((pwszOutput) && (*pwszOutput == L'\0'))
|
||||
return E_INVALIDARG;
|
||||
|
||||
if ((lCopies < 1) || (lCopies > 200))
|
||||
return E_INVALIDARG;
|
||||
|
||||
if (((lFrom != 0) || (lTo != 0)) && ((lFrom < 1) || (lTo < lFrom)))
|
||||
return E_INVALIDARG;
|
||||
|
||||
// Cannot access object if in modal condition...
|
||||
if ((m_fModalState) || (m_pDocObjFrame->InPrintPreview()))
|
||||
return ProvideErrorInfo(DSO_E_INMODALSTATE);
|
||||
|
||||
// If no printer name was provided, we can print to the default device
|
||||
// using IOleCommandTarget with OLECMDID_PRINT...
|
||||
if (pwszPrinter == NULL)
|
||||
return _PrintOutOld(PromptUser);
|
||||
|
||||
// Ask the embedded document to print itself to specific printer...
|
||||
hr = m_pDocObjFrame->PrintDocument(pwszPrinter, pwszOutput, (UINT)lCopies,
|
||||
(UINT)lFrom, (UINT)lTo, fPromptUser);
|
||||
|
||||
// If call failed because interface doesn't exist, change error
|
||||
// to let caller know it is because DocObj doesn't support this command...
|
||||
if (FAILED(hr) && (hr == E_NOINTERFACE))
|
||||
hr = DSO_E_COMMANDNOTSUPPORTED;
|
||||
|
||||
return ProvideErrorInfo(hr);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerControl::PrintPreview
|
||||
//
|
||||
// Asks embedded object to attempt a print preview (only Office docs do this).
|
||||
//
|
||||
STDMETHODIMP CDsoFramerControl::PrintPreview()
|
||||
{
|
||||
HRESULT hr;
|
||||
ODS("CDsoFramerControl::PrintPreview\n");
|
||||
CHECK_NULL_RETURN(m_pDocObjFrame, ProvideErrorInfo(DSO_E_DOCUMENTNOTOPEN));
|
||||
|
||||
if (m_fModalState) // Cannot access object if in modal condition...
|
||||
return ProvideErrorInfo(DSO_E_INMODALSTATE);
|
||||
|
||||
// Try to set object into print preview mode...
|
||||
hr = m_pDocObjFrame->StartPrintPreview();
|
||||
|
||||
// If call failed because interface doesn't exist, change error
|
||||
// to let caller know it is because DocObj doesn't support this command...
|
||||
if (FAILED(hr) && (hr == E_NOINTERFACE))
|
||||
hr = DSO_E_COMMANDNOTSUPPORTED;
|
||||
|
||||
return ProvideErrorInfo(hr);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoFramerControl::PrintPreviewExit
|
||||
//
|
||||
// Closes an active preview.
|
||||
//
|
||||
STDMETHODIMP CDsoFramerControl::PrintPreviewExit()
|
||||
{
|
||||
ODS("CDsoFramerControl::PrintPreviewExit\n");
|
||||
CHECK_NULL_RETURN(m_pDocObjFrame, ProvideErrorInfo(DSO_E_DOCUMENTNOTOPEN));
|
||||
|
||||
// Try to set object out of print preview mode...
|
||||
if (m_pDocObjFrame->InPrintPreview())
|
||||
m_pDocObjFrame->ExitPrintPreview(TRUE);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoDocObject::PrintDocument
|
||||
//
|
||||
// We can use the IPrint interface for an ActiveX Document object to
|
||||
// selectively print object to a given printer.
|
||||
//
|
||||
STDMETHODIMP CDsoDocObject::PrintDocument(LPCWSTR pwszPrinter, LPCWSTR pwszOutput, UINT cCopies, UINT nFrom, UINT nTo, BOOL fPromptUser)
|
||||
{
|
||||
HRESULT hr;
|
||||
IPrint *print;
|
||||
HANDLE hPrint;
|
||||
DVTARGETDEVICE* ptd = NULL;
|
||||
|
||||
ODS("CDsoDocObject::PrintDocument\n");
|
||||
CHECK_NULL_RETURN(m_pole, E_UNEXPECTED);
|
||||
|
||||
// First thing we need to do is ask object for IPrint. If it does not
|
||||
// support it, we cannot continue. It is up to DocObj if this is allowed...
|
||||
hr = m_pole->QueryInterface(IID_IPrint, (void**)&print);
|
||||
RETURN_ON_FAILURE(hr);
|
||||
|
||||
// Now setup printer settings into DEVMODE for IPrint. Open printer
|
||||
// settings and gather default DEVMODE...
|
||||
if (FOpenPrinter(pwszPrinter, &hPrint))
|
||||
{
|
||||
LPDEVMODEW pdevMode = NULL;
|
||||
LPWSTR pwszDefProcessor = NULL;
|
||||
LPWSTR pwszDefDriver = NULL;
|
||||
LPWSTR pwszDefPort = NULL;
|
||||
LPWSTR pwszPort;
|
||||
DWORD cbDevModeSize;
|
||||
|
||||
if (FGetPrinterSettings(hPrint, &pwszDefProcessor,
|
||||
&pwszDefDriver, &pwszDefPort, &pdevMode, &cbDevModeSize) && (pdevMode))
|
||||
{
|
||||
DWORD cbPrintName, cbDeviceName, cbOutputName;
|
||||
DWORD cbDVTargetSize;
|
||||
|
||||
pdevMode->dmFields |= DM_COPIES;
|
||||
pdevMode->dmCopies = (WORD)((cCopies) ? cCopies : 1);
|
||||
|
||||
pwszPort = ((pwszOutput) ? (LPWSTR)pwszOutput : pwszDefPort);
|
||||
|
||||
// We calculate the size we will need for the TARGETDEVICE structure...
|
||||
cbPrintName = ((lstrlenW(pwszDefProcessor) + 1) * sizeof(WCHAR));
|
||||
cbDeviceName = ((lstrlenW(pwszDefDriver) + 1) * sizeof(WCHAR));
|
||||
cbOutputName = ((lstrlenW(pwszPort) + 1) * sizeof(WCHAR));
|
||||
|
||||
cbDVTargetSize = sizeof(DWORD) + sizeof(DEVNAMES) + cbPrintName +
|
||||
cbDeviceName + cbOutputName + cbDevModeSize;
|
||||
|
||||
// Allocate new target device using COM Task Allocator...
|
||||
ptd = (DVTARGETDEVICE*)CoTaskMemAlloc(cbDVTargetSize);
|
||||
if (ptd)
|
||||
{
|
||||
// Copy all the data in the DVT...
|
||||
DWORD dwOffset = sizeof(DWORD) + sizeof(DEVNAMES);
|
||||
ptd->tdSize = cbDVTargetSize;
|
||||
|
||||
ptd->tdDriverNameOffset = (WORD)dwOffset;
|
||||
memcpy((BYTE*)(((BYTE*)ptd) + dwOffset), pwszDefProcessor, cbPrintName);
|
||||
dwOffset += cbPrintName;
|
||||
|
||||
ptd->tdDeviceNameOffset = (WORD)dwOffset;
|
||||
memcpy((BYTE*)(((BYTE*)ptd) + dwOffset), pwszDefDriver, cbDeviceName);
|
||||
dwOffset += cbDeviceName;
|
||||
|
||||
ptd->tdPortNameOffset = (WORD)dwOffset;
|
||||
memcpy((BYTE*)(((BYTE*)ptd) + dwOffset), pwszPort, cbOutputName);
|
||||
dwOffset += cbOutputName;
|
||||
|
||||
ptd->tdExtDevmodeOffset = (WORD)dwOffset;
|
||||
memcpy((BYTE*)(((BYTE*)ptd) + dwOffset), pdevMode, cbDevModeSize);
|
||||
dwOffset += cbDevModeSize;
|
||||
|
||||
ASSERT(dwOffset == cbDVTargetSize);
|
||||
}
|
||||
else hr = E_OUTOFMEMORY;
|
||||
|
||||
// We're done with the devmode...
|
||||
DsoMemFree(pdevMode);
|
||||
}
|
||||
else hr = E_WIN32_LASTERROR;
|
||||
|
||||
SAFE_FREESTRING(pwszDefPort);
|
||||
SAFE_FREESTRING(pwszDefDriver);
|
||||
SAFE_FREESTRING(pwszDefProcessor);
|
||||
ClosePrinter(hPrint);
|
||||
}
|
||||
else hr = E_WIN32_LASTERROR;
|
||||
|
||||
// If we were successful in getting TARGETDEVICE struct, provide the page range
|
||||
// for the print job and ask docobj server to print it...
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
PAGESET *ppgset;
|
||||
DWORD cbPgRngSize = sizeof(PAGESET) + sizeof(PAGERANGE);
|
||||
LONG cPages, cLastPage;
|
||||
DWORD grfPrintFlags;
|
||||
|
||||
// Setup the page range to print...
|
||||
if ((ppgset = (PAGESET*)CoTaskMemAlloc(cbPgRngSize)) != NULL)
|
||||
{
|
||||
ppgset->cbStruct = cbPgRngSize;
|
||||
ppgset->cPageRange = 1;
|
||||
ppgset->fOddPages = TRUE;
|
||||
ppgset->fEvenPages = TRUE;
|
||||
ppgset->cPageRange = 1;
|
||||
ppgset->rgPages[0].nFromPage = ((nFrom) ? nFrom : 1);
|
||||
ppgset->rgPages[0].nToPage = ((nTo) ? nTo : PAGESET_TOLASTPAGE);
|
||||
|
||||
// Give indication we are waiting (on the print)...
|
||||
HCURSOR hCur = SetCursor(LoadCursor(NULL, IDC_WAIT));
|
||||
|
||||
SEH_TRY
|
||||
|
||||
// Setup the initial page number (optional)...
|
||||
print->SetInitialPageNum(ppgset->rgPages[0].nFromPage);
|
||||
|
||||
grfPrintFlags = (PRINTFLAG_MAYBOTHERUSER | PRINTFLAG_RECOMPOSETODEVICE);
|
||||
if (fPromptUser) grfPrintFlags |= PRINTFLAG_PROMPTUSER;
|
||||
if (pwszOutput) grfPrintFlags |= PRINTFLAG_PRINTTOFILE;
|
||||
|
||||
// Now ask server to print it using settings passed...
|
||||
hr = print->Print(grfPrintFlags, &ptd, &ppgset, NULL, (IContinueCallback*)&m_xContinueCallback,
|
||||
ppgset->rgPages[0].nFromPage, &cPages, &cLastPage);
|
||||
|
||||
SEH_EXCEPT(hr)
|
||||
|
||||
SetCursor(hCur);
|
||||
|
||||
if (ppgset)
|
||||
CoTaskMemFree(ppgset);
|
||||
}
|
||||
else hr = E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
// We are done...
|
||||
if (ptd) CoTaskMemFree(ptd);
|
||||
print->Release();
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoDocObject::StartPrintPreview
|
||||
//
|
||||
// Ask embedded object to go into print preview (if supportted).
|
||||
//
|
||||
STDMETHODIMP CDsoDocObject::StartPrintPreview()
|
||||
{
|
||||
HRESULT hr;
|
||||
IOleInplacePrintPreview *prev;
|
||||
HCURSOR hCur;
|
||||
|
||||
ODS("CDsoDocObject::StartPrintPreview\n");
|
||||
CHECK_NULL_RETURN(m_pole, E_UNEXPECTED);
|
||||
|
||||
// No need to do anything if already in preview...
|
||||
if (InPrintPreview()) return S_FALSE;
|
||||
|
||||
// Otherwise, ask document server if it supports preview...
|
||||
hr = m_pole->QueryInterface(IID_IOleInplacePrintPreview, (void**)&prev);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
// Tell user we waiting (switch to preview can be slow for very large docs)...
|
||||
hCur = SetCursor(LoadCursor(NULL, IDC_WAIT));
|
||||
|
||||
// If it does, make sure it can go into preview mode...
|
||||
hr = prev->QueryStatus();
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
SEH_TRY
|
||||
|
||||
if (m_hwndCtl) // Notify the control that preview started...
|
||||
SendMessage(m_hwndCtl, DSO_WM_ASYNCH_STATECHANGE, DSO_STATE_INTERACTIVE, (LPARAM)FALSE);
|
||||
|
||||
// We will allow application to bother user and switch printers...
|
||||
hr = prev->StartPrintPreview(
|
||||
(PREVIEWFLAG_MAYBOTHERUSER | PREVIEWFLAG_PROMPTUSER | PREVIEWFLAG_USERMAYCHANGEPRINTER),
|
||||
NULL, (IOlePreviewCallback*)&m_xPreviewCallback, 1);
|
||||
|
||||
SEH_EXCEPT(hr)
|
||||
|
||||
// If the call succeeds, we keep hold of interface to close preview later
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
SAFE_SET_INTERFACE(m_pprtprv, prev);
|
||||
}
|
||||
else
|
||||
{ // Otherwise, notify the control that preview failed...
|
||||
if (m_hwndCtl)
|
||||
PostMessage(m_hwndCtl, DSO_WM_ASYNCH_STATECHANGE, DSO_STATE_INTERACTIVE, (LPARAM)TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
SetCursor(hCur);
|
||||
prev->Release();
|
||||
}
|
||||
else if (IsPPTObject() && (m_hwndUIActiveObj))
|
||||
{
|
||||
// PowerPoint doesn't have print preview, but it does have slide show mode, so we can use this to
|
||||
// toggle the viewing into slideshow...
|
||||
if (PostMessage(m_hwndUIActiveObj, WM_KEYDOWN, VK_F5, 0x00000001) &&
|
||||
PostMessage(m_hwndUIActiveObj, WM_KEYUP, VK_F5, 0xC0000001))
|
||||
{
|
||||
hr = S_OK; m_fAttemptPptPreview = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoDocObject::ExitPrintPreview
|
||||
//
|
||||
// Drop out of print preview and restore items as needed.
|
||||
//
|
||||
STDMETHODIMP CDsoDocObject::ExitPrintPreview(BOOL fForceExit)
|
||||
{
|
||||
TRACE1("CDsoDocObject::ExitPrintPreview(fForceExit=%d)\n", (DWORD)fForceExit);
|
||||
|
||||
// Need to be in preview to run this function...
|
||||
if (!InPrintPreview()) return S_FALSE;
|
||||
|
||||
// If the user closes the app or otherwise terminates the preview, we need
|
||||
// to notify the ActiveDocument server to leave preview mode...
|
||||
if (m_pprtprv)
|
||||
{
|
||||
if (fForceExit) // Tell docobj we want to end preview...
|
||||
{
|
||||
HRESULT hr = m_pprtprv->EndPrintPreview(TRUE);
|
||||
ASSERT(SUCCEEDED(hr)); (void)hr;
|
||||
}
|
||||
}
|
||||
else if (m_fInPptSlideShow)
|
||||
{
|
||||
if ((fForceExit) && (m_hwndUIActiveObj))
|
||||
{
|
||||
// HACK: When it goes into slideshow, PPT 2007 changes the active window but
|
||||
// doesn't call SetActiveObject to update us with new object and window handle.
|
||||
// If we post VK_ESCAPE to the window handle we have, it can fail. It needs to go
|
||||
// to the slideshow window that PPT failed to give us handle for. As workaround,
|
||||
// setting focus to the UI window we have handle for will automatically forward
|
||||
// to the right window, so we can use that trick to get the right window and
|
||||
// make the call in a way that that should succeed regardless of PPT version...
|
||||
SetFocus(m_hwndUIActiveObj);
|
||||
PostMessage(GetFocus(), WM_KEYDOWN, VK_ESCAPE, 0x00000001);
|
||||
PostMessage(GetFocus(), WM_KEYUP, VK_ESCAPE, 0xC0000001);
|
||||
}
|
||||
m_fAttemptPptPreview = FALSE;
|
||||
m_fInPptSlideShow = FALSE;
|
||||
}
|
||||
|
||||
if (m_hwndCtl) // Notify the control that preview ended...
|
||||
SendMessage(m_hwndCtl, DSO_WM_ASYNCH_STATECHANGE, DSO_STATE_INTERACTIVE, (LPARAM)TRUE);
|
||||
|
||||
// Free our reference to preview interface...
|
||||
SAFE_RELEASE_INTERFACE(m_pprtprv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// CDsoDocObject::CheckForPPTPreviewChange
|
||||
//
|
||||
// Used to update control when PPT goes in/out of slideshow asynchronously.
|
||||
//
|
||||
STDMETHODIMP_(void) CDsoDocObject::CheckForPPTPreviewChange()
|
||||
{
|
||||
if (m_fInPptSlideShow)
|
||||
{
|
||||
ExitPrintPreview(FALSE);
|
||||
}
|
||||
else if (m_fAttemptPptPreview)
|
||||
{
|
||||
m_fInPptSlideShow = TRUE;
|
||||
m_fAttemptPptPreview = FALSE;
|
||||
if (m_hwndCtl) // Notify the control that preview started...
|
||||
SendMessage(m_hwndCtl, DSO_WM_ASYNCH_STATECHANGE, DSO_STATE_INTERACTIVE, (LPARAM)FALSE);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
LIBRARY dsoframer.ocx
|
||||
EXPORTS
|
||||
DllGetClassObject PRIVATE
|
||||
DllCanUnloadNow PRIVATE
|
||||
DllRegisterServer PRIVATE
|
||||
DllUnregisterServer PRIVATE
|
||||
Loaded 100 of 4346 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user