Compare commits
	
		
			58 Commits
		
	
	
		
			B2025-049
			...
			F2025-031_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| 081373fc0d | |||
| 9130604fa6 | |||
| e8b32c4ed3 | |||
| 72ca259771 | |||
| d175c4b564 | 
@@ -32,7 +32,7 @@ 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.3.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.3.yyMM.dHH") + "\")");
 | 
			
		||||
					//		if (outline != line)
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -59,7 +59,7 @@
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
@@ -85,6 +85,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -92,7 +93,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -103,7 +104,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -71,7 +71,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -96,6 +96,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -103,7 +104,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,7 @@
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
@@ -44,13 +45,14 @@
 | 
			
		||||
    <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>
 | 
			
		||||
@@ -59,7 +61,7 @@
 | 
			
		||||
    <DefineConstants>TRACE</DefineConstants>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -409,7 +409,7 @@ namespace RODBInterface
 | 
			
		||||
			GetDbServerInfo(ropath);
 | 
			
		||||
			if (!dbProviderType.Equals((int)DB_PROVIDER.SQL_SERVER))
 | 
			
		||||
			{
 | 
			
		||||
				strDatabaseConnectionCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source=" + DataConnectionPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
 | 
			
		||||
				strDatabaseConnectionCommand = "Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source=" + DataConnectionPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -171,6 +173,17 @@
 | 
			
		||||
      <Name>VlnStatus</Name>
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <COMReference Include="Microsoft.Office.Interop.Access.Dao">
 | 
			
		||||
      <Guid>{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}</Guid>
 | 
			
		||||
      <VersionMajor>12</VersionMajor>
 | 
			
		||||
      <VersionMinor>0</VersionMinor>
 | 
			
		||||
      <Lcid>0</Lcid>
 | 
			
		||||
      <WrapperTool>primary</WrapperTool>
 | 
			
		||||
      <Isolated>False</Isolated>
 | 
			
		||||
      <EmbedInteropTypes>True</EmbedInteropTypes>
 | 
			
		||||
    </COMReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <PreBuildEvent>
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE;Upgrade2005;</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -77,6 +77,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -101,6 +102,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -108,7 +110,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -119,7 +121,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -73,6 +73,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -97,6 +98,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -62,6 +62,7 @@
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
@@ -86,6 +87,7 @@
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
@@ -93,7 +95,7 @@
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <BaseAddress>285212672</BaseAddress>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
@@ -104,7 +106,7 @@
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <DebugType>
 | 
			
		||||
    </DebugType>
 | 
			
		||||
    <PlatformTarget>x86</PlatformTarget>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <Prefer32Bit>false</Prefer32Bit>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -229,7 +229,7 @@ namespace RoAccessToSql
 | 
			
		||||
					if (sqlConnection.State == ConnectionState.Open)
 | 
			
		||||
					{
 | 
			
		||||
						// now try to open access db:
 | 
			
		||||
						string strDatabaseConnectionCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source=" + MSAccessPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
 | 
			
		||||
						string strDatabaseConnectionCommand = "Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source=" + MSAccessPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
 | 
			
		||||
						using (OleDbConnection accessConnection = new OleDbConnection(strDatabaseConnectionCommand))
 | 
			
		||||
						{
 | 
			
		||||
							try
 | 
			
		||||
 
 | 
			
		||||
@@ -100,6 +100,17 @@
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="App.config" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <COMReference Include="Microsoft.Office.Interop.Access.Dao">
 | 
			
		||||
      <Guid>{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}</Guid>
 | 
			
		||||
      <VersionMajor>12</VersionMajor>
 | 
			
		||||
      <VersionMinor>0</VersionMinor>
 | 
			
		||||
      <Lcid>0</Lcid>
 | 
			
		||||
      <WrapperTool>primary</WrapperTool>
 | 
			
		||||
      <Isolated>False</Isolated>
 | 
			
		||||
      <EmbedInteropTypes>True</EmbedInteropTypes>
 | 
			
		||||
    </COMReference>
 | 
			
		||||
  </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.
 | 
			
		||||
 
 | 
			
		||||
@@ -1099,7 +1099,9 @@ namespace VEPROMS
 | 
			
		||||
					(int)changeBarData.FixedChangeColumn :
 | 
			
		||||
					System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]);
 | 
			
		||||
				//cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn;
 | 
			
		||||
				if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
 | 
			
		||||
				if (cbd.MyChangeBarText == PrintChangeBarText.UserDef && !string.IsNullOrEmpty(ppTxbxChangeBarUserMsgOne.Text))
 | 
			
		||||
					cbd.MyChangeBarMessage = ppTxbxChangeBarUserMsgOne.Text + @"\n" + ppTxbxChangeBarUserMsgTwo.Text;
 | 
			
		||||
				else if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
 | 
			
		||||
					cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2;
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -28,328 +28,416 @@ namespace VEPROMS
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		private void InitializeComponent()
 | 
			
		||||
		{
 | 
			
		||||
			this.components = new System.ComponentModel.Container();
 | 
			
		||||
			this.tcSecurity = new System.Windows.Forms.TabControl();
 | 
			
		||||
			this.tpGroupUsers = new System.Windows.Forms.TabPage();
 | 
			
		||||
			this.pnlMembers = new System.Windows.Forms.Panel();
 | 
			
		||||
			this.lstMembers = new System.Windows.Forms.ListBox();
 | 
			
		||||
			this.lblMembers = new System.Windows.Forms.Label();
 | 
			
		||||
			this.label6 = new System.Windows.Forms.Label();
 | 
			
		||||
			this.tvFolders = new System.Windows.Forms.TreeView();
 | 
			
		||||
			this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
			this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.lstUsers = new System.Windows.Forms.ListBox();
 | 
			
		||||
			this.label5 = new System.Windows.Forms.Label();
 | 
			
		||||
			this.label3 = new System.Windows.Forms.Label();
 | 
			
		||||
			this.lstGroups = new System.Windows.Forms.ListBox();
 | 
			
		||||
			this.tpDefault = new System.Windows.Forms.TabPage();
 | 
			
		||||
			this.label8 = new System.Windows.Forms.Label();
 | 
			
		||||
			this.pnlGroups = new System.Windows.Forms.Panel();
 | 
			
		||||
			this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
			this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
			this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.addMemberToolStripMenuItemUser = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.cmGroups = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
			this.deleteGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.addMemberToolStripMenuItemGroup = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
			this.tcSecurity.SuspendLayout();
 | 
			
		||||
			this.tpGroupUsers.SuspendLayout();
 | 
			
		||||
			this.pnlMembers.SuspendLayout();
 | 
			
		||||
			this.cmFolders.SuspendLayout();
 | 
			
		||||
			this.tpDefault.SuspendLayout();
 | 
			
		||||
			this.cmMembers.SuspendLayout();
 | 
			
		||||
			this.cmUsers.SuspendLayout();
 | 
			
		||||
			this.cmGroups.SuspendLayout();
 | 
			
		||||
			this.SuspendLayout();
 | 
			
		||||
			// 
 | 
			
		||||
			// tcSecurity
 | 
			
		||||
			// 
 | 
			
		||||
			this.tcSecurity.Controls.Add(this.tpGroupUsers);
 | 
			
		||||
			this.tcSecurity.Controls.Add(this.tpDefault);
 | 
			
		||||
			this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
			this.tcSecurity.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
			this.tcSecurity.Name = "tcSecurity";
 | 
			
		||||
			this.tcSecurity.SelectedIndex = 0;
 | 
			
		||||
			this.tcSecurity.Size = new System.Drawing.Size(784, 564);
 | 
			
		||||
			this.tcSecurity.TabIndex = 0;
 | 
			
		||||
			// 
 | 
			
		||||
			// tpGroupUsers
 | 
			
		||||
			// 
 | 
			
		||||
			this.tpGroupUsers.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.pnlMembers);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.label6);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.tvFolders);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.lstUsers);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.label5);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.label3);
 | 
			
		||||
			this.tpGroupUsers.Controls.Add(this.lstGroups);
 | 
			
		||||
			this.tpGroupUsers.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
			this.tpGroupUsers.Name = "tpGroupUsers";
 | 
			
		||||
			this.tpGroupUsers.Padding = new System.Windows.Forms.Padding(3);
 | 
			
		||||
			this.tpGroupUsers.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
			this.tpGroupUsers.TabIndex = 2;
 | 
			
		||||
			this.tpGroupUsers.Text = "Folders, Groups and Users";
 | 
			
		||||
			// 
 | 
			
		||||
			// pnlMembers
 | 
			
		||||
			// 
 | 
			
		||||
			this.pnlMembers.Controls.Add(this.lstMembers);
 | 
			
		||||
			this.pnlMembers.Controls.Add(this.lblMembers);
 | 
			
		||||
			this.pnlMembers.Location = new System.Drawing.Point(384, 304);
 | 
			
		||||
			this.pnlMembers.Name = "pnlMembers";
 | 
			
		||||
			this.pnlMembers.Size = new System.Drawing.Size(386, 232);
 | 
			
		||||
			this.pnlMembers.TabIndex = 12;
 | 
			
		||||
			// 
 | 
			
		||||
			// lstMembers
 | 
			
		||||
			// 
 | 
			
		||||
			this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
			this.lstMembers.FormattingEnabled = true;
 | 
			
		||||
			this.lstMembers.Location = new System.Drawing.Point(0, 19);
 | 
			
		||||
			this.lstMembers.Name = "lstMembers";
 | 
			
		||||
			this.lstMembers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
			
		||||
			this.lstMembers.Size = new System.Drawing.Size(386, 212);
 | 
			
		||||
			this.lstMembers.TabIndex = 10;
 | 
			
		||||
			this.lstMembers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstMembers_MouseUp);
 | 
			
		||||
			// 
 | 
			
		||||
			// lblMembers
 | 
			
		||||
			// 
 | 
			
		||||
			this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
 | 
			
		||||
			this.lblMembers.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
			this.lblMembers.Name = "lblMembers";
 | 
			
		||||
			this.lblMembers.Size = new System.Drawing.Size(386, 19);
 | 
			
		||||
			this.lblMembers.TabIndex = 2;
 | 
			
		||||
			this.lblMembers.Text = "Members";
 | 
			
		||||
			// 
 | 
			
		||||
			// label6
 | 
			
		||||
			// 
 | 
			
		||||
			this.label6.AutoSize = true;
 | 
			
		||||
			this.label6.Location = new System.Drawing.Point(8, 5);
 | 
			
		||||
			this.label6.Name = "label6";
 | 
			
		||||
			this.label6.Size = new System.Drawing.Size(41, 13);
 | 
			
		||||
			this.label6.TabIndex = 7;
 | 
			
		||||
			this.label6.Text = "Folders";
 | 
			
		||||
			// 
 | 
			
		||||
			// tvFolders
 | 
			
		||||
			// 
 | 
			
		||||
			this.tvFolders.ContextMenuStrip = this.cmFolders;
 | 
			
		||||
			this.tvFolders.HideSelection = false;
 | 
			
		||||
			this.tvFolders.Location = new System.Drawing.Point(8, 21);
 | 
			
		||||
			this.tvFolders.Name = "tvFolders";
 | 
			
		||||
			this.tvFolders.Size = new System.Drawing.Size(370, 511);
 | 
			
		||||
			this.tvFolders.TabIndex = 6;
 | 
			
		||||
			this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
 | 
			
		||||
			// 
 | 
			
		||||
			// cmFolders
 | 
			
		||||
			// 
 | 
			
		||||
			this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.components = new System.ComponentModel.Container();
 | 
			
		||||
            this.tcSecurity = new System.Windows.Forms.TabControl();
 | 
			
		||||
            this.tpManageFolders = new System.Windows.Forms.TabPage();
 | 
			
		||||
            this.label6 = new System.Windows.Forms.Label();
 | 
			
		||||
            this.tvFolders = new System.Windows.Forms.TreeView();
 | 
			
		||||
            this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.tpManageGroups = new System.Windows.Forms.TabPage();
 | 
			
		||||
            this.btnAddMember = new System.Windows.Forms.Button();
 | 
			
		||||
            this.btnRemoveMember = new System.Windows.Forms.Button();
 | 
			
		||||
            this.label1 = new System.Windows.Forms.Label();
 | 
			
		||||
            this.lbNonMembers = new System.Windows.Forms.Label();
 | 
			
		||||
            this.btnDeleteGroup = new System.Windows.Forms.Button();
 | 
			
		||||
            this.cbGroupSelection = new System.Windows.Forms.ComboBox();
 | 
			
		||||
            this.lstNonMembers = new System.Windows.Forms.ListBox();
 | 
			
		||||
            this.pnlMembers = new System.Windows.Forms.Panel();
 | 
			
		||||
            this.lstMembers = new System.Windows.Forms.ListBox();
 | 
			
		||||
            this.lblMembers = new System.Windows.Forms.Label();
 | 
			
		||||
            this.label3 = new System.Windows.Forms.Label();
 | 
			
		||||
            this.tpManageUsers = new System.Windows.Forms.TabPage();
 | 
			
		||||
            this.lblUserGroups = new System.Windows.Forms.Label();
 | 
			
		||||
            this.lstGroups = new System.Windows.Forms.ListBox();
 | 
			
		||||
            this.lstUsers = new System.Windows.Forms.ListBox();
 | 
			
		||||
            this.lblUsers = new System.Windows.Forms.Label();
 | 
			
		||||
            this.tpDefault = new System.Windows.Forms.TabPage();
 | 
			
		||||
            this.label8 = new System.Windows.Forms.Label();
 | 
			
		||||
            this.pnlGroups = new System.Windows.Forms.Panel();
 | 
			
		||||
            this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
            this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components);
 | 
			
		||||
            this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 | 
			
		||||
            this.tt = new System.Windows.Forms.ToolTip(this.components);
 | 
			
		||||
            this.tcSecurity.SuspendLayout();
 | 
			
		||||
            this.tpManageFolders.SuspendLayout();
 | 
			
		||||
            this.cmFolders.SuspendLayout();
 | 
			
		||||
            this.tpManageGroups.SuspendLayout();
 | 
			
		||||
            this.pnlMembers.SuspendLayout();
 | 
			
		||||
            this.tpManageUsers.SuspendLayout();
 | 
			
		||||
            this.tpDefault.SuspendLayout();
 | 
			
		||||
            this.cmUsers.SuspendLayout();
 | 
			
		||||
            this.SuspendLayout();
 | 
			
		||||
            // 
 | 
			
		||||
            // tcSecurity
 | 
			
		||||
            // 
 | 
			
		||||
            this.tcSecurity.Controls.Add(this.tpManageFolders);
 | 
			
		||||
            this.tcSecurity.Controls.Add(this.tpManageGroups);
 | 
			
		||||
            this.tcSecurity.Controls.Add(this.tpManageUsers);
 | 
			
		||||
            this.tcSecurity.Controls.Add(this.tpDefault);
 | 
			
		||||
            this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.tcSecurity.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
            this.tcSecurity.Name = "tcSecurity";
 | 
			
		||||
            this.tcSecurity.SelectedIndex = 0;
 | 
			
		||||
            this.tcSecurity.Size = new System.Drawing.Size(784, 564);
 | 
			
		||||
            this.tcSecurity.TabIndex = 0;
 | 
			
		||||
            this.tcSecurity.SelectedIndexChanged += new System.EventHandler(this.changedTab);
 | 
			
		||||
            // 
 | 
			
		||||
            // tpManageFolders
 | 
			
		||||
            // 
 | 
			
		||||
            this.tpManageFolders.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
			
		||||
            this.tpManageFolders.Controls.Add(this.label6);
 | 
			
		||||
            this.tpManageFolders.Controls.Add(this.tvFolders);
 | 
			
		||||
            this.tpManageFolders.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
            this.tpManageFolders.Name = "tpManageFolders";
 | 
			
		||||
            this.tpManageFolders.Padding = new System.Windows.Forms.Padding(3);
 | 
			
		||||
            this.tpManageFolders.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
            this.tpManageFolders.TabIndex = 2;
 | 
			
		||||
            this.tpManageFolders.Text = "Manage Folders / Add Groups";
 | 
			
		||||
            // 
 | 
			
		||||
            // label6
 | 
			
		||||
            // 
 | 
			
		||||
            this.label6.AutoSize = true;
 | 
			
		||||
            this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
			
		||||
            this.label6.Location = new System.Drawing.Point(8, 5);
 | 
			
		||||
            this.label6.Name = "label6";
 | 
			
		||||
            this.label6.Size = new System.Drawing.Size(55, 15);
 | 
			
		||||
            this.label6.TabIndex = 7;
 | 
			
		||||
            this.label6.Text = "Folders";
 | 
			
		||||
            // 
 | 
			
		||||
            // tvFolders
 | 
			
		||||
            // 
 | 
			
		||||
            this.tvFolders.ContextMenuStrip = this.cmFolders;
 | 
			
		||||
            this.tvFolders.Dock = System.Windows.Forms.DockStyle.Bottom;
 | 
			
		||||
            this.tvFolders.HideSelection = false;
 | 
			
		||||
            this.tvFolders.Location = new System.Drawing.Point(3, 32);
 | 
			
		||||
            this.tvFolders.Name = "tvFolders";
 | 
			
		||||
            this.tvFolders.Size = new System.Drawing.Size(770, 503);
 | 
			
		||||
            this.tvFolders.TabIndex = 6;
 | 
			
		||||
            this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
 | 
			
		||||
            // 
 | 
			
		||||
            // cmFolders
 | 
			
		||||
            // 
 | 
			
		||||
            this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem,
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem,
 | 
			
		||||
            this.createROEToolStripMenuItem,
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem});
 | 
			
		||||
			this.cmFolders.Name = "cmFolders";
 | 
			
		||||
			this.cmFolders.Size = new System.Drawing.Size(249, 92);
 | 
			
		||||
			// 
 | 
			
		||||
			// createSetAdministratorGroupToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem";
 | 
			
		||||
			this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
			this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group";
 | 
			
		||||
			this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
			// 
 | 
			
		||||
			// createWriterGroupToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem";
 | 
			
		||||
			this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
			this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group";
 | 
			
		||||
			this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
			// 
 | 
			
		||||
			// createROEToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem";
 | 
			
		||||
			this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
			this.createROEToolStripMenuItem.Text = "Create a RO Editor Group";
 | 
			
		||||
			this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
			// 
 | 
			
		||||
			// createReviewerGroupToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem";
 | 
			
		||||
			this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
			this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group";
 | 
			
		||||
			this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
			// 
 | 
			
		||||
			// lstUsers
 | 
			
		||||
			// 
 | 
			
		||||
			this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 | 
			
		||||
									| System.Windows.Forms.AnchorStyles.Left)));
 | 
			
		||||
			this.lstUsers.FormattingEnabled = true;
 | 
			
		||||
			this.lstUsers.Location = new System.Drawing.Point(630, 21);
 | 
			
		||||
			this.lstUsers.Name = "lstUsers";
 | 
			
		||||
			this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
			
		||||
			this.lstUsers.Size = new System.Drawing.Size(140, 277);
 | 
			
		||||
			this.lstUsers.TabIndex = 5;
 | 
			
		||||
			this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
 | 
			
		||||
			this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
 | 
			
		||||
			// 
 | 
			
		||||
			// label5
 | 
			
		||||
			// 
 | 
			
		||||
			this.label5.AutoSize = true;
 | 
			
		||||
			this.label5.Location = new System.Drawing.Point(630, 6);
 | 
			
		||||
			this.label5.Name = "label5";
 | 
			
		||||
			this.label5.Size = new System.Drawing.Size(34, 13);
 | 
			
		||||
			this.label5.TabIndex = 4;
 | 
			
		||||
			this.label5.Text = "Users";
 | 
			
		||||
			// 
 | 
			
		||||
			// label3
 | 
			
		||||
			// 
 | 
			
		||||
			this.label3.AutoSize = true;
 | 
			
		||||
			this.label3.Location = new System.Drawing.Point(381, 6);
 | 
			
		||||
			this.label3.Name = "label3";
 | 
			
		||||
			this.label3.Size = new System.Drawing.Size(41, 13);
 | 
			
		||||
			this.label3.TabIndex = 1;
 | 
			
		||||
			this.label3.Text = "Groups";
 | 
			
		||||
			// 
 | 
			
		||||
			// lstGroups
 | 
			
		||||
			// 
 | 
			
		||||
			this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 | 
			
		||||
									| System.Windows.Forms.AnchorStyles.Left)));
 | 
			
		||||
			this.lstGroups.FormattingEnabled = true;
 | 
			
		||||
			this.lstGroups.Location = new System.Drawing.Point(384, 21);
 | 
			
		||||
			this.lstGroups.Name = "lstGroups";
 | 
			
		||||
			this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
			
		||||
			this.lstGroups.Size = new System.Drawing.Size(240, 277);
 | 
			
		||||
			this.lstGroups.TabIndex = 0;
 | 
			
		||||
			this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
 | 
			
		||||
			this.lstGroups.SelectedIndexChanged += new System.EventHandler(this.lstGroups_SelectedIndexChanged);
 | 
			
		||||
			// 
 | 
			
		||||
			// tpDefault
 | 
			
		||||
			// 
 | 
			
		||||
			this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
			
		||||
			this.tpDefault.Controls.Add(this.label8);
 | 
			
		||||
			this.tpDefault.Controls.Add(this.pnlGroups);
 | 
			
		||||
			this.tpDefault.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
			this.tpDefault.Name = "tpDefault";
 | 
			
		||||
			this.tpDefault.Padding = new System.Windows.Forms.Padding(3);
 | 
			
		||||
			this.tpDefault.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
			this.tpDefault.TabIndex = 0;
 | 
			
		||||
			this.tpDefault.Text = "Default Group";
 | 
			
		||||
			// 
 | 
			
		||||
			// label8
 | 
			
		||||
			// 
 | 
			
		||||
			this.label8.Location = new System.Drawing.Point(308, 6);
 | 
			
		||||
			this.label8.Name = "label8";
 | 
			
		||||
			this.label8.Size = new System.Drawing.Size(460, 172);
 | 
			
		||||
			this.label8.TabIndex = 5;
 | 
			
		||||
			this.label8.Text = "label8";
 | 
			
		||||
			// 
 | 
			
		||||
			// pnlGroups
 | 
			
		||||
			// 
 | 
			
		||||
			this.pnlGroups.AutoScroll = true;
 | 
			
		||||
			this.pnlGroups.Location = new System.Drawing.Point(3, 6);
 | 
			
		||||
			this.pnlGroups.Name = "pnlGroups";
 | 
			
		||||
			this.pnlGroups.Size = new System.Drawing.Size(299, 526);
 | 
			
		||||
			this.pnlGroups.TabIndex = 4;
 | 
			
		||||
			// 
 | 
			
		||||
			// cmMembers
 | 
			
		||||
			// 
 | 
			
		||||
			this.cmMembers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.removeMemberToolStripMenuItem});
 | 
			
		||||
			this.cmMembers.Name = "cmGroupMembers";
 | 
			
		||||
			this.cmMembers.Size = new System.Drawing.Size(166, 26);
 | 
			
		||||
			// 
 | 
			
		||||
			// removeMemberToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem";
 | 
			
		||||
			this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22);
 | 
			
		||||
			this.removeMemberToolStripMenuItem.Text = "Remove Member";
 | 
			
		||||
			this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// cmUsers
 | 
			
		||||
			// 
 | 
			
		||||
			this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.cmFolders.Name = "cmFolders";
 | 
			
		||||
            this.cmFolders.Size = new System.Drawing.Size(249, 92);
 | 
			
		||||
            // 
 | 
			
		||||
            // createSetAdministratorGroupToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem";
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group";
 | 
			
		||||
            this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
            // 
 | 
			
		||||
            // createWriterGroupToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem";
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group";
 | 
			
		||||
            this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
            // 
 | 
			
		||||
            // createROEToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem";
 | 
			
		||||
            this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
            this.createROEToolStripMenuItem.Text = "Create a RO Editor Group";
 | 
			
		||||
            this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
            // 
 | 
			
		||||
            // createReviewerGroupToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem";
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group";
 | 
			
		||||
            this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
 | 
			
		||||
            // 
 | 
			
		||||
            // tpManageGroups
 | 
			
		||||
            // 
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.btnAddMember);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.btnRemoveMember);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.label1);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.lbNonMembers);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.btnDeleteGroup);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.cbGroupSelection);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.lstNonMembers);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.pnlMembers);
 | 
			
		||||
            this.tpManageGroups.Controls.Add(this.label3);
 | 
			
		||||
            this.tpManageGroups.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
            this.tpManageGroups.Name = "tpManageGroups";
 | 
			
		||||
            this.tpManageGroups.Padding = new System.Windows.Forms.Padding(3);
 | 
			
		||||
            this.tpManageGroups.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
            this.tpManageGroups.TabIndex = 3;
 | 
			
		||||
            this.tpManageGroups.Text = "Manage Groups";
 | 
			
		||||
            this.tpManageGroups.UseVisualStyleBackColor = true;
 | 
			
		||||
            // 
 | 
			
		||||
            // btnAddMember
 | 
			
		||||
            // 
 | 
			
		||||
            this.btnAddMember.Location = new System.Drawing.Point(337, 190);
 | 
			
		||||
            this.btnAddMember.Name = "btnAddMember";
 | 
			
		||||
            this.btnAddMember.Size = new System.Drawing.Size(36, 29);
 | 
			
		||||
            this.btnAddMember.TabIndex = 19;
 | 
			
		||||
            this.btnAddMember.Text = "<<";
 | 
			
		||||
            this.tt.SetToolTip(this.btnAddMember, "Add User as Members of Group");
 | 
			
		||||
            this.btnAddMember.UseVisualStyleBackColor = true;
 | 
			
		||||
            this.btnAddMember.Click += new System.EventHandler(this.addMember_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // btnRemoveMember
 | 
			
		||||
            // 
 | 
			
		||||
            this.btnRemoveMember.Location = new System.Drawing.Point(337, 254);
 | 
			
		||||
            this.btnRemoveMember.Name = "btnRemoveMember";
 | 
			
		||||
            this.btnRemoveMember.Size = new System.Drawing.Size(36, 29);
 | 
			
		||||
            this.btnRemoveMember.TabIndex = 18;
 | 
			
		||||
            this.btnRemoveMember.Text = ">>";
 | 
			
		||||
            this.tt.SetToolTip(this.btnRemoveMember, "Remove User From Group");
 | 
			
		||||
            this.btnRemoveMember.UseVisualStyleBackColor = true;
 | 
			
		||||
            this.btnRemoveMember.Click += new System.EventHandler(this.removeMember_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // label1
 | 
			
		||||
            // 
 | 
			
		||||
            this.label1.AutoSize = true;
 | 
			
		||||
            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
			
		||||
            this.label1.Location = new System.Drawing.Point(386, 42);
 | 
			
		||||
            this.label1.Name = "label1";
 | 
			
		||||
            this.label1.Size = new System.Drawing.Size(97, 15);
 | 
			
		||||
            this.label1.TabIndex = 17;
 | 
			
		||||
            this.label1.Text = "Non Members";
 | 
			
		||||
            // 
 | 
			
		||||
            // lbNonMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lbNonMembers.AutoSize = true;
 | 
			
		||||
            this.lbNonMembers.Location = new System.Drawing.Point(386, 42);
 | 
			
		||||
            this.lbNonMembers.Name = "lbNonMembers";
 | 
			
		||||
            this.lbNonMembers.Size = new System.Drawing.Size(73, 13);
 | 
			
		||||
            this.lbNonMembers.TabIndex = 17;
 | 
			
		||||
            this.lbNonMembers.Text = "Non Members";
 | 
			
		||||
            // 
 | 
			
		||||
            // btnDeleteGroup
 | 
			
		||||
            // 
 | 
			
		||||
            this.btnDeleteGroup.ForeColor = System.Drawing.Color.Red;
 | 
			
		||||
            this.btnDeleteGroup.Location = new System.Drawing.Point(668, 12);
 | 
			
		||||
            this.btnDeleteGroup.Name = "btnDeleteGroup";
 | 
			
		||||
            this.btnDeleteGroup.Size = new System.Drawing.Size(89, 23);
 | 
			
		||||
            this.btnDeleteGroup.TabIndex = 16;
 | 
			
		||||
            this.btnDeleteGroup.Text = "Delete Group";
 | 
			
		||||
            this.btnDeleteGroup.UseVisualStyleBackColor = true;
 | 
			
		||||
            this.btnDeleteGroup.Click += new System.EventHandler(this.deleteGroup_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // cbGroupSelection
 | 
			
		||||
            // 
 | 
			
		||||
            this.cbGroupSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 | 
			
		||||
            this.cbGroupSelection.FormattingEnabled = true;
 | 
			
		||||
            this.cbGroupSelection.Location = new System.Drawing.Point(50, 9);
 | 
			
		||||
            this.cbGroupSelection.Name = "cbGroupSelection";
 | 
			
		||||
            this.cbGroupSelection.Size = new System.Drawing.Size(272, 21);
 | 
			
		||||
            this.cbGroupSelection.TabIndex = 15;
 | 
			
		||||
            this.cbGroupSelection.SelectedIndexChanged += new System.EventHandler(this.cbGroupSelection_SelectedIndexChanged);
 | 
			
		||||
            // 
 | 
			
		||||
            // lstNonMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lstNonMembers.FormattingEnabled = true;
 | 
			
		||||
            this.lstNonMembers.Location = new System.Drawing.Point(389, 61);
 | 
			
		||||
            this.lstNonMembers.Name = "lstNonMembers";
 | 
			
		||||
            this.lstNonMembers.Size = new System.Drawing.Size(316, 472);
 | 
			
		||||
            this.lstNonMembers.TabIndex = 14;
 | 
			
		||||
            // 
 | 
			
		||||
            // pnlMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.pnlMembers.Controls.Add(this.lstMembers);
 | 
			
		||||
            this.pnlMembers.Controls.Add(this.lblMembers);
 | 
			
		||||
            this.pnlMembers.Location = new System.Drawing.Point(6, 42);
 | 
			
		||||
            this.pnlMembers.Name = "pnlMembers";
 | 
			
		||||
            this.pnlMembers.Size = new System.Drawing.Size(316, 493);
 | 
			
		||||
            this.pnlMembers.TabIndex = 13;
 | 
			
		||||
            // 
 | 
			
		||||
            // lstMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
            this.lstMembers.FormattingEnabled = true;
 | 
			
		||||
            this.lstMembers.Location = new System.Drawing.Point(0, 19);
 | 
			
		||||
            this.lstMembers.Name = "lstMembers";
 | 
			
		||||
            this.lstMembers.Size = new System.Drawing.Size(316, 474);
 | 
			
		||||
            this.lstMembers.TabIndex = 10;
 | 
			
		||||
            // 
 | 
			
		||||
            // lblMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
 | 
			
		||||
            this.lblMembers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
			
		||||
            this.lblMembers.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
            this.lblMembers.Name = "lblMembers";
 | 
			
		||||
            this.lblMembers.Size = new System.Drawing.Size(316, 19);
 | 
			
		||||
            this.lblMembers.TabIndex = 2;
 | 
			
		||||
            this.lblMembers.Text = "Selected Group Users";
 | 
			
		||||
            // 
 | 
			
		||||
            // label3
 | 
			
		||||
            // 
 | 
			
		||||
            this.label3.AutoSize = true;
 | 
			
		||||
            this.label3.Location = new System.Drawing.Point(3, 12);
 | 
			
		||||
            this.label3.Name = "label3";
 | 
			
		||||
            this.label3.Size = new System.Drawing.Size(39, 13);
 | 
			
		||||
            this.label3.TabIndex = 3;
 | 
			
		||||
            this.label3.Text = "Group:";
 | 
			
		||||
            // 
 | 
			
		||||
            // tpManageUsers
 | 
			
		||||
            // 
 | 
			
		||||
            this.tpManageUsers.Controls.Add(this.lblUserGroups);
 | 
			
		||||
            this.tpManageUsers.Controls.Add(this.lstGroups);
 | 
			
		||||
            this.tpManageUsers.Controls.Add(this.lstUsers);
 | 
			
		||||
            this.tpManageUsers.Controls.Add(this.lblUsers);
 | 
			
		||||
            this.tpManageUsers.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
            this.tpManageUsers.Name = "tpManageUsers";
 | 
			
		||||
            this.tpManageUsers.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
            this.tpManageUsers.TabIndex = 4;
 | 
			
		||||
            this.tpManageUsers.Text = "Manage Users";
 | 
			
		||||
            this.tpManageUsers.UseVisualStyleBackColor = true;
 | 
			
		||||
            // 
 | 
			
		||||
            // lblUserGroups
 | 
			
		||||
            // 
 | 
			
		||||
            this.lblUserGroups.AutoSize = true;
 | 
			
		||||
            this.lblUserGroups.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
			
		||||
            this.lblUserGroups.Location = new System.Drawing.Point(268, 11);
 | 
			
		||||
            this.lblUserGroups.Name = "lblUserGroups";
 | 
			
		||||
            this.lblUserGroups.Size = new System.Drawing.Size(225, 15);
 | 
			
		||||
            this.lblUserGroups.TabIndex = 9;
 | 
			
		||||
            this.lblUserGroups.Text = "Groups That User Is a Member Of:";
 | 
			
		||||
            // 
 | 
			
		||||
            // lstGroups
 | 
			
		||||
            // 
 | 
			
		||||
            this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 | 
			
		||||
            | System.Windows.Forms.AnchorStyles.Left)));
 | 
			
		||||
            this.lstGroups.FormattingEnabled = true;
 | 
			
		||||
            this.lstGroups.Location = new System.Drawing.Point(271, 36);
 | 
			
		||||
            this.lstGroups.Name = "lstGroups";
 | 
			
		||||
            this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
			
		||||
            this.lstGroups.Size = new System.Drawing.Size(502, 498);
 | 
			
		||||
            this.lstGroups.TabIndex = 8;
 | 
			
		||||
            this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
 | 
			
		||||
            // 
 | 
			
		||||
            // lstUsers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
 | 
			
		||||
            | System.Windows.Forms.AnchorStyles.Left)));
 | 
			
		||||
            this.lstUsers.FormattingEnabled = true;
 | 
			
		||||
            this.lstUsers.Location = new System.Drawing.Point(8, 36);
 | 
			
		||||
            this.lstUsers.Name = "lstUsers";
 | 
			
		||||
            this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
 | 
			
		||||
            this.lstUsers.Size = new System.Drawing.Size(217, 498);
 | 
			
		||||
            this.lstUsers.TabIndex = 7;
 | 
			
		||||
            this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
 | 
			
		||||
            this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
 | 
			
		||||
            // 
 | 
			
		||||
            // lblUsers
 | 
			
		||||
            // 
 | 
			
		||||
            this.lblUsers.AutoSize = true;
 | 
			
		||||
            this.lblUsers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
 | 
			
		||||
            this.lblUsers.Location = new System.Drawing.Point(8, 11);
 | 
			
		||||
            this.lblUsers.Name = "lblUsers";
 | 
			
		||||
            this.lblUsers.Size = new System.Drawing.Size(44, 15);
 | 
			
		||||
            this.lblUsers.TabIndex = 6;
 | 
			
		||||
            this.lblUsers.Text = "Users";
 | 
			
		||||
            // 
 | 
			
		||||
            // tpDefault
 | 
			
		||||
            // 
 | 
			
		||||
            this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace;
 | 
			
		||||
            this.tpDefault.Controls.Add(this.label8);
 | 
			
		||||
            this.tpDefault.Controls.Add(this.pnlGroups);
 | 
			
		||||
            this.tpDefault.Location = new System.Drawing.Point(4, 22);
 | 
			
		||||
            this.tpDefault.Name = "tpDefault";
 | 
			
		||||
            this.tpDefault.Padding = new System.Windows.Forms.Padding(3);
 | 
			
		||||
            this.tpDefault.Size = new System.Drawing.Size(776, 538);
 | 
			
		||||
            this.tpDefault.TabIndex = 0;
 | 
			
		||||
            this.tpDefault.Text = "Default Group";
 | 
			
		||||
            // 
 | 
			
		||||
            // label8
 | 
			
		||||
            // 
 | 
			
		||||
            this.label8.Location = new System.Drawing.Point(308, 6);
 | 
			
		||||
            this.label8.Name = "label8";
 | 
			
		||||
            this.label8.Size = new System.Drawing.Size(460, 172);
 | 
			
		||||
            this.label8.TabIndex = 5;
 | 
			
		||||
            this.label8.Text = "label8";
 | 
			
		||||
            // 
 | 
			
		||||
            // pnlGroups
 | 
			
		||||
            // 
 | 
			
		||||
            this.pnlGroups.AutoScroll = true;
 | 
			
		||||
            this.pnlGroups.Location = new System.Drawing.Point(3, 6);
 | 
			
		||||
            this.pnlGroups.Name = "pnlGroups";
 | 
			
		||||
            this.pnlGroups.Size = new System.Drawing.Size(299, 526);
 | 
			
		||||
            this.pnlGroups.TabIndex = 4;
 | 
			
		||||
            // 
 | 
			
		||||
            // cmMembers
 | 
			
		||||
            // 
 | 
			
		||||
            this.cmMembers.Name = "cmGroupMembers";
 | 
			
		||||
            this.cmMembers.Size = new System.Drawing.Size(61, 4);
 | 
			
		||||
            // 
 | 
			
		||||
            // removeMemberToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem";
 | 
			
		||||
            this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22);
 | 
			
		||||
            this.removeMemberToolStripMenuItem.Text = "Remove Member";
 | 
			
		||||
            this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // cmUsers
 | 
			
		||||
            // 
 | 
			
		||||
            this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.addUserToolStripMenuItem,
 | 
			
		||||
            this.editUserToolStripMenuItem,
 | 
			
		||||
            this.deleteUserToolStripMenuItem,
 | 
			
		||||
            this.addMemberToolStripMenuItemUser});
 | 
			
		||||
			this.cmUsers.Name = "cmUsers";
 | 
			
		||||
			this.cmUsers.Size = new System.Drawing.Size(153, 114);
 | 
			
		||||
			// 
 | 
			
		||||
			// addUserToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem";
 | 
			
		||||
			this.addUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
			
		||||
			this.addUserToolStripMenuItem.Text = "Add User";
 | 
			
		||||
			this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// editUserToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem";
 | 
			
		||||
			this.editUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
			
		||||
			this.editUserToolStripMenuItem.Text = "Edit User";
 | 
			
		||||
			this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// deleteUserToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem";
 | 
			
		||||
			this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
 | 
			
		||||
			this.deleteUserToolStripMenuItem.Text = "Delete User";
 | 
			
		||||
			this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// addMemberToolStripMenuItemUser
 | 
			
		||||
			// 
 | 
			
		||||
			this.addMemberToolStripMenuItemUser.Name = "addMemberToolStripMenuItemUser";
 | 
			
		||||
			this.addMemberToolStripMenuItemUser.Size = new System.Drawing.Size(152, 22);
 | 
			
		||||
			this.addMemberToolStripMenuItemUser.Text = "Add Member";
 | 
			
		||||
			this.addMemberToolStripMenuItemUser.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// cmGroups
 | 
			
		||||
			// 
 | 
			
		||||
			this.cmGroups.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 | 
			
		||||
            this.deleteGroupToolStripMenuItem,
 | 
			
		||||
            this.addMemberToolStripMenuItemGroup});
 | 
			
		||||
			this.cmGroups.Name = "cmGroups";
 | 
			
		||||
			this.cmGroups.Size = new System.Drawing.Size(145, 48);
 | 
			
		||||
			// 
 | 
			
		||||
			// deleteGroupToolStripMenuItem
 | 
			
		||||
			// 
 | 
			
		||||
			this.deleteGroupToolStripMenuItem.Name = "deleteGroupToolStripMenuItem";
 | 
			
		||||
			this.deleteGroupToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
			
		||||
			this.deleteGroupToolStripMenuItem.Text = "Delete Group";
 | 
			
		||||
			this.deleteGroupToolStripMenuItem.Click += new System.EventHandler(this.deleteGroupToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// addMemberToolStripMenuItemGroup
 | 
			
		||||
			// 
 | 
			
		||||
			this.addMemberToolStripMenuItemGroup.Name = "addMemberToolStripMenuItemGroup";
 | 
			
		||||
			this.addMemberToolStripMenuItemGroup.Size = new System.Drawing.Size(144, 22);
 | 
			
		||||
			this.addMemberToolStripMenuItemGroup.Text = "Add Member";
 | 
			
		||||
			this.addMemberToolStripMenuItemGroup.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// dlgManageSecurity
 | 
			
		||||
			// 
 | 
			
		||||
			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
 | 
			
		||||
			this.ClientSize = new System.Drawing.Size(784, 564);
 | 
			
		||||
			this.Controls.Add(this.tcSecurity);
 | 
			
		||||
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 | 
			
		||||
			this.MaximizeBox = false;
 | 
			
		||||
			this.MinimizeBox = false;
 | 
			
		||||
			this.Name = "dlgManageSecurity";
 | 
			
		||||
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 | 
			
		||||
			this.Text = "Manage Security";
 | 
			
		||||
			this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
 | 
			
		||||
			this.tcSecurity.ResumeLayout(false);
 | 
			
		||||
			this.tpGroupUsers.ResumeLayout(false);
 | 
			
		||||
			this.tpGroupUsers.PerformLayout();
 | 
			
		||||
			this.pnlMembers.ResumeLayout(false);
 | 
			
		||||
			this.cmFolders.ResumeLayout(false);
 | 
			
		||||
			this.tpDefault.ResumeLayout(false);
 | 
			
		||||
			this.cmMembers.ResumeLayout(false);
 | 
			
		||||
			this.cmUsers.ResumeLayout(false);
 | 
			
		||||
			this.cmGroups.ResumeLayout(false);
 | 
			
		||||
			this.ResumeLayout(false);
 | 
			
		||||
            this.deleteUserToolStripMenuItem});
 | 
			
		||||
            this.cmUsers.Name = "cmUsers";
 | 
			
		||||
            this.cmUsers.Size = new System.Drawing.Size(145, 92);
 | 
			
		||||
            // 
 | 
			
		||||
            // addUserToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem";
 | 
			
		||||
            this.addUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
			
		||||
            this.addUserToolStripMenuItem.Text = "Add User";
 | 
			
		||||
            this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // editUserToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem";
 | 
			
		||||
            this.editUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
			
		||||
            this.editUserToolStripMenuItem.Text = "Edit User";
 | 
			
		||||
            this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // deleteUserToolStripMenuItem
 | 
			
		||||
            // 
 | 
			
		||||
            this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem";
 | 
			
		||||
            this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
 | 
			
		||||
            this.deleteUserToolStripMenuItem.Text = "Delete User";
 | 
			
		||||
            this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click);
 | 
			
		||||
            // 
 | 
			
		||||
            // dlgManageSecurity
 | 
			
		||||
            // 
 | 
			
		||||
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
 | 
			
		||||
            this.ClientSize = new System.Drawing.Size(784, 564);
 | 
			
		||||
            this.Controls.Add(this.tcSecurity);
 | 
			
		||||
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 | 
			
		||||
            this.MaximizeBox = false;
 | 
			
		||||
            this.MinimizeBox = false;
 | 
			
		||||
            this.Name = "dlgManageSecurity";
 | 
			
		||||
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 | 
			
		||||
            this.Text = "Manage Security";
 | 
			
		||||
            this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
 | 
			
		||||
            this.tcSecurity.ResumeLayout(false);
 | 
			
		||||
            this.tpManageFolders.ResumeLayout(false);
 | 
			
		||||
            this.tpManageFolders.PerformLayout();
 | 
			
		||||
            this.cmFolders.ResumeLayout(false);
 | 
			
		||||
            this.tpManageGroups.ResumeLayout(false);
 | 
			
		||||
            this.tpManageGroups.PerformLayout();
 | 
			
		||||
            this.pnlMembers.ResumeLayout(false);
 | 
			
		||||
            this.tpManageUsers.ResumeLayout(false);
 | 
			
		||||
            this.tpManageUsers.PerformLayout();
 | 
			
		||||
            this.tpDefault.ResumeLayout(false);
 | 
			
		||||
            this.cmUsers.ResumeLayout(false);
 | 
			
		||||
            this.ResumeLayout(false);
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -357,20 +445,14 @@ namespace VEPROMS
 | 
			
		||||
 | 
			
		||||
		private System.Windows.Forms.TabControl tcSecurity;
 | 
			
		||||
		private System.Windows.Forms.TabPage tpDefault;
 | 
			
		||||
		private System.Windows.Forms.TabPage tpGroupUsers;
 | 
			
		||||
		private System.Windows.Forms.ListBox lstGroups;
 | 
			
		||||
		private System.Windows.Forms.Label lblMembers;
 | 
			
		||||
		private System.Windows.Forms.Label label3;
 | 
			
		||||
		private System.Windows.Forms.ContextMenuStrip cmGroups;
 | 
			
		||||
		private System.Windows.Forms.ListBox lstUsers;
 | 
			
		||||
		private System.Windows.Forms.Label label5;
 | 
			
		||||
		private System.Windows.Forms.TabPage tpManageFolders;
 | 
			
		||||
		private System.Windows.Forms.ContextMenuStrip cmUsers;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem addUserToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem editUserToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem deleteUserToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.ContextMenuStrip cmMembers;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.Label label6;
 | 
			
		||||
        private System.Windows.Forms.ContextMenuStrip cmMembers;
 | 
			
		||||
        private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem;
 | 
			
		||||
        private System.Windows.Forms.Label label6;
 | 
			
		||||
		private System.Windows.Forms.TreeView tvFolders;
 | 
			
		||||
		private System.Windows.Forms.ContextMenuStrip cmFolders;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem createSetAdministratorGroupToolStripMenuItem;
 | 
			
		||||
@@ -379,10 +461,23 @@ namespace VEPROMS
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem createReviewerGroupToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.Panel pnlGroups;
 | 
			
		||||
		private System.Windows.Forms.Label label8;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem deleteGroupToolStripMenuItem;
 | 
			
		||||
		private System.Windows.Forms.Panel pnlMembers;
 | 
			
		||||
		private System.Windows.Forms.ListBox lstMembers;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemUser;
 | 
			
		||||
		private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemGroup;
 | 
			
		||||
	}
 | 
			
		||||
        private System.Windows.Forms.TabPage tpManageGroups;
 | 
			
		||||
        private System.Windows.Forms.TabPage tpManageUsers;
 | 
			
		||||
        private System.Windows.Forms.Panel pnlMembers;
 | 
			
		||||
        private System.Windows.Forms.ListBox lstMembers;
 | 
			
		||||
        private System.Windows.Forms.Label lblMembers;
 | 
			
		||||
        private System.Windows.Forms.ListBox lstUsers;
 | 
			
		||||
        private System.Windows.Forms.Label lblUsers;
 | 
			
		||||
        private System.Windows.Forms.Label label3;
 | 
			
		||||
        private System.Windows.Forms.ComboBox cbGroupSelection;
 | 
			
		||||
        private System.Windows.Forms.ListBox lstNonMembers;
 | 
			
		||||
        private System.Windows.Forms.Button btnDeleteGroup;
 | 
			
		||||
        private System.Windows.Forms.Label lbNonMembers;
 | 
			
		||||
        private System.Windows.Forms.ListBox lstGroups;
 | 
			
		||||
        private System.Windows.Forms.Button btnAddMember;
 | 
			
		||||
        private System.Windows.Forms.Button btnRemoveMember;
 | 
			
		||||
        private System.Windows.Forms.ToolTip tt;
 | 
			
		||||
        private System.Windows.Forms.Label label1;
 | 
			
		||||
        private System.Windows.Forms.Label lblUserGroups;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -7,30 +7,492 @@ using System.Text;
 | 
			
		||||
using System.Windows.Forms;
 | 
			
		||||
using VEPROMS.CSLA.Library;
 | 
			
		||||
using Volian.Base.Library;
 | 
			
		||||
using Volian.Controls.Library;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace VEPROMS
 | 
			
		||||
{
 | 
			
		||||
	//C2024-047 Redesign PROMS Security Dialog
 | 
			
		||||
	public partial class dlgManageSecurity : Form
 | 
			
		||||
	{
 | 
			
		||||
		#region Log4Net
 | 
			
		||||
		private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Main Form / Shared Code
 | 
			
		||||
		private GroupInfoList myGroupInfoList;
 | 
			
		||||
		private UserInfoList myUserInfoList;
 | 
			
		||||
		private List<MembershipInfo> myMembershipInfoList;
 | 
			
		||||
		private Folder myFolder;
 | 
			
		||||
 | 
			
		||||
		public dlgManageSecurity()
 | 
			
		||||
		{
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
		}
 | 
			
		||||
		private void dlgManageSecurity_Load(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			//load all folders
 | 
			
		||||
			myFolder = Folder.Get(1);
 | 
			
		||||
			SetupSecurity();
 | 
			
		||||
			SetupGroups();
 | 
			
		||||
 | 
			
		||||
			//Default to Users Tab
 | 
			
		||||
			tcSecurity.SelectedIndex = 2;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//This is called when the Index Changes for main tab Control
 | 
			
		||||
		//it loads info for the current tab
 | 
			
		||||
		private void changedTab(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			LoadRefreshGroupUsers();
 | 
			
		||||
 | 
			
		||||
			switch (tcSecurity.SelectedIndex)
 | 
			
		||||
			{
 | 
			
		||||
				//Manage Folders
 | 
			
		||||
				case 0:
 | 
			
		||||
					SetupFolderOptions();
 | 
			
		||||
					break;
 | 
			
		||||
				//Manage Groups
 | 
			
		||||
				case 1:
 | 
			
		||||
					SetupGroups();
 | 
			
		||||
					break;
 | 
			
		||||
				//Manage Users (note that this is the default)
 | 
			
		||||
				case 2:
 | 
			
		||||
					SetupUserOptions();
 | 
			
		||||
					break;
 | 
			
		||||
                //Default Options tab
 | 
			
		||||
				case 3:
 | 
			
		||||
					SetupDefaultGroupOptions();
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		//Loads a refreshed list of Groups and Users
 | 
			
		||||
		private void LoadRefreshGroupUsers()
 | 
			
		||||
		{
 | 
			
		||||
			GroupInfoList.Reset();
 | 
			
		||||
			myGroupInfoList = GroupInfoList.Get();
 | 
			
		||||
			UserInfoList.Reset();
 | 
			
		||||
			myUserInfoList = UserInfoList.Get();
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Manage Folders
 | 
			
		||||
		//Sets up Folders
 | 
			
		||||
		private void SetupFolderOptions()
 | 
			
		||||
		{
 | 
			
		||||
			if (tvFolders.Nodes.Count == 0)
 | 
			
		||||
			{
 | 
			
		||||
				FolderInfo fi = FolderInfo.Get(1);
 | 
			
		||||
				LoadChildFolders(fi, null);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		//loads child folders in tree view
 | 
			
		||||
		private void LoadChildFolders(FolderInfo fi, TreeNode tn)
 | 
			
		||||
		{
 | 
			
		||||
			if (tn == null)
 | 
			
		||||
			{
 | 
			
		||||
				tn = tvFolders.Nodes.Add(fi.Name);
 | 
			
		||||
				tn.Tag = fi;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				tn = tn.Nodes.Add(fi.Name);
 | 
			
		||||
				tn.Tag = fi;
 | 
			
		||||
			}
 | 
			
		||||
			if (fi.ChildFolderCount > 0)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (FolderInfo fic in fi.SortedChildFolders)
 | 
			
		||||
				{
 | 
			
		||||
					LoadChildFolders(fic, tn);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		//Handles Creating a New Group
 | 
			
		||||
		private void createGroupMenuItem(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
				ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
 | 
			
		||||
				TreeNode tn = tvFolders.SelectedNode;
 | 
			
		||||
				FolderInfo fi = tn.Tag as FolderInfo;
 | 
			
		||||
				AddNewGroup(tsddi.Text, fi);
 | 
			
		||||
			}
 | 
			
		||||
			catch (Exception ex)
 | 
			
		||||
			{
 | 
			
		||||
				_MyLog.Warn("createGroupMenuItem", ex);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void AddNewGroup(string txt, FolderInfo fi)
 | 
			
		||||
		{
 | 
			
		||||
			txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
 | 
			
		||||
			RoleInfoList ril = RoleInfoList.Get();
 | 
			
		||||
			// B2022-080: cannot add a new group in Proms security.  if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
 | 
			
		||||
			//   Writer, Reviewer, RO Editor, the Adding of new groups won't work.  Databases should have this loaded by default.
 | 
			
		||||
			//   Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
 | 
			
		||||
			if (ril == null || ril.Count < 2)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
            foreach (var ri in ril.Where(ri => ri.Name == txt))
 | 
			
		||||
            {
 | 
			
		||||
                string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
 | 
			
		||||
                if (!myGroupInfoList.Any(gi => gi.GroupName == gin))
 | 
			
		||||
                {
 | 
			
		||||
                    Group group = Group.MakeGroup(gin, null, null);
 | 
			
		||||
                    Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            LoadRefreshGroupUsers();
 | 
			
		||||
		}
 | 
			
		||||
		private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			tvFolders.SelectedNode = e.Node;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Manage Groups
 | 
			
		||||
		//Sets up Group Options
 | 
			
		||||
		private void SetupGroups()
 | 
			
		||||
		{
 | 
			
		||||
			cbGroupSelection.Items.Clear();
 | 
			
		||||
			foreach (GroupInfo gi in myGroupInfoList)
 | 
			
		||||
				cbGroupSelection.Items.Add(gi.GroupName);
 | 
			
		||||
			cbGroupSelection.SelectedIndex = 0;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		private void cbGroupSelection_SelectedIndexChanged(object sender, EventArgs e) => updateMembershipLists();
 | 
			
		||||
 | 
			
		||||
		//Updates the lists of members / nonMembers
 | 
			
		||||
		private void updateMembershipLists()
 | 
			
		||||
		{
 | 
			
		||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
			
		||||
			if (cbGroupSelection.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
 | 
			
		||||
				gi.RefreshGroupMemberships();
 | 
			
		||||
				if (gi.GroupMembershipCount > 0)
 | 
			
		||||
					myMembershipInfoList.AddRange(gi.GroupMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty).OrderBy(x => x.MyUserUserID));
 | 
			
		||||
			}
 | 
			
		||||
			lstMembers.DataSource = myMembershipInfoList;
 | 
			
		||||
			lstMembers.ValueMember = "UID";
 | 
			
		||||
			lstMembers.DisplayMember = "MyUserUserID";
 | 
			
		||||
 | 
			
		||||
			//set NonMembers to Users that are not in Members
 | 
			
		||||
			lstNonMembers.DataSource = myUserInfoList.Select(x => x.UserID).Except(myMembershipInfoList.Select(x => x.MyUser.UserID)).ToList();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Add a Member to a Group
 | 
			
		||||
		private void addMember_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			int groupIndex = cbGroupSelection.SelectedIndex;
 | 
			
		||||
			string selectedUserID = lstNonMembers.SelectedValue.ToString();
 | 
			
		||||
			int selectedUID = UserInfo.GetByUserID(selectedUserID).UID;
 | 
			
		||||
			GroupInfo gi = myGroupInfoList[groupIndex];
 | 
			
		||||
			User selectedUser = User.Get(selectedUID);
 | 
			
		||||
 | 
			
		||||
			Membership.MakeMembership(selectedUser, Group.Get(gi.GID), null, "");
 | 
			
		||||
			updateMembershipLists();
 | 
			
		||||
			lstNonMembers.SelectedIndex = -1;
 | 
			
		||||
 | 
			
		||||
			int index = lstMembers.FindString(selectedUserID);
 | 
			
		||||
			lstMembers.SetSelected(index, true);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Remove a Member From a Group
 | 
			
		||||
		private void removeMember_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstMembers.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				MembershipInfo mi = (MembershipInfo)lstMembers.SelectedItem;
 | 
			
		||||
				string selectedUserID = mi.MyUserUserID;
 | 
			
		||||
				string msg = "Are you sure you want to remove this Group Member?";
 | 
			
		||||
				if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
				{
 | 
			
		||||
					if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
 | 
			
		||||
					{
 | 
			
		||||
						MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
						return;
 | 
			
		||||
					}
 | 
			
		||||
					Membership m = Membership.Get(mi.UGID);
 | 
			
		||||
					m.EndDate = DateTime.Now.ToShortDateString();
 | 
			
		||||
					m.Save();
 | 
			
		||||
					updateMembershipLists();
 | 
			
		||||
					lstMembers.SelectedIndex = -1;
 | 
			
		||||
					lstNonMembers.SelectedItem = selectedUserID;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Deletes the Currently Selected Group
 | 
			
		||||
		private void deleteGroup_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (cbGroupSelection.SelectedIndex < 0)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
 | 
			
		||||
			if(myFolder.FolderConfig.Security_Group == gi.GID)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			bool deleteOK = true;
 | 
			
		||||
            if (gi.GroupMembershipCount > 0 && gi.GroupMemberships.Any(mi => mi.EndDate == null || mi.EndDate == string.Empty))
 | 
			
		||||
                deleteOK = false;
 | 
			
		||||
            if (!deleteOK)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("There are still users who are members of this group.  You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
				Group.Delete(gi.GID);
 | 
			
		||||
				LoadRefreshGroupUsers();
 | 
			
		||||
				SetupGroups();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Manage Users
 | 
			
		||||
 | 
			
		||||
		//Sets up UserOptions
 | 
			
		||||
		private void SetupUserOptions()
 | 
			
		||||
		{
 | 
			
		||||
			lstUsers.Items.Clear();
 | 
			
		||||
			foreach (UserInfo ui in myUserInfoList)
 | 
			
		||||
				lstUsers.Items.Add(ui.UserID);
 | 
			
		||||
			lstUsers.SelectedIndex = -1;
 | 
			
		||||
			lstGroups.DataSource = null;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#region Manage Users - User Options
 | 
			
		||||
 | 
			
		||||
		//Build Membership list based on selected user
 | 
			
		||||
		private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
			
		||||
			if (lstUsers.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
				if (ui.UserMembershipCount > 0)
 | 
			
		||||
				{
 | 
			
		||||
					myMembershipInfoList.AddRange(ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			lstGroups.DataSource = myMembershipInfoList;
 | 
			
		||||
			lstGroups.ValueMember = "UGID";
 | 
			
		||||
			lstGroups.DisplayMember = "MyGroupName";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Select User and set up Mouse Click Menus based on
 | 
			
		||||
		//where click in User Box
 | 
			
		||||
		private void lstUsers_MouseUp(object sender, MouseEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (e.Button == MouseButtons.Right)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstUsers.SelectedIndex = k;
 | 
			
		||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					addUserToolStripMenuItem.Visible = true;
 | 
			
		||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = false;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				cmUsers.Show(lstUsers, e.Location);
 | 
			
		||||
			}
 | 
			
		||||
			else if (e.Button == MouseButtons.Left)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstUsers.SelectedIndex = k;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Adds a new User
 | 
			
		||||
		private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			User u = User.MakeUser("[Enter New UserID]", "", "", "", "", "", "", "", "", "", "", DateTime.Now, "");
 | 
			
		||||
			frmManageUser frm = new frmManageUser("add");
 | 
			
		||||
			frm.MyUser = u;
 | 
			
		||||
			if (frm.ShowDialog(this) == DialogResult.OK)
 | 
			
		||||
			{
 | 
			
		||||
				u = frm.MyUser;
 | 
			
		||||
				u.Save();
 | 
			
		||||
				Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
 | 
			
		||||
 | 
			
		||||
				//Update the User list to reflect the added user
 | 
			
		||||
				LoadRefreshGroupUsers();
 | 
			
		||||
				SetupUserOptions();
 | 
			
		||||
				lstUsers.SelectedItem = u.UserID;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				u.Delete();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Edit a User's details
 | 
			
		||||
		private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstUsers.SelectedIndex == -1)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
			using (User u = User.Get(ui.UID))
 | 
			
		||||
			{
 | 
			
		||||
				frmManageUser frm = new frmManageUser("edit");
 | 
			
		||||
				frm.MyUser = u;
 | 
			
		||||
				if (frm.ShowDialog(this) == DialogResult.OK)
 | 
			
		||||
				{
 | 
			
		||||
					frm.MyUser.Save();
 | 
			
		||||
 | 
			
		||||
					//Update the User list to reflect the edited user
 | 
			
		||||
					//this is done in case the UserID is updated so the list updates to reflect that
 | 
			
		||||
					LoadRefreshGroupUsers();
 | 
			
		||||
					SetupUserOptions();
 | 
			
		||||
					lstUsers.SelectedItem = u.UserID;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Delete a User
 | 
			
		||||
		private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstUsers.SelectedIndex == -1)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
			SessionInfoList sil = SessionInfoList.Get();
 | 
			
		||||
			foreach (SessionInfo si in sil)
 | 
			
		||||
			{
 | 
			
		||||
				if (si.UserID == ui.UserID && (si.DTSEnd == null))
 | 
			
		||||
				{
 | 
			
		||||
					MessageBox.Show("The user selected has an active session.  You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			int nummemberships = ui.UserMemberships.Count(mi => mi.EndDate == null || mi.EndDate == string.Empty);
 | 
			
		||||
			string mem_text = nummemberships > 0 ? "\r\nNote that this will remove all memberships that this user has." : "";
 | 
			
		||||
			if (MessageBox.Show($"Are you sure you want to delete this user?{mem_text}", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (MembershipInfo minfo in ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty))
 | 
			
		||||
                {
 | 
			
		||||
					Membership m = Membership.Get(minfo.UGID);
 | 
			
		||||
					m.EndDate = DateTime.Now.ToShortDateString();
 | 
			
		||||
					m.Save();
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				User.Delete(ui.UID);
 | 
			
		||||
 | 
			
		||||
				//Update the User list to reflect the deleted user
 | 
			
		||||
				LoadRefreshGroupUsers();
 | 
			
		||||
				SetupUserOptions();
 | 
			
		||||
				lstUsers.SelectedIndex = -1;
 | 
			
		||||
				lstGroups.DataSource = null;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Manage Users - Member Options
 | 
			
		||||
 | 
			
		||||
		//Adds Context Menu for when a Group is selected
 | 
			
		||||
		private void lstGroups_MouseUp(object sender, MouseEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			cmMembers.Items.Clear();
 | 
			
		||||
			lstGroups.SelectedIndex = -1;
 | 
			
		||||
 | 
			
		||||
			//shouldn<64>t be bringing up a menu in the Group box unless a user is 1st selected in the Users box.
 | 
			
		||||
			if (e.Button == MouseButtons.Right && lstUsers.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstGroups.SelectedIndex = k;
 | 
			
		||||
					cmMembers.Items.Add(this.removeMemberToolStripMenuItem);
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				var groupsCanAddTo = myGroupInfoList.Select(x => new { x.GroupName, x.GID }).Except(myMembershipInfoList.Select(x => new { x.MyGroup.GroupName, x.GID }));
 | 
			
		||||
				foreach (var possiblegroup in groupsCanAddTo)
 | 
			
		||||
				{
 | 
			
		||||
					ToolStripMenuItemwithValue AddToMenuItem = new ToolStripMenuItemwithValue($"Add as Member to Group: {possiblegroup.GroupName}", possiblegroup.GID);
 | 
			
		||||
					AddToMenuItem.Click += addMemberToolStripMenuItem_Click;
 | 
			
		||||
					cmMembers.Items.Add(AddToMenuItem);
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				cmMembers.Show(lstGroups, e.Location);
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
			else if (e.Button == MouseButtons.Left)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstGroups.SelectedIndex = k;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Adds a User to a Group
 | 
			
		||||
		private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			ToolStripMenuItemwithValue item = (ToolStripMenuItemwithValue)sender;
 | 
			
		||||
			int userIndex = lstUsers.SelectedIndex;
 | 
			
		||||
			UserInfo ui = myUserInfoList[userIndex];
 | 
			
		||||
 | 
			
		||||
			Membership.MakeMembership(User.Get(ui.UID), Group.Get((int) item.Value), null, "");
 | 
			
		||||
 | 
			
		||||
			//Update the Group list to reflect the added group
 | 
			
		||||
			LoadRefreshGroupUsers();
 | 
			
		||||
			lstUsers_SelectedIndexChanged(sender, e);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Removes a User from a Group
 | 
			
		||||
		private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			MembershipInfo mi = (MembershipInfo)lstGroups.SelectedItem;
 | 
			
		||||
			string msg = "Are you sure you want to remove this Group Member?";
 | 
			
		||||
			if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
                if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
 | 
			
		||||
                {
 | 
			
		||||
                    MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                Membership m = Membership.Get(mi.UGID);
 | 
			
		||||
				m.EndDate = DateTime.Now.ToShortDateString();
 | 
			
		||||
				m.Save();
 | 
			
		||||
 | 
			
		||||
				//Update the Group list to reflect the removed group
 | 
			
		||||
				LoadRefreshGroupUsers();
 | 
			
		||||
				lstUsers_SelectedIndexChanged(sender, e);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		#region Default Options
 | 
			
		||||
		//Sets up Default Group options for Default Tab
 | 
			
		||||
		private void SetupDefaultGroupOptions()
 | 
			
		||||
		{
 | 
			
		||||
			pnlGroups.Controls.Clear();
 | 
			
		||||
			foreach (GroupInfo gi in myGroupInfoList)
 | 
			
		||||
@@ -56,6 +518,7 @@ namespace VEPROMS
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		//Handles changing the default group
 | 
			
		||||
		private void rb_CheckedChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			RadioButton rb = sender as RadioButton;
 | 
			
		||||
@@ -64,446 +527,7 @@ namespace VEPROMS
 | 
			
		||||
			myFolder.FolderConfig.Security_Group = gi.GID;
 | 
			
		||||
			myFolder.Save();
 | 
			
		||||
		}
 | 
			
		||||
		private void SetupSecurity()
 | 
			
		||||
		{
 | 
			
		||||
			if (tvFolders.Nodes.Count == 0)
 | 
			
		||||
			{
 | 
			
		||||
				FolderInfo fi = FolderInfo.Get(1);
 | 
			
		||||
				LoadChildFolders(fi, null);
 | 
			
		||||
			}
 | 
			
		||||
			lstMembers.Items.Clear();
 | 
			
		||||
			lstUsers.Items.Clear();
 | 
			
		||||
			lstGroups.Items.Clear();
 | 
			
		||||
			GroupInfoList.Reset();
 | 
			
		||||
			UserInfoList.Reset();
 | 
			
		||||
			myGroupInfoList = GroupInfoList.Get();
 | 
			
		||||
			myUserInfoList = UserInfoList.Get();
 | 
			
		||||
			foreach (GroupInfo gi in myGroupInfoList)
 | 
			
		||||
				lstGroups.Items.Add(gi.GroupName);
 | 
			
		||||
			lstGroups.SelectedIndex = 0;
 | 
			
		||||
			foreach (UserInfo ui in myUserInfoList)
 | 
			
		||||
				lstUsers.Items.Add(ui.UserID);
 | 
			
		||||
			lstGroups.SelectedIndex = -1;
 | 
			
		||||
			lstUsers.SelectedIndex = -1;
 | 
			
		||||
		}
 | 
			
		||||
		private void LoadChildFolders(FolderInfo fi, TreeNode tn)
 | 
			
		||||
		{
 | 
			
		||||
			if (tn == null)
 | 
			
		||||
			{
 | 
			
		||||
				tn = tvFolders.Nodes.Add(fi.Name);
 | 
			
		||||
				tn.Tag = fi;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				tn = tn.Nodes.Add(fi.Name);
 | 
			
		||||
				tn.Tag = fi;
 | 
			
		||||
			}
 | 
			
		||||
			if (fi.ChildFolderCount > 0)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (FolderInfo fic in fi.SortedChildFolders)
 | 
			
		||||
				{
 | 
			
		||||
					LoadChildFolders(fic, tn);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void lstGroups_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			lblMembers.Text = "Selected Group Users";
 | 
			
		||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
			
		||||
			lstMembers.Items.Clear();
 | 
			
		||||
			if (lstGroups.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
			
		||||
				if (gi.GroupMembershipCount > 0)
 | 
			
		||||
					foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
			
		||||
					{
 | 
			
		||||
						if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
			
		||||
						{
 | 
			
		||||
							myMembershipInfoList.Add(mi);
 | 
			
		||||
							lstMembers.Items.Add(mi.MyUser.UserID);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			int groupIndex = lstGroups.SelectedIndex;
 | 
			
		||||
			int userIndex = lstUsers.SelectedIndex;
 | 
			
		||||
			GroupInfo gi = myGroupInfoList[groupIndex];
 | 
			
		||||
			UserInfo ui = myUserInfoList[userIndex];
 | 
			
		||||
			Membership.MakeMembership(User.Get(ui.UID), Group.Get(gi.GID), null, "");
 | 
			
		||||
			SetupSecurity();
 | 
			
		||||
			if ((sender as ToolStripMenuItem).Name.EndsWith("Group"))
 | 
			
		||||
			{
 | 
			
		||||
				lstUsers.SelectedIndex = userIndex;
 | 
			
		||||
				lstGroups.SelectedIndex = groupIndex;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				lstGroups.SelectedIndex = groupIndex;
 | 
			
		||||
				lstUsers.SelectedIndex = userIndex;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			MembershipInfo mi = myMembershipInfoList[lstMembers.SelectedIndex];
 | 
			
		||||
			string msg = "Are you sure you want to remove this Group Member?";
 | 
			
		||||
			if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
				int groupIndex = lstGroups.SelectedIndex;
 | 
			
		||||
				int userIndex = lstUsers.SelectedIndex;
 | 
			
		||||
				if (mi.MyGroup.GroupName == "Administrators")
 | 
			
		||||
				{
 | 
			
		||||
					int k = 0;
 | 
			
		||||
					foreach(MembershipInfo mm in mi.MyGroup.GroupMemberships)
 | 
			
		||||
						if(mm.EndDate == null || mm.EndDate == string.Empty)
 | 
			
		||||
							k++;
 | 
			
		||||
					if (k == 1)
 | 
			
		||||
					{
 | 
			
		||||
						MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
						return;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				Membership m = Membership.Get(mi.UGID);
 | 
			
		||||
				m.EndDate = DateTime.Now.ToShortDateString();
 | 
			
		||||
				m.Save();
 | 
			
		||||
				SetupSecurity();
 | 
			
		||||
				lstGroups.SelectedIndex = groupIndex;
 | 
			
		||||
				lstUsers.SelectedIndex = userIndex;
 | 
			
		||||
			}
 | 
			
		||||
			//  foreach (int gg in lstGroups.SelectedIndices)
 | 
			
		||||
			//  {
 | 
			
		||||
			//    GroupInfo gi = myGroupInfoList[gg];
 | 
			
		||||
			//    if (gi.GroupName == "Administrators" && gi.GroupMembershipCount == 1)
 | 
			
		||||
			//    {
 | 
			
		||||
			//      MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "Can Not Delete User", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
			//      return;
 | 
			
		||||
			//    }
 | 
			
		||||
			//    foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
			
		||||
			//    {
 | 
			
		||||
			//      foreach (int mm in lstGroupUsers.SelectedIndices)
 | 
			
		||||
			//      {
 | 
			
		||||
			//        MembershipInfo mig = myMembershipInfoList[mm];
 | 
			
		||||
			//        if (mi.MyUser.UID == mig.MyUser.UID)
 | 
			
		||||
			//        {
 | 
			
		||||
			//          Membership m = Membership.Get(mi.UGID);
 | 
			
		||||
			//          m.EndDate = DateTime.Now.ToShortDateString();
 | 
			
		||||
			//          m.Save();
 | 
			
		||||
			//        }
 | 
			
		||||
			//      }
 | 
			
		||||
			//    }
 | 
			
		||||
			//  }
 | 
			
		||||
			//  SetupSecurity();
 | 
			
		||||
			//}
 | 
			
		||||
		}
 | 
			
		||||
		private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			User u = User.MakeUser("[Enter New UserID]","", "", "", "", "", "", "", "", "", "",DateTime.Now,"");
 | 
			
		||||
			frmManageUser frm = new frmManageUser("add");
 | 
			
		||||
			frm.MyUser = u;
 | 
			
		||||
			if (frm.ShowDialog(this) == DialogResult.OK)
 | 
			
		||||
			{
 | 
			
		||||
				u = frm.MyUser;
 | 
			
		||||
				u.Save();
 | 
			
		||||
				Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
 | 
			
		||||
				SetupSecurity();
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				u.Delete();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstUsers.SelectedIndex == -1)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
			using (User u = User.Get(ui.UID))
 | 
			
		||||
			{
 | 
			
		||||
				frmManageUser frm = new frmManageUser("edit");
 | 
			
		||||
				frm.MyUser = u;
 | 
			
		||||
				if (frm.ShowDialog(this) == DialogResult.OK)
 | 
			
		||||
				{
 | 
			
		||||
					frm.MyUser.Save();
 | 
			
		||||
          SetupSecurity();
 | 
			
		||||
        }
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstUsers.SelectedIndex == -1)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
			SessionInfoList sil = SessionInfoList.Get();
 | 
			
		||||
			foreach (SessionInfo si in sil)
 | 
			
		||||
			{
 | 
			
		||||
				if (si.UserID == ui.UserID && (si.DTSEnd == null))
 | 
			
		||||
				{
 | 
			
		||||
					MessageBox.Show("The user selected has an active session.  You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
					return;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			int k = 0;
 | 
			
		||||
			if (ui.UserMembershipCount > 0)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (MembershipInfo mi in ui.UserMemberships)
 | 
			
		||||
				{
 | 
			
		||||
					if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
			
		||||
						k++;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if (k > 0)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must remove user from all groups that user is a member of in order to delete user", "User Has Memberships", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			if (MessageBox.Show("Are you sure you want to delete this user?", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
				User.Delete(ui.UID);
 | 
			
		||||
				SetupSecurity();
 | 
			
		||||
			}
 | 
			
		||||
			//to do delete user
 | 
			
		||||
			//end date user memberships
 | 
			
		||||
			//delete user
 | 
			
		||||
		}
 | 
			
		||||
		private void createGroupMenuItem(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
				ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
 | 
			
		||||
				TreeNode tn = tvFolders.SelectedNode;
 | 
			
		||||
				FolderInfo fi = tn.Tag as FolderInfo;
 | 
			
		||||
				AddNewGroup(tsddi.Text, fi);
 | 
			
		||||
				SetupSecurity();
 | 
			
		||||
			}
 | 
			
		||||
			catch (Exception ex)
 | 
			
		||||
			{
 | 
			
		||||
				_MyLog.Warn("createGroupMenuItem", ex);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void AddNewGroup(string txt, FolderInfo fi)
 | 
			
		||||
		{
 | 
			
		||||
			txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
 | 
			
		||||
			RoleInfoList ril = RoleInfoList.Get();
 | 
			
		||||
			// B2022-080: cannot add a new group in Proms security.  if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
 | 
			
		||||
			//   Writer, Reviewer, RO Editor, the Adding of new groups won't work.  Databases should have this loaded by default.
 | 
			
		||||
			//   Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
 | 
			
		||||
			if (ril == null || ril.Count < 2)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			foreach(RoleInfo ri in ril)
 | 
			
		||||
			{
 | 
			
		||||
				if (ri.Name == txt)
 | 
			
		||||
				{
 | 
			
		||||
					string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
 | 
			
		||||
					bool addOK = true;
 | 
			
		||||
					foreach (GroupInfo gi in myGroupInfoList)
 | 
			
		||||
					{
 | 
			
		||||
						if (gin == gi.GroupName)
 | 
			
		||||
						{
 | 
			
		||||
							addOK = false;
 | 
			
		||||
							break;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					if (addOK)
 | 
			
		||||
					{
 | 
			
		||||
						Group group = Group.MakeGroup(gin, null, null);
 | 
			
		||||
						Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			GroupInfoList.Reset();
 | 
			
		||||
			myGroupInfoList = GroupInfoList.Get();
 | 
			
		||||
			SetupGroups();
 | 
			
		||||
		}
 | 
			
		||||
		private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			lblMembers.Text = "Selected User Groups";
 | 
			
		||||
			myMembershipInfoList = new List<MembershipInfo>();
 | 
			
		||||
			lstMembers.Items.Clear();
 | 
			
		||||
			if (lstUsers.SelectedIndex > -1)
 | 
			
		||||
			{
 | 
			
		||||
				UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
				if (ui.UserMembershipCount > 0)
 | 
			
		||||
				{
 | 
			
		||||
					foreach (MembershipInfo mi in ui.UserMemberships)
 | 
			
		||||
					{
 | 
			
		||||
						if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
			
		||||
						{
 | 
			
		||||
							myMembershipInfoList.Add(mi);
 | 
			
		||||
							lstMembers.Items.Add(mi.MyGroup.GroupName);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			tvFolders.SelectedNode = e.Node;
 | 
			
		||||
		}
 | 
			
		||||
		private void deleteGroupToolStripMenuItem_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			if (lstGroups.SelectedIndex < 0)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
			
		||||
			if(myFolder.FolderConfig.Security_Group == gi.GID)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			bool deleteOK = true;
 | 
			
		||||
			if(gi.GroupMembershipCount > 0)
 | 
			
		||||
			{
 | 
			
		||||
				foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
			
		||||
				{
 | 
			
		||||
					if (mi.EndDate == null || mi.EndDate == string.Empty)
 | 
			
		||||
					{
 | 
			
		||||
						deleteOK = false;
 | 
			
		||||
						break;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if (!deleteOK)
 | 
			
		||||
			{
 | 
			
		||||
				MessageBox.Show("There are still users who are members of this group.  You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
 | 
			
		||||
			{
 | 
			
		||||
				Group.Delete(gi.GID);
 | 
			
		||||
				GroupInfoList.Reset();
 | 
			
		||||
				myGroupInfoList = GroupInfoList.Get();
 | 
			
		||||
				SetupGroups();
 | 
			
		||||
				SetupSecurity();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void lstGroups_MouseUp(object sender, MouseEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			lstGroups.SelectedIndex = -1;
 | 
			
		||||
			if (e.Button == MouseButtons.Right)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstGroups.SelectedIndex = k;
 | 
			
		||||
					if (lstUsers.SelectedIndex >= 0)
 | 
			
		||||
					{
 | 
			
		||||
						GroupInfo gi = myGroupInfoList[k];
 | 
			
		||||
						if (gi.GroupMembershipCount > 0)
 | 
			
		||||
						{
 | 
			
		||||
							addMemberToolStripMenuItemGroup.Visible = true;
 | 
			
		||||
							UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
 | 
			
		||||
							foreach (MembershipInfo mi in gi.GroupMemberships)
 | 
			
		||||
							{
 | 
			
		||||
								if (mi.MyUser.UserID == ui.UserID && (mi.EndDate == null || mi.EndDate == string.Empty))
 | 
			
		||||
								{
 | 
			
		||||
									addMemberToolStripMenuItemGroup.Visible = false;
 | 
			
		||||
									break;
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					else
 | 
			
		||||
						addMemberToolStripMenuItemGroup.Visible = false;
 | 
			
		||||
					cmGroups.Show(lstGroups, e.Location);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else if (e.Button == MouseButtons.Left)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstGroups.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstGroups.SelectedIndex = k;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void lstUsers_MouseUp(object sender, MouseEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			lstUsers.SelectedIndex = -1;
 | 
			
		||||
			if (e.Button == MouseButtons.Right)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstUsers.SelectedIndex = k;
 | 
			
		||||
          //addUserToolStripMenuItem.Visible = false;
 | 
			
		||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
 | 
			
		||||
					if (lstGroups.SelectedIndex >= 0)
 | 
			
		||||
					{
 | 
			
		||||
						UserInfo ui = myUserInfoList[k];
 | 
			
		||||
						if(ui.UserMembershipCount > 0)
 | 
			
		||||
						{
 | 
			
		||||
							addMemberToolStripMenuItemUser.Visible = true;
 | 
			
		||||
							GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
 | 
			
		||||
							foreach(MembershipInfo mi in ui.UserMemberships)
 | 
			
		||||
							{
 | 
			
		||||
								if (mi.MyGroup.GroupName == gi.GroupName && (mi.EndDate == null || mi.EndDate == string.Empty))
 | 
			
		||||
								{
 | 
			
		||||
									addMemberToolStripMenuItemUser.Visible = false;
 | 
			
		||||
									break;
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					else
 | 
			
		||||
						addMemberToolStripMenuItemUser.Visible = false;
 | 
			
		||||
					cmUsers.Show(lstUsers, e.Location);
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					addUserToolStripMenuItem.Visible = true;
 | 
			
		||||
					editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = addMemberToolStripMenuItemUser.Visible = false;
 | 
			
		||||
					cmUsers.Show(lstUsers, e.Location);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else if (e.Button == MouseButtons.Left)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstUsers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstUsers.SelectedIndex = k;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void lstMembers_MouseUp(object sender, MouseEventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			lstMembers.SelectedIndex = -1;
 | 
			
		||||
			if (e.Button == MouseButtons.Right)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstMembers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstMembers.SelectedIndex = k;
 | 
			
		||||
					addMemberToolStripMenuItemUser.Visible = false;
 | 
			
		||||
					removeMemberToolStripMenuItem.Visible = true;
 | 
			
		||||
					cmMembers.Show(lstMembers, e.Location);
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					addMemberToolStripMenuItemUser.Visible = true;
 | 
			
		||||
					removeMemberToolStripMenuItem.Visible = false;
 | 
			
		||||
					cmMembers.Show(lstMembers, e.Location);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else if (e.Button == MouseButtons.Left)
 | 
			
		||||
			{
 | 
			
		||||
				int k = lstMembers.IndexFromPoint(e.Location);
 | 
			
		||||
				if (k >= 0)
 | 
			
		||||
				{
 | 
			
		||||
					lstMembers.SelectedIndex = k;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -112,21 +112,27 @@
 | 
			
		||||
    <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>
 | 
			
		||||
    <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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
  <metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>234, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>341, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
  <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>17, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>243, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="cmGroups.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
  <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>136, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>341, 17</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>58</value>
 | 
			
		||||
  </metadata>
 | 
			
		||||
</root>
 | 
			
		||||
@@ -284,6 +284,15 @@ namespace VEPROMS
 | 
			
		||||
					cachePartInfo = PartInfo.CacheList;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				//B2025-048  Problem with Printing CAS Steps
 | 
			
		||||
				//  skip doing section titles if printing CAS or CTAS
 | 
			
		||||
				//  - was causing it to
 | 
			
		||||
				//  skip/overwrite data
 | 
			
		||||
				if (OnlyShowContinuousActionSummary)
 | 
			
		||||
					{ MyPromsPrinter.PromsPrinterPrintType = PromsPrinterPrintType.CAS_Only; }
 | 
			
		||||
				if (OnlyShowTimeCriticalActionSummary)
 | 
			
		||||
					{ MyPromsPrinter.PromsPrinterPrintType = PromsPrinterPrintType.TCAS_only; }
 | 
			
		||||
 | 
			
		||||
				_PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PrtSectID);
 | 
			
		||||
 | 
			
		||||
				ProfileTimer.Pop(profileDepth);
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,6 @@ namespace VEPROMS
 | 
			
		||||
		{
 | 
			
		||||
			this.components = new System.ComponentModel.Container();
 | 
			
		||||
			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSysOptions));
 | 
			
		||||
			//this.btnCancel = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
			this.btnOK = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
			this.gpSystemColor = new DevComponents.DotNetBar.Controls.GroupPanel();
 | 
			
		||||
			this.cbRibonBlack = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
@@ -50,6 +49,7 @@ namespace VEPROMS
 | 
			
		||||
			this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel();
 | 
			
		||||
			this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.gpAnnoTypeFilter = new DevComponents.DotNetBar.Controls.GroupPanel();
 | 
			
		||||
			this.cbShwAnnoFilter = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
			this.gpVisioPath = new DevComponents.DotNetBar.Controls.GroupPanel();
 | 
			
		||||
			this.txbxVisioPath = new DevComponents.DotNetBar.Controls.TextBoxX();
 | 
			
		||||
			this.gpSeparateWindows = new DevComponents.DotNetBar.Controls.GroupPanel();
 | 
			
		||||
@@ -72,10 +72,10 @@ namespace VEPROMS
 | 
			
		||||
			this.cbTabbedIntrFace = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.cbButtonIntrFace = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.tiIntrFaceStngs = new DevComponents.DotNetBar.TabItem(this.components);
 | 
			
		||||
			this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
 | 
			
		||||
			this.tiGeneral = new DevComponents.DotNetBar.TabItem(this.components);
 | 
			
		||||
			this.tabControlPanel2 = new DevComponents.DotNetBar.TabControlPanel();
 | 
			
		||||
			this.tiStUpMsg = new DevComponents.DotNetBar.TabItem(this.components);
 | 
			
		||||
			this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
 | 
			
		||||
			this.tiGeneral = new DevComponents.DotNetBar.TabItem(this.components);
 | 
			
		||||
			this.cbUCFLForSetOnly = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.cbUCFLUseAll = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.cbUCFLOnlyImport = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
@@ -83,7 +83,6 @@ namespace VEPROMS
 | 
			
		||||
			this.cbUCFIgnore = new DevComponents.DotNetBar.Controls.CheckBoxX();
 | 
			
		||||
			this.btnReset = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
			this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
 | 
			
		||||
			this.cbShwAnnoFilter = new DevComponents.DotNetBar.ButtonX();
 | 
			
		||||
			this.gpSystemColor.SuspendLayout();
 | 
			
		||||
			this.panButtons.SuspendLayout();
 | 
			
		||||
			((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).BeginInit();
 | 
			
		||||
@@ -103,18 +102,6 @@ namespace VEPROMS
 | 
			
		||||
			this.gpTransRangeColor.SuspendLayout();
 | 
			
		||||
			this.gpPropPageStyle.SuspendLayout();
 | 
			
		||||
			this.SuspendLayout();
 | 
			
		||||
			//// 
 | 
			
		||||
			//// btnCancel
 | 
			
		||||
			//// 
 | 
			
		||||
			//this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
 | 
			
		||||
			//this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 | 
			
		||||
			//this.btnCancel.Location = new System.Drawing.Point(616, 591);
 | 
			
		||||
			//this.btnCancel.Margin = new System.Windows.Forms.Padding(2);
 | 
			
		||||
			//this.btnCancel.Name = "btnCancel";
 | 
			
		||||
			//this.btnCancel.Size = new System.Drawing.Size(56, 19);
 | 
			
		||||
			//this.btnCancel.TabIndex = 0;
 | 
			
		||||
			//this.btnCancel.Text = "Cancel";
 | 
			
		||||
			//this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// btnOK
 | 
			
		||||
			// 
 | 
			
		||||
@@ -564,6 +551,18 @@ namespace VEPROMS
 | 
			
		||||
			this.gpAnnoTypeFilter.TabIndex = 13;
 | 
			
		||||
			this.gpAnnoTypeFilter.Text = "Filter Annotation Types";
 | 
			
		||||
			// 
 | 
			
		||||
			// cbShwAnnoFilter
 | 
			
		||||
			// 
 | 
			
		||||
			this.cbShwAnnoFilter.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
 | 
			
		||||
			this.cbShwAnnoFilter.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
 | 
			
		||||
			this.cbShwAnnoFilter.Location = new System.Drawing.Point(25, 13);
 | 
			
		||||
			this.cbShwAnnoFilter.Name = "cbShwAnnoFilter";
 | 
			
		||||
			this.cbShwAnnoFilter.Size = new System.Drawing.Size(91, 23);
 | 
			
		||||
			this.cbShwAnnoFilter.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
 | 
			
		||||
			this.cbShwAnnoFilter.TabIndex = 0;
 | 
			
		||||
			this.cbShwAnnoFilter.Text = "Open";
 | 
			
		||||
			this.cbShwAnnoFilter.Click += new System.EventHandler(this.cbShwAnnoFilter_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// gpVisioPath
 | 
			
		||||
			// 
 | 
			
		||||
			this.gpVisioPath.BackColor = System.Drawing.Color.Transparent;
 | 
			
		||||
@@ -741,6 +740,7 @@ namespace VEPROMS
 | 
			
		||||
			this.cbEnhancedDocumentSync.Size = new System.Drawing.Size(99, 19);
 | 
			
		||||
			this.cbEnhancedDocumentSync.TabIndex = 9;
 | 
			
		||||
			this.cbEnhancedDocumentSync.Text = "Sync Navigation";
 | 
			
		||||
			this.cbEnhancedDocumentSync.CheckedChanged += new System.EventHandler(this.cbEnhancedDocumentSync_CheckedChanged);
 | 
			
		||||
			// 
 | 
			
		||||
			// gpPasteSettings
 | 
			
		||||
			// 
 | 
			
		||||
@@ -1147,31 +1147,6 @@ namespace VEPROMS
 | 
			
		||||
			this.tiIntrFaceStngs.Name = "tiIntrFaceStngs";
 | 
			
		||||
			this.tiIntrFaceStngs.Text = "My Interface Settings";
 | 
			
		||||
			// 
 | 
			
		||||
			// tabControlPanel1
 | 
			
		||||
			// 
 | 
			
		||||
			this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
 | 
			
		||||
			this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
			this.tabControlPanel1.Location = new System.Drawing.Point(0, 27);
 | 
			
		||||
			this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2);
 | 
			
		||||
			this.tabControlPanel1.Name = "tabControlPanel1";
 | 
			
		||||
			this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
 | 
			
		||||
			this.tabControlPanel1.Size = new System.Drawing.Size(645, 528);
 | 
			
		||||
			this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
 | 
			
		||||
			this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
 | 
			
		||||
			this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) 
 | 
			
		||||
            | DevComponents.DotNetBar.eBorderSide.Bottom)));
 | 
			
		||||
			this.tabControlPanel1.Style.GradientAngle = 90;
 | 
			
		||||
			this.tabControlPanel1.TabIndex = 1;
 | 
			
		||||
			this.tabControlPanel1.TabItem = this.tiGeneral;
 | 
			
		||||
			this.tabControlPanel1.ThemeAware = true;
 | 
			
		||||
			// 
 | 
			
		||||
			// tiGeneral
 | 
			
		||||
			// 
 | 
			
		||||
			this.tiGeneral.AttachedControl = this.tabControlPanel1;
 | 
			
		||||
			this.tiGeneral.Name = "tiGeneral";
 | 
			
		||||
			this.tiGeneral.Text = "General";
 | 
			
		||||
			this.tiGeneral.Visible = false;
 | 
			
		||||
			// 
 | 
			
		||||
			// tabControlPanel2
 | 
			
		||||
			// 
 | 
			
		||||
			this.tabControlPanel2.DisabledBackColor = System.Drawing.Color.Empty;
 | 
			
		||||
@@ -1197,6 +1172,31 @@ namespace VEPROMS
 | 
			
		||||
			this.tiStUpMsg.Text = "Startup Message";
 | 
			
		||||
			this.tiStUpMsg.Visible = false;
 | 
			
		||||
			// 
 | 
			
		||||
			// tabControlPanel1
 | 
			
		||||
			// 
 | 
			
		||||
			this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
 | 
			
		||||
			this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
			this.tabControlPanel1.Location = new System.Drawing.Point(0, 27);
 | 
			
		||||
			this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2);
 | 
			
		||||
			this.tabControlPanel1.Name = "tabControlPanel1";
 | 
			
		||||
			this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
 | 
			
		||||
			this.tabControlPanel1.Size = new System.Drawing.Size(645, 528);
 | 
			
		||||
			this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
 | 
			
		||||
			this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
 | 
			
		||||
			this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) 
 | 
			
		||||
            | DevComponents.DotNetBar.eBorderSide.Bottom)));
 | 
			
		||||
			this.tabControlPanel1.Style.GradientAngle = 90;
 | 
			
		||||
			this.tabControlPanel1.TabIndex = 1;
 | 
			
		||||
			this.tabControlPanel1.TabItem = this.tiGeneral;
 | 
			
		||||
			this.tabControlPanel1.ThemeAware = true;
 | 
			
		||||
			// 
 | 
			
		||||
			// tiGeneral
 | 
			
		||||
			// 
 | 
			
		||||
			this.tiGeneral.AttachedControl = this.tabControlPanel1;
 | 
			
		||||
			this.tiGeneral.Name = "tiGeneral";
 | 
			
		||||
			this.tiGeneral.Text = "General";
 | 
			
		||||
			this.tiGeneral.Visible = false;
 | 
			
		||||
			// 
 | 
			
		||||
			// cbUCFLForSetOnly
 | 
			
		||||
			// 
 | 
			
		||||
			this.cbUCFLForSetOnly.BackColor = System.Drawing.Color.Transparent;
 | 
			
		||||
@@ -1291,31 +1291,17 @@ namespace VEPROMS
 | 
			
		||||
			this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
 | 
			
		||||
			this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
 | 
			
		||||
			// 
 | 
			
		||||
			// cbShwAnnoFilter
 | 
			
		||||
			// 
 | 
			
		||||
			this.cbShwAnnoFilter.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
 | 
			
		||||
			this.cbShwAnnoFilter.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
 | 
			
		||||
			this.cbShwAnnoFilter.Location = new System.Drawing.Point(25, 13);
 | 
			
		||||
			this.cbShwAnnoFilter.Name = "cbShwAnnoFilter";
 | 
			
		||||
			this.cbShwAnnoFilter.Size = new System.Drawing.Size(91, 23);
 | 
			
		||||
			this.cbShwAnnoFilter.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
 | 
			
		||||
			this.cbShwAnnoFilter.TabIndex = 0;
 | 
			
		||||
			this.cbShwAnnoFilter.Text = "Open";
 | 
			
		||||
			this.cbShwAnnoFilter.Click += new System.EventHandler(this.cbShwAnnoFilter_Click);
 | 
			
		||||
			// 
 | 
			
		||||
			// frmSysOptions
 | 
			
		||||
			// 
 | 
			
		||||
			this.AcceptButton = this.btnOK;
 | 
			
		||||
			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
 | 
			
		||||
			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
 | 
			
		||||
			//this.CancelButton = this.btnCancel;
 | 
			
		||||
			this.ClientSize = new System.Drawing.Size(699, 620);
 | 
			
		||||
			this.ControlBox = false;
 | 
			
		||||
			this.Controls.Add(this.btnReset);
 | 
			
		||||
			this.Controls.Add(this.tcSysOpts);
 | 
			
		||||
			this.Controls.Add(this.panButtons);
 | 
			
		||||
			this.Controls.Add(this.btnOK);
 | 
			
		||||
			//this.Controls.Add(this.btnCancel);
 | 
			
		||||
			this.DoubleBuffered = true;
 | 
			
		||||
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
 | 
			
		||||
			this.Margin = new System.Windows.Forms.Padding(2);
 | 
			
		||||
 
 | 
			
		||||
@@ -270,7 +270,7 @@ namespace VEPROMS
 | 
			
		||||
		private void cbStepTypeToolTip_CheckedChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			Settings.Default.StepTypeToolTip = cbStepTypeToolTip.Checked;
 | 
			
		||||
			VlnSettings.StepTypeToolType = cbStepTypeToolTip.Checked;
 | 
			
		||||
			VlnSettings.StepTypeToolTip = cbStepTypeToolTip.Checked;
 | 
			
		||||
		}
 | 
			
		||||
		private void cbTVExpand_CheckedChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -524,7 +524,7 @@ namespace VEPROMS
 | 
			
		||||
 | 
			
		||||
			this.Activated += new EventHandler(frmVEPROMS_Activated);
 | 
			
		||||
 | 
			
		||||
			VlnSettings.StepTypeToolType = Settings.Default.StepTypeToolTip;
 | 
			
		||||
			VlnSettings.StepTypeToolTip = Settings.Default.StepTypeToolTip;
 | 
			
		||||
			VlnSettings.cbShwRplWrdsColor = Settings.Default.cbShwRplWrdsColor;
 | 
			
		||||
			displayLibDocs.PrintRequest += new DisplayLibDocEvent(displayLibDocs_PrintRequest);
 | 
			
		||||
			ContentInfo.InfoChanged += new ContentInfoEvent(RefreshDisplayHistory);
 | 
			
		||||
@@ -554,10 +554,23 @@ namespace VEPROMS
 | 
			
		||||
			tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary);
 | 
			
		||||
			tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars;
 | 
			
		||||
			tv.CreateTimeCriticalActionSummary += new vlnTreeViewEvent(tv_CreateTimeCriticalActionSummary);
 | 
			
		||||
			tv.RefreshFormats += new vlnTreeViewStatusEvent(RefreshFormats);
 | 
			
		||||
 | 
			
		||||
			displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		void RefreshFormats(object sender, vlnTreeStatusEventArgs args)
 | 
			
		||||
		{
 | 
			
		||||
			Format.ClearFormatCache();
 | 
			
		||||
			FormatInfo.ClearFormatInfoCache();
 | 
			
		||||
			FormatInfo.Reset();
 | 
			
		||||
			FormatInfoList.Reset();
 | 
			
		||||
			Format.Reset();
 | 
			
		||||
			FormatList.Reset();
 | 
			
		||||
			displaySearch1.SetupContextMenu();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Part of Separate Windows upgrade C2015-022
 | 
			
		||||
		// Extend Changes to BookMark information to all of the child windows
 | 
			
		||||
		void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args)
 | 
			
		||||
@@ -1325,12 +1338,17 @@ namespace VEPROMS
 | 
			
		||||
					prnDlg.SetupForProcedure();  // Setup filename
 | 
			
		||||
 | 
			
		||||
					if (quickprint)
 | 
			
		||||
                    {
 | 
			
		||||
						prnDlg.OverwritePDF = false; // turn off overwriting of PDFs B2025-051
 | 
			
		||||
						prnDlg.QPCreatePDF();  // Create Print report
 | 
			
		||||
					else
 | 
			
		||||
						prnDlg.ShowDialog(this);  // Create Print report
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        prnDlg.ShowDialog(this);  // Create Print report
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
					//B2025-032 Fix Section not Printing Applicability Properly
 | 
			
		||||
					si2.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
 | 
			
		||||
                    //B2025-032 Fix Section not Printing Applicability Properly
 | 
			
		||||
                    si2.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
 | 
			
		||||
					si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
@@ -1802,14 +1820,15 @@ namespace VEPROMS
 | 
			
		||||
						// Deactivate previous procedure tab state by user
 | 
			
		||||
						VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
 | 
			
		||||
						// Save current procedure tab state
 | 
			
		||||
						foreach (KeyValuePair<string, DisplayTabItem> pgTab in tc._MyDisplayTabItems)
 | 
			
		||||
 | 
			
		||||
						//B2024-082 Remember Tabs Not opening in correct order
 | 
			
		||||
						foreach (DisplayTabItem dti in tc.MyBar.Items)
 | 
			
		||||
						{
 | 
			
		||||
							cnt++;
 | 
			
		||||
							DisplayTabID = pgTab.Key;
 | 
			
		||||
							TabItemID = Int32.Parse(DisplayTabID.Substring(DisplayTabID.IndexOf("Item - ") + 7));
 | 
			
		||||
							DisplayTabName = pgTab.Value.ToString();
 | 
			
		||||
							//tc.SelectedDisplayTabItem.MyStepTabPanel.ToString()
 | 
			
		||||
							VEPROMS.CSLA.Library.Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
 | 
			
		||||
							DisplayTabID = dti.MyKey;
 | 
			
		||||
							TabItemID = dti.MyItemInfo.ItemID;
 | 
			
		||||
							DisplayTabName = dti.ToString();
 | 
			
		||||
                            Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
@@ -2496,6 +2515,7 @@ namespace VEPROMS
 | 
			
		||||
						// Open procedure in the editor.
 | 
			
		||||
						if (_Procedure == null) continue; //skip and continue with foreach
 | 
			
		||||
						OpenItem(_Procedure);
 | 
			
		||||
						if (tc.MyEditItem == null) continue; // skip and continue with foreach
 | 
			
		||||
						// SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work.
 | 
			
		||||
						SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel;
 | 
			
		||||
 | 
			
		||||
@@ -2507,6 +2527,7 @@ namespace VEPROMS
 | 
			
		||||
						{
 | 
			
		||||
							SelectedStepTabPanel.Select();
 | 
			
		||||
							dlgFindReplace.MyEditItem = tc.MyEditItem;
 | 
			
		||||
							SpellChecker.MyEditItem = tc.MyEditItem;   //B2025-043 Remember Tabs is not setting the EditItem for the active window causing a PROMS crash when Spell Check
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 
 | 
			
		||||
@@ -394,6 +394,33 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
				OnPropertyChanged("Step_ChangeID");
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
		//   was last change made in editorial mode and thus change bars should be disabled?
 | 
			
		||||
		//    will contain userid of user that made last change if it was in Editorial Mode
 | 
			
		||||
		//    if there was not a previous change that would have caused change bars
 | 
			
		||||
		//    will be blank/empty by default
 | 
			
		||||
		// will get overwritten every time a change is made
 | 
			
		||||
		public string Step_ChangeIDEditorialMode
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				string s = _Xp["Step", "ChangeIDEMode"];
 | 
			
		||||
 | 
			
		||||
				if (s == string.Empty) return null;
 | 
			
		||||
				return s;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				string s = _Xp["Step", "ChangeIDEMode"];
 | 
			
		||||
 | 
			
		||||
				if (value != null && value.ToString() == s) return;
 | 
			
		||||
				if (value == null && s != null) _Xp["Step", "ChangeIDEMode"] = null;
 | 
			
		||||
				else _Xp["Step", "ChangeIDEMode"] = value.ToString();
 | 
			
		||||
				OnPropertyChanged("Step_ChangeIDEMode");
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public string Step_Responsibility
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
 
 | 
			
		||||
@@ -2647,8 +2647,8 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
								with = with.Replace(@"\ul ", "");
 | 
			
		||||
								with = with.Replace(@"\ulnone ", "");
 | 
			
		||||
							}
 | 
			
		||||
							//if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
 | 
			
		||||
							if (Properties.Settings.Default.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
 | 
			
		||||
							// B2025-050 use VlnSettings so we don't need to restart PROMS
 | 
			
		||||
							if (VlnSettings.cbShwRplWrdsColor && !(epMode == E_EditPrintMode.Print))
 | 
			
		||||
							{
 | 
			
		||||
								with = $@"\cf2{with}\cf0 ";
 | 
			
		||||
							}
 | 
			
		||||
 
 | 
			
		||||
@@ -765,6 +765,19 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
				foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
 | 
			
		||||
					dvi.ResetProcedures();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public static void ResetAllProcedures()
 | 
			
		||||
		{
 | 
			
		||||
			foreach (string key in _CacheByPrimaryKey.Keys)
 | 
			
		||||
            {
 | 
			
		||||
                foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
 | 
			
		||||
					dvi.ResetProcedures();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
			foreach (DocVersionInfo dvi in _CacheList)
 | 
			
		||||
					dvi.ResetProcedures();
 | 
			
		||||
		}
 | 
			
		||||
		#region IVEReadOnlyItem
 | 
			
		||||
		public System.Collections.IList GetChildren()
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -275,6 +275,14 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public static void Reset()
 | 
			
		||||
		{
 | 
			
		||||
			_LookupFormats?.Clear();
 | 
			
		||||
			_LookupFormats = null;
 | 
			
		||||
			_ = LookupFormats;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath)
 | 
			
		||||
		{
 | 
			
		||||
			string fmtdata = null;
 | 
			
		||||
@@ -509,7 +517,12 @@ public partial class FormatInfo : IFormatOrFormatInfo
 | 
			
		||||
				return _PROMSBaseFormat; 
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static FormatInfo Get(string name)
 | 
			
		||||
        public static void Reset()
 | 
			
		||||
        {
 | 
			
		||||
            _PROMSBaseFormat = null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static FormatInfo Get(string name)
 | 
			
		||||
		{
 | 
			
		||||
			try
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
@@ -3933,9 +3933,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				bool chg = HasChanges;
 | 
			
		||||
				StepInfo si = this as StepInfo;
 | 
			
		||||
				if (si == null) return false;
 | 
			
		||||
				StepConfig sc = si.MyConfig as StepConfig;
 | 
			
		||||
				StepConfig sc = this.MyConfig as StepConfig;
 | 
			
		||||
				if (sc == null) return false;
 | 
			
		||||
				// if there is no override & return whether there was a change to the text.
 | 
			
		||||
				if (chg && ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds &&
 | 
			
		||||
@@ -3943,6 +3941,21 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
					return false; // No Change ID - No Change Bar
 | 
			
		||||
				if ((sc.Step_SpellCheckerChangedText ?? "") == "NoChangeBar")
 | 
			
		||||
					return false; // Spell Checker, in editorial mode (format flag EditoralSpellCheck) , made the change and there was no change bar prior to that change  B2015-024
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   last change was in editorial mode, so ignore it
 | 
			
		||||
				if (!string.IsNullOrEmpty(sc.Step_ChangeIDEditorialMode))
 | 
			
		||||
					return false;
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   Add Check for enhanced docs
 | 
			
		||||
				//   If enhanced docs, need to check the step_config for the master
 | 
			
		||||
				if (sc.MyEnhancedDocuments != null && sc.MyEnhancedDocuments.Count == 1 && sc.MyEnhancedDocuments[0].Type == 0)
 | 
			
		||||
				{
 | 
			
		||||
					ItemInfo ii = ItemInfo.Get(sc.MyEnhancedDocuments[0].ItemID, true);
 | 
			
		||||
					if (ii == null) return false;       // when deleting a source step, this was causing a crash (null ii)
 | 
			
		||||
					return ii.HasChangeBar;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
				if (sc.Step_CBOverride == null)
 | 
			
		||||
					return chg;
 | 
			
		||||
				return (sc.Step_CBOverride == "On");
 | 
			
		||||
@@ -3953,9 +3966,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				if (this.IsAccPages || this.IsProcedure || this.IsSection) return false;
 | 
			
		||||
				StepInfo si = this as StepInfo;
 | 
			
		||||
				if (si == null) return false;
 | 
			
		||||
				StepConfig sc = si.MyConfig as StepConfig;
 | 
			
		||||
				StepConfig sc = this.MyConfig as StepConfig;
 | 
			
		||||
				if (sc == null) return false;
 | 
			
		||||
				// go back to source & see what date it has:
 | 
			
		||||
				if (sc.MyEnhancedDocuments != null && sc.MyEnhancedDocuments.Count == 1 && sc.MyEnhancedDocuments[0].Type == 0)
 | 
			
		||||
 
 | 
			
		||||
@@ -1638,7 +1638,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
						// get the first enhanced section, there may be non-linked sections before first linked section:
 | 
			
		||||
						SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig;
 | 
			
		||||
						ItemInfo pastedEnhancedCurrentSection = null;
 | 
			
		||||
						if (firstEnhSectionConfig.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
 | 
			
		||||
						if (firstEnhSectionConfig?.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
 | 
			
		||||
						else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]);
 | 
			
		||||
 | 
			
		||||
						// newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct
 | 
			
		||||
@@ -1647,7 +1647,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
							foreach (ItemInfo sourceSect in Sections)
 | 
			
		||||
							{
 | 
			
		||||
								SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig;
 | 
			
		||||
								if (srcCfg != null && (srcCfg.Section_LnkEnh=="Y" || srcCfg.Section_LnkEnh=="T") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
 | 
			
		||||
								if (srcCfg != null && (srcCfg.Section_LnkEnh != "N") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
 | 
			
		||||
								{
 | 
			
		||||
									// use pastedEnhancedCurrentSection to link to:
 | 
			
		||||
									foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments)
 | 
			
		||||
@@ -1664,7 +1664,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
									enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID;
 | 
			
		||||
									enhSectCfg.SaveEnhancedDocuments();
 | 
			
		||||
									pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString());
 | 
			
		||||
									if (srcCfg.Section_LnkEnh == "Y") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
 | 
			
		||||
									if (srcCfg.Section_LnkEnh != "T") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
 | 
			
		||||
									pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,12 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
				if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get();
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public static void Reset()
 | 
			
		||||
        {
 | 
			
		||||
			_MyFormatInfoList?.Clear();
 | 
			
		||||
			_MyFormatInfoList = null;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public class DocStyleListConverter : System.ComponentModel.StringConverter
 | 
			
		||||
	{
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
		// Variables in this region are not set in the format files.  They are used only in the C# code
 | 
			
		||||
 | 
			
		||||
		// when IgnoreUCF is true, get the original data, i.e.don't apply any UCF changes to it
 | 
			
		||||
		private static bool _IgnoreUCF = false;
 | 
			
		||||
		private static bool _IgnoreUCF = true; // turn off reading in UCF values when getting format information
 | 
			
		||||
		public static bool IgnoreUCF
 | 
			
		||||
		{
 | 
			
		||||
			get { return PlantFormat._IgnoreUCF; }
 | 
			
		||||
 
 | 
			
		||||
@@ -502,6 +502,15 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
            _FolderInfoExtension.Refresh(this);
 | 
			
		||||
            OnChange();// raise an event
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
        public static void ClearFolderInfoCache()
 | 
			
		||||
        {
 | 
			
		||||
            _CacheByPrimaryKey.Clear();
 | 
			
		||||
            while (_CacheList.Count > 0)
 | 
			
		||||
            { _CacheList[0].Dispose(); }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static FolderInfo Get(int folderID)
 | 
			
		||||
        {
 | 
			
		||||
            //if (!CanGetObject())
 | 
			
		||||
 
 | 
			
		||||
@@ -143,6 +143,14 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
            if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0];
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
        public static void ClearFormatCache()
 | 
			
		||||
        {
 | 
			
		||||
            _CacheByPrimaryKey.Clear();
 | 
			
		||||
            while (_CacheList.Count > 0)
 | 
			
		||||
            { _CacheList[0].Dispose(); }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
        #region Business Methods
 | 
			
		||||
        private string _ErrorMessage = string.Empty;
 | 
			
		||||
 
 | 
			
		||||
@@ -71,6 +71,13 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
            if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0];
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        //C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
        public static void ClearFormatInfoCache()
 | 
			
		||||
        {
 | 
			
		||||
            _CacheByPrimaryKey.Clear();
 | 
			
		||||
            while (_CacheList.Count > 0)
 | 
			
		||||
            { _CacheList[0].Dispose(); }
 | 
			
		||||
        }
 | 
			
		||||
        #endregion
 | 
			
		||||
        #region Business Methods
 | 
			
		||||
        private string _ErrorMessage = string.Empty;
 | 
			
		||||
 
 | 
			
		||||
@@ -606,12 +606,20 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
            _ItemInfoExtension.Refresh(this);
 | 
			
		||||
            OnChange();// raise an event
 | 
			
		||||
        }
 | 
			
		||||
        public static ItemInfo Get(int itemID)
 | 
			
		||||
        public static ItemInfo Get(int itemID, bool forcerefresh = false)
 | 
			
		||||
        {
 | 
			
		||||
            //if (!CanGetObject())
 | 
			
		||||
            //  throw new System.Security.SecurityException("User not authorized to view a Item");
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                // C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
                //  fixes caching issue
 | 
			
		||||
                //   item.myconfig was cached not containing the bypass changebar info
 | 
			
		||||
                //   so this forces a refresh of the cache
 | 
			
		||||
                if (forcerefresh)
 | 
			
		||||
                {
 | 
			
		||||
                    _CacheByPrimaryKey.Remove(itemID.ToString());
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                ItemInfo tmp = GetCachedByPrimaryKey(itemID);
 | 
			
		||||
                if (tmp == null)
 | 
			
		||||
                {
 | 
			
		||||
 
 | 
			
		||||
@@ -119,6 +119,15 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
                return _MyUser;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        public string MyUserUserID
 | 
			
		||||
        {
 | 
			
		||||
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (_MyUser == null && _UID != 0) _MyUser = UserInfo.Get(_UID);
 | 
			
		||||
                return _MyUser?.UserID;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        private int _GID;
 | 
			
		||||
        public int GID
 | 
			
		||||
        {
 | 
			
		||||
@@ -139,6 +148,15 @@ namespace VEPROMS.CSLA.Library
 | 
			
		||||
                return _MyGroup;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        public string MyGroupName
 | 
			
		||||
        {
 | 
			
		||||
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
 | 
			
		||||
            get
 | 
			
		||||
            {
 | 
			
		||||
                if (_MyGroup == null && _GID != 0) _MyGroup = GroupInfo.Get(_GID);
 | 
			
		||||
                return _MyGroup?.GroupName;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        private string _StartDate = string.Empty;
 | 
			
		||||
        public string StartDate
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoAccessToSql", "..\RoAcces
 | 
			
		||||
		{AEEE9FD1-6892-45E2-A67E-418C06D46FF9} = {AEEE9FD1-6892-45E2-A67E-418C06D46FF9}
 | 
			
		||||
	EndProjectSection
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VlnStatus64", "VlnStatus64\VlnStatus64.csproj", "{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}"
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VlnStatus", "..\ReferencedObjects\LibSource\VlnStatus\VlnStatus.csproj", "{551CB7B3-00B1-11D7-8590-482B59000000}"
 | 
			
		||||
EndProject
 | 
			
		||||
Global
 | 
			
		||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
			
		||||
@@ -550,38 +550,38 @@ Global
 | 
			
		||||
		{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}.Release|Win32.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}.Release|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Win32.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|Win32.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|x86.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Debug|x86.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Mixed Platforms.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Mixed Platforms.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Win32.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|Win32.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|x86.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Demo|x86.Build.0 = Debug|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Win32.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|Win32.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release_PreRegistered|x86.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Win32.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|Win32.Build.0 = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}.Release|x86.Build.0 = Release|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Win32.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Win32.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Mixed Platforms.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Mixed Platforms.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Win32.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|Win32.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|x86.ActiveCfg = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Demo|x86.Build.0 = Debug|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Mixed Platforms.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Mixed Platforms.Build.0 = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Win32.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|Win32.Build.0 = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release_PreRegistered|x86.Build.0 = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Mixed Platforms.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Mixed Platforms.Build.0 = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Win32.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Win32.Build.0 = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.Build.0 = Release|x86
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
 
 | 
			
		||||
@@ -1,232 +0,0 @@
 | 
			
		||||
/*********************************************************************************************
 | 
			
		||||
 * Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
 | 
			
		||||
 * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
			
		||||
 * ------------------------------------------------------------------------------
 | 
			
		||||
 * $Workfile: StatusBarFrm.cs $     $Revision: 3 $
 | 
			
		||||
 * $Author: Jsj $   $Date: 4/08/04 9:50a $
 | 
			
		||||
 *
 | 
			
		||||
 * $History: StatusBarFrm.cs $
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 3  *****************
 | 
			
		||||
 * User: Jsj          Date: 4/08/04    Time: 9:50a
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * added profile code and try to optimize
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 2  *****************
 | 
			
		||||
 * User: Jsj          Date: 11/26/02   Time: 3:38p
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * Added overbounds check
 | 
			
		||||
 *********************************************************************************************/
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using System.Drawing;
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
using System.Windows.Forms;
 | 
			
		||||
//using ROProfiler; //don't forget to add VlnProfiler to the reference list
 | 
			
		||||
 | 
			
		||||
namespace VlnStatus
 | 
			
		||||
{
 | 
			
		||||
	/// <summary>
 | 
			
		||||
	/// Create a status window with a progress bar
 | 
			
		||||
	/// </summary>
 | 
			
		||||
	public class StatusBarFrm : System.Windows.Forms.Form
 | 
			
		||||
	{
 | 
			
		||||
		private System.Windows.Forms.ProgressBar progressBar1;
 | 
			
		||||
		private System.Windows.Forms.Label lblBar;
 | 
			
		||||
		private System.Windows.Forms.Label StatMsg;
 | 
			
		||||
//		private string strLblLast="";
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Required designer variable.
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		private System.ComponentModel.Container components = null;
 | 
			
		||||
 | 
			
		||||
		public StatusBarFrm()
 | 
			
		||||
		{
 | 
			
		||||
			//
 | 
			
		||||
			// Required for Windows Form Designer support
 | 
			
		||||
			//
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
 | 
			
		||||
			Text = "Status";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public StatusBarFrm(string StatusBoxTitle)
 | 
			
		||||
		{
 | 
			
		||||
			//
 | 
			
		||||
			// Required for Windows Form Designer support
 | 
			
		||||
			//
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
 | 
			
		||||
			Text = StatusBoxTitle;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Clean up any resources being used.
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		protected override void Dispose( bool disposing )
 | 
			
		||||
		{
 | 
			
		||||
			if( disposing )
 | 
			
		||||
			{
 | 
			
		||||
				if(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.progressBar1 = new System.Windows.Forms.ProgressBar();
 | 
			
		||||
			this.lblBar = new System.Windows.Forms.Label();
 | 
			
		||||
			this.StatMsg = new System.Windows.Forms.Label();
 | 
			
		||||
			this.SuspendLayout();
 | 
			
		||||
			// 
 | 
			
		||||
			// progressBar1
 | 
			
		||||
			// 
 | 
			
		||||
			this.progressBar1.Location = new System.Drawing.Point(29, 83);
 | 
			
		||||
			this.progressBar1.Name = "progressBar1";
 | 
			
		||||
			this.progressBar1.Size = new System.Drawing.Size(297, 27);
 | 
			
		||||
			this.progressBar1.TabIndex = 0;
 | 
			
		||||
			// 
 | 
			
		||||
			// lblBar
 | 
			
		||||
			// 
 | 
			
		||||
			this.lblBar.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 | 
			
		||||
			this.lblBar.Location = new System.Drawing.Point(29, 136);
 | 
			
		||||
			this.lblBar.Name = "lblBar";
 | 
			
		||||
			this.lblBar.Size = new System.Drawing.Size(297, 16);
 | 
			
		||||
			this.lblBar.TabIndex = 1;
 | 
			
		||||
			this.lblBar.Text = "% Complete";
 | 
			
		||||
			this.lblBar.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 | 
			
		||||
			// 
 | 
			
		||||
			// StatMsg
 | 
			
		||||
			// 
 | 
			
		||||
			this.StatMsg.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 | 
			
		||||
			this.StatMsg.Location = new System.Drawing.Point(29, 18);
 | 
			
		||||
			this.StatMsg.Name = "StatMsg";
 | 
			
		||||
			this.StatMsg.Size = new System.Drawing.Size(307, 56);
 | 
			
		||||
			this.StatMsg.TabIndex = 2;
 | 
			
		||||
			this.StatMsg.Text = "Progress Bar";
 | 
			
		||||
			this.StatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 | 
			
		||||
			// 
 | 
			
		||||
			// StatusBarFrm
 | 
			
		||||
			// 
 | 
			
		||||
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
 | 
			
		||||
			this.ClientSize = new System.Drawing.Size(350, 171);
 | 
			
		||||
			this.ControlBox = false;
 | 
			
		||||
			this.Controls.Add(this.StatMsg);
 | 
			
		||||
			this.Controls.Add(this.lblBar);
 | 
			
		||||
			this.Controls.Add(this.progressBar1);
 | 
			
		||||
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
 | 
			
		||||
			this.MaximizeBox = false;
 | 
			
		||||
			this.MinimizeBox = false;
 | 
			
		||||
			this.Name = "StatusBarFrm";
 | 
			
		||||
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 | 
			
		||||
			this.Text = "Status";
 | 
			
		||||
			this.TopMost = true;
 | 
			
		||||
			this.Load += new System.EventHandler(this.StatusBarFrm_Load);
 | 
			
		||||
			this.ResumeLayout(false);
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		private void StatusBarFrm_Load(object sender, System.EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
		
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public int Value
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return progressBar1.Value;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				if (value >= progressBar1.Maximum)
 | 
			
		||||
					progressBar1.Value = progressBar1.Maximum;
 | 
			
		||||
				else
 | 
			
		||||
					progressBar1.Value = value;
 | 
			
		||||
				UpateLabel();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public int Maximum
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return progressBar1.Maximum;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				progressBar1.Maximum = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public int Step
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return progressBar1.Step;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				progressBar1.Step = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void PerformStep()
 | 
			
		||||
		{
 | 
			
		||||
			progressBar1.PerformStep();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		private void UpateLabel()
 | 
			
		||||
		{
 | 
			
		||||
			lblBar.Text = (Math.Round((decimal)(progressBar1.Value * 100) / progressBar1.Maximum)).ToString();
 | 
			
		||||
			lblBar.Text += "% Complete";
 | 
			
		||||
//			if( lblBar.Text != strLblLast)
 | 
			
		||||
//			{
 | 
			
		||||
//				Profiler.Start("UpdateLabel");
 | 
			
		||||
				lblBar.Refresh();
 | 
			
		||||
//				lblBar.Update();
 | 
			
		||||
//				Profiler.End("UpdateLabel");
 | 
			
		||||
//			}
 | 
			
		||||
//			strLblLast = lblBar.Text;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public string StatusMessage
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatMsg.Text;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatMsg.Text = value;
 | 
			
		||||
//				Profiler.Start("StatusMessage");
 | 
			
		||||
				StatMsg.Refresh();
 | 
			
		||||
//				StatMsg.Update();
 | 
			
		||||
//				Profiler.End("StatusMessage");
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public string StatusBoxTitle
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return Text;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				Text = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,157 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<root>
 | 
			
		||||
  <!-- 
 | 
			
		||||
    Microsoft ResX Schema 
 | 
			
		||||
    
 | 
			
		||||
    Version 1.3
 | 
			
		||||
    
 | 
			
		||||
    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">1.3</resheader>
 | 
			
		||||
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <data name="Name1">this is my long string</data>
 | 
			
		||||
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
 | 
			
		||||
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
			
		||||
        [base64 mime encoded serialized .NET Framework object]
 | 
			
		||||
    </data>
 | 
			
		||||
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
        [base64 mime encoded string representing a byte array form of the .NET Framework object]
 | 
			
		||||
    </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 forserialized 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="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>1.3</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="reader">
 | 
			
		||||
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="writer">
 | 
			
		||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <data name="progressBar1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="progressBar1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="progressBar1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lblBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lblBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lblBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="StatMsg.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="StatMsg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="StatMsg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>(Default)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>8, 8</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>80</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Name">
 | 
			
		||||
    <value>StatusBarFrm</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
@@ -1,140 +0,0 @@
 | 
			
		||||
/*********************************************************************************************
 | 
			
		||||
 * Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
 | 
			
		||||
 * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
			
		||||
 * ------------------------------------------------------------------------------
 | 
			
		||||
 * $Workfile: StatusMessageFrm.cs $     $Revision: 3 $
 | 
			
		||||
 * $Author: Jsj $   $Date: 5/11/04 9:30a $
 | 
			
		||||
 *
 | 
			
		||||
 * $History: StatusMessageFrm.cs $
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 3  *****************
 | 
			
		||||
 * User: Jsj          Date: 5/11/04    Time: 9:30a
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 2  *****************
 | 
			
		||||
 * User: Jsj          Date: 11/26/02   Time: 3:38p
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * Added overbounds check
 | 
			
		||||
 *********************************************************************************************/
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
using System.Drawing;
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
using System.Windows.Forms;
 | 
			
		||||
 | 
			
		||||
namespace VlnStatus
 | 
			
		||||
{
 | 
			
		||||
	/// <summary>
 | 
			
		||||
	/// Create status message window.
 | 
			
		||||
	/// </summary>
 | 
			
		||||
	public class StatusMessageFrm : System.Windows.Forms.Form
 | 
			
		||||
	{
 | 
			
		||||
		private System.Windows.Forms.Label lblStatMsg;
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Required designer variable.
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		private System.ComponentModel.Container components = null;
 | 
			
		||||
 | 
			
		||||
		public StatusMessageFrm()
 | 
			
		||||
		{
 | 
			
		||||
			//
 | 
			
		||||
			// Required for Windows Form Designer support
 | 
			
		||||
			//
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public StatusMessageFrm(string StatTitle)
 | 
			
		||||
		{
 | 
			
		||||
			//
 | 
			
		||||
			// Required for Windows Form Designer support
 | 
			
		||||
			//
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
 | 
			
		||||
			Text = StatTitle;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Clean up any resources being used.
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		protected override void Dispose( bool disposing )
 | 
			
		||||
		{
 | 
			
		||||
			if( disposing )
 | 
			
		||||
			{
 | 
			
		||||
				if(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.lblStatMsg = new System.Windows.Forms.Label();
 | 
			
		||||
			this.SuspendLayout();
 | 
			
		||||
			// 
 | 
			
		||||
			// lblStatMsg
 | 
			
		||||
			// 
 | 
			
		||||
			this.lblStatMsg.Location = new System.Drawing.Point(19, 20);
 | 
			
		||||
			this.lblStatMsg.Name = "lblStatMsg";
 | 
			
		||||
			this.lblStatMsg.Size = new System.Drawing.Size(420, 81);
 | 
			
		||||
			this.lblStatMsg.TabIndex = 0;
 | 
			
		||||
			this.lblStatMsg.Text = "Put Status Message Here";
 | 
			
		||||
			this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 | 
			
		||||
			// 
 | 
			
		||||
			// StatusMessageFrm
 | 
			
		||||
			// 
 | 
			
		||||
			this.AutoScaleBaseSize = new System.Drawing.Size(7, 19);
 | 
			
		||||
			this.ClientSize = new System.Drawing.Size(457, 117);
 | 
			
		||||
			this.ControlBox = false;
 | 
			
		||||
			this.Controls.Add(this.lblStatMsg);
 | 
			
		||||
			this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 | 
			
		||||
			this.MaximizeBox = false;
 | 
			
		||||
			this.MinimizeBox = false;
 | 
			
		||||
			this.Name = "StatusMessageFrm";
 | 
			
		||||
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 | 
			
		||||
			this.Text = "Status";
 | 
			
		||||
			this.TopMost = true;
 | 
			
		||||
			this.Load += new System.EventHandler(this.StatusMessageFrm_Load);
 | 
			
		||||
			this.ResumeLayout(false);
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
 | 
			
		||||
		private void StatusMessageFrm_Load(object sender, System.EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
		
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public string StatusMessage
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return lblStatMsg.Text;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				lblStatMsg.Text = value;
 | 
			
		||||
				lblStatMsg.Refresh();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public string StatusBoxTitle
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return Text;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				Text = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,139 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<root>
 | 
			
		||||
  <!-- 
 | 
			
		||||
    Microsoft ResX Schema 
 | 
			
		||||
    
 | 
			
		||||
    Version 1.3
 | 
			
		||||
    
 | 
			
		||||
    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">1.3</resheader>
 | 
			
		||||
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <data name="Name1">this is my long string</data>
 | 
			
		||||
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
 | 
			
		||||
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
			
		||||
        [base64 mime encoded serialized .NET Framework object]
 | 
			
		||||
    </data>
 | 
			
		||||
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
        [base64 mime encoded string representing a byte array form of the .NET Framework object]
 | 
			
		||||
    </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 forserialized 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="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>1.3</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="reader">
 | 
			
		||||
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="writer">
 | 
			
		||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <data name="lblStatMsg.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lblStatMsg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="lblStatMsg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>(Default)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>False</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
 | 
			
		||||
    <value>8, 8</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.Name">
 | 
			
		||||
    <value>StatusMessageFrm</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>80</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>True</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 | 
			
		||||
    <value>Private</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
@@ -1,58 +0,0 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="15.0" 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>{797DE52C-278C-41D4-8B65-B9CFC02DDCD9}</ProjectGuid>
 | 
			
		||||
    <OutputType>Library</OutputType>
 | 
			
		||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
			
		||||
    <RootNamespace>VlnStatus64</RootNamespace>
 | 
			
		||||
    <AssemblyName>VlnStatus64</AssemblyName>
 | 
			
		||||
    <TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
 | 
			
		||||
    <FileAlignment>512</FileAlignment>
 | 
			
		||||
    <Deterministic>true</Deterministic>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>bin\Debug\</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
    <DefineConstants>TRACE</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <PlatformTarget>x64</PlatformTarget>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="System.Data" />
 | 
			
		||||
    <Reference Include="System.Drawing" />
 | 
			
		||||
    <Reference Include="System.Windows.Forms" />
 | 
			
		||||
    <Reference Include="System.Xml" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <Compile Include="StatusBarFrm.cs">
 | 
			
		||||
      <SubType>Form</SubType>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="StatusMessageFrm.cs">
 | 
			
		||||
      <SubType>Form</SubType>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="VlnStatusBar.cs" />
 | 
			
		||||
    <Compile Include="VlnStatusMessage.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <EmbeddedResource Include="StatusBarFrm.resx" />
 | 
			
		||||
    <EmbeddedResource Include="StatusMessageFrm.resx" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
			
		||||
</Project>
 | 
			
		||||
@@ -1,148 +0,0 @@
 | 
			
		||||
/*********************************************************************************************
 | 
			
		||||
 * Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
 | 
			
		||||
 * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
			
		||||
 * ------------------------------------------------------------------------------
 | 
			
		||||
 * $Workfile: VlnStatusBar.cs $     $Revision: 4 $
 | 
			
		||||
 * $Author: Jsj $   $Date: 11/26/02 4:25p $
 | 
			
		||||
 *
 | 
			
		||||
 * $History: VlnStatusBar.cs $
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 4  *****************
 | 
			
		||||
 * User: Jsj          Date: 11/26/02   Time: 4:25p
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * fixed problem with counter
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 3  *****************
 | 
			
		||||
 * User: Jsj          Date: 11/26/02   Time: 3:38p
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * Added overbounds check
 | 
			
		||||
 *********************************************************************************************/
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace VlnStatus
 | 
			
		||||
{
 | 
			
		||||
	/// <summary>
 | 
			
		||||
	/// Creates a Status Window with a progression bar control.
 | 
			
		||||
	/// 
 | 
			
		||||
	/// This class has two constructors. One allows you to pass in the title
 | 
			
		||||
	/// of the Status Box.  The Other provides a default title of "Status".
 | 
			
		||||
	/// The Status Box Title can also be set/changed via the StatusBoxTitle
 | 
			
		||||
	/// property.
 | 
			
		||||
	/// 
 | 
			
		||||
	/// 
 | 
			
		||||
	/// </summary>
 | 
			
		||||
	public class VlnStatusBar
 | 
			
		||||
	{
 | 
			
		||||
		StatusBarFrm StatBar;
 | 
			
		||||
		private int Cnt;
 | 
			
		||||
 | 
			
		||||
		// Create a status window with the default title of "Status"
 | 
			
		||||
		public VlnStatusBar()
 | 
			
		||||
		{
 | 
			
		||||
			StatBar = new StatusBarFrm();
 | 
			
		||||
			StatBar.Show();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Create a status window with the passed in title
 | 
			
		||||
		public VlnStatusBar(string Title)
 | 
			
		||||
		{
 | 
			
		||||
			StatBar = new StatusBarFrm(Title);
 | 
			
		||||
			StatBar.Show();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Increament the the status bar by the passed in value.
 | 
			
		||||
		public void PerformStep(int val)
 | 
			
		||||
		{
 | 
			
		||||
//			StatBar.Value = val;
 | 
			
		||||
//			Cnt = val;
 | 
			
		||||
			BarValue = val;
 | 
			
		||||
			StatBar.PerformStep();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Increament the the status bar by one
 | 
			
		||||
		public void PerformStep()
 | 
			
		||||
		{
 | 
			
		||||
//			StatBar.Value = StatBar.Value + 1;
 | 
			
		||||
			Cnt++;
 | 
			
		||||
			BarValue = Cnt;
 | 
			
		||||
			StatBar.PerformStep();
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		// This property gets or sets the current status bar value.
 | 
			
		||||
		public int BarValue
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatBar.Value;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatBar.Value = value;
 | 
			
		||||
				Cnt = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property sets or gets the maximum value that the
 | 
			
		||||
		// BarValue property can be. i.e. when BarValue reaches this
 | 
			
		||||
		// number, the status bar is completely displayed.
 | 
			
		||||
		public int BarMax
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatBar.Maximum;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatBar.Maximum = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property sets or gets the increamenting value used to
 | 
			
		||||
		// move the status bar.  For example, if set to 5, each tick of
 | 
			
		||||
		// the status bar represents a value of 5.
 | 
			
		||||
		public int BarStepValue
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatBar.Step;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatBar.Step = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property sets or gets the message above the status bar.
 | 
			
		||||
		public string StatMsg
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatBar.StatusMessage;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatBar.StatusMessage = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property sets or gets the Status Window Title
 | 
			
		||||
		public string StatusBoxTitle
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatBar.StatusBoxTitle;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatBar.StatusBoxTitle = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void Dispose()
 | 
			
		||||
		{
 | 
			
		||||
			StatBar.Dispose();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1,79 +0,0 @@
 | 
			
		||||
/*********************************************************************************************
 | 
			
		||||
 * Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
 | 
			
		||||
 * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
			
		||||
 * ------------------------------------------------------------------------------
 | 
			
		||||
 * $Workfile: VlnStatusMessage.cs $     $Revision: 3 $
 | 
			
		||||
 * $Author: Jsj $   $Date: 11/26/02 3:38p $
 | 
			
		||||
 *
 | 
			
		||||
 * $History: VlnStatusMessage.cs $
 | 
			
		||||
 * 
 | 
			
		||||
 * *****************  Version 3  *****************
 | 
			
		||||
 * User: Jsj          Date: 11/26/02   Time: 3:38p
 | 
			
		||||
 * Updated in $/LibSource/VlnStatus
 | 
			
		||||
 * Added overbounds check
 | 
			
		||||
 *********************************************************************************************/
 | 
			
		||||
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace VlnStatus
 | 
			
		||||
{
 | 
			
		||||
	/// <summary>
 | 
			
		||||
	/// Creates a Status Window to display a status message.
 | 
			
		||||
	/// 
 | 
			
		||||
	/// This class has two constructors. One allows you to pass in the title
 | 
			
		||||
	/// of the Status Box.  The Other provides a default title of "Status".
 | 
			
		||||
	/// The Status Box Title can also be set/changed via the StatusBoxTitle
 | 
			
		||||
	/// property.
 | 
			
		||||
	/// 
 | 
			
		||||
	/// </summary>
 | 
			
		||||
	public class VlnStatusMessage
 | 
			
		||||
	{
 | 
			
		||||
		StatusMessageFrm StatusMessageBox;
 | 
			
		||||
 | 
			
		||||
		// Create a status window with the default title of "Status"
 | 
			
		||||
		public VlnStatusMessage()
 | 
			
		||||
		{
 | 
			
		||||
			StatusMessageBox = new StatusMessageFrm();
 | 
			
		||||
			StatusMessageBox.Show();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Create a status window with the passed in title.
 | 
			
		||||
		public VlnStatusMessage(string StatusBoxTitle)
 | 
			
		||||
		{
 | 
			
		||||
			StatusMessageBox = new StatusMessageFrm(StatusBoxTitle);
 | 
			
		||||
			StatusMessageBox.Show();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property gets or sets the current status message
 | 
			
		||||
		public string StatusMessage
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatusMessageBox.StatusMessage;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatusMessageBox.StatusMessage = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// This property gets or sets the status box title
 | 
			
		||||
		public string StatusBoxTitle
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				return StatusMessageBox.StatusBoxTitle;
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				StatusMessageBox.StatusBoxTitle = value;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void Dispose()
 | 
			
		||||
		{
 | 
			
		||||
			StatusMessageBox.Dispose();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -197,7 +197,7 @@ namespace Volian.Base.Library
 | 
			
		||||
			set { VlnSettings._UserID = value; }
 | 
			
		||||
		}
 | 
			
		||||
		private static bool _StepTypeToolTip = false;
 | 
			
		||||
		public static bool StepTypeToolType
 | 
			
		||||
		public static bool StepTypeToolTip
 | 
			
		||||
		{
 | 
			
		||||
			get { return VlnSettings._StepTypeToolTip; }
 | 
			
		||||
			set { VlnSettings._StepTypeToolTip = value; }
 | 
			
		||||
 
 | 
			
		||||
@@ -188,7 +188,6 @@ namespace Volian.Controls.Library
 | 
			
		||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel5);
 | 
			
		||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel2);
 | 
			
		||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
 | 
			
		||||
			this.tabSearchTypes.Controls.Add(this.tabControlPanel1);
 | 
			
		||||
			this.tabSearchTypes.Controls.Add(this.contextMenuBar1);
 | 
			
		||||
			this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top;
 | 
			
		||||
			this.tabSearchTypes.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
@@ -983,7 +982,6 @@ namespace Volian.Controls.Library
 | 
			
		||||
			this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
 | 
			
		||||
			this.tabControlPanel1.Controls.Add(this.groupBox1);
 | 
			
		||||
			this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
 | 
			
		||||
			this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
 | 
			
		||||
			this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
 | 
			
		||||
			this.tabControlPanel1.Name = "tabControlPanel1";
 | 
			
		||||
			this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
 | 
			
		||||
@@ -997,6 +995,8 @@ namespace Volian.Controls.Library
 | 
			
		||||
			this.tabControlPanel1.Style.GradientAngle = 90;
 | 
			
		||||
			this.tabControlPanel1.TabIndex = 17;
 | 
			
		||||
			this.tabControlPanel1.TabItem = this.tabIncTrans;
 | 
			
		||||
			this.tabControlPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(( System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
 | 
			
		||||
			this.tabControlPanel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
 | 
			
		||||
			// 
 | 
			
		||||
			// btnTranCvtSelToTxt
 | 
			
		||||
			// 
 | 
			
		||||
@@ -1732,6 +1732,12 @@ namespace Volian.Controls.Library
 | 
			
		||||
			this.Controls.Add(this.xpStepTypes);
 | 
			
		||||
			this.Controls.Add(this.xpSetToSearch);
 | 
			
		||||
			this.Controls.Add(this.tabSearchTypes);
 | 
			
		||||
			this.Controls.Add(this.tabControlPanel1);
 | 
			
		||||
			//B2025-056 Click on Incoming Transitions
 | 
			
		||||
			// This needs to be part of overall control
 | 
			
		||||
			// since if it is part of tabSearchTypes,
 | 
			
		||||
			// then when that is disabled, buttons on
 | 
			
		||||
			// this will be also
 | 
			
		||||
			this.Margin = new System.Windows.Forms.Padding(2);
 | 
			
		||||
			this.Name = "DisplaySearch";
 | 
			
		||||
			this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
 | 
			
		||||
 
 | 
			
		||||
@@ -1857,14 +1857,15 @@ namespace Volian.Controls.Library
 | 
			
		||||
				lbSrchResultsIncTrans.Enabled = false;
 | 
			
		||||
				lbSrchResultsIncTrans.UseWaitCursor = true;
 | 
			
		||||
			}
 | 
			
		||||
			ListBox mylb = sender as ListBox;
 | 
			
		||||
			//B2025-056 Click on Incoming Transitions
 | 
			
		||||
			// Clicking on Incoming Transitions
 | 
			
		||||
			// will now open that item
 | 
			
		||||
			ListBox mylb_lbSrchResults = sender as ListBox;
 | 
			
		||||
			ListBoxAdv mylb_lbSrchResultsIncTrans = sender as ListBoxAdv;
 | 
			
		||||
 | 
			
		||||
			// If the list is being refreshed, then set the selection index to -1 (no selection)
 | 
			
		||||
			// B2022-044: don't set selection to top of list (commented out/changed if)
 | 
			
		||||
			//if (mylb != null && _SearchResults.RefreshingList && mylb.SelectedIndex != -1)
 | 
			
		||||
			//	//mylb.SelectedIndex = -1;
 | 
			
		||||
			//else
 | 
			
		||||
			if (mylb != null && !_SearchResults.RefreshingList)
 | 
			
		||||
			if ((mylb_lbSrchResults != null || mylb_lbSrchResultsIncTrans != null) && !_SearchResults.RefreshingList)
 | 
			
		||||
			{
 | 
			
		||||
				_ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo;
 | 
			
		||||
				if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null))
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ using DevComponents.DotNetBar;
 | 
			
		||||
using JR.Utils.GUI.Forms;
 | 
			
		||||
using Volian.Base.Library;
 | 
			
		||||
using Microsoft.Win32;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
namespace Volian.Controls.Library
 | 
			
		||||
{
 | 
			
		||||
@@ -261,24 +262,45 @@ namespace Volian.Controls.Library
 | 
			
		||||
			get { return _ChgId; }
 | 
			
		||||
			set { _ChgId = value; }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
		public bool EditorialChange
 | 
			
		||||
		{
 | 
			
		||||
			get
 | 
			
		||||
			{
 | 
			
		||||
				if (_ChgId == null) return true;
 | 
			
		||||
				if (_ChgId == "") return true;
 | 
			
		||||
				if (_ChgId.ToUpper() == "EC") return true;
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
		#region Events
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// This event is raised when a the "Tab" of a DisplayItem is clicked with a mouse.  
 | 
			
		||||
		/// So far this has just been used for demo purposes.  It could be used to select a
 | 
			
		||||
		/// step and it's children for the purpose of copying.
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public event StepPanelEvent ItemClick;
 | 
			
		||||
				if (_ChgId.ToUpper() == "EC") { return true;}
 | 
			
		||||
 | 
			
		||||
                return IsInEditorialMode;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
		//   property to hold if button in ribbon is toggled on or off
 | 
			
		||||
		public bool IsInEditorialMode { get; set; } = false;
 | 
			
		||||
 | 
			
		||||
		// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
		//   This is used when button in the ribbon is toggled on/off
 | 
			
		||||
		//   It iterates through all previously opened tabs
 | 
			
		||||
		//   and updates the "Editorial Mode" button
 | 
			
		||||
		//   and background color to match those of the current tab
 | 
			
		||||
		public void SetEdititorialModeForAllTabs(bool mode)
 | 
			
		||||
        {
 | 
			
		||||
            foreach (DisplayTabItem tabItem in _MyDisplayTabItems.Values.Where(tabItem => tabItem.MyStepTabPanel != null))
 | 
			
		||||
            {
 | 
			
		||||
                tabItem.MyStepTabPanel.MyStepTabRibbon.SetEditorialMode(mode);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
        #region Events
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// This event is raised when a the "Tab" of a DisplayItem is clicked with a mouse.  
 | 
			
		||||
        /// So far this has just been used for demo purposes.  It could be used to select a
 | 
			
		||||
        /// step and it's children for the purpose of copying.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public event StepPanelEvent ItemClick;
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Checks to see if the ItemClick event is handled and launches it
 | 
			
		||||
		/// </summary>
 | 
			
		||||
@@ -581,7 +603,8 @@ namespace Volian.Controls.Library
 | 
			
		||||
		{
 | 
			
		||||
			ItemInfo myItemInfo = myItemInfo2;
 | 
			
		||||
 | 
			
		||||
			if (myItemInfo.MyDocVersion == null) // bug fix: B2016-108 disconnected data will not have a MyDocVersion
 | 
			
		||||
			//B2025-046 Remember Tabs failing when swapping versions of PROMS
 | 
			
		||||
			if (myItemInfo?.MyDocVersion == null) // bug fix: B2016-108 disconnected data will not have a MyDocVersion
 | 
			
		||||
			{
 | 
			
		||||
				FlexibleMessageBox.Show(this, "Possible disconnected item", "Item Not Found");
 | 
			
		||||
				return null;
 | 
			
		||||
 
 | 
			
		||||
@@ -201,11 +201,15 @@ namespace Volian.Controls.Library
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public ItemInfo MyItemInfo
 | 
			
		||||
		{
 | 
			
		||||
			get { return _MyItemInfo; }
 | 
			
		||||
			get 
 | 
			
		||||
			{
 | 
			
		||||
				ToolTipOnOff(); //B2025-050 Show the tooltip based on User Options Settings
 | 
			
		||||
				return _MyItemInfo; 
 | 
			
		||||
			}
 | 
			
		||||
			set
 | 
			
		||||
			{
 | 
			
		||||
				_MyItemInfo = value;
 | 
			
		||||
				if (VlnSettings.StepTypeToolType) SetToolTip(_MyItemInfo.ToolTip);
 | 
			
		||||
				SetToolTip(_MyItemInfo.ToolTip); // B2025-050 always set tooltip text. This method will also show the tooltip based on User Options Settings
 | 
			
		||||
				ChangeBar = _MyItemInfo.HasChangeBar;
 | 
			
		||||
				CheckOff co = _MyItemInfo.GetCheckOffStep();
 | 
			
		||||
				if (co != null && co.UIMark != null)
 | 
			
		||||
@@ -2977,6 +2981,8 @@ namespace Volian.Controls.Library
 | 
			
		||||
		public abstract void SetText();
 | 
			
		||||
		public abstract void SetExpandAndExpander(ItemInfo itemInfo);
 | 
			
		||||
		public abstract void SaveCurrentAndContents();
 | 
			
		||||
		public abstract void ToolTipOnOff();
 | 
			
		||||
 | 
			
		||||
		#endregion
 | 
			
		||||
		private int SupInfoTopOffset
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -462,8 +462,12 @@ namespace Volian.Controls.Library
 | 
			
		||||
			DevComponents.DotNetBar.SuperTooltipInfo tpi = new DevComponents.DotNetBar.SuperTooltipInfo("", "", tip, null, null, DevComponents.DotNetBar.eTooltipColor.Lemon);
 | 
			
		||||
			_MyToolTip.MinimumTooltipSize = new Size(0, 24);
 | 
			
		||||
			_MyToolTip.TooltipDuration = 3;
 | 
			
		||||
			//_MyToolTip.SetSuperTooltip(MyStepRTB, tpi);
 | 
			
		||||
			_MyToolTip.SetSuperTooltip(MyFlexGrid, tpi);
 | 
			
		||||
			ToolTipOnOff(); // B2025-050 Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void ToolTipOnOff()
 | 
			
		||||
		{
 | 
			
		||||
			_MyToolTip.Enabled = VlnSettings.StepTypeToolTip; // B2025-XXX Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		private bool DoNotRefresh = false;
 | 
			
		||||
		public override void RefreshContent() 
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ using System.IO;
 | 
			
		||||
using System.Text.RegularExpressions;
 | 
			
		||||
using VEPROMS.CSLA.Library;
 | 
			
		||||
using JR.Utils.GUI.Forms;
 | 
			
		||||
using Volian.Base.Library;
 | 
			
		||||
 | 
			
		||||
namespace Volian.Controls.Library
 | 
			
		||||
{
 | 
			
		||||
@@ -78,7 +79,7 @@ namespace Volian.Controls.Library
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Left edge of the PictureBox
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public override int ContentLeft
 | 
			
		||||
		override public int ContentLeft
 | 
			
		||||
		{
 | 
			
		||||
			get { return Left + _MyPictureBox.Left; }
 | 
			
		||||
		}
 | 
			
		||||
@@ -95,8 +96,14 @@ namespace Volian.Controls.Library
 | 
			
		||||
			_MyToolTip.MinimumTooltipSize = new Size(0, 24);
 | 
			
		||||
			_MyToolTip.TooltipDuration = 3;
 | 
			
		||||
			_MyToolTip.SetSuperTooltip(MyPictureBox, tpi);
 | 
			
		||||
			ToolTipOnOff(); // B2025-050 Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void RefreshContent()
 | 
			
		||||
		public override void ToolTipOnOff()
 | 
			
		||||
		{
 | 
			
		||||
			_MyToolTip.Enabled = VlnSettings.StepTypeToolTip; // B2025-XXX Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		override public void RefreshContent()
 | 
			
		||||
		{
 | 
			
		||||
			IdentifyMe(false);
 | 
			
		||||
			RefreshDisplay(false);
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ using System.Text;
 | 
			
		||||
using System.Text.RegularExpressions;
 | 
			
		||||
using System.Windows.Forms;
 | 
			
		||||
using VEPROMS.CSLA.Library;
 | 
			
		||||
using Volian.Base.Library;
 | 
			
		||||
 | 
			
		||||
namespace Volian.Controls.Library
 | 
			
		||||
{
 | 
			
		||||
@@ -133,6 +134,11 @@ namespace Volian.Controls.Library
 | 
			
		||||
			_MyToolTip.MinimumTooltipSize = new Size(0, 24);
 | 
			
		||||
			_MyToolTip.TooltipDuration = 3;
 | 
			
		||||
			_MyToolTip.SetSuperTooltip(MyStepRTB, tpi);
 | 
			
		||||
			ToolTipOnOff(); // B2025-050 Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void ToolTipOnOff()
 | 
			
		||||
		{
 | 
			
		||||
			_MyToolTip.Enabled = VlnSettings.StepTypeToolTip; // B2025-XXX Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void RefreshContent()
 | 
			
		||||
		{
 | 
			
		||||
@@ -793,27 +799,41 @@ namespace Volian.Controls.Library
 | 
			
		||||
				// if the plant has the change id option, the change id was entered when the program started.
 | 
			
		||||
				// this should be saved for every piece of edited data.  Note that the set of config
 | 
			
		||||
				// item Step_MultipleChangeID has the save built in to it.
 | 
			
		||||
				if (sc == null) sc = new StepConfig();
 | 
			
		||||
				if (MyStepRTB.MyItemInfo.IsStep &&
 | 
			
		||||
					MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds
 | 
			
		||||
					&& !this.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.EditorialChange)
 | 
			
		||||
				{
 | 
			
		||||
					//StepConfig sc = MyStepRTB.MyItemInfo.MyConfig as StepConfig;
 | 
			
		||||
					if (sc == null) sc = new StepConfig();
 | 
			
		||||
					sc.Step_ChangeID = this.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.ChgId;
 | 
			
		||||
					//if (MyStepRTB.MyItemInfo.MyConfig == null) itm.MyContent.Config = sc.ToString();
 | 
			
		||||
				}
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   if in Editorial Mode, treat it the same as if the ChangeIds are set in the Format file
 | 
			
		||||
				if (MyStepPanel.MyStepTabPanel.MyDisplayTabControl.IsInEditorialMode && !existingChangeBar)
 | 
			
		||||
				{
 | 
			
		||||
					sc.Step_ChangeIDEditorialMode = Volian.Base.Library.VlnSettings.UserID;
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
                {
 | 
			
		||||
					sc.Step_ChangeIDEditorialMode = null;
 | 
			
		||||
				}
 | 
			
		||||
				// B2020-017: If making an editorial change, clear the Change id.  Having the change id on
 | 
			
		||||
				//   was adding/printing a change bar.
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   if in Editorial Mode, treat it the same as if the ChangeIds are set in the Format file
 | 
			
		||||
				if (MyStepRTB.MyItemInfo.IsStep &&
 | 
			
		||||
					MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds
 | 
			
		||||
					&& this.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.EditorialChange
 | 
			
		||||
					&& hasChangeBar == false)
 | 
			
		||||
					(MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds
 | 
			
		||||
					 || MyStepPanel.MyStepTabPanel.MyDisplayTabControl.IsInEditorialMode
 | 
			
		||||
					)
 | 
			
		||||
					&& MyStepPanel.MyStepTabPanel.MyDisplayTabControl.EditorialChange
 | 
			
		||||
					&& !hasChangeBar)
 | 
			
		||||
				{
 | 
			
		||||
					if (sc == null) sc = new StepConfig();
 | 
			
		||||
					sc.Step_ChangeID = null;
 | 
			
		||||
				}
 | 
			
		||||
				//  B2015-024 Have Spell Checker text changes be an editorial change (not assign a change bar but keep existing change bar)
 | 
			
		||||
				if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.EditData.EditoralSpellCheck)
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   if in Editorial Mode, treat it the same as if the Rditorial SprllCheck flag is set in the Format file
 | 
			
		||||
				if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.EditData.EditoralSpellCheck || this.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.IsInEditorialMode)
 | 
			
		||||
				{
 | 
			
		||||
					if (StepRTB.DidEditorialSpellCheck)
 | 
			
		||||
					{
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,11 @@ namespace Volian.Controls.Library
 | 
			
		||||
			_MyToolTip.MinimumTooltipSize = new Size(0, 24);
 | 
			
		||||
			_MyToolTip.TooltipDuration = 3;
 | 
			
		||||
			_MyToolTip.SetSuperTooltip(MyStepRTB, tpi);
 | 
			
		||||
			ToolTipOnOff(); // B2025-050 Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void ToolTipOnOff()
 | 
			
		||||
		{
 | 
			
		||||
			_MyToolTip.Enabled = VlnSettings.StepTypeToolTip; // B2025-XXX Show the tooltip based on User Options Settings
 | 
			
		||||
		}
 | 
			
		||||
		public override void RefreshContent()
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -650,8 +650,13 @@ namespace Volian.Controls.Library
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public Color ActiveColor
 | 
			
		||||
		{
 | 
			
		||||
			get { return _ActiveColor; }
 | 
			
		||||
			set { _ActiveColor = value; }
 | 
			
		||||
			get {
 | 
			
		||||
				// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
				//   if in Editorial Mode, use LightGreen background
 | 
			
		||||
				_ActiveColor = MyStepTabPanel != null && MyStepTabPanel.MyDisplayTabControl.IsInEditorialMode ? Color.LightGreen : Color.SkyBlue;
 | 
			
		||||
					return _ActiveColor; 
 | 
			
		||||
				}
 | 
			
		||||
            set { _ActiveColor = value; }
 | 
			
		||||
		}
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// Gets or Sets the Annotation backcolor for StepRTBs in the Panel
 | 
			
		||||
 
 | 
			
		||||
@@ -3760,7 +3760,12 @@ namespace Volian.Controls.Library
 | 
			
		||||
		public bool SpellCheckNext()
 | 
			
		||||
		{
 | 
			
		||||
			int nBad = C1SpellChecker2.CheckControl(this, false, MySpellCheckDlg);
 | 
			
		||||
				if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.EditData.EditoralSpellCheck)
 | 
			
		||||
 | 
			
		||||
			// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
			//   if in Editorial Mode, treat it the same as if the EditorialSpellCheck flag is set in the Format file
 | 
			
		||||
			bool editorialmode = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.IsInEditorialMode;
 | 
			
		||||
 | 
			
		||||
            if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.EditData.EditoralSpellCheck || editorialmode)
 | 
			
		||||
					DidEditorialSpellCheck = MySpellCheckDlg.DidCorrectSpelling;  // B2015-024 spell checker in editoral mode
 | 
			
		||||
			return (nBad >= 0); // nBad = -1 means user pressed Cancel button
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -120,7 +120,7 @@ namespace Volian.Controls.Library
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		private void SetupStepTabRibbon()
 | 
			
		||||
		{
 | 
			
		||||
			_MyStepTabRibbon = new StepTabRibbon();
 | 
			
		||||
			_MyStepTabRibbon = new StepTabRibbon(_MyDisplayTabControl.IsInEditorialMode);
 | 
			
		||||
			_MyStepTabRibbon.Dock = System.Windows.Forms.DockStyle.Top;
 | 
			
		||||
			_MyStepTabRibbon.Location = new System.Drawing.Point(0, 0);
 | 
			
		||||
			_MyStepTabRibbon.Name = "displayTabRibbon1";
 | 
			
		||||
 
 | 
			
		||||
@@ -995,7 +995,7 @@ namespace Volian.Controls.Library
 | 
			
		||||
		//    SetButtonAndMenuEnabling(true);
 | 
			
		||||
		//}
 | 
			
		||||
		#region Constructor
 | 
			
		||||
		public StepTabRibbon()
 | 
			
		||||
		public StepTabRibbon(bool? IsInEditorialMode = false)
 | 
			
		||||
		{
 | 
			
		||||
			InitializeComponent();
 | 
			
		||||
			this.btnInsSupInfo.Tag = string.Format("{0} {1}", (int)E_FromTypes.SupInfos, 1040);  // Make type of rno (40) & special case 1000
 | 
			
		||||
@@ -1021,8 +1021,16 @@ namespace Volian.Controls.Library
 | 
			
		||||
			// hide the import from Word file if not running in Debug mode
 | 
			
		||||
			if (!VlnSettings.DebugMode)
 | 
			
		||||
				rbnImpWrd.Visible = false;
 | 
			
		||||
		}
 | 
			
		||||
		void _RibbonControl_SizeChanged(object sender, EventArgs e)
 | 
			
		||||
 | 
			
		||||
			// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
			//  default Editorial Mode to what is set in the DisplayTabControl
 | 
			
		||||
			SetEditorialMode(IsInEditorialMode != null && (bool) IsInEditorialMode);
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void SetEditorialMode(bool mode) => btnEditorialMode.Checked = btnCMEditorialMode.Checked = mode;
 | 
			
		||||
 | 
			
		||||
        void _RibbonControl_SizeChanged(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			this.Size = _RibbonControl.Size;
 | 
			
		||||
		}
 | 
			
		||||
@@ -3125,7 +3133,7 @@ namespace Volian.Controls.Library
 | 
			
		||||
			btnCMRedo.Enabled = btnRedo.Enabled = _MyStepRTB.CanRedo;
 | 
			
		||||
			btnCMUndo.Enabled = btnUndo.Enabled = _MyStepRTB.CanUndo;
 | 
			
		||||
		}
 | 
			
		||||
		private void btnGoTo_Click(object sender, EventArgs e)
 | 
			
		||||
        private void btnGoTo_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			// if on a transition, go to the selected transition 'to'.  If on
 | 
			
		||||
			// a referenced object, bring up ReferencedObject Editor (for now, just put up a message box.
 | 
			
		||||
@@ -3211,7 +3219,29 @@ namespace Volian.Controls.Library
 | 
			
		||||
				System.Diagnostics.Process.Start(roapp, args);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		private void btnChgTyp_Click(object sender, EventArgs e)
 | 
			
		||||
 | 
			
		||||
		// C2015-028 Add Editorial Mode to PROMS Step Editor
 | 
			
		||||
		private void btnEditorialMode_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			//toggle button is selected
 | 
			
		||||
			SetEditorialMode(!btnEditorialMode.Checked);
 | 
			
		||||
 | 
			
		||||
			//set the overall flag in the displaytabcontrol
 | 
			
		||||
            StepTabPanel tmp = Parent as StepTabPanel;
 | 
			
		||||
			tmp.MyDisplayTabControl.IsInEditorialMode = btnEditorialMode.Checked;
 | 
			
		||||
 | 
			
		||||
			//refresh the current item so the background color changes (LightGreen=Editorial Mode, SkyBlue=Normal Selected)
 | 
			
		||||
            if (MyEditItem != null)
 | 
			
		||||
			{
 | 
			
		||||
				_MyEditItem.RefreshContent();
 | 
			
		||||
				Application.DoEvents();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //set other preciously opened tabs to match the state of Editorial Mode in the current tab
 | 
			
		||||
            tmp.MyDisplayTabControl.SetEdititorialModeForAllTabs(btnEditorialMode.Checked);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void btnChgTyp_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Change Step Type");
 | 
			
		||||
			MyEditItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
			
		||||
@@ -3279,7 +3309,8 @@ namespace Volian.Controls.Library
 | 
			
		||||
				rtabInsert.Visible = false;
 | 
			
		||||
				rtabAdmin.Visible = false;
 | 
			
		||||
				rtabReview.Select();
 | 
			
		||||
				btnCMEditMode1.Enabled = btnEditMode.Enabled = false; // don't allow reviewer toggle out of view mode
 | 
			
		||||
				btnCMEditMode1.Enabled = btnEditMode.Enabled = btnCMEditorialMode.Enabled = false; // don't allow reviewer toggle out of view mode
 | 
			
		||||
				btnCMEditorialMode.Visible = false;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public void SetupROEditorMode()
 | 
			
		||||
@@ -4159,15 +4190,19 @@ namespace Volian.Controls.Library
 | 
			
		||||
			if (oring == eEventSource.Keyboard)
 | 
			
		||||
				_OringFlg = 1;
 | 
			
		||||
 | 
			
		||||
			int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
 | 
			
		||||
			if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
			
		||||
			if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
			
		||||
			MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
 | 
			
		||||
			OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		private void btnPdfQuickCreate_Click(object sender, EventArgs e)
 | 
			
		||||
		{
 | 
			
		||||
			int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
 | 
			
		||||
			if (MyItemInfo == null) return;   // if creating a pdf before rtb exists, return;
 | 
			
		||||
			if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
 | 
			
		||||
			MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
 | 
			
		||||
			OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										16
									
								
								PROMS/Volian.Controls.Library/ToolStripMenuItemwithValue.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								PROMS/Volian.Controls.Library/ToolStripMenuItemwithValue.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
using System.Windows.Forms;
 | 
			
		||||
 | 
			
		||||
namespace Volian.Controls.Library
 | 
			
		||||
{
 | 
			
		||||
	//ToolStripMenuItem with Added Value Property
 | 
			
		||||
	public class ToolStripMenuItemwithValue : ToolStripMenuItem
 | 
			
		||||
	{
 | 
			
		||||
		public readonly object Value;
 | 
			
		||||
 | 
			
		||||
		public ToolStripMenuItemwithValue(string text, object value)
 | 
			
		||||
		{
 | 
			
		||||
			Value = value;
 | 
			
		||||
			Text = text;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -27,10 +27,26 @@ namespace Volian.Controls.Library
 | 
			
		||||
			while (MyEditItem.SpellCheckNext())
 | 
			
		||||
			{
 | 
			
		||||
				ItemInfo next = MyEditItem.MyItemInfo.SearchNext;
 | 
			
		||||
				if (next == null || !next.IsStep) // B2016-063 check if next is not a step type instead of specifically a section
 | 
			
		||||
					return; // spell check only current section
 | 
			
		||||
				MyEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(next);
 | 
			
		||||
			}
 | 
			
		||||
				//C2025-037 Evaluate the way that Spell Check (in step editor sections) is currently closing after one section.
 | 
			
		||||
 | 
			
		||||
				if (next == null || next.IsProcedure) // B2016-063 check if next is not a step type instead of specifically a section
 | 
			
		||||
                {
 | 
			
		||||
                    return; // spell check only current procedure
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
				//If it is a word document, find the next non-word document
 | 
			
		||||
				while (next.HasWordContent)
 | 
			
		||||
                {
 | 
			
		||||
					next = next.SearchNext;
 | 
			
		||||
 | 
			
		||||
					if (next == null || next.IsProcedure) // B2016-063 check if next is not a step type instead of specifically a section
 | 
			
		||||
					{
 | 
			
		||||
						return; // spell check only current procedure
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
                MyEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(next);
 | 
			
		||||
            }
 | 
			
		||||
			MyEditItem.SetFocus();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -384,6 +384,9 @@
 | 
			
		||||
    <Compile Include="TablePropertiesControl.Designer.cs">
 | 
			
		||||
      <DependentUpon>TablePropertiesControl.cs</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="ToolStripMenuItemwithValue.cs">
 | 
			
		||||
      <SubType>Component</SubType>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="TransPanel.cs">
 | 
			
		||||
      <SubType>Component</SubType>
 | 
			
		||||
    </Compile>
 | 
			
		||||
 
 | 
			
		||||
@@ -1269,6 +1269,11 @@ namespace Volian.Controls.Library
 | 
			
		||||
					if (ok)
 | 
			
		||||
						if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click));
 | 
			
		||||
					#endregion
 | 
			
		||||
					#region Refresh_Tree
 | 
			
		||||
					//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
					if (tn == (VETreeNode)Nodes[0])
 | 
			
		||||
						cm.MenuItems.Add("Refresh Tree", new EventHandler(mi_Click));
 | 
			
		||||
					#endregion
 | 
			
		||||
					//_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true));
 | 
			
		||||
 | 
			
		||||
					if (fi != null && fi.HasWorkingDraft)
 | 
			
		||||
@@ -2352,6 +2357,10 @@ namespace Volian.Controls.Library
 | 
			
		||||
				case "Print All Approved Procedures": //C2025-017 print all approved procedures
 | 
			
		||||
					OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
			
		||||
					break;
 | 
			
		||||
				//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
				case "Refresh Tree":
 | 
			
		||||
					RefreshTree();
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					if (mi.Text.StartsWith("Showing Change Bars Starting"))
 | 
			
		||||
						OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
			
		||||
@@ -3926,6 +3935,13 @@ namespace Volian.Controls.Library
 | 
			
		||||
			if (Processing != null)
 | 
			
		||||
				Processing(this, new vlnTreeStatusEventArgs(status, message));
 | 
			
		||||
		}
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public event vlnTreeViewStatusEvent RefreshFormats;
 | 
			
		||||
		private void OnRefreshFormats(bool status, string message)
 | 
			
		||||
		{
 | 
			
		||||
			if (RefreshFormats != null)
 | 
			
		||||
				RefreshFormats(this, new vlnTreeStatusEventArgs(status, message));
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
		#region SetLastValuesAndSaveIfChangedStuff
 | 
			
		||||
		private void SetLastValues(VETreeNode node)
 | 
			
		||||
@@ -4648,6 +4664,36 @@ namespace Volian.Controls.Library
 | 
			
		||||
				if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true;
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public void RefreshTree()
 | 
			
		||||
        {
 | 
			
		||||
			//reload the base node
 | 
			
		||||
			VETreeNode tbase = (VETreeNode) Nodes[0];
 | 
			
		||||
			tbase.ChildrenLoaded = false;
 | 
			
		||||
 | 
			
		||||
			//Refresh the formats
 | 
			
		||||
			OnRefreshFormats(true, "Refreshing Formats");
 | 
			
		||||
 | 
			
		||||
			//reset the procedure lists so db is re-queried in case they changed
 | 
			
		||||
			//also clear other caches in case added steps / sections / etc...
 | 
			
		||||
			PartInfo.ClearPartInfoCache();
 | 
			
		||||
			ItemInfo.ClearItemInfoCache();
 | 
			
		||||
			DocVersionInfo.ResetAllProcedures();
 | 
			
		||||
			FolderInfo.ClearFolderInfoCache();
 | 
			
		||||
 | 
			
		||||
			//Refresh the base VEPROMS object
 | 
			
		||||
			var fldr = tbase.VEObject as FolderInfo;
 | 
			
		||||
			if (fldr != null)
 | 
			
		||||
			{
 | 
			
		||||
				Invoke((Action)(() => { tbase.VEObject = FolderInfo.Get(fldr.FolderID); }));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			//refresh the tree
 | 
			
		||||
			Invoke((Action)(() => { tbase.RefreshNode(); }));
 | 
			
		||||
			this.Invoke((Action)(() => { this.Update(); }));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	#region DragHelper
 | 
			
		||||
	public class DragHelper
 | 
			
		||||
 
 | 
			
		||||
@@ -85,6 +85,14 @@ namespace Volian.Print.Library
 | 
			
		||||
		ProgressSetup,
 | 
			
		||||
		LoadVlnParagraph
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//B2025-048  Problem with Printing CAS Steps
 | 
			
		||||
	public enum PromsPrinterPrintType
 | 
			
		||||
	{
 | 
			
		||||
		Normal,
 | 
			
		||||
		CAS_Only,
 | 
			
		||||
		TCAS_only
 | 
			
		||||
	}
 | 
			
		||||
	public class PromsPrinter
 | 
			
		||||
	{
 | 
			
		||||
		public bool NeedSupInfoBreak = false;
 | 
			
		||||
@@ -331,6 +339,18 @@ namespace Volian.Print.Library
 | 
			
		||||
			get { return _MergedPdf; }
 | 
			
		||||
			set { _MergedPdf = value; }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//B2025-048  Problem with Printing CAS Steps
 | 
			
		||||
		// default to Normal
 | 
			
		||||
		// will skip certain logic if CAS Only or CTS Only
 | 
			
		||||
		public PromsPrinterPrintType PromsPrinterPrintType { get; set; } = PromsPrinterPrintType.Normal;
 | 
			
		||||
 | 
			
		||||
		//B2025-054 Wrong Page Numbers in CAS Summary
 | 
			
		||||
		// when section title continued and CAS
 | 
			
		||||
		//  Flag for when should build the CAS_CTAS
 | 
			
		||||
		//to avoid overwriting data
 | 
			
		||||
		public bool ShouldPrint_CAS_CTAS { get; set; } = true;
 | 
			
		||||
 | 
			
		||||
		public PromsPrinter(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, string backgroundFolder, bool openPDF, bool overWrite,
 | 
			
		||||
			ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, int removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf, string watermarkColor, int PrtSectID = -1)
 | 
			
		||||
		{
 | 
			
		||||
@@ -1266,7 +1286,7 @@ namespace Volian.Print.Library
 | 
			
		||||
			set { _MyTimeCriticalActSummary = value; }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void CreateWordDocPdf(PdfContentByte cb, SectionInfo mySection)
 | 
			
		||||
        public void CreateWordDocPdf(PdfContentByte cb, SectionInfo mySection)
 | 
			
		||||
		{
 | 
			
		||||
			if (mySection.PageNumber == -1)         // If page num transition goes to a section, need the pagenumber of section.
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
@@ -99,8 +99,8 @@
 | 
			
		||||
    <Reference Include="System.Drawing" />
 | 
			
		||||
    <Reference Include="System.Windows.Forms" />
 | 
			
		||||
    <Reference Include="System.Xml" />
 | 
			
		||||
    <Reference Include="VlnStatus64">
 | 
			
		||||
      <HintPath>..\VEPROMS\VlnStatus64\bin\Debug\VlnStatus64.dll</HintPath>
 | 
			
		||||
    <Reference Include="VlnStatus">
 | 
			
		||||
      <HintPath>..\ReferencedObjects\LibSource\VlnStatus\bin\Debug\VlnStatus.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
 
 | 
			
		||||
@@ -2159,12 +2159,15 @@ namespace Volian.Print.Library
 | 
			
		||||
			}
 | 
			
		||||
			// If "doSectionTitleContinued" is true then print the section title with "(Continued)" appended to it
 | 
			
		||||
			// format must have ContinueSectinHeader format flag set to true
 | 
			
		||||
			//B2025-048  Problem with Printing CAS Steps
 | 
			
		||||
			//  skip this if printing CAS or CTAS - was causing it to
 | 
			
		||||
			//  skip/overwrite data
 | 
			
		||||
			if (doSectionTitleContinued)
 | 
			
		||||
			{
 | 
			
		||||
				vlnParagraph sectContPara;
 | 
			
		||||
				string contMsg = (MyItemInfo.ActiveSection != null) ? MyItemInfo.ActiveSection.MyDocStyle.Continue.SectionTitle.AppendToTitle : ""; // C2018-003 fixed use of getting the active section
 | 
			
		||||
				// For Calvert, the xoffset will be the highest level sections xoffset (there are metasections,
 | 
			
		||||
				// don't use their xoffset or the continue message is indented too much)
 | 
			
		||||
																																					// For Calvert, the xoffset will be the highest level sections xoffset (there are metasections,
 | 
			
		||||
																																					// don't use their xoffset or the continue message is indented too much)
 | 
			
		||||
				if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert)
 | 
			
		||||
				{
 | 
			
		||||
					float secContinueTabXoff = (float)MyItemInfo.MyDocStyle.Layout.LeftMargin;
 | 
			
		||||
@@ -2184,6 +2187,12 @@ namespace Volian.Print.Library
 | 
			
		||||
					// get to the correct section for the message, i.e. if on a section, the message should be the parent
 | 
			
		||||
					// section (not the activesection which is myself); if on a step, the message should be the active section
 | 
			
		||||
					ItemInfo sectForCont = MyItemInfo.IsSection && MyItemInfo.MyParent.IsSection ? MyItemInfo.MyParent : MyItemInfo.ActiveSection;
 | 
			
		||||
					//B2025-054 Wrong Page Numbers in CAS Summary
 | 
			
		||||
					// when section title continued and CAS
 | 
			
		||||
					//to avoid overwriting data
 | 
			
		||||
					// - this will be built at a different call to vlnParagraph
 | 
			
		||||
					if (MyPromsPrinter.PromsPrinterPrintType != PromsPrinterPrintType.Normal)
 | 
			
		||||
						MyPromsPrinter.ShouldPrint_CAS_CTAS = false;
 | 
			
		||||
					sectContPara = new vlnParagraph(MyParent.MyParent, cb, sectForCont, MyParent.XOffset, 0, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, (contMsg == null || contMsg == "") ? "  (Continued)" : contMsg, 0, false, MyPromsPrinter);
 | 
			
		||||
					if (sectContPara.PartsLeft.Count > 0)
 | 
			
		||||
					{
 | 
			
		||||
@@ -2194,7 +2203,7 @@ namespace Volian.Print.Library
 | 
			
		||||
						vt.XOffset = secContinueTabXoff;
 | 
			
		||||
						vt.Width = secContinueXoff - secContinueTabXoff;
 | 
			
		||||
						sectContPara.XOffset = secContinueXoff;
 | 
			
		||||
						if ((wd + 12) > secContinueXoff - secContinueTabXoff)			// 12 is 2 characters
 | 
			
		||||
						if ((wd + 12) > secContinueXoff - secContinueTabXoff)           // 12 is 2 characters
 | 
			
		||||
						{
 | 
			
		||||
							float dif = wd + 12 - (secContinueXoff - secContinueTabXoff);
 | 
			
		||||
							vt.Width += dif;
 | 
			
		||||
@@ -2209,12 +2218,20 @@ namespace Volian.Print.Library
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
				{
 | 
			
		||||
					//B2025-054 Wrong Step Numbers
 | 
			
		||||
					// when section title continued and CAS
 | 
			
		||||
					//to avoid overwriting data
 | 
			
		||||
					// - this will be built at a different call to vlnParagraph
 | 
			
		||||
					if (MyPromsPrinter.PromsPrinterPrintType != PromsPrinterPrintType.Normal)
 | 
			
		||||
						MyPromsPrinter.ShouldPrint_CAS_CTAS = false;
 | 
			
		||||
					sectContPara = new vlnParagraph(MyParent.MyParent, cb, MyItemInfo.ActiveSection, MyParent.XOffset, 0, 0, 0, MyParent.MyItemInfo.ActiveFormat, null, (contMsg == null || contMsg == "") ? "  (Continued)" : contMsg, 0, false, MyPromsPrinter);
 | 
			
		||||
					float mytmpfloat = sectContPara.ParagraphToPdf(cb, yTopMargin, yTopMargin, yBottomMargin);
 | 
			
		||||
					if (sectContPara.SectionContinuePrinted)
 | 
			
		||||
						yPageStart -= sectContPara.Height + SixLinesPerInch;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			//out of section title section - reset this back to true (default)
 | 
			
		||||
			MyPromsPrinter.ShouldPrint_CAS_CTAS = true;
 | 
			
		||||
 | 
			
		||||
			// see if this hls has footnotes, add to the footnote datastructure for processing at end of page.
 | 
			
		||||
			if (MyItemInfo.IsHigh && MyPageHelper.NotesToFootNotesHLS.ContainsKey(MyItemInfo.ItemID)) AddFootNote(cb);
 | 
			
		||||
@@ -3593,11 +3610,11 @@ namespace Volian.Print.Library
 | 
			
		||||
			BuildPlacekeeper(parent, itemInfo);
 | 
			
		||||
 | 
			
		||||
			// Save step text information to be used to create a Continuous Action Summary
 | 
			
		||||
			BuildContinuousActionSummary(parent, itemInfo);
 | 
			
		||||
			if (MyPromsPrinter.ShouldPrint_CAS_CTAS) BuildContinuousActionSummary(parent, itemInfo);
 | 
			
		||||
 | 
			
		||||
			// F2022-024 Time Critical Step
 | 
			
		||||
			// Save step text information to be used to create a Time Critical Action Summary
 | 
			
		||||
			BuildTimeCriticalActionSummary(parent, itemInfo);
 | 
			
		||||
			if (MyPromsPrinter.ShouldPrint_CAS_CTAS) BuildTimeCriticalActionSummary(parent, itemInfo);
 | 
			
		||||
 | 
			
		||||
			if (itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj != null)
 | 
			
		||||
				_MyBoxLeftAdj = float.Parse(itemInfo.ActiveFormat.MyStepSectionLayoutData.BoxLeftAdj);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user