From 589c7a92b276c31c56217b7bb31524bbd982d5ce Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期三, 11 九月 2024 11:09:42 +0800
Subject: [PATCH] 报表

---
 /dev/null                                          |   42 ----
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.resx           |  178 +++++++++++++++++++
 DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.Designer.cs |    9 
 DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs          |   87 +++++++++
 DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx        |    0 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.Designer.cs    |  101 +++++++++++
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs             |   95 ++++++++++
 7 files changed, 467 insertions(+), 45 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.Designer.cs
similarity index 88%
rename from DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs
rename to DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.Designer.cs
index d69534b..2f4545f 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.Designer.cs
@@ -1,7 +1,7 @@
 锘�
 namespace Gs.DevApp.DevFrm.Rpt
 {
-    partial class RptUser
+    partial class RptPreview
     {
         /// <summary>
         /// Required designer variable.
@@ -41,7 +41,7 @@
             this.previewControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.previewControl1.Name = "previewControl1";
             this.previewControl1.PageOffset = new System.Drawing.Point(10, 10);
-            this.previewControl1.Size = new System.Drawing.Size(564, 543);
+            this.previewControl1.Size = new System.Drawing.Size(712, 543);
             this.previewControl1.TabIndex = 0;
             this.previewControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
             // 
@@ -49,10 +49,13 @@
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(564, 543);
+            this.ClientSize = new System.Drawing.Size(712, 543);
             this.Controls.Add(this.previewControl1);
+            this.MinimizeBox = false;
             this.Name = "RptUser";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
             this.Text = "RptUser";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
             this.ResumeLayout(false);
 
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs
new file mode 100644
index 0000000..5beb15b
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs
@@ -0,0 +1,87 @@
+锘�
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using DevExpress.XtraBars.Navigation;
+using DevExpress.XtraTab;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Drawing;
+using System.Reflection;
+using System.Windows.Forms;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Gs.DevApp.Entity;
+using Newtonsoft.Json.Linq;
+using System.IO;
+
+namespace Gs.DevApp.DevFrm.Rpt
+{
+    public partial class RptPreview : DevExpress.XtraEditors.XtraForm
+    {
+        private string _reportType;
+        public RptPreview(string reportType)
+        {
+            _reportType = reportType;
+            InitializeComponent();
+            getPageList();
+        }
+
+        /// <summary>
+        /// 璇诲彇鎶ヨ〃鏁版嵁鍒楄〃
+        /// </summary>
+        private void getPageList()
+        {
+            var _obj = new
+            {
+                reportType = _reportType,
+                sortName = "a.userName",
+                sortOrder = "asc",
+                keyWhere = ""
+            };
+            try
+            {
+                string strJson = UtilityHelper.HttpPost("", "Report/GetReportList", JsonConvert.SerializeObject(_obj));
+                JObject _job = JObject.Parse(strJson);
+                string rtnCode = _job["rtnCode"].ToString();
+                if (int.Parse(rtnCode) > 0)
+                {
+                    JArray array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"])
+                    {
+                        array.Add(a);
+                    }
+                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    DataSet ds = new DataSet();
+                    dt.TableName = "Table1";
+                    ds.Tables.Add(dt);
+                    FastReport.Report report = new FastReport.Report();
+                    byte[] buffer = (byte[])_job["rtnData"]["reportData"];
+                    using (MemoryStream Stream = new MemoryStream(buffer))
+                    {
+                        report.Load(Stream);
+                    }
+                    report.RegisterData(ds);
+                    report.Preview = previewControl1;
+                    report.Prepare();
+                    report.ShowPrepared();
+                }
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx
similarity index 100%
rename from DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx
rename to DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs
deleted file mode 100644
index a38b43a..0000000
--- a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-锘縰sing DevExpress.XtraEditors;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace Gs.DevApp.DevFrm.Rpt
-{
-    public partial class RptUser : DevExpress.XtraEditors.XtraForm
-    {
-        public RptUser()
-        {
-            InitializeComponent();
-            DataSet ds = new DataSet();
-            DataTable table1 = new DataTable();
-            table1.TableName = "Table1"; // 涓�瀹氳璁剧疆琛ㄥ悕绉�
-            ds.Tables.Add(table1);
-            // 娣诲姞琛ㄤ腑鐨勫垪
-            table1.Columns.Add("濮撳悕", typeof(string));
-            table1.Columns.Add("瀵嗙爜", typeof(string));
-            // 浠绘剰娣诲姞涓�浜涙暟鎹�
-            for (int i = 0, maxI = 100; i < maxI; i++)
-            {
-                DataRow row = table1.NewRow();
-                row["濮撳悕"] = "鎴戞槸" + i.ToString();
-                row["瀵嗙爜"] = i.ToString();
-                table1.Rows.Add(row);
-            }
-            FastReport.Report report = new FastReport.Report();
-            report.Load("templeEasyCode/Untitled.frx");//bin/debug涓�
-            report.RegisterData(ds);//蹇呴』瑁� dataset 鏁版嵁闆�,濡傛灉瑁呭叆datatable鏁版嵁琛�,瑕佸姞鍙傛暟琛ㄥ悕,鎵�浠ュ姞闆嗘柟渚�
-            report.Preview = previewControl1;
-            report.Prepare();
-            report.ShowPrepared();
-        }
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.Designer.cs
new file mode 100644
index 0000000..f167a2a
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.Designer.cs
@@ -0,0 +1,101 @@
+锘�
+namespace Gs.DevApp.DevFrm.Sys
+{
+    partial class EasyRpt
+    {
+        /// <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()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EasyRpt));
+            FastReport.Design.DesignerSettings designerSettings1 = new FastReport.Design.DesignerSettings();
+            FastReport.Design.DesignerRestrictions designerRestrictions1 = new FastReport.Design.DesignerRestrictions();
+            FastReport.Export.Email.EmailSettings emailSettings1 = new FastReport.Export.Email.EmailSettings();
+            FastReport.PreviewSettings previewSettings1 = new FastReport.PreviewSettings();
+            FastReport.ReportSettings reportSettings1 = new FastReport.ReportSettings();
+            this.designerControl1 = new FastReport.Design.StandardDesigner.DesignerControl();
+            this.panel2 = new System.Windows.Forms.Panel();
+            this.environmentSettings1 = new FastReport.EnvironmentSettings();
+            ((System.ComponentModel.ISupportInitialize)(this.designerControl1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // designerControl1
+            // 
+            this.designerControl1.AskSave = true;
+            this.designerControl1.LayoutState = resources.GetString("designerControl1.LayoutState");
+            this.designerControl1.Location = new System.Drawing.Point(0, 0);
+            this.designerControl1.Name = "designerControl1";
+            this.designerControl1.TabIndex = 0;
+            this.designerControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
+            // 
+            // panel2
+            // 
+            this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.panel2.Location = new System.Drawing.Point(0, 0);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(893, 578);
+            this.panel2.TabIndex = 1;
+            // 
+            // environmentSettings1
+            // 
+            designerSettings1.ApplicationConnection = null;
+            designerSettings1.DefaultFont = new System.Drawing.Font("瀹嬩綋", 9F);
+            designerSettings1.Icon = ((System.Drawing.Icon)(resources.GetObject("designerSettings1.Icon")));
+            designerSettings1.Restrictions = designerRestrictions1;
+            designerSettings1.Text = "";
+            this.environmentSettings1.DesignerSettings = designerSettings1;
+            emailSettings1.Address = "";
+            emailSettings1.Host = "";
+            emailSettings1.MessageTemplate = "";
+            emailSettings1.Name = "";
+            emailSettings1.Password = "";
+            emailSettings1.UserName = "";
+            this.environmentSettings1.EmailSettings = emailSettings1;
+            previewSettings1.Icon = ((System.Drawing.Icon)(resources.GetObject("previewSettings1.Icon")));
+            previewSettings1.Text = "";
+            this.environmentSettings1.PreviewSettings = previewSettings1;
+            this.environmentSettings1.ReportSettings = reportSettings1;
+            this.environmentSettings1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
+            // 
+            // EasyRpt
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(893, 578);
+            this.Controls.Add(this.panel2);
+            this.Name = "EasyRpt";
+            this.Text = "EasyRpt";
+            ((System.ComponentModel.ISupportInitialize)(this.designerControl1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private FastReport.Design.StandardDesigner.DesignerControl designerControl1;
+        private System.Windows.Forms.Panel panel2;
+        private FastReport.EnvironmentSettings environmentSettings1;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs
new file mode 100644
index 0000000..b8d5811
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs
@@ -0,0 +1,95 @@
+锘縰sing DevExpress.XtraEditors;
+using FastReport;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Data.SqlClient;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Gs.DevApp.DevFrm.Sys
+{
+    public partial class EasyRpt : DevExpress.XtraEditors.XtraForm
+    {
+        private string _reportType;
+        public EasyRpt(string reportType)
+        {
+            _reportType = reportType;
+            InitializeComponent();
+            Report report = new Report();
+            DataTable RptRow = new DataTable();
+            var _obj = new
+            {
+                reportType = _reportType,
+            };
+            try
+            {
+                string strJson = UtilityHelper.HttpPost("", "Report/GetTemplate", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+                    dynamic dy = _rtn.rtnData;
+                    byte[] buffer = (byte[])dy.reportData;
+                    using (MemoryStream Stream = new MemoryStream(buffer))
+                    {
+                        report.Load(Stream);
+                    }
+                }
+                else
+                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+            designerControl1.Report = report;
+            designerControl1.RefreshLayout();
+            panel2.Controls.Add(designerControl1);
+            designerControl1.Dock = DockStyle.Fill;
+            designerControl1.UIStateChanged += designerControl1_UIStateChanged;
+            environmentSettings1.CustomSaveReport += EnvironmentSettings1_CustomSaveReport;
+            environmentSettings1.CustomSaveDialog += EnvironmentSettings1_CustomSaveDialog;
+        }
+        private void EnvironmentSettings1_CustomSaveDialog(object sender, FastReport.Design.OpenSaveDialogEventArgs e)
+        {
+        }
+        private void EnvironmentSettings1_CustomSaveReport(object sender, FastReport.Design.OpenSaveReportEventArgs e)
+        {
+            MemoryStream ms = new MemoryStream();
+            designerControl1.Report.Save(ms);
+            byte[] dddd = ms.ToArray();
+            var _obj = new
+            {
+                rptType = _reportType,
+                rptData = dddd,
+            };
+            try
+            {
+                string strJson = UtilityHelper.HttpPost("", "Report/EdtTemplate", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+            ms.Dispose();
+            designerControl1.Report.Dispose();
+        }
+        // 璁捐鍣╱i鏀瑰彉浜嬩欢
+        private void designerControl1_UIStateChanged(object sender, EventArgs e)
+        {
+            // btnSave.Enabled = designerControl1.cmdSave.Enabled;
+            // btnUndo.Enabled = designerControl1.cmdUndo.Enabled;
+            // btnRedo.Enabled = designerControl1.cmdRedo.Enabled;
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.resx b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.resx
new file mode 100644
index 0000000..1657235
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.resx
@@ -0,0 +1,178 @@
+锘�<?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="designerControl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <data name="designerControl1.LayoutState" xml:space="preserve">
+    <value>锘�&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Config&gt;&lt;Designer&gt;&lt;DockNew Text="&amp;lt;dotnetbarlayout version=&amp;quot;6&amp;quot; zorder=&amp;quot;3,4,1,2&amp;quot;&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Top&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Bottom&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;0&amp;quot; h=&amp;quot;95&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;MessagesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;4&amp;quot; visible=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;MessagesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Left&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;250&amp;quot; dockingside=&amp;quot;Right&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;182&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;DictionaryWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot; seldocktab=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;DictionaryWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;item name=&amp;quot;ReportTreeWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;1&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;-86&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;PropertiesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;64&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;PropertiesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;bars&amp;gt;&amp;lt;bar name=&amp;quot;StandardToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;TextToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;BorderToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;152&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;StyleToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;LayoutToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;ObjectsToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;1&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;/bars&amp;gt;&amp;lt;/dotnetbarlayout&amp;gt;"/&gt;&lt;/Designer&gt;&lt;/Config&gt;</value>
+  </data>
+  <metadata name="environmentSettings1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>202, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="designerSettings1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
+        AAA4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+        OOc4ODhhODg456B3J//CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KM
+        If+gdyf/ODg45zg4OP/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjSL/zqNO/9Ot
+        Yf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf/AiyH/uYUg/72IIP/CjCH/wowh/8KMIf/DjST/3sGH//78
+        +v/7+PL/yZk7/8KMIf84ODj/ODg4/8KMIf/CjCH/JhwG/wAAAP8GBAH/tIIf/8KMIf/DjSP/4MWQ//78
+        +v/8+vX/27t8/8KMIf/CjCH/ODg4/zg4OP/CjCH/wowh/xQOBP8AAAD/AAAA/6x/Jf/DjiT/4smW//79
+        +v/7+fP/17Rv/8KMIf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf8UDgT/AAAA/wAAAP+ugy7//v38////
+        /////////fz5/+rWsP/JmDn/wowh/8KMIf84ODj/ODg4/8KMIf/CjCH/FA4E/wAAAP8AAAD/TzsS/3le
+        Kf9/Yyz/zbOA//379///////7t/C/8KMIf/CjCH/ODg4/zk5Of/DjiX/yJc2/zYxKP8uLi7/NjY2/zs7
+        O/87Ozv/Ozs7/4p6Wv/48eT///////v48v/LnUH/x5Qx/0FBQf+vr6//1a9l/9WvZf9cWFH/Tk5O/05O
+        Tv97b1b/koFe/5iFYf/Vw57//fv4///////06db/1a9l/9WvZf+vr6//mJiY/9WvZf/Vr2X/XFhR/05O
+        Tv9OTk7/x6lu///+/v////////////7+/f/17Nr/27x9/9WvZf/Vr2X/mJiY/4GBgf/Vr2X/1a9l/11Y
+        Uf9OTk7/Tk5O/4J1Wf+fjGf/n4xn/6GOZ//Srmn/1a9l/9WvZf/Vr2X/1a9l/4GBgf9ra2v/1a9l/9Wv
+        Zf+Yg1v/WVZQ/05OTv9OTk7/Tk5O/05OTv9SUU//waFi/9WvZf/Vr2X/1a9l/9WvZf9ra2v/SUlJ/9Wv
+        Zf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/SUlJ/zg4
+        OOeukVr/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/rpFa/zg4
+        OOc4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+        OOc4ODhhAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA
+        //8AAP//AAD//w==
+</value>
+  </data>
+  <data name="previewSettings1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
+        AAA4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+        OOc4ODhhODg456B3J//CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KM
+        If+gdyf/ODg45zg4OP/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjSL/zqNO/9Ot
+        Yf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf/AiyH/uYUg/72IIP/CjCH/wowh/8KMIf/DjST/3sGH//78
+        +v/7+PL/yZk7/8KMIf84ODj/ODg4/8KMIf/CjCH/JhwG/wAAAP8GBAH/tIIf/8KMIf/DjSP/4MWQ//78
+        +v/8+vX/27t8/8KMIf/CjCH/ODg4/zg4OP/CjCH/wowh/xQOBP8AAAD/AAAA/6x/Jf/DjiT/4smW//79
+        +v/7+fP/17Rv/8KMIf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf8UDgT/AAAA/wAAAP+ugy7//v38////
+        /////////fz5/+rWsP/JmDn/wowh/8KMIf84ODj/ODg4/8KMIf/CjCH/FA4E/wAAAP8AAAD/TzsS/3le
+        Kf9/Yyz/zbOA//379///////7t/C/8KMIf/CjCH/ODg4/zk5Of/DjiX/yJc2/zYxKP8uLi7/NjY2/zs7
+        O/87Ozv/Ozs7/4p6Wv/48eT///////v48v/LnUH/x5Qx/0FBQf+vr6//1a9l/9WvZf9cWFH/Tk5O/05O
+        Tv97b1b/koFe/5iFYf/Vw57//fv4///////06db/1a9l/9WvZf+vr6//mJiY/9WvZf/Vr2X/XFhR/05O
+        Tv9OTk7/x6lu///+/v////////////7+/f/17Nr/27x9/9WvZf/Vr2X/mJiY/4GBgf/Vr2X/1a9l/11Y
+        Uf9OTk7/Tk5O/4J1Wf+fjGf/n4xn/6GOZ//Srmn/1a9l/9WvZf/Vr2X/1a9l/4GBgf9ra2v/1a9l/9Wv
+        Zf+Yg1v/WVZQ/05OTv9OTk7/Tk5O/05OTv9SUU//waFi/9WvZf/Vr2X/1a9l/9WvZf9ra2v/SUlJ/9Wv
+        Zf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/SUlJ/zg4
+        OOeukVr/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/rpFa/zg4
+        OOc4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+        OOc4ODhhAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA
+        //8AAP//AAD//w==
+</value>
+  </data>
+</root>
\ No newline at end of file

--
Gitblit v1.9.3