This commit is contained in:
2020-01-22 17:33:34 +00:00
parent 89d6dc275c
commit 6ea9865669
72 changed files with 20072 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>

View File

@@ -0,0 +1,172 @@
using C1.Win.C1FlexGrid;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using VEPROMS.CSLA.Library;
using Volian.Controls.Library;
namespace XMLConvert
{
public partial class frmConvertXML
{
private static void LoadTable2(XmlNode xn, StepLookup mySteps, int level)
{
XmlNode xn2 = xn.SelectSingleNode("tr/td/table");
if (xn2 != null) xn = xn2;
VlnFlexGrid fg = _MyFlexGrid;
fg.Font = new Font("Arial", 11, FontStyle.Regular, GraphicsUnit.Point);
fg.Clear();
fg.Rows.Count = 1;
fg.Cols.Count = 1;
int rows = 0;
fg.MergedRanges.Clear();
foreach (XmlNode xr in xn.ChildNodes)
{
if (xr.Name == "tr")
{
++rows;
AddTableRow(xr, fg, rows);
}
}
fg.MyBorders = new VlnBorders(GridLinePattern.Single, fg.Rows.Count, fg.Cols.Count);
fg.BringToFront();
fg.Invalidate();
Application.DoEvents();
fg.MakeRTFcells();
//Well, Can I save the table
using (Step step = MakeCSLAStep(mySteps, mySteps.Count, null, "table", 20008, E_FromType.Table))
{
Grid.MakeGrid(step.MyContent, fg.GetXMLData(), "");
}
}
public static VlnFlexGrid _MyFlexGrid = null;
private static void AddTableRow(XmlNode xr, VlnFlexGrid fg, int rows)
{
if (rows > fg.Rows.Count)
fg.Rows.Count = rows;
int cols = 0;
foreach (XmlNode xc in xr.ChildNodes)
{
++cols;
//if (xc.InnerText.Contains("RC-V200"))
// Console.WriteLine(xc.InnerText);
//if (xc.InnerText.Contains("RC-V121"))
// Console.WriteLine(xc.InnerText);
//if (xc.InnerXml.Contains("AB 137") || xc.InnerXml.Contains("3013N01"))
// Console.WriteLine("here");
CellRange cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
//Console.WriteLine("Check {0}", cr2);
while (cr2.c1 != cols - 1 || cr2.r1 != rows - 1)
{
cols++;
cr2 = GetMyMergedRange(fg, rows - 1, cols - 1);
}
AddMergedCells(fg, rows, cols, xc);
//ShowMergedCells(fg);
if (xc.Name == "td")
{
AddTableColumn(xc, fg, rows, cols);
}
}
}
private static void ShowMergedCells(VlnFlexGrid fg)
{
for (int r = 0; r < fg.Rows.Count; r++)
{
for (int c = 0; c < fg.Cols.Count; c++)
{
CellRange cr3 = GetMyMergedRange(fg, r, c);
if (fg.MergedRanges.Contains(cr3))
Console.WriteLine("*** cr3 r={0},c={1},rng={2}", r, c, cr3);
}
}
}
private static int GetSpan(string span)
{
int retval = int.Parse("0" + (span ?? ""));
if (retval == 0) return 0;
return retval - 1;
}
private static void AddMergedCells(VlnFlexGrid fg, int rows, int cols, XmlNode xc)
{
string colspan = GetAttribute(xc, "colspan");
string rowspan = GetAttribute(xc, "rowspan");
if (colspan != null || rowspan != null)
{
//AddMergedRanges
int r1 = rows;
int c1 = cols;
int r2 = r1 + GetSpan(rowspan);
if (r2 > fg.Rows.Count) fg.Rows.Count = r2;
int c2 = c1 + GetSpan(colspan);
if (c2 > fg.Cols.Count) fg.Cols.Count = c2;
CellRange cr = new CellRange();
cr.r1 = r1 - 1;
cr.r2 = r2 - 1;
cr.c1 = c1 - 1;
cr.c2 = c2 - 1;
fg.MergedRanges.Add(cr);
//Console.WriteLine("Merged {0}", cr);
}
}
private static CellRange GetMyMergedRange(VlnFlexGrid fg, int r, int c)
{
foreach (CellRange cr in fg.MergedRanges)
{
if (cr.r1 <= r && cr.r2 >= r && cr.c1 <= c && cr.c2 >= c)
return cr;
}
return fg.GetMergedRange(r, c);
}
private static Regex regNumber = new Regex("^[0-9]+$", RegexOptions.Compiled);
private static void AddTableColumn(XmlNode xc, VlnFlexGrid fg, int rows, int cols)
{
//Console.WriteLine("Rows {0}, Cols {1}", rows, cols);
if (cols > fg.Cols.Count)
fg.Cols.Count = cols;
string width = GetAttribute(xc, "width");
if (width != null && width != "" && regNumber.IsMatch(width))
{
if (width.EndsWith("%"))
fg.Cols[cols - 1].Width = (int)(int.Parse(width.Replace("%", "")) * 96 * 6.5F / 100);
else
fg.Cols[cols - 1].Width = int.Parse(width) * 96 / 72;
}
StringBuilder sb = new StringBuilder();
string prefix = "";
foreach (XmlNode xn in xc.ChildNodes)
{
if (xn.Name == "p")
{
sb.Append(prefix + xn.InnerText);
}
if (xn.Name == "ul")
{
foreach (XmlNode xn2 in xn.ChildNodes)
{
if (xn2.Name == "li")
{
sb.Append(prefix + "*" + xn.InnerText);
}
if (xn2.Name == "p")
{
sb.Append(prefix + xn.InnerText);
}
}
}
}
if (width != null && width != "" && !regNumber.IsMatch(width))
{
Console.WriteLine("*** width is not a number {0}, rows {1}, cols {2}, Text='{3}'", width, rows, cols, xc.OuterXml);
}
fg[rows - 1, cols - 1] = sb.ToString();
}
}
}

View File

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

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("XMLConvert")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("XMLConvert")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("76909147-264a-4d49-84e9-6c6da792991a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

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

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:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace XMLConvert.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

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 @@
C1.Win.C1FlexGrid.C1FlexGrid, C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da

View File

@@ -0,0 +1,319 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XMLConvert
{
public partial class frmConvertXML
{
private string xmlSample1 = @"<C1FlexGrid version='1.0.5612.18617'>
<Control>
<MyBorderDetailString>&lt;?xml version='1.0' encoding='utf-16'?&gt;
&lt;VlnBorders Rows='5' Columns='3'&gt;
&lt;VerticalLines Rows='5' Columns='4'&gt;
&lt;Lines&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;/Lines&gt;
&lt;/VerticalLines&gt;
&lt;HorizontalLines Rows='6' Columns='3'&gt;
&lt;Lines&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;GridLinePattern&gt;Single&lt;/GridLinePattern&gt;
&lt;/Lines&gt;
&lt;/HorizontalLines&gt;
&lt;/VlnBorders&gt;</MyBorderDetailString>
<MyBorders>Volian Custom Borders</MyBorders>
<IsRoTable>False</IsRoTable>
<RODbId>0</RODbId>
<DPI>96</DPI>
<FirstEntry>False</FirstEntry>
<BorderColor>Black</BorderColor>
<StyleBackColor>255, 255, 255</StyleBackColor>
<AllowMerging>Custom</AllowMerging>
<AllowResizing>Both</AllowResizing>
<HighLight>WithFocus</HighLight>
<FocusRect>Solid</FocusRect>
<DrawMode>OwnerDraw</DrawMode>
<BackColor>255, 255, 255</BackColor>
<VisualStyle>Custom</VisualStyle>
<ScrollBars>None</ScrollBars>
<Cursor>Default</Cursor>
<Font>Courier New, 12pt</Font>
<Margin>3, 3, 3, 3</Margin>
<MaximumSize>0, 0</MaximumSize>
<MinimumSize>0, 0</MinimumSize>
<RightToLeft>No</RightToLeft>
<Padding>0, 0, 0, 0</Padding>
<ImeMode>NoControl</ImeMode>
</Control>
<ColumnInfo>
<Count>3</Count>
<Fixed>0</Fixed>
<DefaultSize>125</DefaultSize>
</ColumnInfo>
<Columns>
<Column index='0'>
<Width>68</Width>
</Column>
<Column index='1'>
<Width>178</Width>
</Column>
<Column index='2'>
<Width>368</Width>
</Column>
</Columns>
<RowInfo>
<Count>5</Count>
<Fixed>0</Fixed>
<DefaultSize>25</DefaultSize>
</RowInfo>
<Rows>
<Row index='0'>
<Height>25</Height>
</Row>
<Row index='1'>
<Height>25</Height>
</Row>
<Row index='2'>
<Height>25</Height>
</Row>
<Row index='3'>
<Height>25</Height>
</Row>
<Row index='4'>
<Height>51</Height>
</Row>
</Rows>
<Cells>
<Cell index='0,0'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 PROC \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='0,1'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 PROC TITLE \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='0,2'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 FUNCTION \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='1,0'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 R-3 \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='1,1'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Restore CCW \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='1,2'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Cross-tie CCW from Unit Two \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='2,0'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 R-11 \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='2,1'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Restore RHR \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='2,2'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Repower RHR pump(s) from Unit Two \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='3,0'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 LS-2 \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='3,1'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Start-up AFW \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='3,2'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 Cross-tie AFW from Unit Two \par
}
</Data>
<UserData type='System.Int32'>16</UserData>
</Cell>
<Cell index='4,0'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 LS-6 \par
\par
\par
}
</Data>
<UserData type='System.Int32'>48</UserData>
</Cell>
<Cell index='4,1'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 RCS Make-up \par
With CVCS \par
Cross-tie \par
}
</Data>
<UserData type='System.Int32'>48</UserData>
</Cell>
<Cell index='4,2'>
<Data>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Courier New;}}
\viewkind4\uc1\pard\sl-240\slmult0\f0\fs24 CVCS Cross-tie For Level Control\par
\par
}
</Data>
<UserData type='System.Int32'>32</UserData>
</Cell>
</Cells>
<Styles>
<Style>
<Name>Normal</Name>
<Definition>Font:Courier New, 12pt;BackColor:255, 255, 255;TextAlign:LeftTop;Border:Flat,1,Black,Both;</Definition>
</Style>
<Style>
<Name>Alternate</Name>
<Definition>BackColor:255, 255, 255;</Definition>
</Style>
<Style>
<Name>Fixed</Name>
<Definition>BackColor:Control;ForeColor:ControlText;Border:Flat,1,ControlDark,Both;BackgroundImageLayout:Hide;</Definition>
</Style>
<Style>
<Name>Highlight</Name>
<Definition>BackColor:LightCyan;ForeColor:Black;</Definition>
</Style>
<Style>
<Name>Focus</Name>
<Definition>BackColor:LightCyan;ForeColor:Black;</Definition>
</Style>
<Style>
<Name>Editor</Name>
</Style>
<Style>
<Name>Search</Name>
<Definition>BackColor:Highlight;ForeColor:HighlightText;</Definition>
</Style>
<Style>
<Name>Frozen</Name>
<Definition>BackColor:Beige;</Definition>
</Style>
<Style>
<Name>NewRow</Name>
<Definition>ForeColor:GrayText;</Definition>
</Style>
<Style>
<Name>EmptyArea</Name>
<Definition>BackColor:Transparent;Border:None,1,Black,Both;</Definition>
</Style>
<Style>
<Name>SelectedColumnHeader</Name>
</Style>
<Style>
<Name>SelectedRowHeader</Name>
</Style>
<Style>
<Name>GrandTotal</Name>
<Definition>BackColor:Black;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal0</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal1</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal2</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal3</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal4</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>Subtotal5</Name>
<Definition>BackColor:ControlDarkDark;ForeColor:White;</Definition>
</Style>
<Style>
<Name>FilterEditor</Name>
</Style>
<Style>
<Name>FirstCustomStyle</Name>
</Style>
</Styles>
</C1FlexGrid>";
}
}

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C621AE2E-6AFC-41C6-A3D4-F6CAA7ABF2CF}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XMLConvert</RootNamespace>
<AssemblyName>XMLConvert</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="C1.Win.C1FlexGrid.2, Version=2.6.20142.835, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" />
<Reference Include="Csla">
<HintPath>..\..\..\..\..\..\..\Development\csla20cs\Csla\bin\Debug\Csla.dll</HintPath>
</Reference>
<Reference Include="DevComponents.DotNetBar2, Version=14.0.0.11, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL" />
<Reference Include="log4net">
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Design" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="VEPROMS.CSLA.Library">
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\VEPROMS.CSLA.Library.dll</HintPath>
</Reference>
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Development\Proms\VEPROMS.CSLA.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
</Reference>
<Reference Include="Volian.Controls.Library">
<HintPath>..\..\..\..\..\..\..\Development\Proms\Volian.Controls.Library\bin\Debug\Volian.Controls.Library.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ConvertTable.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SampleXML.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConvertXML.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConvertXML.Designer.cs">
<DependentUpon>frmConvertXML.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="vlnhtml.cs" />
<EmbeddedResource Include="frmConvertXML.resx">
<DependentUpon>frmConvertXML.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:XMLConvert"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@@ -0,0 +1,434 @@
namespace XMLConvert
{
partial class frmConvertXML
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.tbFile = new System.Windows.Forms.TextBox();
this.btnLoad = new System.Windows.Forms.Button();
this.tbResults = new System.Windows.Forms.TextBox();
this.btnFindNodeTypes = new System.Windows.Forms.Button();
this.btnStructure = new System.Windows.Forms.Button();
this.btnLoadContent = new System.Windows.Forms.Button();
this.btnLoadProcedure = new System.Windows.Forms.Button();
this.btnBrowse = new System.Windows.Forms.Button();
this.ofd = new System.Windows.Forms.OpenFileDialog();
this.pbSection = new DevComponents.DotNetBar.Controls.ProgressBarX();
this.pbStep = new DevComponents.DotNetBar.Controls.ProgressBarX();
this.btnAll = new System.Windows.Forms.Button();
this.btnAllStructure = new System.Windows.Forms.Button();
this.pbProcs = new DevComponents.DotNetBar.Controls.ProgressBarX();
this.btnAllStructure2 = new System.Windows.Forms.Button();
this.lblProcedure = new System.Windows.Forms.Label();
this.lblSection = new System.Windows.Forms.Label();
this.lblStep = new System.Windows.Forms.Label();
this.btnAllContent = new System.Windows.Forms.Button();
this.btnHTML = new System.Windows.Forms.Button();
this.btnHTML2 = new System.Windows.Forms.Button();
this.btnCandN = new System.Windows.Forms.Button();
this.btnHTLM3 = new System.Windows.Forms.Button();
this.btnAllContent2 = new System.Windows.Forms.Button();
this.btnVerbs = new System.Windows.Forms.Button();
this.btnFigures = new System.Windows.Forms.Button();
this.btnTables = new System.Windows.Forms.Button();
this.bntTable2 = new System.Windows.Forms.Button();
this.btnStepOrNo = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(22, 19);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(48, 13);
this.label1.TabIndex = 0;
this.label1.Text = "XML File";
//
// tbFile
//
this.tbFile.Location = new System.Drawing.Point(85, 17);
this.tbFile.Name = "tbFile";
this.tbFile.Size = new System.Drawing.Size(578, 20);
this.tbFile.TabIndex = 1;
this.tbFile.Text = "C:\\Development\\Proms\\Barakah\\AOPRev1\\AOP CPP Batch 1\\XML\\procedure\\1N2-OP-AOP-MP-" +
"0001 Rev01 FINAL - Main Transformer Abnormal.xml";
//
// btnLoad
//
this.btnLoad.Location = new System.Drawing.Point(12, 43);
this.btnLoad.Name = "btnLoad";
this.btnLoad.Size = new System.Drawing.Size(58, 23);
this.btnLoad.TabIndex = 2;
this.btnLoad.Text = "Load";
this.btnLoad.UseVisualStyleBackColor = true;
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
//
// tbResults
//
this.tbResults.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbResults.Location = new System.Drawing.Point(12, 183);
this.tbResults.Multiline = true;
this.tbResults.Name = "tbResults";
this.tbResults.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.tbResults.Size = new System.Drawing.Size(726, 351);
this.tbResults.TabIndex = 3;
this.tbResults.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbResults_KeyDown);
//
// btnFindNodeTypes
//
this.btnFindNodeTypes.Location = new System.Drawing.Point(76, 43);
this.btnFindNodeTypes.Name = "btnFindNodeTypes";
this.btnFindNodeTypes.Size = new System.Drawing.Size(92, 23);
this.btnFindNodeTypes.TabIndex = 4;
this.btnFindNodeTypes.Text = "FindNodeTypes";
this.btnFindNodeTypes.UseVisualStyleBackColor = true;
this.btnFindNodeTypes.Click += new System.EventHandler(this.btnFindNodeTypes_Click);
//
// btnStructure
//
this.btnStructure.Location = new System.Drawing.Point(174, 43);
this.btnStructure.Name = "btnStructure";
this.btnStructure.Size = new System.Drawing.Size(59, 23);
this.btnStructure.TabIndex = 5;
this.btnStructure.Text = "Structure";
this.btnStructure.UseVisualStyleBackColor = true;
this.btnStructure.Click += new System.EventHandler(this.btnStructure_Click);
//
// btnLoadContent
//
this.btnLoadContent.Location = new System.Drawing.Point(270, 43);
this.btnLoadContent.Name = "btnLoadContent";
this.btnLoadContent.Size = new System.Drawing.Size(83, 23);
this.btnLoadContent.TabIndex = 6;
this.btnLoadContent.Text = "Load Content";
this.btnLoadContent.UseVisualStyleBackColor = true;
this.btnLoadContent.Click += new System.EventHandler(this.btnLoadContent_Click);
//
// btnLoadProcedure
//
this.btnLoadProcedure.AccessibleDescription = "z";
this.btnLoadProcedure.Location = new System.Drawing.Point(643, 43);
this.btnLoadProcedure.Name = "btnLoadProcedure";
this.btnLoadProcedure.Size = new System.Drawing.Size(95, 23);
this.btnLoadProcedure.TabIndex = 7;
this.btnLoadProcedure.Text = "Load Procedure";
this.btnLoadProcedure.UseVisualStyleBackColor = true;
this.btnLoadProcedure.Click += new System.EventHandler(this.btnLoadProcedure_Click);
//
// btnBrowse
//
this.btnBrowse.Location = new System.Drawing.Point(669, 14);
this.btnBrowse.Name = "btnBrowse";
this.btnBrowse.Size = new System.Drawing.Size(75, 23);
this.btnBrowse.TabIndex = 8;
this.btnBrowse.Text = "Browse";
this.btnBrowse.UseVisualStyleBackColor = true;
this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
//
// ofd
//
this.ofd.FileName = "openFileDialog1";
//
// pbSection
//
//
//
//
this.pbSection.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.pbSection.Location = new System.Drawing.Point(99, 141);
this.pbSection.Name = "pbSection";
this.pbSection.Size = new System.Drawing.Size(639, 12);
this.pbSection.TabIndex = 9;
this.pbSection.Text = "progressBarX1";
//
// pbStep
//
//
//
//
this.pbStep.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.pbStep.Location = new System.Drawing.Point(99, 159);
this.pbStep.Name = "pbStep";
this.pbStep.Size = new System.Drawing.Size(639, 13);
this.pbStep.TabIndex = 10;
this.pbStep.Text = "progressBarX2";
//
// btnAll
//
this.btnAll.Location = new System.Drawing.Point(705, 72);
this.btnAll.Name = "btnAll";
this.btnAll.Size = new System.Drawing.Size(33, 23);
this.btnAll.TabIndex = 11;
this.btnAll.Text = "All";
this.btnAll.UseVisualStyleBackColor = true;
this.btnAll.Click += new System.EventHandler(this.btnAll_Click);
//
// btnAllStructure
//
this.btnAllStructure.Location = new System.Drawing.Point(186, 72);
this.btnAllStructure.Name = "btnAllStructure";
this.btnAllStructure.Size = new System.Drawing.Size(47, 23);
this.btnAllStructure.TabIndex = 12;
this.btnAllStructure.Text = "All Structure";
this.btnAllStructure.UseVisualStyleBackColor = true;
this.btnAllStructure.Click += new System.EventHandler(this.btnAllStructure_Click);
//
// pbProcs
//
//
//
//
this.pbProcs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.pbProcs.Location = new System.Drawing.Point(99, 123);
this.pbProcs.Name = "pbProcs";
this.pbProcs.Size = new System.Drawing.Size(639, 12);
this.pbProcs.TabIndex = 13;
this.pbProcs.Text = "progressBarX1";
//
// btnAllStructure2
//
this.btnAllStructure2.Location = new System.Drawing.Point(186, 94);
this.btnAllStructure2.Name = "btnAllStructure2";
this.btnAllStructure2.Size = new System.Drawing.Size(47, 23);
this.btnAllStructure2.TabIndex = 14;
this.btnAllStructure2.Text = "All Structure";
this.btnAllStructure2.UseVisualStyleBackColor = true;
this.btnAllStructure2.Click += new System.EventHandler(this.btnAllStructure2_Click);
//
// lblProcedure
//
this.lblProcedure.Location = new System.Drawing.Point(12, 123);
this.lblProcedure.Name = "lblProcedure";
this.lblProcedure.Size = new System.Drawing.Size(86, 18);
this.lblProcedure.TabIndex = 15;
this.lblProcedure.Text = "Procedure";
//
// lblSection
//
this.lblSection.Location = new System.Drawing.Point(12, 141);
this.lblSection.Name = "lblSection";
this.lblSection.Size = new System.Drawing.Size(86, 18);
this.lblSection.TabIndex = 16;
this.lblSection.Text = "Section";
//
// lblStep
//
this.lblStep.Location = new System.Drawing.Point(12, 160);
this.lblStep.Name = "lblStep";
this.lblStep.Size = new System.Drawing.Size(86, 18);
this.lblStep.TabIndex = 17;
this.lblStep.Text = "Step";
//
// btnAllContent
//
this.btnAllContent.Location = new System.Drawing.Point(270, 72);
this.btnAllContent.Name = "btnAllContent";
this.btnAllContent.Size = new System.Drawing.Size(33, 23);
this.btnAllContent.TabIndex = 18;
this.btnAllContent.Text = "All";
this.btnAllContent.UseVisualStyleBackColor = true;
this.btnAllContent.Click += new System.EventHandler(this.btnAllContent_Click);
//
// btnHTML
//
this.btnHTML.Location = new System.Drawing.Point(359, 43);
this.btnHTML.Name = "btnHTML";
this.btnHTML.Size = new System.Drawing.Size(51, 23);
this.btnHTML.TabIndex = 19;
this.btnHTML.Text = "HTML";
this.btnHTML.UseVisualStyleBackColor = true;
this.btnHTML.Click += new System.EventHandler(this.btnHTML_Click);
//
// btnHTML2
//
this.btnHTML2.Location = new System.Drawing.Point(359, 72);
this.btnHTML2.Name = "btnHTML2";
this.btnHTML2.Size = new System.Drawing.Size(51, 23);
this.btnHTML2.TabIndex = 20;
this.btnHTML2.Text = "HTML2";
this.btnHTML2.UseVisualStyleBackColor = true;
this.btnHTML2.Click += new System.EventHandler(this.btnHTML2_Click);
//
// btnCandN
//
this.btnCandN.Location = new System.Drawing.Point(416, 43);
this.btnCandN.Name = "btnCandN";
this.btnCandN.Size = new System.Drawing.Size(58, 23);
this.btnCandN.TabIndex = 21;
this.btnCandN.Text = "C and N";
this.btnCandN.UseVisualStyleBackColor = true;
this.btnCandN.Click += new System.EventHandler(this.btnCandN_Click);
//
// btnHTLM3
//
this.btnHTLM3.Location = new System.Drawing.Point(359, 94);
this.btnHTLM3.Name = "btnHTLM3";
this.btnHTLM3.Size = new System.Drawing.Size(51, 23);
this.btnHTLM3.TabIndex = 22;
this.btnHTLM3.Text = "HTML3";
this.btnHTLM3.UseVisualStyleBackColor = true;
this.btnHTLM3.Click += new System.EventHandler(this.btnHTLM3_Click);
//
// btnAllContent2
//
this.btnAllContent2.Location = new System.Drawing.Point(270, 94);
this.btnAllContent2.Name = "btnAllContent2";
this.btnAllContent2.Size = new System.Drawing.Size(33, 23);
this.btnAllContent2.TabIndex = 18;
this.btnAllContent2.Text = "All2";
this.btnAllContent2.UseVisualStyleBackColor = true;
this.btnAllContent2.Click += new System.EventHandler(this.btnAllContent2_Click);
//
// btnVerbs
//
this.btnVerbs.Location = new System.Drawing.Point(416, 72);
this.btnVerbs.Name = "btnVerbs";
this.btnVerbs.Size = new System.Drawing.Size(58, 23);
this.btnVerbs.TabIndex = 23;
this.btnVerbs.Text = "Verbs";
this.btnVerbs.UseVisualStyleBackColor = true;
this.btnVerbs.Click += new System.EventHandler(this.btnVerbs_Click);
//
// btnFigures
//
this.btnFigures.Location = new System.Drawing.Point(416, 94);
this.btnFigures.Name = "btnFigures";
this.btnFigures.Size = new System.Drawing.Size(58, 24);
this.btnFigures.TabIndex = 24;
this.btnFigures.Text = "Figures";
this.btnFigures.UseVisualStyleBackColor = true;
this.btnFigures.Click += new System.EventHandler(this.btnFigures_Click);
//
// btnTables
//
this.btnTables.Location = new System.Drawing.Point(480, 72);
this.btnTables.Name = "btnTables";
this.btnTables.Size = new System.Drawing.Size(65, 23);
this.btnTables.TabIndex = 25;
this.btnTables.Text = "Tables";
this.btnTables.UseVisualStyleBackColor = true;
this.btnTables.Click += new System.EventHandler(this.btnTables_Click);
//
// bntTable2
//
this.bntTable2.Location = new System.Drawing.Point(558, 72);
this.bntTable2.Name = "bntTable2";
this.bntTable2.Size = new System.Drawing.Size(67, 22);
this.bntTable2.TabIndex = 26;
this.bntTable2.Text = "Table2";
this.bntTable2.UseVisualStyleBackColor = true;
this.bntTable2.Click += new System.EventHandler(this.bntTable2_Click);
//
// btnStepOrNo
//
this.btnStepOrNo.Location = new System.Drawing.Point(480, 43);
this.btnStepOrNo.Name = "btnStepOrNo";
this.btnStepOrNo.Size = new System.Drawing.Size(73, 23);
this.btnStepOrNo.TabIndex = 27;
this.btnStepOrNo.Text = "StepOrNot";
this.btnStepOrNo.UseVisualStyleBackColor = true;
this.btnStepOrNo.Click += new System.EventHandler(this.btnStepOrNo_Click);
//
// frmConvertXML
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(750, 557);
this.Controls.Add(this.btnStepOrNo);
this.Controls.Add(this.bntTable2);
this.Controls.Add(this.btnTables);
this.Controls.Add(this.btnFigures);
this.Controls.Add(this.btnVerbs);
this.Controls.Add(this.btnHTLM3);
this.Controls.Add(this.btnCandN);
this.Controls.Add(this.btnHTML2);
this.Controls.Add(this.btnHTML);
this.Controls.Add(this.btnAllContent2);
this.Controls.Add(this.btnAllContent);
this.Controls.Add(this.lblStep);
this.Controls.Add(this.lblSection);
this.Controls.Add(this.lblProcedure);
this.Controls.Add(this.btnAllStructure2);
this.Controls.Add(this.pbProcs);
this.Controls.Add(this.btnAllStructure);
this.Controls.Add(this.btnAll);
this.Controls.Add(this.pbStep);
this.Controls.Add(this.pbSection);
this.Controls.Add(this.btnBrowse);
this.Controls.Add(this.btnLoadProcedure);
this.Controls.Add(this.btnLoadContent);
this.Controls.Add(this.btnStructure);
this.Controls.Add(this.btnFindNodeTypes);
this.Controls.Add(this.tbResults);
this.Controls.Add(this.btnLoad);
this.Controls.Add(this.tbFile);
this.Controls.Add(this.label1);
this.Name = "frmConvertXML";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tbFile;
private System.Windows.Forms.Button btnLoad;
private System.Windows.Forms.TextBox tbResults;
private System.Windows.Forms.Button btnFindNodeTypes;
private System.Windows.Forms.Button btnStructure;
private System.Windows.Forms.Button btnLoadContent;
private System.Windows.Forms.Button btnLoadProcedure;
private System.Windows.Forms.Button btnBrowse;
private System.Windows.Forms.OpenFileDialog ofd;
private DevComponents.DotNetBar.Controls.ProgressBarX pbSection;
private DevComponents.DotNetBar.Controls.ProgressBarX pbStep;
private System.Windows.Forms.Button btnAll;
private System.Windows.Forms.Button btnAllStructure;
private DevComponents.DotNetBar.Controls.ProgressBarX pbProcs;
private System.Windows.Forms.Button btnAllStructure2;
private System.Windows.Forms.Label lblProcedure;
private System.Windows.Forms.Label lblSection;
private System.Windows.Forms.Label lblStep;
private System.Windows.Forms.Button btnAllContent;
private System.Windows.Forms.Button btnHTML;
private System.Windows.Forms.Button btnHTML2;
private System.Windows.Forms.Button btnCandN;
private System.Windows.Forms.Button btnHTLM3;
private System.Windows.Forms.Button btnAllContent2;
private System.Windows.Forms.Button btnVerbs;
private System.Windows.Forms.Button btnFigures;
private System.Windows.Forms.Button btnTables;
private System.Windows.Forms.Button bntTable2;
private System.Windows.Forms.Button btnStepOrNo;
}
}

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,742 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.ComponentModel;
using System.Xml;
using System.Xml.Schema;
using System.IO;
namespace XMLConvert
{
/// <summary>
/// Root Node
/// </summary>
[XmlRoot("html")]
public class vlnhtml : VlnHtmlContainer
{
}
[TypeConverter(typeof(ExpandableObjectConverter))]
/// <summary>
/// Part
/// </summary>
public class VlnHtmlPart
{
#region ID
protected string _ID = string.Empty;
[System.ComponentModel.DefaultValueAttribute("")]
[XmlIgnore]
public string ID
{
get { return _ID; }
set { _ID = value; }
}
#endregion
//#region Parent and Containing Svg
//// ToDo: MyParent
//private SvgPartGrouping _MyParent;
//[XmlIgnore()]
//public SvgPartGrouping MyParent
//{
// get { return _MyParent; }
// set { _MyParent = value; }
//}
//// ToDo: MySvg
//private Svg _MySvg;
//public Svg MySvg
//{
// get { return _MySvg; }
// set { _MySvg = value; }
//}
//internal void SetParent(SvgPartGrouping myParent)
//{
// _MyParent = myParent;
// _MySvg = myParent.MySvg == null? MyParent : myParent.MySvg;
//}
//#endregion
#region Dictionary of Parts
internal virtual void AddLookup(Dictionary<string, VlnHtmlPart> lookUp)
{
if (_ID != string.Empty && !lookUp.ContainsKey(_ID))
lookUp.Add(_ID, this);
}
#endregion
}
[Serializable()]
[TypeConverter(typeof(VlnHtmlPartsConverter))]
/// <summary>
/// Parts
/// </summary>
public class VlnHtmlParts : CollectionBase, ICustomTypeDescriptor
{
/// <summary>Notifies when the collection has been modified.</summary>
public event EventHandler OnItemsChanged;
/// <summary>Notifies that an item has been added.</summary>
public event VlnHtmlPartHandler OnItemAdd;
/// <summary>Notifies that items have been added.</summary>
public event VlnHtmlPartHandler OnItemsAdd;
/// <summary>Notifies that an item has been removed.</summary>
public event VlnHtmlPartHandler OnItemRemove;
/// <summary>
/// <para>
/// Initializes a new instance of <see cref='VlnHtmlPart'/>.
/// </para>
/// </summary>
public VlnHtmlParts()
{
}
/// <summary>
/// <para>
/// Initializes a new instance of <see cref='VlnHtmlPart'/> based on another <see cref='VlnHtmlPart'/>.
/// </para>
/// </summary>
/// <param name='value'>
/// A <see cref='VlnHtmlPart'/> from which the contents are copied
/// </param>
public VlnHtmlParts(VlnHtmlParts value)
{
this.AddRange(value);
}
/// <summary>
/// <para>
/// Initializes a new instance of <see cref='VlnHtmlPart'/> containing any array of <see cref='VlnHtmlPart'/> objects.
/// </para>
/// </summary>
/// <param name='value'>
/// A array of <see cref='VlnHtmlPart'/> objects with which to intialize the collection
/// </param>
public VlnHtmlParts(VlnHtmlPart[] value)
{
this.AddRange(value);
}
/// <summary>
/// <para>Represents the entry at the specified index of the <see cref='VlnHtmlPart'/>.</para>
/// </summary>
/// <param name='index'><para>The zero-based index of the entry to locate in the collection.</para></param>
/// <value>
/// <para> The entry at the specified index of the collection.</para>
/// </value>
/// <exception cref='System.ArgumentOutOfRangeException'><paramref name='index'/> is outside the valid range of indexes for the collection.</exception>
public VlnHtmlPart this[int index]
{
get { return ((VlnHtmlPart)(List[index])); }
set { List[index] = value; }
}
//#region SetupInheritance
//internal void SetupInheritance(SvgInheritedSettings myParentsSettings)
//{
// foreach (vlnhtmlpart vlnhtmlpart in List)
// vlnhtmlpart.SetupInheritance(myParentsSettings);
//}
//#endregion
#region Dictionary of Parts
internal void AddLookup(Dictionary<string, VlnHtmlPart> lookUp)
{
foreach (VlnHtmlPart vlnhtmlpart in List)
vlnhtmlpart.AddLookup(lookUp);
}
#endregion
internal static void ShowException(Exception ex)
{
StringBuilder sb = new StringBuilder();
string sep = "";
for (Exception ex1 = ex; ex1 != null; ex1 = ex1.InnerException)
{
sb.Append(sep + string.Format("ShowException {0} - {1}", ex1.GetType().Name, ex1.Message));
sep = "\r\n";
}
Console.WriteLine(sb);
}
/// <summary>
/// <para>Adds a <see cref='VlnHtmlPart'/> with the specified value to the
/// <see cref='VlnHtmlPart'/> .</para>
/// </summary>
/// <param name='value'>The <see cref='VlnHtmlPart'/> to add.</param>
/// <returns>
/// <para>The index at which the new element was inserted.</para>
/// </returns>
/// <seealso cref='VlnHtmlParts.AddRange'/>
public int Add(VlnHtmlPart value)
{
int ndx = List.Add(value);
if (OnItemAdd != null) { OnItemAdd(this, new vlnhtmlpartArgs(value)); }
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
return ndx;
}
/// <summary>
/// <para>Copies the elements of an array to the end of the <see cref='VlnHtmlPart'/>.</para>
/// </summary>
/// <param name='value'>
/// An array of type <see cref='VlnHtmlPart'/> containing the objects to add to the collection.
/// </param>
/// <returns>
/// <para>None.</para>
/// </returns>
/// <seealso cref='VlnHtmlParts.Add'/>
public void AddRange(VlnHtmlPart[] value)
{
for (int i = 0; i < value.Length; i++)
{
this.Add(value[i]);
}
if (OnItemsAdd != null) { OnItemsAdd(this, new vlnhtmlpartArgs(value)); }
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
}
/// <summary>
/// <para>
/// Adds the contents of another <see cref='VlnHtmlPart'/> to the end of the collection.
/// </para>
/// </summary>
/// <param name='value'>
/// A <see cref='VlnHtmlPart'/> containing the objects to add to the collection.
/// </param>
/// <returns>
/// <para>None.</para>
/// </returns>
/// <seealso cref='VlnHtmlParts.Add'/>
public void AddRange(VlnHtmlParts value)
{
for (int i = 0; i < value.Count; i++)
{
this.Add(value[i]);
}
if (OnItemsAdd != null) { OnItemsAdd(this, new vlnhtmlpartArgs(value)); }
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
}
/// <summary>
/// <para>Gets a value indicating whether the
/// <see cref='VlnHtmlPart'/> contains the specified <see cref='VlnHtmlPart'/>.</para>
/// </summary>
/// <param name='value'>The <see cref='VlnHtmlPart'/> to locate.</param>
/// <returns>
/// <para><see langword='true'/> if the <see cref='VlnHtmlPart'/> is contained in the collection;
/// otherwise, <see langword='false'/>.</para>
/// </returns>
/// <seealso cref='VlnHtmlParts.IndexOf'/>
public bool Contains(VlnHtmlPart value)
{
return List.Contains(value);
}
/// <summary>
/// <para>Copies the <see cref='VlnHtmlPart'/> values to a one-dimensional <see cref='System.Array'/> instance at the
/// specified index.</para>
/// </summary>
/// <param name='array'><para>The one-dimensional <see cref='System.Array'/> that is the destination of the values copied from <see cref='VlnHtmlPart'/> .</para></param>
/// <param name='index'>The index in <paramref name='array'/> where copying begins.</param>
/// <returns>
/// <para>None.</para>
/// </returns>
/// <exception cref='System.ArgumentException'><para><paramref name='array'/> is multidimensional.</para> <para>-or-</para> <para>The number of elements in the <see cref='VlnHtmlPart'/> is greater than the available space between <paramref name='arrayIndex'/> and the end of <paramref name='array'/>.</para></exception>
/// <exception cref='System.ArgumentNullException'><paramref name='array'/> is <see langword='null'/>. </exception>
/// <exception cref='System.ArgumentOutOfRangeException'><paramref name='arrayIndex'/> is less than <paramref name='array'/>'s lowbound. </exception>
/// <seealso cref='System.Array'/>
public void CopyTo(VlnHtmlPart[] array, int index)
{
List.CopyTo(array, index);
}
/// <summary>
/// <para>Returns the index of a <see cref='VlnHtmlPart'/> in
/// the <see cref='VlnHtmlPart'/> .</para>
/// </summary>
/// <param name='value'>The <see cref='VlnHtmlPart'/> to locate.</param>
/// <returns>
/// <para>The index of the <see cref='VlnHtmlPart'/> of <paramref name='value'/> in the
/// <see cref='VlnHtmlPart'/>, if found; otherwise, -1.</para>
/// </returns>
/// <seealso cref='VlnHtmlParts.Contains'/>
public int IndexOf(VlnHtmlPart value)
{
return List.IndexOf(value);
}
/// <summary>
/// <para>Inserts a <see cref='VlnHtmlPart'/> into the <see cref='VlnHtmlParts'/> at the specified index.</para>
/// </summary>
/// <param name='index'>The zero-based index where <paramref name='value'/> should be inserted.</param>
/// <param name=' value'>The <see cref='VlnHtmlPart'/> to insert.</param>
/// <returns><para>None.</para></returns>
/// <seealso cref='VlnHtmlParts.Add'/>
public void Insert(int index, VlnHtmlPart value)
{
List.Insert(index, value);
if (OnItemAdd != null) { OnItemAdd(this, new vlnhtmlpartArgs(value)); }
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
}
/// <summary>
/// <para> Removes a specific <see cref='VlnHtmlPart'/> from the
/// <see cref='VlnHtmlParts'/> .</para>
/// </summary>
/// <param name='value'>The <see cref='VlnHtmlPart'/> to remove from the <see cref='VlnHtmlParts'/> .</param>
/// <returns><para>None.</para></returns>
/// <exception cref='System.ArgumentException'><paramref name='value'/> is not found in the Collection. </exception>
public void Remove(VlnHtmlPart value)
{
List.Remove(value);
if (OnItemRemove != null) { OnItemRemove(this, new vlnhtmlpartArgs(value)); }
if (OnItemsChanged != null) { OnItemsChanged(value, EventArgs.Empty); }
}
#region ICustomTypeDescriptor impl
public String GetClassName()
{ return TypeDescriptor.GetClassName(this, true); }
public AttributeCollection GetAttributes()
{ return TypeDescriptor.GetAttributes(this, true); }
public String GetComponentName()
{ return TypeDescriptor.GetComponentName(this, true); }
public TypeConverter GetConverter()
{ return TypeDescriptor.GetConverter(this, true); }
public EventDescriptor GetDefaultEvent()
{ return TypeDescriptor.GetDefaultEvent(this, true); }
public PropertyDescriptor GetDefaultProperty()
{ return TypeDescriptor.GetDefaultProperty(this, true); }
public object GetEditor(Type editorBaseType)
{ return TypeDescriptor.GetEditor(this, editorBaseType, true); }
public EventDescriptorCollection GetEvents(System.Attribute[] attributes)
{ return TypeDescriptor.GetEvents(this, attributes, true); }
public EventDescriptorCollection GetEvents()
{ return TypeDescriptor.GetEvents(this, true); }
public object GetPropertyOwner(PropertyDescriptor pd)
{ return this; }
/// <summary>
/// Called to get the properties of this type. Returns properties with certain
/// attributes. this restriction is not implemented here.
/// </summary>
/// <param name="attributes"></param>
/// <returns></returns>
public PropertyDescriptorCollection GetProperties(System.Attribute[] attributes)
{ return GetProperties(); }
/// <summary>
/// Called to get the properties of this type.
/// </summary>
/// <returns></returns>
public PropertyDescriptorCollection GetProperties()
{
// Create a collection object to hold property descriptors
PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null);
// Iterate the list
for (int i = 0; i < this.Count; i++)
{
// Create a property descriptor for the item and add to the property descriptor collection
vlnhtmlpartsPropertyDescriptor pd = new vlnhtmlpartsPropertyDescriptor(this, i);
pds.Add(pd);
}
// return the property descriptor collection
return pds;
}
#endregion
/// Event arguments for the vlnhtmlparts collection class.
public class vlnhtmlpartArgs : EventArgs
{
private VlnHtmlParts t;
/// Default constructor.
public vlnhtmlpartArgs()
{
t = new VlnHtmlParts();
}
/// Initializes with a vlnhtmlpart.
/// Data object.
public vlnhtmlpartArgs(VlnHtmlPart t)
: this()
{
this.t.Add(t);
}
/// Initializes with a collection of vlnhtmlpart objects.
/// Collection of data.
public vlnhtmlpartArgs(VlnHtmlParts ts)
: this()
{
this.t.AddRange(ts);
}
/// Initializes with an array of vlnhtmlpart objects.
/// Array of data.
public vlnhtmlpartArgs(VlnHtmlPart[] ts)
: this()
{
this.t.AddRange(ts);
}
/// Gets or sets the data of this argument.
public VlnHtmlParts vlnhtmlparts
{
get { return t; }
set { t = value; }
}
}
/// vlnhtmlparts event handler.
public delegate void VlnHtmlPartHandler(object sender, vlnhtmlpartArgs e);
#region Property Descriptor
/// <summary>
/// Summary description for CollectionPropertyDescriptor.
/// </summary>
public partial class vlnhtmlpartsPropertyDescriptor : vlnListPropertyDescriptor
{
private VlnHtmlPart Item { get { return (VlnHtmlPart)_Item; } }
public vlnhtmlpartsPropertyDescriptor(VlnHtmlParts collection, int index) : base(collection, index) { ;}
public override string DisplayName
{ get { return Item.GetType().Name; } }
}
#endregion
[Serializable()]
public partial class vlnListPropertyDescriptor : PropertyDescriptor
{
protected object _Item = null;
public vlnListPropertyDescriptor(System.Collections.IList collection, int index)
: base("#" + index.ToString(), null)
{ _Item = collection[index]; }
public override bool CanResetValue(object component)
{ return true; }
public override Type ComponentType
{ get { return _Item.GetType(); } }
public override object GetValue(object component)
{ return _Item; }
public override bool IsReadOnly
{ get { return false; } }
public override Type PropertyType
{ get { return _Item.GetType(); } }
public override void ResetValue(object component)
{ ;}
public override bool ShouldSerializeValue(object component)
{ return true; }
public override void SetValue(object component, object value)
{ /*_Item = value*/;}
//public override AttributeCollection Attributes
//{ get { return new AttributeCollection(null); } }
public override string DisplayName
{ get { return _Item.ToString(); } }
public override string Description
{ get { return _Item.ToString(); } }
public override string Name
{ get { return _Item.ToString(); } }
} // Class
#region Converter
internal class VlnHtmlPartsConverter : ExpandableObjectConverter
{
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
{
if (destType == typeof(string) && value is VlnHtmlParts)
{
// Return department and department role separated by comma.
return ((VlnHtmlParts)value).List.Count.ToString() + " SVG Drawing Parts";
}
return base.ConvertTo(context, culture, value, destType);
}
}
#endregion
/// SVGParts event handler.
//public delegate void VlnHtmlPartHandler(object sender, VlnHtmlPartArgs e);
//#region Property Descriptor
///// <summary>
///// Summary description for CollectionPropertyDescriptor.
///// </summary>
//public partial class VlnHtmlPartsPropertyDescriptor : vlnListPropertyDescriptor
//{
// private VlnHtmlPart Item { get { return (VlnHtmlPart)_Item; } }
// public VlnHtmlPartsPropertyDescriptor(VlnHtmlParts collection, int index) : base(collection, index) { ;}
// public override string DisplayName
// { get { return Item.GetType().Name; } }
//}
//#endregion
//[Serializable()]
//public partial class vlnListPropertyDescriptor : PropertyDescriptor
//{
// protected object _Item = null;
// public vlnListPropertyDescriptor(System.Collections.IList collection, int index)
// : base("#" + index.ToString(), null)
// { _Item = collection[index]; }
// public override bool CanResetValue(object component)
// { return true; }
// public override Type ComponentType
// { get { return _Item.GetType(); } }
// public override object GetValue(object component)
// { return _Item; }
// public override bool IsReadOnly
// { get { return false; } }
// public override Type PropertyType
// { get { return _Item.GetType(); } }
// public override void ResetValue(object component)
// { ;}
// public override bool ShouldSerializeValue(object component)
// { return true; }
// public override void SetValue(object component, object value)
// { /*_Item = value*/;}
// //public override AttributeCollection Attributes
// //{ get { return new AttributeCollection(null); } }
// public override string DisplayName
// { get { return _Item.ToString(); } }
// public override string Description
// { get { return _Item.ToString(); } }
// public override string Name
// { get { return _Item.ToString(); } }
//} // Class
//#region Converter
//internal class VlnHtmlPartsConverter : ExpandableObjectConverter
//{
// public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
// {
// if (destType == typeof(string) && value is VlnHtmlParts)
// {
// // Return department and department role separated by comma.
// return ((VlnHtmlParts)value).List.Count.ToString() + " Vln Html Parts";
// }
// return base.ConvertTo(context, culture, value, destType);
// }
//}
// }
//#endregion
}
/// <summary>
/// Hyperrlink
/// </summary>
public class vlnhtml_a
{
//url
}
public class vlnhtmlContent : VlnHtmlPart
{
string _text;
[XmlText]
public string Text
{
get { return _text; }
set { _text = value; }
}
string _style;// -qt-block-indent:1or2
[XmlAttribute("style")]
public string Style
{
get { return _style; }
set { _style = value; }
}
string _align;// Center Right Justify
[XmlAttribute("align")]
public string Align
{
get { return _align; }
set { _align = value; }
}
}
/// <summary>
/// Paragraph
/// </summary>
public class vlnhtml_p : vlnhtmlContent
{
}
/// <summary>
/// Break
/// </summary>
public class vlnhtml_br : VlnHtmlPart
{
}
/// <summary>
/// Image
/// </summary>
public class vlnhtml_img : VlnHtmlPart
{
string _src;//filename and Path
[XmlAttribute("src")]
public string Src
{
get { return _src; }
set { _src = value; }
}
int _width;
[XmlAttribute("width")]
public int Width
{
get { return _width; }
set { _width = value; }
}
}
/// <summary>
/// Container
/// </summary>
public class VlnHtmlContainer : VlnHtmlPart
{
VlnHtmlParts _Children = new VlnHtmlParts();
[XmlElement("ul", typeof(vlnhtml_ul))]
[XmlElement("ol", typeof(vlnhtml_ol))]
[XmlElement("li", typeof(vlnhtml_li))]
[XmlElement("p", typeof(vlnhtml_p))]
[XmlElement("a", typeof(vlnhtml_a))]
[XmlElement("br", typeof(vlnhtml_br))]
[XmlElement("img", typeof(vlnhtml_img))]
[XmlElement("table", typeof(vlnhtml_table))]
internal VlnHtmlParts Children
{
get
{
//if (_Children == null)
// _Children = new VlnHtmlParts();
return _Children;
}
set { _Children = value; }
}
}
/// <summary>
/// Ordered List
/// </summary>
public class vlnhtml_ol : VlnHtmlContainer
{
string _style;// -qt-block-indent:1or2
[XmlAttribute("style")]
public string Style
{
get { return _style; }
set { _style = value; }
}
}
/// <summary>
/// Unordered List
/// </summary>
public class vlnhtml_ul : VlnHtmlContainer
{
string _style;// -qt-block-indent:1or2
[XmlAttribute("style")]
public string Style
{
get { return _style; }
set { _style = value; }
}
}
/// <summary>
/// List Item
/// </summary>
public class vlnhtml_li : vlnhtmlContent
{
}
/// <summary>
/// Table
/// </summary>
public class vlnhtml_table : VlnHtmlContainer
{
string _style;// -qt-block-indent:1or2
[XmlAttribute("style")]
public string Style
{
get { return _style; }
set { _style = value; }
}
int _border;//
int _cellspacing;
int _cellpadding;
}
public class vlnhtml_tr : VlnHtmlContainer
{
}
public class vlnhtml_td : VlnHtmlContainer
{
}
public static class HtmlSerializer<T> where T : class
{
public static string StringSerialize(T t)
{
string strOutput = string.Empty;
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
using (MemoryStream ms = new MemoryStream())
{
xs.Serialize(new NonXsiTextWriter(ms, Encoding.UTF8), t);
//xs.Serialize(ms, t);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
strOutput = sr.ReadToEnd();
ms.Close();
}
return strOutput;
}
public static T StringDeserialize(string s)
{
T t;
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
UTF8Encoding enc = new UTF8Encoding();
Byte[] arrBytData = enc.GetBytes(s);
using (MemoryStream ms = new MemoryStream(arrBytData))
{
t = (T)xs.Deserialize(ms);
}
return t;
}
public static void WriteFile(T t, string fileName)
{
string strOutput = string.Empty;
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
using (FileStream fs = new FileStream(fileName, FileMode.Create))
{
xs.Serialize(new NonXsiTextWriter(fs, Encoding.UTF8), t);
fs.Close();
}
}
public static T ReadFile(string fileName)
{
T t;
XmlSerializer xs = new XmlSerializer(typeof(T), "http://www.w3.org/2000/html");
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
t = (T)xs.Deserialize(fs);
}
return t;
}
}
public class NonXsiTextWriter : XmlTextWriter
{
public NonXsiTextWriter(TextWriter w) : base(w) { }
public NonXsiTextWriter(Stream w, Encoding encoding)
: base(w, encoding)
{
this.Formatting = Formatting.Indented;
}
public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
bool _skip = false;
public override void WriteStartAttribute(string prefix, string localName, string ns)
{
if ((prefix == "xmlns" && (localName == "xsd" || localName == "xsi")) || // Omits XSD and XSI declarations.
ns == XmlSchema.InstanceNamespace) // Omits all XSI attributes.
{
_skip = true;
return;
}
if (localName == "xlink_href")
base.WriteStartAttribute(prefix, "xlink:href", ns);
else
base.WriteStartAttribute(prefix, localName, ns);
}
public override void WriteString(string text)
{
if (_skip) return;
base.WriteString(text);
}
public override void WriteEndAttribute()
{
if (_skip)
{ // Reset the flag, so we keep writing.
_skip = false;
return;
}
base.WriteEndAttribute();
}
}
}