Compare commits
86 Commits
B2025-051
...
C2022-003-
| Author | SHA1 | Date | |
|---|---|---|---|
| c561aad661 | |||
| 0a301e1a84 | |||
| 37e727202c | |||
| 9023cc76a0 | |||
| 49bdd03c1c | |||
| 23f4b672b2 | |||
| 599d45086f | |||
| 93aed0e06a | |||
| 7eb94d7575 | |||
| fa8b0bd6a1 | |||
| c26e271676 | |||
| 7d87477d68 | |||
| 9002fb3828 | |||
| 10257a832a | |||
| 261f5a526c | |||
| b5e0c121e8 | |||
| 6d99c456e4 | |||
| 8c6f0c2736 | |||
| bd89af5e8c | |||
| b0e4128d3c | |||
| 875a8f101a | |||
| c5a8ef57ac | |||
| c8adeed187 | |||
| 49f5f506d4 | |||
| 1c87585570 | |||
| 30eb52da77 | |||
| 6f089482e6 | |||
| 8e221cc263 | |||
| 441917b670 | |||
| 6251de3b38 | |||
| d731125a14 | |||
| d6fe64bc40 | |||
| f8b93807ae | |||
| 2287a111c1 | |||
| a08d92ea41 | |||
| c41d7981ba | |||
| 37f5336806 | |||
| ebdc98dfa7 | |||
| f3c8c860f5 | |||
| f7b27142c4 | |||
| 4fc37c54c5 | |||
| 849e1e57dd | |||
| c768ca5eba | |||
| c9516d90e9 | |||
| 327aae687a | |||
| 3cbe4617eb | |||
| de69fe6b6f | |||
| e53101dacb | |||
| d3ec749848 | |||
| 410b7d3dd6 | |||
| e87b233713 | |||
| ca38ecb1cf | |||
| 5dfa70dc10 | |||
| ff3daff15a | |||
| 7b7f235354 | |||
| 779c6247cd | |||
| fcaffa8c5f | |||
| d2ffcc903a | |||
| 1d12c97e30 | |||
| 3bcaeb214e | |||
| 85995040a8 | |||
| 826d06b532 | |||
| 3328e35cf4 | |||
| 091c56ec34 | |||
| 31e9910242 | |||
| f6e3c72e9c | |||
| 3f618bc970 | |||
| 1c766e568c | |||
| 8ed9bfbfcb | |||
| f1d66fc446 | |||
| 50977b367f | |||
| 45312d0564 | |||
| 3261d63b19 | |||
| 2894899ad4 | |||
| dd5c709709 | |||
| 618247f4d5 | |||
| abcf035143 | |||
| 0b015233a9 | |||
| 44d85b842c | |||
| 470f4a770b | |||
| 808a1ba0ea | |||
| 04cef606fc | |||
| 52583a05f6 | |||
| 37b4726925 | |||
| cc66eb5329 | |||
| 563c133676 |
@@ -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>
|
||||
|
||||
@@ -96,10 +96,10 @@ namespace ROEditor
|
||||
private System.Windows.Forms.Label lblW2;
|
||||
private System.Windows.Forms.Label lblW3;
|
||||
private System.Windows.Forms.Label lblW4;
|
||||
private System.Windows.Forms.TextBox tbSingleTxtWid;
|
||||
private System.Windows.Forms.TextBox tbVariableTxtWid;
|
||||
private System.Windows.Forms.TextBox tbTableWid;
|
||||
private System.Windows.Forms.TextBox tbXYPlotWid;
|
||||
private System.Windows.Forms.RichTextBox tbSingleTxtWid; // RO Editor add symbols C2025 - 003
|
||||
private System.Windows.Forms.RichTextBox tbVariableTxtWid;
|
||||
private System.Windows.Forms.RichTextBox tbTableWid;
|
||||
private System.Windows.Forms.RichTextBox tbXYPlotWid;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
/// <summary>
|
||||
@@ -218,10 +218,10 @@ namespace ROEditor
|
||||
this.lblFieldName = new System.Windows.Forms.Label();
|
||||
this.tbFieldName = new System.Windows.Forms.TextBox();
|
||||
this.gbAlternatives = new System.Windows.Forms.GroupBox();
|
||||
this.tbXYPlotWid = new System.Windows.Forms.TextBox();
|
||||
this.tbTableWid = new System.Windows.Forms.TextBox();
|
||||
this.tbVariableTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.tbSingleTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.tbXYPlotWid = new System.Windows.Forms.RichTextBox(); // RO Editor add symbols C2025 - 003
|
||||
this.tbTableWid = new System.Windows.Forms.RichTextBox();
|
||||
this.tbVariableTxtWid = new System.Windows.Forms.RichTextBox();
|
||||
this.tbSingleTxtWid = new System.Windows.Forms.RichTextBox();
|
||||
this.lblW4 = new System.Windows.Forms.Label();
|
||||
this.lblW3 = new System.Windows.Forms.Label();
|
||||
this.lblW2 = new System.Windows.Forms.Label();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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,11 +104,15 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
@@ -123,10 +128,18 @@
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
<Reference Include="VEPROMS.CSLA.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Volian.Base.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Controls.Library, Version=1.0.9399.43177, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Volian.Controls.Library\bin\Debug\Volian.Controls.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AboutROEditor.cs">
|
||||
@@ -167,6 +180,7 @@
|
||||
<Compile Include="RO_FST.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Content Include="Symbols.xml" />
|
||||
<EmbeddedResource Include="AboutROEditor.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>AboutROEditor.cs</DependentUpon>
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -175,7 +175,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -42,6 +42,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CmpRpt", "..\CmpRpt\CmpRpt.
|
||||
{3A4A3543-2D44-11D6-8452-00A0CC271352} = {3A4A3543-2D44-11D6-8452-00A0CC271352}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D9093FAB-448E-47C7-961B-92B18D85CAF7}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -263,6 +263,7 @@ using System.Collections.Specialized;
|
||||
using Org.Mentalis.Files;
|
||||
using System.Data.SqlClient;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
|
||||
namespace RODBInterface
|
||||
@@ -409,7 +410,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
|
||||
@@ -1909,6 +1910,8 @@ namespace RODBInterface
|
||||
string Info = DBE.GetString(3);
|
||||
//B2022-043 &pos; was missing the ;
|
||||
Info = Info.Replace("'", "\'"); // B2021-071: crash when getting/saving field names
|
||||
Info = Regex.Replace(Info, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2025 - 003
|
||||
|
||||
node.SetAttribute("HasChild", "True");
|
||||
|
||||
// Store data in the VlnXmlElement as a subgroup
|
||||
@@ -1972,6 +1975,7 @@ namespace RODBInterface
|
||||
elem.SetAttribute("RecID", RecID);
|
||||
elem.SetAttribute("ParentID", node.GetAttribute("RecID"));
|
||||
elem.SetAttribute("Table", node.GetAttribute("Table"));
|
||||
AccPageID = Regex.Replace(AccPageID, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2025 - 003
|
||||
elem.SetAttribute("AccPageID", AccPageID);
|
||||
}
|
||||
}
|
||||
@@ -2182,10 +2186,13 @@ namespace RODBInterface
|
||||
parent.SetAttribute("ChildLoaded", "True");
|
||||
}
|
||||
string xmlstr = GenerateXmlString(ro, false);
|
||||
string tmp2 = Regex.Replace(xmlstr, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2025 - 003
|
||||
string wraccid = null;
|
||||
if (ro.HasAttribute("AccPageID"))
|
||||
{
|
||||
string accid = ro.GetAttribute("AccPageID");
|
||||
|
||||
|
||||
int quote = accid.IndexOf("'");
|
||||
if (quote >= 0)
|
||||
wraccid = accid.Insert(quote, "'");
|
||||
|
||||
@@ -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,11 +106,14 @@
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>
|
||||
</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ctlXMLEditLib">
|
||||
<HintPath>..\..\..\VEPROMS User Interface\bin\Debug\ctlXMLEditLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
@@ -171,6 +176,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>
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.TextBox tbZoom;
|
||||
private System.Windows.Forms.RichTextBox tbZoom; // RO Editor add symbols C2025 - 003
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
@@ -88,7 +88,7 @@ namespace ctlXMLEditLib
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tbZoom = new System.Windows.Forms.TextBox();
|
||||
this.tbZoom = new System.Windows.Forms.RichTextBox(); // RO Editor add symbols C2025 - 003
|
||||
this.btnSave = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
@@ -99,7 +99,7 @@ namespace ctlXMLEditLib
|
||||
this.tbZoom.Location = new System.Drawing.Point(24, 16);
|
||||
this.tbZoom.Multiline = true;
|
||||
this.tbZoom.Name = "tbZoom";
|
||||
this.tbZoom.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.tbZoom.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; // RO Editor add symbols C2025 - 003
|
||||
this.tbZoom.Size = new System.Drawing.Size(576, 392);
|
||||
this.tbZoom.TabIndex = 0;
|
||||
//
|
||||
|
||||
@@ -200,6 +200,10 @@ using System.Xml.Schema;
|
||||
using System.Text;
|
||||
using RODBInterface;
|
||||
using Org.Mentalis.Files;
|
||||
using System.Windows;
|
||||
using System.Text.RegularExpressions;
|
||||
using Volian.Base.Library;
|
||||
using System.Linq;
|
||||
//using IniFileIO;
|
||||
|
||||
|
||||
@@ -237,12 +241,12 @@ namespace ctlXMLEditLib
|
||||
private bool dosaveflag;
|
||||
private VlnXmlElement editelem;
|
||||
private XmlDocument editdoc;
|
||||
private TextBox zoomtextbox;
|
||||
private RichTextBox zoomtextbox;
|
||||
// the following is used for handling images. Note that if we want to have more
|
||||
// than one image defined in an ro, this should be become a list.
|
||||
private TextBox GraphicsFiletextbox;
|
||||
private TextBox GraphicsWdtextbox;
|
||||
private TextBox GraphicsHttextbox;
|
||||
private RichTextBox GraphicsFiletextbox;
|
||||
private RichTextBox GraphicsWdtextbox;
|
||||
private RichTextBox GraphicsHttextbox;
|
||||
private System.Windows.Forms.Button btnFindFile;
|
||||
private string GraphicsText;
|
||||
private ToolTip zmtooltip;
|
||||
@@ -311,7 +315,17 @@ namespace ctlXMLEditLib
|
||||
public string GetParentHTId { get { return parenthtid; } }
|
||||
public void SetParentHTId(string id) { this.parenthtid = id; }
|
||||
}
|
||||
|
||||
private RichTextBox _TextBoxFocus; // RO Editor add symbols C2025 - 003
|
||||
public RichTextBox TextBoxFocus
|
||||
{
|
||||
get { return _TextBoxFocus; }
|
||||
set
|
||||
{
|
||||
_TextBoxFocus = value;
|
||||
// C2015-017 hide the label indicating user is working with a duplicate of an exiting RO
|
||||
//lblDuplicateRO.Visible = value;
|
||||
}
|
||||
}
|
||||
public ctlXMLEdit(VlnXmlElement myelem, XmlSchema myschema, ArrayList reqfields, ArrayList fldsWithApplic, string [] pckids)
|
||||
{
|
||||
// This call is required by the Windows.Forms Form Designer.
|
||||
@@ -363,7 +377,7 @@ namespace ctlXMLEditLib
|
||||
|
||||
// set the required fields tag on those fields which are included in the passed
|
||||
// in required fields list.
|
||||
private void DoSet(TextBox hwnd, string msg)
|
||||
private void DoSet(RichTextBox hwnd, string msg) // RO Editor add symbols C2025 - 003
|
||||
{
|
||||
if (hwnd == null) return;
|
||||
if (hwnd.Tag != null)
|
||||
@@ -378,7 +392,7 @@ namespace ctlXMLEditLib
|
||||
private void SetRequiredFields(ArrayList reqfields)
|
||||
{
|
||||
Object o;
|
||||
TextBox hwnd;
|
||||
RichTextBox hwnd;
|
||||
string field, msg;
|
||||
int indx;
|
||||
foreach (string strfld in reqfields)
|
||||
@@ -397,15 +411,15 @@ namespace ctlXMLEditLib
|
||||
o = myHT[field+"a"];
|
||||
if (o != null) // set all combo types required, the checker
|
||||
{
|
||||
DoSet((TextBox)o,msg);
|
||||
DoSet((TextBox)myHT[field+"b"],msg);
|
||||
DoSet((TextBox)myHT[field+"c"],msg);
|
||||
DoSet((TextBox)myHT[field+"d"],msg);
|
||||
DoSet((RichTextBox)o,msg);
|
||||
DoSet((RichTextBox)myHT[field+"b"],msg);
|
||||
DoSet((RichTextBox)myHT[field+"c"],msg);
|
||||
DoSet((RichTextBox)myHT[field+"d"],msg);
|
||||
}
|
||||
}
|
||||
else if (o != null)
|
||||
{
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (RichTextBox) o;
|
||||
if (hwnd.Tag != null)
|
||||
{
|
||||
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
|
||||
@@ -419,7 +433,7 @@ namespace ctlXMLEditLib
|
||||
|
||||
// C2021-026 If this is a Parent/Child field that has no value saved in the database
|
||||
// then use the parent's value and display it as grey colored text.
|
||||
private void GetDefaultParentValue(TextBox tb, XmlNode node, string chldName)
|
||||
private void GetDefaultParentValue(RichTextBox tb, XmlNode node, string chldName)
|
||||
{
|
||||
XmlNode parentNode = null;
|
||||
// PCChildren contains a list strings reprenting the Children setup in the current Working Draft Parent/Child property
|
||||
@@ -463,21 +477,24 @@ namespace ctlXMLEditLib
|
||||
private void DisplayFieldContents(XmlNode node)
|
||||
{
|
||||
Object o;
|
||||
TextBox hwnd;
|
||||
RichTextBox hwnd;
|
||||
XmlNode nd;
|
||||
// if we have an image, check it for validity, i.e. file exists, etc.??
|
||||
foreach (string str in myHT.Keys)
|
||||
{
|
||||
o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (RichTextBox)o;
|
||||
nd = node.SelectSingleNode(str);
|
||||
// if not found with just the string, search the tree.
|
||||
if (nd==null)nd = node.SelectSingleNode("*/"+str);
|
||||
if (nd == null || nd.InnerText.Length==0) // B2024-004 use Parent value if Child text length is zero
|
||||
GetDefaultParentValue(hwnd, node, str); // C2021-026 Parent/Child Field has no value so use parent's value
|
||||
else
|
||||
{
|
||||
hwnd.Text = nd.InnerText; // set the field's text from XML
|
||||
{
|
||||
|
||||
hwnd.Text = Regex.Replace(nd.InnerText, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // set the field's text from XML
|
||||
//hwnd.Text = nd.InnerText; // set the field's text from XML
|
||||
Size size = hwnd.Size;
|
||||
|
||||
// check if this window has a button name as part of its tag. If
|
||||
// so it's a combo type & the radio button/visibility may need to
|
||||
@@ -546,7 +563,7 @@ namespace ctlXMLEditLib
|
||||
// height/width data of the image.
|
||||
if (GraphicsFiletextbox != null && GraphicsFiletextbox.Text != "") UpdateHtWd();
|
||||
}
|
||||
public TextBox GetGraphicsFiletextbox()
|
||||
public RichTextBox GetGraphicsFiletextbox()
|
||||
{
|
||||
return GraphicsFiletextbox;
|
||||
}
|
||||
@@ -585,13 +602,13 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
dosaveflag=false;
|
||||
mysavexml=false;
|
||||
TextBox hwnd;
|
||||
RichTextBox hwnd;
|
||||
// first, clear out all of the text boxes.
|
||||
|
||||
foreach (string str in myHT.Keys)
|
||||
{
|
||||
object o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (RichTextBox) o;
|
||||
hwnd.Text = "";
|
||||
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
|
||||
RadioButton radio;
|
||||
@@ -623,7 +640,7 @@ namespace ctlXMLEditLib
|
||||
// to the parent's value, then clear the child's textbox so that nothing is saved
|
||||
// to the database. This allow us to know that a specific value was not set
|
||||
// for this Parent/Child child
|
||||
private void RemovePCChildTextIfSameAsParent(XmlNode node, TextBox tb, string chldName)
|
||||
private void RemovePCChildTextIfSameAsParent(XmlNode node, RichTextBox tb, string chldName)
|
||||
{
|
||||
XmlNode parentNode = null;
|
||||
// if this is a child node get the parent's value
|
||||
@@ -656,6 +673,9 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// SaveData saves the data in the element which had been sent to the control. Return
|
||||
// true if success, false if fail.
|
||||
// Note that the Parent and Child XML node variables below are not coding for Parent/Child Applicabily Fields
|
||||
@@ -663,15 +683,56 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
if (mysavexml)
|
||||
{
|
||||
TextBox hwnd;
|
||||
RichTextBox hwnd;
|
||||
TextBoxAttrTag tag;
|
||||
string imgdate;
|
||||
|
||||
//go thru the hash table to get textboxes. Find the ones that have text.
|
||||
foreach (string str in myHT.Keys)
|
||||
foreach (string str in myHT.Keys) // RO Editor add symbols C2025 - 003
|
||||
{
|
||||
object o = myHT[str];
|
||||
hwnd = (TextBox) o;
|
||||
hwnd = (RichTextBox) o;
|
||||
|
||||
string result1 = "";
|
||||
string Str = "";
|
||||
char[] chrAry = hwnd.Text.ToCharArray();
|
||||
foreach (int chr in chrAry)
|
||||
{
|
||||
if (chr > 166)
|
||||
{
|
||||
//Str = @"\u" + ((int)chr).ToString("X4");
|
||||
//Str = @"\u" + ((int)chr); //.ToString("X4");
|
||||
Str = $"\\u{(int)chr}?";
|
||||
|
||||
|
||||
result1 = result1 + Str;
|
||||
}
|
||||
else
|
||||
{
|
||||
result1 = result1 + (char)chr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var pattern = @"\\u([0-9]{1,4})\?"; // RO Editor add symbols C2025 - 003
|
||||
|
||||
var results = Regex.Matches(hwnd.Text, pattern);
|
||||
|
||||
string num1;
|
||||
|
||||
int num2;
|
||||
|
||||
foreach (Match result in results)
|
||||
{
|
||||
num1 = (result.Groups[1].Value);
|
||||
string resultString = Regex.Match(num1, @"\d+").Value;
|
||||
string resultString1 = string.Format("{0:x}", resultString);
|
||||
num2 = int.Parse(resultString, System.Globalization.NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
|
||||
hwnd.Text = result1;
|
||||
|
||||
imgdate = null;
|
||||
// if this is a required field and there is no text, put out an error
|
||||
// message and get out of here.
|
||||
@@ -788,6 +849,125 @@ namespace ctlXMLEditLib
|
||||
return (false);
|
||||
}
|
||||
|
||||
// RO Editor add symbols C2025 - 003
|
||||
private static Regex sreg1 = new Regex(@"\\par\r\n(?!\\)");
|
||||
private static Regex sreg2 = new Regex(@"[\r\n]", RegexOptions.Singleline); // Strip Carriage Returns and Newlines
|
||||
private static Regex sreg3 = new Regex(@"^\{(.*)\}$", RegexOptions.Singleline); // Strip Opening and Closing Braces
|
||||
private static Regex sreg4 = new Regex(@"\{[^{]*?\}", RegexOptions.Singleline); // Strip Clauses - remove anything from curly braces
|
||||
private static Regex sreg5 = new Regex(@"\{[^{]*?\}", RegexOptions.Singleline); // Strip Clauses - remove anything from curly braces
|
||||
private static Regex sreg6 = new Regex(@"(\\[^' \\?\r\n\t]+)(?=\\)"); // add space after token if followed by token
|
||||
private static Regex sreg7 = new Regex(@"(\\[^ \\?\r\n\t]+ )"); // take backslash xyz and evaluates them
|
||||
private static Regex sreg8 = new Regex(@"(\\[^ \\?\r\n\t]+) (?=\\)"); // remove space between tokens
|
||||
private static Regex sreg9 = new Regex(@"(\\[^ \\?\r\n\t]+) (?=\r\n)"); // remove space before /r/n
|
||||
|
||||
public static string StaticStripRtfCommands(string rtf, bool fromTable)
|
||||
{
|
||||
// replace \{ & \} with (![ & (!] respectively and then redo at end. The curly braces
|
||||
// are rtf so were getting removed and/or not handled correctly.
|
||||
string retval = rtf.Replace(@"\{", @" (![");
|
||||
retval = retval.Replace(@"\}", @" (!]");
|
||||
|
||||
// For hardspaces, the windows richtextbox does some 'quirky' things:
|
||||
// A unicode representation of \u160? is sent INTO the rtb. Coming out,
|
||||
// that \u160? was translated to a \~ (by the underlying windows rtb).
|
||||
// Note that if the \~ is sent to the rtb, it is treated as a regular space,
|
||||
// i.e. no longer a hardspace, and actually is converted to a regular space.
|
||||
// SO, on the way out, convert any \~ to \u160?
|
||||
retval = RTFConvertedSymbolsToUnicode(retval);
|
||||
|
||||
// remove carriage return/newlines after \par commands (these are introduced by rtb
|
||||
// for hard returns, goes into rtb as \par and comes out as \par\r\n):
|
||||
retval = sreg1.Replace(retval, "\\par ");
|
||||
|
||||
retval = retval.Replace("\\v0\r\n", "\\v0 "); // Replace Carriage Return and Newline after comment
|
||||
retval = sreg2.Replace(retval, ""); // Strip Carriage Returns and Newlines
|
||||
retval = sreg3.Replace(retval, "$1"); // Strip Opening and Closing Braces
|
||||
retval = sreg4.Replace(retval, ""); // Strip Clauses - remove anything from curly braces
|
||||
retval = sreg5.Replace(retval, ""); // Strip Clauses - remove anything from curly braces
|
||||
retval = sreg6.Replace(retval, "$1 "); // add space after token if followed by token
|
||||
retval = sreg7.Replace(retval, new MatchEvaluator(StaticReplaceRTFClause)); // take backslash xyz and evaluates them
|
||||
retval = sreg8.Replace(retval, "$1"); // remove space between tokens
|
||||
retval = sreg9.Replace(retval, "$1"); // remove space before /r/n
|
||||
|
||||
// remove \r\n at end of string if the string has 2 or more characters
|
||||
if (retval.Length > 1 && retval.Substring(retval.Length - 2, 2) == "\r\n") retval = retval.Remove(retval.Length - 2, 2);
|
||||
|
||||
if (retval.Length == 0) return "";
|
||||
if (retval.Length > 1 && retval.Substring(retval.Length - 2, 2) == @"\v") retval = retval.Remove(retval.Length - 2, 2);
|
||||
|
||||
retval = retval.Replace(@" (![", @"\{");
|
||||
retval = retval.Replace(@" (!]", @"\}");
|
||||
retval = retval.TrimEnd(' ');
|
||||
|
||||
// the indent character was translated in the richtextbox, change it back:
|
||||
if (retval.IndexOf(@"\'05") > -1) retval = retval.Replace(@"\'05", "\x05");
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
// RO Editor add symbols C2025 - 003
|
||||
public static string RTFConvertedSymbolsToUnicode(string str)
|
||||
{
|
||||
string rtnStr = str;
|
||||
// convert \~ to a hard spece. RTF is automatically converting \u160? to \~ but will then convert
|
||||
// the \~ to a regular space!
|
||||
rtnStr = rtnStr.Replace(@"\~", @"\u160?");
|
||||
rtnStr = rtnStr.Replace(@"\'a0", @"\u160?");
|
||||
// convert \'99 to \u8482? this is for the trade mark symbol. RTF is automatically
|
||||
// converting the unicode \u8482? to \'99, but once this is done, PROMS StepRTB (edit windows) does not show it
|
||||
rtnStr = rtnStr.Replace(@"\'99", @"\u8482?");
|
||||
// convert \'ae to \u174? this is for the registered symbol. RTF converts the unicode character to \'ae
|
||||
rtnStr = rtnStr.Replace(@"\'ae", @"\u174?");
|
||||
// convert \'a9 to \u169? this is for the copyright symbol. RTF converts the unicode character to \'a9
|
||||
rtnStr = rtnStr.Replace(@"\'a9", @"\u169?");
|
||||
return rtnStr;
|
||||
}
|
||||
|
||||
public static string StaticReplaceRTFClause(Match m)
|
||||
{
|
||||
try
|
||||
{
|
||||
string token = m.Groups[1].Value;
|
||||
switch (token[1])
|
||||
{
|
||||
case '_': // B2020-100 New Non-Breaking Hyphen
|
||||
return token.Trim();
|
||||
case '\\':
|
||||
return token;
|
||||
case '\'': // Special Character
|
||||
return token;
|
||||
case '{': // look for escape for curly braces:
|
||||
return token;
|
||||
case '}':
|
||||
return token;
|
||||
case 'v': // save link hidden info
|
||||
if (token == "\\viewkind4 ") break;
|
||||
if (Regex.IsMatch(token, @"^\\v0? ?$"))
|
||||
return token; // comment part of link
|
||||
// If possible show what procedure was being processed.
|
||||
break;
|
||||
case 'l':
|
||||
if (Regex.IsMatch(token, @"^\\line ?$")) return token;
|
||||
if (Regex.IsMatch(token, @"^\\li[-0-9]+ ?$")) return token; // line indent
|
||||
break;
|
||||
case 'f':
|
||||
if (Regex.IsMatch(token, @"^\\fi[-0-9]+ ?$")) return token; // first line indent
|
||||
// C2020-001: only keep the font size rtf if in a table.
|
||||
//if (_fromTable && Regex.IsMatch(token, @"^\\fs[-0-9]+ ?$")) return token; // font size
|
||||
break;
|
||||
case 'p':
|
||||
if (Regex.IsMatch(token, @"^\\par ?$")) return "\r\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("StaticReplaceRTFClause {0} - {1}", ex.GetType().Name, ex.Message);
|
||||
}
|
||||
return "";//Strip All
|
||||
}
|
||||
|
||||
|
||||
#region Component Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
@@ -858,7 +1038,7 @@ namespace ctlXMLEditLib
|
||||
// 'normalizedString') or a multiline text box(type is 'string'). Also, a radio
|
||||
// button is passed in if this was called to handle an element within a combo type.
|
||||
// This button is saved for a given text box so that initialization of these combo types can occur.
|
||||
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, TextBox mytextbox, RadioButton radio,
|
||||
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, RichTextBox mytextbox, RadioButton radio,
|
||||
bool img, string imgname)
|
||||
{
|
||||
// set up for text box tag, which stores whether field is required and
|
||||
@@ -888,12 +1068,18 @@ namespace ctlXMLEditLib
|
||||
if (getannot.IndexOf("Lines")>=0)
|
||||
{
|
||||
GraphicsHttextbox = mytextbox;
|
||||
|
||||
Size size = GraphicsHttextbox.Size;
|
||||
mytextbox.LostFocus += new System.EventHandler(this.GraphicsHt_lostfocus);
|
||||
|
||||
//mytextbox.
|
||||
}
|
||||
if (getannot.IndexOf("Character")>=0)
|
||||
{
|
||||
GraphicsWdtextbox = mytextbox;
|
||||
|
||||
mytextbox.LostFocus += new System.EventHandler(this.GraphicsWd_lostfocus);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -904,14 +1090,17 @@ namespace ctlXMLEditLib
|
||||
{
|
||||
// A Schema Type Restriction is used to define single or multi-line boxes.
|
||||
XmlSchemaSimpleTypeRestriction myRestrictions = (XmlSchemaSimpleTypeRestriction) simpleType.Content;
|
||||
if (myRestrictions.BaseTypeName.Name == "normalizedString")
|
||||
if (myRestrictions.BaseTypeName.Name == "normalizedString")
|
||||
{
|
||||
mytextbox.Multiline = false;
|
||||
mytextbox.Size = new Size(300, 40);
|
||||
}
|
||||
else
|
||||
{
|
||||
mytextbox.Multiline = true;
|
||||
mytextbox.AcceptsReturn = true;
|
||||
mytextbox.Height = (int) mytextbox.Font.GetHeight() * 4;
|
||||
mytextbox.ScrollBars = ScrollBars.Vertical;
|
||||
mytextbox.AcceptsTab = true;
|
||||
mytextbox.Height = (int)mytextbox.Font.GetHeight() * 4;
|
||||
mytextbox.ScrollBars = RichTextBoxScrollBars.Vertical;
|
||||
zmtooltip.SetToolTip(mytextbox, "Press Shift F2 To Zoom");
|
||||
}
|
||||
|
||||
@@ -992,7 +1181,8 @@ namespace ctlXMLEditLib
|
||||
radio.CheckedChanged += new System.EventHandler(this.radiocheckchg);
|
||||
gbox.Controls.Add(radio);
|
||||
|
||||
TextBox tb = new TextBox();
|
||||
RichTextBox tb = new RichTextBox();
|
||||
Size size3 = tb.Size;
|
||||
tb.Location = new Point(boxx+20, y+25);
|
||||
if (!first) tb.Visible = false;
|
||||
myHT.Add(element.Name,tb);
|
||||
@@ -1001,7 +1191,7 @@ namespace ctlXMLEditLib
|
||||
// the groupbox.
|
||||
Controls.Add(tb);
|
||||
tb.TextChanged += new System.EventHandler(this.textbox_change);
|
||||
tb.GotFocus += new System.EventHandler(this.textbox_zoombtn);
|
||||
tb.GotFocus += new System.EventHandler(this.currentTextBox);
|
||||
tb.KeyDown += new KeyEventHandler(MyOnKeyDown);
|
||||
gbox.Contains(tb);
|
||||
// the following will set attributes on the text boxes such as maxlength, multiline, etc.
|
||||
@@ -1144,8 +1334,9 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
else
|
||||
{
|
||||
TextBox mytextbox;
|
||||
mytextbox = new TextBox();
|
||||
RichTextBox mytextbox;
|
||||
mytextbox = new RichTextBox();
|
||||
Size size3 = mytextbox.Size;
|
||||
mytextbox.Location = new Point(screenx+indent, screeny);
|
||||
string tFieldName = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName);
|
||||
mytextbox.Name = tFieldName;
|
||||
@@ -1155,7 +1346,7 @@ namespace ctlXMLEditLib
|
||||
screeny = screeny + 10;
|
||||
mytextbox.TextChanged += new System.EventHandler(this.textbox_change);
|
||||
mytextbox.Validating += new System.ComponentModel.CancelEventHandler(this.textbox_Validating);
|
||||
mytextbox.GotFocus += new System.EventHandler(this.textbox_zoombtn);
|
||||
mytextbox.GotFocus += new System.EventHandler(this.currentTextBox);
|
||||
mytextbox.KeyDown += new KeyEventHandler(MyOnKeyDown);
|
||||
if (pcChildIdx > 0)
|
||||
{
|
||||
@@ -1192,7 +1383,7 @@ namespace ctlXMLEditLib
|
||||
// the following is needed to load the control.
|
||||
private void ctlXMLEdit_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
// when data in a text box has changed, flag it (except for when this
|
||||
@@ -1264,7 +1455,7 @@ namespace ctlXMLEditLib
|
||||
private void radiocheckchg(object sender, System.EventArgs e)
|
||||
{
|
||||
RadioButton btnsel = (RadioButton) sender;
|
||||
TextBox assocbox;
|
||||
RichTextBox assocbox;
|
||||
string btntext, str;
|
||||
|
||||
if(dosaveflag)mysavexml = true;
|
||||
@@ -1277,7 +1468,7 @@ namespace ctlXMLEditLib
|
||||
str = btnsel.Name.Replace(btntext,"");
|
||||
object o = myHT[str];
|
||||
if (o == null) return;
|
||||
assocbox = (TextBox) o;
|
||||
assocbox = (RichTextBox) o;
|
||||
// make the text box visible if checked, otherwise, invisible
|
||||
assocbox.Visible = btnsel.Checked;
|
||||
// C2021-026 show or hide the Parent/Child appicability group box
|
||||
@@ -1391,7 +1582,7 @@ namespace ctlXMLEditLib
|
||||
|
||||
// The following can be used to validate the text, i.e. check the text against
|
||||
// the pattern. this needs written yet (5/16/02)
|
||||
private void MyValidatingCode(TextBox tb)
|
||||
private void MyValidatingCode(RichTextBox tb)
|
||||
{
|
||||
//get the text box's tag which contains a flag for whether this is required &
|
||||
//if it has a pattern. If it has a pattern, validate the field against the pattern.
|
||||
@@ -1420,20 +1611,22 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
|
||||
// save which box we're on, for zoom processing.
|
||||
private void textbox_zoombtn(object sender, System.EventArgs e)
|
||||
private void currentTextBox(object sender, System.EventArgs e)
|
||||
{
|
||||
TextBox textbox = (TextBox) sender;
|
||||
RichTextBox textbox = (RichTextBox) sender;
|
||||
if (textbox.Multiline == true || textbox == GraphicsFiletextbox)
|
||||
zoomtextbox = textbox;
|
||||
else
|
||||
zoomtextbox = null;
|
||||
|
||||
TextBoxFocus = textbox;
|
||||
}
|
||||
|
||||
private void textbox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
MyValidatingCode((TextBox) sender);
|
||||
MyValidatingCode((RichTextBox) sender);
|
||||
}
|
||||
|
||||
catch(Exception ex)
|
||||
@@ -1460,7 +1653,10 @@ namespace ctlXMLEditLib
|
||||
btnZoom_click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
public void btnSymbols_click(object sender, System.EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
public void btnZoom_click(object sender, System.EventArgs e)
|
||||
{
|
||||
//TextBox tb = (TextBox) sender;
|
||||
@@ -1929,5 +2125,35 @@ namespace ctlXMLEditLib
|
||||
return curTZ.GetDaylightChanges(year);
|
||||
}
|
||||
}
|
||||
public static class RichTextBoxExtensions // RO Editor add symbols C2025 - 003
|
||||
{
|
||||
public static void InsertSymbol(this RichTextBox richTextBox, int symbcode)
|
||||
{
|
||||
int position = richTextBox.SelectionStart;
|
||||
string sym = string.Format(symbcode < 256 ? "\'{0:X2}" : @"\u{0}", symbcode);
|
||||
string RtfPrefixForSymbols = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 FreeMono; } {\f1\fnil\fcharset0 FreeMono; } } {\colortbl;\red255\green0\blue0;\red0\green0\blue255; } \viewkind4\uc1\pard\fs24 \f1\fs24 ";
|
||||
richTextBox.SelectedRtf = RtfPrefixForSymbols + sym + @"}";
|
||||
richTextBox.SelectedRtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033\uc1 }";
|
||||
richTextBox.Select(position, 1);
|
||||
richTextBox.Select(position + 1, 0);
|
||||
|
||||
//TextPointer caretPos = rtb.CaretPosition;
|
||||
//if (symbcode < 256)
|
||||
// AddText(((char)symbcode).ToString());
|
||||
//else
|
||||
// AddSymbol(sym); // Adds font commands around symbol, needed for higher codes
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public enum E_FontStyle : byte
|
||||
{
|
||||
FS_NONE = 0,
|
||||
FS_BOLD = 0x01,
|
||||
FS_UNDERLINE = 0x02,
|
||||
FS_ITALIC = 0x04,
|
||||
FS_SUPERSCRIPT = 0x08,
|
||||
FS_SUBSCRIPT = 0x10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -124,6 +126,10 @@
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\Volian.Base.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
|
||||
@@ -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>
|
||||
@@ -98,6 +98,8 @@ namespace VEPROMS
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.ContActionSummaryRequest += MyStepTabRibbon_ContActionSummaryRequest;
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.AddProcToDVInTree -= new StepTabRibbonEvent(MyStepTabRibbon_AddProcToDocVersionInTree);
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.AddProcToDVInTree += new StepTabRibbonEvent(MyStepTabRibbon_AddProcToDocVersionInTree);
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.EnableDisableStepProperties -= EnableDisableStepProperties;
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.EnableDisableStepProperties += new StepTabRibbonEvent(EnableDisableStepProperties);
|
||||
// F2022-024 Time Critical Action Summary
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.TimeCriticalActionSummaryRequest -= MyStepTabRibbon_TimeCriticalActionSummaryRequest;
|
||||
_SelectedStepTabPanel.MyStepTabRibbon.TimeCriticalActionSummaryRequest += MyStepTabRibbon_TimeCriticalActionSummaryRequest;
|
||||
@@ -119,7 +121,7 @@ namespace VEPROMS
|
||||
|
||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = pi.ProcedureConfig.SelectedSlave;
|
||||
|
||||
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi);
|
||||
|
||||
//added by jcb 20130718 to support create pdf button when multi-unit and user selects a unit
|
||||
@@ -372,12 +374,12 @@ namespace VEPROMS
|
||||
cmbFont.SelectedIndex = -1;
|
||||
string[] parameters = System.Environment.CommandLine.Split(" ".ToCharArray());
|
||||
string db = Volian.Base.Library.VlnSettings.GetDB();
|
||||
|
||||
|
||||
if (db != null)
|
||||
Database.SelectedDatabase = db;
|
||||
|
||||
//B2018-129 Most Recently Used list was being cleared. Needed to remove a (string) type case in the IF statement
|
||||
if (!string.IsNullOrEmpty((string)Properties.Settings.Default["DefaultDB"]))
|
||||
if (!string.IsNullOrEmpty((string)Properties.Settings.Default["DefaultDB"]))
|
||||
Database.LastDatabase = Properties.Settings.Default.DefaultDB;
|
||||
|
||||
// Setup the Context menu for DisplaySearch including the symbols
|
||||
@@ -416,7 +418,7 @@ namespace VEPROMS
|
||||
// B2019-107 Error Log message for inconsistent PromsFixes
|
||||
_MyLog.InfoFormat("\r\nSession Beginning\r\n<===={0}[SQL:{1:yyMM.ddHH}]====== User: {2}/{3} Started {4} ===============>{5}"
|
||||
, Application.ProductVersion, Database.RevDate, Environment.UserDomainName, Environment.UserName, DateTime.Now.ToString("dddd MMMM d, yyyy h:mm:ss tt"), FormatInfo.Failed ?? "");
|
||||
|
||||
|
||||
// C2022-030 Notify the user if the stored procedure in the database are not update to date
|
||||
// with those in the PROMSFixes.sql delivered with the PROMS executable
|
||||
string pfVersion = ExeInfo.GetAssocicatedPROMSFixesVersion();
|
||||
@@ -546,7 +548,7 @@ namespace VEPROMS
|
||||
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
||||
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
||||
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
||||
|
||||
|
||||
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
||||
tv.PrintTransitionReport += new vlnTreeViewEvent(tv_PrintTransitionReport);
|
||||
tv.ProcessingComplete += tv_ProcessingComplete;
|
||||
@@ -554,10 +556,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)
|
||||
@@ -574,7 +589,7 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
|
||||
void tv_SelectDateToStartChangeBars(object sender, vlnTreeEventArgs args)
|
||||
void tv_SelectDateToStartChangeBars(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
if (pi == null) return;
|
||||
@@ -1183,6 +1198,7 @@ namespace VEPROMS
|
||||
|
||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||
{
|
||||
message = message.Replace("\r\nWould You like to open the procedure in View Only Mode?", "");
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
@@ -1807,14 +1823,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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2071,7 +2088,10 @@ namespace VEPROMS
|
||||
{
|
||||
foreach (DisplayTabItem dti in tc.MyBar.Items)
|
||||
{
|
||||
if (!myList.Contains(dti.OwnerID))
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
||||
// This will keep those tabs from auto-closing based on the timer
|
||||
if (!myList.Contains(dti.OwnerID) && dti.MyStepTabPanel.MyStepPanel.VwMode != E_ViewMode.View)
|
||||
{
|
||||
MyCloseTabList.PushDTI(dti);
|
||||
}
|
||||
@@ -2477,7 +2497,7 @@ namespace VEPROMS
|
||||
//and set checkboxes based on what they are set to
|
||||
UserSettings usersettings = new UserSettings(VlnSettings.UserID);
|
||||
|
||||
if (DisPlayTabState.Rows.Count > 0 && (usersettings.UserSetting_OpenTabs_AutoOpen || !usersettings.UserSetting_OpenTabs_Remember))
|
||||
if (!Settings.Default.SeparateWindows && DisPlayTabState.Rows.Count > 0 && (usersettings.UserSetting_OpenTabs_AutoOpen || !usersettings.UserSetting_OpenTabs_Remember))
|
||||
{
|
||||
//will open tabs by default / ask by default
|
||||
DialogResult result = DialogResult.Yes;
|
||||
@@ -2513,6 +2533,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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3911,6 +3932,7 @@ namespace VEPROMS
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(args.ProcedureConfig.MyProcedure.ItemID, CheckOutType.Procedure, ref message))
|
||||
{
|
||||
message = message.Replace("\r\nWould You like to open the procedure in View Only Mode?", "");
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
this.Cursor = Cursors.Default;
|
||||
return DialogResult.None;
|
||||
@@ -3934,6 +3956,7 @@ namespace VEPROMS
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(args.SectionConfig.MySection.MySectionInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message))
|
||||
{
|
||||
message = message.Replace("\r\nWould You like to open the procedure in View Only Mode?", "");
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
this.Cursor = Cursors.Default;
|
||||
return DialogResult.None;
|
||||
@@ -4734,6 +4757,11 @@ namespace VEPROMS
|
||||
// B2022-026 RO Memory reduction coding (Jakes Merge)
|
||||
displayRO.SetFindDocROButton(false);
|
||||
displayRO.LoadTree();
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//In View Only Mode - Step Properties should be disabled
|
||||
EnableDisableStepProperties(sender, new StepTabRibbonEventArgs(args.MyEditItem.MyItemInfo, 0, args.MyEditItem.MyStepPanel.VwMode));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4765,6 +4793,22 @@ namespace VEPROMS
|
||||
|
||||
}
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//In View Only Mode - Step Properties should be disabled
|
||||
public void EnableDisableStepProperties(object sender, StepTabRibbonEventArgs args)
|
||||
{
|
||||
if (args.ViewMode == E_ViewMode.View && (infoTabs.Enabled || infoTabs.SelectedTab != infotabTags))
|
||||
{
|
||||
infoTabs.Enabled = true;
|
||||
infoTabs.SelectedTab = infotabTags;
|
||||
infoTabs.Enabled = false;
|
||||
}
|
||||
else if (args.ViewMode != E_ViewMode.View && !infoTabs.Enabled)
|
||||
{
|
||||
infoTabs.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void _LastStepRTB_EditModeChanged(object sender, EventArgs args)
|
||||
{
|
||||
if (_LastStepRTB.EditMode) // going into edit mode in a cell of the grid.
|
||||
|
||||
@@ -494,6 +494,8 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
roid = FormatRoidKey(roid, true);
|
||||
|
||||
|
||||
|
||||
string retval = GetRoChild(roid).value;
|
||||
|
||||
if (string.IsNullOrEmpty(retval))
|
||||
@@ -2152,8 +2154,15 @@ namespace VEPROMS.CSLA.Library
|
||||
if (string.IsNullOrEmpty(s2))
|
||||
return s2;
|
||||
|
||||
var pattern = @"\\u([0-9]{1,4})\?"; // RO Editor add symbols C2025 - 003
|
||||
|
||||
if (Regex.IsMatch(s2, pattern))
|
||||
|
||||
s2 = s2.Replace(@"\u160?", "<HSP>"); // convert hard spaces bug fix: B2016-206
|
||||
s2 = s2.Replace(@"\", @"\u9586?"); // convert backslashes to a backslash symbol
|
||||
if (!Regex.IsMatch(s2, pattern)) // RO Editor add symbols C2025 - 003
|
||||
{
|
||||
s2 = s2.Replace(@"\", @"\u9586?"); // convert backslashes to a backslash symbol
|
||||
}
|
||||
s2 = s2.Replace("<HSP>", @"\u160?"); // convert hard spaces bug fix: B2016-206
|
||||
s2 = s2.Replace("`", @"\'b0"); // convert backquote to degree - left over from DOS days.
|
||||
s2 = s2.Replace("\xf8", @"\'b0"); // convert \xf8 to degree.
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -7984,12 +7984,20 @@ namespace VEPROMS.CSLA.Library
|
||||
public ProcedureInfo(SafeDataReader dr) : base(dr) { }
|
||||
#endif
|
||||
private ProcedureInfo() : base() { ;}
|
||||
public new static ProcedureInfo Get(int itemID)
|
||||
public new static ProcedureInfo Get(int itemID, bool forcerefresh = false)
|
||||
{
|
||||
//if (!CanGetObject())
|
||||
// throw new System.Security.SecurityException("User not authorized to view a Item");
|
||||
try
|
||||
{
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// fixes caching issue
|
||||
// so this forces a refresh of the cache
|
||||
if (forcerefresh)
|
||||
{
|
||||
_CacheByPrimaryKey.Remove(itemID.ToString());
|
||||
}
|
||||
|
||||
ProcedureInfo tmp = GetCachedByPrimaryKey(itemID);
|
||||
if (tmp == null)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace VEPROMS.CSLA.Library
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{ name = tmpproc.DisplayText; }
|
||||
|
||||
message = string.Format("The procedure {0} is already checked out to {1}", name, si.UserID);
|
||||
message = string.Format("The procedure {0} is already checked out to {1}.\r\nWould You like to open the procedure in View Only Mode?", name, si.UserID);
|
||||
rv = rv && false;
|
||||
}
|
||||
else if (si.ProcessID != this.ProcessID && objectType == CheckOutType.Document)
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -1145,8 +1145,12 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
//string thisTab = StepInfo.Get(pitem.ItemID).MyTab.CleanText;
|
||||
string thisTab = pitem.MyTab.CleanText;// StepInfo.Get(pitem.ItemID).MyTab.CleanText;
|
||||
//B2025-058 remove continuous action indicator
|
||||
string medittag = pitem.FormatStepData.TabData.MacroEditTag;
|
||||
if (medittag != null && thisTab.StartsWith(medittag))
|
||||
thisTab = thisTab.Substring(medittag.Length);
|
||||
// remove delimiters of '.' and ')' in tab.
|
||||
if (!hasDelim)
|
||||
if (!hasDelim)
|
||||
{
|
||||
// get list of delimiters to remove from the format:
|
||||
foreach (string rmvDelim in DelimList) thisTab = thisTab.Replace(rmvDelim, "");
|
||||
|
||||
@@ -990,12 +990,21 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
public static Content Get(int contentID)
|
||||
public static Content Get(int contentID, bool forcerefresh = false)
|
||||
{
|
||||
if (!CanGetObject())
|
||||
throw new System.Security.SecurityException("User not authorized to view a Content");
|
||||
try
|
||||
{
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// fixes caching issue
|
||||
// this forces a refresh of the cache for a case when need to do a hard refresh
|
||||
if (forcerefresh)
|
||||
{
|
||||
ConvertListToDictionary();
|
||||
_CacheByPrimaryKey.Remove(contentID.ToString());
|
||||
}
|
||||
|
||||
Content tmp = GetCachedByPrimaryKey(contentID);
|
||||
if (tmp == null)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -81,7 +81,7 @@ namespace Volian.Controls.Library
|
||||
this.lbROId.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.lbROId.ForeColor = System.Drawing.SystemColors.Highlight;
|
||||
this.lbROId.Location = new System.Drawing.Point(48, 24);
|
||||
this.lbROId.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.lbROId.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.lbROId.Name = "lbROId";
|
||||
this.lbROId.Size = new System.Drawing.Size(183, 33);
|
||||
this.superTooltip1.SetSuperTooltip(this.lbROId, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here. Double-Click to open" +
|
||||
@@ -97,7 +97,7 @@ namespace Volian.Controls.Library
|
||||
this.lblROID.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.lblROID.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.lblROID.Location = new System.Drawing.Point(0, 24);
|
||||
this.lblROID.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.lblROID.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.lblROID.Name = "lblROID";
|
||||
this.lblROID.Size = new System.Drawing.Size(48, 33);
|
||||
this.superTooltip1.SetSuperTooltip(this.lblROID, new DevComponents.DotNetBar.SuperTooltipInfo("RO ID", "", "The RO ID for the selected RO Value will be displayed here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
|
||||
@@ -139,7 +139,7 @@ namespace Volian.Controls.Library
|
||||
this.btnGoToRO.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.btnGoToRO.Enabled = false;
|
||||
this.btnGoToRO.Location = new System.Drawing.Point(0, 55);
|
||||
this.btnGoToRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnGoToRO.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnGoToRO.Name = "btnGoToRO";
|
||||
this.btnGoToRO.Size = new System.Drawing.Size(233, 18);
|
||||
this.btnGoToRO.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@@ -155,7 +155,7 @@ namespace Volian.Controls.Library
|
||||
this.btnPreviewRO.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.btnPreviewRO.Enabled = false;
|
||||
this.btnPreviewRO.Location = new System.Drawing.Point(0, 37);
|
||||
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.btnPreviewRO.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnPreviewRO.Name = "btnPreviewRO";
|
||||
this.btnPreviewRO.Size = new System.Drawing.Size(233, 18);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnPreviewRO, new DevComponents.DotNetBar.SuperTooltipInfo("Preview", "", "This will Preview the selected RO Table, X/Y Plot, or Image.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(150, 80)));
|
||||
@@ -263,6 +263,7 @@ namespace Volian.Controls.Library
|
||||
this.Controls.Add(this.tvROFST);
|
||||
this.Controls.Add(this.lbFound);
|
||||
this.Controls.Add(this.panelValue);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Name = "DisplayRO";
|
||||
this.Size = new System.Drawing.Size(233, 507);
|
||||
this.panelValue.ResumeLayout(false);
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using XYPlots;
|
||||
using DevComponents.DotNetBar;
|
||||
using System.Text.RegularExpressions;
|
||||
using Volian.Base.Library;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Linq;
|
||||
using XYPlots;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -372,8 +373,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||
if (e.Node.Tag is ROFSTLookup.rochild)
|
||||
{
|
||||
if (e.Node.Tag is ROFSTLookup.rochild){
|
||||
ROFSTLookup.rochild chld = (ROFSTLookup.rochild)e.Node.Tag;
|
||||
selectedChld = chld;
|
||||
|
||||
@@ -770,9 +770,15 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
tmp = new TreeNode(roc.title);
|
||||
tmp.Tag = roc;
|
||||
|
||||
if (tmp.Text.IndexOf("\\u") > -1) // RO Editor add symbols C2025 - 003
|
||||
{
|
||||
tmp.Text = Regex.Replace(tmp.Text, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString());
|
||||
}
|
||||
|
||||
if (roc.roid.Length == 16)
|
||||
{
|
||||
tn.Nodes.Add(tmp);
|
||||
@@ -921,11 +927,12 @@ namespace Volian.Controls.Library
|
||||
// Pad to 16 to store in the RoUsage table.
|
||||
string padroid = ROFSTLookup.FormatRoidKey(roc.roid, true);
|
||||
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, MyROFST.RODbID);
|
||||
|
||||
// Resolve symbols and scientific notation in the RO return value
|
||||
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyRTB.MyItemInfo);
|
||||
|
||||
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, MyROFST.RODbID));
|
||||
// Resolve symbols and scientific notation in the RO return value
|
||||
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyRTB.MyItemInfo);
|
||||
|
||||
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, MyROFST.RODbID));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,20 +112,12 @@
|
||||
<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="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="btnSaveRO.SuperTooltip" xml:space="preserve">
|
||||
<value>For Step Editor sections:
|
||||
- This will place the selected RO at the cursor position.
|
||||
- This will replace an RO with the selected RO.
|
||||
|
||||
For Word sections
|
||||
- This will place the needed RO ID on the clipboard.</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -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))
|
||||
|
||||
@@ -603,7 +603,10 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
ItemInfo myItemInfo = myItemInfo2;
|
||||
|
||||
if (myItemInfo.MyDocVersion == null) // bug fix: B2016-108 disconnected data will not have a MyDocVersion
|
||||
bool viewonlymode = false;
|
||||
|
||||
//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;
|
||||
@@ -619,8 +622,20 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (!MySessionInfo.CanCheckOutItem(myItemInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message))
|
||||
{
|
||||
FlexibleMessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return null;
|
||||
DisplayTabItem dti = MyBar?.Items?.OfType<DisplayTabItem>().FirstOrDefault(x => x.MyItemInfo?.ItemID == myItemInfo.MyProcedure.ItemID);
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//shouldn't prompt - should just auto put in view only if already in open tab
|
||||
//in view only
|
||||
if (
|
||||
(dti != null && dti.MyStepTabPanel.MyStepPanel.VwMode == E_ViewMode.View)
|
||||
||
|
||||
(SeparateWindows && VersionID == myItemInfo.MyDocVersion.VersionID)
|
||||
|| //to handle special case where item will be opened in a separate window
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
|
||||
viewonlymode = true;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -681,7 +696,7 @@ namespace Volian.Controls.Library
|
||||
// C2023-016 if a Word section and doing Find/Replace don't open Word section, position to section title in step editor instead
|
||||
if (myItemInfo.MyContent.MyEntry == null || doingFindReplace) // If it is not a Word document open in step editor
|
||||
{
|
||||
return OpenStepTabPage(myItemInfo, setFocus);
|
||||
return OpenStepTabPage(myItemInfo, setFocus, viewonlymode);
|
||||
}
|
||||
else // Otherwise open it in the Word editor
|
||||
{
|
||||
@@ -1177,7 +1192,7 @@ namespace Volian.Controls.Library
|
||||
//}
|
||||
//public Dictionary<DocVersionInfo, frmEnhanced> dicEnhancedDocuments = new Dictionary<DocVersionInfo, frmEnhanced>();
|
||||
|
||||
private DisplayTabItem OpenStepTabPage(ItemInfo myItemInfo, bool setFocus)
|
||||
private DisplayTabItem OpenStepTabPage(ItemInfo myItemInfo, bool setFocus, bool viewonlymode = false)
|
||||
{
|
||||
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
|
||||
string key = "Item - " + proc.ItemID.ToString();
|
||||
@@ -1196,7 +1211,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
else // If not already open, create a new Page
|
||||
{
|
||||
pg = new DisplayTabItem(this.components, this, proc, key); // Open a new Procedure Tab
|
||||
pg = new DisplayTabItem(this.components, this, proc, key, viewonlymode); // Open a new Procedure Tab
|
||||
_MyDisplayTabItems.Add(key, pg);
|
||||
if (setFocus)
|
||||
{
|
||||
|
||||
@@ -98,13 +98,18 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
#endregion
|
||||
#region Constructors
|
||||
public DisplayTabItem(IContainer container, DisplayTabControl myDisplayTabControl, ItemInfo myItemInfo, string myKey)
|
||||
public DisplayTabItem(IContainer container, DisplayTabControl myDisplayTabControl, ItemInfo myItemInfo, string myKey, bool viewonlymode = false)
|
||||
{
|
||||
_MyItemInfo = myItemInfo;
|
||||
if (MyItemInfo.MyContent.MyEntry == null)
|
||||
OwnerID = myDisplayTabControl.MySessionInfo.CheckOutItem(myItemInfo.MyProcedure.ItemID, CheckOutType.Procedure);
|
||||
else
|
||||
OwnerID = myDisplayTabControl.MySessionInfo.CheckOutItem(myItemInfo.MyContent.MyEntry.DocID, CheckOutType.Document);
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//don't want to check out if opening in View Only Mode Due to someone else having it checked out
|
||||
if (!viewonlymode)
|
||||
{
|
||||
if (MyItemInfo.MyContent.MyEntry == null)
|
||||
OwnerID = myDisplayTabControl.MySessionInfo.CheckOutItem(myItemInfo.MyProcedure.ItemID, CheckOutType.Procedure);
|
||||
else
|
||||
OwnerID = myDisplayTabControl.MySessionInfo.CheckOutItem(myItemInfo.MyContent.MyEntry.DocID, CheckOutType.Document);
|
||||
}
|
||||
//Console.WriteLine("DisplayTabItem");
|
||||
_MyKey = myKey;
|
||||
_MyDisplayTabControl = myDisplayTabControl;
|
||||
@@ -112,7 +117,7 @@ namespace Volian.Controls.Library
|
||||
InitializeComponent();
|
||||
this.Click += new EventHandler(DisplayTabItem_Click);
|
||||
if (myItemInfo.MyContent.MyEntry == null)
|
||||
SetupStepTabPanel();
|
||||
SetupStepTabPanel(viewonlymode);
|
||||
else
|
||||
SetupDSOTabPanel();
|
||||
SetupSecurity(myItemInfo);
|
||||
@@ -128,7 +133,37 @@ namespace Volian.Controls.Library
|
||||
private bool MesssageShown = false;
|
||||
public void SetupSecurity(ItemInfo myItem)
|
||||
{
|
||||
UserInfo ui = UserInfo.GetByUserID(OwnerInfo.Get(OwnerID).SessionUserID);
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//is in View Only Mode, so do not set up the Security
|
||||
if (OwnerID == 0)
|
||||
{
|
||||
|
||||
UserInfo uiViewOnly = UserInfo.GetByUserID(Base.Library.VlnSettings.UserID);
|
||||
if (uiViewOnly.IsAdministrator())
|
||||
{
|
||||
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Administrator";
|
||||
}
|
||||
else if (uiViewOnly.IsSetAdministrator(myItem.MyDocVersion))
|
||||
{
|
||||
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Set Administrator";
|
||||
}
|
||||
else if (uiViewOnly.IsWriter(myItem.MyDocVersion))
|
||||
{
|
||||
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Writer";
|
||||
}
|
||||
else if (uiViewOnly.IsROEditor(myItem.MyDocVersion))
|
||||
{
|
||||
MyUserRole = $"{Base.Library.VlnSettings.UserID} - RO Editor";
|
||||
}
|
||||
else
|
||||
{
|
||||
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Reviewer";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
UserInfo ui = UserInfo.GetByUserID(OwnerInfo.Get(OwnerID).SessionUserID);
|
||||
|
||||
if (ui == null)
|
||||
{
|
||||
@@ -246,7 +281,7 @@ namespace Volian.Controls.Library
|
||||
/// <summary>
|
||||
/// Creates and sets-up a StepTabPanel
|
||||
/// </summary>
|
||||
private void SetupStepTabPanel()
|
||||
private void SetupStepTabPanel(bool viewonlymode = false)
|
||||
{
|
||||
((System.ComponentModel.ISupportInitialize)(_MyDisplayTabControl.MyBar)).BeginInit();
|
||||
_MyDisplayTabControl.MyBar.SuspendLayout();
|
||||
@@ -276,7 +311,7 @@ namespace Volian.Controls.Library
|
||||
_MyDisplayTabControl.MyBar.ResumeLayout(false);
|
||||
DocVersionInfo dvi = _MyItemInfo.MyProcedure.ActiveParent as DocVersionInfo; //MyRTBItem.MyItemInfo.MyProcedure.ActiveParent as DocVersionInfo;
|
||||
if (dvi == null) return;
|
||||
if (dvi.VersionType > 127)
|
||||
if (dvi.VersionType > 127 || viewonlymode)
|
||||
MyStepTabPanel.MyStepPanel.VwMode = E_ViewMode.View;
|
||||
// C2021 - 027: Procedure level PC/PC - add _MyIteminfo to argument list
|
||||
if (dvi.MultiUnitCount > 1)
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Drawing;
|
||||
using System.Text.RegularExpressions;
|
||||
using Volian.Base.Library;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Linq;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -386,6 +387,26 @@ namespace Volian.Controls.Library
|
||||
// The following line expands the items needed to display SelectedItemInfo
|
||||
ExpandAsNeeded(myItemInfo);
|
||||
}
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
public void ResetAll()
|
||||
{
|
||||
List<int> itemIDs = Controls.OfType<RTBItem>().Where(t => t?.MyItemInfo?.ActiveParent != null && t.MyItemInfo.ActiveParent.GetType() == typeof(ItemInfo)).Select(x => (x.MyItemInfo.ActiveParent as ItemInfo).ItemID).Distinct().ToList();
|
||||
|
||||
foreach (int itemID in itemIDs)
|
||||
{
|
||||
ItemInfo.ResetParts(itemID);
|
||||
}
|
||||
|
||||
// The following line actually reloads the procedure item
|
||||
MyProcedureItemInfo = ItemInfo.Get(MyProcedureItemInfo.ItemID, true);
|
||||
MyProcedureItemInfo.RefreshConfig();
|
||||
ContentInfo.Refresh(Content.Get(MyProcedureItemInfo.MyContent.ContentID, true));
|
||||
|
||||
// The following line expands the items needed to display SelectedItemInfo
|
||||
ExpandAsNeeded(SelectedItemInfo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Currently selected StepRTB
|
||||
/// </summary>
|
||||
|
||||
@@ -1400,9 +1400,13 @@ namespace Volian.Controls.Library
|
||||
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
|
||||
int position = SelectionStart;
|
||||
SelectionLength = 0;
|
||||
linkValue = linkValue.Replace("\\u8209?", "\\f1\\u8209?\\f0 ");
|
||||
linkValue = linkValue.Replace("\\u9586?", "\\f1\\u9586?\\f0 "); // backslash symbol
|
||||
linkValue = linkValue.Replace("\\u916?", "\\f1\\u916?\\f0 ");
|
||||
|
||||
var pattern = @"\\u([0-9]{1,4})\?"; // RO Editor add symbols C2025 - 003
|
||||
foreach (Match match in Regex.Matches(linkValue, pattern, RegexOptions.IgnoreCase))
|
||||
{
|
||||
linkValue = linkValue.Replace(match.Value, "\\f1 " + match.Value + " \\f0");
|
||||
}
|
||||
|
||||
linkValue = linkValue.Replace(@"{", @"\{");
|
||||
linkValue = linkValue.Replace(@"}", @"\}");
|
||||
SelectedRtf = @"{\rtf1\ansi" + FontTable + @"{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}\v" + FontSize + @" <START]\v0\cf1 " + linkValue + @"\cf0\v " + linkUrl + @"[END>\v0 }";
|
||||
|
||||
@@ -16,6 +16,8 @@ using DevComponents.DotNetBar;
|
||||
using Microsoft.Win32;
|
||||
using System.Diagnostics;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -721,6 +723,59 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public DevComponents.DotNetBar.GalleryContainer BuildSymbolGalleryForRO()
|
||||
{
|
||||
// sl, galleryContainerSymbolsCM, galleryContainerSymbolsCM3, galleryContainerSymbolsGrid, galleryContainerSymbolsCM4
|
||||
|
||||
DevComponents.DotNetBar.GalleryContainer gc1 = galleryContainerSymbolsCM;
|
||||
DevComponents.DotNetBar.GalleryContainer gc2 = galleryContainerSymbolsCM3;
|
||||
DevComponents.DotNetBar.GalleryContainer gc3 = galleryContainerSymbolsGrid;
|
||||
DevComponents.DotNetBar.GalleryContainer gc4 = galleryContainerSymbolsCM4;
|
||||
|
||||
FormatInfo fmt = FormatInfo.Get(1);
|
||||
SymbolList sl = fmt.PlantFormat.FormatData.SymbolList;
|
||||
if (sl == null || sl.Count <= 0)
|
||||
{
|
||||
FlexibleMessageBox.Show("No symbols are available, check with administrator");
|
||||
//return DevComponents.DotNetBar.GalleryContainer;
|
||||
}
|
||||
foreach (Symbol sym in sl)
|
||||
{
|
||||
// get an image of the symbol character
|
||||
// found the we cannot change the font being used for the button text
|
||||
Bitmap symCharBtmp = createTextBitmap((char)sym.Unicode);
|
||||
DevComponents.DotNetBar.ButtonItem btn = new DevComponents.DotNetBar.ButtonItem();
|
||||
btn.Image = symCharBtmp;
|
||||
//btn.Text = string.Format("{0}", (char)sym.Unicode);
|
||||
|
||||
// to name button use unicode rather than desc, desc may have spaces or odd chars
|
||||
btn.Name = "btn" + sym.Unicode.ToString();
|
||||
btn.Tooltip = sym.Desc;
|
||||
btn.Tag = string.Format(@"{0}", sym.Unicode);
|
||||
//btn.FontBold = true;
|
||||
btn.Click += new System.EventHandler(btnSym_Click);
|
||||
galleryContainerSymbols.SubItems.Add(btn);
|
||||
DevComponents.DotNetBar.ButtonItem btnCM1 = GetCMButton(sym);
|
||||
btnCM1.Image = symCharBtmp;
|
||||
btnCM1.Click += new System.EventHandler(btnSym_Click);
|
||||
gc1.SubItems.Add(btnCM1);
|
||||
DevComponents.DotNetBar.ButtonItem btnCM2 = GetCMButton(sym);
|
||||
btnCM2.Image = symCharBtmp;
|
||||
btnCM2.Click += new System.EventHandler(btnSym_Click);
|
||||
gc2.SubItems.Add(btnCM2);
|
||||
DevComponents.DotNetBar.ButtonItem btnCM3 = GetCMButton(sym);
|
||||
btnCM3.Image = symCharBtmp;
|
||||
btnCM3.Click += new System.EventHandler(btnSym_Click);
|
||||
gc3.SubItems.Add(btnCM3);
|
||||
DevComponents.DotNetBar.ButtonItem btnCM4 = GetCMButton(sym);
|
||||
btnCM4.Image = symCharBtmp;
|
||||
btnCM4.Click += new System.EventHandler(btnSym_Click);
|
||||
gc4.SubItems.Add(btnCM4);
|
||||
}
|
||||
return galleryContainerSymbols;
|
||||
}
|
||||
|
||||
private void SetBtnInsSupInfoVisible()
|
||||
{
|
||||
if (MyItemInfo == null) return;
|
||||
@@ -906,6 +961,11 @@ namespace Volian.Controls.Library
|
||||
// //SetButtonAndMenuEnabling(false);
|
||||
//}
|
||||
private Bitmap createTextBitmap(char ch)
|
||||
{
|
||||
return createTextBitmap(ch, new Font("FreeMono", 18, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel));
|
||||
}
|
||||
|
||||
private Bitmap createTextBitmap(char ch, Font objFont)
|
||||
{
|
||||
string txt = string.Format("{0}", ch);
|
||||
Bitmap objBmpImage = new Bitmap(1, 1);
|
||||
@@ -916,8 +976,6 @@ namespace Volian.Controls.Library
|
||||
// Create the Font object for the image text drawing.
|
||||
// later on, we could add logic to use either FreeMono or Arial Unicode MS based on the format being used
|
||||
// but for now, we are going to use FreeMono to create the symbol list
|
||||
Font objFont = new Font("FreeMono", 18, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
|
||||
//Font objFont = new Font("Arial Unicode MS", 18, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
|
||||
|
||||
// Create a graphics object to measure the text's width and height.
|
||||
Graphics objGraphics = Graphics.FromImage(objBmpImage);
|
||||
@@ -937,7 +995,6 @@ namespace Volian.Controls.Library
|
||||
objGraphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
objGraphics.TextContrast = 0;
|
||||
objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
//objGraphics.DrawString(txt, objFont, new SolidBrush(Color.FromArgb(102, 102, 102)), 0, 0);
|
||||
objGraphics.DrawString(txt, objFont, new SolidBrush(Color.Black),0,0);
|
||||
objGraphics.Flush();
|
||||
return (objBmpImage);
|
||||
@@ -2067,6 +2124,9 @@ namespace Volian.Controls.Library
|
||||
rtabHome.Select();
|
||||
rtabTableGridTools.Visible = false;
|
||||
SetButtonMenuEnabledDisabledOnStepType(false);
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
//Is in View Only Mode so show button as selected
|
||||
btnEditMode.Checked = btnCMEditMode1.Checked = true;
|
||||
this.Refresh();
|
||||
return;
|
||||
}
|
||||
@@ -3338,10 +3398,43 @@ namespace Volian.Controls.Library
|
||||
public void SetupAdminMode()
|
||||
{
|
||||
}
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
public event StepTabRibbonEvent EnableDisableStepProperties;
|
||||
private void OnEnableDisableStepProperties(StepTabRibbonEventArgs args)
|
||||
{
|
||||
if (EnableDisableStepProperties != null)
|
||||
EnableDisableStepProperties(this, args);
|
||||
}
|
||||
private void btnToggleEditView_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MyEditItem == null) return;
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
string message = string.Empty;
|
||||
if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View && !MySessionInfo.CanCheckOutItem(MyEditItem.MyItemInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message))
|
||||
{
|
||||
//someone else has the procedure checked out so cannot swap out of view only mode
|
||||
message = message.Replace("\r\nWould You like to open the procedure in View Only Mode?", "\r\n\r\nYou will be unable to turn off View Only Mode for this procedure until it is checked in by the user specified above.");
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
else if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
|
||||
{
|
||||
//swapping into edit mode, so check out procedure and Setup Security
|
||||
(this.Parent as StepTabPanel).MyDisplayTabItem.OwnerID = MySessionInfo.CheckOutItem(MyEditItem.MyItemInfo.MyProcedure.ItemID, 0);
|
||||
(this.Parent as StepTabPanel).MyDisplayTabItem.SetupSecurity(MyItemInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
//swapping into View Only mode, so check in procedure
|
||||
OwnerInfo oi = OwnerInfo.GetByItemID(MyEditItem.MyItemInfo.MyProcedure.ItemID, CheckOutType.Procedure);
|
||||
MySessionInfo.CheckInItem(oi.OwnerID);
|
||||
}
|
||||
|
||||
MyEditItem.MyStepPanel.VwMode = MyEditItem.MyStepPanel.VwMode == E_ViewMode.Edit ? E_ViewMode.View : E_ViewMode.Edit;
|
||||
//enable / disable the Step Properties Panel based on the ViewMode
|
||||
OnEnableDisableStepProperties(new StepTabRibbonEventArgs(MyEditItem.MyItemInfo, 0, MyEditItem.MyStepPanel.VwMode));
|
||||
MyEditItem.ToggleEditView(MyEditItem.MyStepPanel.VwMode);
|
||||
SetButtonAndMenuEnabling(true);
|
||||
SetStepButtonAndMenuEnabling(true);
|
||||
@@ -3355,7 +3448,62 @@ namespace Volian.Controls.Library
|
||||
// btnEnhancedDocSync.Checked = !btnEnhancedDocSync.Checked;
|
||||
//}
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// using a blocking collection to make it thread safe in case someone
|
||||
// spams hitting the refresh button
|
||||
private BlockingCollection<bool> blockingRefreshProcedure = new BlockingCollection<bool>();
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
private void btnRefreshProcedure_Click(object sender, EventArgs e)
|
||||
{
|
||||
//Consumer
|
||||
Task.Run(() =>
|
||||
{
|
||||
//Blocks until a newRefresh Procedure Run is available
|
||||
while (!blockingRefreshProcedure.IsCompleted)
|
||||
{
|
||||
_ = blockingRefreshProcedure.Take();
|
||||
RefreshProcedure();
|
||||
}
|
||||
});
|
||||
|
||||
//Producer
|
||||
Task.Run(() => { blockingRefreshProcedure.Add(true); });
|
||||
}
|
||||
|
||||
public void RefreshProcedure()
|
||||
{
|
||||
StepTabPanel stab_Panel = Parent as StepTabPanel;
|
||||
|
||||
if (MyEditItem != null)
|
||||
{
|
||||
if (!MyEditItem.MyStepPanel.ContainsFocus)
|
||||
this.Invoke((Action)(() => { MyEditItem.MyStepPanel.Focus(); }));
|
||||
|
||||
E_ViewMode mode = MyEditItem.MyStepPanel.VwMode;
|
||||
Application.DoEvents();
|
||||
this.Invoke((Action)(() => {MyEditItem.MyStepPanel.ResetAll();}));
|
||||
Application.DoEvents();
|
||||
this.Invoke((Action)(() => {MyEditItem.MyStepPanel.Refresh();}));
|
||||
Application.DoEvents();
|
||||
MyEditItem.MyStepPanel.VwMode = mode;
|
||||
Application.DoEvents();
|
||||
}
|
||||
else if (stab_Panel != null)
|
||||
{
|
||||
if (!stab_Panel.MyStepPanel.ContainsFocus)
|
||||
this.Invoke((Action)(() => {stab_Panel.MyStepPanel.Focus();}));
|
||||
|
||||
E_ViewMode mode = stab_Panel.MyStepPanel.VwMode;
|
||||
Application.DoEvents();
|
||||
this.Invoke((Action)(() => {stab_Panel.MyStepPanel.ResetAll();}));
|
||||
Application.DoEvents();
|
||||
this.Invoke((Action)(() => {stab_Panel.MyStepPanel.Refresh();}));
|
||||
Application.DoEvents();
|
||||
stab_Panel.MyStepPanel.VwMode = mode;
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
private void btnROEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (VlnSettings.ReleaseMode.Equals("DEMO"))
|
||||
@@ -4190,15 +4338,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);
|
||||
}
|
||||
|
||||
@@ -4861,10 +5013,11 @@ namespace Volian.Controls.Library
|
||||
public class StepTabRibbonEventArgs : EventArgs
|
||||
{
|
||||
public StepTabRibbonEventArgs() { ; }
|
||||
public StepTabRibbonEventArgs(ItemInfo proc, int oringFlg = 0)
|
||||
public StepTabRibbonEventArgs(ItemInfo proc, int oringFlg = 0, E_ViewMode viewMode = E_ViewMode.Edit)
|
||||
{
|
||||
_Proc = proc;
|
||||
OringFlg = oringFlg;
|
||||
ViewMode = viewMode;
|
||||
}
|
||||
private ItemInfo _Proc;
|
||||
|
||||
@@ -4880,6 +5033,9 @@ namespace Volian.Controls.Library
|
||||
get { return _OringFlg; }
|
||||
set { _OringFlg = value; }
|
||||
}
|
||||
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
public E_ViewMode ViewMode { get; set; }
|
||||
}
|
||||
public delegate void StepTabRibbonEvent(object sender, StepTabRibbonEventArgs args);
|
||||
|
||||
|
||||
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
Binary file not shown.
File diff suppressed because it is too large
Load Diff
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
|
||||
|
||||
@@ -345,6 +345,12 @@ namespace Volian.Print.Library
|
||||
// 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)
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1855,7 +1855,10 @@ namespace Volian.Print.Library
|
||||
if (doSectionContinue) DoTopContinueMsg(cb, ref yPageStart, yTopMargin, docstyle, null);
|
||||
// If "ContinueSectionHeader" (format flag) is true then print the section title with "(Continued)" appended to it
|
||||
// B2020-164 added check for SpecialCaseCalvert to bypass IsSeparateSubsection STP O-67B-2 step 6.5
|
||||
if ((!MyItemInfo.IsSection || MyItemInfo.IsSubsection) &&
|
||||
// B2025-060 no section continue message if previous was not in same section or sub-section
|
||||
// fixes Vogtle units 3&4 3-AOP-116 Attachments 2 & 3
|
||||
if ((!MyItemInfo.IsSection || MyItemInfo.IsSubsection) &&
|
||||
(MyItemInfo.MyPrevious != null && MyItemInfo.ActiveSection == MyItemInfo.MyPrevious.ActiveSection) &&
|
||||
MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ContinueSectionHeader &&
|
||||
(!MyItemInfo.IsSection || (MyItemInfo.IsSeparateSubsection || MyItemInfo.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert)))
|
||||
{
|
||||
@@ -2162,12 +2165,12 @@ namespace Volian.Print.Library
|
||||
//B2025-048 Problem with Printing CAS Steps
|
||||
// skip this if printing CAS or CTAS - was causing it to
|
||||
// skip/overwrite data
|
||||
if (doSectionTitleContinued && MyPromsPrinter.PromsPrinterPrintType == PromsPrinterPrintType.Normal)
|
||||
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;
|
||||
@@ -2187,6 +2190,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)
|
||||
{
|
||||
@@ -2197,7 +2206,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;
|
||||
@@ -2212,12 +2221,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);
|
||||
@@ -3596,11 +3613,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