From 004b45fa39b0558810b37e7b6f4d10e7b0babfb4 Mon Sep 17 00:00:00 2001 From: Developer02 Digital Data Date: Tue, 15 Oct 2019 16:17:08 +0200 Subject: [PATCH] work on result lists for clipboard watcher --- .../DataResultList/DataResultConfig.vb | 6 +- .../frmDataResultList.Designer.vb | 40 +++--- .../DataResultList/frmDataResultList.resx | 40 +++--- .../DataResultList/frmDataResultList.vb | 51 +++++++- .../DocumentResultConfig.vb | 6 +- .../frmDocumentResultList.Designer.vb | 3 - .../frmDocumentResultList.vb | 33 ++++- Modules.Language/Language.vbproj | 2 + Modules.Language/Utils.vb | 45 ++++++- .../Utils/My Project/Application.Designer.vb | 13 ++ .../Utils/My Project/Application.myapp | 10 ++ .../Utils/My Project/AssemblyInfo.vb | 35 ++++++ .../Utils/My Project/Resources.Designer.vb | 62 ++++++++++ Modules.Utils/Utils/My Project/Resources.resx | 117 ++++++++++++++++++ .../Utils/My Project/Settings.Designer.vb | 73 +++++++++++ .../Utils/My Project/Settings.settings | 7 ++ Modules.Utils/Utils/Utils.vbproj | 105 ++++++++++++++++ Modules.Utils/Utils/Window.vb | 6 + 18 files changed, 602 insertions(+), 52 deletions(-) create mode 100644 Modules.Utils/Utils/My Project/Application.Designer.vb create mode 100644 Modules.Utils/Utils/My Project/Application.myapp create mode 100644 Modules.Utils/Utils/My Project/AssemblyInfo.vb create mode 100644 Modules.Utils/Utils/My Project/Resources.Designer.vb create mode 100644 Modules.Utils/Utils/My Project/Resources.resx create mode 100644 Modules.Utils/Utils/My Project/Settings.Designer.vb create mode 100644 Modules.Utils/Utils/My Project/Settings.settings create mode 100644 Modules.Utils/Utils/Utils.vbproj create mode 100644 Modules.Utils/Utils/Window.vb diff --git a/GUIs.Common/DataResultList/DataResultConfig.vb b/GUIs.Common/DataResultList/DataResultConfig.vb index b059f79e..22d10013 100644 --- a/GUIs.Common/DataResultList/DataResultConfig.vb +++ b/GUIs.Common/DataResultList/DataResultConfig.vb @@ -1,4 +1,8 @@ -Public Class DataResultConfig +Imports System.Drawing + +Public Class DataResultConfig + Public Property WindowLocation As Point + Public Property WindowSize As Size Public Property SplitContainer1Distance As Integer = 500 Public Property SplitContainer1Horizontal As Boolean = True Public Property SplitContainer2Distance As Integer = 250 diff --git a/GUIs.Common/DataResultList/frmDataResultList.Designer.vb b/GUIs.Common/DataResultList/frmDataResultList.Designer.vb index 48d53e9f..55b2378d 100644 --- a/GUIs.Common/DataResultList/frmDataResultList.Designer.vb +++ b/GUIs.Common/DataResultList/frmDataResultList.Designer.vb @@ -29,7 +29,9 @@ Partial Class frmDataResultList Me.SwitchDetailContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem() Me.labelResultCount = New DevExpress.XtraBars.BarStaticItem() Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() @@ -47,8 +49,6 @@ Partial Class frmDataResultList Me.GridBand3 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.XtraSaveFileDialog = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components) - Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.SuspendLayout() @@ -100,12 +100,27 @@ Partial Class frmDataResultList Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonItem1.Name = "BarButtonItem1" ' + 'BarButtonItem2 + ' + Me.BarButtonItem2.Caption = "Zurück" + Me.BarButtonItem2.Id = 5 + Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem2.Name = "BarButtonItem2" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4, Me.RibbonPageGroup2, Me.RibbonPageGroup3}) Me.RibbonPage1.Name = "RibbonPage1" Me.RibbonPage1.Text = "Ergebnisse" ' + 'RibbonPageGroup4 + ' + Me.RibbonPageGroup4.AllowTextClipping = False + Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem2) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + Me.RibbonPageGroup4.Text = "Navigation" + ' 'RibbonPageGroup2 ' Me.RibbonPageGroup2.ItemLinks.Add(Me.SwitchMainContainerHorizontal) @@ -163,7 +178,7 @@ Partial Class frmDataResultList Me.GridView1.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand1}) Me.GridView1.GridControl = Me.GridControl1 Me.GridView1.Name = "GridView1" - Me.GridView1.OptionsView.ShowGroupPanel = False + Me.GridView1.OptionsView.ShowAutoFilterRow = True ' 'GridBand1 ' @@ -205,7 +220,7 @@ Partial Class frmDataResultList Me.GridView2.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand2}) Me.GridView2.GridControl = Me.GridControl2 Me.GridView2.Name = "GridView2" - Me.GridView2.OptionsView.ShowGroupPanel = False + Me.GridView2.OptionsView.ShowAutoFilterRow = True ' 'GridBand2 ' @@ -231,7 +246,7 @@ Partial Class frmDataResultList Me.GridView3.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand3}) Me.GridView3.GridControl = Me.GridControl3 Me.GridView3.Name = "GridView3" - Me.GridView3.OptionsView.ShowGroupPanel = False + Me.GridView3.OptionsView.ShowAutoFilterRow = True ' 'GridBand3 ' @@ -250,21 +265,6 @@ Partial Class frmDataResultList ' Me.XtraSaveFileDialog.FileName = "XtraSaveFileDialog1" ' - 'RibbonPageGroup4 - ' - Me.RibbonPageGroup4.AllowTextClipping = False - Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem2) - Me.RibbonPageGroup4.Name = "RibbonPageGroup4" - Me.RibbonPageGroup4.Text = "Navigation" - ' - 'BarButtonItem2 - ' - Me.BarButtonItem2.Caption = "Zurück" - Me.BarButtonItem2.Id = 5 - Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) - Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image) - Me.BarButtonItem2.Name = "BarButtonItem2" - ' 'frmDataResultList ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/GUIs.Common/DataResultList/frmDataResultList.resx b/GUIs.Common/DataResultList/frmDataResultList.resx index 5c3aeabd..e92a94e9 100644 --- a/GUIs.Common/DataResultList/frmDataResultList.resx +++ b/GUIs.Common/DataResultList/frmDataResultList.resx @@ -141,30 +141,30 @@ - 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 diff --git a/GUIs.Common/DataResultList/frmDataResultList.vb b/GUIs.Common/DataResultList/frmDataResultList.vb index 6393bf3b..5c2deb7a 100644 --- a/GUIs.Common/DataResultList/frmDataResultList.vb +++ b/GUIs.Common/DataResultList/frmDataResultList.vb @@ -10,13 +10,14 @@ Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.Language Imports DevExpress.XtraPrinting Imports DigitalData.GUIs.Common +Imports System.ComponentModel Public Class frmDataResultList Implements IResultForm Private _LogConfig As LogConfig Private _Logger As Logger - Private _Config As Object + Private _Config As ConfigManager(Of DataResultConfig) Private _Environment As Environment Private _Params As DataResultParams Private _ResultLists As List(Of DataResult) @@ -33,11 +34,11 @@ Public Class frmDataResultList InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "DocumentResultList", Params.WindowGuid) + Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "ResultList", Params.WindowGuid) _LogConfig = LogConfig _Logger = LogConfig.GetLogger() - _Config = New ConfigManager(Of DocumentResultConfig)(LogConfig, oConfigPath) + _Config = New ConfigManager(Of DataResultConfig)(LogConfig, oConfigPath) _Environment = Environment _Params = Params _ResultLists = Params.Results @@ -53,6 +54,15 @@ Public Class frmDataResultList SplitContainerControl2.SplitterPosition = _Config.Config.SplitContainer2Distance SwitchDetailContainerHorizontal.Checked = _Config.Config.SplitContainer2Horizontal + If Utils.IsVisibleOnAnyScreen(_Config.Config.WindowLocation) Then + If Utils.LocationIsVisible(_Config.Config.WindowLocation) Then + Location = _Config.Config.WindowLocation + End If + If Utils.SizeIsVisible(_Config.Config.WindowSize) Then + Size = _Config.Config.WindowSize + End If + End If + AddHandler GridView1.FocusedRowChanged, AddressOf GridView_FocusedRowChanged AddHandler GridView2.FocusedRowChanged, AddressOf GridView_FocusedRowChanged AddHandler GridView3.FocusedRowChanged, AddressOf GridView_FocusedRowChanged @@ -94,8 +104,13 @@ Public Class frmDataResultList Case 1 SplitContainerControl1.SetPanelCollapsed(True) SplitContainerControl2.SetPanelCollapsed(True) + + SwitchMainContainerHorizontal.Enabled = False + SwitchDetailContainerHorizontal.Enabled = False Case 2 SplitContainerControl2.SetPanelCollapsed(True) + + SwitchDetailContainerHorizontal.Enabled = False End Select Catch ex As Exception _Logger.Error(ex) @@ -213,6 +228,8 @@ Public Class frmDataResultList } oActiveGrid.ExportToXlsx(XtraSaveFileDialog.FileName, oOptions) End If + Else + MessageBox.Show("Bitte wählen Sie eine Tabelle aus, die Sie exportieren möchten", Text, MessageBoxButtons.OK) End If End Sub @@ -220,4 +237,32 @@ Public Class frmDataResultList ShouldReturnToMatchForm = True Close() End Sub + + Private Sub SwitchMainContainerHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchMainContainerHorizontal.CheckedChanged + SplitContainerControl1.Horizontal = SwitchMainContainerHorizontal.Checked + + If _Config IsNot Nothing And _IsLoading = False Then + _Config.Config.SplitContainer1Horizontal = SwitchMainContainerHorizontal.Checked + _Config.Save() + End If + End Sub + + Private Sub SwitchDetailContainerHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchDetailContainerHorizontal.CheckedChanged + SplitContainerControl2.Horizontal = SwitchDetailContainerHorizontal.Checked + + If _Config IsNot Nothing And _IsLoading = False Then + _Config.Config.SplitContainer2Horizontal = SwitchDetailContainerHorizontal.Checked + _Config.Save() + End If + End Sub + + Private Sub frmDataResultList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + Try + _Config.Config.WindowLocation = Location + _Config.Config.WindowSize = Size + _Config.Save() + Catch ex As Exception + _Logger.Error(ex) + End Try + End Sub End Class \ No newline at end of file diff --git a/GUIs.Common/DocumentResultList/DocumentResultConfig.vb b/GUIs.Common/DocumentResultList/DocumentResultConfig.vb index 5cb4bfda..72061369 100644 --- a/GUIs.Common/DocumentResultList/DocumentResultConfig.vb +++ b/GUIs.Common/DocumentResultList/DocumentResultConfig.vb @@ -1,4 +1,8 @@ -Public Class DocumentResultConfig +Imports System.Drawing + +Public Class DocumentResultConfig + Public Property WindowLocation As Point + Public Property WindowSize As Size Public Property SplitContainer1Distance As Integer = 500 Public Property SplitContainer1Horizontal As Boolean = True Public Property SplitContainer2Distance As Integer = 250 diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb index 1aae72a2..f06a0191 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb @@ -249,7 +249,6 @@ Partial Class frmDocumentResultList Me.GridView1.GridControl = Me.GridControl1 Me.GridView1.Name = "GridView1" Me.GridView1.OptionsView.ShowAutoFilterRow = True - Me.GridView1.OptionsView.ShowGroupPanel = False ' 'GridBand1 ' @@ -298,7 +297,6 @@ Partial Class frmDocumentResultList Me.GridView2.GridControl = Me.GridControl2 Me.GridView2.Name = "GridView2" Me.GridView2.OptionsView.ShowAutoFilterRow = True - Me.GridView2.OptionsView.ShowGroupPanel = False ' 'GridBand2 ' @@ -330,7 +328,6 @@ Partial Class frmDocumentResultList Me.GridView3.GridControl = Me.GridControl3 Me.GridView3.Name = "GridView3" Me.GridView3.OptionsView.ShowAutoFilterRow = True - Me.GridView3.OptionsView.ShowGroupPanel = False ' 'GridBand3 ' diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb index 4e1283ec..ca530b2d 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb @@ -12,7 +12,7 @@ Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.Language Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.BandedGrid -Imports DigitalData.GUIs.Common +Imports System.ComponentModel Public Class frmDocumentResultList Implements IResultForm @@ -42,7 +42,7 @@ Public Class frmDocumentResultList InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "DocumentResultList", Params.WindowGuid) + Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "ResultList", Params.WindowGuid) _LogConfig = LogConfig _Logger = LogConfig.GetLogger() @@ -62,6 +62,15 @@ Public Class frmDocumentResultList SplitContainerControl2.SplitterPosition = _Config.Config.SplitContainer2Distance SwitchDetailContainerHorizontal.Checked = _Config.Config.SplitContainer2Horizontal + If Utils.IsVisibleOnAnyScreen(_Config.Config.WindowLocation) Then + If Utils.LocationIsVisible(_Config.Config.WindowLocation) Then + Location = _Config.Config.WindowLocation + End If + If Utils.SizeIsVisible(_Config.Config.WindowSize) Then + Size = _Config.Config.WindowSize + End If + End If + ' Initialize Viewer with GDPicture.NET License DocumentViewer1.Init(_LogConfig, _Environment.Settings.GdPictureKey) @@ -105,8 +114,13 @@ Public Class frmDocumentResultList Case 1 SplitContainerControl1.SetPanelCollapsed(True) SplitContainerControl2.SetPanelCollapsed(True) + + SwitchMainContainerHorizontal.Enabled = False + SwitchDetailContainerHorizontal.Enabled = False Case 2 SplitContainerControl2.SetPanelCollapsed(True) + + SwitchDetailContainerHorizontal.Enabled = False End Select Catch ex As Exception _Logger.Error(ex) @@ -297,7 +311,7 @@ Public Class frmDocumentResultList End If End Sub - Private Sub BarToggleSwitchItem2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchDetailContainerHorizontal.CheckedChanged + Private Sub SwitchDetailContainerHorizontal2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchDetailContainerHorizontal.CheckedChanged SplitContainerControl2.Horizontal = SwitchDetailContainerHorizontal.Checked If _Config IsNot Nothing And _IsLoading = False Then @@ -321,6 +335,9 @@ Public Class frmDocumentResultList } oActiveGrid.ExportToXlsx(XtraSaveFileDialog.FileName, oOptions) End If + + Else + MessageBox.Show("Bitte wählen Sie eine Tabelle aus, die Sie exportieren möchten", Text, MessageBoxButtons.OK) End If End Sub @@ -467,4 +484,14 @@ Public Class frmDocumentResultList ShouldReturnToMatchForm = True Close() End Sub + + Private Sub frmDocumentResultList_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + Try + _Config.Config.WindowLocation = Location + _Config.Config.WindowSize = Size + _Config.Save() + Catch ex As Exception + _Logger.Error(ex) + End Try + End Sub End Class \ No newline at end of file diff --git a/Modules.Language/Language.vbproj b/Modules.Language/Language.vbproj index 39baf8e1..87f6e6f8 100644 --- a/Modules.Language/Language.vbproj +++ b/Modules.Language/Language.vbproj @@ -50,10 +50,12 @@ + + diff --git a/Modules.Language/Utils.vb b/Modules.Language/Utils.vb index decf8753..53a7fbe4 100644 --- a/Modules.Language/Utils.vb +++ b/Modules.Language/Utils.vb @@ -1,4 +1,6 @@ -Imports System.Text +Imports System.Drawing +Imports System.Text +Imports System.Windows.Forms ''' ''' Provides common utility functions that do not require a specific context. ''' @@ -63,4 +65,45 @@ Public Class Utils If oWasHyphen AndAlso oBuilder.Length > 0 Then oBuilder.Length -= 1 Return oBuilder.ToString() End Function + + ''' + ''' Checks if a point is Visible on any screen + ''' + Public Shared Function IsVisibleOnAnyScreen(Location As Point) As Boolean + Try + Dim oRect As New Rectangle(Location, New Size(0, 0)) + + For Each oScreen In Screen.AllScreens + If oScreen.WorkingArea.IntersectsWith(oRect) Then + Return True + End If + Next + + Return False + Catch ex As Exception + Return False + End Try + End Function + + ''' + ''' Checks if Size is not negative + ''' + Public Shared Function SizeIsVisible(Size As Size) As Boolean + If Size.Width >= 0 And Size.Height >= 0 Then + Return True + End If + + Return False + End Function + + ''' + ''' Checks if Location is not negative + ''' + Public Shared Function LocationIsVisible(Location As Point) As Boolean + If Location.X >= 0 And Location.Y >= 0 Then + Return True + End If + + Return False + End Function End Class diff --git a/Modules.Utils/Utils/My Project/Application.Designer.vb b/Modules.Utils/Utils/My Project/Application.Designer.vb new file mode 100644 index 00000000..88dd01c7 --- /dev/null +++ b/Modules.Utils/Utils/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/Modules.Utils/Utils/My Project/Application.myapp b/Modules.Utils/Utils/My Project/Application.myapp new file mode 100644 index 00000000..758895de --- /dev/null +++ b/Modules.Utils/Utils/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/Modules.Utils/Utils/My Project/AssemblyInfo.vb b/Modules.Utils/Utils/My Project/AssemblyInfo.vb new file mode 100644 index 00000000..502a463c --- /dev/null +++ b/Modules.Utils/Utils/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die einer Assembly zugeordnet sind. + +' Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/Modules.Utils/Utils/My Project/Resources.Designer.vb b/Modules.Utils/Utils/My Project/Resources.Designer.vb new file mode 100644 index 00000000..6928a731 --- /dev/null +++ b/Modules.Utils/Utils/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Utils.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Modules.Utils/Utils/My Project/Resources.resx b/Modules.Utils/Utils/My Project/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/Modules.Utils/Utils/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Modules.Utils/Utils/My Project/Settings.Designer.vb b/Modules.Utils/Utils/My Project/Settings.Designer.vb new file mode 100644 index 00000000..9a74dd93 --- /dev/null +++ b/Modules.Utils/Utils/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Utils.My.MySettings + Get + Return Global.Utils.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Modules.Utils/Utils/My Project/Settings.settings b/Modules.Utils/Utils/My Project/Settings.settings new file mode 100644 index 00000000..85b890b3 --- /dev/null +++ b/Modules.Utils/Utils/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Modules.Utils/Utils/Utils.vbproj b/Modules.Utils/Utils/Utils.vbproj new file mode 100644 index 00000000..cff5b3fb --- /dev/null +++ b/Modules.Utils/Utils/Utils.vbproj @@ -0,0 +1,105 @@ + + + + + Debug + AnyCPU + {E891AB56-35BC-419E-8254-816A1C6A6661} + Library + Utils + Utils + 512 + Windows + v4.6.1 + + + true + full + true + true + bin\Debug\ + Utils.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + Utils.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + \ No newline at end of file diff --git a/Modules.Utils/Utils/Window.vb b/Modules.Utils/Utils/Window.vb new file mode 100644 index 00000000..b1e01ae6 --- /dev/null +++ b/Modules.Utils/Utils/Window.vb @@ -0,0 +1,6 @@ +Imports System.Drawing +Imports System.Windows.Forms + +Public Class Window + +End Class