Compare commits

..

132 Commits

Author SHA1 Message Date
djankowski 5a09069b08 Merge pull request 'Development' (#774) from Development into master
Merging dev into master after successful testing
2026-05-28 08:47:08 -04:00
djankowski 9e10948e59 Merge pull request 'Development' (#770) from Development into master
Merging development into master after successful testing.
2026-05-15 10:06:27 -04:00
djankowski f8663e038f Merge pull request 'Development' (#752) from Development into master
Merging from dev into master after successful testing.
2026-04-01 10:21:52 -04:00
djankowski 124cfb14ab Merge pull request 'Development' (#749) from Development into master
Merging from dev into Master after successful testing.
2026-03-27 10:50:22 -04:00
djankowski 4852b7c2c0 Merge pull request 'Development' (#735) from Development into master
Merging changes from dev into master after successful testing.
2026-03-12 15:17:28 -04:00
djankowski dd4b08ec2b Merge pull request 'Development' (#732) from Development into master
Merging changes from dev into master after successful testing.
2026-03-11 11:09:47 -04:00
djankowski 6aef00ffc6 Merge pull request 'Development' (#708) from Development into master
Merging dev into master after successful testing.
2026-02-09 08:26:02 -05:00
djankowski 76eb6fca13 Merge pull request 'Development' (#706) from Development into master
Merging dev into master after successful testing.
2026-02-06 09:37:35 -05:00
djankowski 892b84690e Merge pull request 'Development' (#698) from Development into master
Merging dev into master after successful testing.
2026-01-29 08:46:50 -05:00
djankowski b0bfb4d3f6 Merge pull request 'Development' (#690) from Development into master
Merging Development into master after successful testing.
2026-01-22 08:17:16 -05:00
djankowski af1a05ff40 Merge pull request 'Development' (#681) from Development into master
Merging C2025-043 from dev into master after successful testing.
2026-01-13 16:35:02 -05:00
djankowski de89200eae Merge pull request 'Development' (#678) from Development into master
Merging dev into master after successful testing.
2026-01-05 08:22:25 -05:00
djankowski 7009ca78f2 Merge pull request 'Development' (#675) from Development into master
Merging dev into master after successful testing.
2025-12-18 08:34:38 -05:00
djankowski 03c58b7ae3 Merge pull request 'Development' (#672) from Development into master
Merging changes from dev into Master after successful testing
2025-12-11 08:44:58 -05:00
djankowski c9166f6f92 Merge pull request 'Development' (#669) from Development into master
Merging all changes from dev into master after successful testing.
2025-12-05 11:50:16 -05:00
djankowski 343d6a8c9a Merge pull request 'Development' (#650) from Development into master
Merging from dev into master after successful testing.
2025-11-06 09:23:19 -05:00
djankowski 8c5c7a5d93 Merge pull request 'Development' (#634) from Development into master
Merging dev into master after successful testing.
2025-10-09 12:50:13 -04:00
djankowski 864ec2709c Merge pull request 'Development' (#620) from Development into master
Merging Dev into master after successful testing.
2025-09-24 08:25:00 -04:00
djankowski 4b1ca8d7bf Merge pull request 'Development' (#612) from Development into master
Merging data into master after successful testing
2025-09-11 12:13:22 -04:00
djankowski 3b73d54ea2 Merge pull request 'Development' (#600) from Development into master
Merging dev into master after successful testing.
2025-08-15 08:37:48 -04:00
djankowski 2ca433c83f Merge pull request 'Development' (#576) from Development into master
Merging Dev into Master after successful testing.
2025-07-28 08:20:18 -04:00
djankowski 0b40569727 Merge pull request 'Development' (#570) from Development into master
Reviewed-on: #570
2025-06-23 14:58:28 -04:00
djankowski afb0247d87 Merge pull request 'Development' (#559) from Development into master
Merging changes from dev into master after successful testing.
2025-05-20 13:24:21 -04:00
djankowski bce8461a7e Merge pull request 'Development' (#555) from Development into master
Merging all changes from dev into master after successful testing.
2025-05-15 15:01:00 -04:00
djankowski 9d5cc43d71 Merge pull request 'Development' (#543) from Development into master
Merging dev into master after successful testing.
2025-05-01 11:25:49 -04:00
djankowski bc1370ab29 Merge pull request 'Development' (#540) from Development into master
Merging changes from Development into master after successful testing.
2025-04-23 15:13:56 -04:00
djankowski eaf2b14cfc Merge pull request 'Development' (#535) from Development into master
Merging all changes from development into master after successful testing.
2025-03-26 09:25:11 -04:00
djankowski 1cf7d81aa5 Merge pull request 'Development' (#530) from Development into master
Merging all changes through B2025-017 from dev into master after successful testing.
2025-03-04 10:24:28 -05:00
djankowski f11a9536f0 Merge pull request 'Development' (#524) from Development into master
Merging all changes through B2025-015 from development into master after successful testing.
2025-02-20 15:33:44 -05:00
djankowski c7bdcf0104 Merge pull request 'Development' (#516) from Development into master
Merging changes from development into master after successful testing
2025-02-11 15:25:38 -05:00
djankowski df026499d5 Merge pull request 'Development' (#512) from Development into master
Merging all changes from development into master after successful testing.
2025-02-10 09:20:43 -05:00
djankowski a3aa4157b8 Merge pull request 'Development' (#508) from Development into master
Merging all changes through B2025-012 from development into master after successful testing.
2025-02-05 10:50:35 -05:00
djankowski 8f3268e1bc Merge pull request 'Development' (#504) from Development into master
Merging all changes from development into master after successful testing.
2025-01-30 15:55:02 -05:00
djankowski 5721d440e9 Merge branch 'master' of https://git.volian.com/Volian/SourceCode 2025-01-21 10:42:15 -05:00
djankowski 505c396283 Merge pull request 'Development' (#489) from Development into master
Merging from development into master after successful testing.
2025-01-21 10:41:15 -05:00
djankowski 643e6bc94f Merge pull request 'Development' (#486) from Development into master
Merging all items through B2025-003 from development in master after successful testing.
2025-01-09 15:02:16 -05:00
djankowski 76502e6d97 Merge pull request 'Development' (#481) from Development into master
Merging all changes through F2024-087 after successful testing.
2024-12-11 11:52:34 -05:00
djankowski 851a0b3810 Merge pull request 'Development' (#464) from Development into master
Merging all items through B2024-092 from development into master after successful testing.
2024-11-11 11:39:01 -05:00
djankowski fd8dbb4c8b Merge pull request 'Development' (#454) from Development into master
Merging all changes from development into master after successful testing.
2024-11-01 14:18:00 -04:00
djankowski 4ffd994c5e Merge pull request 'Development' (#450) from Development into master
Merging all development items into master after successful testing.
2024-10-31 09:11:59 -04:00
djankowski a34828113a Merge pull request 'Development' (#416) from Development into master
Merging C2017-031 and B2024-075 from development into master after successful testing.
2024-10-03 12:08:30 -04:00
djankowski 461329468c Merge pull request 'Development' (#413) from Development into master
Merging F2023-136 and F2024-074 in master after successful testing
2024-09-27 14:27:22 -04:00
djankowski 35de5df04d Merge pull request 'Development' (#410) from Development into master
Merging all items through B2024-03 from development into master after successful testing.
2024-09-17 12:03:23 -04:00
djankowski 4f0548fd60 Merge pull request 'Development' (#402) from Development into master
Merging C2021-034 and B2024-065 into master after successful testing.
2024-09-06 09:56:37 -04:00
djankowski 5c1d96cc51 Merge pull request 'Development' (#399) from Development into master
Merging all fixes through B2024-063 from development into master after successful testing.
2024-08-27 15:58:15 -04:00
djankowski 57049c0c52 Merge pull request 'Development' (#392) from Development into master
Merging B2024-059 and B2024-058 from development into master after successful testing.
2024-08-15 14:55:27 -04:00
djankowski 31326e1c91 Merge pull request 'Development' (#389) from Development into master
Merging all changes through F2024-069 from development into master after successful testing.
2024-08-09 13:06:40 -04:00
djankowski 3c60994a0a Merge pull request 'Development' (#373) from Development into master
Merging all changes through B2024-053 from development into master after successful testing.
2024-08-01 08:37:23 -04:00
djankowski 773cc42346 Merge pull request 'Development' (#362) from Development into master
Merging B2024-046 and B2024-047 from development into master after successful testing.
2024-07-25 10:44:42 -04:00
djankowski f46a1f39dc Merge pull request 'Development' (#359) from Development into master
Merging B2024-042 from development into master after successful testing.
2024-07-22 11:14:19 -04:00
djankowski b7175bf77f Merge pull request 'Development' (#357) from Development into master
Merging C2024-005 from development into master after successful testing.
2024-07-18 15:41:20 -04:00
djankowski ec22232aa8 Merge pull request 'Development' (#356) from Development into master
Merging all items through B2024-041 from development into master after successful testing.
2024-07-18 09:51:54 -04:00
djankowski f303cd2236 Merge pull request 'Development' (#348) from Development into master
Merging F2024-065 and F2024-066 from development into master after successful testing.
2024-07-03 10:45:41 -04:00
djankowski f40cef4416 Merge pull request 'Development' (#346) from Development into master
Merging F2024-064 from development into master after successful testing.
2024-07-01 11:54:15 -04:00
djankowski fbca97d38d Merge pull request 'Development' (#344) from Development into master
Merging C2024-013 from development into master after successful testing.
2024-06-25 15:55:32 -04:00
djankowski 28bd2cba5c Merge pull request 'Development' (#342) from Development into master
Merging C2022-029 from development into master after successful testing.
2024-06-20 11:36:59 -04:00
djankowski 4b35f73bbf Merge pull request 'Development' (#340) from Development into master
Merging C2024-004 from development into master after successful testing.
2024-06-19 16:23:23 -04:00
djankowski f4706eb126 Merge pull request 'Development' (#338) from Development into master
Merging C2019-047 from development into master after successful testing.
2024-06-17 08:38:34 -04:00
djankowski 21bcb90558 Merge pull request 'Development' (#335) from Development into master
Merging B2024-036 and F2024-063 from development into master after successful testing.
2024-06-06 14:51:13 -04:00
djankowski ae48ac0cae Merge pull request 'Development' (#332) from Development into master
Merging changes through B2024-035 from development into master after successful testing.
2024-05-30 08:08:28 -04:00
djankowski cb4979d5bc Merge pull request 'Development' (#327) from Development into master
Merging F2024-061 from development into master after successful testing.
2024-05-20 14:11:12 -04:00
djankowski 7d3ae74e1f Merge pull request 'Development' (#325) from Development into master
Merging F2024-060 from development into master after successful testing.
2024-05-16 15:32:13 -04:00
djankowski 9d680aa500 Merge pull request 'Development' (#323) from Development into master
Merging C2024-001 from development into master after successful testing.
2024-05-16 14:17:17 -04:00
djankowski 0d50b1c2fe Merge pull request 'Development' (#321) from Development into master
Merging all items through B2024-030 from development into master after successful testing.
2024-05-15 08:33:58 -04:00
djankowski 75e034863f Merge pull request 'Development' (#315) from Development into master
Merging all changes through B2024-026 from development into master after successful testing.
2024-05-09 14:01:48 -04:00
jjenko 3b42de1571 Merge pull request 'F2024-059_Callaway' (#311) from F2024-059_Callaway into master
Format only changes
2024-05-07 16:00:36 -04:00
djankowski 668472286e Merge pull request 'Development' (#307) from Development into master
Merging all changes through C2023-006 into master after successful testing.
2024-04-26 09:21:44 -04:00
djankowski e00d34c99d Merge pull request 'Development' (#300) from Development into master
Merging C2024-008 and C2024-007 from development into master after successful testing.
2024-04-17 14:57:22 -04:00
djankowski 9fb496dfb3 Merge pull request 'Development' (#297) from Development into master
Merging F2024-053 from development into master after successful testing.
2024-04-11 09:23:34 -04:00
djankowski f4eaa4a3ef Merge pull request 'Development' (#295) from Development into master
Merging F2024-052 from development into master after successful testing.
2024-04-08 11:11:43 -04:00
djankowski 5d50ed6bdf Merge pull request 'Development' (#292) from Development into master
Merging F2024-051, B2024-021, F2024-049, F2024-050 and F2024-045 after successful testing.
2024-04-05 10:54:57 -04:00
djankowski d7ace4eaf9 Merge pull request 'Development' (#287) from Development into master
Merging F2024-047, F2024-048, B2024-017 and B2024-019 from development into master after successful testing.
2024-04-04 11:36:56 -04:00
djankowski 16a4d335ea Merge pull request 'Development' (#282) from Development into master
Merging all items through B2024-018 from development into master after successful testing.
2024-03-27 13:39:46 -04:00
djankowski ba69bb0772 Merge pull request 'Development' (#275) from Development into master
Merging F2024-037 and CSLA updates into master after successful testing.
2024-03-20 16:07:27 -04:00
djankowski 455940caa2 Merge pull request 'Development' (#271) from Development into master
Merging F2024-040 into master after successful testing.
2024-03-18 10:00:30 -04:00
djankowski 439344757e Merge pull request 'Development' (#269) from Development into master
Merging F2024-044, F2024-043, and F2024-019 in master after successful testing.
2024-03-15 09:33:57 -04:00
djankowski ad912691c9 Merge pull request 'Development' (#265) from Development into master
Merging 	F2024-016, 	F2024-032, 	B2024-013, 	F2024-025,	F2024-027 & F2024-028 into master after successful testing.
2024-03-12 14:01:12 -04:00
djankowski 237144aff6 Merge pull request 'Development' (#259) from Development into master
Merging B2024-014 from development into master after successful testing.
2024-03-04 15:02:18 -05:00
djankowski 810332d558 Merge pull request 'Development' (#256) from Development into master
Merging F2024-020 from development into master.  No testing required since formats are under development.
2024-02-29 13:23:48 -05:00
djankowski f8431d0ba1 Merge pull request 'Development' (#252) from Development into master
Merging F2024-022 from development into master.  No testing required since formats are under development.
2024-02-29 09:23:51 -05:00
djankowski 57c3bfa16a Merge pull request 'Development' (#250) from Development into master
Merging C2023-003 and F2024-026 into master after successful testing.
2024-02-28 11:56:15 -05:00
djankowski 61f1077608 Merge pull request 'Development' (#248) from Development into master
Merging F2024-029, B2024-009, F2024-023, B2024-011, B2024-012 and F2024-017 from development into master after successful testing.
2024-02-27 14:21:22 -05:00
djankowski 8877e968b9 Merge pull request 'Development' (#239) from Development into master
Merging F2024-018, B2024-008, B2024-007, and F2024-015 from development into master after successful testing.
2024-02-22 08:22:26 -05:00
djankowski 4575c90bee Merge pull request 'Development' (#233) from Development into master
Merging updated formats from development into master after successful testing.
2024-02-14 16:07:57 -05:00
djankowski 21279a87ae Merge pull request 'Development' (#231) from Development into master
Merging B2024-006 from development into master after successful testing.
2024-02-14 08:19:09 -05:00
djankowski 3d5ad4a17e Merge pull request 'Development' (#229) from Development into master
Merging C2024-002 and F2024-013 from development into master after successful testing.
2024-02-09 11:30:41 -05:00
djankowski 9bb7b044a8 Merge pull request 'Development' (#226) from Development into master
Merging F2024-010, 	F2024-011, 	F2024-008, 	B2024-002, 	F2024-012  and B2024-005 from development into master after successful testing.
2024-02-08 11:38:49 -05:00
djankowski dc8f2f7561 Merge pull request 'Development' (#219) from Development into master
Merging C2022-009 into master after successful testing.
2024-02-02 13:53:22 -05:00
djankowski 829dbf84da Merge pull request 'Development' (#217) from Development into master
Merging F2024-005 and B2024-004 from development into master after successful testing
2024-01-31 08:34:00 -05:00
djankowski 7b156c17f8 Merge pull request 'Development' (#212) from Development into master
Merging all changes up through F2024-006 from development into master after successful testing.
2024-01-24 11:30:40 -05:00
djankowski cbf7cbc164 Merge pull request 'Development' (#198) from Development into master
Merging F2024-002 and F2023-112 from development into master.  No testing required since formats are under development.
2024-01-08 15:24:15 -05:00
djankowski b04faa816e Merge pull request 'Development' (#196) from Development into master
Merging F2023-126, F2024-001, C2022-009, C2023-024 and C2023-023 from development into Master after successful testing.
2024-01-03 10:54:22 -05:00
djankowski 517ebe2902 Merge pull request 'Development' (#189) from Development into master
Initial check-in of Vogtle Background formats.  No testing required since formats are under development.
2023-12-15 15:48:55 -05:00
djankowski 03d0d314e3 Merge pull request 'Development' (#187) from Development into master
Merging B2023-115 from development into master after successful testing.
2023-12-12 15:31:06 -05:00
djankowski 3e804c5cce Merge pull request 'Development' (#185) from Development into master
Merging F2023-133 into from development into master. No testing required since formats are under development.
2023-12-11 10:08:22 -05:00
djankowski ee2b8b538e Merge pull request 'Development' (#183) from Development into master
Merging PROMSFixes from development into master after minor changes to UpdateFormatList.
2023-12-08 14:51:21 -05:00
djankowski fdfd34fe92 Merge pull request 'Development' (#181) from Development into master
Merging F2023-151 from development into master.  No testing required since formats are under development.
2023-12-07 15:55:16 -05:00
djankowski 2d6fb6523b Merge pull request 'Development' (#179) from Development into master
Merging F2023-133 from development into master.  No testing required since formats are under development.
2023-12-07 11:44:31 -05:00
djankowski 3084bf3982 Merge pull request 'Development' (#177) from Development into master
Merging B2023-115 and F2023-150 from development into master.  No testing required since formats are under development.
2023-12-06 09:08:18 -05:00
djankowski 5ba51e8392 Merge pull request 'Development' (#174) from Development into master
Merging F2023-149 from development into master.  No testing required since formats are under development.
2023-12-05 16:30:39 -05:00
djankowski fb5eb43e34 Merge pull request 'Development' (#172) from Development into master
Merging F2023-124 from development into master.  No testing required since formats are under development.
2023-12-04 11:22:59 -05:00
djankowski b154056276 Merge pull request 'Development' (#170) from Development into master
Merging F2023-119 from development into master.  No testing required since formats are under development.
2023-12-01 15:36:22 -05:00
djankowski c67b8f9ca1 Merge pull request 'Development' (#168) from Development into master
Merging F2023-146 from development to master.  No testing required since formats are under development.
2023-12-01 10:02:50 -05:00
djankowski 95e4181360 Merge pull request 'Development' (#166) from Development into master
Merging F2023-148, F2023-148, and B2023-120 from development into Master. No testing required since formats are under development.
2023-11-30 14:38:49 -05:00
djankowski 32dffbe56b Merge pull request 'Development' (#162) from Development into master
Merging B2023-116, B2023-117, and F2023-143 from development to master after successful testing.
2023-11-29 15:58:44 -05:00
jjenko 6b3c8d373b Merge pull request 'F2023-143_Vogtle3&4_Alrm_Footer' (#159) from F2023-143_Vogtle3&4_Alrm_Footer into master
Format only change.
Vogtle 3&4 formats under development. This change will be tested as data in entered into PROMS by Volian
2023-11-27 16:23:44 -05:00
djankowski db29107f47 Merge pull request 'Development' (#156) from Development into master
Merging F2023-142 and B2022-046 in from development to master after successful testing.
2023-11-14 08:45:47 -05:00
djankowski 355537f2ab Merge pull request 'Development' (#153) from Development into master
Merging F2023-140, F2023-123, B2023-007, B2023-108, F2023-139, F2023-138 and B2023-103
2023-11-09 10:33:40 -05:00
djankowski 0729ef0c21 Merge pull request 'Development' (#147) from Development into master
Merging F2023-139 from development into master after successful testing.
2023-10-26 10:10:33 -04:00
djankowski 6fe82bfd0f Merge pull request 'Development' (#145) from Development into master
Merging F2023-138 from development into master after successful testing.
2023-10-25 14:40:15 -04:00
djankowski 39bf072363 Merge pull request 'Development' (#142) from Development into master
Merging B2023-103 from development into master after successful testing.
2023-10-23 15:28:31 -04:00
djankowski da7c384fd8 Merge pull request 'Development' (#139) from Development into master
Merging C2023-017, C2023-019, B2023-104, B2023-101 and B2023-102 from development into master after successful testing.
2023-10-18 10:37:59 -04:00
djankowski 95130fd9a0 Merge pull request 'Development' (#133) from Development into master
Merging C2023-018 from development into master after successful testing.
2023-10-11 09:26:45 -04:00
djankowski 978e2344a3 Merge pull request 'Development' (#131) from Development into master
Merging C2023-016 and C2023-017 from development into master after successful testing.
2023-10-06 10:56:34 -04:00
djankowski c9bf45602c Merge pull request 'Development' (#128) from Development into master
Merging F2023-137 and B2023-100 from development into master. F2023-137 does not require testing since formats are under development. B2023-100 tested successfully.
2023-10-02 11:52:22 -04:00
djankowski aa160b2036 Merge pull request 'Development' (#124) from Development into master
Merging B2023-099 from development into master after successful testing.
2023-09-28 15:58:27 -04:00
djankowski f82b32d351 Merge pull request 'Development' (#122) from Development into master
Merging B2023-097 and B2023-098 from development into master after successful testing.
2023-09-26 14:58:05 -04:00
djankowski e519dc9a57 Merge pull request 'Development' (#120) from Development into master
Merging B2023-094 from development into master after successful testing.
2023-09-22 13:24:17 -04:00
djankowski f020c37db9 Merge pull request 'Development' (#118) from Development into master
Merged B2023-096 from development into master after successful testing.
2023-09-15 11:50:57 -04:00
djankowski 5a4ec3b6b1 Merge pull request 'Development' (#117) from Development into master
Merging F2023-135 and B2023-093 from development into master after successful testing.
2023-09-14 15:58:52 -04:00
djankowski 2602d6c9d2 Merge pull request 'Development' (#113) from Development into master
Merging C2023-015 from development into master.
2023-09-12 09:23:57 -04:00
djankowski ff403583d7 Merge pull request 'Development' (#111) from Development into master
Merging B2023-091 and B2023-078 from development into master.
2023-08-30 16:07:17 -04:00
djankowski c5577cc2bd Merge pull request 'Development' (#108) from Development into master
Merging F2023-134 from development into master.  No testing required since formats are under development.
2023-08-24 15:01:12 -04:00
djankowski 78be6e5dc1 Merge pull request 'Development' (#106) from Development into master
Merging GitAutomation from Development into Master.
2023-08-24 09:13:06 -04:00
djankowski b954a41375 Merge pull request 'Development' (#104) from Development into master
Merging B2023-089 and F2023-131 from Development into Master.  No testing required since formats are under development.
2023-08-24 09:05:31 -04:00
djankowski 0100a11cfe Merge pull request 'Development' (#101) from Development into master
Merging F2023-125 from development into master.  No testing required since formats are under development.
2023-08-23 08:19:00 -04:00
djankowski 04cf2e8534 Merge pull request 'Development' (#99) from Development into master
Merging F2023-130 from Development into Master. No testing required since formats are under development.
2023-08-22 15:04:22 -04:00
djankowski be00724818 Merge pull request 'Development' (#97) from Development into master
Merging B2023-088 from development into master.  No testing required since formats are under development.
2023-08-22 10:52:09 -04:00
djankowski 274d93c61a Merge pull request 'Development' (#94) from Development into master
Merging F2023-122 from development into master.  No testing required since formats are under development.
2023-08-22 08:53:57 -04:00
djankowski 7dc4c30436 Merge pull request 'Development' (#92) from Development into master
Merging F2023-127 from development into master.  No testing required since formats are under development.
2023-08-22 08:33:56 -04:00
djankowski 028ef4bc31 Merge pull request 'Development' (#89) from Development into master
Merging F2023-128 and F2023-129 from development into master.  No testing required since formats are under development.
2023-08-21 11:46:01 -04:00
djankowski 42124d65c7 Merge pull request 'Development' (#87) from Development into master
Merging F2023-118,  F2023-120 and F2023-121 from development into master.  No testing required since formats are under development.
2023-08-16 10:13:52 -04:00
7 changed files with 471 additions and 187 deletions
+10 -42
View File
@@ -245,17 +245,13 @@ namespace VEPROMS
displayBookMarks.SetupBookMarks(); // setup bookmarks in the child window displayBookMarks.SetupBookMarks(); // setup bookmarks in the child window
tc.MyCopyStep = myParent.tc.MyCopyStep; // copy the copystep info to the child window tc.MyCopyStep = myParent.tc.MyCopyStep; // copy the copystep info to the child window
//B2026 - 048 View Only Mode freezes PROMS if last tab closed
tc.EnableDisableStepProperties -= EnableDisableStepProperties;
tc.EnableDisableStepProperties += new StepTabRibbonEvent(EnableDisableStepProperties);
(tv.Nodes[0] as VETreeNode).InChildWindow = true; // tells us this folder's tree nodes are in the child window (tv.Nodes[0] as VETreeNode).InChildWindow = true; // tells us this folder's tree nodes are in the child window
} }
public void OpenItem(ItemInfo myItemInfo) public void OpenItem(ItemInfo myItemInfo)
{ {
tc.OpenItem(myItemInfo); tc.OpenItem(myItemInfo);
} }
public void RefreshItem(ItemInfo myItemInfo) public void RefreshItem(ItemInfo myItemInfo)
@@ -356,10 +352,9 @@ namespace VEPROMS
displayRO.TabControl = tc; // B2019-043 this was being passed in as a parameter for DisplayRO which caused issues with the Visual Studio designer displayRO.TabControl = tc; // B2019-043 this was being passed in as a parameter for DisplayRO which caused issues with the Visual Studio designer
bottomProgBar.ValueChanged += new EventHandler(bottomProgBar_ValueChanged); bottomProgBar.ValueChanged += new EventHandler(bottomProgBar_ValueChanged);
tc.EnableDisableStepProperties += new StepTabRibbonEvent(EnableDisableStepProperties);
// When creating an XY Plot, a System.Drawing.Graphics is needed and it requires a form. Use the main form. // When creating an XY Plot, a System.Drawing.Graphics is needed and it requires a form. Use the main form.
if (VlnSettings.DebugMode) if (VlnSettings.DebugMode)
{ {
MSWordToPDF.DebugStatus = 1; MSWordToPDF.DebugStatus = 1;
MSWordToPDF.OverrideColor = Color.Red; MSWordToPDF.OverrideColor = Color.Red;
@@ -969,18 +964,7 @@ namespace VEPROMS
{ {
pnl.ApplDisplayMode = displayApplicability.ViewMode; pnl.ApplDisplayMode = displayApplicability.ViewMode;
displayHistory.ApplDisplayMode = pnl.ApplDisplayMode; displayHistory.ApplDisplayMode = pnl.ApplDisplayMode;
//C2026-021 Expand Functionality of Viewing Mode
if (pnl.ApplDisplayMode > 0 && pnl.VwMode != E_ViewMode.View)
{
pnl.VwMode = E_ViewMode.View;
EnableDisableStepProperties(sender, new StepTabRibbonEventArgs(tc.SelectedDisplayTabItem.MyItemInfo, 0, pnl.VwMode));
MessageBox.Show("Changing to View Only Mode. Applicability Viewing Mode must be Master to return to Edit Mode. View Mode can be toggled off via the Ribbon->View tab.", "Changing to View Mode", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
pnl.MyStepTabPanel.MyStepTabRibbon.RefreshProcedure();
} }
} }
void tv_ViewPDF(object sender, vlnTreeViewPdfArgs args) void tv_ViewPDF(object sender, vlnTreeViewPdfArgs args)
@@ -4883,31 +4867,15 @@ namespace VEPROMS
//In View Only Mode - Step Properties should be disabled //In View Only Mode - Step Properties should be disabled
public void EnableDisableStepProperties(object sender, StepTabRibbonEventArgs args) public void EnableDisableStepProperties(object sender, StepTabRibbonEventArgs args)
{ {
//C2026 - 021 Expand Functionality of Viewing Mode if (args.ViewMode == E_ViewMode.View && (infoTabs.Enabled || infoTabs.SelectedTab != infotabTags))
//B2026 - 048 View Only Mode freezes PROMS if last tab closed
if (args.ViewMode == E_ViewMode.View && (infotabControlPanelTags.Enabled || (infoTabs.SelectedTab != infotabTags && infoTabs.SelectedTab != infotabApplicability)))
{ {
if (infoTabs.SelectedTab != infotabApplicability) infoTabs.Enabled = true;
{ infoTabs.SelectedTab = infotabTags;
infoTabs.SelectedTab = infotabTags; infoTabs.Enabled = false;
}
infotabControlPanelTags.Enabled = false;
infotabControlPanelRO.Enabled = false;
infotabControlPanelTransitions.Enabled = false;
tabControlPanel1.Enabled = false;
displayApplicability.SetEnableDisableItemSelection(false);
tcpFoldoutMaint.Enabled = false;
} }
else if (args.ViewMode != E_ViewMode.View && !infotabControlPanelTags.Enabled) else if (args.ViewMode != E_ViewMode.View && !infoTabs.Enabled)
{ {
infotabControlPanelTags.Enabled = true; infoTabs.Enabled = true;
infotabControlPanelRO.Enabled = true;
infotabControlPanelTransitions.Enabled = true;
tabControlPanel1.Enabled = true;
displayApplicability.SetEnableDisableItemSelection(true);
tcpFoldoutMaint.Enabled = true;
} }
} }
@@ -8123,10 +8123,6 @@ namespace VEPROMS.CSLA.Library
} }
set { _ChangeBarDate = value; } set { _ChangeBarDate = value; }
} }
//C2026-021 Expand Functionality of Viewing Mode
public void ResetChangeBar() => _ChangeBarDate = null;
public Dictionary<int, ItemInfo> MyLookup = null; public Dictionary<int, ItemInfo> MyLookup = null;
public override void SetupTags() public override void SetupTags()
{ {
@@ -46,6 +46,7 @@ namespace Volian.Controls.Library
names.Add(dcfg.Unit_Name); names.Add(dcfg.Unit_Name);
} }
dcfg.SelectedSlave = 0; dcfg.SelectedSlave = 0;
// string[] names = dcfg.Unit_Name.Split(',');
int apple = -1; int apple = -1;
if(_MyDisplayTabItem.MyStepTabPanel != null) if(_MyDisplayTabItem.MyStepTabPanel != null)
apple = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.ApplDisplayMode; apple = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.ApplDisplayMode;
@@ -54,7 +55,7 @@ namespace Volian.Controls.Library
foreach (string name in names) foreach (string name in names)
{ {
i++; i++;
AddViewMode($"{name.Trim()} (View Only)", i.ToString(), apple == i); AddViewMode(name.Trim(), i.ToString(), apple == i);
} }
AddItemMode("All", "-1", ref gpSubItem); AddItemMode("All", "-1", ref gpSubItem);
@@ -95,6 +96,9 @@ namespace Volian.Controls.Library
DevComponents.DotNetBar.Controls.GroupPanel gpSubItem; DevComponents.DotNetBar.Controls.GroupPanel gpSubItem;
gpSubItem = new DevComponents.DotNetBar.Controls.GroupPanel gpSubItem = new DevComponents.DotNetBar.Controls.GroupPanel
{ {
//
// gpSubItem
//
AutoSize = true, AutoSize = true,
AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink, AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink,
CanvasColor = System.Drawing.SystemColors.Control, CanvasColor = System.Drawing.SystemColors.Control,
@@ -126,11 +130,42 @@ namespace Volian.Controls.Library
set { _MyApplicability = value; } set { _MyApplicability = value; }
} }
//C2026-021 Expand Functionality of Viewing Mode //private ProcedureInfo _MyProcedureInfo;
public bool ShowItemSelection = true; //public ProcedureInfo MyProcedureInfo
public void SetEnableDisableItemSelection(bool value) => gpItem.Enabled = ShowItemSelection = value; //{
//get { return _MyProcedureInfo; }
private void AddItemMode(string name, string value, ref DevComponents.DotNetBar.Controls.GroupPanel gpSubItem) //set
//{
// _MyProcedureInfo = value;
// if (_MyProcedureInfo != null && _MyProcedureInfo.IsProcedure)
// {
// DocVersionConfig cfg = new DocVersionConfig(_MyProcedureInfo.MyDocVersion);
// if (cfg.Unit_Name == string.Empty)
// this.Visible = false;
// else
// {
// string[] names = cfg.Unit_Name.Split(',');
// gpMode.Controls.Clear();
// gpItem.Controls.Clear();
// MyCheckBoxes.Clear();
// AddViewMode("Master", "-1", true);
// int i = 0;
// foreach (string name in names)
// {
// AddViewMode(name.Trim(), (++i).ToString());
// }
// AddItemMode("All", "-1");
// i = 0;
// foreach (string name in names)
// AddItemMode(name.Trim(), (++i).ToString());
// AddItemMode("None", "0");
// //if(!this.Visible)
// // this.Visible = true;
// }
// }
//}
//}
private void AddItemMode(string name, string value, ref DevComponents.DotNetBar.Controls.GroupPanel gpSubItem)
{ {
CheckBox cb = new CheckBox(); CheckBox cb = new CheckBox();
cb.BackColor = Color.Transparent; cb.BackColor = Color.Transparent;
@@ -216,6 +251,18 @@ namespace Volian.Controls.Library
} }
} }
} }
//IItemConfig cfg = MyItemInfo.MyConfig as IItemConfig;
//cfg.MasterSlave_Applicability.SetFlags(MyApplicability);
//Content c = Content.Get(MyItemInfo.MyContent.ContentID);
//c.Save();
//foreach (TransitionInfo ti in MyItemInfo.ItemTransitions_ToID)
//{
// if (!ti.MyItemToID.IsApplicable(MyApplicability))
// {
// MessageBox.Show("you can't do this");
// return;
// }
//}
List<InvalidTransition> invalidTrans = WillTransitionsBeValidCommand.Execute(MyItemInfo.ItemID, MyApplicability); List<InvalidTransition> invalidTrans = WillTransitionsBeValidCommand.Execute(MyItemInfo.ItemID, MyApplicability);
// B2021-149: for Procedure level PC/PC, continue processing if all 'invalid' transitions are internal (query used // B2021-149: for Procedure level PC/PC, continue processing if all 'invalid' transitions are internal (query used
// return internal and external for the procedure level) // return internal and external for the procedure level)
@@ -260,6 +307,20 @@ namespace Volian.Controls.Library
// C2021 - 027: Procedure level PC/PC - checkbox for applicability changed, fix ribbon's menus // C2021 - 027: Procedure level PC/PC - checkbox for applicability changed, fix ribbon's menus
if (MyItemInfo.IsProcedure) _MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.SetParentChildCreatePDFButton(MyItemInfo.MyDocVersion.UnitNames, MyItemInfo); if (MyItemInfo.IsProcedure) _MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.SetParentChildCreatePDFButton(MyItemInfo.MyDocVersion.UnitNames, MyItemInfo);
//using (Content cnt = Content.Get(MyItemInfo.MyContent.ContentID))
//{
// cnt.DTS = DateTime.Now;
// cnt.UserID = Volian.Base.Library.VlnSettings.UserID;
// //cnt.Save();
//}
//using (Step s = Step.Get(MyItemInfo.ItemID))
//{
// IItemConfig cfg = new StepConfig(s);
// cfg.MasterSlave_Applicability = new Volian.Base.Library.BigNum(MyApplicability);
// s.MyContent.Config = cfg.ToString();
// s.Save();
//}
} }
private void BtnApplicabilitychg_Click(object sender, System.EventArgs e) private void BtnApplicabilitychg_Click(object sender, System.EventArgs e)
{ {
@@ -489,7 +550,7 @@ namespace Volian.Controls.Library
void DisplayApplicability_VisibleChanged(object sender, EventArgs e) void DisplayApplicability_VisibleChanged(object sender, EventArgs e)
{ {
MyItemInfo = MyItemInfo; MyItemInfo = MyItemInfo;
gpItem.Enabled = ShowItemSelection && UserInfo.CanEdit(MyUserInfo,(MyItemInfo == null) ? null : MyItemInfo.MyDocVersion); //Can Change Applicability gpItem.Enabled = UserInfo.CanEdit(MyUserInfo,(MyItemInfo == null) ? null : MyItemInfo.MyDocVersion); //Can Change Applicability
} }
} }
} }
@@ -145,6 +145,12 @@ namespace Volian.Controls.Library
return (verIdList.Count > 1); return (verIdList.Count > 1);
} }
} }
//public event ItemSelectedChangedEvent OpenEnhancedDocument;
//public void OnOpenEnhancedDocument(ItemSelectedChangedEventArgs args)
//{
// if (OpenEnhancedDocument != null)
// OpenEnhancedDocument(this, args);
//}
public event ItemSelectedChangedEvent OpenInSeparateWindow; public event ItemSelectedChangedEvent OpenInSeparateWindow;
public void OnOpenInSeparateWindow(ItemSelectedChangedEventArgs args) public void OnOpenInSeparateWindow(ItemSelectedChangedEventArgs args)
{ {
@@ -188,15 +194,15 @@ namespace Volian.Controls.Library
CopyStepSelected(this, args); CopyStepSelected(this, args);
} }
#region Private Fields #region Private Fields
/// <summary> /// <summary>
/// This is a lookup table for all of the DisplayTabItems that are currently open /// This is a lookup table for all of the DisplayTabItems that are currently open
/// The key is: /// The key is:
/// "Item - " + Procedure ItemID for step pages /// "Item - " + Procedure ItemID for step pages
/// "Doc - " + DocumentID for Word Documents /// "Doc - " + DocumentID for Word Documents
/// </summary> /// </summary>
public Dictionary<string, DisplayTabItem> _MyDisplayTabItems; public Dictionary<string, DisplayTabItem> _MyDisplayTabItems;
/// <summary> /// <summary>
/// When a Tab is closed it is added to this list. /// When a Tab is closed it is added to this list.
@@ -543,15 +549,7 @@ namespace Volian.Controls.Library
if (((Bar)sender).Items == null) return; if (((Bar)sender).Items == null) return;
if (((Bar)sender).Items.Count == 1)// Remove bar if last item is closed... if (((Bar)sender).Items.Count == 1)// Remove bar if last item is closed...
{ {
//B2026 - 048 View Only Mode freezes PROMS if last tab closed Bar bar = sender as Bar;
//if last item is closing, need to re-enable Step Properties
//so if closing in view only mode will not freeze when re-opening
if (MyEditItem != null && MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
{
OnEnableDisableStepProperties(new StepTabRibbonEventArgs(MyEditItem.MyItemInfo, 0, E_ViewMode.Edit));
}
Bar bar = sender as Bar;
if (bar != null) if (bar != null)
{ {
if (dotNetBarManager1.Bars.Contains(bar.Name)) if (dotNetBarManager1.Bars.Contains(bar.Name))
@@ -570,16 +568,9 @@ namespace Volian.Controls.Library
ActivateRemainingTab((Bar)sender); ActivateRemainingTab((Bar)sender);
} }
} }
#endregion
public event StepTabRibbonEvent EnableDisableStepProperties; #region Public Methods
private void OnEnableDisableStepProperties(StepTabRibbonEventArgs args) public void RefreshItem(ItemInfo myItemInfo)
{
if (EnableDisableStepProperties != null)
EnableDisableStepProperties(this, args);
}
#endregion
#region Public Methods
public void RefreshItem(ItemInfo myItemInfo)
{ {
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
string key = "Item - " + proc.ItemID.ToString(); string key = "Item - " + proc.ItemID.ToString();
+1 -22
View File
@@ -245,20 +245,6 @@ namespace Volian.Controls.Library
} }
protected void MyContent_Changed(object sender) protected void MyContent_Changed(object sender)
{ {
//C2026-021 Expand Functionality of Viewing Mode
if (MyStepPanel.ApplDisplayMode > 0)
{
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
}
else
{
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = 0;
}
MyItemInfo.MyProcedure.ResetChangeBar();
// Update the text to reflect the content change // Update the text to reflect the content change
MyItemInfo.RefreshItemAnnotations(); MyItemInfo.RefreshItemAnnotations();
ChangeBar = MyItemInfo.HasChangeBar; ChangeBar = MyItemInfo.HasChangeBar;
@@ -4128,14 +4114,7 @@ namespace Volian.Controls.Library
} }
} }
} }
//// TIMING: DisplayItem.TimeIt("CSLARTB Parent"); //// TIMING: DisplayItem.TimeIt("CSLARTB Parent");
//C2026-021 Expand Functionality of Viewing Mode
if (MyStepPanel.ApplDisplayMode > 0)
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
else
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
SetText(); SetText();
if (itemInfo.IsSupInfoPart) if (itemInfo.IsSupInfoPart)
{ {
+373 -77
View File
@@ -25,6 +25,7 @@ namespace Volian.Controls.Library
public delegate void StepRTBLocationEvent(object sender, StepRTBLocationEventArgs args); public delegate void StepRTBLocationEvent(object sender, StepRTBLocationEventArgs args);
public delegate void StepRTBMouseEvent(object sender, MouseEventArgs args); public delegate void StepRTBMouseEvent(object sender, MouseEventArgs args);
public delegate void StepRTBRoEvent(object sender, StepRTBRoEventArgs args); public delegate void StepRTBRoEvent(object sender, StepRTBRoEventArgs args);
//public delegate void StepRTBMouseWheelEvent(object sender, MouseEventArgs args);
public partial class StepRTB : RichTextBox // , IStepRTB public partial class StepRTB : RichTextBox // , IStepRTB
{ {
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
@@ -176,6 +177,18 @@ namespace Volian.Controls.Library
{ {
if (CursorMovement != null) CursorMovement(sender, args); if (CursorMovement != null) CursorMovement(sender, args);
} }
//public event StepRTBModeChangeEvent ModeChange;
//private void OnModeChange(object sender, StepRTBModeChangeEventArgs args)
//{
// //_MyModeChangeEventArgs = args;
// if (ModeChange != null) ModeChange(sender, args);
// else MessageBox.Show("StepRTB - no mode change defined");
//}
//public event StepRTBMouseWheelEvent MouseWheel;
//private void OnMouseWheel(object sender, MouseEventArgs args)
//{
// if (MouseWheel != null) MouseWheel(sender, args);
//}
/// <summary> /// <summary>
/// This event is not raised during all the in-between changes for link deletions /// This event is not raised during all the in-between changes for link deletions
@@ -279,6 +292,23 @@ namespace Volian.Controls.Library
} }
} }
} }
// use newer rich text box....
//[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
//static extern IntPtr LoadLibrary(string lpFileName);
//protected override CreateParams CreateParams
//{
// get
// {
// CreateParams prams = base.CreateParams;
// if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
// {
// //prams.ExStyle |= 0x020; // transparent
// prams.ClassName = "RICHEDIT50W";
// }
// return prams;
// }
//}
private E_FieldToEdit _FieldToEdit = E_FieldToEdit.StepText; private E_FieldToEdit _FieldToEdit = E_FieldToEdit.StepText;
public E_FieldToEdit FieldToEdit public E_FieldToEdit FieldToEdit
{ {
@@ -291,12 +321,14 @@ namespace Volian.Controls.Library
get get
{ {
//B2020-100 RHM Use SelectionFont rather than the font from the format file. //B2020-100 RHM Use SelectionFont rather than the font from the format file.
StringBuilder selectedRtfSB = new StringBuilder(); //if (_RtfPrefix == null)
//{
StringBuilder selectedRtfSB = new StringBuilder();
//AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
// B2021-100: if SelectionFont is null, use the FormatFont // B2021-100: if SelectionFont is null, use the FormatFont
AddFontTable(selectedRtfSB, SelectionFont==null?FormatFont:SelectionFont, FontIsFixed(FormatFont)); AddFontTable(selectedRtfSB, SelectionFont==null?FormatFont:SelectionFont, FontIsFixed(FormatFont));
_RtfPrefix = selectedRtfSB.ToString(); _RtfPrefix = selectedRtfSB.ToString();
//}
return _RtfPrefix + @"\f1\fs" + FormatFont.SizeInPoints * 2 + " "; return _RtfPrefix + @"\f1\fs" + FormatFont.SizeInPoints * 2 + " ";
} }
} }
@@ -343,6 +375,14 @@ namespace Volian.Controls.Library
get { if (_MyClassName == string.Empty)_MyClassName = CreateParams.ClassName; return _MyClassName; } get { if (_MyClassName == string.Empty)_MyClassName = CreateParams.ClassName; return _MyClassName; }
set { _MyClassName = value; } set { _MyClassName = value; }
} }
//private E_EditPrintMode _epMode = E_EditPrintMode.Edit;
//public E_EditPrintMode EpMode
//{
// get { return _epMode; }
// set {
// if (value == E_EditPrintMode.Print) Console.WriteLine("");
// _epMode = value; }
//}
private E_ViewMode _vwMode = E_ViewMode.Edit; private E_ViewMode _vwMode = E_ViewMode.Edit;
public E_ViewMode VwMode public E_ViewMode VwMode
{ {
@@ -450,63 +490,66 @@ namespace Volian.Controls.Library
ActiveMode = activeMode; ActiveMode = activeMode;
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true)); OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true));
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 2");
_InitializingRTB = true; _InitializingRTB = true;
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
//C2026-021 Expand Functionality of Viewing Mode //Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 3");
StepPanel pnl = (Parent as RTBItem)?.MyStepPanel; //if (_origDisplayText != null && vlntxt.StartText == _origDisplayText.StartText)
if (pnl?.ApplDisplayMode > 0) //{
{ // ReadOnly = !(EpMode == E_EditPrintMode.Edit && VwMode == E_ViewMode.Edit);
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = pnl.ApplDisplayMode; // if (!ReadOnly && !edit) ReadOnly = true;
} // return;
else //}
{ OrigDisplayText = vlntxt;
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
}
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
if (pnl?.ApplDisplayMode > 0 && MyItemInfo.MyContent.ContentRoUsageCount > 0)
{
vlntxt.StartText = RefreshROsWithUnitStartText(vlntxt.StartText, pnl.ApplDisplayMode);
}
OrigDisplayText = vlntxt;
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4"); //Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
// RHM 20101201 - Don't reset the text. Calculate the text and compare it with the existing text in AddRTFText // RHM 20101201 - Don't reset the text. Calculate the text and compare it with the existing text in AddRTFText
//Text = ""; // Initialize text before add text //Text = ""; // Initialize text before add text
// IMPORTANT: SetLineSpacing must be set before Links, otherwise it // IMPORTANT: SetLineSpacing must be set before Links, otherwise it
// was confusing the 'handle' of the rtf box. // was confusing the 'handle' of the rtf box.
//Console.WriteLine("'font',{0}", Font);
//if(Text == "")SelectionFont = Font; // Initialize SelectionFont
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "1");
if (FieldToEdit == E_FieldToEdit.StepText) if (FieldToEdit == E_FieldToEdit.StepText)
{ {
if (MyItemInfo != null) if (MyItemInfo != null)
{ {
//if (MyItemInfo.IsStep) Font = MyFontFamily == null ? MyItemInfo.FormatStepData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
//else Font = Font = MyFontFamily == null ? MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
if (MyItemInfo.IsStep) if (MyItemInfo.IsStep)
{ {
if (MyFontFamily == null) if (MyFontFamily == null)
{ {
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont1");
System.Drawing.Font fnt = MyItemInfo.FormatStepData.Font.WindowsFont; System.Drawing.Font fnt = MyItemInfo.FormatStepData.Font.WindowsFont;
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1a");
Application.DoEvents(); Application.DoEvents();
if (FontKey(Font) != FontKey(fnt)) if (FontKey(Font) != FontKey(fnt))
Font = fnt; Font = fnt;
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1b");
} }
else else
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style); Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
} }
else else
{ {
if (MyFontFamily == null) if (MyFontFamily == null)
{ {
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont2");
Font = MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont; Font = MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont;
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont2");
} }
else else
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style); Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 5");
} }
LastRtf = Rtf; LastRtf = Rtf;
} }
} }
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay Before SetLineSpacing");
RTBAPI.SetLineSpacing(this, RTBAPI.ParaSpacing.PFS_EXACT); RTBAPI.SetLineSpacing(this, RTBAPI.ParaSpacing.PFS_EXACT);
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay After SetLineSpacing");
bool readOnlyStep = MyItemInfo == null || MyItemInfo.FormatStepData == null ? false : MyItemInfo.FormatStepData.ReadOnly; bool readOnlyStep = MyItemInfo == null || MyItemInfo.FormatStepData == null ? false : MyItemInfo.FormatStepData.ReadOnly;
if (!readOnlyStep) if (!readOnlyStep)
{ {
@@ -514,9 +557,10 @@ namespace Volian.Controls.Library
if (IsDerived(sc) && !MyItemInfo.EnhAllowMod()) readOnlyStep = true; if (IsDerived(sc) && !MyItemInfo.EnhAllowMod()) readOnlyStep = true;
} }
ReadOnly = readOnlyStep || VwMode == E_ViewMode.View || ActiveMode == false; ReadOnly = readOnlyStep || VwMode == E_ViewMode.View || ActiveMode == false;
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before AddRTFText");
AddRtfText(vlntxt.StartText); AddRtfText(vlntxt.StartText);
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After AddRTFText");
//AddRtfStyles();
// set readonly based on initial modes, however, these may change if // set readonly based on initial modes, however, these may change if
// user selected view mode. // user selected view mode.
ClearUndo(); ClearUndo();
@@ -543,7 +587,10 @@ namespace Volian.Controls.Library
{ {
RemoveEventHandlers(); RemoveEventHandlers();
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(false));// View Mode OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(false));// View Mode
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before SelectAll");
SelectAll(); SelectAll();
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After SelectAll");
//if (SelectionHangingIndent !=0) SelectionHangingIndent = 0;
int indchar = 0; int indchar = 0;
string indentToken = MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken; string indentToken = MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken;
if (indentToken == null || indentToken == "0") indentToken = "\x5"; if (indentToken == null || indentToken == "0") indentToken = "\x5";
@@ -551,6 +598,7 @@ namespace Volian.Controls.Library
// this line of code was moved before the find for the indent so that // this line of code was moved before the find for the indent so that
// the window gets resized if the indent changes the height, i.e. more line(s) in window. // the window gets resized if the indent changes the height, i.e. more line(s) in window.
AddEventHandlers(); AddEventHandlers();
//if (MyItemInfo.InList(186722)) Console.WriteLine("here");
if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0) if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
{ {
int nindents = 0; int nindents = 0;
@@ -604,51 +652,11 @@ namespace Volian.Controls.Library
_InitializingRTB = false; _InitializingRTB = false;
AdjustSizeForContents(!ActiveMode); AdjustSizeForContents(!ActiveMode);
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After RefreshDisplay");
Application.DoEvents(); Application.DoEvents();
} }
//C2026-021 Expand Functionality of Viewing Mode private bool IsDerived(StepConfig sc)
//regex for finding Referenced object links
private static Regex regRefObj = new Regex(@"\#Link\:ReferencedObject:([0-9]*) ([0-9a-zA-Z]*) ([0-9]*)", RegexOptions.Singleline);
//Replace the Default RO text with Unit Specific RO text
private string RefreshROsWithUnitStartText(string startText, int unitID)
{
ROFSTLookup lookup = MyItemInfo.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyItemInfo.MyDocVersion);
MatchCollection mc = regRefObj.Matches(startText);
if (mc.Count == 0)
return startText;
StringBuilder sb = new StringBuilder();
int lastindex = 0;
foreach (Match match in mc)
{
//get where ther default text for the RO starts
int indx = startText.LastIndexOf(@"\v <START]\v0", match.Index) + 13;
//get the RO, value will be the unit related value
ROFSTLookup.rochild roc = lookup.GetRoChild(ROFSTLookup.FormatRoidKey(match.Groups[2].Value, true));
// append before tags up through the <START]\v0
//note if multiple tags this will also append the end up the previous tags
sb.Append(startText.Substring(lastindex, indx - lastindex));
//append the unit specific RO value (replacing where the default RO value was)
sb.Append($@"\cf1 {roc.value}\cf0\v");
lastindex = match.Index;
}
//append referenced object tag & text after tag
sb.Append(startText.Substring(lastindex));
return sb.ToString();
}
private bool IsDerived(StepConfig sc)
{ {
foreach (EnhancedDocument ed in sc.MyEnhancedDocuments) foreach (EnhancedDocument ed in sc.MyEnhancedDocuments)
if (ed.Type == 0) //New Design if (ed.Type == 0) //New Design
@@ -744,6 +752,8 @@ namespace Volian.Controls.Library
protected override void OnMouseWheel(MouseEventArgs e) protected override void OnMouseWheel(MouseEventArgs e)
{ {
OnDoMouseWheel(this, e); OnDoMouseWheel(this, e);
//MyRTBItem.MyStepPanel.MouseWheel(e);
//base.OnMouseWheel(e);
} }
// When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed // When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed
// event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the // event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the
@@ -886,6 +896,10 @@ namespace Volian.Controls.Library
{ {
_MouseDown = false; _MouseDown = false;
} }
//void MyConfig_PropertyChanged(object sender, PropertyChangedEventArgs e)
//{
// SaveConfig();
//}
private void StepRTB_Click(object sender, EventArgs e) private void StepRTB_Click(object sender, EventArgs e)
{ {
if (ReadOnly) return; if (ReadOnly) return;
@@ -943,6 +957,44 @@ namespace Volian.Controls.Library
} }
#endregion #endregion
#region ApplicationSupport #region ApplicationSupport
// Used in StepTabRibbon:
//public void ToggleEditView(E_ViewMode vwMode)
//{
// OnDoSaveContents(this, new EventArgs()); // SaveText();
// //ItemInfo tmp = MyItemInfo;
// //MyItemInfo = null;
// //ReadOnly = !ReadOnly;
// //EpMode = ReadOnly ? E_EditPrintMode.Print : E_EditPrintMode.Edit;
// VwMode = vwMode;
// ReadOnly = VwMode == E_ViewMode.View;
// ViewRTB = ReadOnly;
// Clear();
// RefreshDisplay(!ViewRTB);
// //MyItemInfo = tmp;
// SelectionStart = 0;
// SelectionLength = 0;
// //OnModeChange(this, new StepRTBModeChangeEventArgs(ViewRTB?E_ViewMode.View:E_ViewMode.Edit));
//}
//public string InsertSymbolInRO(string val)
//{
// string retval = val;
// C2019-043 convert a "->" to the Right Arrow symbol and a "<-" to the Left Arrow Symbol
// note that at the dash character gets convert to a non-breaking hyphen "\u8209?"
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue)
//{
// retval = retval.Replace("\\u8209?>", GetAddSymbolTextForROs(@"\u8594?")); // Right Arrow
// retval = retval.Replace("<\\u8209?", GetAddSymbolTextForROs(@"\u8592?")); // Left Arrow
//}
//// C2022-021 convert a "<=" to a less than or equal symbol, a ">=" to a greather than or equal symbol and +- to a
//// plus/minus symbol in ROs
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue)
//{
// retval = retval.Replace("<=", GetAddSymbolTextForROs(@"\u8804?")); // Less than or Equal
// retval = retval.Replace(">=", GetAddSymbolTextForROs(@"\u8805?")); // Greater than or Equal
// retval = retval.Replace("+\\u8209?", @"\'b1"); // plus/minus - note - is stored as \u8209 and plus/minus is < 256, i.e. handled differently
//}
// return retval;
//}
public void InsertRO(string value, string link) public void InsertRO(string value, string link)
{ {
// B2023-037: Remove code that saves the unicode characters for <=, >=, +-, <- and -> into the link text. The characters // B2023-037: Remove code that saves the unicode characters for <=, >=, +-, <- and -> into the link text. The characters
@@ -1120,6 +1172,8 @@ namespace Volian.Controls.Library
return; return;
} }
//Console.WriteLine("ItemID:{0}", MyItemInfo.ItemID); //Console.WriteLine("ItemID:{0}", MyItemInfo.ItemID);
//if(MyItemInfo.ItemID==10256)
// Volian.Base.Library.vlnStackTrace.ShowStackLocal("ItemID:{0}", MyItemInfo.ItemID.ToString());
StringBuilder selectedRtfSB = new StringBuilder(); StringBuilder selectedRtfSB = new StringBuilder();
AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont)); AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
_RtfPrefix = selectedRtfSB.ToString(); _RtfPrefix = selectedRtfSB.ToString();
@@ -1143,12 +1197,27 @@ namespace Volian.Controls.Library
} }
// B2017-048, B2017-052, B2017-055 ROs sometimes have two start tokens which make them uneditable. // B2017-048, B2017-052, B2017-055 ROs sometimes have two start tokens which make them uneditable.
newRtf = newRtf.Replace("<START]<START]", "<START]"); newRtf = newRtf.Replace("<START]<START]", "<START]");
//Point linkIssues = FindLinkIssues(newRtf);
//if (linkIssues.X != linkIssues.Y)
// newRtf = FixBadLinks(newRtf,linkIssues);
SelectedRtf = _LastRtf = newRtf; SelectedRtf = _LastRtf = newRtf;
_lastReadOnly = ReadOnly; _lastReadOnly = ReadOnly;
} }
FindAllLinks(); FindAllLinks();
if (txt == "") SelectionFont = FormatFont; if (txt == "") SelectionFont = FormatFont;
} }
//private string FixBadLinks(string newRtf, Point linkIssues)
//{
// Console.WriteLine("Bad Link rtf = Starts={0}, Ends={1}, \"{2}\"", linkIssues.X,linkIssues.Y, newRtf);
// //Volian.Base.Library.vlnStackTrace.ShowStack();
// return newRtf;
//}
//private static Point FindLinkIssues(string rtf)
//{
// MatchCollection mcStart = Regex.Matches(rtf, @"\<START\]");
// MatchCollection mcEnd = Regex.Matches(rtf, @"\[END\>");
// return new Point(mcStart.Count, mcEnd.Count);
//}
public void SetTableGridCellRTFPrefix(Font myfont) public void SetTableGridCellRTFPrefix(Font myfont)
{ {
if (_FormatFont == null) if (_FormatFont == null)
@@ -1213,7 +1282,7 @@ namespace Volian.Controls.Library
sbbeg.Append(@"\i"); sbbeg.Append(@"\i");
sbend.Insert(0, @"\i0"); sbend.Insert(0, @"\i0");
} }
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
if (!isFixed) if (!isFixed)
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
else else
@@ -1222,7 +1291,7 @@ namespace Volian.Controls.Library
// use styles to construct rtf commands to insert into next line (where \b, etc is) // use styles to construct rtf commands to insert into next line (where \b, etc is)
// B2015-134 Hanging Indent with Hard Returns was not being saved- removed \sl-240\slmult0 // B2015-134 Hanging Indent with Hard Returns was not being saved- removed \sl-240\slmult0
selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}"; selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
//selectedRtfSB.Append(@"\viewkind4\uc1\pard\sl-240\slmult0" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
} }
private bool FontIsFixed(Font myFont) private bool FontIsFixed(Font myFont)
@@ -1327,6 +1396,7 @@ namespace Volian.Controls.Library
{ {
string fonttab = FontTable; string fonttab = FontTable;
string fontsize = FontSize; string fontsize = FontSize;
//if (this.DetectUrls) this.DetectUrls = false;
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null); if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
int position = SelectionStart; int position = SelectionStart;
SelectionLength = 0; SelectionLength = 0;
@@ -1356,6 +1426,7 @@ namespace Volian.Controls.Library
} }
private void AddLink50(string linkValue, string linkUrl) private void AddLink50(string linkValue, string linkUrl)
{ {
//this.DetectUrls = false;
int position = SelectionStart; int position = SelectionStart;
SelectionLength = 0; SelectionLength = 0;
SelectedRtf = string.Format(@"{{\rtf\field{{\*\fldinst{{HYPERLINK ""www.volian.com #{0}"" }}}}{{\fldrslt{{\cf2\ul {1}}}}}}}", linkUrl, linkValue); SelectedRtf = string.Format(@"{{\rtf\field{{\*\fldinst{{HYPERLINK ""www.volian.com #{0}"" }}}}{{\fldrslt{{\cf2\ul {1}}}}}}}", linkUrl, linkValue);
@@ -1408,6 +1479,9 @@ namespace Volian.Controls.Library
{ {
Size offset = Size - ClientSize; Size offset = Size - ClientSize;
int widthNew = (this is TableCellEditor) ? Width : (ContentsSize.Width + offset.Width + AdjustSize.Width); int widthNew = (this is TableCellEditor) ? Width : (ContentsSize.Width + offset.Width + AdjustSize.Width);
//int widthNew = Width;
//if (!(this is TableCellEditor))
// widthNew = ContentsSize.Width + offset.Width + AdjustSize.Width;
int heightNew = ContentsSize.Height + offset.Height + AdjustSize.Height; int heightNew = ContentsSize.Height + offset.Height + AdjustSize.Height;
// Don't make the window narrower unless it has text - RHM - 20100107 // Don't make the window narrower unless it has text - RHM - 20100107
Size szNew = new Size(((Text != "" && adjustWidth) ? widthNew : (widthNew > Width ? widthNew : Width)), heightNew); Size szNew = new Size(((Text != "" && adjustWidth) ? widthNew : (widthNew > Width ? widthNew : Width)), heightNew);
@@ -1545,6 +1619,22 @@ namespace Volian.Controls.Library
} }
#endregion #endregion
#region ColorSupport - Not currently used. #region ColorSupport - Not currently used.
//private void SetBackGroundColor(ItemInfo itemInfo)
//{
// string backcolor = null;
// int type = (int)itemInfo.MyContent.Type;
// FormatInfo formatinfo = itemInfo.ActiveFormat;
// if (type == (int)E_FromType.Procedure)
// backcolor = formatinfo.PlantFormat.FormatData.ProcData.BackColor;
// else if (type == (int)E_FromType.Section)
// backcolor = formatinfo.PlantFormat.FormatData.SectData.BackColor;
// else
// {
// int typindx = (int)itemInfo.MyContent.Type - 20000; // what to do for other types rather than steps
// backcolor = formatinfo.PlantFormat.FormatData.StepDataList[typindx].StepLayoutData.BackColor;
// }
// BackColor = Color.FromName(backcolor);
//}
#endregion #endregion
#region EventSupport #region EventSupport
#region LinkEvents #region LinkEvents
@@ -1577,6 +1667,8 @@ namespace Volian.Controls.Library
#region TextAndContentsEvents #region TextAndContentsEvents
void StepRTB_TextChanged(object sender, EventArgs e) void StepRTB_TextChanged(object sender, EventArgs e)
{ {
//if (Rtf.Contains("<START]<START]"))
// Volian.Base.Library.vlnStackTrace.ShowStackLocal(2, 10, "Start Start ItemID={0}", MyItemInfo.ItemID);
if (_InitializingRTB || _IsExperimenting) return; if (_InitializingRTB || _IsExperimenting) return;
// Was setting _IsDirty to true here, but this was getting called from // Was setting _IsDirty to true here, but this was getting called from
// 'dotnetbar' when text was NOT Changed. So _IsDirty was made into // 'dotnetbar' when text was NOT Changed. So _IsDirty was made into
@@ -1612,6 +1704,7 @@ namespace Volian.Controls.Library
private void HandleLocalSelectionChange() private void HandleLocalSelectionChange()
{ {
if (this.MyItemInfo != null && this.MyItemInfo.IsRtfRaw) return; // B2017-023 null reference check for empty workdraft set information dialog if (this.MyItemInfo != null && this.MyItemInfo.IsRtfRaw) return; // B2017-023 null reference check for empty workdraft set information dialog
//if (MyRTBItem != null && MyRTBItem.MyStepPanel.SelectedStepRTB != this)
if (OnIsNotCurrentSelection(this, new EventArgs())) if (OnIsNotCurrentSelection(this, new EventArgs()))
return; return;
@@ -1627,6 +1720,8 @@ namespace Volian.Controls.Library
SelectAll(); SelectAll();
_HandlingCtrlA = false; _HandlingCtrlA = false;
} }
//HandleOverWrite();
//vlnStackTrace.ShowStackLocal("HandleSelectionChangeStack", 1, 10);
bool startingValue = _AdjustingSelection; bool startingValue = _AdjustingSelection;
if (_IdentifyingLinks || _ProcessingDelete) return; if (_IdentifyingLinks || _ProcessingDelete) return;
// If the cursor is beyond the end of the line then move the cursor back one character // If the cursor is beyond the end of the line then move the cursor back one character
@@ -1736,6 +1831,14 @@ namespace Volian.Controls.Library
return false; return false;
} }
//private void HandleOverWrite()
//{
// if (!_OverWrite) return;
// if (SelectionLength > 0) return;
// if (SelectionStart == TextLength) return;
// Console.WriteLine("Handle Overwrite, SelectionStart = {0}, SelectionLength = {1}", SelectionStart, SelectionLength);
// SelectionLength = 1;
//}
private bool _CheckSelection = false; private bool _CheckSelection = false;
#endregion #endregion
#region Delete Handlers #region Delete Handlers
@@ -1754,7 +1857,7 @@ namespace Volian.Controls.Library
DeleteCurrentSelection(keychars); DeleteCurrentSelection(keychars);
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
break; break;
case RangeStatus.Before_Between: case RangeStatus.Before_Between: //myRTB1.SelectedText.EndsWith(@"[END><START]")
DeleteEndBetweenLinks(keychars); DeleteEndBetweenLinks(keychars);
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
break; break;
@@ -1824,15 +1927,19 @@ namespace Volian.Controls.Library
/// <param name="setSelect"></param> /// <param name="setSelect"></param>
private void InsertCharBetweenLinks(LinkLocation ll, char charToAdd, bool setSelect) private void InsertCharBetweenLinks(LinkLocation ll, char charToAdd, bool setSelect)
{ {
//_InsertingSpaceBetweenLinks = true;
DebugPrint("ICBLvvvvvvvvvvvvvvv>>>"); DebugPrint("ICBLvvvvvvvvvvvvvvv>>>");
Rtf = Rtf.Substring(0, ll.StartRtf) + @"\v0 " + charToAdd.ToString() + @"\v " + Rtf.Substring(ll.StartRtf); Rtf = Rtf.Substring(0, ll.StartRtf) + @"\v0 " + charToAdd.ToString() + @"\v " + Rtf.Substring(ll.StartRtf);
//_InsertingSpaceBetweenLinks = false;
if (setSelect) if (setSelect)
SelectionStart = ll.Start - 6; // account for <START] - 1 for the character typed SelectionStart = ll.Start - 6; // account for <START] - 1 for the character typed
DebugPrint("ICBL^^^^^^^^^^^^^^^>>>"); DebugPrint("ICBL^^^^^^^^^^^^^^^>>>");
} }
private void ExpandSelectionToIncludeStart() private void ExpandSelectionToIncludeStart()
{ {
//_AdjustingSelection = true;
SetSelection(SelectionStart - 7, SelectionLength + 7); // Expand selection to include start SetSelection(SelectionStart - 7, SelectionLength + 7); // Expand selection to include start
//_AdjustingSelection = false;
} }
public string GetSelectionForClipBoard() public string GetSelectionForClipBoard()
{ {
@@ -1879,6 +1986,7 @@ namespace Volian.Controls.Library
{ {
_SendBackSpace = true; _SendBackSpace = true;
RtbSendKeys("{BS}"); // remove X RtbSendKeys("{BS}"); // remove X
//this.ClearUndo(); // undo was redisplay 'X' and then deleted text
Application.DoEvents(); Application.DoEvents();
DebugSelection("After BS"); DebugSelection("After BS");
} }
@@ -1897,7 +2005,9 @@ namespace Volian.Controls.Library
int slen = SelectionLength + 1 - 7; int slen = SelectionLength + 1 - 7;
// This puts a space at the link that starts at the end of the selection // This puts a space at the link that starts at the end of the selection
InsertCharBetweenLinks(_RangeEndLink.NextLink); InsertCharBetweenLinks(_RangeEndLink.NextLink);
//_AdjustingSelection = true;
DeleteSelection(sstart, slen, keychars); DeleteSelection(sstart, slen, keychars);
//_AdjustingSelection = false;
_ProcessingKeys--; _ProcessingKeys--;
} }
private void DeleteStartBetweenLinks(string keychars) private void DeleteStartBetweenLinks(string keychars)
@@ -1906,6 +2016,7 @@ namespace Volian.Controls.Library
DebugSelection("DeleteStartBetweenLinks"); DebugSelection("DeleteStartBetweenLinks");
int slen = SelectionLength + 8; int slen = SelectionLength + 8;
int sstart = SelectionStart - 7; int sstart = SelectionStart - 7;
//LinkLocation ll = FindBetweenLinks(SelectionStart);
InsertCharBetweenLinks(_RangeStartLink); InsertCharBetweenLinks(_RangeStartLink);
DeleteSelection(sstart, slen, keychars); DeleteSelection(sstart, slen, keychars);
_ProcessingKeys--; _ProcessingKeys--;
@@ -1916,6 +2027,7 @@ namespace Volian.Controls.Library
DebugSelection("DeleteFromStartOfBox"); DebugSelection("DeleteFromStartOfBox");
int slen = SelectionLength; int slen = SelectionLength;
SetSelection(0, 0); SetSelection(0, 0);
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
SelectedText = " "; SelectedText = " ";
DeleteSelection(0, slen + 8, keychars); DeleteSelection(0, slen + 8, keychars);
_ProcessingKeys--; _ProcessingKeys--;
@@ -1926,8 +2038,12 @@ namespace Volian.Controls.Library
DebugSelection("DeleteFromStartOfBoxEndBetweenLinks"); DebugSelection("DeleteFromStartOfBoxEndBetweenLinks");
// This puts a space at the link that starts at the end of the selection // This puts a space at the link that starts at the end of the selection
int sLen = SelectionStart + SelectionLength - 7 + 2;// -7 for <START] + 2 for the spaces that are added int sLen = SelectionStart + SelectionLength - 7 + 2;// -7 for <START] + 2 for the spaces that are added
//LinkLocation ll = FindBetweenLinks(SelectionStart + SelectionLength);
InsertCharBetweenLinks(_RangeEndLink.NextLink); InsertCharBetweenLinks(_RangeEndLink.NextLink);
//RtbSendKeys("{RIGHT} "); // open for space between links which separates END/START tokens
//int sLen = myRTB1.SelectionStart;
SetSelection(0, 0); SetSelection(0, 0);
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
SelectedText = " "; // open for space between links which separates END/START tokens SelectedText = " "; // open for space between links which separates END/START tokens
DeleteSelection(0, sLen, keychars); DeleteSelection(0, sLen, keychars);
_ProcessingKeys--; _ProcessingKeys--;
@@ -2034,7 +2150,7 @@ namespace Volian.Controls.Library
srtb.Rtf = this.SelectedRtf.Replace(@"\u8209?", "-"); srtb.Rtf = this.SelectedRtf.Replace(@"\u8209?", "-");
srtb.Rtf = srtb.Rtf.Replace(@"\u9586?", @"\\"); srtb.Rtf = srtb.Rtf.Replace(@"\u9586?", @"\\");
string rtnstr = ""; string rtnstr = "";
string ctxt = srtb.Text; string ctxt = srtb.Text;//this.SelectedText;
if (ctxt.EndsWith("<START]")) if (ctxt.EndsWith("<START]"))
ctxt = ctxt.Substring(0, ctxt.Length - 7); ctxt = ctxt.Substring(0, ctxt.Length - 7);
int idx = 0; int idx = 0;
@@ -2163,6 +2279,7 @@ namespace Volian.Controls.Library
if (MyItemInfo != null && MyItemInfo.IsRtfRaw && MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION") && !hasEquation) if (MyItemInfo != null && MyItemInfo.IsRtfRaw && MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION") && !hasEquation)
{ {
FlexibleMessageBox.Show("Cannot paste non-equation data into an equation step type.", "Invalid data", MessageBoxButtons.OK); FlexibleMessageBox.Show("Cannot paste non-equation data into an equation step type.", "Invalid data", MessageBoxButtons.OK);
//richTextBox1.Dispose();
e.Handled = true; e.Handled = true;
return; return;
} }
@@ -2170,6 +2287,7 @@ namespace Volian.Controls.Library
else if (hasEquation && (MyItemInfo == null || (MyItemInfo != null && !MyItemInfo.IsRtfRaw && !MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION")))) else if (hasEquation && (MyItemInfo == null || (MyItemInfo != null && !MyItemInfo.IsRtfRaw && !MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION"))))
{ {
FlexibleMessageBox.Show("Cannot paste equation data into an non-equation step type.", "Invalid data", MessageBoxButtons.OK); FlexibleMessageBox.Show("Cannot paste equation data into an non-equation step type.", "Invalid data", MessageBoxButtons.OK);
//richTextBox1.Dispose();
e.Handled = true; e.Handled = true;
return; return;
} }
@@ -2428,6 +2546,16 @@ namespace Volian.Controls.Library
if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null); if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null);
break; break;
case Keys.Insert: case Keys.Insert:
//_OverWrite = !_OverWrite;
//if (_OverWrite)
//{
// HandleSelectionChange();
//}
//else
//{
// SelectionLength = 0;
// HandleSelectionChange();
//}
// For now, don't allow for toggling between insert/overwrite mode - see // For now, don't allow for toggling between insert/overwrite mode - see
// comment on _OverWrite // comment on _OverWrite
e.Handled = true; e.Handled = true;
@@ -2441,11 +2569,21 @@ namespace Volian.Controls.Library
if (e.Shift) if (e.Shift)
{ {
e.Handled = true; e.Handled = true;
ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep; ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep;
if (myCopyStep != null) if (myCopyStep != null)
{ {
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste")); // commented out as part of bug fix B2016-148 to fix the <Shift><F5> not popping up the paste options
} //if (this.MyItemInfo.IsSection && myCopyStep.IsSection)
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
//if (this.MyItemInfo.IsStep && myCopyStep.IsStep)
//{
// if ((this.MyItemInfo.IsHigh && myCopyStep.IsHigh) || (!this.MyItemInfo.IsHigh && !myCopyStep.IsHigh))
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
//}
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
}
//if (!OnCheckClipboard(this, new EventArgs())) return; // check if 'clipboard' contains a step.
//OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
} }
else if (!e.Control && !e.Alt) else if (!e.Control && !e.Alt)
{ {
@@ -2650,6 +2788,7 @@ namespace Volian.Controls.Library
} }
if (Text == "" && Parent != null && Parent is VlnFlexGrid) if (Text == "" && Parent != null && Parent is VlnFlexGrid)
{ {
//ShowMyParentsFonts();
SelectionFont = Parent.Font; SelectionFont = Parent.Font;
} }
// add the character with its font depending on the char.... // add the character with its font depending on the char....
@@ -2903,6 +3042,7 @@ namespace Volian.Controls.Library
_AdjustingSelection = true; _AdjustingSelection = true;
PushSelection(); PushSelection();
FindLinks(); FindLinks();
//IdentifyLinks();
PopSelection(); PopSelection();
LinkLocation llx = FindLinkLocation(); LinkLocation llx = FindLinkLocation();
if (_CheckSelection) if (_CheckSelection)
@@ -3117,6 +3257,98 @@ namespace Volian.Controls.Library
Select(locStart, locLength); Select(locStart, locLength);
} }
#endregion #endregion
//#region FontAndStylesSupport
//private void ToggleFontStyle(FontStyle style, bool att_on)
//{
// int start = SelectionStart;
// int len = SelectionLength;
// System.Drawing.Font currentFont;
// FontStyle fs;
// for (int i = 0; i < len; ++i)
// {
// Select(start + i, 1);
// currentFont = SelectionFont;
// fs = currentFont.Style;
// //add or remove style
// if (!att_on)fs = fs | style;
// else fs = fs & ~style;
// SelectionFont = new Font(
// currentFont.FontFamily,
// currentFont.Size,
// fs
// );
// }
//}
/// <summary>
/// Returns a Font with:
/// 1) The font applying to the entire selection, if none is the default font.
/// 2) The font size applying to the entire selection, if none is the size of the default font.
/// 3) A style containing the attributes that are common to the entire selection, default regular.
/// </summary>
///
//public Font GetFontDetails()
//{
// //This method should handle cases that occur when multiple fonts/styles are selected
// int start = SelectionStart;
// int len = SelectionLength;
// int TempStart = 0;
// if (len <= 1)
// {
// // Return the selection or default font
// if (SelectionFont != null)
// return SelectionFont;
// else
// return Font; // should be default from format.
// }
// // Step through the selected text one char at a time
// // after setting defaults from first char
// _rtbTemp.Rtf = SelectedRtf;
// //Turn everything on so we can turn it off one by one
// FontStyle replystyle =
// FontStyle.Bold | FontStyle.Italic | FontStyle.Underline;
// // Set reply font, size and style to that of first char in selection.
// _rtbTemp.Select(TempStart, 1);
// string replyfont = _rtbTemp.SelectionFont.Name;
// float replyfontsize = _rtbTemp.SelectionFont.Size;
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
// // Search the rest of the selection
// for (int i = 1; i < len; ++i)
// {
// _rtbTemp.Select(TempStart + i, 1);
// // Check reply for different style
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
// // Check font
// if (replyfont != _rtbTemp.SelectionFont.FontFamily.Name)
// replyfont = "";
// // Check font size
// if (replyfontsize != _rtbTemp.SelectionFont.Size)
// replyfontsize = (float)0.0;
// }
// // Now set font and size if more than one font or font size was selected
// if (replyfont == "")
// replyfont = _rtbTemp.Font.FontFamily.Name;
// if (replyfontsize == 0.0)
// replyfontsize = _rtbTemp.Font.Size;
// // generate reply font
// Font reply
// = new Font(replyfont, replyfontsize, replystyle);
// return reply;
//}
//#endregion
#region EnumsSelectionRange #region EnumsSelectionRange
private enum StartStatus : int private enum StartStatus : int
{ {
@@ -3193,6 +3425,12 @@ namespace Volian.Controls.Library
DebugPrint("SelectionStart {0}, SelectionEnd {1}, TextLength {2}", DebugPrint("SelectionStart {0}, SelectionEnd {1}, TextLength {2}",
SelectionStart, SelectionStart + SelectionLength, SelectionStart, SelectionStart + SelectionLength,
TextLength); TextLength);
//if (_RangeStartLink != null)
// _RangeStartLink.Show("startLink");
//if (_RangeEndLink != null)
// _RangeEndLink.Show("endLink");
//if (foundLink != null)
// foundLink.Show("foundLink");
if (foundLink == null) if (foundLink == null)
return RTBRangeStatus = RangeStatus.NoContainedLinks; return RTBRangeStatus = RangeStatus.NoContainedLinks;
@@ -3511,6 +3749,7 @@ namespace Volian.Controls.Library
static void tsi_Click(object sender, EventArgs e) static void tsi_Click(object sender, EventArgs e)
{ {
ToolStripMenuItem tsmi = sender as ToolStripMenuItem; ToolStripMenuItem tsmi = sender as ToolStripMenuItem;
//_ContextMenuStepRTB.MyRTBItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.OpenContextMenu(tsmi.Owner.Location);
_ContextMenuStepRTB.OnOpenContextMenu(sender, new StepRTBLocationEventArgs(tsmi.Owner.Location)); _ContextMenuStepRTB.OnOpenContextMenu(sender, new StepRTBLocationEventArgs(tsmi.Owner.Location));
} }
// This is our customized Spell Check dialog // This is our customized Spell Check dialog
@@ -3905,6 +4144,63 @@ namespace Volian.Controls.Library
if (NextLink != null) if (NextLink != null)
Console.WriteLine("LinkLocation: {0}.NextLink {1}", str, NextLink); Console.WriteLine("LinkLocation: {0}.NextLink {1}", str, NextLink);
} }
// #region ClipboardHandler
// private const int WM_CUT = 0x0300;
// private const int WM_COPY = 0x0301;
// private const int WM_PASTE = 0x0302;
// public delegate void ClipboardEventHandler(object sender, ClipboardEventArgs e);
// [Category("Clipboard")]
// public event ClipboardEventHandler CutText;
// [Category("Clipboard")]
// public event ClipboardEventHandler CopiedText;
// [Category("Clipboard")]
// public event ClipboardEventHandler PastedText;
// protected override void WndProc(ref Message m)
// {
// if (m.Msg == WM_CUT)
// {
// if (CutText != null)
// CutText(this, new ClipboardEventArgs(this.SelectedText));
// }
// else if (m.Msg == WM_COPY)
// {
// if (CopiedText != null)
// CopiedText(this, new ClipboardEventArgs(this.SelectedText));
// }
// else if (m.Msg == WM_PASTE)
// {
// if (PastedText != null)
// PastedText(this, new ClipboardEventArgs(Clipboard.GetText()));
// }
// base.WndProc(ref m);
// }
//}
//public class ClipboardEventArgs : EventArgs
//{
// private string clipboardText;
// public string ClipboardText
// {
// get
// {
// return clipboardText;
// }
// set
// {
// clipboardText = value;
// }
// }
// public ClipboardEventArgs(string clipboardText)
// {
// this.clipboardText = clipboardText;
// }
// #endregion
} }
#endregion #endregion
@@ -3367,14 +3367,7 @@ namespace Volian.Controls.Library
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return; return;
} }
//C2026-021 Expand Functionality of Viewing Mode else if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View && MyEditItem.MyStepPanel.ApplDisplayMode > 0)
{
//Procedure Viewing Mode is set to a specific Unit - so cannot exit vie only mode
MessageBox.Show(this, "Procedures with multiple units are only editable when the Viewing Mode is set to Master. To change out of View Only Mode, first open the Step Propeties panel->Applicability tab and change the Viewing Mode to be Master. Then you can disable View Only Mode.", "Procedure Viewing Mode Incompatiple with Edits", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
{ {
//swapping into edit mode, so check out procedure and Setup Security //swapping into edit mode, so check out procedure and Setup Security
(this.Parent as StepTabPanel).MyDisplayTabItem.OwnerID = MySessionInfo.CheckOutItem(MyEditItem.MyItemInfo.MyProcedure.ItemID, 0); (this.Parent as StepTabPanel).MyDisplayTabItem.OwnerID = MySessionInfo.CheckOutItem(MyEditItem.MyItemInfo.MyProcedure.ItemID, 0);