Add Common Queries, Load User & Module Info from DB
This commit is contained in:
parent
5c7375d124
commit
13da64c6ad
6
GUIs.ClientSuite/frmConfigUser.Designer.vb
generated
6
GUIs.ClientSuite/frmConfigUser.Designer.vb
generated
@ -49,7 +49,7 @@ Partial Class frmConfigUser
|
||||
Me.TabPageSupport.Controls.Add(Me.chkLogErrorsOnly)
|
||||
Me.TabPageSupport.ImageOptions.Image = CType(resources.GetObject("TabPageSupport.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.TabPageSupport.Name = "TabPageSupport"
|
||||
Me.TabPageSupport.Size = New System.Drawing.Size(703, 448)
|
||||
Me.TabPageSupport.Size = New System.Drawing.Size(794, 403)
|
||||
Me.TabPageSupport.Text = "Support"
|
||||
'
|
||||
'btnAppFolder
|
||||
@ -108,8 +108,6 @@ Partial Class frmConfigUser
|
||||
'XtraTabControl1
|
||||
'
|
||||
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.XtraTabControl1.HeaderLocation = DevExpress.XtraTab.TabHeaderLocation.Left
|
||||
Me.XtraTabControl1.HeaderOrientation = DevExpress.XtraTab.TabOrientation.Horizontal
|
||||
Me.XtraTabControl1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.XtraTabControl1.Name = "XtraTabControl1"
|
||||
Me.XtraTabControl1.SelectedTabPage = Me.TabPageSupport
|
||||
@ -124,7 +122,7 @@ Partial Class frmConfigUser
|
||||
Me.TabPageMain.Controls.Add(Me.cmbLanguage)
|
||||
Me.TabPageMain.ImageOptions.Image = CType(resources.GetObject("TabPageMain.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.TabPageMain.Name = "TabPageMain"
|
||||
Me.TabPageMain.Size = New System.Drawing.Size(703, 448)
|
||||
Me.TabPageMain.Size = New System.Drawing.Size(700, 444)
|
||||
Me.TabPageMain.Text = "Allgemein"
|
||||
'
|
||||
'Label1
|
||||
|
||||
@ -122,6 +122,10 @@
|
||||
<Project>{903b2d7d-3b80-4be9-8713-7447b704e1b0}</Project>
|
||||
<Name>Logging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ZooFlow\ZooFlow.vbproj">
|
||||
<Project>{D0FB36EB-783D-40E1-B71E-A0B84B2FE567}</Project>
|
||||
<Name>ZooFlow</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
@ -1,4 +1,6 @@
|
||||
''' <summary>
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports ZooFlow
|
||||
''' <summary>
|
||||
'''
|
||||
''' Selfcontained:
|
||||
''' - Config (Location of Window)
|
||||
@ -13,9 +15,15 @@
|
||||
''' - Matching Profiles as List Of ProfileData
|
||||
''' - Clipboard Content as String
|
||||
''' </summary>
|
||||
|
||||
|
||||
Public Class frmMatch
|
||||
Public Sub New(LogConfig As LogConfig, Environment As ClassEnvironment)
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmMatch_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
End Sub
|
||||
|
||||
@ -30,6 +30,8 @@ Namespace My
|
||||
Dim oUIConfigManager As New ConfigManager(Of ClassUIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath)
|
||||
|
||||
LogConfig = oLogConfig
|
||||
LogConfig.Debug = oSystemConfigManager.Config.LogDebug
|
||||
|
||||
SystemConfigManager = oSystemConfigManager
|
||||
UIConfigManager = oUIConfigManager
|
||||
|
||||
|
||||
@ -6,20 +6,8 @@
|
||||
Public Const SERVICE_MAX_CONNECTIONS = 10000
|
||||
Public Const SERVICE_OPEN_TIMEOUT = 3
|
||||
|
||||
Public Const CONTROL_TEXTEDIT = "TextBox"
|
||||
Public Const CONTROL_MEMOEDIT = "Memoedit"
|
||||
Public Const CONTROL_COMBOEDIT = "Combobox"
|
||||
Public Const CONTROL_CHECKEDIT = "Checkbox"
|
||||
Public Const CONTROL_RADIOEDIT = "Radiobutton"
|
||||
Public Const CONTROL_DATEEDIT = "Datepicker"
|
||||
|
||||
Public Const FOLDER_NAME_LAYOUT = "Layout"
|
||||
|
||||
Public Const ATTRIBUTE_ID_COLUMN = "RECORD_ID"
|
||||
|
||||
Public Const DB_USER_ATTRIBUTE_ID = 1
|
||||
Public Const DB_USER_ATTRIBUTE_SYSKEY = "001"
|
||||
|
||||
Public Const DB_GROUP_ATTRIBUTE_ID = 2
|
||||
Public Const DB_GROUP_ATTRIBUTE_SYSKEY = "002"
|
||||
Public Const MODULE_CLIPBOARDWATCHER = "CW"
|
||||
Public Const MODULE_GLOBAL_INDEXER = "GLOBIX"
|
||||
End Class
|
||||
|
||||
@ -15,7 +15,7 @@ Public Class ClassErrorHandler
|
||||
MsgBox(GetMessage(Exception), MsgBoxStyle.Critical, "Unexpected Error")
|
||||
End Sub
|
||||
|
||||
Private Function GetMessage(Exception As Exception)
|
||||
Private Function GetMessage(Exception As Exception) As String
|
||||
Dim oTargetSite = Exception.TargetSite
|
||||
Dim oMethodName = GetMethodName(Exception)
|
||||
Dim oFormName = GetFormName(Exception)
|
||||
|
||||
@ -2,12 +2,20 @@
|
||||
Imports DevExpress.XtraSplashScreen
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Filesystem
|
||||
Imports DigitalData.Modules.Language.Utils
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports ZooFlow.ClassInitLoader
|
||||
Imports ZooFlow.ClassConstants
|
||||
|
||||
Public Class ClassInit
|
||||
Private _MainForm As frmMain
|
||||
Private _Logger As Logger
|
||||
|
||||
Public Sub New(ParentForm As frmMain)
|
||||
Public Event Completed As EventHandler
|
||||
|
||||
Public Sub New(LogConfig As LogConfig, ParentForm As frmMain)
|
||||
_MainForm = ParentForm
|
||||
_Logger = LogConfig.GetLogger()
|
||||
End Sub
|
||||
|
||||
Public Sub InitializeApplication()
|
||||
@ -17,17 +25,16 @@ Public Class ClassInit
|
||||
' Init User
|
||||
' Zeile -> Objekt / NameValue List
|
||||
|
||||
If Not InitializeDatabase() Then
|
||||
MsgBox("Verbindung konnte nicht hergestellt werden! Anwendung wird beendet", MsgBoxStyle.Critical, _MainForm.Text)
|
||||
If Not SetupDatabase() Then
|
||||
MsgBox("Keine Verbindungs-Informationen hinterlegt. Anwendung wird beendet.", MsgBoxStyle.Critical, _MainForm.Text)
|
||||
Application.Exit()
|
||||
Else
|
||||
Dim oInit As New ClassInitLoader()
|
||||
|
||||
' === Init Schritte definieren
|
||||
oInit.AddStep("Checking connectivity..", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Checking connectivity..2", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Checking connectivity..3", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Checking connectivity..4", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Checking connectivity..5", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Checking connectivity..6", AddressOf CheckConnectivity, True)
|
||||
oInit.AddStep("Initializing User..", AddressOf InitializeUser, True)
|
||||
' === Init Schritte definieren
|
||||
|
||||
AddHandler oInit.ProgressChanged, AddressOf ProgressChanged
|
||||
AddHandler oInit.InitCompleted, AddressOf InitCompleted
|
||||
@ -36,34 +43,9 @@ Public Class ClassInit
|
||||
SplashScreenManager.ShowForm(_MainForm, GetType(frmSplash), False, False)
|
||||
|
||||
oInit.Run()
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ProgressChanged(sender As Object, Progress As ClassInitLoader.InitProgress)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetProgress, Progress.CurrentPercent)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetActionName, Progress.CurrentStep.Name)
|
||||
End Sub
|
||||
|
||||
Private Sub InitCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
|
||||
SplashScreenManager.CloseForm(False)
|
||||
End Sub
|
||||
|
||||
Private Sub CheckConnectivity()
|
||||
Dim oCrypt As New EncryptionLegacy("!35452didalog=")
|
||||
Dim oBuilder = My.SystemConfig.GetConnectionStringBuilder(My.SystemConfig.ConnectionString)
|
||||
oBuilder.Password = oCrypt.DecryptData(oBuilder.Password)
|
||||
Dim oDecryptedConnectionString = oBuilder.ToString
|
||||
|
||||
My.Database = New MSSQLServer(My.LogConfig, oDecryptedConnectionString)
|
||||
|
||||
If My.Database.DBInitialized = False Then
|
||||
Throw New ApplicationException()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function InitializeDatabase() As Boolean
|
||||
Private Function SetupDatabase() As Boolean
|
||||
If My.SystemConfig.ConnectionString = String.Empty Then
|
||||
Dim oResult = frmConfigDatabase.ShowDialog()
|
||||
|
||||
@ -75,4 +57,121 @@ Public Class ClassInit
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Sub ProgressChanged(sender As Object, Progress As InitProgress)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetProgress, Progress.CurrentPercent)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetActionName, Progress.CurrentStep.Name)
|
||||
End Sub
|
||||
|
||||
Private Sub InitCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
|
||||
If Not IsNothing(e.Error) Then
|
||||
MsgBox("Beim Initialisieren des Programms ist folgender Fehler aufgetreten:" & vbNewLine & vbNewLine & e.Error.Message, MsgBoxStyle.Critical, _MainForm.Text)
|
||||
Application.ExitThread()
|
||||
End If
|
||||
|
||||
' Copy back state from MyApplication Helper to My.Application
|
||||
Dim oMyApplication As My.MyApplication = DirectCast(e.Result, My.MyApplication)
|
||||
My.Application.User = oMyApplication.User
|
||||
My.Application.Modules = oMyApplication.Modules
|
||||
My.Application.ModulesActive = oMyApplication.ModulesActive
|
||||
|
||||
RaiseEvent Completed(sender, Nothing)
|
||||
End Sub
|
||||
|
||||
Private Sub CheckConnectivity(MyApplication As My.MyApplication)
|
||||
Dim oCrypt As New EncryptionLegacy("!35452didalog=")
|
||||
Dim oBuilder = My.SystemConfig.GetConnectionStringBuilder(My.SystemConfig.ConnectionString)
|
||||
oBuilder.Password = oCrypt.DecryptData(oBuilder.Password)
|
||||
Dim oDecryptedConnectionString = oBuilder.ToString
|
||||
|
||||
My.Database = New MSSQLServer(My.LogConfig, oDecryptedConnectionString)
|
||||
|
||||
If My.Database.DBInitialized = False Then
|
||||
_Logger.Warn("Datenbank konnte nicht initialisiert werden!")
|
||||
Throw New InitException("Datenbank konnte nicht initialisiert werden!")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub InitializeUser(MyApplication As My.MyApplication)
|
||||
Try
|
||||
Dim oSql As String = My.Common.Queries.FNDD_MODULE_INIT(MyApplication.User.UserName)
|
||||
Dim oDatatable As DataTable = My.Database.GetDatatable(oSql)
|
||||
|
||||
If oDatatable.Rows.Count <= 1 Then
|
||||
Throw New InitException("Benutzer konnte nicht gefunden werden!")
|
||||
End If
|
||||
|
||||
For Each oRow As DataRow In oDatatable.Rows
|
||||
Dim oType As String = oRow("TYPE").ToString
|
||||
|
||||
Select Case oType
|
||||
Case "USER"
|
||||
HandleUserInfo(MyApplication, oRow)
|
||||
|
||||
Case MODULE_CLIPBOARDWATCHER
|
||||
HandleModuleInfo(MyApplication, oType, oRow)
|
||||
|
||||
Case MODULE_GLOBAL_INDEXER
|
||||
HandleModuleInfo(MyApplication, oType, oRow)
|
||||
End Select
|
||||
Next
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
Throw New InitException("Fehler beim Laden des Benutzers!")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub HandleUserInfo(MyApplication As My.MyApplication, Row As DataRow)
|
||||
Dim oValue As Object = Row.Item("VALUE")
|
||||
Dim oName As String = Row.Item("NAME").ToString
|
||||
|
||||
Select Case oName
|
||||
Case "USER_ID"
|
||||
MyApplication.User.UserId = CInt(oValue)
|
||||
Case "USER_PRENAME"
|
||||
MyApplication.User.GivenName = NotNull(oValue.ToString, String.Empty)
|
||||
Case "USER_SURNAME"
|
||||
MyApplication.User.Surname = NotNull(oValue.ToString, String.Empty)
|
||||
Case "USER_SHORTNAME"
|
||||
MyApplication.User.ShortName = NotNull(oValue.ToString, String.Empty)
|
||||
Case "USER_EMAIL"
|
||||
MyApplication.User.Email = NotNull(oValue.ToString, String.Empty)
|
||||
Case "USER_DATE_FORMAT"
|
||||
MyApplication.User.DateFormat = NotNull(oValue.ToString, "dd.MM.yyyy")
|
||||
Case "USER_LANGUAGE"
|
||||
MyApplication.User.Language = NotNull(oValue.ToString, "de-DE")
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub HandleModuleInfo(MyApplication As My.MyApplication, ModuleName As String, Row As DataRow)
|
||||
Dim oValue As Object = Row.Item("VALUE")
|
||||
Dim oName As String = Row.Item("NAME").ToString
|
||||
|
||||
If Not MyApplication.Modules.ContainsKey(ModuleName) Then
|
||||
MyApplication.Modules.Item(ModuleName) = New ClassModuleState()
|
||||
End If
|
||||
|
||||
Select Case oName
|
||||
Case "MODULE_ACCESS"
|
||||
If CBool(oValue) Then
|
||||
SyncLock MyApplication.ModulesActive
|
||||
MyApplication.ModulesActive.Add(ModuleName)
|
||||
End SyncLock
|
||||
End If
|
||||
MyApplication.Modules.Item(ModuleName).HasAccess = CBool(oValue)
|
||||
|
||||
Case "IS_ADMIN"
|
||||
MyApplication.Modules.Item(ModuleName).IsAdmin = CBool(oValue)
|
||||
|
||||
Case "USER_COUNT_LOGGED_IN"
|
||||
MyApplication.Modules.Item(ModuleName).LoggedIn = CInt(oValue) + 1
|
||||
|
||||
Case "RESULT"
|
||||
Dim oLines = oValue.ToString.Split("|"c)
|
||||
_Logger.Debug("Access Result for Module {0}", ModuleName)
|
||||
For Each oLine In oLines
|
||||
_Logger.Debug(oLine.Trim)
|
||||
Next
|
||||
End Select
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@ -14,7 +14,7 @@ Public Class ClassInitLoader
|
||||
_Logger = My.LogConfig.GetLogger()
|
||||
End Sub
|
||||
|
||||
Public Sub AddStep(Name As String, Action As Action, Optional Fatal As Boolean = False)
|
||||
Public Sub AddStep(Name As String, Action As Action(Of Object), Optional Fatal As Boolean = False)
|
||||
Steps.Add(New InitStep() With {
|
||||
.Name = Name,
|
||||
.Action = Action,
|
||||
@ -38,26 +38,27 @@ Public Class ClassInitLoader
|
||||
RaiseEvent InitCompleted(sender, e)
|
||||
End Sub
|
||||
|
||||
_Worker.RunWorkerAsync()
|
||||
_Worker.RunWorkerAsync(My.Application)
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Sub DoWork(sender As Object, e As DoWorkEventArgs)
|
||||
Dim oMyApplication As My.MyApplication = DirectCast(e.Argument, My.MyApplication)
|
||||
Dim oStepCounter = 0
|
||||
|
||||
For Each oStep In Steps
|
||||
_CurrentStep = oStep
|
||||
|
||||
Try
|
||||
oStep.Action.Invoke()
|
||||
oStep.Action.Invoke(oMyApplication)
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
_Logger.Warn("Init Step '{0}' failed!", oStep.Name)
|
||||
|
||||
If oStep.Fatal Then
|
||||
_Logger.Warn("Fatal error in '{0}'. Init will be aborted!", oStep.Name)
|
||||
e.Cancel = True
|
||||
Throw ex
|
||||
End If
|
||||
End Try
|
||||
|
||||
@ -68,6 +69,8 @@ Public Class ClassInitLoader
|
||||
|
||||
Threading.Thread.Sleep(600)
|
||||
Next
|
||||
|
||||
e.Result = oMyApplication
|
||||
End Sub
|
||||
|
||||
Public Class InitProgress
|
||||
@ -83,10 +86,18 @@ Public Class ClassInitLoader
|
||||
''' <summary>
|
||||
''' The function to execute
|
||||
''' </summary>
|
||||
Public Action As Action
|
||||
Public Action As Action(Of Object)
|
||||
''' <summary>
|
||||
''' Should init be aborted if this step fails?
|
||||
''' </summary>
|
||||
Public Fatal As Boolean
|
||||
End Class
|
||||
|
||||
Public Class InitException
|
||||
Inherits ApplicationException
|
||||
|
||||
Public Sub New(message As String)
|
||||
MyBase.New(message)
|
||||
End Sub
|
||||
End Class
|
||||
End Class
|
||||
3
ZooFlow/Common/ClassCommon.vb
Normal file
3
ZooFlow/Common/ClassCommon.vb
Normal file
@ -0,0 +1,3 @@
|
||||
Public Class ClassCommon
|
||||
Public Property Queries As New ClassCommonQueries
|
||||
End Class
|
||||
9
ZooFlow/Common/ClassCommonQueries.vb
Normal file
9
ZooFlow/Common/ClassCommonQueries.vb
Normal file
@ -0,0 +1,9 @@
|
||||
Public Class ClassCommonQueries
|
||||
Public Function FNDD_CHECK_USER_MODULE(Username As String, Optional ClientId As Integer = 1) As String
|
||||
Return String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','CW',{1})", Username, ClientId)
|
||||
End Function
|
||||
|
||||
Public Function FNDD_MODULE_INIT(Username As String) As String
|
||||
Return String.Format("SELECT * FROM [dbo].[FNZF_GET_MODULE_INFO] ('{0}')", Username)
|
||||
End Function
|
||||
End Class
|
||||
@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices
|
||||
' You can specify all the values or you can default the Build and Revision Numbers
|
||||
' by using the '*' as shown below:
|
||||
' [assembly: AssemblyVersion("1.0.*")]
|
||||
<Assembly: AssemblyVersion("1.0.0.0")>
|
||||
<Assembly: AssemblyVersion("0.0.1.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
|
||||
@ -26,6 +26,8 @@ Namespace My
|
||||
Property LogConfig As LogConfig
|
||||
Property MainForm As frmMain
|
||||
Property Database As MSSQLServer
|
||||
|
||||
Property Common As New ClassCommon
|
||||
End Module
|
||||
|
||||
''' <summary>
|
||||
@ -36,6 +38,8 @@ Namespace My
|
||||
' User Config
|
||||
Public User As New ClassUserState()
|
||||
Public Service As New ClassServiceState()
|
||||
Public Modules As New Dictionary(Of String, ClassModuleState)
|
||||
Public ModulesActive As New List(Of String)
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
||||
5
ZooFlow/State/ClassModuleState.vb
Normal file
5
ZooFlow/State/ClassModuleState.vb
Normal file
@ -0,0 +1,5 @@
|
||||
Public Class ClassModuleState
|
||||
Public HasAccess As Boolean
|
||||
Public IsAdmin As Boolean
|
||||
Public LoggedIn As Integer
|
||||
End Class
|
||||
@ -4,10 +4,15 @@
|
||||
''' Helper Class to hold User State
|
||||
''' </summary>
|
||||
Public Class ClassUserState
|
||||
Public UserId As Integer
|
||||
Public UserName As String
|
||||
Public Surname As String
|
||||
Public GivenName As String
|
||||
Public ShortName As String
|
||||
Public Email As String
|
||||
Public MachineName As String
|
||||
Public DateFormat As String
|
||||
Public Language As String
|
||||
Public IsAdmin As Boolean
|
||||
|
||||
''' <summary>
|
||||
''' Initialize user object with values that can be read from the environment
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.BonusSkins.v18.1" />
|
||||
<Reference Include="DevExpress.Data.v18.1" />
|
||||
<Reference Include="DevExpress.DataAccess.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v18.1.Core" />
|
||||
<Reference Include="DevExpress.Utils.v18.1" />
|
||||
<Reference Include="DevExpress.XtraBars.v18.1" />
|
||||
@ -86,6 +87,8 @@
|
||||
<Compile Include="Base\BaseClass.vb" />
|
||||
<Compile Include="ClassClipboardWatcher.vb" />
|
||||
<Compile Include="ClassInit.vb" />
|
||||
<Compile Include="Common\ClassCommon.vb" />
|
||||
<Compile Include="Common\ClassCommonQueries.vb" />
|
||||
<Compile Include="Config\ClassConfig.vb" />
|
||||
<Compile Include="ClassConstants.vb" />
|
||||
<Compile Include="ClassEnvironment.vb" />
|
||||
@ -111,6 +114,12 @@
|
||||
<Compile Include="frmFlowForm.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.Designer.vb">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmSettings.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmSplash.Designer.vb">
|
||||
<DependentUpon>frmSplash.vb</DependentUpon>
|
||||
</Compile>
|
||||
@ -123,6 +132,7 @@
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="MyApplication.vb" />
|
||||
<Compile Include="State\ClassModuleState.vb" />
|
||||
<Compile Include="State\ClassServiceState.vb" />
|
||||
<Compile Include="State\ClassUserState.vb" />
|
||||
<EmbeddedResource Include="frmConfigDatabase.resx">
|
||||
@ -134,6 +144,9 @@
|
||||
<EmbeddedResource Include="frmFlowForm.resx">
|
||||
<DependentUpon>frmFlowForm.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmSettings.resx">
|
||||
<DependentUpon>frmSettings.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmSplash.resx">
|
||||
<DependentUpon>frmSplash.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -185,6 +198,10 @@
|
||||
<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>
|
||||
|
||||
@ -1,8 +1,17 @@
|
||||
Public Class frmFlowForm
|
||||
Private WithEvents Watcher As ClassClipboardWatcher = ClassClipboardWatcher.Singleton
|
||||
Private ActiveModules As List(Of String)
|
||||
|
||||
Public Event ClipboardChanged As EventHandler(Of IDataObject)
|
||||
|
||||
Public Sub New(ActiveModules As List(Of String))
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
Me.ActiveModules = ActiveModules
|
||||
End Sub
|
||||
|
||||
Private Sub frmFlowForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
AllowDrop = True
|
||||
ShowInTaskbar = False
|
||||
@ -11,6 +20,9 @@
|
||||
End Sub
|
||||
|
||||
Private Sub frmFlowForm_DragOver(sender As Object, e As DragEventArgs) Handles Me.DragOver
|
||||
If ActiveModules.Contains(ClassConstants.MODULE_GLOBAL_INDEXER) Then
|
||||
e.Effect = DragDropEffects.None
|
||||
Else
|
||||
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
||||
' Handle file dragged from Windows
|
||||
e.Effect = DragDropEffects.Copy
|
||||
@ -27,6 +39,7 @@
|
||||
' Otherwise, do not handle
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub frmFlowForm_DragLeave(sender As Object, e As EventArgs) Handles Me.DragLeave
|
||||
@ -34,7 +47,9 @@
|
||||
End Sub
|
||||
|
||||
Private Sub Watcher_ClipboardChanged(sender As Object, e As IDataObject) Handles Watcher.ClipboardChanged
|
||||
If ActiveModules.Contains(ClassConstants.MODULE_CLIPBOARDWATCHER) Then
|
||||
RaiseEvent ClipboardChanged(sender, e)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
|
||||
55
ZooFlow/frmMain.Designer.vb
generated
55
ZooFlow/frmMain.Designer.vb
generated
@ -24,35 +24,68 @@
|
||||
''' the contents of this method with the code editor.
|
||||
''' </summary>
|
||||
Private Sub InitializeComponent()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim SplashScreenManager As DevExpress.XtraSplashScreen.SplashScreenManager = New DevExpress.XtraSplashScreen.SplashScreenManager(Me, GetType(Global.ZooFlow.frmSplash), True, True)
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
|
||||
Me.ribbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||
Me.ApplicationMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
|
||||
Me.ButtonSettings = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.ButtonExit = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.ribbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.ribbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.NotifyIconMain = New System.Windows.Forms.NotifyIcon()
|
||||
Me.ContextMenuStripMain = New System.Windows.Forms.ContextMenuStrip()
|
||||
Me.NotifyIconMain = New System.Windows.Forms.NotifyIcon(Me.components)
|
||||
Me.ContextMenuStripMain = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.AnzeigenVersteckenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.AdministrationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToastNotificationsManager = New DevExpress.XtraBars.ToastNotifications.ToastNotificationsManager()
|
||||
Me.ToastNotificationsManager = New DevExpress.XtraBars.ToastNotifications.ToastNotificationsManager(Me.components)
|
||||
Me.SkinDropDownButtonItem1 = New DevExpress.XtraBars.SkinDropDownButtonItem()
|
||||
CType(Me.ribbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.ApplicationMenu, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.ContextMenuStripMain.SuspendLayout()
|
||||
CType(Me.ToastNotificationsManager, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'SplashScreenManager
|
||||
'
|
||||
SplashScreenManager.ClosingDelay = 500
|
||||
'
|
||||
'ribbonControl1
|
||||
'
|
||||
Me.ribbonControl1.ApplicationButtonDropDownControl = Me.ApplicationMenu
|
||||
Me.ribbonControl1.ExpandCollapseItem.Id = 0
|
||||
Me.ribbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonControl1.ExpandCollapseItem})
|
||||
Me.ribbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonControl1.ExpandCollapseItem, Me.ButtonSettings, Me.ButtonExit, Me.SkinDropDownButtonItem1})
|
||||
Me.ribbonControl1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.ribbonControl1.MaxItemId = 1
|
||||
Me.ribbonControl1.MaxItemId = 4
|
||||
Me.ribbonControl1.Name = "ribbonControl1"
|
||||
Me.ribbonControl1.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1)
|
||||
Me.ribbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.ribbonPage1})
|
||||
Me.ribbonControl1.Size = New System.Drawing.Size(906, 143)
|
||||
'
|
||||
'ApplicationMenu
|
||||
'
|
||||
Me.ApplicationMenu.ItemLinks.Add(Me.ButtonSettings)
|
||||
Me.ApplicationMenu.ItemLinks.Add(Me.ButtonExit)
|
||||
Me.ApplicationMenu.Name = "ApplicationMenu"
|
||||
Me.ApplicationMenu.Ribbon = Me.ribbonControl1
|
||||
'
|
||||
'ButtonSettings
|
||||
'
|
||||
Me.ButtonSettings.Caption = "Einstellungen"
|
||||
Me.ButtonSettings.Id = 1
|
||||
Me.ButtonSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.ButtonSettings.Name = "ButtonSettings"
|
||||
'
|
||||
'ButtonExit
|
||||
'
|
||||
Me.ButtonExit.Caption = "Beenden"
|
||||
Me.ButtonExit.Id = 2
|
||||
Me.ButtonExit.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.ButtonExit.Name = "ButtonExit"
|
||||
'
|
||||
'ribbonPage1
|
||||
'
|
||||
Me.ribbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.ribbonPageGroup1})
|
||||
@ -119,9 +152,10 @@
|
||||
"ncididunt ut labore et dolore magna aliqua.", "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor i" &
|
||||
"ncididunt ut labore et dolore magna aliqua.", DevExpress.XtraBars.ToastNotifications.ToastNotificationTemplate.Text01)})
|
||||
'
|
||||
'SplashScreenManager
|
||||
'SkinDropDownButtonItem1
|
||||
'
|
||||
SplashScreenManager.ClosingDelay = 500
|
||||
Me.SkinDropDownButtonItem1.Id = 3
|
||||
Me.SkinDropDownButtonItem1.Name = "SkinDropDownButtonItem1"
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
@ -133,6 +167,7 @@
|
||||
Me.Ribbon = Me.ribbonControl1
|
||||
Me.Text = "Zoo Flow"
|
||||
CType(Me.ribbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.ApplicationMenu, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ContextMenuStripMain.ResumeLayout(False)
|
||||
CType(Me.ToastNotificationsManager, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
@ -154,4 +189,8 @@
|
||||
Friend WithEvents BeendenToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents AnzeigenVersteckenToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents ToastNotificationsManager As DevExpress.XtraBars.ToastNotifications.ToastNotificationsManager
|
||||
Friend WithEvents ApplicationMenu As DevExpress.XtraBars.Ribbon.ApplicationMenu
|
||||
Friend WithEvents ButtonSettings As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents ButtonExit As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents SkinDropDownButtonItem1 As DevExpress.XtraBars.SkinDropDownButtonItem
|
||||
End Class
|
||||
|
||||
@ -117,13 +117,121 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="NotifyIconMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ContextMenuStripMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>153, 17</value>
|
||||
<metadata name="ApplicationMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>702, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
X9ttAMYAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="NotifyIconMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>189, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ContextMenuStripMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>325, 17</value>
|
||||
</metadata>
|
||||
<data name="NotifyIconMain.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAQAEBAAAAEACABoBQAARgAAABAQAAABABgAaAMAAK4FAAAgIAAAAQAIAKgIAAAWCQAAICAAAAEA
|
||||
@ -259,6 +367,6 @@
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ToastNotificationsManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>331, 17</value>
|
||||
<value>503, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@ -3,24 +3,41 @@ Imports DevExpress.XtraSplashScreen
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Filesystem
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DevExpress.LookAndFeel
|
||||
Imports ZooFlow.ClassConstants
|
||||
|
||||
Partial Public Class frmMain
|
||||
Private WithEvents FlowForm As New frmFlowForm()
|
||||
Private WithEvents FlowForm As frmFlowForm
|
||||
Private Init As ClassInit
|
||||
Private Loading As Boolean = True
|
||||
Private Logger As Logger = My.LogConfig.GetLogger
|
||||
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Dim oInit As New ClassInit(Me)
|
||||
oInit.InitializeApplication()
|
||||
' === Initialization ===
|
||||
Init = New ClassInit(My.LogConfig, Me)
|
||||
AddHandler Init.Completed, AddressOf Init_Completed
|
||||
Init.InitializeApplication()
|
||||
|
||||
' === Layout and Skin ===
|
||||
UserLookAndFeel.Default.SetSkinStyle(My.UIConfig.SkinName)
|
||||
End Sub
|
||||
|
||||
Private Sub Init_Completed(sender As Object, e As EventArgs)
|
||||
' Initialization Complete
|
||||
Loading = False
|
||||
SplashScreenManager.CloseForm(False)
|
||||
|
||||
' Setup Flow Form
|
||||
FlowForm = New frmFlowForm(My.Application.ModulesActive)
|
||||
FlowForm.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
Hide()
|
||||
FlowForm.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub FlowForm_ClipboardChanged(sender As Object, e As IDataObject) Handles FlowForm.ClipboardChanged
|
||||
@ -50,20 +67,27 @@ Partial Public Class frmMain
|
||||
Hide()
|
||||
Else
|
||||
Show()
|
||||
BringToFront()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub ProgressChanged(sender As Object, Progress As ClassInitLoader.InitProgress)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetProgress, Progress.CurrentPercent)
|
||||
SplashScreenManager.Default.SendCommand(frmSplash.SplashScreenCommand.SetActionName, Progress.CurrentStep.Name)
|
||||
End Sub
|
||||
|
||||
Private Sub InitCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
|
||||
SplashScreenManager.CloseForm(False)
|
||||
Private Sub ButtonSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles ButtonSettings.ItemClick
|
||||
frmSettings.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonExit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles ButtonExit.ItemClick
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_StyleChanged(sender As Object, e As EventArgs) Handles Me.StyleChanged
|
||||
If Loading = False Then
|
||||
My.UIConfig.SkinName = LookAndFeel.ActiveSkinName
|
||||
My.UIConfigManager.Save()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
34
ZooFlow/frmSettings.Designer.vb
generated
Normal file
34
ZooFlow/frmSettings.Designer.vb
generated
Normal file
@ -0,0 +1,34 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmSettings
|
||||
Inherits DevExpress.XtraEditors.XtraForm
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'frmSettings
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(784, 419)
|
||||
Me.Name = "frmSettings"
|
||||
Me.Text = "frmSettings"
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
120
ZooFlow/frmSettings.resx
Normal file
120
ZooFlow/frmSettings.resx
Normal 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>
|
||||
3
ZooFlow/frmSettings.vb
Normal file
3
ZooFlow/frmSettings.vb
Normal file
@ -0,0 +1,3 @@
|
||||
Public Class frmSettings
|
||||
|
||||
End Class
|
||||
Loading…
x
Reference in New Issue
Block a user