MergeCommit

This commit is contained in:
Digital Data - Marlon Schreiber
2019-07-05 09:01:59 +02:00
66 changed files with 2239 additions and 261 deletions

View File

@@ -13,6 +13,7 @@ Namespace My
Private _Logger As Logger
Private _BaseUserConfigPath As String = Windows.Forms.Application.UserAppDataPath
Private _BaseLocalUserConfigPath As String = Windows.Forms.Application.LocalUserAppDataPath
Private _BaseMachineConfigPath As String = Windows.Forms.Application.CommonAppDataPath
Public Sub App_Startup() Handles Me.Startup
@@ -20,11 +21,11 @@ Namespace My
' System Config files like Service Url will be saved in %LocalAppdata% so they will remain on the machine
Dim oSystemConfigManager As New ConfigManager(Of ClassConfig)(oLogConfig,
Windows.Forms.Application.UserAppDataPath,
Windows.Forms.Application.CommonAppDataPath)
_BaseLocalUserConfigPath,
_BaseMachineConfigPath)
' Layout files will be saved in %Appdata% (Roaming) so they will be syncronized with the user profile
Dim oUIConfigPath = IO.Path.Combine(Windows.Forms.Application.UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT)
Dim oUIConfigPath = IO.Path.Combine(_BaseUserConfigPath, ClassConstants.FOLDER_NAME_LAYOUT)
Dim oUIConfigManager As New ConfigManager(Of ClassUIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath)
LogConfig = oLogConfig

View File

@@ -40,9 +40,8 @@ Public Class PanelManager
Private Sub View_DocumentDeactivated(sender As Object, e As DocumentEventArgs)
Dim oDocument As BaseDocument = e.Document
' TODO: oDocument.Control can be nothing
Dim oHashcode As Integer = oDocument.Control.GetHashCode
' TODO: oDocument.Control can be nothing
If oDocument Is Nothing Then
Exit Sub
End If
@@ -51,7 +50,7 @@ Public Class PanelManager
For Each oPanel As DockPanel In _dockManager.Panels
Dim oTag As Integer = oPanel.Tag
If oTag = oHashcode Then
If oTag = oDocument.Control.GetHashCode Then
oPanel.Hide()
End If
Next

View File

@@ -69,6 +69,7 @@
<Reference Include="DevExpress.Dashboard.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Mvvm.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
@@ -86,9 +87,9 @@
<Reference Include="FirebirdSql.EntityFrameworkCore.Firebird, Version=6.4.0.0, Culture=neutral, PublicKeyToken=7a73ef09980c56c9, processorArchitecture=MSIL">
<HintPath>..\packages\FirebirdSql.EntityFrameworkCore.Firebird.6.4.0\lib\netstandard2.0\FirebirdSql.EntityFrameworkCore.Firebird.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Modules.Logging\bin\Debug\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.5.11\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="ScintillaNET, Version=3.6.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\jacobslusser.ScintillaNET.3.6.3\lib\net40\ScintillaNET.dll</HintPath>
@@ -101,6 +102,7 @@
<Reference Include="System.Data.Linq" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
<Reference Include="System.Runtime.Serialization.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@@ -168,10 +170,16 @@
<Compile Include="FormDesigner\frmFormDesigner.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormWorkflow\frmWorkflowStep.Designer.vb">
<Compile Include="ModuleWorkflow\frmWorkflowOverview.Designer.vb">
<DependentUpon>frmWorkflowOverview.vb</DependentUpon>
</Compile>
<Compile Include="ModuleWorkflow\frmWorkflowOverview.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="ModuleWorkflow\frmWorkflowStep.Designer.vb">
<DependentUpon>frmWorkflowStep.vb</DependentUpon>
</Compile>
<Compile Include="FormWorkflow\frmWorkflowStep.vb">
<Compile Include="ModuleWorkflow\frmWorkflowStep.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmSearch.Designer.vb">
@@ -197,6 +205,20 @@
<Compile Include="Workers\IWorker.vb" />
<Compile Include="Workers\WorkerManager.vb" />
<Compile Include="Workers\WorkflowOverviewWorker.vb" />
<Compile Include="ModuleWorkflow\GridOverview.Designer.vb">
<DependentUpon>GridOverview.vb</DependentUpon>
</Compile>
<Compile Include="ModuleWorkflow\GridOverview.vb">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="ModuleWorkflow\NavControlOverview.Designer.vb">
<DependentUpon>NavControlOverview.vb</DependentUpon>
</Compile>
<Compile Include="ModuleWorkflow\NavControlOverview.vb">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="ModuleWorkflow\WorkflowDetail.vb" />
<Compile Include="ModuleWorkflow\WorkflowItem.vb" />
<Compile Include="_TEST\DockManagerTest.Designer.vb">
<DependentUpon>DockManagerTest.vb</DependentUpon>
</Compile>
@@ -330,7 +352,10 @@
<EmbeddedResource Include="FormDesigner\frmFormDesigner.resx">
<DependentUpon>frmFormDesigner.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FormWorkflow\frmWorkflowStep.resx">
<EmbeddedResource Include="ModuleWorkflow\frmWorkflowOverview.resx">
<DependentUpon>frmWorkflowOverview.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ModuleWorkflow\frmWorkflowStep.resx">
<DependentUpon>frmWorkflowStep.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmSearch.resx">
@@ -339,6 +364,12 @@
<EmbeddedResource Include="Panels\DocumentPanel.resx">
<DependentUpon>DocumentPanel.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ModuleWorkflow\GridOverview.resx">
<DependentUpon>GridOverview.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ModuleWorkflow\NavControlOverview.resx">
<DependentUpon>NavControlOverview.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="_TEST\DockManagerTest.resx">
<DependentUpon>DockManagerTest.vb</DependentUpon>
</EmbeddedResource>
@@ -490,7 +521,17 @@
<None Include="Resources\CheckBox.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\StatusAnnotations_Complete_and_ok_32xLG.png" />
<Folder Include="My Project\DataSources\" />
<Folder Include="Resources\Icons\" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ampel-gelb.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ampel-gruen.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ampel-rot.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -51,4 +51,26 @@ Public Class ClassCommonViews
Throw ex
End Try
End Function
Public Async Function VWIDB_GUI_WF_OVERVIEW(UserId As Int64, FormId As Int64) As Task(Of DataTable)
Try
My.Channel.CreateDatabaseRequest("Load Control Data", True)
Dim oSQL As String = $"SELECT * FROM VWIDB_GUI_WF_OVERVIEW WHERE USERID = {UserId} AND FORMID = {FormId}"
Dim oResult = Await My.Channel.ReturnDatatableAsync(oSQL)
Dim oTable = oResult.Table
If Not oResult.OK Then
_Logger.Error(New ApplicationException(oResult.ErrorMessage))
Return Nothing
End If
My.Channel.CloseDatabaseRequest()
Return oResult.Table
Catch ex As Exception
_Logger.Error(ex)
Throw ex
End Try
End Function
End Class

View File

@@ -0,0 +1,74 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class GridOverview
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
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.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.GridControl = New DevExpress.XtraGrid.GridControl()
Me.gvOverview = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
CType(Me.GridControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.gvOverview, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'GridControl
'
Me.GridControl.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridControl.Location = New System.Drawing.Point(0, 0)
Me.GridControl.MainView = Me.gvOverview
Me.GridControl.Name = "GridControl"
Me.GridControl.Size = New System.Drawing.Size(626, 461)
Me.GridControl.TabIndex = 1
Me.GridControl.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvOverview, Me.GridView1})
'
'gvOverview
'
Me.gvOverview.GridControl = Me.GridControl
Me.gvOverview.Name = "gvOverview"
Me.gvOverview.OptionsFind.AlwaysVisible = True
Me.gvOverview.OptionsView.GroupDrawMode = DevExpress.XtraGrid.Views.Grid.GroupDrawMode.Office
Me.gvOverview.OptionsView.ShowGroupedColumns = True
Me.gvOverview.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[True]
'
'GridView1
'
Me.GridView1.GridControl = Me.GridControl
Me.GridView1.Name = "GridView1"
'
'GridOverview
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.GridControl)
Me.Name = "GridOverview"
Me.Size = New System.Drawing.Size(626, 461)
CType(Me.GridControl, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.gvOverview, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents GridControl As DevExpress.XtraGrid.GridControl
Friend WithEvents gvOverview As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
End Class

View File

@@ -0,0 +1,27 @@
Public Class GridOverview
Private _DataSource As List(Of WorkflowItem)
Public Property DataSource As List(Of WorkflowItem)
Get
Return _DataSource
End Get
Set(value As List(Of WorkflowItem))
_DataSource = value
GridControl.DataSource = value
If Not IsNothing(value) Then
ApplyStyles()
End If
End Set
End Property
Private Sub ApplyStyles()
With gvOverview.Columns.Item("StateImage")
.VisibleIndex = 0
.MaxWidth = 20
.OptionsColumn.ShowCaption = False
End With
gvOverview.Columns.Item("Process").VisibleIndex = 1
gvOverview.Columns.Item("State").Visible = False
End Sub
End Class

View File

@@ -0,0 +1,60 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class NavControlOverview
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
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.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.NavBarControl = New DevExpress.XtraNavBar.NavBarControl()
Me.NavBarGroup1 = New DevExpress.XtraNavBar.NavBarGroup()
CType(Me.NavBarControl, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'NavBarControl
'
Me.NavBarControl.ActiveGroup = Me.NavBarGroup1
Me.NavBarControl.Dock = System.Windows.Forms.DockStyle.Fill
Me.NavBarControl.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroup1})
Me.NavBarControl.Location = New System.Drawing.Point(0, 0)
Me.NavBarControl.Name = "NavBarControl"
Me.NavBarControl.Size = New System.Drawing.Size(150, 150)
Me.NavBarControl.TabIndex = 0
Me.NavBarControl.Text = "NavBarControl1"
'
'NavBarGroup1
'
Me.NavBarGroup1.Caption = "Workflow"
Me.NavBarGroup1.Expanded = True
Me.NavBarGroup1.Name = "NavBarGroup1"
'
'NavControlOverview
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.NavBarControl)
Me.Name = "NavControlOverview"
CType(Me.NavBarControl, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents NavBarControl As DevExpress.XtraNavBar.NavBarControl
Friend WithEvents NavBarGroup1 As DevExpress.XtraNavBar.NavBarGroup
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -0,0 +1,40 @@
Imports DevExpress.XtraNavBar
Public Class NavControlOverview
Private _DataSource As List(Of WorkflowItem)
Public Property DataSource As List(Of WorkflowItem)
Get
Return _DataSource
End Get
Set(value As List(Of WorkflowItem))
_DataSource = value
'TODO: Update Navbar Items
If Not IsNothing(value) Then
UpdateItems(value)
End If
End Set
End Property
Private Sub UpdateItems(WorkflowItems As List(Of WorkflowItem))
Dim oTotalItems = WorkflowItems.Count
Dim oGroupedItems = WorkflowItems.GroupBy(Function(Item As WorkflowItem)
Return Item.Process
End Function)
AddItem("Alle Workflows", oTotalItems)
For Each oGroupedItem As IGrouping(Of String, WorkflowItem) In oGroupedItems
AddItem(oGroupedItem.Key, oGroupedItem.Count)
Next
End Sub
Private Sub AddItem(Title As String, Count As Integer)
Dim oItem = New NavBarItem() With {
.Caption = $"{Title} ({Count})"
}
NavBarControl.Groups.First().ItemLinks.Add(oItem)
End Sub
End Class

View File

@@ -0,0 +1,3 @@
Public Class WorkflowDetail
Public Property Title
End Class

View File

@@ -0,0 +1,39 @@
Imports System.ComponentModel
Imports DigitalData.GUIs.ClientSuite
Public Class WorkflowItem
Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Private _state As String
Public Property Title As String
Public Property CreatedAt As DateTime
Public Property Process As String
Public Property IconMap As Dictionary(Of String, String)
Public Property StateImage As Image
Public Property State As String
Get
Return _state
End Get
Set(value As String)
_state = value
StateImage = GetIcon(value, IconMap)
End Set
End Property
Public Sub New(IconMap As Dictionary(Of String, String))
Me.IconMap = IconMap
End Sub
Private Function GetIcon(StateName As String, IconMap As Dictionary(Of String, String)) As Image
If IconMap.ContainsKey(StateName) Then
Dim IconName = IconMap.Item(StateName)
Return My.Resources.ResourceManager.GetObject(IconName)
Else
Return Nothing
End If
End Function
End Class

View File

@@ -0,0 +1,337 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmWorkflowOverview
Inherits DigitalData.GUIs.ClientSuite.Base.BaseRibbonForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()>
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.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmWorkflowOverview))
Dim TableColumnDefinition1 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition2 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableColumnDefinition3 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition()
Dim TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition()
Dim TableSpan1 As DevExpress.XtraEditors.TableLayout.TableSpan = New DevExpress.XtraEditors.TableLayout.TableSpan()
Dim TileViewItemElement1 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement()
Dim WindowsUIButtonImageOptions1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions = New DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions()
Dim WindowsUIButtonImageOptions2 As DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions = New DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem()
Me.BarCheckItem2 = New DevExpress.XtraBars.BarCheckItem()
Me.BarCheckItem3 = New DevExpress.XtraBars.BarCheckItem()
Me.RibbonPageCategory1 = New DevExpress.XtraBars.Ribbon.RibbonPageCategory()
Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.NavControlOverview = New DigitalData.GUIs.ClientSuite.NavControlOverview()
Me.GridWorkflowDetails = New DevExpress.XtraGrid.GridControl()
Me.tvDetails = New DevExpress.XtraGrid.Views.Tile.TileView()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.WindowsUIButtonPanel1 = New DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.SimpleLabelItem1 = New DevExpress.XtraLayout.SimpleLabelItem()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.SimpleLabelItem2 = New DevExpress.XtraLayout.SimpleLabelItem()
Me.SimpleLabelItem3 = New DevExpress.XtraLayout.SimpleLabelItem()
Me.GridOverview = New DigitalData.GUIs.ClientSuite.GridOverview()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridWorkflowDetails, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.tvDetails, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.LayoutControl1.SuspendLayout()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SimpleLabelItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SimpleLabelItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SimpleLabelItem3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarCheckItem1, Me.BarCheckItem2, Me.BarCheckItem3})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 7
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategory1})
Me.RibbonControl1.Size = New System.Drawing.Size(1134, 146)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarCheckItem1
'
Me.BarCheckItem1.Caption = "Alle"
Me.BarCheckItem1.CheckStyle = DevExpress.XtraBars.BarCheckStyles.Radio
Me.BarCheckItem1.Id = 3
Me.BarCheckItem1.ImageOptions.Image = CType(resources.GetObject("BarCheckItem1.ImageOptions.Image"), System.Drawing.Image)
Me.BarCheckItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarCheckItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarCheckItem1.Name = "BarCheckItem1"
'
'BarCheckItem2
'
Me.BarCheckItem2.Caption = "Aktuell verantwortlich"
Me.BarCheckItem2.CheckStyle = DevExpress.XtraBars.BarCheckStyles.Radio
Me.BarCheckItem2.Id = 4
Me.BarCheckItem2.ImageOptions.Image = CType(resources.GetObject("BarCheckItem2.ImageOptions.Image"), System.Drawing.Image)
Me.BarCheckItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarCheckItem2.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarCheckItem2.Name = "BarCheckItem2"
'
'BarCheckItem3
'
Me.BarCheckItem3.Caption = "Beteiligt"
Me.BarCheckItem3.CheckStyle = DevExpress.XtraBars.BarCheckStyles.Radio
Me.BarCheckItem3.Id = 6
Me.BarCheckItem3.ImageOptions.Image = CType(resources.GetObject("BarCheckItem3.ImageOptions.Image"), System.Drawing.Image)
Me.BarCheckItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarCheckItem3.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarCheckItem3.Name = "BarCheckItem3"
'
'RibbonPageCategory1
'
Me.RibbonPageCategory1.Name = "RibbonPageCategory1"
Me.RibbonPageCategory1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage3})
Me.RibbonPageCategory1.Text = "Worflows"
'
'RibbonPage3
'
Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3})
Me.RibbonPage3.Name = "RibbonPage3"
Me.RibbonPage3.Text = "Allgemein"
'
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarCheckItem1)
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarCheckItem3)
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarCheckItem2)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "Verantwortlichkeit"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 702)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1134, 21)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'SplitContainerControl1
'
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 146)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridOverview)
Me.SplitContainerControl1.Panel1.Controls.Add(Me.NavControlOverview)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
Me.SplitContainerControl1.Panel2.Controls.Add(Me.GridWorkflowDetails)
Me.SplitContainerControl1.Panel2.Controls.Add(Me.LayoutControl1)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(1134, 556)
Me.SplitContainerControl1.SplitterPosition = 841
Me.SplitContainerControl1.TabIndex = 5
Me.SplitContainerControl1.Text = "SplitContainerControl1"
'
'NavControlOverview
'
Me.NavControlOverview.DataSource = Nothing
Me.NavControlOverview.Dock = System.Windows.Forms.DockStyle.Left
Me.NavControlOverview.Location = New System.Drawing.Point(0, 0)
Me.NavControlOverview.Name = "NavControlOverview"
Me.NavControlOverview.Size = New System.Drawing.Size(185, 556)
Me.NavControlOverview.TabIndex = 1
'
'GridWorkflowDetails
'
Me.GridWorkflowDetails.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridWorkflowDetails.Location = New System.Drawing.Point(0, 166)
Me.GridWorkflowDetails.MainView = Me.tvDetails
Me.GridWorkflowDetails.MenuManager = Me.RibbonControl1
Me.GridWorkflowDetails.Name = "GridWorkflowDetails"
Me.GridWorkflowDetails.Size = New System.Drawing.Size(281, 390)
Me.GridWorkflowDetails.TabIndex = 1
Me.GridWorkflowDetails.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.tvDetails})
'
'tvDetails
'
Me.tvDetails.GridControl = Me.GridWorkflowDetails
Me.tvDetails.Name = "tvDetails"
Me.tvDetails.OptionsTiles.ItemSize = New System.Drawing.Size(248, 123)
Me.tvDetails.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.List
Me.tvDetails.TileColumns.Add(TableColumnDefinition1)
Me.tvDetails.TileColumns.Add(TableColumnDefinition2)
Me.tvDetails.TileColumns.Add(TableColumnDefinition3)
TableRowDefinition1.Length.Value = 15.0R
TableRowDefinition2.Length.Value = 13.0R
TableRowDefinition3.Length.Value = 13.0R
Me.tvDetails.TileRows.Add(TableRowDefinition1)
Me.tvDetails.TileRows.Add(TableRowDefinition2)
Me.tvDetails.TileRows.Add(TableRowDefinition3)
TableSpan1.ColumnSpan = 2
TableSpan1.RowSpan = 2
Me.tvDetails.TileSpans.Add(TableSpan1)
TileViewItemElement1.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
TileViewItemElement1.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside
TileViewItemElement1.Text = "element1"
TileViewItemElement1.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
Me.tvDetails.TileTemplate.Add(TileViewItemElement1)
'
'LayoutControl1
'
Me.LayoutControl1.Controls.Add(Me.WindowsUIButtonPanel1)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Top
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(1186, 56, 650, 400)
Me.LayoutControl1.Root = Me.LayoutControlGroup1
Me.LayoutControl1.Size = New System.Drawing.Size(281, 166)
Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1"
'
'WindowsUIButtonPanel1
'
WindowsUIButtonImageOptions1.Image = CType(resources.GetObject("WindowsUIButtonImageOptions1.Image"), System.Drawing.Image)
WindowsUIButtonImageOptions2.Image = CType(resources.GetObject("WindowsUIButtonImageOptions2.Image"), System.Drawing.Image)
Me.WindowsUIButtonPanel1.Buttons.AddRange(New DevExpress.XtraEditors.ButtonPanel.IBaseButton() {New DevExpress.XtraBars.Docking2010.WindowsUIButton("Verlängerung", True, WindowsUIButtonImageOptions1, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, Nothing, -1, False), New DevExpress.XtraBars.Docking2010.WindowsUIButton("Kündigung", True, WindowsUIButtonImageOptions2, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, Nothing, -1, False)})
Me.WindowsUIButtonPanel1.ContentAlignment = System.Drawing.ContentAlignment.MiddleLeft
Me.WindowsUIButtonPanel1.Location = New System.Drawing.Point(12, 96)
Me.WindowsUIButtonPanel1.Name = "WindowsUIButtonPanel1"
Me.WindowsUIButtonPanel1.Size = New System.Drawing.Size(257, 55)
Me.WindowsUIButtonPanel1.TabIndex = 0
Me.WindowsUIButtonPanel1.Text = "WindowsUIButtonPanel1"
'
'LayoutControlGroup1
'
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.SimpleLabelItem1, Me.LayoutControlItem2, Me.SimpleLabelItem2, Me.SimpleLabelItem3})
Me.LayoutControlGroup1.Name = "Root"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(281, 166)
Me.LayoutControlGroup1.TextVisible = False
'
'SimpleLabelItem1
'
Me.SimpleLabelItem1.AllowHotTrack = False
Me.SimpleLabelItem1.AppearanceItemCaption.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SimpleLabelItem1.AppearanceItemCaption.ForeColor = System.Drawing.SystemColors.MenuHighlight
Me.SimpleLabelItem1.AppearanceItemCaption.Options.UseFont = True
Me.SimpleLabelItem1.AppearanceItemCaption.Options.UseForeColor = True
Me.SimpleLabelItem1.Location = New System.Drawing.Point(0, 0)
Me.SimpleLabelItem1.Name = "SimpleLabelItem1"
Me.SimpleLabelItem1.Size = New System.Drawing.Size(261, 34)
Me.SimpleLabelItem1.Text = "Vertragsnr. 4711"
Me.SimpleLabelItem1.TextSize = New System.Drawing.Size(151, 30)
'
'LayoutControlItem2
'
Me.LayoutControlItem2.Control = Me.WindowsUIButtonPanel1
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 84)
Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Size = New System.Drawing.Size(261, 62)
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem2.TextVisible = False
'
'SimpleLabelItem2
'
Me.SimpleLabelItem2.AllowHotTrack = False
Me.SimpleLabelItem2.AppearanceItemCaption.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SimpleLabelItem2.AppearanceItemCaption.Options.UseFont = True
Me.SimpleLabelItem2.Location = New System.Drawing.Point(0, 59)
Me.SimpleLabelItem2.Name = "SimpleLabelItem2"
Me.SimpleLabelItem2.Size = New System.Drawing.Size(261, 25)
Me.SimpleLabelItem2.Text = "Sunshine GmbH"
Me.SimpleLabelItem2.TextSize = New System.Drawing.Size(151, 21)
'
'SimpleLabelItem3
'
Me.SimpleLabelItem3.AllowHotTrack = False
Me.SimpleLabelItem3.AppearanceItemCaption.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SimpleLabelItem3.AppearanceItemCaption.Options.UseFont = True
Me.SimpleLabelItem3.Location = New System.Drawing.Point(0, 34)
Me.SimpleLabelItem3.Name = "SimpleLabelItem3"
Me.SimpleLabelItem3.Size = New System.Drawing.Size(261, 25)
Me.SimpleLabelItem3.Text = "Objekt: Haus Nr. 9"
Me.SimpleLabelItem3.TextSize = New System.Drawing.Size(151, 21)
'
'GridOverview1
'
Me.GridOverview.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridOverview.Location = New System.Drawing.Point(185, 0)
Me.GridOverview.Name = "GridOverview1"
Me.GridOverview.Size = New System.Drawing.Size(656, 556)
Me.GridOverview.TabIndex = 2
'
'frmWorkflowOverview
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1134, 723)
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.Name = "frmWorkflowOverview"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Workflow Übersicht"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.GridWorkflowDetails, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.tvDetails, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.LayoutControl1.ResumeLayout(False)
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SimpleLabelItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SimpleLabelItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SimpleLabelItem3, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageCategory1 As DevExpress.XtraBars.Ribbon.RibbonPageCategory
Friend WithEvents RibbonPage3 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents GridWorkflowDetails As DevExpress.XtraGrid.GridControl
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents BarCheckItem1 As DevExpress.XtraBars.BarCheckItem
Friend WithEvents BarCheckItem2 As DevExpress.XtraBars.BarCheckItem
Friend WithEvents BarCheckItem3 As DevExpress.XtraBars.BarCheckItem
Friend WithEvents WindowsUIButtonPanel1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel
Friend WithEvents SimpleLabelItem1 As DevExpress.XtraLayout.SimpleLabelItem
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents SimpleLabelItem2 As DevExpress.XtraLayout.SimpleLabelItem
Friend WithEvents SimpleLabelItem3 As DevExpress.XtraLayout.SimpleLabelItem
Friend WithEvents tvDetails As DevExpress.XtraGrid.Views.Tile.TileView
Friend WithEvents NavControlOverview As NavControlOverview
Friend WithEvents GridOverview As GridOverview
End Class

View File

@@ -0,0 +1,231 @@
<?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="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BarCheckItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYdEVYdFRpdGxlAFRlYW07UGVvcGxlO0dyb3VwO1w5
6BYAAADzSURBVDhPpdA9CsJAEAVglYBYeQYPoJ2tBxDEMq2FJ5BASsVrWNhqmc4rKHgJsbAXTKXre2En
TNZJESw+iPPzzKTlnPuLWWyifJhtT23YwdPbQwfMuhUwBhdgzaxbAbEauMISIm8BZ5B+bAWkvvmBunPe
wJnUCujDCy5Qdw57nOn/BPiQBA6gzxGssZfoHb3MW4cwADlHY429EURlAH50YQM3uMMU5BxZLl4b2OMM
Z7nTY8AR9D/RCniO/OYza3qGMgbkqvCANcg5E694bWCPMzKfl9/Af4fwnLlXeW29EwZY54QyvRMG6HPq
5HqnEtCca30Bw6t+WSTe8moAAAAASUVORK5CYII=
</value>
</data>
<data name="BarCheckItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAYdEVYdFRpdGxlAFRlYW07UGVvcGxlO0dyb3VwO1w5
6BYAAAJ9SURBVFhHxdbNq41RFMfx461wURSljExuESJCoRiR7kAmTBhgoJiJgUxu/gKGElJckpFEGVFC
XiciRt4Zka6IPL6/2/Oc1l7P2veeczs9Bp/u2WuvtfY+z8s+t1UUxX8VBpvUGhi8kbMR1/EZv/EFN7EJ
Ub50XRMGsQZ/UAQU34Be1GQ3cB5Ro8ol9KImu4EniJpUnqIXNdkNvIJvUDmHlfA1c7AWZ/EXvu41fE24
gWXI3ctBKGcX7sA+bHexGxNwFL5WPZcgWS8ZlAbgi2UYM3DMxCLHMQ3fTKyi3sl6yaA0Fc/gi+9hOr6b
WOQHZuG2iYl6qneyXjIwdCltsVzDahfLWQ/l29ge1NaqBUr6pp9gG5zEVhfLUd4JM1avPtTWqgWMzfiF
qom+/QEzHs1BrCo/q8cWRGuMugHRG3EK97EQeg78YpEHWIQzqD35VhjEZESFtxAt6CnP1qmXetrYCB9Y
gP14jI+YBzuvRrkzoqL5pbA9dU6op3pr3O5ZfZiN09ChYpu9wV7ofm7HJPjXy9MBpcNoMfbhHey81tBa
WnNkA3PxEjYpR6/XNhfzNL/OxSI67udrA0MmOJarUM1FE7MuQPPKi+a9ISXriI0mc3ZgCg5Bt0ixtzgC
3aKdZawTw9pAdGZHXkCLi+6xamWm+Tyx/KvnRflRH+trVdipfujyHzYxS7+CV6C8aL6m9k9ikKRfQF3e
56h2rtNND5vN06W3r6jyVad6m5eslwzEJetp9q+R9RCX8cjEPNWrT7uvXS8ZiElcjm4f0Bz1WYGuNtDp
sdup9vFs10sGUiXhJ6JG46V+XW3gA6JG4/UeY2+gaWGwSWGwSWGwOUXrHy0ANvXoR9wdAAAAAElFTkSu
QmCC
</value>
</data>
<data name="BarCheckItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFBlb3BsZTtBc3NpZ25+WIkkAAAA
4ElEQVQ4T6XRPQ4BURQF4ClEr1FrSSSiokLPGuxEQqbQWIRFSKYXCWuwAmoKRJ5zJu/Ke/fd0Si+MRnn
nMxP5pz7S3nI81wbwAHu3hFGkGStgRpcwClXqEOUtwbaoMuiA1HeGhiDVaYJRHlrYA1WmfhflLcGhvAG
XeY1vtwobw3QHvQAryXZqgF+sidImeet2arIYOF/S1UDNIeT1wvKTspkDTRgA99v7sNSrhzoww5ewNve
QheaCIbliAxM4QHyzCGWl7ooZOCsSiF5aeFI8gg3VdL0SDLwU1gAjvjzIvsAqlQYjVXYUosAAAAASUVO
RK5CYII=
</value>
</data>
<data name="BarCheckItem2.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAATdEVYdFRpdGxlAFBlb3BsZTtBc3NpZ25+WIkkAAAB
0UlEQVRYR8XWsStFYRgG8DNIGQyKrIrFwG69UhSD8sfIcON2B2UmBnZlMCoWVjYZlBSxIWUg5HgenXP6
vu88597zHjeGX3K+732fx7mUKI7jf+V902w2y5iFXbiDj8Q97ME8qBmpSoENiNvYATWbYy0wDSpQWQC1
w2MtwNeuwpR9UDs81gKXoMKUK1A7PNYCL6DClGdQOzzWAiqoyBuoHR5LgRqooFY4o3ZlLAU2QYW0whm1
K2MpsAoqpBXOqF0ZS4FheAQVpPAuZ9SujKUA1UGFKYugdnisBcZAhSm8q3Z4rAXoEFSg6wjUbE6VAuPw
CiqYeMY7ajanSgGagXcIw/mMZ2pGqlqgGx4gLPAEPFMzUtUCNABLwN+JE1iGQVB3C1kLTMB68EzZBt5V
Z54yBYagARfA18x/v0ZA3SX++X0B73KmNtc4iKCefM0pKtAHW8BA93OmY+gB9z71whmk91aSEIbHaWBI
FRiF62RJkVOYhK7EFJxDeh6Gly7QDzfOonY+E+4zFV66wFqwzCr9rMPwQmEBy0+vMJhvQIYpYQG11CJ9
A6VLhAVug4VVFJXIPndXWODXggC3RHj2wyvQCSIkLaHO/qQAsYR63vkCNnH0DUZ2qvqAgwutAAAAAElF
TkSuQmCC
</value>
</data>
<data name="BarCheckItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAcdEVYdFRpdGxlAFRlYW07UGVvcGxlO0dyb3VwO1Vz
ZXKTe2BJAAAA8klEQVQ4T6XQvw7BUBQG8BKJmPoMHoDN6gEsxq4GTyCiI29hMBgx9jFIvIQY7BKduL6v
uac5vU6HxvBL6vz59DRyzv3FLDZRPqwO2xbs4OntoQ1m3QoYgQuwZtatgEQNXGEOHW8GZ5B+YgWkvvmB
unPewJnUCojhBReoO4c9zsQ/AT5kCUfQ5wjW2FvqHb3MWwfQBzlHY429IXTKAPzowgZucIcJyDmyXLw2
sMcZznKnx4AT6H+iBfAc+c1n1vQMZQzIVeEBa5Bzxl7x2sAeZ2Q+L7+B/w7hOVOv8tp6JwywzglleicM
0OfUyfVOJaA5F30Bv8maeRXqkFsAAAAASUVORK5CYII=
</value>
</data>
<data name="BarCheckItem3.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAcdEVYdFRpdGxlAFRlYW07UGVvcGxlO0dyb3VwO1Vz
ZXKTe2BJAAACnklEQVRYR8XVz4tPYRTH8cEoP4YaRalZ2UwRIkINxYo0C9mwYYGFYqexkI38BSwsJKTM
kKyk1KwoIT83IlZ+syKNRuTr/dE9+jzPPHfmmsXX4lXfc+55zrlz73Of6Wi1Wv9VMdlOSTAweMptxHV8
xA98wg1sQl4batf4HJcEFIa1+IlWgfIb4PWN1viskAQUhQsoNQqX4PWN1viskAQUhUfVojqP4fWN1vis
kAQUhRfVopLzWAWvl3lYh3P4hXzdS58VkoAiWY66d3kMqtmFW/DNdhu7MQVHkK9Vz6U+T5KAAumvFuRG
0IWjlis5jpn4YrnQ7/MkCSiQGXhSLXB3MAtfLVfyDXNx03KinjN8niQBBUGP0hfLNazJcnXWQ/We2+Oz
QhJQFPSXfoA3OImtWa6O6k5YrF6zfVZIAorcZnxHNNFff8Di8RzE6uq3emzxOS4JKMzpiziNu1gE7YN8
WMk9LMZZjNn5LgkoDp1aaHEYRmlgbjjrq16dngtJQFEP9uMh3mMB/AbUqO6MCLq+LOupc0I91bvHZ0ZR
N85Ah4o3e4W90PvcjmnIP6+cDigdRkuwD2/g1zVDs7r/3AA/5uM5vKiOPq9tWS6n631ZrkTH/ULdwJAl
J3IVWjNoOXexeqKqK13PDalYR2zpYp0dmI5D0CtS7jUOQ69oZ5VrYkQ3UDqzS55Bw0XvWGtljv2eWj0B
7RfVl/q4z393Y7VwIr3Q4x+wnNN/wSvo9b7jSQJr5PQfUI/3KeLOdbpps3mdHr1/oqrXui6fkUsCinPa
zfln5O7jMh5YLqf1fT7HJQGFbgX+dYPWUZ+VPiskAUWu6bHbVHI8hySgyI2i1GiyRn1WSAKK3DuUGk3W
W58VxiTarZhsp2KynYrJ9ml1/AZUr3hglRjmdgAAAABJRU5ErkJggg==
</value>
</data>
<data name="WindowsUIButtonImageOptions1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAFJlc2V0O1VuZG87E4EW/wAAAYJJ
REFUWEfFlj1Ow2AMhnsAJK7TIdyEEzDCUhYmDsEpunOTbhyAgakSW/BTpdVr1+nHh6gzPFLs+LWdfL+r
cRwXJXVWkjorSZ2VOGMYhhZrY2NsjZ2xn+AZH++IybQHtB44IxNM3BlvxpcxNiCGWDRnubQeOMMCXqLA
eDD4wqzYJdCgdfm0HjjDAhBqE8/GtxGT/xa05OhqAGiC7rPi78ajwVjfTvCMj3cxnhynP6H1wBmT4Mhn
sD+MJ+PGOH1RgHfEEKtahuMwJ7QeOEMEERLeG7HgHMTGJpiYrh44IwgUvioWaYFGc7A61loPnBEEyqsR
C7RgOOKc2Gg9cEYIjmRLtAUTU3NstR44IwRn9DbB6lD9TuuBM0LwHD1NsERVu9d64AwL+G8Wb6B7CIBT
TUVMJE3aQ/ckBI5UFbGULu1+c/xpGQK/LR67ZRvREbZNFZdtxUc4OOIdgIR81VUPI2WR4zhSfiHJoPuy
K9kcZZfSFoz19a7lS5A6K0mdlaTOOsbVD4kgpriFBNvrAAAAAElFTkSuQmCC
</value>
</data>
<data name="WindowsUIButtonImageOptions2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAUFJREFUWEfFlUEOwjAMBHlYheBjSLw8xJKN3N1N43AIhxFi8Xp8
KOqttfZXZLgTGe5Ehjuh4DgO5C6yKnfcj1AAC16d5p/424xvFx0ZCsSCYOUI6qInoKAPqwXfRZ0sUgy7
6DIo6IMPKCJXR4zkwQN9py9GHzLeqaRQR8zktpN8FNiQs3JESW6gj4IYdCpHlOUG+ijIw87siCtOcgN9
FGDB+eUIkhvoo0CVnJUjpNxAHwWqlKgcMZQb6KNAlRKzB87I/w4CfRSoklORB8Mj0EeBKnVW5IE8An0U
iNIv8oCOQB8FUJjJ7YGbPZinI9BHQRquyGO2fAT6KPDBFXlQOgJ9FPSh2etYyYPZEfPXsdEHR4uu5MFl
F10UBF6gBUWGXfRQkPHiqjyQXXRQgPTSMy9YhLq4n4LdyHAnMtyJDPfRbh/esgzdHdsY9wAAAABJRU5E
rkJggg==
</value>
</data>
</root>

View File

@@ -0,0 +1,51 @@
Imports System.ComponentModel
Imports DevExpress.Utils
Public Class frmWorkflowOverview
Private WorkflowItems As BindingList(Of WorkflowItem)
Private WorkflowDetails As BindingList(Of WorkflowDetail)
Private Async Sub frmWorkflowOverview_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oDatatable As DataTable
Dim oWorkflows As New List(Of WorkflowItem)
Dim oIconMap As New Dictionary(Of String, String) From {
{"Start", "ampel_gruen"},
{"not started", "ampel_rot"}
}
Try
oDatatable = Await My.Common.Views.VWIDB_GUI_WF_OVERVIEW(70, 104)
For Each oRow As DataRow In oDatatable.Rows
oWorkflows.Add(New WorkflowItem(oIconMap) With {
.Title = oRow.Item("REQUEST_TITLE"),
.State = oRow.Item("STATETITLE"),
.Process = oRow.Item("PROCESS_NAME")
})
Next
Catch ex As Exception
ShowErrorMessage(ex)
End Try
GridOverview.DataSource = oWorkflows
NavControlOverview.DataSource = oWorkflows
'gvOverview.GroupFormat = "[#image]{1} {2}"
'With gvOverview.Columns.Item("CreatedAt")
' .OptionsFilter.FilterPopupMode = DevExpress.XtraGrid.Columns.FilterPopupMode.DateAlt
' .GroupInterval = DevExpress.XtraGrid.ColumnGroupInterval.DateRange
' .SortOrder = DevExpress.Data.ColumnSortOrder.Descending
' .Group()
'End With
End Sub
Private Sub frmWorkflowOverview_Shown(sender As Object, e As EventArgs) Handles Me.Shown
RibbonControl1.SelectPage(RibbonPage3)
End Sub
End Class

View File

@@ -0,0 +1,120 @@
<?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>
</root>

View File

@@ -1,5 +1,4 @@
Imports DevExpress.XtraLayout
Imports DigitalData.GUIs.ClientSuite
Imports DigitalData.GUIs.ClientSuite.Controls
Public Class frmWorkflowStep

View File

@@ -60,6 +60,36 @@ Namespace My.Resources
End Set
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ampel_gelb() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ampel_gelb", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ampel_gruen() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ampel_gruen", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ampel_rot() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ampel_rot", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@@ -118,25 +118,31 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="iconfinder_Gowalla_324477" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconfinder_Gowalla_324477.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ComboBox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ComboBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="TextBox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="iconfinder_Gowalla_324477" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iconfinder_Gowalla_324477.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DatePicker" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DatePicker.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ComboBox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ComboBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="user_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\user_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CheckBox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CheckBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="StatusAnnotations_Complete_and_ok_32xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\StatusAnnotations_Complete_and_ok_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ampel_gelb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-gelb.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ampel_gruen" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-gruen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ampel_rot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-rot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -1,16 +1,16 @@
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Navigation.OfficeNavigationBar, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.Utils.MVVM.MVVMContext, DevExpress.Utils.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Navigation.OfficeNavigationBar, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,47 +1,44 @@
Imports System.Timers
Imports DigitalData.GUIs.ClientSuite
Imports DigitalData.GUIs.ClientSuite.Base
Imports DigitalData.Modules.EDMIAPI.IDBServiceReference
Imports DigitalData.Modules.Logging
Namespace Workers
Public Class HeartbeatWorker
Inherits BaseClass
Implements IWorker
Private _Channel As IIDBServiceChannel
Public Event OnlineChanged As OnlineChangedEventHandler
Public Delegate Sub OnlineChangedEventHandler(sender As Object, Online As Boolean)
Public ReadOnly Property Interval As Integer = 4000 Implements IWorker.Interval
Public ReadOnly Property Name As String = "Heartbeat Worker" Implements IWorker.Name
Public Sub New(LogConfig As LogConfig)
MyBase.New(LogConfig)
End Sub
Public Sub Setup() Implements IWorker.Setup
_Channel = My.ChannelFactory.CreateChannel()
_Channel.Open()
Logger.Debug("Starting {0}", "HeartbeatWorker")
End Sub
Public Async Sub Callback(manager As WorkerManager, e As ElapsedEventArgs) Implements IWorker.Callback
Public Async Sub Callback(Manager As WorkerManager, e As ElapsedEventArgs) Implements IWorker.Callback
Try
Logger.Debug("Checking if Service is up...")
If _Channel.State = ServiceModel.CommunicationState.Faulted Then
_Channel = My.ChannelFactory.CreateChannel()
If My.Channel.State = ServiceModel.CommunicationState.Faulted Then
My.Channel = My.ChannelFactory.CreateChannel()
End If
' Connect to service and send hearbeat request
Dim oResult = Await _Channel.HeartbeatAsync()
Dim oResult = Await My.Channel.HeartbeatAsync()
Logger.Debug("Service is online")
SetOnlineState(True)
Catch ex As Exception
Logger.Debug("Service is offline!")
Logger.Error(ex)
Manager.StopWorkers()
SetOnlineState(False)
Finally
My.Application.Service.LastChecked = DateTime.Now
@@ -49,7 +46,7 @@ Namespace Workers
End Sub
Public Sub Teardown() Implements IWorker.Teardown
' TODO: Close channel gracefully
Logger.Debug("Stopping {0}", Name)
End Sub
Private Sub SetOnlineState(NewState As Boolean)

View File

@@ -3,6 +3,7 @@
Namespace Workers
Public Interface IWorker
ReadOnly Property Interval As Integer
ReadOnly Property Name As String
Sub Setup()
Sub Teardown()

View File

@@ -6,6 +6,14 @@ Namespace Workers
Public Class WorkerManager
Inherits BaseClass
''' <summary>
''' Holds information about a worker
''' </summary>
Class WorkerState
Public Worker As IWorker
Public Timer As Timer
End Class
''' <summary>
''' List of workers that will be started.
''' </summary>
@@ -13,52 +21,73 @@ Namespace Workers
GetType(HeartbeatWorker),
GetType(WorkflowOverviewWorker)
}
Private Workers As New List(Of IWorker)
Private TimerList As New List(Of Timer)
Private Workers As New List(Of WorkerState)
Public Sub New(LogConfig As LogConfig, SyncronizingObject As frmMain)
MyBase.New(LogConfig)
Workers = CreateWorkers()
For Each oWorker As IWorker In Workers
Dim oTimer = New Timer(oWorker.Interval) With {
.SynchronizingObject = SyncronizingObject,
.Enabled = True
}
AddHandler oTimer.Elapsed, Sub(sender As Object, e As ElapsedEventArgs)
Try
oWorker.Callback(Me, e)
Catch ex As Exception
Logger.Warn("Worker {0} threw an error in callback.", oWorker.GetType.Name)
End Try
End Sub
TimerList.Add(oTimer)
Next
Workers = CreateWorkers(SyncronizingObject)
End Sub
Public Function GetWorker(Of T)() As T
For Each oWorker In Workers
If TypeOf oWorker Is T Then
Return oWorker
For Each oWorkerState As WorkerState In Workers
If TypeOf oWorkerState.Worker Is T Then
Return oWorkerState.Worker
End If
Next
Return Nothing
End Function
Private Function CreateWorkers() As List(Of IWorker)
Dim oWorkers As New List(Of IWorker)
Public Sub StopWorkers()
Logger.Debug("Stopping all workers..")
For Each oWorkerState In Workers
oWorkerState.Timer.Stop()
Try
oWorkerState.Worker.Teardown()
Catch ex As Exception
Logger.Warn("Worker {0} threw an error during teardown.", oWorkerState.Worker.Name)
End Try
Next
Logger.Debug("All workers stopped.")
End Sub
Private Function CreateTimer(Worker As IWorker, SyncronizingObject As frmMain)
Dim oTimer = New Timer(Worker.Interval) With {
.SynchronizingObject = SyncronizingObject,
.Enabled = True
}
AddHandler oTimer.Elapsed, Sub(sender As Object, e As ElapsedEventArgs)
Try
Worker.Callback(Me, e)
Catch ex As Exception
Logger.Warn("Worker {0} threw an error in callback.", Worker.Name)
Logger.Error(ex)
End Try
End Sub
Return oTimer
End Function
Private Function CreateWorkers(SyncronizingObject As frmMain) As List(Of WorkerState)
Dim oWorkers As New List(Of WorkerState)
For Each oWorkerType In WorkerTypes
Dim oWorker As IWorker = Activator.CreateInstance(oWorkerType, New Object() {LogConfig})
Try
Dim oWorker As IWorker = Activator.CreateInstance(oWorkerType, New Object() {LogConfig})
oWorker.Setup()
oWorkers.Add(oWorker)
Dim oWorkerState As New WorkerState() With {
.Worker = oWorker,
.Timer = CreateTimer(oWorker, SyncronizingObject)
}
oWorkers.Add(oWorkerState)
Catch ex As Exception
Logger.Warn("Worker {0} threw an error while creating. Skipping.", oWorkerType.Name)
Logger.Warn("Worker {0} threw an error during setup. Skipping.", oWorker.Name)
Logger.Error(ex)
Continue For
End Try

View File

@@ -12,6 +12,7 @@ Namespace Workers
End Sub
Public ReadOnly Property Interval As Integer = 60000 Implements IWorker.Interval
Public ReadOnly Property Name As String = "WorkflowOverview Worker" Implements IWorker.Name
Public Sub Setup() Implements IWorker.Setup
Throw New NotImplementedException()

View File

@@ -22,7 +22,8 @@ Public Class frmConfigUser
End Sub
Private Sub btnAppFolder_Click(sender As Object, e As EventArgs) Handles btnAppFolder.Click
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
Dim oAppData = Application.LocalUserAppDataPath
Process.Start(oAppData)
End Sub
Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged

View File

@@ -21,11 +21,10 @@ Partial Class frmMain
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Dim PushTransition1 As DevExpress.Utils.Animation.PushTransition = New DevExpress.Utils.Animation.PushTransition()
Dim PushTransition2 As DevExpress.Utils.Animation.PushTransition = New DevExpress.Utils.Animation.PushTransition()
Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu()
Me.BarButtonExit = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonConnectionSettings = New DevExpress.XtraBars.BarButtonItem()
@@ -51,13 +50,14 @@ Partial Class frmMain
Me.RibbonPageGroup6 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.DocumentManager = New DevExpress.XtraBars.Docking2010.DocumentManager(Me.components)
Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(Me.components)
Me.DockManager = New DevExpress.XtraBars.Docking.DockManager(Me.components)
Me.DocumentManager = New DevExpress.XtraBars.Docking2010.DocumentManager()
Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView()
Me.DockManager = New DevExpress.XtraBars.Docking.DockManager()
Me.MainNav = New DevExpress.XtraBars.Navigation.OfficeNavigationBar()
Me.NavbarItemHome = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarItemSearch = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarItemWorkflow = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -70,15 +70,15 @@ Partial Class frmMain
'
Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu
Me.RibbonControl.ExpandCollapseItem.Id = 0
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.SkinDropDownButtonItem1, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings, Me.LabelCurrentLanguage, Me.BarButtonItem2, Me.BarWorkspaceMenuItem1, Me.LabelServiceOnline, Me.BarButtonUserManager, Me.LabelServiceOffline, Me.BarButtonItem3, Me.BarButtonFormDesigner, Me.BarButtonItem4})
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.SkinDropDownButtonItem1, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings, Me.LabelCurrentLanguage, Me.BarButtonItem2, Me.BarWorkspaceMenuItem1, Me.LabelServiceOnline, Me.BarButtonUserManager, Me.LabelServiceOffline, Me.BarButtonItem3, Me.BarButtonFormDesigner, Me.BarButtonItem4, Me.BarButtonItem5})
Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl.MaxItemId = 25
Me.RibbonControl.MaxItemId = 26
Me.RibbonControl.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1)
Me.RibbonControl.PageHeaderItemLinks.Add(Me.BarWorkspaceMenuItem1)
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageAdmin})
Me.RibbonControl.Size = New System.Drawing.Size(1139, 146)
Me.RibbonControl.Size = New System.Drawing.Size(1139, 143)
Me.RibbonControl.StatusBar = Me.RibbonStatusBar
'
'MainMenu
@@ -181,7 +181,7 @@ Partial Class frmMain
'WorkspaceManager1
'
Me.WorkspaceManager1.TargetControl = Me
Me.WorkspaceManager1.TransitionType = PushTransition1
Me.WorkspaceManager1.TransitionType = PushTransition2
'
'LabelServiceOnline
'
@@ -223,7 +223,7 @@ Partial Class frmMain
'
'BarButtonItem4
'
Me.BarButtonItem4.Caption = "Workflow Test"
Me.BarButtonItem4.Caption = "Workflow Step"
Me.BarButtonItem4.Id = 24
Me.BarButtonItem4.ImageOptions.Image = CType(resources.GetObject("BarButtonItem4.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem4.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.LargeImage"), System.Drawing.Image)
@@ -241,6 +241,7 @@ Partial Class frmMain
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem4)
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem5)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "DEBUG"
'
@@ -270,10 +271,10 @@ Partial Class frmMain
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentLanguage)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelServiceOnline)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelServiceOffline)
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556)
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 546)
Me.RibbonStatusBar.Name = "RibbonStatusBar"
Me.RibbonStatusBar.Ribbon = Me.RibbonControl
Me.RibbonStatusBar.Size = New System.Drawing.Size(1139, 21)
Me.RibbonStatusBar.Size = New System.Drawing.Size(1139, 31)
'
'DocumentManager
'
@@ -297,7 +298,7 @@ Partial Class frmMain
'
Me.MainNav.Dock = System.Windows.Forms.DockStyle.Bottom
Me.MainNav.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavbarItemHome, Me.NavbarItemSearch, Me.NavbarItemWorkflow})
Me.MainNav.Location = New System.Drawing.Point(0, 511)
Me.MainNav.Location = New System.Drawing.Point(0, 501)
Me.MainNav.Name = "MainNav"
Me.MainNav.Size = New System.Drawing.Size(1139, 45)
Me.MainNav.TabIndex = 4
@@ -318,6 +319,14 @@ Partial Class frmMain
Me.NavbarItemWorkflow.Name = "NavbarItemWorkflow"
Me.NavbarItemWorkflow.Text = "Workflow"
'
'BarButtonItem5
'
Me.BarButtonItem5.Caption = "Workflow Overview"
Me.BarButtonItem5.Id = 25
Me.BarButtonItem5.ImageOptions.Image = CType(resources.GetObject("BarButtonItem5.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonItem5.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem5.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem5.Name = "BarButtonItem5"
'
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -377,4 +386,5 @@ Partial Class frmMain
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonFormDesigner As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -446,6 +446,26 @@
Ixl2CEPBSIYdwlAwkmGHMBSMZNghDKWWbpVS4o3v1CEMRSNDD5B2gN71YvgpPhq3GLYfdNj1nbYYth90
+O8BevftiO/Wx/Vxj1/qP1v5Vm9f/a6aB8wD5gHzgPVxJoYjMRwnlhd3GhRitUujhAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="BarButtonItem5.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALHRFWHRUaXRsZQBEb2N1bWVu
dDtNYXA7U2NoZW1lO0RpYWdyYW07SGllcmFyO05ldE4PKkQAAAB1SURBVDhPzczBDYAwDEPRLsg6DMAS
jMC1x24X9CVAbWKgqBcOTwjXTjKzITKclmKK7yEEUGP4HkIANYbvIQRQY/geQgA1hu8hBFBj+B5CUMs5
20G+o/mpBm8eD/A9XQOXtQfmbbUahZ7s9sCX7CcHRsiwn6Ud+yzVdNjXwB0AAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem5.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALHRFWHRUaXRsZQBEb2N1bWVu
dDtNYXA7U2NoZW1lO0RpYWdyYW07SGllcmFyO05ldE4PKkQAAADDSURBVFhH7dKxDcIwEAXQLMg6DMAS
jEDrku0OHGEJRU+HIwWncfFS/IT/r2CJiFMxHImhXG7P2IEdwlAwkmGHMBSMZNghDAUjGXYIQ8FIhh3C
UDCSYYcwFIxk2CEMBSMZdghDwUiGHcJQMJJhhzAUjGTYIQyllm6VUuKN79QhDEUjQw+QdoDe9WL4KT4a
txi2H3TY9Z22GLYfdPjvAXr37Yjv1sf1cY9f6j9b+VZvX/2umgfMA+YB84D1cSaGIzEcJ5YXdxoUYrVL
o4QAAAAASUVORK5CYII=
</value>
</data>
<metadata name="DocumentManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@@ -37,11 +37,11 @@ Public Class frmMain
End Sub
Private Sub HandleOnlineChanged(sender As Object, Online As Boolean)
SetOnlineLabel(Online)
If Online = False Then
MessageBox.Show($"Application will be closed now.{vbNewLine}Reason: Service is offline.", "Critical Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Application.Exit()
End If
SetOnlineLabel(Online)
End Sub
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -222,4 +222,11 @@ Public Class frmMain
}
oForm.Show()
End Sub
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick
Dim oForm As New frmWorkflowOverview() With {
.MdiParent = DocumentManager.MdiParent
}
oForm.Show()
End Sub
End Class

View File

@@ -3,5 +3,6 @@
<package id="FirebirdSql.Data.FirebirdClient" version="6.4.0" targetFramework="net461" />
<package id="FirebirdSql.EntityFrameworkCore.Firebird" version="6.4.0" targetFramework="net461" />
<package id="jacobslusser.ScintillaNET" version="3.6.3" targetFramework="net461" />
<package id="NLog" version="4.5.11" targetFramework="net461" />
<package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="net461" />
</packages>