This commit is contained in:
Rich 2010-02-02 21:05:49 +00:00
parent 13240b4a7d
commit 9712646a16
14 changed files with 2193 additions and 0 deletions

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="VEPROMS.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="UISampleNetBar1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="LogTest2.txt" />
<param name="AppendToFile" value="false" />
<layout type="log4net.Layout.PatternLayout">
<!--<param name="Header" value="[Header]\r\n" />-->
<!--<param name="Footer" value="[Footer]\r\n" />-->
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="--&gt; %date [%thread] %-5level %logger (%property{log4net:HostName}) [%ndc] - %message%newline"/>
</layout>
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<threshold value="WARN" />
<mapping>
<level value="DEBUG" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="INFO" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="WARN" />
<eventLogEntryType value="Warning" />
</mapping>
<mapping>
<level value="ERROR" />
<eventLogEntryType value="Error" />
</mapping>
<mapping>
<level value="FATAL" />
<eventLogEntryType value="Error" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="---&gt; %d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="EventLogAppender" />
</root>
<logger name="VEPROMS.CSLA.Library">
<level value="INFO" />
</logger>
<logger name="Volian.Controls.Library">
<level value="INFO" />
</logger>
</log4net>
<appSettings>
<add key="CslaAuthentication" value="Windows" />
<!--
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.RemotingProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://localhost/Proms2010RemotingHost/RemotingPortal.rem"/>
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.RemotingProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://rhmdesktop/Proms2010Remoting/RemotingPortal.rem"/>
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.WebServicesProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://localhost/VEPROMS_WebService/WebServicePortal.asmx"/>
<add key="CslaDataPortalProxy"
value="EnterpriseServicesHost.EnterpriseServicesProxy,
EnterpriseServicesHost"/>
-->
</appSettings>
<connectionStrings>
<!--<add name="VEPROMS"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;C:\VS2005Projects\VEPROMS_Database\VEPROMS_Data.mdf&quot;;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />-->
<add name="VEPROMS"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS;Integrated Security=True"
providerName="System.Data.SqlClient" />
<!--add name="VEPROMS"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS_20090505;Integrated Security=True"
providerName="System.Data.SqlClient" /-->
<!-- connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS_HLPDOC_20071109;Integrated Security=True"
providerName="System.Data.SqlClient" />-->
<!--<add name="VEPROMS"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;C:\VS2005Projects\VEPROMS_Data\VEPROMS.mdf&quot;;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />-->
</connectionStrings>
<userSettings>
<VEPROMS.Properties.Settings>
<setting name="ShowDefaultFolderProp" serializeAs="String">
<value>False</value>
</setting>
<setting name="PropPageStyle" serializeAs="String">
<value>1</value>
</setting>
<setting name="SystemColor" serializeAs="String">
<value>2</value>
</setting>
<setting name="TransitionRangeColor" serializeAs="String">
<value>192, 255, 255</value>
</setting>
<setting name="UseNameOnTreeNode" serializeAs="String">
<value>True</value>
</setting>
<setting name="UseTitleOnTreeNode" serializeAs="String">
<value>False</value>
</setting>
<setting name="WindowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="AutoPopUpAnnotations" serializeAs="String">
<value>True</value>
</setting>
</VEPROMS.Properties.Settings>
<UISampleNetBar1.Properties.Settings>
<setting name="ShowDefaultFolderProp" serializeAs="String">
<value>False</value>
</setting>
<setting name="PropPageStyle" serializeAs="String">
<value>1</value>
</setting>
</UISampleNetBar1.Properties.Settings>
</userSettings>
</configuration>

View File

@ -0,0 +1,140 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5731EEAD-30C9-499F-849E-179F11D932B0}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PrintMSWord</RootNamespace>
<AssemblyName>PrintMSWord</AssemblyName>
<StartupObject>
</StartupObject>
</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>x86</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>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Csla, Version=2.1.4.0, Culture=neutral, PublicKeyToken=93be5fdc093e4c30, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\CSLA\csla20cs-2.1.4-070223\csla20cs\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\Log4Net\log4net-1.2.10\bin\net\2.0\debug\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="frmInfo.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmInfo.Designer.cs">
<DependentUpon>frmInfo.cs</DependentUpon>
</Compile>
<Compile Include="frmPrintMsWord.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmPrintMsWord.Designer.cs">
<DependentUpon>frmPrintMsWord.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="frmInfo.resx">
<SubType>Designer</SubType>
<DependentUpon>frmInfo.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmPrintMsWord.resx">
<SubType>Designer</SubType>
<DependentUpon>frmPrintMsWord.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="App.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\LBWordLibrary\LBWordLibrary.csproj">
<Project>{70F23722-19A3-4AC1-A900-55831C945786}</Project>
<Name>LBWordLibrary</Name>
</ProjectReference>
<ProjectReference Include="..\..\VEPROMS.CSLA.Library\VEPROMS.CSLA.Library.csproj">
<Project>{41B2D786-1C03-4C1A-9247-DA9F0D6B06D5}</Project>
<Name>VEPROMS.CSLA.Library</Name>
</ProjectReference>
<ProjectReference Include="..\..\VG\VG.csproj">
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
<Name>VG</Name>
</ProjectReference>
<ProjectReference Include="..\..\Volian.Controls.Library\Volian.Controls.Library.csproj">
<Project>{8556527C-6615-487F-8AF7-22EBC3EF0268}</Project>
<Name>Volian.Controls.Library</Name>
</ProjectReference>
<ProjectReference Include="..\..\XYPlots\XYPlots.csproj">
<Project>{04E168D0-9CC7-43D9-A9F1-93E481EA86A3}</Project>
<Name>XYPlots</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace PrintMSWord
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmPrintMsWord());
}
}
}

View File

@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("PrintMSWord")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PrintMSWord")]
[assembly: AssemblyCopyright("Copyright © 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3b56b3e7-fe71-4d89-9409-7cfd19c6d1d6")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4200
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PrintMSWord.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PrintMSWord.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4200
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PrintMSWord.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,86 @@
namespace PrintMSWord
{
partial class frmInfo
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.tbInfo = new System.Windows.Forms.TextBox();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tsslStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// tbInfo
//
this.tbInfo.Dock = System.Windows.Forms.DockStyle.Fill;
this.tbInfo.Location = new System.Drawing.Point(0, 0);
this.tbInfo.Multiline = true;
this.tbInfo.Name = "tbInfo";
this.tbInfo.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbInfo.Size = new System.Drawing.Size(670, 344);
this.tbInfo.TabIndex = 0;
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsslStatus});
this.statusStrip1.Location = new System.Drawing.Point(0, 344);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(670, 22);
this.statusStrip1.TabIndex = 1;
this.statusStrip1.Text = "statusStrip1";
//
// tsslStatus
//
this.tsslStatus.Name = "tsslStatus";
this.tsslStatus.Size = new System.Drawing.Size(39, 17);
this.tsslStatus.Text = "Ready";
//
// frmInfo
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(670, 366);
this.Controls.Add(this.tbInfo);
this.Controls.Add(this.statusStrip1);
this.Name = "frmInfo";
this.Text = "frmInfo";
this.Load += new System.EventHandler(this.frmInfo_Load);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox tbInfo;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel tsslStatus;
}
}

View File

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace PrintMSWord
{
public partial class frmInfo : Form
{
private StringBuilder _MyStringBuilder;
public StringBuilder MyStringBuilder
{
get
{
if (_MyStringBuilder == null)
_MyStringBuilder = new StringBuilder();
return _MyStringBuilder;
}
}
private Form _MyParent;
public frmInfo(Form myParent)
{
_MyParent = myParent;
InitializeComponent();
}
string _Sep = "";
public string Sep
{
get { return _Sep; }
set { _Sep = value; }
}
public void Clear()
{
_MyStringBuilder = null;
tbInfo.Text = "";
Sep = "";
Hide();
}
public void AddInfo(string info)
{
tbInfo.Text += Sep + info;
Sep = "\r\n";
Show();
}
public void AddInfoPartial(string format, params object[] args)
{
MyStringBuilder.Append(Sep + string.Format(format,args));
Sep = "\r\n";
Application.DoEvents();
if(!Visible)Show();
}
public string MyStatus
{
get { return tsslStatus.Text; }
set { tsslStatus.Text = value; tbInfo.Text = MyStringBuilder.ToString(); Application.DoEvents(); }
}
public void CopyOutput()
{
Clipboard.Clear();
Clipboard.SetText(tbInfo.Text);
}
private void frmInfo_Load(object sender, EventArgs e)
{
Rectangle rec = Screen.GetWorkingArea(this);
Top = _MyParent.Top;
Left = _MyParent.Right + Width > rec.Right ? rec.Right - Width : _MyParent.Right;
}
}
}

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@ -0,0 +1,499 @@
namespace PrintMSWord
{
partial class frmPrintMsWord
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.lbDocVersion = new System.Windows.Forms.ListBox();
this.lbProcedure = new System.Windows.Forms.ListBox();
this.lbSections = new System.Windows.Forms.ListBox();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.allProceduresToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.rOTypesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.wordSectionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.countToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.listSectionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertToPDFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.countROsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertToPDFwithROsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.determineLengthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.oneSectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pDFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.listROsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.findROsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.determineLengthToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.cleanupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.closeAcrobatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removePDFsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pDFMethodToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toPDFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toPDF2003BGToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toPDF2003FGToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toPDF2007ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.rODataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.getAllPlotsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.getAllFortranNumbersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.getAllImagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.walkStepsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.proceduresToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.sectionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.stepsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tsslStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 24);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.lbSections);
this.splitContainer1.Size = new System.Drawing.Size(690, 373);
this.splitContainer1.SplitterDistance = 230;
this.splitContainer1.TabIndex = 0;
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.lbDocVersion);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.lbProcedure);
this.splitContainer2.Size = new System.Drawing.Size(230, 373);
this.splitContainer2.SplitterDistance = 84;
this.splitContainer2.TabIndex = 0;
//
// lbDocVersion
//
this.lbDocVersion.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbDocVersion.FormattingEnabled = true;
this.lbDocVersion.Location = new System.Drawing.Point(0, 0);
this.lbDocVersion.Name = "lbDocVersion";
this.lbDocVersion.Size = new System.Drawing.Size(230, 82);
this.lbDocVersion.TabIndex = 0;
this.lbDocVersion.SelectedValueChanged += new System.EventHandler(this.lbDocVersion_SelectedValueChanged);
//
// lbProcedure
//
this.lbProcedure.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbProcedure.FormattingEnabled = true;
this.lbProcedure.Location = new System.Drawing.Point(0, 0);
this.lbProcedure.Name = "lbProcedure";
this.lbProcedure.Size = new System.Drawing.Size(230, 277);
this.lbProcedure.TabIndex = 0;
this.lbProcedure.SelectedValueChanged += new System.EventHandler(this.lbProcedure_SelectedValueChanged);
//
// lbSections
//
this.lbSections.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbSections.FormattingEnabled = true;
this.lbSections.Location = new System.Drawing.Point(0, 0);
this.lbSections.Name = "lbSections";
this.lbSections.Size = new System.Drawing.Size(456, 368);
this.lbSections.TabIndex = 0;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.allProceduresToolStripMenuItem,
this.wordSectionsToolStripMenuItem,
this.oneSectionToolStripMenuItem,
this.cleanupToolStripMenuItem,
this.pDFMethodToolStripMenuItem,
this.rODataToolStripMenuItem,
this.walkStepsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(690, 24);
this.menuStrip1.TabIndex = 1;
this.menuStrip1.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(92, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// allProceduresToolStripMenuItem
//
this.allProceduresToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.rOTypesToolStripMenuItem});
this.allProceduresToolStripMenuItem.Name = "allProceduresToolStripMenuItem";
this.allProceduresToolStripMenuItem.Size = new System.Drawing.Size(95, 20);
this.allProceduresToolStripMenuItem.Text = "All Procedures";
//
// rOTypesToolStripMenuItem
//
this.rOTypesToolStripMenuItem.Name = "rOTypesToolStripMenuItem";
this.rOTypesToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.rOTypesToolStripMenuItem.Text = "RO Types";
this.rOTypesToolStripMenuItem.Click += new System.EventHandler(this.rOTypesToolStripMenuItem_Click);
//
// wordSectionsToolStripMenuItem
//
this.wordSectionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.countToolStripMenuItem,
this.listSectionsToolStripMenuItem,
this.convertToPDFToolStripMenuItem,
this.countROsToolStripMenuItem,
this.convertToPDFwithROsToolStripMenuItem,
this.determineLengthToolStripMenuItem});
this.wordSectionsToolStripMenuItem.Name = "wordSectionsToolStripMenuItem";
this.wordSectionsToolStripMenuItem.Size = new System.Drawing.Size(80, 20);
this.wordSectionsToolStripMenuItem.Text = "All Sections";
//
// countToolStripMenuItem
//
this.countToolStripMenuItem.Name = "countToolStripMenuItem";
this.countToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.countToolStripMenuItem.Text = "Count";
this.countToolStripMenuItem.Click += new System.EventHandler(this.countToolStripMenuItem_Click);
//
// listSectionsToolStripMenuItem
//
this.listSectionsToolStripMenuItem.Name = "listSectionsToolStripMenuItem";
this.listSectionsToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.listSectionsToolStripMenuItem.Text = "List Sections";
this.listSectionsToolStripMenuItem.Click += new System.EventHandler(this.listSectionsToolStripMenuItem_Click);
//
// convertToPDFToolStripMenuItem
//
this.convertToPDFToolStripMenuItem.Name = "convertToPDFToolStripMenuItem";
this.convertToPDFToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.convertToPDFToolStripMenuItem.Text = "ConvertToPDF";
this.convertToPDFToolStripMenuItem.Click += new System.EventHandler(this.convertToPDFToolStripMenuItem_Click);
//
// countROsToolStripMenuItem
//
this.countROsToolStripMenuItem.Name = "countROsToolStripMenuItem";
this.countROsToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.countROsToolStripMenuItem.Text = "Count ROs";
this.countROsToolStripMenuItem.Click += new System.EventHandler(this.countROsToolStripMenuItem_Click);
//
// convertToPDFwithROsToolStripMenuItem
//
this.convertToPDFwithROsToolStripMenuItem.Name = "convertToPDFwithROsToolStripMenuItem";
this.convertToPDFwithROsToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.convertToPDFwithROsToolStripMenuItem.Text = "ConvertToPDFwithROs";
this.convertToPDFwithROsToolStripMenuItem.Click += new System.EventHandler(this.convertToPDFwithROsToolStripMenuItem_Click);
//
// determineLengthToolStripMenuItem
//
this.determineLengthToolStripMenuItem.Name = "determineLengthToolStripMenuItem";
this.determineLengthToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
this.determineLengthToolStripMenuItem.Text = "DetermineLength";
this.determineLengthToolStripMenuItem.Click += new System.EventHandler(this.determineLengthToolStripMenuItem_Click);
//
// oneSectionToolStripMenuItem
//
this.oneSectionToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.pDFToolStripMenuItem,
this.listROsToolStripMenuItem,
this.findROsToolStripMenuItem,
this.determineLengthToolStripMenuItem1});
this.oneSectionToolStripMenuItem.Name = "oneSectionToolStripMenuItem";
this.oneSectionToolStripMenuItem.Size = new System.Drawing.Size(83, 20);
this.oneSectionToolStripMenuItem.Text = "One Section";
//
// pDFToolStripMenuItem
//
this.pDFToolStripMenuItem.Name = "pDFToolStripMenuItem";
this.pDFToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
this.pDFToolStripMenuItem.Text = "PDF";
this.pDFToolStripMenuItem.Click += new System.EventHandler(this.pDFToolStripMenuItem_Click);
//
// listROsToolStripMenuItem
//
this.listROsToolStripMenuItem.Name = "listROsToolStripMenuItem";
this.listROsToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
this.listROsToolStripMenuItem.Text = "List ROs";
this.listROsToolStripMenuItem.Click += new System.EventHandler(this.listROsToolStripMenuItem_Click);
//
// findROsToolStripMenuItem
//
this.findROsToolStripMenuItem.Name = "findROsToolStripMenuItem";
this.findROsToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
this.findROsToolStripMenuItem.Text = "Find ROs";
this.findROsToolStripMenuItem.Click += new System.EventHandler(this.findROsToolStripMenuItem_Click);
//
// determineLengthToolStripMenuItem1
//
this.determineLengthToolStripMenuItem1.Name = "determineLengthToolStripMenuItem1";
this.determineLengthToolStripMenuItem1.Size = new System.Drawing.Size(166, 22);
this.determineLengthToolStripMenuItem1.Text = "DetermineLength";
this.determineLengthToolStripMenuItem1.Click += new System.EventHandler(this.determineLengthToolStripMenuItem1_Click);
//
// cleanupToolStripMenuItem
//
this.cleanupToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.closeAcrobatToolStripMenuItem,
this.removePDFsToolStripMenuItem});
this.cleanupToolStripMenuItem.Name = "cleanupToolStripMenuItem";
this.cleanupToolStripMenuItem.Size = new System.Drawing.Size(68, 20);
this.cleanupToolStripMenuItem.Text = "Clean-up";
//
// closeAcrobatToolStripMenuItem
//
this.closeAcrobatToolStripMenuItem.Name = "closeAcrobatToolStripMenuItem";
this.closeAcrobatToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.closeAcrobatToolStripMenuItem.Text = "Close Acrobat";
this.closeAcrobatToolStripMenuItem.Click += new System.EventHandler(this.closeAcrobatToolStripMenuItem_Click);
//
// removePDFsToolStripMenuItem
//
this.removePDFsToolStripMenuItem.Name = "removePDFsToolStripMenuItem";
this.removePDFsToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.removePDFsToolStripMenuItem.Text = "Remove PDFs";
this.removePDFsToolStripMenuItem.Click += new System.EventHandler(this.removePDFsToolStripMenuItem_Click);
//
// pDFMethodToolStripMenuItem
//
this.pDFMethodToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toPDFToolStripMenuItem,
this.toPDF2003BGToolStripMenuItem,
this.toPDF2003FGToolStripMenuItem,
this.toPDF2007ToolStripMenuItem});
this.pDFMethodToolStripMenuItem.Name = "pDFMethodToolStripMenuItem";
this.pDFMethodToolStripMenuItem.Size = new System.Drawing.Size(85, 20);
this.pDFMethodToolStripMenuItem.Text = "PDF Method";
//
// toPDFToolStripMenuItem
//
this.toPDFToolStripMenuItem.Checked = true;
this.toPDFToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.toPDFToolStripMenuItem.Name = "toPDFToolStripMenuItem";
this.toPDFToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.toPDFToolStripMenuItem.Text = "ToPDF";
this.toPDFToolStripMenuItem.Click += new System.EventHandler(this.toPDFMethodToggle_Click);
//
// toPDF2003BGToolStripMenuItem
//
this.toPDF2003BGToolStripMenuItem.Name = "toPDF2003BGToolStripMenuItem";
this.toPDF2003BGToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.toPDF2003BGToolStripMenuItem.Text = "ToPDF2003BG";
this.toPDF2003BGToolStripMenuItem.Click += new System.EventHandler(this.toPDFMethodToggle_Click);
//
// toPDF2003FGToolStripMenuItem
//
this.toPDF2003FGToolStripMenuItem.Name = "toPDF2003FGToolStripMenuItem";
this.toPDF2003FGToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.toPDF2003FGToolStripMenuItem.Text = "ToPDF2003FG";
this.toPDF2003FGToolStripMenuItem.Click += new System.EventHandler(this.toPDFMethodToggle_Click);
//
// toPDF2007ToolStripMenuItem
//
this.toPDF2007ToolStripMenuItem.Name = "toPDF2007ToolStripMenuItem";
this.toPDF2007ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
this.toPDF2007ToolStripMenuItem.Text = "ToPDF2007";
this.toPDF2007ToolStripMenuItem.Click += new System.EventHandler(this.toPDFMethodToggle_Click);
//
// rODataToolStripMenuItem
//
this.rODataToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.getAllPlotsToolStripMenuItem,
this.getAllFortranNumbersToolStripMenuItem,
this.getAllImagesToolStripMenuItem});
this.rODataToolStripMenuItem.Name = "rODataToolStripMenuItem";
this.rODataToolStripMenuItem.Size = new System.Drawing.Size(59, 20);
this.rODataToolStripMenuItem.Text = "ROData";
//
// getAllPlotsToolStripMenuItem
//
this.getAllPlotsToolStripMenuItem.Name = "getAllPlotsToolStripMenuItem";
this.getAllPlotsToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.getAllPlotsToolStripMenuItem.Text = "GetAllPlots";
this.getAllPlotsToolStripMenuItem.Click += new System.EventHandler(this.getAllPlotsToolStripMenuItem_Click);
//
// getAllFortranNumbersToolStripMenuItem
//
this.getAllFortranNumbersToolStripMenuItem.Name = "getAllFortranNumbersToolStripMenuItem";
this.getAllFortranNumbersToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.getAllFortranNumbersToolStripMenuItem.Text = "GetAllFortranNumbers";
this.getAllFortranNumbersToolStripMenuItem.Click += new System.EventHandler(this.getAllFortranNumbersToolStripMenuItem_Click);
//
// getAllImagesToolStripMenuItem
//
this.getAllImagesToolStripMenuItem.Name = "getAllImagesToolStripMenuItem";
this.getAllImagesToolStripMenuItem.Size = new System.Drawing.Size(193, 22);
this.getAllImagesToolStripMenuItem.Text = "GetAllImages";
this.getAllImagesToolStripMenuItem.Click += new System.EventHandler(this.getAllImagesToolStripMenuItem_Click);
//
// walkStepsToolStripMenuItem
//
this.walkStepsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.proceduresToolStripMenuItem,
this.sectionsToolStripMenuItem,
this.stepsToolStripMenuItem});
this.walkStepsToolStripMenuItem.Name = "walkStepsToolStripMenuItem";
this.walkStepsToolStripMenuItem.Size = new System.Drawing.Size(73, 20);
this.walkStepsToolStripMenuItem.Text = "WalkSteps";
//
// proceduresToolStripMenuItem
//
this.proceduresToolStripMenuItem.Name = "proceduresToolStripMenuItem";
this.proceduresToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.proceduresToolStripMenuItem.Text = "Procedures";
this.proceduresToolStripMenuItem.Click += new System.EventHandler(this.proceduresToolStripMenuItem_Click);
//
// sectionsToolStripMenuItem
//
this.sectionsToolStripMenuItem.Name = "sectionsToolStripMenuItem";
this.sectionsToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.sectionsToolStripMenuItem.Text = "Sections";
this.sectionsToolStripMenuItem.Click += new System.EventHandler(this.sectionsToolStripMenuItem_Click);
//
// stepsToolStripMenuItem
//
this.stepsToolStripMenuItem.Name = "stepsToolStripMenuItem";
this.stepsToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.stepsToolStripMenuItem.Text = "Steps";
this.stepsToolStripMenuItem.Click += new System.EventHandler(this.stepsToolStripMenuItem_Click);
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsslStatus});
this.statusStrip1.Location = new System.Drawing.Point(0, 397);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(690, 22);
this.statusStrip1.TabIndex = 2;
this.statusStrip1.Text = "statusStrip1";
//
// tsslStatus
//
this.tsslStatus.Name = "tsslStatus";
this.tsslStatus.Size = new System.Drawing.Size(39, 17);
this.tsslStatus.Text = "Ready";
//
// frmPrintMsWord
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(690, 419);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.statusStrip1);
this.Name = "frmPrintMsWord";
this.Text = "PROMS-2010 Print MS Word";
this.Load += new System.EventHandler(this.frmPrintMsWord_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmPrintMsWord_FormClosing);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
this.splitContainer2.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.ListBox lbDocVersion;
private System.Windows.Forms.ListBox lbProcedure;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel tsslStatus;
private System.Windows.Forms.ListBox lbSections;
private System.Windows.Forms.ToolStripMenuItem wordSectionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem countToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem countROsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem listSectionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem convertToPDFToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem oneSectionToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem pDFToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem listROsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem findROsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem convertToPDFwithROsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem cleanupToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem closeAcrobatToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem removePDFsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem pDFMethodToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toPDFToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toPDF2003BGToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toPDF2003FGToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toPDF2007ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem allProceduresToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem rOTypesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem rODataToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem getAllPlotsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem getAllFortranNumbersToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem getAllImagesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem determineLengthToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem determineLengthToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem walkStepsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem proceduresToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem sectionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem stepsToolStripMenuItem;
}
}

View File

@ -0,0 +1,721 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Text;
using System.Windows.Forms;
using System.IO;
using VEPROMS.CSLA.Library;
using System.Text.RegularExpressions;
using LBWordLibrary;
using Volian.Controls.Library;
namespace PrintMSWord
{
public partial class frmPrintMsWord : Form
{
public string MyStatus
{
get { return tsslStatus.Text; }
set { tsslStatus.Text = value; Application.DoEvents(); }
}
private PDFMethod _MyPDFMethod = PDFMethod.ToPDF;
internal PDFMethod MyPDFMethod
{
get { return _MyPDFMethod; }
set
{
_MyPDFMethod = value;
// Adjust Checked Status
toPDFToolStripMenuItem.Checked = _MyPDFMethod == PDFMethod.ToPDF;
toPDF2003BGToolStripMenuItem.Checked = _MyPDFMethod == PDFMethod.ToPDF2003BG;
toPDF2003FGToolStripMenuItem.Checked = _MyPDFMethod == PDFMethod.ToPDF2003FG;
toPDF2007ToolStripMenuItem.Checked = _MyPDFMethod == PDFMethod.toPDF2007;
}
}
public frmPrintMsWord()
{
InitializeComponent();
}
private LBApplicationClass _MyApp = null;
public LBApplicationClass MyApp
{
get
{
if (_MyApp == null)
_MyApp = new LBApplicationClass();
return _MyApp;
}
}
private frmInfo _MyInfo = null;
public frmInfo MyInfo
{
get
{
if (_MyInfo == null)
{
_MyInfo = new frmInfo(this);
_MyInfo.FormClosed += new FormClosedEventHandler(_MyInfo_FormClosed);
}
return _MyInfo;
}
}
private void _MyInfo_FormClosed(object sender, FormClosedEventArgs e)
{
_MyInfo = null;
}
public void AddInfo(string info, params object [] objs)
{
MyInfo.AddInfo(string.Format(info,objs));
}
public void ClearInfo()
{
MyInfo.Clear();
}
void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private System.Diagnostics.Process [] WordProcesses
{
get
{
return System.Diagnostics.Process.GetProcessesByName("WINWORD");
}
}
private void frmPrintMsWord_Load(object sender, EventArgs e)
{
CleanupMSWordProcesses();
lbDocVersion.DataSource = DocVersionInfoList.Get();
toPDFToolStripMenuItem.Tag = PDFMethod.ToPDF;
toPDF2003BGToolStripMenuItem.Tag = PDFMethod.ToPDF2003BG;
toPDF2003FGToolStripMenuItem.Tag = PDFMethod.ToPDF2003FG;
toPDF2007ToolStripMenuItem.Tag = PDFMethod.toPDF2007;
}
private void CleanupMSWordProcesses()
{
System.Diagnostics.Process[] wordProcesses = WordProcesses;
if (wordProcesses.Length > 0)
{
AddInfo("{0} copies of MS Word are running", wordProcesses.Length);
if (MessageBox.Show("MS Word is Running and must be stopped", "MS Word is Running", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
TerminateProcesses(wordProcesses);
ClearInfo();
}
}
}
private void TerminateProcesses(System.Diagnostics.Process[] wordProcesses)
{
foreach (System.Diagnostics.Process proc in wordProcesses)
proc.Kill();
}
private void lbDocVersion_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
lbProcedure.DataSource = dvi.Procedures;
}
private void lbProcedure_SelectedValueChanged(object sender, EventArgs e)
{
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
lbSections.DataSource = proc.Sections;
countToolStripMenuItem.Enabled = listSectionsToolStripMenuItem.Enabled = convertToPDFToolStripMenuItem.Enabled =
countROsToolStripMenuItem.Enabled = convertToPDFwithROsToolStripMenuItem.Enabled = proc.Sections != null;
}
private void countToolStripMenuItem_Click(object sender, EventArgs e)
{
int total = 0;
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
// for each section in the active procedure
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0) total++;
}
AddInfo("Procedure {0} contains {1} MS Word Sections.",proc.DisplayNumber, total);
}
private void listSectionsToolStripMenuItem_Click(object sender, EventArgs e)
{
int total = 0;
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
// for each section in the active procedure
AddInfo("Procedure {0}:", proc.DisplayNumber);
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0)
{
total++;
AddInfo("\t section {0} - {1}", sect.DisplayNumber, sect.DisplayText );
}
}
AddInfo("Procedure {0} contains {1} MS Word Sections.", proc.DisplayNumber, total);
}
private void convertToPDFToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
// for each section in the active procedure
AddInfo("Procedure {0}:", proc.DisplayNumber);
int i = 0;
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0)
{
AddInfo("\t section {0} - {1}", sect.DisplayNumber, sect.DisplayText);
using (DSOFile myFile = new DSOFile(sect.MyContent.MyEntry.MyDocument))
{
MyApp.Documents.Open(myFile.FullName);
string fileName = string.Format("{0:00} ", ++i) + (sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber);
CreatePDF(fileName);
MyApp.ActiveDocument.Close();
}
}
}
}
private string CreatePDF(string fileName)
{
string pdfFileName = null;
switch (MyPDFMethod)
{
case PDFMethod.ToPDF:
pdfFileName = MyApp.CreatePDF(@"C:\Temp\" + fileName + ".pdf", true);
break;
case PDFMethod.ToPDF2003BG:
pdfFileName = MyApp.CreatePDF2003BG(@"C:\Temp\" + fileName + ".pdf", true);
break;
case PDFMethod.ToPDF2003FG:
pdfFileName = MyApp.CreatePDF2003FG(@"C:\Temp\" + fileName + ".pdf", true);
break;
case PDFMethod.toPDF2007:
pdfFileName = MyApp.CreatePDF2007(@"C:\Temp\" + fileName + ".pdf", true);
break;
}
_PDFFiles.Add(pdfFileName);
return pdfFileName;
}
private void countROsToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
// for each section in the active procedure
AddInfo("Procedure {0}:", proc.DisplayNumber);
int i = 0;
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0)
{
AddInfo("\t section {0} - {1} - {2} ROs", sect.DisplayNumber, sect.DisplayText, ROCount(sect) );
}
}
}
private int ROCount(SectionInfo sect)
{
string searchText = sect.MyContent.MyEntry.MyDocument.DocAscii;
MatchCollection matches = Regex.Matches(searchText, @"\<[^>]*\>");
return matches.Count;
}
private void pDFToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionInfo sect = lbSections.SelectedValue as SectionInfo;
using (DSOFile myFile = new DSOFile(sect.MyContent.MyEntry.MyDocument))
{
MyApp.Documents.Open(myFile.FullName);
string fileName = sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber;
CreatePDF(fileName);
MyApp.ActiveDocument.Close();
}
}
private void listROsToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionInfo sect = lbSections.SelectedValue as SectionInfo;
ListROs(sect);
}
private void ListROs(SectionInfo sect)
{
string searchText = sect.MyContent.MyEntry.MyDocument.DocAscii;
ProcedureInfo proc = sect.ActiveParent as ProcedureInfo;
MatchCollection matches = Regex.Matches(searchText, @"\<[^>]*\>");
AddInfo("{0}:{1} contains {2} ROs", proc.DisplayNumber, (sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber), matches.Count);
foreach (Match match in matches)
AddInfo("RO - '{0}'", match.Value);
}
private void findROsToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionInfo sect = lbSections.SelectedValue as SectionInfo;
ToPDFReplaceROs(sect);
}
private void ToPDFReplaceROs(SectionInfo sect)
{
ProcedureInfo proc = sect.ActiveParent as ProcedureInfo;
DocVersionInfo dvi = proc.ActiveParent as DocVersionInfo;
ROFstInfo rofst = dvi.DocVersionAssociations[0].MyROFst;
ROFSTLookup lookup = rofst.ROFSTLookup;
string igPrefix = dvi.DocVersionConfig.RODefaults_graphicsprefix;
string spPrefix = dvi.DocVersionConfig.RODefaults_setpointprefix;
// string AccPageID = string.Format("<{0}-{1}>", accPrefix, roch.appid);
AddInfo("{0}:{1}", proc.DisplayNumber, (sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber));
using (DSOFile myFile = new DSOFile(sect.MyContent.MyEntry.MyDocument))
{
LBDocumentClass myDoc = MyApp.Documents.Open(myFile.FullName);
LBSelection sel = FindRO();
while (sel != null)
{
string val = lookup.GetROValueByAccPagID(sel.Text, spPrefix, igPrefix);
int? type = lookup.GetROTypeByAccPagID(sel.Text, spPrefix, igPrefix);
if ((int)type == 8) // Image
{
Console.WriteLine("Image: {0} - {1}", sect.MyContent.Number, sect.MyContent.Text);
bool imageROTokenReplaced = false;
string [] vals = val.Split("\n".ToCharArray());
ROImageInfo roImage = ROImageInfo.GetByROFstID_FileName(rofst.ROFstID, vals[0]);
if (roImage != null)
{
ROImageFile roImageFile = new ROImageFile(roImage);
float width = 72 * Int32.Parse(vals[3], System.Globalization.NumberStyles.AllowHexSpecifier) / 12.0F;
int lines = Int32.Parse(vals[2], System.Globalization.NumberStyles.AllowHexSpecifier);
float height = 72 * lines / 6.0F;
//sel.MoveEnd(LBWdUnits.wdLine, lines);// The number of lines depends on the third parameter
//sel.EndKey(LBWdUnits.wdLine, true);
//sel.MoveEnd(LBWdUnits.wdCharacter, -1);
//Console.WriteLine("Lines = {0}", lines);
sel.Text = "";
// TODO: Need to create a temporary file for printing.
// TODO: Need a way to eliminate the temporary file when done printing.
// LBInlineShape shape = sel.InlineShapes.AddPicture(@"C:\Plant\HLP\VEHLP\ro\No1Seal.bmp");
float x = (float)sel.get_Information(LBWdInformation.wdHorizontalPositionRelativeToPage);
float y = (float)sel.get_Information(LBWdInformation.wdVerticalPositionRelativeToPage);
//LBInlineShape shape = sel.InlineShapes.AddPicture(pngFile);
LBRange myRange = sel.Paragraphs.First.Range;
float yTop = (float)myRange.get_Information(LBWdInformation.wdVerticalPositionRelativeToPage);
LBShape shape = myDoc.Shapes.AddPicture(roImageFile.MyFile.FullName, x, y - yTop, sel.Range);
// LBInlineShape shape = sel.InlineShapes.AddPicture(roImageFile.MyFile.FullName);
Console.WriteLine("{0} Shape Width {1} Height {2}", val.Replace("\n", "','"), shape.Width, shape.Height);
shape.Width = width;
shape.Height = height;
Console.WriteLine("{0} Shape Width {1} Height {2}", val.Replace("\n", "','"), shape.Width, shape.Height);
imageROTokenReplaced = true;
}
if(!imageROTokenReplaced)
sel.Text = string.Format("Bad Image Link (Missing Image File:{0})",vals[0]);
}
else if ((int)type == 4) // X-Y Plot
{
val = val.Replace("`", "\xB0");
AddInfo("\tRO Found {0} = '{1}'", sel.Text, val);
sel.Text = "";
//float width = 72 * Int32.Parse(vals[3], System.Globalization.NumberStyles.AllowHexSpecifier) / 12.0F;
//float height = 72 * lines / 6.0F;
string pngFile = @"C:\Temp\XYPlot1.png";
XYPlots.XYPlot myPlot = CreatePlot(pngFile, val);
//LBShape shape = myDoc.Shapes.AddPicture(@"C:\Temp\XYPlot.png", 0, 0, sel.Range);
float x = (float) sel.get_Information(LBWdInformation.wdHorizontalPositionRelativeToPage);
float y = (float) sel.get_Information(LBWdInformation.wdVerticalPositionRelativeToPage);
//LBInlineShape shape = sel.InlineShapes.AddPicture(pngFile);
LBRange myRange = sel.Paragraphs.First.Range;
float yTop = (float)myRange.get_Information(LBWdInformation.wdVerticalPositionRelativeToPage);
LBShape shape = myDoc.Shapes.AddPicture(pngFile, x - 12, y - yTop, sel.Range);
Console.WriteLine("{0},{1},{2},{3}", shape.Width, shape.Height, myPlot.Width, myPlot.Height);
shape.LockAspectRatio = LBMsoTriState.msoTrue;
shape.Width = .89F * shape.Width;
//shape.Height = .89F * shape.Height;
sel.WholeStory();
sel.Range.Font.Color = LBWdColor.wdColorRed;
//Console.WriteLine("{0} Shape Width {1} Height {2}", val.Replace("\n", "','"), shape.Width, shape.Height);
//shape.Width = width;
//shape.Height = height;
//Console.WriteLine("{0} Shape Width {1} Height {2}", val.Replace("\n", "','"), shape.Width, shape.Height);
//imageROTokenReplaced = true;
}
else
{
val = val.Replace("`", "\xB0");
AddInfo("\tRO Found {0} = '{1}'", sel.Text, val);
InsertROValue(sel, val);
}
sel = FindRO();
}
string fileName = sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber;
CreatePDF(fileName);
//MyApp.Visible = true;
MyApp.ActiveDocument.Close();
MyApp.Quit();
_MyApp = null;
}
}
private XYPlots.XYPlot CreatePlot(string pngFile, string xyPlot)
{
Graphics grfx = this.CreateGraphics();
string emfFile = pngFile.Replace(".png", ".emf");
Metafile mf = new Metafile(emfFile, grfx.GetHdc());
grfx.Dispose();
grfx = Graphics.FromImage(mf);
grfx.ScaleTransform(300F / grfx.DpiX, 301F / grfx.DpiY);//300 Resolution
grfx.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
grfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
grfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
grfx.Clear(Color.Transparent);
XYPlots.XYPlot.BlackColor = Color.Red;
XYPlots.XYPlot myPlot = new XYPlots.XYPlot(xyPlot);
myPlot.SetMargins(0, 0, 0, 0);
myPlot.Process(new VG.VGOut_Graphics(grfx));
grfx.Dispose();
mf.Save(pngFile, ImageFormat.Png);
mf.Dispose();
FileInfo myFile = new System.IO.FileInfo(emfFile);
myFile.Delete();
return myPlot;
}
private static void InsertROValue(LBSelection sel, string roValue)
{
if (roValue == null)
{
sel.Text = "RO Not Found";
sel.Font.Color = LBWdColor.wdColorRed;
}
else
{
// Convert fortran formatted numbers to scientific notation.
string tmp = DisplayRO.ConvertFortranFormatToScienctificNotation(roValue);
// Look for superscript or subscript and insert the appropriate commands
Match roMatch = Regex.Match(tmp, @"(.*?)\\(super|sub) (.*?)\\nosupersub ");
if (roMatch.Groups.Count == 4)// Superscript or subscript found
{
sel.Font.Color = LBWdColor.wdColorRed;
while (roMatch.Groups.Count == 4)
{
sel.TypeText(roMatch.Groups[1].Value); // output the text preceeding the super or sub command
sel.Font.Position = roMatch.Groups[2].Value=="super" ? 3 : -3; // Shift the vertical position for super or sub
sel.TypeText(roMatch.Groups[3].Value); // output the superscript or subscript
sel.Font.Position = 0; // restore the vertical position
tmp = tmp.Substring(roMatch.Length); // remove the processed text
roMatch = Regex.Match(tmp, @"(.*?)\\(super|sub) (.*?)\\nosupersub "); // check to see if the text contain another super or sub
}
if(tmp != "")// Add any remaining text
sel.TypeText(tmp);
sel.Font.Color = LBWdColor.wdColorAutomatic;
}
else // if no superscripts or subscripts just output the text
{
sel.Text = roValue;
sel.Font.Color = LBWdColor.wdColorRed;
}
}
}
private LBSelection FindRO()
{
LBSelection sel = MyApp.Selection;
LBFind find = sel.Find;
find.ClearFormatting();
find.Text = "[<](?@)-(?@)[>]";
//find.Wrap = LBWdFindWrap.wdFindStop;
find.Wrap = LBWdFindWrap.wdFindContinue;
find.MatchCase = false;
find.MatchWholeWord = false;
find.MatchWildcards = true;
find.MatchSoundsLike = false;
find.MatchAllWordForms = false;
if (find.Execute()) return sel;
return null;
}
private void frmPrintMsWord_FormClosing(object sender, FormClosingEventArgs e)
{
if (MyApp != null)
_MyApp.Quit();
Console.WriteLine("Closing --- {0}", e.CloseReason);
LBApplicationClass.ClosePDFs();
RemovePDFFiles();
}
private void convertToPDFwithROsToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
// for each section in the active procedure
AddInfo("Procedure {0}:", proc.DisplayNumber);
int i = 0;
if (proc.Sections == null)
{
AddInfo(" No Sections", proc.DisplayNumber);
MessageBox.Show("No Sections");
return;
}
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0)
{
ToPDFReplaceROs(sect);
AddInfo("\t section {0} - {1} - {2} ROs", sect.DisplayNumber, sect.DisplayText, ROCount(sect));
}
}
}
private void closeAcrobatToolStripMenuItem_Click(object sender, EventArgs e)
{
LBApplicationClass.ClosePDFs();
}
List<string> _PDFFiles = new List<string>();
private void removePDFsToolStripMenuItem_Click(object sender, EventArgs e)
{
RemovePDFFiles();
}
private void RemovePDFFiles()
{
Application.DoEvents();
while (_PDFFiles.Count > 0)
{
string fileName = _PDFFiles[0];
Console.WriteLine("Start==={0:s.ffff}==========={1}", DateTime.Now, fileName);
System.IO.FileInfo fi = new System.IO.FileInfo(fileName);
try
{
fi.Delete();
_PDFFiles.Remove(fileName);
}
catch (Exception ex)
{
Console.WriteLine("Error==={0:s.ffff}==========>{1} - {2}", DateTime.Now, ex.GetType().Name, ex.Message);
Application.DoEvents();
}
}
}
private void toPDFMethodToggle_Click(object sender, EventArgs e)
{
ToolStripMenuItem mi = sender as ToolStripMenuItem;
MyPDFMethod = (PDFMethod)mi.Tag;
}
private void rOTypesToolStripMenuItem_Click(object sender, EventArgs e)
{
// Initialize Dictionary
Dictionary<int, int> roTypes = new Dictionary<int, int>();
// Spin Through Procedures for selected DocVersion
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
if (dvi.DocVersionAssociationCount == 0)
{
MessageBox.Show("No associated ROFST");
return;
}
ROFstInfo rofst = dvi.DocVersionAssociations[0].MyROFst;
ROFSTLookup lookup = rofst.ROFSTLookup;
string igPrefix = dvi.DocVersionConfig.RODefaults_graphicsprefix;
string spPrefix = dvi.DocVersionConfig.RODefaults_setpointprefix;
foreach (ProcedureInfo proc in dvi.Procedures)
FindROTypes(proc, roTypes, lookup, igPrefix, spPrefix);
// Output Dictionary Results
foreach(int roType in roTypes.Keys)
Console.WriteLine("Type {0}, Count {1}",roType,roTypes[roType]);
}
private void FindROTypes(ProcedureInfo proc, Dictionary<int, int> roTypes, ROFSTLookup lookup, string igPrefix, string spPrefix)
{
foreach (SectionInfo sect in proc.Sections)
{
if (sect.MyContent.ContentEntryCount == 1)
{
MyStatus = string.Format("{0}:{1}", proc.DisplayNumber, sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber);
FindROTypes(proc, sect, roTypes, lookup, igPrefix, spPrefix);
}
}
}
private void FindROTypes(ProcedureInfo proc, SectionInfo sect, Dictionary<int, int> roTypes, ROFSTLookup lookup, string igPrefix, string spPrefix)
{
string searchText = sect.MyContent.MyEntry.MyDocument.DocAscii;
MatchCollection matches = Regex.Matches(searchText, @"\<[^>]*\>");
foreach (Match match in matches)
{
int? roType = lookup.GetROTypeByAccPagID(match.Value.Replace(" ",""), spPrefix, igPrefix);
if (roType != null)
{
if (roTypes.ContainsKey((int)roType))
{
roTypes[(int)roType]++;
if (roType == 8)
{
Console.WriteLine("{0}:{1}", proc.DisplayNumber, sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber);
Console.WriteLine("{0} Type '{1}' '{2}'\r\n", match.Value.Replace(" ", ""), roType,
lookup.GetROValueByAccPagID(match.Value.Replace(" ", ""), spPrefix, igPrefix).Replace("\n","','"));
}
}
else
{
roTypes.Add((int)roType, 1);
Console.WriteLine("{0}:{1}", proc.DisplayNumber, sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber);
Console.WriteLine("{0} Type {1} \r\nValue '{2}'\r\n", match.Value.Replace(" ", ""), roType, lookup.GetROValueByAccPagID(match.Value.Replace(" ", ""), spPrefix, igPrefix));
}
}
else
{
Console.WriteLine("{0}:{1} - {2}", proc.DisplayNumber, sect.DisplayNumber == "" ? sect.DisplayText : sect.DisplayNumber, match.Value);
}
}
}
private void getAllPlotsToolStripMenuItem_Click(object sender, EventArgs e)
{
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
if (dvi.DocVersionAssociationCount <= 0)
{
MessageBox.Show("No RO data associations!", "No RO data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
ROFstInfo rofst = dvi.DocVersionAssociations[0].MyROFst;
ROFSTLookup lookup = rofst.ROFSTLookup;
List<ROFSTLookup.rochild> plots = lookup.GetRoChildrenByType(4);
foreach (ROFSTLookup.rochild plot in plots)
Console.WriteLine("plots.Add(\"{0}\",\"{1}\");", plot.appid, ToCode(plot.value ?? "No Plot"));
}
private string ToCode(string text)
{
string retval = text.Replace("\"","\\\"");
retval = retval.Replace("\r\n", "\\r\\n\" +\r\n\t\"");
return retval;
}
private void getAllFortranNumbersToolStripMenuItem_Click(object sender, EventArgs e)
{
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
if (dvi.DocVersionAssociationCount <= 0)
{
MessageBox.Show("No RO data associations!", "No RO data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
ROFstInfo rofst = dvi.DocVersionAssociations[0].MyROFst;
ROFSTLookup lookup = rofst.ROFSTLookup;
List<ROFSTLookup.rochild> roValues = lookup.GetRoChildrenByType(1);
foreach (ROFSTLookup.rochild roValue in roValues)
if(Regex.IsMatch(roValue.value,".*[0-9.]E[-+0-9].*"))
Console.WriteLine("_Numbers.Add(new FortranNumber(\"{0}\"));", roValue.value);
}
private void getAllImagesToolStripMenuItem_Click(object sender, EventArgs e)
{
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
if (dvi.DocVersionAssociationCount <= 0)
{
MessageBox.Show("No RO data associations!", "No RO data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
ROFstInfo rofst = dvi.DocVersionAssociations[0].MyROFst;
ROFSTLookup lookup = rofst.ROFSTLookup;
List<ROFSTLookup.rochild> plots = lookup.GetRoChildrenByType(8);
foreach (ROFSTLookup.rochild plot in plots)
Console.WriteLine("plots.Add(\"{0}\",\"{1}\");", plot.roid, plot.appid);
}
private void determineLengthToolStripMenuItem1_Click(object sender, EventArgs e)
{
SectionInfo sect = lbSections.SelectedValue as SectionInfo;
Console.WriteLine("Length of {0} = {1}", sect.MyContent.Number ?? sect.MyContent.Text, DetermineLength(sect));
MyApp.Quit();
_MyApp = null;
}
private float DetermineLength(SectionInfo sect)
{
float retval=0;
using (DSOFile myFile = new DSOFile(sect.MyContent.MyEntry.MyDocument))
{
LBDocumentClass myDoc = MyApp.Documents.Open(myFile.FullName);
retval = myDoc.Length;
myDoc.Close();
}
//MyApp.Quit();
//_MyApp = null;
return retval;
}
private void determineLengthToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcedureInfo proc = lbProcedure.SelectedValue as ProcedureInfo;
AddInfo("{0}:", proc.DisplayNumber);
int i = 0;
if (proc.Sections == null)
{
AddInfo(" No Sections", proc.DisplayNumber);
return;
}
foreach (SectionInfo sect in proc.Sections)
{
// check to see if it contains a Word Document
if (sect.MyContent.ContentEntryCount > 0)
{
AddInfo("\t{0:00.00} pages - {1} - {2} ", DetermineLength(sect), sect.DisplayNumber, sect.DisplayText);
}
}
MyApp.Quit();
_MyApp = null;
}
private void stepsToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionInfo sect = lbSections.SelectedValue as SectionInfo;
if (sect != null) WalkItems(sect);
}
private void WalkItems(ItemInfo itemInfo)
{
MyInfo.MyStatus = string.Format("Processing {0}", ShortPath(itemInfo));
MyInfo.Clear();
WalkSteps(itemInfo);
MyInfo.MyStatus = string.Format("Ready - Output copied to clipboard");
MyInfo.CopyOutput();
}
private int testID = 442;
private void WalkSteps(ItemInfo itemInfo)
{
if(itemInfo.ItemID == testID)
Console.WriteLine("Found TestID");
WalkSteps(itemInfo.Cautions);
WalkSteps(itemInfo.Notes);
MyInfo.AddInfoPartial("{0},'{1}','{2}','{3}'", itemInfo.ItemID, ShortPath(itemInfo), ShortPath(itemInfo.SearchNext), ShortPath(itemInfo.SearchPrev));
WalkSteps(itemInfo.RNOs);
WalkSteps(itemInfo.Tables);
WalkSteps(itemInfo.Procedures);
WalkSteps(itemInfo.Sections);
WalkSteps(itemInfo.Steps);
}
private string ShortPath(ItemInfo itemInfo)
{
if (itemInfo == null)
return "";
if (itemInfo.IsProcedure)
return itemInfo.DisplayNumber;
if (itemInfo.IsSection)
return itemInfo.DisplayNumber != "" ? itemInfo.DisplayNumber : itemInfo.DisplayText;
return itemInfo.Path.Substring(itemInfo.ActiveSection.Path.Length);
}
private void WalkSteps(ItemInfoList itemInfoList)
{
if(itemInfoList != null)
foreach (ItemInfo itemInfo in itemInfoList)
WalkSteps(itemInfo);
}
private void sectionsToolStripMenuItem_Click(object sender, EventArgs e)
{
ProcedureInfo procInfo = lbProcedure.SelectedValue as ProcedureInfo;
MyInfo.MyStatus = string.Format("Processing {0}", procInfo.MyContent.Number);
if (procInfo != null) WalkItems(procInfo);
MyInfo.MyStatus = string.Format("Ready - Output copied to clipboard");
}
private void proceduresToolStripMenuItem_Click(object sender, EventArgs e)
{
DocVersionInfo dvi = lbDocVersion.SelectedValue as DocVersionInfo;
MyInfo.MyStatus = string.Format("Processing");
if (dvi != null)
{
MyInfo.Clear();
foreach (ProcedureInfo procInfo in dvi.Procedures)
{
MyInfo.MyStatus = string.Format("Processing {0}",ShortPath(procInfo));
WalkSteps(procInfo);
}
MyInfo.MyStatus = string.Format("Ready - Output copied to clipboard");
MyInfo.CopyOutput();
}
}
}
enum PDFMethod
{
ToPDF,
ToPDF2003BG,
ToPDF2003FG,
toPDF2007
}
}

View File

@ -0,0 +1,150 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="splitContainer1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="splitContainer2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lbDocVersion.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lbProcedure.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lbSections.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="menuStrip1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="statusStrip1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>