This commit is contained in:
SchreiberM 2022-05-09 12:16:09 +02:00
commit f3a19e99f5
27 changed files with 321 additions and 787 deletions

View File

@ -170,6 +170,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property editdatasource2() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("editdatasource2", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
@ -200,6 +210,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
Friend ReadOnly Property togglefieldcodes() As DevExpress.Utils.Svg.SvgImage
Get
Dim obj As Object = ResourceManager.GetObject("togglefieldcodes", resourceCulture)
Return CType(obj,DevExpress.Utils.Svg.SvgImage)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>

View File

@ -139,18 +139,24 @@
<data name="highimportance" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\highimportance.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="actions_database" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_database.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="cleartablestyle" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cleartablestyle.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="electronics_desktopmac" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\electronics_desktopmac.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="editdatasource2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\editdatasource2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="clearall" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clearall.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="actions_database2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_database2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="actions_database" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_database.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="updatedataextract1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\updatedataextract1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
@ -169,7 +175,7 @@
<data name="actions_database1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_database1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="cleartablestyle" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cleartablestyle.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="togglefieldcodes" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\togglefieldcodes.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

View File

@ -0,0 +1,17 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Green{fill:#039C23;}
.Black{fill:#727272;}
.Red{fill:#D11C1C;}
.Yellow{fill:#FFB115;}
.Blue{fill:#1177D7;}
.White{fill:#FFFFFF;}
.st0{opacity:0.5;}
.st1{opacity:0.75;}
</style>
<g id="EditDataSource">
<path d="M4,10V6c0-2.2,4.5-4,10-4s10,1.8,10,4v4c0,2.2-4.5,4-10,4S4,12.2,4,10z M24,18L24,18C24,18,24,18,24,18 C24,18,24,18,24,18z M14,20c5.5,0,10-1.8,10-4v-4c0,2.2-4.5,4-10,4S4,14.2,4,12v4C4,18.2,8.5,20,14,20z M15.2,26l4.8-4.8 c-1.7,0.5-3.7,0.8-6,0.8c-5.5,0-10-1.8-10-4v4c0,2.2,4.5,4,10,4C14.4,26,14.8,26,15.2,26z" class="Yellow" />
<path d="M29,23l-8,8l-4-4l8-8L29,23z M30,22l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,16.3c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z" class="Blue" />
</g>
</svg>

View File

@ -0,0 +1,13 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="ToggleFieldCodes" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Black{fill:#727272;}
.Yellow{fill:#FFB115;}
.st0{opacity:0.75;}
</style>
<path d="M32,31V15c0-0.6-0.5-1-1-1H9c-0.6,0-1,0.4-1,1v16c0,0.5,0.4,1,1,1h22C31.5,32,32,31.5,32,31z" class="Yellow" />
<g class="st0">
<path d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.5,0.4,1,1,1h22C23.5,18,24,17.5,24,17z" class="Yellow" />
</g>
<path d="M12.6,21.4c0.2-0.3,0.5-0.6,0.8-0.8c0.3-0.2,0.7-0.3,1.1-0.4c0.4-0.1,0.8-0.1,1.2-0.1c0.4,0,0.7,0,1.1,0.1 c0.4,0.1,0.7,0.2,1,0.3c0.3,0.2,0.6,0.4,0.8,0.7c0.2,0.3,0.3,0.7,0.3,1.1v4c0,0.4,0,0.7,0.1,1c0,0.3,0.1,0.6,0.2,0.7h-2.1 c0-0.1-0.1-0.2-0.1-0.4c0-0.1,0-0.3,0-0.4c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-0.4,0-0.7,0-1-0.1 c-0.3-0.1-0.6-0.2-0.8-0.4c-0.2-0.2-0.4-0.4-0.5-0.7s-0.2-0.6-0.2-1c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.3-0.5,0.6-0.7s0.5-0.3,0.8-0.4 c0.3-0.1,0.6-0.2,0.9-0.2c0.3,0,0.6-0.1,0.9-0.1c0.3,0,0.6-0.1,0.8-0.1c0.2-0.1,0.4-0.1,0.5-0.3c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.2,0-0.4-0.1-0.5c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.3-0.1-0.4-0.1c-0.2,0-0.3,0-0.5,0c-0.4,0-0.7,0.1-0.9,0.3 c-0.2,0.2-0.4,0.5-0.4,0.9h-2C12.3,22.1,12.4,21.7,12.6,21.4z M16.6,24.4c-0.1,0-0.3,0.1-0.4,0.1c-0.1,0-0.3,0.1-0.5,0.1 c-0.2,0-0.3,0-0.5,0.1c-0.2,0-0.3,0.1-0.5,0.1c-0.1,0.1-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.3-0.1,0.5 c0,0.2,0,0.4,0.1,0.5c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.2,0.1,0.4,0.2c0.2,0,0.3,0,0.5,0c0.4,0,0.7-0.1,0.9-0.2 c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.4,0.2-0.6c0-0.2,0-0.4,0-0.5v-0.8C16.8,24.3,16.7,24.3,16.6,24.4z M22.6,18v3.2h0 c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c0.4,0,0.7,0.1,1.1,0.2c0.4,0.2,0.7,0.4,1,0.7c0.3,0.3,0.5,0.8,0.7,1.3 c0.2,0.5,0.3,1.1,0.3,1.8s-0.1,1.3-0.3,1.8c-0.2,0.5-0.4,0.9-0.7,1.3c-0.3,0.3-0.6,0.6-1,0.7c-0.4,0.2-0.7,0.2-1.1,0.2 c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9h0v1h-1.9V18H22.6z M25.9,23.2c-0.1-0.3-0.2-0.6-0.3-0.8c-0.1-0.2-0.3-0.4-0.5-0.5 c-0.2-0.1-0.5-0.2-0.8-0.2c-0.3,0-0.6,0.1-0.8,0.2c-0.2,0.1-0.4,0.3-0.5,0.5c-0.1,0.2-0.2,0.5-0.3,0.8c-0.1,0.3-0.1,0.6-0.1,0.9 c0,0.3,0,0.6,0.1,0.9c0.1,0.3,0.2,0.6,0.3,0.8c0.1,0.2,0.3,0.4,0.5,0.5c0.2,0.1,0.5,0.2,0.8,0.2c0.3,0,0.6-0.1,0.8-0.2 c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8c0.1-0.3,0.1-0.6,0.1-0.9C26,23.8,25.9,23.5,25.9,23.2z M19,9.8c0,0-0.1,0-0.1,0 c-0.1,0-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.2-0.3,0.4C18,10.6,18,10.8,18,11.1v0.7c0,0.4-0.1,0.7-0.2,1c-0.1,0.3-0.3,0.5-0.4,0.7 c-0.2,0.2-0.4,0.3-0.6,0.4C16.6,14,16.4,14,16.3,14H14v-1.8h1.2c0.2,0,0.3,0,0.4-0.1c0.1-0.1,0.2-0.2,0.2-0.3 c0.1-0.1,0.1-0.2,0.1-0.4c0-0.1,0-0.3,0-0.4v-0.1c0-0.4,0.1-0.6,0.2-0.9c0.1-0.2,0.2-0.4,0.4-0.5s0.3-0.2,0.5-0.3 C17.2,9.1,17.3,9,17.4,9v0c-0.1,0-0.2,0-0.4-0.1c-0.2-0.1-0.3-0.2-0.5-0.3S16.3,8.3,16.2,8S16,7.4,16,7v0c0-0.1,0-0.3,0-0.4 c0-0.1,0-0.3-0.1-0.4C15.8,6.1,15.7,6,15.6,6c-0.1-0.1-0.2-0.1-0.4-0.1H14V4h2.3c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.4,0.2,0.6,0.4 c0.2,0.2,0.3,0.4,0.4,0.7c0.1,0.3,0.2,0.6,0.2,1v0.6c0,0.3,0,0.5,0.1,0.7c0.1,0.2,0.2,0.3,0.3,0.5c0.1,0.1,0.3,0.2,0.4,0.2 c0,0,0.1,0,0.1,0V9.8z M5,9.8c0,0,0.1,0,0.1,0c0.1,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4C6,10.6,6,10.8,6,11.1v0.7 c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.4,0.7c0.2,0.2,0.4,0.3,0.6,0.4C7.4,14,7.6,14,7.7,14H10v-1.8H8.8c-0.2,0-0.3,0-0.4-0.1 c-0.1-0.1-0.2-0.2-0.2-0.3C8.1,11.6,8,11.5,8,11.4c0-0.1,0-0.3,0-0.4v-0.1c0-0.4-0.1-0.6-0.2-0.9C7.7,9.8,7.6,9.6,7.5,9.4 S7.2,9.2,7,9.1C6.8,9.1,6.7,9,6.6,9v0c0.1,0,0.2,0,0.4-0.1c0.2-0.1,0.3-0.2,0.5-0.3S7.7,8.3,7.8,8S8,7.4,8,7v0c0-0.1,0-0.3,0-0.4 c0-0.1,0-0.3,0.1-0.4C8.2,6.1,8.3,6,8.4,6c0.1-0.1,0.2-0.1,0.4-0.1H10V4H7.7C7.6,4,7.4,4,7.2,4.1C7,4.2,6.8,4.4,6.6,4.6 C6.5,4.7,6.3,5,6.2,5.2C6.1,5.5,6,5.8,6,6.2v0.6c0,0.3,0,0.5-0.1,0.7C5.8,7.7,5.7,7.9,5.5,8C5.4,8.1,5.3,8.2,5.1,8.2 c0,0-0.1,0-0.1,0V9.8z" class="Black" />
</svg>

View File

@ -249,5 +249,11 @@
<ItemGroup>
<None Include="Resources\cleartablestyle.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\editdatasource2.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\togglefieldcodes.svg" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@ -1,199 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{3E7BC8A9-91EF-49B8-8110-2C01F664C24A}</ProjectGuid>
<OutputType>Library</OutputType>
<StartupObject>
</StartupObject>
<RootNamespace>DigitalData.Controls.SQLEditor</RootNamespace>
<AssemblyName>DigitalData.Controls.SQLEditor</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>DigitalData.Controls.SQLEditor.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>DigitalData.Controls.SQLEditor.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility" />
<Reference Include="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v19.2.Core, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeList.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
<Reference Include="System.Security" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="frmSQLEditor.Designer.vb">
<DependentUpon>frmSQLEditor.vb</DependentUpon>
</Compile>
<Compile Include="frmSQLEditor.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmSQLEditor.resx">
<DependentUpon>frmSQLEditor.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\actions_check.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\updatedataextract.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\actions_database.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\actions_database1.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\updatedataextract1.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\updatedataextract2.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\editdatasource.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\highimportance.svg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\actions_checkcircled.svg" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GUIs.Common\Common.vbproj">
<Project>{d20a6bf2-c7c6-4a7a-b34d-fa27d775a049}</Project>
<Name>Common</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Database\Database.vbproj">
<Project>{eaf0ea75-5fa7-485d-89c7-b2d843b03a96}</Project>
<Name>Database</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Language\Language.vbproj">
<Project>{d3c8cfed-d6f6-43a8-9bdf-454145d0352f}</Project>
<Name>Language</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Logging\Logging.vbproj">
<Project>{903b2d7d-3b80-4be9-8713-7447b704e1b0}</Project>
<Name>Logging</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Patterns\Patterns.vbproj">
<Project>{7c3b0c7e-59fe-4e1a-a655-27ae119f9444}</Project>
<Name>Patterns</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@ -24,21 +24,22 @@ Partial Class frmSQLEditor
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.RibbonGalleryBarItem1 = New DevExpress.XtraBars.RibbonGalleryBarItem()
Me.GalleryPlaceholders = New DevExpress.XtraBars.RibbonGalleryBarItem()
Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components)
Me.btnEditConnections = New DevExpress.XtraBars.BarButtonItem()
Me.btnSave = New DevExpress.XtraBars.BarButtonItem()
Me.btnExecuteSQL = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonGalleryBarItem2 = New DevExpress.XtraBars.RibbonGalleryBarItem()
Me.GalleryConnection = New DevExpress.XtraBars.RibbonGalleryBarItem()
Me.chkClearPlaceholders = New DevExpress.XtraBars.BarCheckItem()
Me.btnClearPlaceholders = New DevExpress.XtraBars.BarButtonItem()
Me.chkShowPlaceholders = New DevExpress.XtraBars.BarCheckItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RichEditControl1 = New DevExpress.XtraRichEdit.RichEditControl()
Me.txtSQLCommand = New DevExpress.XtraRichEdit.RichEditControl()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridPlaceholders = New DevExpress.XtraGrid.GridControl()
Me.ViewPlaceholders = New DevExpress.XtraGrid.Views.Grid.GridView()
@ -59,25 +60,26 @@ Partial Class frmSQLEditor
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.RibbonGalleryBarItem1, Me.btnEditConnections, Me.btnSave, Me.btnExecuteSQL, Me.RibbonGalleryBarItem2, Me.chkClearPlaceholders, Me.btnClearPlaceholders})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.GalleryPlaceholders, Me.btnEditConnections, Me.btnSave, Me.btnExecuteSQL, Me.GalleryConnection, Me.chkClearPlaceholders, Me.btnClearPlaceholders, Me.chkShowPlaceholders})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 11
Me.RibbonControl1.MaxItemId = 13
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1056, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'RibbonGalleryBarItem1
'GalleryPlaceholders
'
Me.RibbonGalleryBarItem1.Caption = "RibbonGalleryBarItem1"
Me.GalleryPlaceholders.Caption = "RibbonGalleryBarItem1"
'
'
'
Me.RibbonGalleryBarItem1.Gallery.Images = Me.SvgImageCollection1
Me.RibbonGalleryBarItem1.Gallery.ShowGroupCaption = True
Me.RibbonGalleryBarItem1.Gallery.ShowItemText = True
Me.RibbonGalleryBarItem1.Id = 1
Me.RibbonGalleryBarItem1.Name = "RibbonGalleryBarItem1"
Me.GalleryPlaceholders.Gallery.Images = Me.SvgImageCollection1
Me.GalleryPlaceholders.Gallery.ShowGroupCaption = True
Me.GalleryPlaceholders.Gallery.ShowItemText = True
Me.GalleryPlaceholders.Id = 1
Me.GalleryPlaceholders.Name = "GalleryPlaceholders"
'
'SvgImageCollection1
'
@ -104,17 +106,17 @@ Partial Class frmSQLEditor
Me.btnExecuteSQL.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.updatedataextract3
Me.btnExecuteSQL.Name = "btnExecuteSQL"
'
'RibbonGalleryBarItem2
'GalleryConnection
'
Me.RibbonGalleryBarItem2.Caption = "RibbonGalleryBarItem2"
Me.GalleryConnection.Caption = "RibbonGalleryBarItem2"
'
'
'
Me.RibbonGalleryBarItem2.Gallery.CheckDrawMode = DevExpress.XtraBars.Ribbon.Gallery.CheckDrawMode.ImageAndText
Me.RibbonGalleryBarItem2.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio
Me.RibbonGalleryBarItem2.Gallery.ShowItemText = True
Me.RibbonGalleryBarItem2.Id = 5
Me.RibbonGalleryBarItem2.Name = "RibbonGalleryBarItem2"
Me.GalleryConnection.Gallery.CheckDrawMode = DevExpress.XtraBars.Ribbon.Gallery.CheckDrawMode.ImageAndText
Me.GalleryConnection.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio
Me.GalleryConnection.Gallery.ShowItemText = True
Me.GalleryConnection.Id = 5
Me.GalleryConnection.Name = "GalleryConnection"
'
'chkClearPlaceholders
'
@ -130,6 +132,15 @@ Partial Class frmSQLEditor
Me.btnClearPlaceholders.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.clearall
Me.btnClearPlaceholders.Name = "btnClearPlaceholders"
'
'chkShowPlaceholders
'
Me.chkShowPlaceholders.BindableChecked = True
Me.chkShowPlaceholders.Caption = "Platzhalter anzeigen"
Me.chkShowPlaceholders.Checked = True
Me.chkShowPlaceholders.Id = 12
Me.chkShowPlaceholders.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.togglefieldcodes
Me.chkShowPlaceholders.Name = "chkShowPlaceholders"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup4, Me.RibbonPageGroup1})
@ -147,13 +158,14 @@ Partial Class frmSQLEditor
'
Me.RibbonPageGroup4.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup4.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.actions_database2
Me.RibbonPageGroup4.ItemLinks.Add(Me.RibbonGalleryBarItem2)
Me.RibbonPageGroup4.ItemLinks.Add(Me.GalleryConnection)
Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
Me.RibbonPageGroup4.Text = "Verbindungen"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.RibbonGalleryBarItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.GalleryPlaceholders)
Me.RibbonPageGroup1.ItemLinks.Add(Me.chkShowPlaceholders)
Me.RibbonPageGroup1.ItemLinks.Add(Me.chkClearPlaceholders)
Me.RibbonPageGroup1.ItemLinks.Add(Me.btnClearPlaceholders)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
@ -171,24 +183,25 @@ Partial Class frmSQLEditor
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'RichEditControl1
'txtSQLCommand
'
Me.RichEditControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.RichEditControl1.Location = New System.Drawing.Point(0, 0)
Me.RichEditControl1.MenuManager = Me.RibbonControl1
Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Size = New System.Drawing.Size(737, 508)
Me.RichEditControl1.TabIndex = 2
Me.txtSQLCommand.Dock = System.Windows.Forms.DockStyle.Fill
Me.txtSQLCommand.Location = New System.Drawing.Point(0, 0)
Me.txtSQLCommand.MenuManager = Me.RibbonControl1
Me.txtSQLCommand.Name = "txtSQLCommand"
Me.txtSQLCommand.Size = New System.Drawing.Size(802, 508)
Me.txtSQLCommand.TabIndex = 2
'
'SplitContainerControl1
'
Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
'
'SplitContainerControl1.Panel1
'
Me.SplitContainerControl1.Panel1.Controls.Add(Me.RichEditControl1)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.txtSQLCommand)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
'
'SplitContainerControl1.Panel2
@ -196,7 +209,7 @@ Partial Class frmSQLEditor
Me.SplitContainerControl1.Panel2.Controls.Add(Me.GridPlaceholders)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(1056, 508)
Me.SplitContainerControl1.SplitterPosition = 737
Me.SplitContainerControl1.SplitterPosition = 802
Me.SplitContainerControl1.TabIndex = 4
'
'GridPlaceholders
@ -206,7 +219,7 @@ Partial Class frmSQLEditor
Me.GridPlaceholders.MainView = Me.ViewPlaceholders
Me.GridPlaceholders.MenuManager = Me.RibbonControl1
Me.GridPlaceholders.Name = "GridPlaceholders"
Me.GridPlaceholders.Size = New System.Drawing.Size(309, 508)
Me.GridPlaceholders.Size = New System.Drawing.Size(244, 508)
Me.GridPlaceholders.TabIndex = 0
Me.GridPlaceholders.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewPlaceholders})
'
@ -242,10 +255,11 @@ Partial Class frmSQLEditor
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.IconOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.editdatasource2
Me.Name = "frmSQLEditor"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "SQL Connector"
Me.Text = "SQL Designer"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
@ -266,9 +280,9 @@ Partial Class frmSQLEditor
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonGalleryBarItem1 As DevExpress.XtraBars.RibbonGalleryBarItem
Friend WithEvents GalleryPlaceholders As DevExpress.XtraBars.RibbonGalleryBarItem
Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection
Friend WithEvents RichEditControl1 As DevExpress.XtraRichEdit.RichEditControl
Friend WithEvents txtSQLCommand As DevExpress.XtraRichEdit.RichEditControl
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents GridPlaceholders As DevExpress.XtraGrid.GridControl
Friend WithEvents ViewPlaceholders As DevExpress.XtraGrid.Views.Grid.GridView
@ -278,8 +292,9 @@ Partial Class frmSQLEditor
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents colPattern As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colValue As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents RibbonGalleryBarItem2 As DevExpress.XtraBars.RibbonGalleryBarItem
Friend WithEvents GalleryConnection As DevExpress.XtraBars.RibbonGalleryBarItem
Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents chkClearPlaceholders As DevExpress.XtraBars.BarCheckItem
Friend WithEvents btnClearPlaceholders As DevExpress.XtraBars.BarButtonItem
Friend WithEvents chkShowPlaceholders As DevExpress.XtraBars.BarCheckItem
End Class

View File

@ -1,367 +0,0 @@
<?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>
<assembly alias="DevExpress.Data.v19.2" name="DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="EditorButtonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFUCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAxNiAxNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNiI+DQogIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuTWFza3tmaWxsOiM3MDcwNzA7fQoJLnN0MHtvcGFjaXR5OjAu
NTt9Cjwvc3R5bGU+DQogIDxnIGlkPSJJbnNpZGVfQm9yZGVyIj4NCiAgICA8cGF0aCBkPSJNOS41LDJD
NywyLDUsNCw1LDYuNWMwLDEsMC4zLDEuOSwwLjksMi42bC00LjQsNC40bDEsMWw0LjQtNC40QzcuNiwx
MC43LDguNSwxMSw5LjUsMTFDMTIsMTEsMTQsOSwxNCw2LjUgICBTMTIsMiw5LjUsMnogTTkuNSwxMEM3
LjYsMTAsNiw4LjQsNiw2LjVTNy42LDMsOS41LDNTMTMsNC42LDEzLDYuNVMxMS40LDEwLDkuNSwxMHoi
IGNsYXNzPSJNYXNrIiAvPg0KICA8L2c+DQogIDxnIGlkPSJMYXllcl8yIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<metadata name="BindingSourcePlaceholder.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACQCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkNoZWNrIj4NCiAgICA8cG9seWdvbiBwb2ludHM9IjI3
LDUgMTEsMjEgNSwxNSAyLDE4IDExLDI3IDMwLDggICIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8
L3N2Zz4L
</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFoEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iVXBkYXRlRGF0YUV4dHJhY3QiPg0KICAgIDxwYXRo
IGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRT
NCwxMi4yLDQsMTB6IE0xNCwyMGMwLjUsMCwxLjEsMCwxLjYtMC4xICAgYzEuNi0yLjQsNC4zLTMuOSw3
LjQtMy45YzAuMywwLDAuNywwLDEsMC4xYzAsMCwwLDAsMC0wLjF2LTRjMCwyLjItNC41LDQtMTAsNFM0
LDE0LjIsNCwxMnY0QzQsMTguMiw4LjUsMjAsMTQsMjB6IE0xNCwyNEwxNCwyNCAgIGMwLjEtMC43LDAu
My0xLjQsMC41LTJjLTAuMiwwLTAuNCwwLTAuNSwwYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAsMi4yLDQu
NSw0LDEwLDRWMjR6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0zMCwxOHY2aC0wLjFI
MjRsMi41LTIuNUMyNS42LDIwLjYsMjQuNCwyMCwyMywyMGMtMi40LDAtNC40LDEuNy00LjksNGgtMmMw
LjUtMy40LDMuNC02LDYuOS02ICAgYzEuOSwwLDMuNywwLjgsNC45LDIuMUwzMCwxOHogTTIzLDMwYy0x
LjQsMC0yLjYtMC42LTMuNS0xLjVMMjIsMjZoLTUuOUgxNnY2bDIuMS0yLjFjMS4zLDEuMywzLDIuMSw0
LjksMi4xYzMuNSwwLDYuNC0yLjYsNi45LTYgICBoLTJDMjcuNCwyOC4zLDI1LjQsMzAsMjMsMzB6IiBj
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarStaticItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABIDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iSGlnaEltcG9ydGFuY2UiPg0KICAg
IDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMy
My43LDIsMTYsMnogTTE2LDI0Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMiAgIFMx
Ny4xLDI0LDE2LDI0eiBNMTgsMThoLTRWOGg0VjE4eiIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9z
dmc+Cw==
</value>
</data>
<data name="BarStaticItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkNoZWNrQ2lyY2xlZCI+DQogICAgPHBhdGggZD0iTTE2
LDRDOS40LDQsNCw5LjQsNCwxNmMwLDYuNiw1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyQzI4LDkuNCwy
Mi42LDQsMTYsNHogTTE0LDIybC02LTZsMi0ybDQsNGw4LThsMiwyICAgTDE0LDIyeiIgY2xhc3M9Ikdy
ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAoEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRWRpdENvbm5lY3Rpb24iPg0K
ICAgIDxwYXRoIGQ9Ik0xOCwyNS45QzE3LjQsMjYsMTYuNywyNiwxNiwyNnMtMS40LDAtMi0wLjFWMjho
LTR2NGg0aDRoNHYtNGgtNFYyNS45eiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxwYXRoIGQ9Ik02LDEw
VjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNiwxMi4yLDYs
MTB6IE0xNiwxNmMtNS41LDAtMTAtMS44LTEwLTR2NCAgIGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwx
MC00di00QzI2LDE0LjIsMjEuNSwxNiwxNiwxNnogTTE2LDIyYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAs
Mi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTR2LTQgICBDMjYsMjAuMiwyMS41LDIyLDE2LDIyeiIgY2xh
c3M9IlllbGxvdyIgLz4NCiAgICA8ZyBjbGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xMCwzMkgy
di00aDhWMzJ6IE0zMCwyOGgtOHY0aDhWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICA8
L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="LayoutControlItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAoEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRWRpdENvbm5lY3Rpb24iPg0K
ICAgIDxwYXRoIGQ9Ik0xOCwyNS45QzE3LjQsMjYsMTYuNywyNiwxNiwyNnMtMS40LDAtMi0wLjFWMjho
LTR2NGg0aDRoNHYtNGgtNFYyNS45eiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxwYXRoIGQ9Ik02LDEw
VjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNiwxMi4yLDYs
MTB6IE0xNiwxNmMtNS41LDAtMTAtMS44LTEwLTR2NCAgIGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwx
MC00di00QzI2LDE0LjIsMjEuNSwxNiwxNiwxNnogTTE2LDIyYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAs
Mi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTR2LTQgICBDMjYsMjAuMiwyMS41LDIyLDE2LDIyeiIgY2xh
c3M9IlllbGxvdyIgLz4NCiAgICA8ZyBjbGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xMCwzMkgy
di00aDhWMzJ6IE0zMCwyOGgtOHY0aDhWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICA8
L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="SimpleLabelItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGYCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iRmllbGRfSGVhZGVycyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5l
dyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3
O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQogIDxn
IGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0yMCwxOGgtOHYtNmg4VjE4eiBNMzAsMTJoLTh2Nmg4
VjEyeiBNMjAsMjBoLTh2Nmg4VjIweiBNMTAsMjBIMnY2aDhWMjB6IE0zMCwyMGgtOHY2aDhWMjB6IiBj
bGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTEyLDR2NmgxOFY0SDEyeiBNMTYsOGwt
Mi0yaDRMMTYsOHogTTIsMTJ2Nmg4di02SDJ6IE02LDE2bC0yLTJoNEw2LDE2eiIgY2xhc3M9IkJsdWUi
IC8+DQo8L3N2Zz4L
</value>
</data>
<data name="LayoutControlItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJkDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRmlsdGVyUXVlcnkiPg0KICAg
IDxwYXRoIGQ9Ik04LDEwSDB2Nmg4VjEweiBNOCwySDB2Nmg4VjJ6IE0xOCwyaC04djZoOFYyeiBNMTgs
MTBoLTh2Nmg4VjEweiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxnIGNsYXNzPSJzdDEiPg0KICAgICAg
PHBhdGggZD0iTTI4LDE2aC04di02aDhWMTZ6IE0yOCwyaC04djZoOFYyeiBNMCwyNGg4di02SDBWMjR6
IE0xNC4zLDIxLjFjLTAuMi0wLjItMC4zLTAuNC0wLjMtMC43VjE4aC00djZoNy4yICAgIEwxNC4zLDIx
LjF6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTgg
MzIsMTggMzIsMjAgMjYsMjYgMjYsMzIgMjIsMzIgMjIsMjYgMTYsMjAgICIgY2xhc3M9IlllbGxvdyIg
Lz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="SimpleLabelItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iVGl0bGVfMV8iPg0KICAgIDxw
YXRoIGQ9Ik0yOSwxNEgxYy0wLjUsMC0xLDAuNS0xLDF2MTJjMCwwLjUsMC41LDEsMSwxaDI4YzAuNSww
LDEtMC41LDEtMVYxNUMzMCwxNC41LDI5LjUsMTQsMjksMTR6ICAgIE0yOCwyNkgyVjE2aDI2VjI2eiBN
MjIuOSwxMS4yQzIzLjcsMTAuNiwyNCwxMCwyNCw5YzAtMC42LTAuMi0xLjItMC43LTEuNmMtMC41LTAu
NC0xLjEtMC43LTEuOC0wLjhjMC42LTAuMiwxLjEtMC41LDEuNS0wLjkgICBjMC40LTAuNCwwLjYtMC45
LDAuNi0xLjRjMC0wLjctMC4zLTEuMy0wLjktMS43QzIyLjEsMi4yLDIxLjEsMiwxOS45LDJIMTZ2OS45
VjEyaDRDMjEuMiwxMiwyMi4zLDExLjgsMjIuOSwxMS4yeiBNMTguNCwzLjdoMC45ICAgYzEuMSwwLDEu
NywwLjQsMS43LDEuMWMwLDAuNC0wLjEsMC43LTAuNCwwLjlDMjAuNCw1LjksMjAsNiwxOS41LDZoLTEu
MVYzLjd6IE0xOC40LDEwLjJWNy42aDEuM2MwLjUsMCwwLjksMC4xLDEuMywwLjMgICBjMC4zLDAuMiww
LjUsMC42LDAuNSwwLjljMCwwLjQtMC4xLDAuNy0wLjUsMWMtMC4zLDAuMi0wLjgsMC40LTEuMywwLjRI
MTguNHogTTguOSw5LjhoMy4ybDAuNiwyLjNIMTVMMTEuOCwySDkuNEw2LjEsMTJoMi4yICAgTDguOSw5
Ljh6IE0xMC40LDQuN2MwLjEtMC4zLDAuMS0wLjYsMC4xLTAuOWgwLjFjMCwwLjMsMC4xLDAuNiwwLjEs
MC45bDEsMy4zSDkuNEwxMC40LDQuN3oiIGlkPSJUaXRsZSIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+
DQo8L3N2Zz4L
</value>
</data>
<data name="frmSQLEditor.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
</root>

View File

@ -15,6 +15,9 @@ Public Class frmSQLEditor
Private ClearPlaceholdersAfterSuccessfulExecute As Boolean = False
Private FormLoading As Boolean = False
Public Property SQLCommand As String = ""
Public Property SQLConnection As Integer = 0
Public Enum PlaceholderCollection
Globix
Zooflow
@ -38,11 +41,29 @@ Public Class frmSQLEditor
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FormLoading = True
Try
Dim oConnectionGroups = LoadConnections()
RibbonGalleryBarItem2.Gallery.Groups.AddRange(oConnectionGroups.ToArray)
If SQLCommand <> String.Empty Then
txtSQLCommand.Document.Text = SQLCommand
End If
Dim oConnectionGroup = LoadConnections()
Dim oSelectedItem = Nothing
If SQLConnection > 0 Then
For Each oItem As GalleryItem In oConnectionGroup.Items
Dim oConnection = oItem.Tag
If SQLConnection = oConnection.id Then
oSelectedItem = oItem
End If
Next
End If
GalleryConnection.Gallery.Groups.Add(oConnectionGroup)
GalleryConnection.Gallery.SetItemCheck(oSelectedItem, True)
Dim oPlaceholderGroups = LoadPlaceholders()
RibbonGalleryBarItem1.Gallery.Groups.AddRange(oPlaceholderGroups.ToArray)
GalleryPlaceholders.Gallery.Groups.AddRange(oPlaceholderGroups.ToArray)
ConfigureRichEditControl()
@ -54,12 +75,19 @@ Public Class frmSQLEditor
End Sub
Private Sub RibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles RibbonGalleryBarItem1.GalleryItemClick
Private Sub RibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles GalleryPlaceholders.GalleryItemClick
Dim oPlaceholder As Placeholder = e.Item.Tag
Dim pPosition = RichEditControl1.Document.CaretPosition
RichEditControl1.Document.InsertSingleLineText(pPosition, Patterns.WrapPatternValue(oPlaceholder.Module, oPlaceholder.Name))
Dim pPosition = txtSQLCommand.Document.CaretPosition
txtSQLCommand.Document.InsertSingleLineText(pPosition, Patterns.WrapPatternValue(oPlaceholder.Module, oPlaceholder.Name))
End Sub
Private Sub RibbonGalleryBarItem2_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles GalleryConnection.GalleryItemClick
Dim oConnection As Connection = e.Item.Tag
SQLConnection = oConnection.Id
End Sub
Private Function LoadPlaceholders() As List(Of GalleryItemGroup)
Dim oInternalPlaceholders = Placeholders.GetInternalGroup()
Dim oUserPlaceholder = Placeholders.GetUserGroup()
@ -70,7 +98,7 @@ Public Class frmSQLEditor
}
End Function
Private Function LoadConnections() As List(Of GalleryItemGroup)
Private Function LoadConnections() As GalleryItemGroup
Try
Dim oSql = "SELECT GUID, Bezeichnung FROM [DD_ECM].[dbo].[TBDD_CONNECTION] WHERE AKTIV = 1"
Dim oTable = Database.GetDatatable(oSql)
@ -82,28 +110,27 @@ Public Class frmSQLEditor
.Name = oRow.Item("Bezeichnung")})
Next
Dim oGroup1 = New GalleryItemGroup() With {.Caption = "Verbindungen"}
Dim oConnectionGroup = New GalleryItemGroup() With {.Caption = "Verbindungen"}
Dim oItems As New List(Of GalleryItem)
For Each oConnection In oConnections
oItems.Add(GetGalleryItem(oConnection))
Next
oGroup1.Items.AddRange(oItems.ToArray)
Dim oConnectionGroups = New List(Of GalleryItemGroup)() From {oGroup1}
oConnectionGroup.Items.AddRange(oItems.ToArray)
Return oConnectionGroups
Return oConnectionGroup
Catch ex As Exception
Return Nothing
End Try
End Function
Private Sub ConfigureRichEditControl()
RichEditControl1.Options.Search.RegExResultMaxGuaranteedLength = 500
RichEditControl1.ReplaceService(Of ISyntaxHighlightService)(New SQLSyntaxHighlightService(RichEditControl1.Document))
RichEditControl1.ActiveViewType = DevExpress.XtraRichEdit.RichEditViewType.Simple
RichEditControl1.Document.Sections(0).Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(80.0F)
txtSQLCommand.Options.Search.RegExResultMaxGuaranteedLength = 500
txtSQLCommand.ReplaceService(Of ISyntaxHighlightService)(New SQLSyntaxHighlightService(txtSQLCommand.Document))
txtSQLCommand.ActiveViewType = DevExpress.XtraRichEdit.RichEditViewType.Simple
txtSQLCommand.Document.Sections(0).Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(80.0F)
RichEditControl1.Document.DefaultCharacterProperties.FontName = "Courier New"
RichEditControl1.Document.DefaultCharacterProperties.FontSize = 12
txtSQLCommand.Document.DefaultCharacterProperties.FontName = "Courier New"
txtSQLCommand.Document.DefaultCharacterProperties.FontSize = 12
End Sub
@ -123,30 +150,27 @@ Public Class frmSQLEditor
Private Property LastPatterns As New List(Of Pattern)
Private Sub RichEditControl1_ContentChanged(sender As Object, e As EventArgs) Handles RichEditControl1.ContentChanged
Dim oSqlText = RichEditControl1.Document.Text
Private Sub RichEditControl1_ContentChanged(sender As Object, e As EventArgs) Handles txtSQLCommand.ContentChanged
Dim oSqlText = txtSQLCommand.Document.Text
Dim oPatterns = Patterns.GetAllPatterns(oSqlText)
If oPatterns.Count = 0 Then
Exit Sub
GridPlaceholders.DataSource = New List(Of Placeholder)
ElseIf oPatterns.Count.Equals(LastPatterns.Count) Then
' noop
Else
Dim oPlaceholders = oPatterns.
Select(Function(pattern) New Placeholder(pattern.Value, pattern.Value, pattern.Type, pattern.Value) With {.Pattern = pattern}).
ToList()
GridPlaceholders.DataSource = oPlaceholders
End If
If oPatterns.SequenceEqual(LastPatterns) Then
Exit Sub
End If
GridPlaceholders.DataSource = oPatterns.Select(Function(pattern)
Return New Placeholder(pattern.Value, pattern.Value, pattern.Type, pattern.Value) With {.Pattern = pattern}
End Function).ToList()
LastPatterns = oPatterns
End Sub
Private Async Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExecuteSQL.ItemClick
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExecuteSQL.ItemClick
Try
Dim oSql = RichEditControl1.Document.Text
Dim oSql = txtSQLCommand.Document.Text
Dim oPlaceholders As List(Of Placeholder) = GridPlaceholders.DataSource
@ -163,7 +187,16 @@ Public Class frmSQLEditor
Next
End If
Dim oDatatable = Await Database.GetDatatableAsync(oSql)
Dim oDatatable As DataTable
If SQLConnection > 0 Then
Dim oConnectionString = Database.GetConnectionStringForId(SQLConnection)
oDatatable = Database.GetDatatableWithConnection(oSql, oConnectionString)
Else
oDatatable = Database.GetDatatable(oSql)
End If
Dim oForm As New frmSQLResult(oDatatable)
oForm.Show()
@ -189,4 +222,8 @@ Public Class frmSQLEditor
Private Sub btnClearPlaceholders_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnClearPlaceholders.ItemClick
ClearPlaceholders()
End Sub
Private Sub chkShowPlaceholders_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkShowPlaceholders.CheckedChanged
SplitContainerControl1.Collapsed = Not chkShowPlaceholders.Checked
End Sub
End Class

View File

@ -47,7 +47,10 @@ Public Class frmStart
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
Dim oForm As New frmSQLEditor(LogConfig, Database)
Dim oForm As New frmSQLEditor(LogConfig, Database) With {
.SQLCommand = "SELECT * FROM TBDD_USER WHERE EMAIL = '{#USER#EMAIL}'",
.SQLConnection = 1
}
oForm.Show()
End Sub

View File

@ -60,8 +60,6 @@ Partial Class frmAdmin_Start
Me.btnEditRecord = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem26 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem27 = New DevExpress.XtraBars.BarButtonItem()
Me.btnDatabaseConnection = New DevExpress.XtraBars.BarButtonItem()
Me.btnSecondServiceConnection = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@ -114,6 +112,7 @@ Partial Class frmAdmin_Start
Me.RibbonGroup_ClipboardWatcher_DocSearch = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonGroup_ClipboardWatcher_Profile = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPage_ClipboardWatcher = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.btnSecondServiceConnection = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TreeListMenu, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MainTreeImages, System.ComponentModel.ISupportInitialize).BeginInit()
@ -136,7 +135,7 @@ Partial Class frmAdmin_Start
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.labelStatus, Me.labelError, Me.BarButtonItemAddAttribute, Me.BarButtonItemRefreshAttribute, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem23, Me.BarButtonItem24, Me.BarButtonItem25, Me.btnAddRecord, Me.btnEditRecord, Me.BarButtonItem26, Me.BarButtonItem27, Me.btnDatabaseConnection, Me.btnSecondServiceConnection})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.labelStatus, Me.labelError, Me.BarButtonItemAddAttribute, Me.BarButtonItemRefreshAttribute, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem23, Me.BarButtonItem24, Me.BarButtonItem25, Me.btnAddRecord, Me.btnEditRecord, Me.BarButtonItem26, Me.BarButtonItem27})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 39
Me.RibbonControl1.Name = "RibbonControl1"
@ -374,20 +373,6 @@ Partial Class frmAdmin_Start
Me.BarButtonItem27.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.text1
Me.BarButtonItem27.Name = "BarButtonItem27"
'
'btnDatabaseConnection
'
Me.btnDatabaseConnection.Caption = "Datenbank konfigurieren"
Me.btnDatabaseConnection.Id = 37
Me.btnDatabaseConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.managedatasource3
Me.btnDatabaseConnection.Name = "btnDatabaseConnection"
'
'btnSecondServiceConnection
'
Me.btnSecondServiceConnection.Caption = "Dienstkonfiguration umschalten"
Me.btnSecondServiceConnection.Id = 38
Me.btnSecondServiceConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.switchrowcolumns
Me.btnSecondServiceConnection.Name = "btnSecondServiceConnection"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2, Me.RibbonPageGroup1})
@ -399,8 +384,6 @@ Partial Class frmAdmin_Start
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem27)
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem9)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnDatabaseConnection)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnSecondServiceConnection)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Daten"
'
@ -835,6 +818,13 @@ Partial Class frmAdmin_Start
Me.RibbonPage_ClipboardWatcher.Name = "RibbonPage_ClipboardWatcher"
Me.RibbonPage_ClipboardWatcher.Text = "Clipboard Watcher"
'
'btnSecondServiceConnection
'
Me.btnSecondServiceConnection.Caption = "Dienstkonfiguration umschalten"
Me.btnSecondServiceConnection.Id = 38
Me.btnSecondServiceConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.switchrowcolumns
Me.btnSecondServiceConnection.Name = "btnSecondServiceConnection"
'
'frmAdmin_Start
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@ -959,6 +949,5 @@ Partial Class frmAdmin_Start
Friend WithEvents RibbonPage_ClipboardWatcher As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents BarButtonItem26 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem27 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnDatabaseConnection As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnSecondServiceConnection As DevExpress.XtraBars.BarButtonItem
End Class

View File

@ -30,13 +30,6 @@ Public Class frmAdmin_Start
DetailForm = New ClassDetailForm(My.LogConfig)
AddHandler DetailForm.DetailFormClosed, AddressOf DetailForm_Closed
'If My.SystemConfig.ConnectionString = String.Empty Then
' If ShowDatabaseSettings() = False Then
' MsgBox("Die Datenbank verbindung wurde nicht konfiguriert. Die Administration kann nicht verwendet werden.", MsgBoxStyle.Critical, Text)
' Exit Sub
' End If
'End If
DetailForm.LoadData()
TreeListMenu.ExpandAll()
End Sub
@ -290,54 +283,4 @@ Public Class frmAdmin_Start
Dim oForm As New frmAdmin_UserImport()
oForm.ShowDialog()
End Sub
Private Sub btnDatabaseConnection_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnDatabaseConnection.ItemClick
ShowDatabaseSettings()
End Sub
Private Function ShowDatabaseSettings() As Boolean
Dim oForm As New frmSQLConfig(My.LogConfig) With {
.ConnectionString = My.SystemConfig.ConnectionString,
.FormTitle = "ECM Datenbank"
}
Dim oResult = oForm.ShowDialog()
If oResult = DialogResult.OK Then
My.SystemConfig.ConnectionString = oForm.ConnectionString
My.SystemConfigManager.Save()
Return True
Else
Return False
End If
End Function
Private Sub btnSecondServiceConnection_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnSecondServiceConnection.ItemClick
If My.SystemConfig.AppServerConfigDevelopment = String.Empty Then
Dim oAnswer = MsgBox("Es ist keine zweite Dienstkonfiguration vorhanden. Wollen Sie nun eine hinterlegen?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text)
If oAnswer = MsgBoxResult.Yes Then
Dim oForm As New frmServiceConfig() With {
.ServiceAddress = "",
.ServiceOnline = False
}
oForm.ShowDialog()
My.SystemConfig.AppServerConfigDevelopment = oForm.ServiceAddress
My.SystemConfigManager.Save()
Else
' Cancel
Exit Sub
End If
End If
Dim oServiceAddress = My.SystemConfig.AppServerConfig
If My.Application.Service.Client.ServerAddress = My.SystemConfig.AppServerConfig Then
oServiceAddress = My.SystemConfig.AppServerConfigDevelopment
Else
oServiceAddress = My.SystemConfig.AppServerConfig
End If
My.Application.Service.Client = New Modules.EDMI.API.Client(My.LogConfig, oServiceAddress)
End Sub
End Class

View File

@ -22,6 +22,9 @@
<setting name="UseAppConfigConString" serializeAs="String">
<value>True</value>
</setting>
<setting name="UserConfig_Prefix" serializeAs="String">
<value>PROD</value>
</setting>
</DigitalData.GUIs.ZooFlow.Settings>
<DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String">

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.Config
Imports System.IO.Path
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Logging.LogConfig
@ -12,25 +13,57 @@ Namespace My
' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist.
' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
Partial Friend Class MyApplication
Private _Logger As Logger
Private Logger As Logger
Private UserAppDataPath As String = Windows.Forms.Application.UserAppDataPath
Private BaseLocalUserConfigPath As String = Windows.Forms.Application.LocalUserAppDataPath
Private CommonAppDataPath As String = Windows.Forms.Application.CommonAppDataPath
Private StartupPath As String = Windows.Forms.Application.StartupPath
Private ReadOnly CommonAppDataPath As String = Windows.Forms.Application.CommonAppDataPath
Private ReadOnly StartupPath As String = Windows.Forms.Application.StartupPath
Private ReadOnly Property Prefix
Get
Return My.Settings.UserConfig_Prefix
End Get
End Property
Private ReadOnly Property HasPrefix
Get
Return TypeOf Prefix Is String AndAlso Prefix.Length > 0
End Get
End Property
Public ReadOnly Property UserAppDataPath As String
Get
If HasPrefix Then
Return Combine(Windows.Forms.Application.UserAppDataPath, Prefix)
Else
Return Windows.Forms.Application.UserAppDataPath
End If
End Get
End Property
Public ReadOnly Property LocalUserConfigPath As String
Get
If HasPrefix Then
Return Combine(Windows.Forms.Application.LocalUserAppDataPath, Prefix)
Else
Return Windows.Forms.Application.LocalUserAppDataPath
End If
End Get
End Property
Public Sub App_Startup() Handles Me.Startup
Dim oLogConfig As New LogConfig(LogPath:=PathType.AppData, CompanyName:="Digital Data", ProductName:="ZooFlow", FileKeepRangeInDays:=30) With {.Debug = True}
Dim oLogConfig As New LogConfig(LogPath:=PathType.CustomPath,
CustomLogPath:=Combine(LocalUserConfigPath, "Log"),
CompanyName:="Digital Data",
ProductName:="ZooFlow",
FileKeepRangeInDays:=30) With {.Debug = True}
' System Config files like Service Url will be saved in %LocalAppdata% so they will remain on the machine
Dim oConfigManager As New ConfigManager(Of ClassConfig)(oLogConfig, UserAppDataPath, CommonAppDataPath, StartupPath)
Dim oConfigManager As New ConfigManager(Of SystemConfig)(oLogConfig, UserAppDataPath, CommonAppDataPath, StartupPath)
' Layout files will be saved in %Appdata% (Roaming) so they will be syncronized with the user profile
Dim oUIConfigPath = IO.Path.Combine(UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT)
Dim oUIConfigAlternatePath = IO.Path.Combine(UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT)
Dim oUIConfigManager As New ConfigManager(Of ClassUIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath, oUIConfigAlternatePath)
Dim oUIConfigManager As New ConfigManager(Of UIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath, oUIConfigAlternatePath)
LogConfig = oLogConfig
LogConfig.Debug = True
@ -38,8 +71,8 @@ Namespace My
SystemConfigManager = oConfigManager
UIConfigManager = oUIConfigManager
_Logger = LogConfig.GetLogger()
_Logger.Debug("Starting ZooFlow...")
Logger = LogConfig.GetLogger()
Logger.Debug("Starting ZooFlow...")
If oConfigManager.Config.AppServerConfig <> String.Empty Then
Try
@ -55,7 +88,7 @@ Namespace My
My.Application.Service.Client.Connect()
End If
Catch ex As Exception
_Logger.Warn($"Could not initialize the AppServer: {ex.Message}")
Logger.Warn($"Could not initialize the AppServer: {ex.Message}")
End Try
End If
@ -68,12 +101,13 @@ Namespace My
End Sub
Public Sub App_Shutdown(sender As Object, e As EventArgs) Handles Me.Shutdown
_Logger.Debug("Shutting down Zooflow..")
Logger.Debug("Shutting down Zooflow..")
End Sub
Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
_Logger.Warn("Unhandled exception occurred: [{0}]", e.Exception.Message)
_Logger.Error(e.Exception)
Logger.Warn("Unhandled exception occurred: [{0}]", e.Exception.Message)
Logger.Error(e.Exception)
End Sub
End Class
End Namespace

View File

@ -118,15 +118,26 @@ Public Class ClassInit
If oResult <> DialogResult.OK Then
Throw New InitException("Could not initialize IDB-Service!")
End If
My.SystemConfig.AppServerConfig = oForm.ServiceAddress
My.SystemConfigManager.Save()
End If
' These Properties need to be set directly on
My.Application.Service.Address = My.SystemConfig.AppServerConfig
My.Application.Service.Client = New Client(LogConfig, My.SystemConfig.AppServerConfig)
MyApplication.Service.Address = My.SystemConfig.AppServerConfig
If Not IsNothing(My.Application.Service.Client) Then
My.Application.Service.Client.Connect()
Dim oClient = New Client(LogConfig, My.SystemConfig.AppServerConfig)
MyApplication.Service.Client = oClient
My.Application.Service.Client = oClient
If oClient Is Nothing Then
Throw New InitException("Could not initialize IDB-Service!")
End If
Dim oConnectionResult = My.Application.Service.Client.Connect()
If oConnectionResult = False Then
Throw New InitException("Could not connect to Service!")
End If
Catch ex As Exception
Logger.Error(ex)
@ -136,7 +147,7 @@ Public Class ClassInit
Private Sub InitializeDatabaseWithFallback(MyApplication As My.MyApplication)
Try
Logger.Debug("Loading client config..")
Dim oClientConfig = MyApplication.Service.Client.ClientConfig
Dim oClientConfig = My.Application.Service.Client.ClientConfig
Logger.Debug("Establishing ECM connection..")
Dim oECMConnectionString = oClientConfig.ConnectionStringECM

View File

@ -18,9 +18,9 @@ Public Class ClassModules
Private Const REGNODE_MANUFACTURER = "Digital Data"
Private Const REGPATH_BASE = "SOFTWARE\\WOW6432Node"
Private Config As ClassConfig
Private Config As SystemConfig
Public Sub New(pLogConfig As LogConfig, pConfig As ClassConfig)
Public Sub New(pLogConfig As LogConfig, pConfig As SystemConfig)
MyBase.New(pLogConfig)
Config = pConfig
End Sub

View File

@ -21,31 +21,11 @@ Imports DigitalData.Modules.Config.ConfigAttributes
'''
''' After changing a config value, My.ConfigManager.Save() must be called to persist the change in the config file
''' </summary>
Public Class ClassConfig
Public Function GetConnectionStringBuilder(ConnectionString As String) As SqlClient.SqlConnectionStringBuilder
Try
If ConnectionString = String.Empty Then
Return Nothing
End If
Dim oBuilder As New SqlClient.SqlConnectionStringBuilder(ConnectionString)
Return oBuilder
Catch ex As Exception
Return Nothing
End Try
End Function
Public Class SystemConfig
' === Service Configuration ===
<ConnectionString>
Public Property ConnectionString As String = String.Empty
<GlobalSetting>
Public Property AppServerConfig As String = String.Empty
<GlobalSetting>
Public Property AppServerConfigDevelopment As String = String.Empty
' === Logging Configuration
Public Property LogDebug As Boolean = False

View File

@ -1,4 +1,4 @@
Public Class ClassUIConfig
Public Class UIConfig
Public Property FlowForm As New FlowFormConfig
Public Property SearchForm As New SearchFormConfig
Public Property Globix As New GlobixConfig

View File

@ -1,14 +1,16 @@
Public Class ClassExclusions
Public Function Load(ExclusionPath As String) As Boolean
Public Property FileExclusionPath As String = IO.Path.Combine(My.Application.UserAppDataPath, "FileExclusions.xml")
Public Function Load() As Boolean
Dim rowresult As String = ""
Try
'if file doesn't exist, create the file with its default xml table
If Not IO.File.Exists(My.Application.Globix.PATH_FileExclusions) Then
If Not IO.File.Exists(FileExclusionPath) Then
My.Application.Globix.DTEXCLUDE_FILES = CreateExclusionTable()
My.Application.Globix.DTEXCLUDE_FILES.WriteXml(My.Application.Globix.PATH_FileExclusions)
My.Application.Globix.DTEXCLUDE_FILES.WriteXml(FileExclusionPath)
End If
My.Application.Globix.DTEXCLUDE_FILES = GetTablefromXML(ExclusionPath)
My.Application.Globix.DTEXCLUDE_FILES = GetTablefromXML(FileExclusionPath)
Return True
Catch ex As Exception

View File

@ -19,7 +19,6 @@ Namespace Globix
Public Property Folderwatchstarted As Boolean = False
Public Property ScanFolderwatchstarted As Boolean = False
Public Property DTEXCLUDE_FILES As DataTable
Public Property PATH_FileExclusions As String = Path.Combine(Application.UserAppDataPath(), "FileExclusions.xml")
End Class
End Namespace

View File

@ -3,8 +3,10 @@ Imports DigitalData.Modules.Logging
Public Class frmGlobixBasicConfig
Private Logger As Logger
Private oFormLoad As Boolean = False
Private clsFW As ClassFolderwatcher
Private FormLoading As Boolean = False
Private FolderWatcher As ClassFolderwatcher
Private ReadOnly FileExclusions As New ClassExclusions()
Public Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
@ -72,10 +74,10 @@ Public Class frmGlobixBasicConfig
Logger.Error($"Unexpected error in Adding Folder to TBGI_FOLDERWATCH_USER [{oSql}]")
End If
If My.Application.Globix.Folderwatchstarted = True And FOLDER_TYPE = "DEFAULT" Then
clsFW.Restart_FolderWatch()
FolderWatcher.Restart_FolderWatch()
End If
If My.UIConfig.Globix.FolderWatchScanStarted = True And FOLDER_TYPE = "SCAN" Then
clsFW.Restart_FolderWatchSCAN()
FolderWatcher.Restart_FolderWatchSCAN()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in CheckFolder:")
@ -85,9 +87,9 @@ Public Class frmGlobixBasicConfig
Private Sub frmGlobixBasicConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
Logger = My.LogConfig.GetLogger()
clsFW = New ClassFolderwatcher(My.LogConfig)
FolderWatcher = New ClassFolderwatcher(My.LogConfig)
Try
oFormLoad = True
FormLoading = True
If My.Application.Globix.Folderwatchstarted = True Then
ToggleSwitchHotfolder.IsOn = True
Else
@ -104,7 +106,7 @@ Public Class frmGlobixBasicConfig
Me.TextEditScanfolder.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH
oFormLoad = False
FormLoading = False
Me.DataGridView1.DataSource = My.Application.Globix.DTEXCLUDE_FILES
If My.Application.GlobixDropAreaStyle = "PROGRESSIVE" Then
Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP3
@ -120,14 +122,15 @@ Public Class frmGlobixBasicConfig
Sub CheckFWHF_State()
clsFW.StartStop_FolderWatch()
FolderWatcher.StartStop_FolderWatch()
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
My.Application.Globix.DTEXCLUDE_FILES.AcceptChanges()
My.Application.Globix.DTEXCLUDE_FILES.WriteXml(My.Application.Globix.PATH_FileExclusions)
My.Application.Globix.DTEXCLUDE_FILES.WriteXml(FileExclusions.FileExclusionPath)
MsgBox("Changes saved.", MsgBoxStyle.Information)
End Sub
@ -143,7 +146,7 @@ Public Class frmGlobixBasicConfig
End Sub
Private Sub ToggleSwitchHotfolder_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchHotfolder.Toggled
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If oFormLoad = True Then
If FormLoading = True Then
Exit Sub
End If
If oToggle.IsOn Then
@ -159,17 +162,17 @@ Public Class frmGlobixBasicConfig
Private Sub ToggleSwitch1_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchScanfolder.Toggled
Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch)
If oFormLoad = True Then
If FormLoading = True Then
Exit Sub
End If
If oToggle.IsOn Then
If My.Application.Globix.CURRENT_SCAN_FOLDERWATCH <> "" Then
clsFW.StartStop_FolderWatchSCAN()
FolderWatcher.StartStop_FolderWatchSCAN()
Else
ToggleSwitchScanfolder.IsOn = False
End If
Else
clsFW.StartStop_FolderWatchSCAN()
FolderWatcher.StartStop_FolderWatchSCAN()
End If
End Sub

View File

@ -95,6 +95,15 @@ Partial Friend NotInheritable Class Settings
Me("IDBOBJID") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("PROD")> _
Public ReadOnly Property UserConfig_Prefix() As String
Get
Return CType(Me("UserConfig_Prefix"),String)
End Get
End Property
End Class
Namespace My

View File

@ -24,5 +24,8 @@
<Setting Name="IDBOBJID" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="UserConfig_Prefix" Type="System.String" Scope="Application">
<Value Profile="(Default)">PROD</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -11,15 +11,15 @@ Namespace My
''' </summary>
<HideModuleName()>
Module Extension
Property SystemConfigManager As ConfigManager(Of ClassConfig)
ReadOnly Property SystemConfig As ClassConfig
Property SystemConfigManager As ConfigManager(Of SystemConfig)
ReadOnly Property SystemConfig As SystemConfig
Get
Return SystemConfigManager.Config
End Get
End Property
Property UIConfigManager As ConfigManager(Of ClassUIConfig)
ReadOnly Property UIConfig As ClassUIConfig
Property UIConfigManager As ConfigManager(Of UIConfig)
ReadOnly Property UIConfig As UIConfig
Get
Return UIConfigManager.Config
End Get

View File

@ -419,10 +419,10 @@
</Compile>
<Compile Include="Queries\ClassClipboardWatcherQueries.vb" />
<Compile Include="Queries\ClassCommonQueries.vb" />
<Compile Include="Config\ClassConfig.vb" />
<Compile Include="Config\SystemConfig.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="ClassInitLoader.vb" />
<Compile Include="Config\ClassUIConfig.vb" />
<Compile Include="Config\UIConfig.vb" />
<Compile Include="frmSettings.Designer.vb">
<DependentUpon>frmSettings.vb</DependentUpon>
</Compile>

View File

@ -308,7 +308,7 @@ Public Class frmFlowForm
FolderWatch = New ClassFolderwatcher(My.LogConfig)
Dim oFileExclusions As New ClassExclusions()
If oFileExclusions.Load(My.Application.Globix.PATH_FileExclusions) = False Then
If oFileExclusions.Load() = False Then
If My.Application.User.Language = "de-DE" Then
MsgBox("Die Ausschlusskriterien für Dateien in Folderwatch konnten nicht angelegt werden!", MsgBoxStyle.Information)
Else

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.EDMI.API
Imports System.ComponentModel
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Public Class frmServiceConfig
@ -67,5 +68,11 @@ Public Class frmServiceConfig
End Try
End Sub
Private Sub frmServiceConfig_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If ServiceAddress <> "" And ServiceOnline = True Then
DialogResult = DialogResult.OK
Else
DialogResult = DialogResult.Cancel
End If
End Sub
End Class