Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.resx =================================================================== diff -u --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.resx (revision 0) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.resx (revision 1926) @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj =================================================================== diff -u -r1925 -r1926 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj (.../Laser Gravering.vbproj) (revision 1925) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj (.../Laser Gravering.vbproj) (revision 1926) @@ -28,7 +28,7 @@ false true 1 - 1.3.0.%2a + 1.4.0.%2a false true true @@ -154,6 +154,12 @@ Form + + KeyboardScherm.vb + + + UserControl + LaserOpdrachtDetailsScherm.vb @@ -205,6 +211,9 @@ FormHoofdscherm.vb + + KeyboardScherm.vb + LaserOpdrachtDetailsScherm.vb Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.Designer.vb =================================================================== diff -u --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.Designer.vb (revision 0) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.Designer.vb (revision 1926) @@ -0,0 +1,55 @@ + _ +Partial Class KeyboardScherm + Inherits System.Windows.Forms.UserControl + + 'UserControl overrides dispose to clean up the component list. + _ + 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 + + '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. + _ + Private Sub InitializeComponent() + Me.TextBoxInput = New System.Windows.Forms.TextBox() + Me.SuspendLayout + ' + 'TextBoxInput + ' + Me.TextBoxInput.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.TextBoxInput.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper + Me.TextBoxInput.Font = New System.Drawing.Font("Microsoft Sans Serif", 40!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.TextBoxInput.ForeColor = System.Drawing.Color.Maroon + Me.TextBoxInput.Location = New System.Drawing.Point(0, 0) + Me.TextBoxInput.Name = "TextBoxInput" + Me.TextBoxInput.ReadOnly = true + Me.TextBoxInput.Size = New System.Drawing.Size(619, 68) + Me.TextBoxInput.TabIndex = 1 + ' + 'KeyboardScherm + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.TextBoxInput) + Me.Name = "KeyboardScherm" + Me.Size = New System.Drawing.Size(621, 70) + Me.ResumeLayout(false) + Me.PerformLayout + +End Sub + + Friend WithEvents TextBoxInput As TextBox +End Class Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb =================================================================== diff -u -r1925 -r1926 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb (.../FormHoofdscherm.vb) (revision 1925) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb (.../FormHoofdscherm.vb) (revision 1926) @@ -1,4 +1,4 @@ -'Robin De Bock Created:27/07/2018 Changed:24/08/2020 +'Robin De Bock Created:27/07/2018 Changed:28/08/2020 Imports System.ComponentModel Imports System.Threading Imports Autofac @@ -32,6 +32,7 @@ FlowLayoutPanelSchermen.Controls.Add(New LaserOpdrachtDetailsScherm) FlowLayoutPanelSchermen.Controls.Add(New LaserOpdrachtOpzoekSelecteerStatus) + FlowLayoutPanelSchermen.Controls.Add(new KeyboardScherm) Catch mbcEx As MissingBaseConfigFileException 'Laat de gebruiker een config bestand kiezen @@ -44,6 +45,7 @@ Private Sub FormHoofdscherm_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing _keyboardSubject.RemoveObserver(Me) + _controller.RemoveObserver(Me) End Sub #Region "Input observeren" Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb =================================================================== diff -u -r1925 -r1926 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb (.../LaserOpdrachtDetailsScherm.vb) (revision 1925) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb (.../LaserOpdrachtDetailsScherm.vb) (revision 1926) @@ -6,7 +6,7 @@ Private _controller As ILaseropdrachtController - Private Sub LaserOpdrachtDetailsScherm_Load(sender As Object, e As EventArgs) Handles Me.Load + Private Sub SubScherm_Load(sender As Object, e As EventArgs) Handles Me.Load Try ' Kan geen dependecy injection doen via constructor in een WinForm Using scope = My.MyApplication.Container.BeginLifetimeScope() @@ -20,7 +20,7 @@ End Try End Sub - Private Sub LaserOpdrachtDetailsScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed + Private Sub SubScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed _controller.RemoveObserver(Me) End Sub Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/LaseropdrachtController.vb =================================================================== diff -u -r1924 -r1926 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/LaseropdrachtController.vb (.../LaseropdrachtController.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Domein/LaseropdrachtController.vb (.../LaseropdrachtController.vb) (revision 1926) @@ -29,8 +29,8 @@ Throw New Exception("De input mag niet leeg zijn.") End If Try - _laserOpdracht = _cacheMapper.GeefInfoMetBarcodeId("ZCV42L90105") - '_laserOpdracht = _cacheMapper.GeefInfoMetBarcodeId(input) + '_laserOpdracht = _cacheMapper.GeefInfoMetBarcodeId("ZCV42L90105") + _laserOpdracht = _cacheMapper.GeefInfoMetBarcodeId(input) NotifyObservers(_laserOpdracht) Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb =================================================================== diff -u -r1925 -r1926 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb (.../LaserOpdrachtOpzoekSelecteerStatus.vb) (revision 1925) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb (.../LaserOpdrachtOpzoekSelecteerStatus.vb) (revision 1926) @@ -6,7 +6,7 @@ Private _controller As ILaseropdrachtController - Private Sub LaserOpdrachtDetailsScherm_Load(sender As Object, e As EventArgs) Handles Me.Load + Private Sub SubScherm_Load(sender As Object, e As EventArgs) Handles Me.Load Try ' Kan geen dependecy injection doen via constructor in een WinForm Using scope = My.MyApplication.Container.BeginLifetimeScope() @@ -20,7 +20,7 @@ End Try End Sub - Private Sub LaserOpdrachtDetailsScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed + Private Sub SubScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed _controller.RemoveObserver(Me) End Sub Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.vb =================================================================== diff -u --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.vb (revision 0) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/KeyboardScherm.vb (revision 1926) @@ -0,0 +1,38 @@ +Imports Autofac +Imports Laser_Gravering.Util + +Public Class KeyboardScherm + Implements IObserver + + Private _keyboardSubject As IKeyboardSubject + + Private Sub SubScherm_Load(sender As Object, e As EventArgs) Handles Me.Load + Try + ' Kan geen dependecy injection doen via constructor in een WinForm + Using scope = My.MyApplication.Container.BeginLifetimeScope() + _keyboardSubject = scope.Resolve(Of IKeyboardSubject)() + End Using + + 'Subscriben + _keyboardSubject.AddObserver(Me) + Catch ex As Exception + ToonError(ex) + End Try + End Sub + + Private Sub SubScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed + _keyboardSubject.RemoveObserver(Me) + End Sub + + Public Sub UpdateObserver(sender As ISubject, Optional o As Object = Nothing) Implements IObserver.UpdateObserver + If Not TypeOf o Is IKeyboardSubject Then + Throw New Exception($"{Me.GetType().Name} ondersteunt enkel {NameOf(IKeyboardSubject)}") + End If + + Dim keyboardSubject As IKeyboardSubject = sender + If keyboardSubject.TekstState = KeyBoardSubjectTekstStateEnum.Tekst Then + 'Tekst tonen + TextBoxInput.Text = keyboardSubject.Tekst + End If + End Sub +End Class