Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.Designer.vb =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.Designer.vb (.../FormHoofdscherm.Designer.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.Designer.vb (.../FormHoofdscherm.Designer.vb) (revision 1925) @@ -97,7 +97,7 @@ Me.Panel1.Controls.Add(Me.ProgressBarOpzoeken) Me.Panel1.Location = New System.Drawing.Point(138, 93) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(1349, 727) + Me.Panel1.Size = New System.Drawing.Size(1534, 757) Me.Panel1.TabIndex = 73 ' 'CheckBoxObserveer @@ -120,7 +120,7 @@ ' Me.FlowLayoutPanelSchermen.Location = New System.Drawing.Point(45, 200) Me.FlowLayoutPanelSchermen.Name = "FlowLayoutPanelSchermen" - Me.FlowLayoutPanelSchermen.Size = New System.Drawing.Size(826, 447) + Me.FlowLayoutPanelSchermen.Size = New System.Drawing.Size(1474, 530) Me.FlowLayoutPanelSchermen.TabIndex = 72 ' 'FormHoofdscherm Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj (.../Laser Gravering.vbproj) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Laser Gravering.vbproj (.../Laser Gravering.vbproj) (revision 1925) @@ -154,12 +154,18 @@ Form - + LaserOpdrachtDetailsScherm.vb - + UserControl + + LaserOpdrachtOpzoekSelecteerStatus.vb + + + UserControl + @@ -199,9 +205,12 @@ FormHoofdscherm.vb - + LaserOpdrachtDetailsScherm.vb + + LaserOpdrachtOpzoekSelecteerStatus.vb + VbMyResourcesResXFileCodeGenerator Resources.Designer.vb Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb (.../FormHoofdscherm.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/FormHoofdscherm.vb (.../FormHoofdscherm.vb) (revision 1925) @@ -31,6 +31,7 @@ _keyboardSubject.AddObserver(Me) FlowLayoutPanelSchermen.Controls.Add(New LaserOpdrachtDetailsScherm) + FlowLayoutPanelSchermen.Controls.Add(New LaserOpdrachtOpzoekSelecteerStatus) Catch mbcEx As MissingBaseConfigFileException 'Laat de gebruiker een config bestand kiezen Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb (.../LaserOpdrachtOpzoekSelecteerStatus.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtOpzoekSelecteerStatus.vb (.../LaserOpdrachtOpzoekSelecteerStatus.vb) (revision 1925) @@ -1,3 +1,49 @@ -Public Class LaserOpdrachtOpzoekSelecteerStatus +Imports Autofac +Imports Laser_Gravering.Util +Public Class LaserOpdrachtOpzoekSelecteerStatus + Implements IObserver + + Private _controller As ILaseropdrachtController + + Private Sub LaserOpdrachtDetailsScherm_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() + _controller = scope.Resolve(Of ILaseropdrachtController)() + End Using + + 'Subscriben + _controller.AddObserver(Me) + Catch ex As Exception + ToonError(ex) + End Try + End Sub + + Private Sub LaserOpdrachtDetailsScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed + _controller.RemoveObserver(Me) + End Sub + + Public Sub UpdateObserver(sender As ISubject, Optional o As Object = Nothing) Implements IObserver.UpdateObserver + Dim updateGuiDelegate As UpdateGuiDelegate = AddressOf UpdateGui + Invoke(updateGuiDelegate, o) + End Sub + + Private Delegate Sub UpdateGuiDelegate(o As Object) + Private Sub UpdateGui(o As Object) + 'Er is een laseropdracht opgezocht + 'Nothing -> rood tonen + 'Aanwezig -> controleren of het wel degelijk een laseropdracht is, groen tonen + + If IsNothing(o) Then + ' Niet aanwezig, afbreken + LabelOpzoekFeedbackKleur.BackColor = Color.IndianRed + Else + ' Laseropdracht aanwezig + If Not TypeOf o Is ILaserOpdracht Then + Throw New Exception($"{Me.GetType().Name} ondersteunt enkel {NameOf(ILaserOpdracht)}") + End If + LabelOpzoekFeedbackKleur.BackColor = Color.ForestGreen + End If + End Sub End Class Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb (.../LaserOpdrachtDetailsScherm.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.vb (.../LaserOpdrachtDetailsScherm.vb) (revision 1925) @@ -20,6 +20,10 @@ End Try End Sub + Private Sub LaserOpdrachtDetailsScherm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed + _controller.RemoveObserver(Me) + End Sub + Public Sub UpdateObserver(sender As ISubject, Optional o As Object = Nothing) Implements IObserver.UpdateObserver Dim updateGuiDelegate As UpdateGuiDelegate = AddressOf UpdateGui Invoke(updateGuiDelegate, o) @@ -33,7 +37,6 @@ If IsNothing(o) Then ' Niet aanwezig, afbreken - LabelOpzoekFeedbackKleur.BackColor = Color.IndianRed Return End If @@ -43,7 +46,6 @@ End If Dim laserOpdracht As ILaserOpdracht = o - LabelOpzoekFeedbackKleur.BackColor = Color.ForestGreen TextBoxProductID.Text = laserOpdracht.ProductId TextBoxKortTekst.Text = laserOpdracht.KortTekst TextBoxLogoID.Text = laserOpdracht.LogoId Index: Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.Designer.vb =================================================================== diff -u -r1924 -r1925 --- Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.Designer.vb (.../LaserOpdrachtDetailsScherm.Designer.vb) (revision 1924) +++ Laser Gravering/nieuw/Laser Gravering_nieuw/Laser Gravering/Formulieren/subschermen/LaserOpdrachtDetailsScherm.Designer.vb (.../LaserOpdrachtDetailsScherm.Designer.vb) (revision 1925) @@ -22,7 +22,6 @@ 'Do not modify it using the code editor. _ Private Sub InitializeComponent() - Me.TextBoxProductID = New System.Windows.Forms.TextBox() Me.Label6 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() Me.TextBoxKortTekst = New System.Windows.Forms.TextBox() @@ -32,24 +31,13 @@ Me.TextBoxReferentie = New System.Windows.Forms.TextBox() Me.Label2 = New System.Windows.Forms.Label() Me.TextBoxLadeKleur = New System.Windows.Forms.TextBox() - Me.Label1 = New System.Windows.Forms.Label() Me.TextBoxBestandsnaam = New System.Windows.Forms.TextBox() Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() - Me.LabelOpzoekFeedbackKleur = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.TextBoxProductID = New System.Windows.Forms.TextBox() Me.TableLayoutPanel1.SuspendLayout Me.SuspendLayout ' - 'TextBoxProductID - ' - Me.TextBoxProductID.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) - Me.TextBoxProductID.Font = New System.Drawing.Font("Microsoft Sans Serif", 30!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) - Me.TextBoxProductID.Location = New System.Drawing.Point(213, 59) - Me.TextBoxProductID.Name = "TextBoxProductID" - Me.TextBoxProductID.ReadOnly = true - Me.TextBoxProductID.Size = New System.Drawing.Size(653, 53) - Me.TextBoxProductID.TabIndex = 70 - ' 'Label6 ' Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) @@ -149,17 +137,6 @@ Me.TextBoxLadeKleur.Size = New System.Drawing.Size(653, 53) Me.TextBoxLadeKleur.TabIndex = 74 ' - 'Label1 - ' - Me.Label1.Anchor = System.Windows.Forms.AnchorStyles.Left - Me.Label1.AutoSize = true - Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 20!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) - Me.Label1.Location = New System.Drawing.Point(3, 68) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(151, 31) - Me.Label1.TabIndex = 78 - Me.Label1.Text = "Product ID:" - ' 'TextBoxBestandsnaam ' Me.TextBoxBestandsnaam.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ @@ -179,57 +156,64 @@ Me.TableLayoutPanel1.ColumnCount = 2 Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 210!)) Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100!)) - Me.TableLayoutPanel1.Controls.Add(Me.LabelOpzoekFeedbackKleur, 0, 0) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxLogoID, 1, 3) - Me.TableLayoutPanel1.Controls.Add(Me.Label6, 0, 6) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxReferentie, 1, 4) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxProductID, 1, 1) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxLadeKleur, 1, 5) - Me.TableLayoutPanel1.Controls.Add(Me.Label5, 0, 5) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxBestandsnaam, 1, 6) - Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 1) - Me.TableLayoutPanel1.Controls.Add(Me.Label4, 0, 4) - Me.TableLayoutPanel1.Controls.Add(Me.TextBoxKortTekst, 1, 2) - Me.TableLayoutPanel1.Controls.Add(Me.Label2, 0, 2) - Me.TableLayoutPanel1.Controls.Add(Me.Label3, 0, 3) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxLogoID, 1, 2) + Me.TableLayoutPanel1.Controls.Add(Me.Label6, 0, 5) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxReferentie, 1, 3) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxProductID, 1, 0) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxLadeKleur, 1, 4) + Me.TableLayoutPanel1.Controls.Add(Me.Label5, 0, 4) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxBestandsnaam, 1, 5) + Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Label4, 0, 3) + Me.TableLayoutPanel1.Controls.Add(Me.TextBoxKortTekst, 1, 1) + Me.TableLayoutPanel1.Controls.Add(Me.Label2, 0, 1) + Me.TableLayoutPanel1.Controls.Add(Me.Label3, 0, 2) Me.TableLayoutPanel1.Location = New System.Drawing.Point(3, 3) Me.TableLayoutPanel1.Name = "TableLayoutPanel1" - Me.TableLayoutPanel1.RowCount = 7 - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571!)) - Me.TableLayoutPanel1.Size = New System.Drawing.Size(869, 393) + Me.TableLayoutPanel1.RowCount = 6 + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667!)) + Me.TableLayoutPanel1.Size = New System.Drawing.Size(869, 394) Me.TableLayoutPanel1.TabIndex = 84 ' - 'LabelOpzoekFeedbackKleur + 'Label1 ' - Me.LabelOpzoekFeedbackKleur.Anchor = CType((System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) - Me.TableLayoutPanel1.SetColumnSpan(Me.LabelOpzoekFeedbackKleur, 2) - Me.LabelOpzoekFeedbackKleur.Font = New System.Drawing.Font("Microsoft Sans Serif", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) - Me.LabelOpzoekFeedbackKleur.ForeColor = System.Drawing.Color.Black - Me.LabelOpzoekFeedbackKleur.Location = New System.Drawing.Point(3, 0) - Me.LabelOpzoekFeedbackKleur.Name = "LabelOpzoekFeedbackKleur" - Me.LabelOpzoekFeedbackKleur.Size = New System.Drawing.Size(863, 56) - Me.LabelOpzoekFeedbackKleur.TabIndex = 75 + Me.Label1.Anchor = System.Windows.Forms.AnchorStyles.Left + Me.Label1.AutoSize = true + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 20!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.Label1.Location = New System.Drawing.Point(3, 68) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(151, 31) + Me.Label1.TabIndex = 78 + Me.Label1.Text = "Product ID:" ' + 'TextBoxProductID + ' + Me.TextBoxProductID.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.TextBoxProductID.Font = New System.Drawing.Font("Microsoft Sans Serif", 30!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.TextBoxProductID.Location = New System.Drawing.Point(213, 59) + Me.TextBoxProductID.Name = "TextBoxProductID" + Me.TextBoxProductID.ReadOnly = true + Me.TextBoxProductID.Size = New System.Drawing.Size(653, 53) + Me.TextBoxProductID.TabIndex = 70 + ' 'LaserOpdrachtDetailsScherm ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.Controls.Add(Me.TableLayoutPanel1) Me.Name = "LaserOpdrachtDetailsScherm" - Me.Size = New System.Drawing.Size(876, 398) + Me.Size = New System.Drawing.Size(876, 399) Me.TableLayoutPanel1.ResumeLayout(false) Me.TableLayoutPanel1.PerformLayout Me.ResumeLayout(false) End Sub - - Friend WithEvents TextBoxProductID As TextBox Friend WithEvents Label6 As Label Friend WithEvents Label5 As Label Friend WithEvents TextBoxKortTekst As TextBox @@ -239,8 +223,8 @@ Friend WithEvents TextBoxReferentie As TextBox Friend WithEvents Label2 As Label Friend WithEvents TextBoxLadeKleur As TextBox - Friend WithEvents Label1 As Label Friend WithEvents TextBoxBestandsnaam As TextBox Friend WithEvents TableLayoutPanel1 As TableLayoutPanel - Friend WithEvents LabelOpzoekFeedbackKleur As Label + Friend WithEvents TextBoxProductID As TextBox + Friend WithEvents Label1 As Label End Class