From 6be485d4b57f69386808613d16df230cf8c0adfb Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Tue, 6 Feb 2018 12:29:21 +0100 Subject: [PATCH] =?UTF-8?q?MS=20-=20Anpassung=20Detailview=20f=C3=BCr=20JJ?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj | 12 + app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb | 1 + app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb | 2 +- app/DD_PM_WINDREAM/frmAnnotations.Designer.vb | 137 ++ app/DD_PM_WINDREAM/frmAnnotations.resx | 1270 +++++++++++++++++ app/DD_PM_WINDREAM/frmAnnotations.vb | 33 + app/DD_PM_WINDREAM/frmKonfig.vb | 1 + app/DD_PM_WINDREAM/frmMain.Designer.vb | 57 +- app/DD_PM_WINDREAM/frmMain.resx | 2 +- app/DD_PM_WINDREAM/frmMain.vb | 36 + app/DD_PM_WINDREAM/frmValidator.Designer.vb | 100 +- app/DD_PM_WINDREAM/frmValidator.resx | 3 + app/DD_PM_WINDREAM/frmValidator.vb | 298 ++-- app/Setup/Product.wxs | 11 +- 15 files changed, 1814 insertions(+), 150 deletions(-) create mode 100644 app/DD_PM_WINDREAM/frmAnnotations.Designer.vb create mode 100644 app/DD_PM_WINDREAM/frmAnnotations.resx create mode 100644 app/DD_PM_WINDREAM/frmAnnotations.vb diff --git a/.gitignore b/.gitignore index 1bc915c..dd5adc3 100644 --- a/.gitignore +++ b/.gitignore @@ -154,3 +154,4 @@ $RECYCLE.BIN/ # Mac desktop service store files .DS_Store +/app/.vs/DD_PM_WINDREAM/v15/Server/sqlite3 diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj index 967b5b2..1c64134 100644 --- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj +++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj @@ -109,6 +109,9 @@ P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Oracle.ManagedDataAccess.dll + + P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\PdfSharp-gdi.dll + @@ -166,6 +169,12 @@ Form + + frmAnnotations.vb + + + Form + frmConnection.vb @@ -275,6 +284,9 @@ frmAdminPasswort.vb + + frmAnnotations.vb + frmConnection.vb Designer diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb index 750e87c..2a8fef6 100644 --- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb +++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb @@ -5,6 +5,7 @@ Public CURRENT_ProfilName As String Public CURRENT_HTML_DOC As String Public CURRENT_DOC_ID As Integer + Public CURRENT_DOC_PATH As String Public ERROR_STATE = "" Public USER_IS_ADMIN As Boolean = False Public CURRENT_USERID diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb index d906ef4..4d2a526 100644 --- a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb +++ b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/app/DD_PM_WINDREAM/frmAnnotations.Designer.vb b/app/DD_PM_WINDREAM/frmAnnotations.Designer.vb new file mode 100644 index 0000000..d6f1dff --- /dev/null +++ b/app/DD_PM_WINDREAM/frmAnnotations.Designer.vb @@ -0,0 +1,137 @@ + _ +Partial Class frmAnnotations + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAnnotations)) + Me.Button1 = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Seitenzahl = New System.Windows.Forms.Label() + Me.txttitle = New System.Windows.Forms.TextBox() + Me.txtcontent = New System.Windows.Forms.TextBox() + Me.txtSeitenzahl = New System.Windows.Forms.TextBox() + Me.SuspendLayout() + ' + 'Button1 + ' + Me.Button1.Cursor = System.Windows.Forms.Cursors.Default + Me.Button1.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.add + Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button1.Location = New System.Drawing.Point(447, 171) + Me.Button1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(173, 37) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "Annotation hinzufügen" + Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button1.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 28) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(38, 16) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "Titel:" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(12, 56) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(38, 16) + Me.Label3.TabIndex = 3 + Me.Label3.Text = "Text:" + ' + 'Seitenzahl + ' + Me.Seitenzahl.AutoSize = True + Me.Seitenzahl.Location = New System.Drawing.Point(12, 185) + Me.Seitenzahl.Name = "Seitenzahl" + Me.Seitenzahl.Size = New System.Drawing.Size(67, 16) + Me.Seitenzahl.TabIndex = 4 + Me.Seitenzahl.Text = "Seitenzahl" + ' + 'txttitle + ' + Me.txttitle.Location = New System.Drawing.Point(97, 25) + Me.txttitle.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.txttitle.Name = "txttitle" + Me.txttitle.Size = New System.Drawing.Size(344, 23) + Me.txttitle.TabIndex = 5 + ' + 'txtcontent + ' + Me.txtcontent.AcceptsReturn = True + Me.txtcontent.AcceptsTab = True + Me.txtcontent.Location = New System.Drawing.Point(97, 56) + Me.txtcontent.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.txtcontent.Multiline = True + Me.txtcontent.Name = "txtcontent" + Me.txtcontent.Size = New System.Drawing.Size(344, 119) + Me.txtcontent.TabIndex = 7 + ' + 'txtSeitenzahl + ' + Me.txtSeitenzahl.Location = New System.Drawing.Point(404, 185) + Me.txtSeitenzahl.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.txtSeitenzahl.Name = "txtSeitenzahl" + Me.txtSeitenzahl.Size = New System.Drawing.Size(37, 23) + Me.txtSeitenzahl.TabIndex = 8 + Me.txtSeitenzahl.Text = "0" + ' + 'frmAnnotations + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(629, 219) + Me.Controls.Add(Me.txtSeitenzahl) + Me.Controls.Add(Me.txtcontent) + Me.Controls.Add(Me.txttitle) + Me.Controls.Add(Me.Seitenzahl) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Button1) + Me.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmAnnotations" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Annotationen" + Me.TopMost = True + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Button1 As Button + Friend WithEvents Label1 As Label + Friend WithEvents Label3 As Label + Friend WithEvents Seitenzahl As Label + Friend WithEvents txttitle As TextBox + Friend WithEvents txtcontent As TextBox + Friend WithEvents txtSeitenzahl As TextBox +End Class diff --git a/app/DD_PM_WINDREAM/frmAnnotations.resx b/app/DD_PM_WINDREAM/frmAnnotations.resx new file mode 100644 index 0000000..28abbb0 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmAnnotations.resx @@ -0,0 +1,1270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAA0AMDAQAAEABABoBgAA1gAAACAgEAABAAQA6AIAAD4HAAAYGBAAAQAEAOgBAAAmCgAAEBAQAAEA + BAAoAQAADgwAADAwAAABAAgAqA4AADYNAAAgIAAAAQAIAKgIAADeGwAAGBgAAAEACADIBgAAhiQAABAQ + AAABAAgAaAUAAE4rAAAAAAAAAQAgADmXAAC2MAAAMDAAAAEAIACoJQAA78cAACAgAAABACAAqBAAAJft + AAAYGAAAAQAgAIgJAAA//gAAEBAAAAEAIABoBAAAxwcBACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ + /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dwiIiIiIiI + j4+P////////j4+IiIiIiIdwiIh3eHeHh4eHh4eHh4eHiHh4eHh3eIhwiIe4u4u4u4u4u4u4u4u4u4uL + uLi7h4hwB4h7i4uLi3uLe4tzd7i3i3t7i3t7eIcACIh7t7O3s7i5uLFVc5t7m3t7m3t5iIgAAHiHuzt7 + m7m7exAhdzube5ube5u3iHAAAIiHububt7OzuTBCVzt7s7O3s7OYhwAAAAiIe7e7O5u5uzEAcjubm5ub + m5t/iAAAAAB4izs7s7t7O7NDQ7Ozs7Ozs7eIcAAAAACIh7u5u3ubs7Ozu5ubO5s7mziIcAAAAAAH+Hs7 + e5uzubmzmzuzs7ube3iIAAAAAAAIiHu7m7O7OzQHZTubm5s7uYiHAAAAAAAAf4c7s7s7uzAANzs7s7O5 + N/hwAAAAAAAACIizu3u5exAUFzubO5s7P4cAAAAAAAAAB4iLe7m7uzACQzs7s7ubf4gAAAAAAAAAAI+L + u7t7O1AABTu5ubO3j3AAAAAAAAAAAIj3uLi7uzBDQnm7O7uY94AAAAAAAAAAAAf4i7u3uDUlNTu3u5t/ + iAAAAAAAAAAAAAiPe3u7izQ0Jzt7O3uPcAAAAAAAAAAAAAB/iLuLs3cWFju7u7f4cAAAAAAAAAAAAAAI + +Luzu3FnU3t7eXj3AAAAAAAAAAAAAAAIiIuLi3cWNDu3u4+IAAAAAAAAAAAAAAAAj4i7u1d3R3uLt/hw + AAAAAAAAAAAAAAAAiPe7ezdjcXuzt/iAAAAAAAAAAAAAAAAAB/iLu3d1dju4f4cAAAAAAAAAAAAAAAAA + AI97u1d3d3t7iIAAAAAAAAAAAAAAAAAAAHiIu3d3dzu3+HAAAAAAAAAAAAAAAAAAAAiIu3BwdHu4hwAA + AAAAAAAAAAAAAAAAAAiIe7u7u7t4iAAAAAAAAAAAAAAAAAAAAACIiLu7u7f4cAAAAAAAAAAAAAAAAAAA + AACIh7u7u7eIgAAAAAAAAAAAAAAAAAAAAAAIiIu7O3+HAAAAAAAAAAAAAAAAAAAAAAAAiHu7u4iAAAAA + AAAAAAAAAAAAAAAAAAAAiIe7t4hwAAAAAAAAAAAAAAAAAAAAAAAAB4i7iIcAAAAAAAAAAAAAAAAAAAAA + AAAACIh7eIgAAAAAAAAAAAAAAAAAAAAAAAAAAHiIiHAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIhwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAiIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIgAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAAgAAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAACAAAAAAAMAAIAAAAAAAwAAwAAAAAAHAADAAAAAAA8AAOAA + AAAADwAA8AAAAAAfAADwAAAAAB8AAPgAAAAAPwAA+AAAAAA/AAD8AAAAAH8AAP4AAAAA/wAA/gAAAAD/ + AAD/AAAAAf8AAP8AAAAB/wAA/4AAAAP/AAD/gAAAB/8AAP/AAAAH/wAA/+AAAA//AAD/4AAAD/8AAP/w + AAAf/wAA//AAAB//AAD/+AAAP/8AAP/8AAB//wAA//wAAH//AAD//gAA//8AAP/+AAD//wAA//8AAf// + AAD//wAB//8AAP//gAP//wAA///AB///AAD//8AH//8AAP//4A///wAA///gD///AAD///Af//8AAP// + +D///wAA///4P///AAD///x///8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA + AABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIeHeHeHh4eHh4eHh3h3hwCIiIj4j4////+Pj4j4iIgAiIs7O3szszM7O3OzO3uIAAh3 + uLubuLNXN7e7e4uXgAAIiLm7t7mxAXubm5ubOIAAAId7s7m7sQYTuzs7M4gAAACIg7m7OzszO5ubm5uI + AAAACIe7s7ubM7Ozs7s4gAAAAACIO7ubsQBbm7m5eIAAAAAAiIubs7AAc7O7O4gAAAAAAAiDu7uxADO7 + mziAAAAAAAAI+LuzsQQzs7ufgAAAAAAAAI97u7cGG7uTiAAAAAAAAAAIi7i1JUO7t/gAAAAAAAAACPe7 + s1J7s7iAAAAAAAAAAACIO7d1I7eIgAAAAAAAAAAAj4u1Z1uz+AAAAAAAAAAAAAiDt3djuIAAAAAAAAAA + AAAAiLM1O3iAAAAAAAAAAAAAAIh7u7uIAAAAAAAAAAAAAAAIi7u3iAAAAAAAAAAAAAAACIe7OIAAAAAA + AAAAAAAAAACHu3iAAAAAAAAAAAAAAAAAiHuIAAAAAAAAAAAAAAAAAAiIgAAAAAAAAAAAAAAAAAAAiIAA + AAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP//////////AAAAAwAAAAMAAAADgAAAB4AAAAfAAAAPwAAAD+AAAB/wAAAf8AAAP/gA + AH/4AAB//AAA//4AAP/+AAH//wAB//8AA///gAf//8AH///AD///4A///+Af///wH///8D////h////8 + f////f//////////////////KAAAABgAAAAwAAAAAQAEAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// + /wAAAAAAAAAAAAAAAAAId3d3d3d3d3d3d4AI+P//j//4//j/j4gIg7M7OzM7M7M7OIgIiDuzu5BDs7mz + eIAAjzubOzMTubO5iAAAiIO7ubOzs7O3+AAACPezu7BTs7k/gAAACIi7mzALubuIgAAAAIh7u7QDuzeI + AAAAAAiHu7ULe7iIAAAAAAj4uzdLs5+AAAAAAACIO7Vju4gAAAAAAACIizdzt/gAAAAAAAAIiLdbP3AA + AAAAAAAIiDu7eIAAAAAAAAAAiIuz+AAAAAAAAAAACIO4iAAAAAAAAAAACPe4gAAAAAAAAAAAAIj4AAAA + AAAAAAAAAIiIAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AgAABAIAA + AACAAAAAgAABAMAAAwDAAAMA4AAHAOAABwDwAA8A+AAPAPgAHwD8AD8A/AA/AP4AfwD+AH8A/wD/AP+A + /wD/gf8A/8P/AP/D/wD/5/8A////AP///wAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A + /wD//wAA////AAAAAAAAAAAAszMzMzMzMzt7u7u7u7u7i4t7mLAHt7m3A7i7MAu7i3AIu7e7i3uzgAA3 + u4MbuLkAAAuLsAi7cAAAA7iwC4swAAAAO4ALiwAAAACLsAizAAAAAAOLi7AAAAAAC7i7cAAAAAAAO4sA + AAAAAACLtwAAAAAAAAOwAAAA//8AAAAAAAAAAAAAAAAAAIABAACAAQAAwAMAAOAHAADgBwAA8A8AAPAP + AAD4HwAA+B8AAPw/AAD8PwAA/n8AACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAB + AAAAAAAACgAAAAsLCwATDQwAEhEQAB0dHQAjFxQAIyEeACUkJAAoJycAIistACopKQA0Ly4ANTMzADs3 + NgA+OTcAPTw8AEM7OgAWbHwAK2d5ACNwfgBEREQATENCAEJMTgBKSkoAU0ZDAFJLSwBcUE0AVFNTAFpW + VQBaWloAZF1bAGheXgBJen8AWHZ4AGNjYwBqZGQAa2trAHJmZQBxbWwAe25uAGVwcAB0dHQAeHZ2AHt6 + egCBc3IAgH19ABVzhgAUcIoACnaUABN7kgA2eYMARXuAAEh7iwAPg58AGoKaADeCiwAripwAMIaTAAaI + qwAThaUAC4+zABaMugAbirkABZS5ABmQswAmh6cAO4WnACSMsAAwjLUAMZe8AD60vwBFhIkAQ4SWAE2O + kABCmZ4AQ4OkAEmKpgBbj6kAQZOtAEeUsABDnbgAYYykAG6YoQBvmK4Ad5alAH2VpwB/lqkARKG3AFyn + tgBRt74AfautAGiotwBzr7QAZba6AHaytQANlsIABJzZACqYwgABpdYAEbHcACulwwA/tckAKafSAAWl + 4AAKpeAAAavjAA2r4wAQqOIAAbPlAAq35wAEuuUACrvmAAG36gADuekACrzpAB6x5AAQveYAGrTqABq7 + 6QAgr+MANrnnADS66QBBrMEAW7bEAFG5zABBstcAf7rCAE295wAowt8ACsLmAArI5wAGxOsAC8PpAATK + 7AAKyeoAE8HnABrD5wAby+cAFMTqAB7B6QASzOwAGsvtABvU7QAXz/EAHNXxACLF5gAgxOkAL8LtACLP + 7QAtzuwAMcTsADXK7AAk0uwANNnmACfa8gAK4ugADOvzABjp9wAG9fwAFPL7ACzr7wA85u4AJ+X2ADbn + 8gBcx8oAT8zQAFbN1wB0w8gAYsvTAHfJ0ABNxe0AScjvAFLE6wBYw+oAVsvtAFjM7gBX0O4AWNHuAFPc + 6wBKzfEAVcnwAE3R8ABK2PUAU9bzAETk8ACBgYEAgJidAJKRkQCWn58AnZycAKCdnQCCmqsAhZ6wAIif + sQCMpKYAlqSoAIOlsgCKorQAgaq3AI6muACPqLoAmKm0AJOrvQCIuLsAmrG1AKKiogCop6cAoqutAKuq + qgCwr68AubCvAKWxtgCzs7MAu7OzALi3uACzvb4AvLu7AMG5twDDvLsAyb68AMXAvgCWrsAAt7zBAMS/ + wACSxsoAu8DBAMPBwQDKxcMAzsnGAMbJzADNy8sA0cTDANLLygDbzcwA1tHPANnQzQDU0tEA2tXUANzb + 2wDg1NIA4tzaAOrg3QDl4uIA7OXkAO3p5gDu7OwA8enlAPLs6wD57ewA9fDuAPnx7wD18fAA+fTyAP34 + 9gD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwsLCsrKyssKywsLCwsLCwuLLouurq6ui4suiws + LCwsLCwsLCsrKysrKysrK7oAzuPZ293j5OPk5enr7vHy8/X4/P3+/v7+/v7+/v78+PX08vHu6+nl5OTj + 5Nvj0boA2ePZ4sFWV8FXwcHBwcHGxsnJycnJ3t7e3t7e3snJycnGxsbBwcHBwVdXVt/Z2bwA2dnbx7iy + sq+xsa+vr6+xr6+vr7CvtbC1tbW1rq6urq6urq6urq6urq6wgMHdzr4AAM7jvn23tra2tra2trS0trS0 + tLS0rFFJT36rrLWrrquuq66rq6ustKysTdnZvgAAANfV3VOWmJiYmJiYmJiYmJSYlJSUEw0aJTVnenp6 + enl6enp5eXp5eXpiyuS/zwAAAAC+5c57j5KSk5OMjIyMdox2d3NBBAgVHyVEdnR0eHh4eHh4eHh4eGtM + 5NW+AAAAAADlz+W7ko2LiIh1dW5ubm5ubnIwAQUNHB9CbWtra2xsbGxsbGxsaz/U6b4AAAAAAAAAzubT + WYSCgoJuboJucHBtbXBABAMLFR5gampqaWtoaWlpaWlpYVLu0b4AAAAAAAAAAM7rvYGEgoKCgm6CcHBw + bW1yMQoMFzxtampqaGpoaGhpaGloReDkvwAAAAAAAAAAANHj212Hh4KIgoKCcHBwcHBxcGM9Y3Ftampq + amhqaGhoaWhhVe7RvgAAAAAAAAAAAAC+7tVmhIKCgoKCgnBwcHBtY2NjY2Nqam1qampqamhraGhD7uS+ + AAAAAAAAAAAAAADZ1e7Dio2NgoKCgoKCcIJAAwcOGh47cW1qampqampoamHE8b/RAAAAAAAAAAAAAAAA + zuvdfIaGjYKCgoKCgoQ2AAMIFSQ7bW1tbWptampqaE7y2b4AAAAAAAAAAAAAAAAAANHzz5mGhoONgoKC + goQyAAQIEB48cW1tbWptampqPubxvwAAAAAAAAAAAAAAAAAAAM7l6X+Rj42Gg4KCgoQvAAIFDRo8cG1t + bW1qbW1oVPfVvgAAAAAAAAAAAAAAAAAAAADP9tWzo6Obj4+NjYcSAAAECBA3bXBwbW1tbWpG7vG/AAAA + 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 + FgA1JCAAOCopACk4OgA7NTQAPDg3ADE7PQA6PT4ARDg1AAA5RQAAPU0AAEJVAABKXQAVSlMAJENMAD1F + RgA9T1MAAFp2AC1eZQA4WmQAOmdsAEFAQABLRkUAT05NAFZLSgBKVFUARFVaAFtXVgBXXV8AZFxbAHRe + XgBFbnAAQ3J0AEV9fwBRcXQAW3V2AGplZQBlbW0AcWdnAHtlZAAGZYAAAHCQAD6GnQAzlZgAAIm0ABaL + uAAfj7sAAJG7ACOIswA2jLEAI5G2ADeWvAA+prsATpa1AGSZsAB1nrEAQ6W7AEmkvwBMrb0AU6q2AFCl + uQBlq7oAd6uzAHOqtgBtsrgABovDAAaXzgAAnMsABpzRAAOY2gAZn9EAIZjEACObyQAmmsgAIp7KACSe + ywAins0AA6TNAAWtzwAbosMAHqLJAB+3xAAeuMcAFbTLABq1yQAAodEAAqrUAA2u0QAAotsAC7zSAAaw + 2AARt9IAK6PAACaiywAgpMwAMazEACC3xgA9tsYAAKPmAACr5QAApukAAavrAAO55AAAsewAALvtAACz + 8gAAu/IAIbjsACm+8gApv/QARavDAEOtwwBkq8IAd6vCAGa3wwB5tsUADsDRAAfK3AANztwAEcbWAB3C + 1wAVxd4ACsbmAA3K5AAAwu0AAMjuAAbT4AAG2+QAAcLxAADI8QAFyPMAAMr2AADN9QAFzPUAAMv7AAHT + 9QAL0/cACNf5AAbZ/wAL2/sAEdf1ACjC9wAkzPcAJ8L5ACLK+AAmzfgAIM7/ACjR+AAj2f4ABuTzAAbl + /wAK6/kAE+P/ABnk/gAV6v8AGev/AAH1/AAO8P8AAP7/ABL1/wAZ8P8AmpeXAJuYlwCamJgAnJqYAJ6c + mwCenZwAoJ2dAKKhnQCNq7kAkLC1AKOhoQCkoqEAp6enAKyurgCzrq4Ata6uAL+urQC0sK8AoK+xAKa2 + tgCguL0ArLi4ALWysQC4srIAvbKyALu0swC+tLIAuba2AL62tQCwtLoAt7+/ALq6ugC/u7wAvby8AMK0 + tADEt7QAwbm3AMW7tgDLuLUAw7q7AMe5uADBvLoAwL69AMe+vQDLvLkAjLbIAJe/wQCMxMcAncPHAJzD + ygCswsIAu8XLALHJyQC+0toAw8LCAMvFxADOyMUAxcnIAMnJyQDMyskAzs7NANPEwwDUyMUA2svGANjN + ywDd0MsAys7SAM/O0ADNz9QAztHVANfX1gDR1NgA19jYANba3QDY2t8A49XUAOXZ2ADd3+MA4+TnAOjm + 5wDm5+oA5+rtAO7p6ADq6+4A6u3vAPTr6QDr7fAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxq2pp6eoqampra2usbGxsbGx + sa6trampqamoqamxAAC94unp6enu7vH09/r6+v39+vr49fXx7u7u6+np6t0AAMbLRWRkY1FRUVFRUWRR + TTRNUU1RT1FRUU9RUTnEvgAAALW5dJqZmZeXlJeXmFYUHzBxk3JycnJycpNMPMkAAAAAxstEYIiIhoaG + bnBwEQIOIkpva2tra2traDbOvgAAAAAAtsM+boaGbm5ucHAXAAYZXmtramhoampHPdMAAAAAAADh07BU + g4aGhm5ucFsvLjJva2tqamhoSzfkzgAAAAAAAAC95EKGg4aChoaGWzI1W2lra2tramtHr9MAAAAAAAAA + AAC+vF2Kg4OGhooSAAcgXHBtbWtrSzvm4QAAAAAAAAAAAMbzQ4ONg4ODhhAABBZccG1tbWs02s4AAAAA + AAAAAAAAAMnvdJyPjY2DDwACCVtwcG1vW3foAAAAAAAAAAAAAAAA3fLXf6Gfn5ITAwUMVIyGhm42+s4A + AAAAAAAAAAAAAAAAw/lAo6GhnRgIChVhkIqKW9ToAAAAAAAAAAAAAAAAAAAA5Nt/o6adGg4LC2GRkmw/ + /N0AAAAAAAAAAAAAAAAAAAC+/Hibo50lHhwbWp6PVdzlAAAAAAAAAAAAAAAAAAAAAADO4H6koygjIR1Y + oIB2/OIAAAAAAAAAAAAAAAAAAAAAAODy1oSiKSwqI1ijYvXOAAAAAAAAAAAAAAAAAAAAAAAAAL7jZ6Ir + LS0kV4B55QAAAAAAAAAAAAAAAAAAAAAAAAAAANPVezElJSeEZeXOAAAAAAAAAAAAAAAAAAAAAAAAAAAA + veRApKSkpF/Y0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvrp7pKSkOuTRAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADRyUGkpF+7yQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1tH2FQNPiAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOK3RljGvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi8274AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAL7O5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAADAAAAAwAA + AAOAAAAHgAAAB8AAAA/AAAAP4AAAH/AAAB/wAAA/+AAAf/gAAH/8AAD//gAA//4AAf//AAH//wAD//+A + B///wAf//8AP///gD///4B////Af///wP///+H////x////9//////////////////8oAAAAGAAAADAA + AAABAAgAAAAAAEACAAAAAAAAAAAAAAABAAAAAQAAAAAAAAADBAAJCQsAHQgDAAEWHQASEhMAJBANADIm + JAA+KicAOjM0AEokFgBIMzEAHDlBAAFCVQBOSEcAXkxJAGRaWQB7W1oAel9fAFptbgBgZWQAHH6kABGD + rAAJib0AGI27ABWcvwAii7IAKouwACOTugA2mbQAP526AB2puwAcrL4AI6G+ACOtvwAqrLsAM6W6AD+l + ugBCnrUAR5y8AE2ougBVpr4AX6u+AGKmtwBmpL0AYq6+AAySwwABmc8AA57PAByVwQAfmscAHprIAB2c + ywAAnNMAGZ/QAA+gxAAZoMYAEanFABypwgAboMkAHKLKABuzzAAAo9cAAKbaAACj3wAPpdwADajeABSm + 1wAEst0AGLbVABO90gAltccALLLCACK9zQAsvM0AAJ3iAACj5gAApecAAKXqAACo6gAArOsAAKvtAACu + 7AAIru0ABLfhAAS84wAEv+YAALboAACx7wAAve0AAK/xAAey8QAAtfAAA7X1AAiw8AAAufMAALzyAAC+ + 9ABDscMAZ63AAG+txAB9tMMACsPeAA/F3QAFz9wAGsDRABbM3gAJw+EAAMLuAADE7gAKwesABMztABDJ + 4QAC2eQAAdfsAA7e7wAV0eQAGdTjABfb6gABwfEAAMXzAAbF8wAAyvEAAc7yAADJ+AADyv8AAM78AAPT + /AAA1v8ACNj8ABDf/AAF4usABurrAATs7QAE6vAADeT7ABLp/wAU6P4AAP//AAj//wAY9/8AkpGQAJqY + mACvsbEAsbKyALSzsgC1tLMAtra2ALi2tgC4uLcAtri4ALe/vwC5uLgAvLq6AL29vQDBv74AgL7LAIi4 + ygCKwMsAmMLMAInL1wC9wMAArc3YAKnW3gCy0tkAu9PcALvf5ADAwMAAxcTDAMbFxQDIx8YAysrJAMzL + ywDNzc0AytPVAM3e3wDU0tIA0dTUANXW1QDT29sA1tnaANfb3ADQ3d4A2dvaANjc2wDY29wA2dzdAODf + 3gDJ2uAA093gANje4ADI5ecAzujqANbl5QDZ4OAA2OnoANbv8ADh4eAA6+3sAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACa + jY2NjY2NjY2NjY2NjY2NjY2NjY2OAACRxbq6urq6uri4uLq4urq4uLi4uLqsrACWvx04PDw8PENCFhVB + NjIyMzMzMSyqrACplqA3bnl5eX0wAgoaXV1TU15RG66UAAAAmq8dVG1ZWWE/DQwuWk5NTU4XopoAAAAA + rKGjGVZtbXlUNTU+WFFRTksnupoAAAAAAJa4HVZ6bX1rBAc6YVFRURivmgAAAAAAALChpiFveoBmAAM5 + YV1YP2SsmwAAAAAAAACauCpwiYlmBQY5enlhHL6aAAAAAAAAAAAAmsAkc4xqCQgggYBEnampAAAAAAAA + AAAAm7CcRot1DgsggnoeuJgAAAAAAAAAAAAAAJrBJYZ2EA8ih0WlmgAAAAAAAAAAAAAAAKmsnml2EhJI + cimwmgAAAAAAAAAAAAAAAACVwSh0ExRJPb2RAAAAAAAAAAAAAAAAAACsrJ9HhYVxY6ypAAAAAAAAAAAA + AAAAAAAAkcIrg4pKwpEAAAAAAAAAAAAAAAAAAAAAAKmkI2hlmqwAAAAAAAAAAAAAAAAAAAAAAJqyY2K4 + jwAAAAAAAAAAAAAAAAAAAAAAAACRxMaPAAAAAAAAAAAAAAAAAAAAAAAAAACqrKyaAAAAAAAAAAAAAAAA + AAAAAAAAAAAAkZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wCAAAEAgAAAAIAAAACAAAEAwAADAMAAAwDgAAcA4AAHAPAADwD4AA8A+AAfAPwA + PwD8AD8A/gB/AP4AfwD/AP8A/4D/AP+B/wD/w/8A/8P/AP/n/wD///8A////ACgAAAAQAAAAIAAAAAEA + CAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAHGhxAA+MqQAVqcoAFqvNABeszQAYrs8AJq7OACG5 + 1QAku9YAJr/ZADe00QBHu9UAKcLbACvG3wAsxt0AEsDwABXC8AAWxPEAGMXxABvI8QAeyvIAJcXjACHD + 5AAmxuQAKsfgACXJ6QAhzPIAJtHzACfS9AAo0/QALNb0ADPa8wAw2fUANNv0ADvi9wA84/cAPuT3AD/m + +AByyt8AReXxAEDl9QBH6vYASOjzAEjq9QBL7PUARer5AEnu+QBL8PoATvL6AFH0+wBb9vsAgtDiAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAwCAgICAgICAgICAgIC + AgwLGhMRERERERERERERERcLJwYbFBEREQAAExQUFBsFJwALFx4bFBsAABscHh4XCwAANAYiIiEeHiIh + ISIiBjQAAAALDiYlJQEBJSUlDgsAAAAAAAUqMC8AAC4uJQUAAAAAAAALDjAwAAAvLw4LAAAAAAAAAAUr + MgAAMCsFAAAAAAAAAAALCjMAADIPCwAAAAAAAAAAAAUrMjIrBgAAAAAAAAAAAAALCTIyDwsAAAAAAAAA + AAAAAAUrKwUAAAAAAAAAAAAAAAALCQ4LAAAAAAAAAAAAAAAAAAcHAAAAAAAAAP//AAAAAAAAAAAAAAAA + AACAAQAAgAEAAMADAADgBwAA4AcAAPAPAADwDwAA+B8AAPgfAAD8PwAA/D8AAP5/AACJUE5HDQoaCgAA + AA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7L15lBz5XSf4+cWV933UpaOk0q1utW6pD3Wr + 1VIfkvuwaRsaGz9g2X3s7GNnWLOPHWbfPnbGw3uzB+cOy4KBEmMwhoExGHyDwYA97sa0bWz3pT7UUksl + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA + AAAHAAAAEgAAABkAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsA + AAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsA + AAAbAAAAGwAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABkA + AAATAAAACQAAAAcAAAAfAAAAPwAAAFEAAABVAAAAVgAAAFYAAABWAAAAVgAAAFYAAABWAAAAVgAAAFYA + AABWAAAAVgAAAFYAAABWAAAAVgAAAFYAAABWAAAAVgAAAFYAAABWAAAAVgAAAFYAAABWAAAAVQAAAFUA + AABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQA + AABUAAAAVAAAAFEAAABBAAAAIhwcHCxsa2u8bWxs5G1sbOptbGzrbWxs621sbOttbGzrbW1t625tbetu + bm7qb25u6nBvb+pxcHDqcnFx6nJxcepzcnLqc3Jy6nRzc+p0dHTqdXR06nV1dep1dXXqdnV16nZ1dep1 + dHTqdHNz6nNyculycXHpcXBw6XFwcOlwb2/pb25u6G5ubuhtbW3obWxs6Gxra+hramroa2pq6Gppaedp + aWnnaWho52loaOdqaWnnamlp51pZWdEWFhaHAAAAPHV1dam7urrkvr29/8G+vf/FwL7/x8LA/8fCwP/I + w8H/y8XD/87Jxv/Szcv/1tHP/9rW0//f2tj/5N/c/+fj4f/t5+X/8Ozq//Xw7v/59PH/+/f1///6+P// + /vr////8/////P///vv///v5//z49v/59fH/9vHv//Hs6v/t6eb/6eTi/+Pf3P/g29n/29fT/9fRz//S + zcv/z8vI/8zGxP/Iw8H/x8LA/8fCwP/CwMD/wMDA/6qpqfVYV1e7AAAARqGgoLPFxMT/vbu7/7jAwv+H + nqr/fZWn/4CYqf+AmKn/gZmq/4ObrP+DnK//hZ2w/4efsf+IoLL/i6K1/42kt/+Oprj/j6i6/5Cqu/+T + q7z/lKu+/5Wrvv+Vrb//lq7B/5auwP+Vrb//lay//5Srvv+Tq73/kaq7/4+ouv+Oprn/jaS3/4uis/+J + oLL/iJ+x/4aesP+EnK//g5us/4GZq/+AmKr/f5ap/36Wp/+3vMH/wL29/7q5uf9zcnLGAAAAOp2cnbi7 + urr/wbm3/4Gtt/9T1vP/V9Hu/1jR7v9X0O7/WM/u/1jO7f9Xzu7/V83t/1fM7v9XzO7/V8zu/1bM7v9W + y+7/Vcvu/1XL7v9Vye3/Vcfs/1bI7v9VyfD/UsTr/1PD6v9Wxez/V8Tr/1fD6v9Yw+r/WMPq/1jD6f9Y + wun/WMPp/1nD6f9Zw+r/WMPq/1jF6/9Zxez/WMbs/1jG7f9Yxu3/WMjv/0295/+CnrD/xsG+/6Sjo/tv + bm6vAAAAIpaXliGdnZ33ycXF/5mdnv9Rucz/Stj1/07V8P9O0/D/TdPw/03S8P9N0fH/TdHx/03Q8f9M + z/H/TNDx/0zP8f9LzvP/S87x/0vN8f9LzfH/S870/0nI7/9Dnbj/Q4SW/0GTrf9Bstf/TMXu/07G7v9O + xe3/TsXt/1DE7f9QxOz/UMTs/1DE7f9QxO3/TsXt/07F7f9Oxe7/Tcbu/03G7/9Nxu//SMjx/0mKpv+9 + u73/ube3/5uamvQQEBA9AAAADQAAAACampqysbGx+Me+vP9umKH/L8/v/zXO7f82zO3/Nsvs/zbJ7P81 + yOz/NMfs/zTH7P8zxez/MsXs/zLF7f8wxO3/MMPs/zDD7P8vw+7/L8Lt/ytnef81MjL/UExL/21sa/9I + e4v/KafS/zS97P81uun/Nrnp/za55/82uef/Nrnn/za55/82uef/Nrnn/za55/81uen/Nbnp/zW66f8z + vOz/KpjC/5iptP/LxcP/oJ+f+1xbW4oAAAAbAAAAAwAAAACWlpYcm5ub9snHxv+mpaX/QazB/xrL7v8h + xur/IcXq/yHD6v8gw+n/H8Lq/x/B6f8ewOn/HcDn/xu96f8bvOn/Gbvq/xm76v8KvOn/GZCz/xUTEf8k + ISH/RERE/2FfXf9wb23/JIyw/xq06v8esuX/H7Hk/yCv5P8hr+T/Ia/j/yGv4/8hr+P/Ia/j/yCv5P8g + r+T/IK/k/x+w5P8RreX/Q4Ok/83GxP+ysbH9jYyM4AAAAC8AAAAJAAAAAAAAAAAAAAAAmZmZgaenp/XP + x8X/gJid/yLF5v8Pxer/FMLp/xPC5/8Twef/Eb7m/xC85/8PvOf/Drvm/w265v8MuOf/C7fn/wq35/8F + uuf/FHCK/woAAP8bGxv/Nzc3/1FQUP9lX13/Joen/wSu5f8NreT/Dqzj/w+q4v8QqeL/Eaji/xGo4v8R + qOL/Eaji/xGo4v8RqOL/Eaji/wup4/8birn/p7C4/87Jxv+fnp77Pz4+ZQAAABYAAAABAAAAAAAAAAAA + AAAAm5ubBpubm+rHxsb/ubCv/1yntv8Hxez/DMLn/wzB5v8Mweb/C77m/wu95v8Ku+b/B7vm/wa65f8F + t+X/BLfl/wO25f8Eueb/BJK5/xAQEP8UDQz/LCsr/0hCQP9YWVn/DZbC/wKs4/8EquL/Bani/weo4v8J + p+H/Cabg/wql4P8LpeD/C6Xg/wul4P8LpeD/Cqbi/wCd3P9hjKT/2tDM/66trPyCgYHLAAAAKAAAAAcA + AAAAAAAAAAAAAAAAAAAAAAAAAJmZmUygoKDy1tHQ/5mgof8owt//BcTq/wzC5v8Lweb/C8Dm/wrA5v8J + veb/B7zm/wa75f8FueX/BLjl/wO25f8BtuX/ALnr/wp2lP8iKy3/NC8u/0JMTv8Ug6X/AK/m/wCu5P8A + quP/Aqni/wOo4v8EqOL/Bafh/wal4P8HpeD/B6Tg/wek4P8JpOD/AKPh/zCMtf/Ev8D/yMXF/52dnfkm + JiZMAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbm5vTwcDA/8S7uf9vrLf/Csjr/wrF5/8M + wub/DMHm/wvB5v8KwOb/CcDm/wm85v8GvOb/Bbvm/wO65v8Dt+X/Arjp/wS55/8EpND/C4+z/wGk0v8B + t+r/ALHn/wCu5P8AreT/AKzj/wKp4v8DqeL/BKji/wSn4f8Gp+H/B6Xg/wek4P8GpOH/AJva/3eWpf/g + 19P/p6am/GxsbKcAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVlZUynJyc+NrW1v+0 + sbH/P7XJ/wXJ7P8Mxef/DMTm/wzC5v8Lwub/CsHm/wnA5v8Jvub/Br3m/wa85v8Eu+f/AbHi/wGn1/8B + ptf/AabX/wKm1/8Bptf/AK3h/wKu5P8Ar+T/AK3k/wGs4/8CrOL/A6ri/wOo4v8Fp+H/Bqfg/wem4P8A + o+D/O4Wn/9vW1f/Gw8P/mJeX8QgICDkAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAmpqapbKysvjd1tb/iqSn/xvL5/8GyOv/DMfp/wzF5/8MxOb/DMLm/wvB5v8KwOb/CcDm/we+5v8I + wej/B5a6/xYODf8jIR7/Ozc2/1NNTf9ZXV3/Aomv/wG05/8AseX/AK/l/wCt5P8BreP/Aq3j/wOq4/8D + qeL/Baji/wKo4v8MnNb/lqGr/+Hc2v+hoKD7XFxciAAAABsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAk5OTE5ubm/TV1NT/yL67/1u2xP8Dzu7/C8nq/wzH6f8Mxuf/DMTn/wzC5v8L + wub/CsHm/wnB5v8Iw+r/D4Of/wIAAP8QDg3/KCcn/0I+Pv9oZmX/C4eo/wG15/8AsuX/ALHl/wCv5f8A + ruT/Aa3k/wGt4/8DrOL/A6rj/wCk4P9bj6n/6uDd/7u6uv2OjY3fAAAALgAAAAkAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYmHGmpqb35+Li/6Crrv8s0Of/Aszs/wnJ6v8K + yOn/DMfp/wzF5/8MxOf/C8Ln/wrB5v8JxOr/E3uS/wEAAP8ODg7/JiYm/z48PP9cW1n/EYeo/wG15/8A + tOX/ALLl/wCx5f8AsOX/AK/l/wGt4/8CreP/AK3k/xaMuv/Gycz/4Nzb/6Cfn/w8PDxhAAAAFQAAAAEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJubmwOcm5vgzMvL/dPJyP9/ + usL/Gtrz/xXT7v8Qzuz/DMvq/wrI5/8Kxef/C8Tn/wrD5/8JxOn/FXOG/wAAAP8ICAj/Hh4e/zUzM/9Q + TUz/FIaj/wG25/8Bt+b/AbTl/wGz5f8AseX/AbHl/wCw5f8Ar+X/AKXd/2+Yrv/x6eX/tLOz+3t6esIA + AAAnAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACW + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWljadnZ34zcrK/6GZmf853OD/AP///zLu9P+k + paX/xMHB/56dnfo0NDRTAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACampq2s7Oz/cu+vf90 + sLH/AOTo/3KvsP/SxMT/o6Ki+G1sbKUAAAAiAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACW + lpYcnZ2d+cbExP+ztrb/iL6+/77Bwf+9u7v/m5qa9iAfHz0AAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAm5mZZaioqPrEwcH/xry8/8TCwv+fnp75XFtbdQAAABQAAAACAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnp2eBqanpom3trb/vby8/6+urv54d3eSAAAAHQAAAAYA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmclh+vrq2fs7Oz0JqZmZp0 + c3M0AAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAQAAwAAAAAABAADAAAAAAAMAAOAAAAAA + AwAA8AAAAAAHAADwAAAAAA8AAPgAAAAADwAA+AAAAAAfAAD8AAAAAB8AAPwAAAAAPwAA/gAAAAA/AAD/ + AAAAAH8AAP8AAAAA/wAA/4AAAAD/AAD/gAAAAf8AAP/AAAAB/wAA/+AAAAP/AAD/4AAAB/8AAP/wAAAH + /wAA//AAAA//AAD/+AAAD/8AAP/4AAAf/wAA//wAAB//AAD//gAAP/8AAP/+AAB//wAA//8AAH//AAD/ + /wAA//8AAP//gAD//wAA///AAf//AAD//8AB//8AAP//4AP//wAA///gB///AAD///AH//8AAP//8A// + /wAA///4D///AAD///////8AAP///////wAA////////AAD///////8AACgAAAAgAAAAQAAAAAEAIAAA + AAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAAAALgAAAC4AAAAuAAAALgAAAC4A + AAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4A + AAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAAAAAAAAi4qLlJmYmO2UkpLxlpKS8ZaSkvGW + k5Lxl5ST8ZeWlPGZl5bxnJeX8ZyYl/GdnJjxnpyc8Z6cnPGfnZzxn52d8Z+dnPGenJzwnpyc8J2cmPCc + mJfwm5eX8JiXlvCXlZTwl5ST8JaTkvCVkpHwlZKS8JSTk/GSkpLNCgkJIAAAAACko6LRzMrJ/8nP0v/K + z9P/y8/T/83P1P/O0dX/z9LW/9ba3f/d3+P/5ufq/+rr7v/q7e//6+3v/+vt8P/r7vD/6+3v/+vt7//n + 6u3/4+Xn/+Pk5//Y2t//0dTY/8/S1v/O0dX/zc/U/8vO0//Nz9T/z87Q/8C8vPs5ODhFAAAAAKOiorvA + uLf/c6q2/yCkzP8mo8v/JqHL/yafy/8knsv/JJ7L/ySey/8jnsv/Ip7K/yKeyv8ins7/IpjE/x+Pu/8g + mMX/I5vJ/yabyP8mmsj/JprI/yabyP8mm8n/JpvJ/yabyf8mm8r/Ip7M/zeWvP+wtLr/rqmn4Y+OjiIA + AAAAlpeXOLCrqvOgr7H/RavD/yPZ/v8p0/j/KND4/yfO+P8mzfj/JMz3/yPL+P8iyvj/IM7//x6iyf8k + Q0z/SlRV/z6Gnf8huOz/KML3/ym98/8qvfL/Kr/z/ym/8/8pv/P/Kb/0/yfC+f8Zn9H/ZJmw/7+0sv+X + lpVuAAAAAAAAAAAAAAAAn56ersS3tP93q7P/BrDY/wXI8/8GxfD/BcPw/wLB8P8BwO//ALzw/wC99P8A + wPX/AEJV/woAAP9EOTT/V11f/wac0f8As/P/BK7r/wWs6/8Gq+r/Bqvq/wWr6/8GrOz/A6Lh/yOIs/+/ + u7z/p6KgxJCPkA8AAAAAAAAAAAAAAACWlpYgrqin5bi3t/9Dpbv/Ar/r/wDE7v8Awe7/AL/u/wC97v8A + uu3/ALrv/wC99P8AWnb/BQAA/zMbFv84WmT/AKLb/wCs7v8AqOr/AKfo/wCk5/8ApOf/AKTn/wCm6/8G + i8X/dZ6x/8S6tfmVlZVNAAAAAAAAAAAAAAAAAAAAAAAAAACcm5qNy7y5/5Cwtf8GrtX/AMjw/wDD7v8A + wu7/AMHu/wC97f8Au+3/ALvy/wCezf8AcJD/BmWA/wCKtv8AtPT/AKvr/wCp6v8AqOr/AKbn/wCk5/8A + o+f/A5jc/zaMsf/TxcL/oZ+fqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlhCopaTX0cXE/1Cluf8C + wer/AMjv/wDF7v8AxO7/AMLu/wDB7v8AwPD/AKHR/wCIs/8Akbv/AJvK/wCr5f8Ase3/AK7r/wCs6v8A + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAJeYmDayq6v0rK6u/xHG1v8G2+T/Tay8/8u4tf+amZmBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJudnYq/rq3/bbK4/x64x/+4u7v/q6KhzJ2bmxIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlpeXHKmmpeG3v7//rMLC/7exsfma + mZlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnp+fQrWxse/D + urv/nZubi5eWlgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd + npsFsbGvgK2srXidm5swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////4AAAAMAAAABAAAAAQAAAAEA + AAADgAAAA4AAAAfAAAAPwAAAD+AAAB/gAAAf8AAAP/gAAD/4AAB//AAAf/wAAP/+AAH//gAB//8AA/// + gAP//4AH///AB///wA///+Af///wH///8D////g////4f/////////////////8oAAAAGAAAADAAAAAB + ACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAiIeHGJGOjZODgoHgg4KB4IOCgeCDgoHgg4KB4IOCgeCDgoHgg4KB4IOCgeCDgoHgg4KB4IOCgeCD + goHgg4KB4IOCgeCDgoHgg4KB4IOCgeCDgoHgg4KB4IeFhdaLhoU0m5eWaLGvrvLh4eD9293e/9nd3f/Z + 3d7+2d3d/tjc3P7Y3Nv+19vb/tfb2/7X29z+2Nzd/tfb3P7Y29z+2Nzb/dfb2/7X2tv+19ra/tfb2/7U + 2dn/4N/e/8vLyf6npaaMqqinWbGzs+3I5ef/N5i0/xmgxv8do8v/HaLK/xyhyv8boMn/FKbX/w2o3v8R + g6z/HH6k/w+l3P8Zn9D/HprI/x+ax/8em8j/HpvI/x2cy/8clcH/ZqS9/sbFxPanpqWVv769FK+urbO1 + vb32icvX/w+gxP8Kwev/B8fz/wXE8/8DwfL/A8r//wOez/8JCQv/SiQW/yKLsv8DtfX/B7Lx/wiu7f8I + ru3/CLDw/wKp6/8qi7D+ydPV+q2rqtqXlZUuAAAAAKqpqE2xsrLozd7f/DaatP8Et+H/AMPv/wC/7v8A + vO3/AL/1/wCm2v8BQlX/HDlB/wySw/8Ar/H/AKfq/wCl5/8Ao+b/AKTq/wmJvf+tzdj8vby89aSioXyG + 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 + DwAA+B8AAPw/AAD8PwAA + + + \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmAnnotations.vb b/app/DD_PM_WINDREAM/frmAnnotations.vb new file mode 100644 index 0000000..0ba0979 --- /dev/null +++ b/app/DD_PM_WINDREAM/frmAnnotations.vb @@ -0,0 +1,33 @@ +Imports PdfSharp.Pdf +Imports PdfSharp.Pdf.Annotations +Imports PdfSharp.Pdf.IO +Imports PdfSharp.Drawing +Public Class frmAnnotations + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + + Try + Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify) + Dim firstPage As PdfPage = doc.Pages(txtSeitenzahl.Text) + + Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage) + Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60), New XSize(30, 30))) + + Dim annot As PdfTextAnnotation = New PdfTextAnnotation + + + annot.Title = txttitle.Text + 'annot.Subject = txtsubject.Text + annot.Contents = txtcontent.Text + annot.Rectangle = New PdfRectangle(rect) + + + firstPage.Annotations.Add(annot) + doc.Save(CURRENT_DOC_PATH) + Me.Close() + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + + + End Sub +End Class \ No newline at end of file diff --git a/app/DD_PM_WINDREAM/frmKonfig.vb b/app/DD_PM_WINDREAM/frmKonfig.vb index 0eda6c2..95a246b 100644 --- a/app/DD_PM_WINDREAM/frmKonfig.vb +++ b/app/DD_PM_WINDREAM/frmKonfig.vb @@ -70,6 +70,7 @@ Public Class frmKonfig .Title = "Pfad zu PDF XChange Viewer.exe:" If .ShowDialog() = DialogResult.OK Then Me.txtpdfxchange.Text = .FileName + PDFXChangeViewer = .FileName SaveMySettingsValue("PDFXChangeViewer", txtpdfxchange.Text) End If End With diff --git a/app/DD_PM_WINDREAM/frmMain.Designer.vb b/app/DD_PM_WINDREAM/frmMain.Designer.vb index 5c6ce60..0650375 100644 --- a/app/DD_PM_WINDREAM/frmMain.Designer.vb +++ b/app/DD_PM_WINDREAM/frmMain.Designer.vb @@ -60,6 +60,8 @@ Partial Class frmMain Me.TBPM_PROFILE_FILESBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPM_PROFILE_FILESTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_PROFILE_FILESTableAdapter() Me.TimerReminder = New System.Windows.Forms.Timer(Me.components) + Me.GridControlProfile = New DevExpress.XtraGrid.GridControl() + Me.GridViewProfile = New DevExpress.XtraGrid.Views.Grid.GridView() CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() Me.ToolStrip1.SuspendLayout() @@ -69,18 +71,19 @@ Partial Class frmMain CType(Me.TBPM_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_KONFIGURATIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_PROFILE_FILESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridControlProfile, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridViewProfile, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'ListViewProfile ' Me.ListViewProfile.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ProfilJob, Me.DocumentNumber, Me.Profilname}) - Me.ListViewProfile.Dock = System.Windows.Forms.DockStyle.Fill Me.ListViewProfile.Font = New System.Drawing.Font("Verdana", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.ListViewProfile.FullRowSelect = True - Me.ListViewProfile.Location = New System.Drawing.Point(0, 25) + Me.ListViewProfile.Location = New System.Drawing.Point(714, 37) Me.ListViewProfile.Name = "ListViewProfile" Me.ListViewProfile.ShowItemToolTips = True - Me.ListViewProfile.Size = New System.Drawing.Size(889, 326) + Me.ListViewProfile.Size = New System.Drawing.Size(163, 101) Me.ListViewProfile.SmallImageList = Me.ImageListProfile Me.ListViewProfile.TabIndex = 1 Me.ListViewProfile.UseCompatibleStateImageBehavior = False @@ -201,7 +204,7 @@ Partial Class frmMain Me.tstrpbtn_Config.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.puzzle2 Me.tstrpbtn_Config.ImageTransparentColor = System.Drawing.Color.Magenta Me.tstrpbtn_Config.Name = "tstrpbtn_Config" - Me.tstrpbtn_Config.Size = New System.Drawing.Size(139, 22) + Me.tstrpbtn_Config.Size = New System.Drawing.Size(138, 22) Me.tstrpbtn_Config.Text = "Verwaltungs-Konsole" Me.tstrpbtn_Config.Visible = False ' @@ -234,7 +237,7 @@ Partial Class frmMain Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Me.tsstlblUser.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.user Me.tsstlblUser.Name = "tsstlblUser" - Me.tsstlblUser.Size = New System.Drawing.Size(141, 20) + Me.tsstlblUser.Size = New System.Drawing.Size(140, 20) Me.tsstlblUser.Text = "ToolStripStatusLabel1" ' 'tslblLicenses @@ -263,11 +266,12 @@ Partial Class frmMain Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) Me.tslblVersion.Name = "tslblVersion" - Me.tslblVersion.Size = New System.Drawing.Size(125, 20) + Me.tslblVersion.Size = New System.Drawing.Size(124, 20) Me.tslblVersion.Text = "ToolStripStatusLabel1" ' 'Panel1 ' + Me.Panel1.Controls.Add(Me.GridControlProfile) Me.Panel1.Controls.Add(Me.ListViewProfile) Me.Panel1.Controls.Add(Me.ToolStrip1) Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill @@ -326,6 +330,43 @@ Partial Class frmMain 'TimerReminder ' ' + 'GridControlProfile + ' + Me.GridControlProfile.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridControlProfile.Location = New System.Drawing.Point(12, 37) + Me.GridControlProfile.MainView = Me.GridViewProfile + Me.GridControlProfile.Name = "GridControlProfile" + Me.GridControlProfile.Size = New System.Drawing.Size(682, 311) + Me.GridControlProfile.TabIndex = 3 + Me.GridControlProfile.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewProfile}) + ' + 'GridViewProfile + ' + Me.GridViewProfile.Appearance.EvenRow.BackColor = System.Drawing.Color.Cyan + Me.GridViewProfile.Appearance.EvenRow.Options.UseBackColor = True + Me.GridViewProfile.Appearance.Row.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridViewProfile.Appearance.Row.Options.UseFont = True + Me.GridViewProfile.GridControl = Me.GridControlProfile + Me.GridViewProfile.GroupPanelText = "Ziehen Sie Spaltenüberschriften in diesen Bereich um nach diesen gruppieren zu la" & + "ssen" + Me.GridViewProfile.Name = "GridViewProfile" + Me.GridViewProfile.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False] + Me.GridViewProfile.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False] + Me.GridViewProfile.OptionsBehavior.Editable = False + Me.GridViewProfile.OptionsBehavior.ReadOnly = True + Me.GridViewProfile.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False] + Me.GridViewProfile.OptionsCustomization.AllowGroup = False + Me.GridViewProfile.OptionsSelection.EnableAppearanceFocusedCell = False + Me.GridViewProfile.OptionsSelection.EnableAppearanceFocusedRow = False + Me.GridViewProfile.OptionsSelection.EnableAppearanceHideSelection = False + Me.GridViewProfile.OptionsSelection.MultiSelect = True + Me.GridViewProfile.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect + Me.GridViewProfile.OptionsView.ColumnAutoWidth = False + Me.GridViewProfile.OptionsView.EnableAppearanceEvenRow = True + Me.GridViewProfile.OptionsView.ShowAutoFilterRow = True + Me.GridViewProfile.OptionsView.ShowGroupPanel = False + Me.GridViewProfile.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[True] + ' 'frmMain ' Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 21.0!) @@ -351,6 +392,8 @@ Partial Class frmMain CType(Me.TBPM_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_KONFIGURATIONBindingSource, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TBPM_PROFILE_FILESBindingSource, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridControlProfile, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridViewProfile, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -391,4 +434,6 @@ Partial Class frmMain Friend WithEvents Profilname As System.Windows.Forms.ColumnHeader Friend WithEvents tslblVersion As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents TimerReminder As System.Windows.Forms.Timer + Friend WithEvents GridControlProfile As DevExpress.XtraGrid.GridControl + Friend WithEvents GridViewProfile As DevExpress.XtraGrid.Views.Grid.GridView End Class diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx index 9a347a6..ef6c892 100644 --- a/app/DD_PM_WINDREAM/frmMain.resx +++ b/app/DD_PM_WINDREAM/frmMain.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAAcgBAQHIAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAdABAQHQAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/app/DD_PM_WINDREAM/frmMain.vb b/app/DD_PM_WINDREAM/frmMain.vb index 041f1d7..0be296f 100644 --- a/app/DD_PM_WINDREAM/frmMain.vb +++ b/app/DD_PM_WINDREAM/frmMain.vb @@ -7,6 +7,7 @@ Public Class frmMain Private _windreamPM As ClassPMWindream Private UserLoggedin As Integer = 0 Private PROFILE_COUNT As Integer = 0 + Private DTPROFIL As DataTable Private Sub frmProfiles_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Try TBPM_USERTableAdapter.cmdLoginOut(False, Environment.MachineName, Environment.UserName) @@ -141,7 +142,42 @@ Public Class frmMain Sub LoadProfile_PM() Try If Me.Visible = True And frmProfileDesigner.Visible = False Then + DTPROFIL = ClassDatabase.Return_Datatable("SELECT * FROM TBPM_PROFILE WHERE GUID = " & CURRENT_ProfilGUID) PROFILE_COUNT = 0 + Dim sql = String.Format("Select T.PROFIL_ID, T.TITLE as 'Profil/Schritt', NO_OF_DOCUMENTS AS 'Anzahl Dateien',ISNULL([dbo].[FNPM_LASTWORKUSER_PROFIL] ( T.PROFIL_ID),'') as 'Letzter Bearbeiter' from VWPM_PROFILE_USER T" & + " Where(ACTIVE = 1) And (UPPER(USERNAME) = UPPER('{0}')) Order By PRIORITY", Environment.UserName) + Dim DTGRID As DataTable = ClassDatabase.Return_Datatable(sql, True) + If Not IsNothing(DTGRID) Then + GridControlProfile.DataSource = DTGRID + Try + GridViewProfile.Columns.Item("PROFIL_ID").Visible = False + Catch ex As Exception + + End Try + 'Detail-Daten laden + Dim SQL_DETAILS + Try + SQL_DETAILS = DTPROFIL.Rows(0).Item("DETAIL_SQL") + Catch ex As Exception + SQL_DETAILS = String.Empty + End Try + If SQL_DETAILS <> String.Empty Then + Dim DT_DETAILS As DataTable = ClassDatabase.Return_Datatable(SQL_DETAILS, True) + + End If + + + Else + GridControlProfile.DataSource = Nothing + Try + GridViewProfile.Columns.Clear() + Catch ex As Exception + + End Try + End If + + + Me.VWPM_PROFILE_USERTableAdapter.FillByActive(Me.DD_DMSLiteDataSet.VWPM_PROFILE_USER, Environment.UserName) Dim DT As DataTable = DD_DMSLiteDataSet.Tables("VWPM_PROFILE_USER") If LogErrorsOnly = False Then ClassLogger.Add("", False) diff --git a/app/DD_PM_WINDREAM/frmValidator.Designer.vb b/app/DD_PM_WINDREAM/frmValidator.Designer.vb index 852bf54..f5a8a52 100644 --- a/app/DD_PM_WINDREAM/frmValidator.Designer.vb +++ b/app/DD_PM_WINDREAM/frmValidator.Designer.vb @@ -39,7 +39,6 @@ Partial Class frmValidator Me.VWPM_PROFILE_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.DD_DMSLiteDataSet = New DD_PM_WINDREAM.DD_DMSLiteDataSet() Me.btnSave = New System.Windows.Forms.Button() - Me.btnNavigatornext = New System.Windows.Forms.Button() Me.DESCRIPTIONLabel = New System.Windows.Forms.Label() Me.GroupBox1 = New System.Windows.Forms.GroupBox() Me.Label2 = New System.Windows.Forms.Label() @@ -47,7 +46,6 @@ Partial Class frmValidator Me.txtErstellt = New System.Windows.Forms.TextBox() Me.txtDateipfad = New System.Windows.Forms.TextBox() Me.pnldesigner = New System.Windows.Forms.Panel() - Me.btnDelete = New System.Windows.Forms.Button() Me.VWPM_PROFILE_USERTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.VWPM_PROFILE_USERTableAdapter() Me.TableAdapterManager = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TableAdapterManager() Me.TBPM_CONNECTIONTableAdapter = New DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.TBPM_CONNECTIONTableAdapter() @@ -137,6 +135,10 @@ Partial Class frmValidator Me.txtBetreff = New System.Windows.Forms.TextBox() Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() Me.grpbxMailBody = New System.Windows.Forms.GroupBox() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButtonJumpFile = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButtonDeleteFile = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButtonAnnotation = New System.Windows.Forms.ToolStripButton() CType(Me.BarAndDockingController3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.BarAndDockingController2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.BarAndDockingController1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -168,6 +170,7 @@ Partial Class frmValidator Me.SplitContainer1.Panel2.SuspendLayout() Me.SplitContainer1.SuspendLayout() Me.grpbxMailBody.SuspendLayout() + Me.ToolStrip1.SuspendLayout() Me.SuspendLayout() ' 'BarAndDockingController3 @@ -225,16 +228,14 @@ Partial Class frmValidator Me.Panel1.ContextMenuStrip = Me.ContextMenuStrip1 Me.Panel1.Controls.Add(Me.TITLELabel1) Me.Panel1.Controls.Add(Me.btnSave) - Me.Panel1.Controls.Add(Me.btnNavigatornext) Me.Panel1.Controls.Add(Me.DESCRIPTIONLabel) Me.Panel1.Controls.Add(Me.GroupBox1) Me.Panel1.Controls.Add(Me.pnldesigner) - Me.Panel1.Controls.Add(Me.btnDelete) Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel1.Location = New System.Drawing.Point(0, 0) Me.Panel1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(477, 621) + Me.Panel1.Size = New System.Drawing.Size(477, 593) Me.Panel1.TabIndex = 24 ' 'ContextMenuStrip1 @@ -288,7 +289,7 @@ Partial Class frmValidator Me.btnSave.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btnSave.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.flag_pink Me.btnSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnSave.Location = New System.Drawing.Point(7, 564) + Me.btnSave.Location = New System.Drawing.Point(7, 536) Me.btnSave.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.btnSave.Name = "btnSave" Me.btnSave.Size = New System.Drawing.Size(450, 50) @@ -296,21 +297,6 @@ Partial Class frmValidator Me.btnSave.Text = "Validierung speichern - Nächstes Dokument" Me.btnSave.UseVisualStyleBackColor = True ' - 'btnNavigatornext - ' - Me.btnNavigatornext.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.btnNavigatornext.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.Nextrequest_10302 - Me.btnNavigatornext.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnNavigatornext.Location = New System.Drawing.Point(287, 119) - Me.btnNavigatornext.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.btnNavigatornext.Name = "btnNavigatornext" - Me.btnNavigatornext.Size = New System.Drawing.Size(171, 35) - Me.btnNavigatornext.TabIndex = 3 - Me.btnNavigatornext.TabStop = False - Me.btnNavigatornext.Text = "Datei überspringen" - Me.btnNavigatornext.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnNavigatornext.UseVisualStyleBackColor = True - ' 'DESCRIPTIONLabel ' Me.DESCRIPTIONLabel.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ @@ -331,7 +317,7 @@ Partial Class frmValidator Me.GroupBox1.Controls.Add(Me.txtErstellt) Me.GroupBox1.Controls.Add(Me.txtDateipfad) Me.GroupBox1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.GroupBox1.Location = New System.Drawing.Point(9, 428) + Me.GroupBox1.Location = New System.Drawing.Point(9, 400) Me.GroupBox1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Padding = New System.Windows.Forms.Padding(3, 4, 3, 4) @@ -397,27 +383,12 @@ Partial Class frmValidator Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.pnldesigner.AutoScroll = True Me.pnldesigner.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.pnldesigner.Location = New System.Drawing.Point(8, 162) + Me.pnldesigner.Location = New System.Drawing.Point(8, 119) Me.pnldesigner.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.pnldesigner.Name = "pnldesigner" - Me.pnldesigner.Size = New System.Drawing.Size(450, 258) + Me.pnldesigner.Size = New System.Drawing.Size(450, 273) Me.pnldesigner.TabIndex = 18 ' - 'btnDelete - ' - Me.btnDelete.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.delete_12x12 - Me.btnDelete.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnDelete.Location = New System.Drawing.Point(8, 119) - Me.btnDelete.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.btnDelete.Name = "btnDelete" - Me.btnDelete.Size = New System.Drawing.Size(117, 35) - Me.btnDelete.TabIndex = 21 - Me.btnDelete.TabStop = False - Me.btnDelete.Text = "Löschen" - Me.btnDelete.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnDelete.UseVisualStyleBackColor = True - Me.btnDelete.Visible = False - ' 'VWPM_PROFILE_USERTableAdapter ' Me.VWPM_PROFILE_USERTableAdapter.ClearBeforeFill = True @@ -977,8 +948,10 @@ Partial Class frmValidator ' 'SplitContainer1 ' - Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill - Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.SplitContainer1.Location = New System.Drawing.Point(0, 28) Me.SplitContainer1.Name = "SplitContainer1" ' 'SplitContainer1.Panel1 @@ -990,7 +963,7 @@ Partial Class frmValidator Me.SplitContainer1.Panel2.Controls.Add(Me.grpbxMailBody) Me.SplitContainer1.Panel2.Controls.Add(Me.pnlpdf) Me.SplitContainer1.Panel2.Controls.Add(Me.grpBetreff) - Me.SplitContainer1.Size = New System.Drawing.Size(962, 621) + Me.SplitContainer1.Size = New System.Drawing.Size(962, 593) Me.SplitContainer1.SplitterDistance = 477 Me.SplitContainer1.TabIndex = 37 ' @@ -1005,11 +978,46 @@ Partial Class frmValidator Me.grpbxMailBody.TabStop = False Me.grpbxMailBody.Text = "Body:" ' + 'ToolStrip1 + ' + Me.ToolStrip1.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButtonJumpFile, Me.ToolStripButtonDeleteFile, Me.ToolStripButtonAnnotation}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(962, 25) + Me.ToolStrip1.TabIndex = 42 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripButtonJumpFile + ' + Me.ToolStripButtonJumpFile.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.Nextrequest_10302 + Me.ToolStripButtonJumpFile.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButtonJumpFile.Name = "ToolStripButtonJumpFile" + Me.ToolStripButtonJumpFile.Size = New System.Drawing.Size(165, 22) + Me.ToolStripButtonJumpFile.Text = "Datei überspringen (F4)" + ' + 'ToolStripButtonDeleteFile + ' + Me.ToolStripButtonDeleteFile.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.delete_12x12 + Me.ToolStripButtonDeleteFile.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButtonDeleteFile.Name = "ToolStripButtonDeleteFile" + Me.ToolStripButtonDeleteFile.Size = New System.Drawing.Size(106, 22) + Me.ToolStripButtonDeleteFile.Text = "Datei löschen" + ' + 'ToolStripButtonAnnotation + ' + Me.ToolStripButtonAnnotation.Image = Global.DD_PM_WINDREAM.My.Resources.Resources.flag_orange + Me.ToolStripButtonAnnotation.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButtonAnnotation.Name = "ToolStripButtonAnnotation" + Me.ToolStripButtonAnnotation.Size = New System.Drawing.Size(105, 22) + Me.ToolStripButtonAnnotation.Text = "Annotationen" + ' 'frmValidator ' Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(962, 643) + Me.Controls.Add(Me.ToolStrip1) Me.Controls.Add(Me.SplitContainer1) Me.Controls.Add(Me.StatusStrip1) Me.Controls.Add(Me.barDockControlLeft) @@ -1060,6 +1068,8 @@ Partial Class frmValidator Me.SplitContainer1.ResumeLayout(False) Me.grpbxMailBody.ResumeLayout(False) Me.grpbxMailBody.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() @@ -1071,7 +1081,6 @@ Partial Class frmValidator Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents TITLELabel1 As System.Windows.Forms.Label Friend WithEvents btnSave As System.Windows.Forms.Button - Friend WithEvents btnNavigatornext As System.Windows.Forms.Button Friend WithEvents DESCRIPTIONLabel As System.Windows.Forms.Label Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents Label2 As System.Windows.Forms.Label @@ -1079,7 +1088,6 @@ Partial Class frmValidator Friend WithEvents txtErstellt As System.Windows.Forms.TextBox Friend WithEvents txtDateipfad As System.Windows.Forms.TextBox Friend WithEvents pnldesigner As System.Windows.Forms.Panel - Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents DD_DMSLiteDataSet As DD_PM_WINDREAM.DD_DMSLiteDataSet Friend WithEvents VWPM_PROFILE_USERBindingSource As System.Windows.Forms.BindingSource Friend WithEvents VWPM_PROFILE_USERTableAdapter As DD_PM_WINDREAM.DD_DMSLiteDataSetTableAdapters.VWPM_PROFILE_USERTableAdapter @@ -1177,4 +1185,8 @@ Partial Class frmValidator Friend WithEvents BarAndDockingController3 As DevExpress.XtraBars.BarAndDockingController Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer Friend WithEvents grpbxMailBody As System.Windows.Forms.GroupBox + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripButtonJumpFile As ToolStripButton + Friend WithEvents ToolStripButtonDeleteFile As ToolStripButton + Friend WithEvents ToolStripButtonAnnotation As ToolStripButton End Class diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx index b33131b..f7355bf 100644 --- a/app/DD_PM_WINDREAM/frmValidator.resx +++ b/app/DD_PM_WINDREAM/frmValidator.resx @@ -204,6 +204,9 @@ 197 + + 134, 251 + 17, 251 diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index d9ad52f..7449a96 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -17,6 +17,7 @@ Public Class frmValidator Dim PROFIL_VEKTORINDEX Dim PROFIL_LOGINDEX Dim Right_Delete As Boolean + Dim DTPROFIL As DataTable Dim Delimiter As String @@ -297,6 +298,7 @@ Public Class frmValidator Me.Size = My.Settings.frmValidatorSize End If Try + DTPROFIL = ClassDatabase.Return_Datatable("SELECT * FROM TBPM_PROFILE WHERE GUID = " & CURRENT_ProfilGUID) TBPM_FILES_USER_NOT_INDEXEDTableAdapter.Connection.ConnectionString = MyConnectionString TBPM_PROFILE_CONTROLSTableAdapter.Connection.ConnectionString = MyConnectionString TBPM_CONNECTIONTableAdapter.Connection.ConnectionString = MyConnectionString @@ -362,9 +364,9 @@ Public Class frmValidator If LogErrorsOnly = False Then ClassLogger.Add(" >> PROFIL_sortbynewest: " & PROFIL_sortbynewest.ToString, False) 'Delete Button anzeigen ja/nein If Right_Delete = True Then - Me.btnDelete.Visible = True + Me.ToolStripButtonDeleteFile.Enabled = True Else - Me.btnDelete.Visible = False + Me.ToolStripButtonDeleteFile.Enabled = False End If If LogErrorsOnly = False Then ClassLogger.Add(" >> Right_Delete: " & Right_Delete.ToString, False) @@ -861,7 +863,7 @@ Public Class frmValidator ClassLogger.Add("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message) End Try If box.Name = last_control.Name Then - Abschluss() + ' Abschluss() Else SendKeys.Send("{TAB}") End If @@ -1063,10 +1065,12 @@ Public Class frmValidator Else newGUID = TBPM_PROFILE_FILESTableAdapter.cmdGetNextFile_GUID(CURRENT_ProfilGUID, OLD_Document_Path, Environment.UserName) End If - + Document_Path = "" + CURRENT_DOC_PATH = "" If newGUID > 0 Then If LogErrorsOnly = False Then ClassLogger.Add(" >> newGUID: " & newGUID.ToString, False) Document_Path = TBPM_PROFILE_FILESTableAdapter.CmdGetFilePath_2_GUID(newGUID) + CURRENT_DOC_PATH = Document_Path If LogErrorsOnly = False Then ClassLogger.Add(" >> Document_Path: " & Document_Path, False) If LogErrorsOnly = False Then ClassLogger.Add(" >> Überprüfen ob File existiert?", False) @@ -1079,6 +1083,8 @@ Public Class frmValidator Dim Del = "DELETE FROM TBPM_PROFILE_FILES where GUID = " & newGUID ClassDatabase.Execute_non_Query(Del, True) errmessage = "Die windream-Datei existiert nicht!" + Document_Path = "" + CURRENT_DOC_PATH = "" Return 0 End If Loop @@ -1225,67 +1231,11 @@ Public Class frmValidator Me.grpbxMailBody.Visible = False Me.grpBetreff.Visible = False - If Viewer = "uviewer" Then - pdfxchange = False - sumatra = False - If Document_Path.ToLower.EndsWith(".msg") Then - Show_Email() - Else - ShowFile_UniversalViewer(Document_Path) - End If - ElseIf Viewer = "docview" Then - PdfControls_visible(False) - If Document_Path.ToLower.EndsWith(".pdf") And vpdfviewer <> "none" Then - Select Case vpdfviewer - Case "internal" - PdfViewer1.LoadDocument(Document_Path) - If LogErrorsOnly = False Then ClassLogger.Add(" >> Internal Viewer Path: " & Document_Path, False) - PdfControls_visible(True) - Me.Size = My.Settings.frmValidation_Size_PDFViewer - PdfViewer1.ZoomMode = PDFViewer_ZoomMode - pdfxchange = False - sumatra = False - Case "pdfxchange" - Open_PDFXCHANGE(Document_Path) - pdfxchange = True - sumatra = False - System.Threading.Thread.Sleep(1000) - Me.Size = My.Settings.frmValidatorSize - Case "sumatra" - Open_Sumatra(Document_Path) - sumatra = True - pdfxchange = False - System.Threading.Thread.Sleep(1000) - Me.Size = My.Settings.frmValidatorSize - Case "system" - sumatra = False - pdfxchange = False - Open_PDF_withStandard() - System.Threading.Thread.Sleep(1000) - Me.Size = My.Settings.frmValidatorSize - End Select - ElseIf Document_Path.ToLower.EndsWith(".msg") Then - Show_Email() - Else - Me.Size = My.Settings.frmValidatorSize - pdfxchange = False - sumatra = False - DocView = Nothing - DocView = CreateObject("WMPViewXNG.Viewer") - ' open the viewer - viewer_string = aktivesDokument.aPath.ToString - DocView.ViewFile(viewer_string) - End If + load_Viewer + If Document_Path.ToLower.EndsWith(".pdf") Then + ToolStripButtonAnnotation.Visible = True Else - PdfControls_visible(False) - Me.Size = My.Settings.frmValidatorSize - pdfxchange = False - sumatra = False - DocView = Nothing - DocView = CreateObject("WMPViewXNG.Viewer") - ' open the viewer - viewer_string = aktivesDokument.aPath.ToString - DocView.ViewFile(viewer_string) + ToolStripButtonAnnotation.Visible = False End If If LogErrorsOnly = False Then ClassLogger.Add(" >> Viewer geladen", False) @@ -1348,6 +1298,70 @@ Public Class frmValidator frmError.ShowDialog() End Try End Sub + Sub load_viewer() + If Viewer = "uviewer" Then + pdfxchange = False + sumatra = False + If Document_Path.ToLower.EndsWith(".msg") Then + Show_Email() + Else + ShowFile_UniversalViewer(Document_Path) + End If + ElseIf Viewer = "docview" Then + PdfControls_visible(False) + If Document_Path.ToLower.EndsWith(".pdf") And vpdfviewer <> "none" Then + Select Case vpdfviewer + Case "internal" + PdfViewer1.LoadDocument(Document_Path) + If LogErrorsOnly = False Then ClassLogger.Add(" >> Internal Viewer Path: " & Document_Path, False) + PdfControls_visible(True) + Me.Size = My.Settings.frmValidation_Size_PDFViewer + PdfViewer1.ZoomFactor = PDFViewer_ZoomMode + pdfxchange = False + sumatra = False + Case "pdfxchange" + Open_PDFXCHANGE(Document_Path) + pdfxchange = True + sumatra = False + System.Threading.Thread.Sleep(1000) + Me.Size = My.Settings.frmValidatorSize + Case "sumatra" + Open_Sumatra(Document_Path) + sumatra = True + pdfxchange = False + System.Threading.Thread.Sleep(1000) + Me.Size = My.Settings.frmValidatorSize + Case "system" + sumatra = False + pdfxchange = False + Open_PDF_withStandard() + System.Threading.Thread.Sleep(1000) + Me.Size = My.Settings.frmValidatorSize + End Select + ElseIf Document_Path.ToLower.EndsWith(".msg") Then + Show_Email() + Else + Me.Size = My.Settings.frmValidatorSize + pdfxchange = False + sumatra = False + DocView = Nothing + DocView = CreateObject("WMPViewXNG.Viewer") + ' open the viewer + viewer_string = aktivesDokument.aPath.ToString + DocView.ViewFile(viewer_string) + End If + Else + PdfControls_visible(False) + Me.Size = My.Settings.frmValidatorSize + pdfxchange = False + sumatra = False + DocView = Nothing + DocView = CreateObject("WMPViewXNG.Viewer") + ' open the viewer + viewer_string = aktivesDokument.aPath.ToString + DocView.ViewFile(viewer_string) + End If + End Sub Sub Show_Email() Try Me.grpBetreff.Dock = DockStyle.Top @@ -1952,36 +1966,116 @@ Public Class frmValidator 'TBPM_PROFILE_FILESTableAdapter.CmdSETWORK(False, "", Document_ID) ''Das Dokument 'TBPM_PROFILE_FILESTableAdapter.CmdSetEdit(Document_ID) + Dim WORK_HISTORY_ENTRY = Nothing - Close_document_viewer() + Try + WORK_HISTORY_ENTRY = DTPROFIL.Rows(0).Item("WORK_HISTORY_ENTRY") + If IsDBNull(WORK_HISTORY_ENTRY) Then + WORK_HISTORY_ENTRY = Nothing + End If + Catch ex As Exception + WORK_HISTORY_ENTRY = Nothing + End Try - 'wenn Move2Folder aktiviert wurde - If Move2Folder <> "" Then - idxerr_message = allgFunk.Move2Folder(Document_Path, Move2Folder, CURRENT_ProfilGUID) - If idxerr_message <> "" Then - My.Settings.errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message - My.Settings.Save() - frmError.ShowDialog() - _error = True + If Not IsNothing(WORK_HISTORY_ENTRY) Then + If WORK_HISTORY_ENTRY <> String.Empty Then + Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" + ' einen Regulären Ausdruck laden + Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg) + ' die Vorkommen im SQL-String auslesen + Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(WORK_HISTORY_ENTRY) + '#### + ' alle Vorkommen innerhalbd er Namenkonvention durchlaufen + For Each element As System.Text.RegularExpressions.Match In elemente + Try + If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX WORK_HISTORY_ENTRY: " & element.Value, False) + Dim CTRL_ID = element.Value.Substring(2, element.Value.Length - 3) + CTRL_ID = CTRL_ID.Replace("CTRLID", "") + Dim value_from_control + For Each inctrl As Control In Me.pnldesigner.Controls + If IsNothing(inctrl.Tag) Then + Continue For + End If + If inctrl.Tag = CTRL_ID Then + '###### + Dim Type As String = inctrl.GetType.ToString + Select Case Type + Case "System.Windows.Forms.TextBox" + Try + value_from_control = inctrl.Text + Catch ex As Exception + value_from_control = String.Empty + End Try + + Case "System.Windows.Forms.ComboBox" + Dim cmb As ComboBox = inctrl + Try + value_from_control = cmb.SelectedValue + Catch ex As Exception + value_from_control = String.Empty + End Try + Case "System.Windows.Forms.DateTimePicker" + Dim dtp As DateTimePicker = inctrl + Try + value_from_control = dtp.Value.ToString + Catch ex As Exception + value_from_control = String.Empty + End Try + + Case "System.Windows.Forms.CheckBox" + Dim chk As CheckBox = inctrl + Try + value_from_control = chk.Checked + Catch ex As Exception + value_from_control = String.Empty + End Try + End Select + + End If + Next + If Not IsNothing(value_from_control) And value_from_control <> String.Empty Then + WORK_HISTORY_ENTRY = WORK_HISTORY_ENTRY.ToString.Replace(element.Value, value_from_control) + End If + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Checking control values for WORK_HISTORY_ENTRY - ERROR: " & ex.Message) + End Try + Next + Else + WORK_HISTORY_ENTRY = "" End If End If - 'Validierungsfile löschen wenn vorhanden - allgFunk.Delete_xffres(Document_Path) - If LogErrorsOnly = False Then ClassLogger.Add(" >> Delete_xffres ausgeführt", False) - If LogErrorsOnly = False Then ClassLogger.Add(" >> All Input clear", False) - Anzahl_validierte_Dok += 1 - 'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID) - If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl hochgesetzt", False) - If LogErrorsOnly = False Then ClassLogger.Add(" >> Validierung erfolgreich abgeschlossen", False) - ClassLogger.Add("", False) + sql = String.Format("INSERT INTO TBPM_FILES_WORK_HISTORY (PROFIL_ID, DOC_ID,WORKED_BY) VALUES ({0},{1},{'2'})", CURRENT_ProfilGUID, CURRENT_DOC_ID, Environment.UserName) + ClassDatabase.Execute_non_Query(sql) + Close_document_viewer() - 'Das nächste Dokument laden - Load_Next_Document(False) - set_foreground() - If first_control Is Nothing = False Then first_control.Focus() - End If + 'wenn Move2Folder aktiviert wurde + If Move2Folder <> "" Then + idxerr_message = allgFunk.Move2Folder(Document_Path, Move2Folder, CURRENT_ProfilGUID) + If idxerr_message <> "" Then + My.Settings.errormessage = "Fehler bei Move2Folder:" & vbNewLine & idxerr_message + My.Settings.Save() + frmError.ShowDialog() + _error = True + End If + End If + 'Validierungsfile löschen wenn vorhanden + allgFunk.Delete_xffres(Document_Path) + If LogErrorsOnly = False Then ClassLogger.Add(" >> Delete_xffres ausgeführt", False) + If LogErrorsOnly = False Then ClassLogger.Add(" >> All Input clear", False) + Anzahl_validierte_Dok += 1 + 'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID) + If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl hochgesetzt", False) + If LogErrorsOnly = False Then ClassLogger.Add(" >> Validierung erfolgreich abgeschlossen", False) + ClassLogger.Add("", False) + + 'Das nächste Dokument laden + Load_Next_Document(False) + + set_foreground() + If first_control Is Nothing = False Then first_control.Focus() + End If Catch ex As Exception My.Settings.errormessage = "Unvorhergesehener Fehler bei Abschluss:" & ex.Message @@ -2514,7 +2608,7 @@ Public Class frmValidator End If End Sub - Private Sub btnNavigatornext_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles btnNavigatornext.MouseDown + Private Sub btnNavigatornext_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) If e.Button = Windows.Forms.MouseButtons.Left Then navStep = "next" End If @@ -2547,8 +2641,7 @@ Public Class frmValidator End Sub - - Private Sub btnNavigatornext_Click(sender As System.Object, e As System.EventArgs) Handles btnNavigatornext.Click + Sub Datei_ueberspringen() Try If LogErrorsOnly = False Then ClassLogger.Add(" >> Dokument überspringen", False) Close_document_viewer() @@ -2562,10 +2655,9 @@ Public Class frmValidator Catch ex As Exception MsgBox("Fehler bei Überspringen:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try - End Sub - Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click + Private Sub delete_active_File() Try Dim result As MsgBoxResult result = MessageBox.Show("Sind Sie sicher dass Sie dieses Dokument unwiderruflich löschen wollen?" & vbNewLine & "Danach wird die nächste Datei angezeigt!", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) @@ -2615,7 +2707,7 @@ Public Class frmValidator Private Const SEE_MASK_NOCLOSEPROCESS = &H40 Private Const SEE_MASK_FLAG_NO_UI = &H400 Public Const SW_SHOW As Short = 5 - _ + Public Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean End Function Public Structure SHELLEXECUTEINFO @@ -2699,10 +2791,11 @@ Public Class frmValidator Private Sub PdfViewer1_ZoomChanged_1(sender As Object, e As DevExpress.XtraPdfViewer.PdfZoomChangedEventArgs) Handles PdfViewer1.ZoomChanged If Not PdfViewer1.ZoomMode = DevExpress.XtraPdfViewer.PdfZoomMode.Custom Then - SaveMySettingsValue("PDFViewer_ZoomMode", PdfViewer1.ZoomMode) - PDFViewer_ZoomMode = PdfViewer1.ZoomMode - End If + End If + Dim sdds = PdfViewer1.ZoomFactor + SaveMySettingsValue("PDFViewer_ZoomMode", PdfViewer1.ZoomFactor) + PDFViewer_ZoomMode = PdfViewer1.ZoomFactor End Sub Private Sub ToolStripDropDownButton1_Click(sender As Object, e As EventArgs) Handles ToolStripDropDownButton1.Click @@ -2714,10 +2807,21 @@ Public Class frmValidator btnSave.Enabled = False Abschluss() btnSave.Enabled = True + ElseIf e.KeyCode = Keys.F4 Then + Datei_ueberspringen() End If End Sub - Private Sub Button1_Click(sender As Object, e As EventArgs) + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButtonJumpFile.Click + Datei_ueberspringen() + End Sub + + Private Sub ToolStripButtonDeleteFile_Click(sender As Object, e As EventArgs) Handles ToolStripButtonDeleteFile.Click + delete_active_File() + End Sub + Private Sub ToolStripButtonAnnotation_Click(sender As Object, e As EventArgs) Handles ToolStripButtonAnnotation.Click + frmAnnotations.ShowDialog() + load_viewer() End Sub End Class \ No newline at end of file diff --git a/app/Setup/Product.wxs b/app/Setup/Product.wxs index c744839..23b0c39 100644 --- a/app/Setup/Product.wxs +++ b/app/Setup/Product.wxs @@ -58,13 +58,17 @@ + + + + @@ -78,7 +82,11 @@ - + + + + + @@ -128,6 +136,7 @@ +