first push

This commit is contained in:
Mehdi2 2021-01-18 16:31:38 +01:00
commit 2443938ea9
13 changed files with 5211 additions and 0 deletions

43
.gitignore vendored Normal file
View File

@ -0,0 +1,43 @@
*.vs/slnx.sqlite
*.obj
*.exe
*.pdb
*.user
*.aps
*.png
*.pch
*.config
*.htm
*.suo
*.jpg
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.settings
*.ilk
*.log
[Bb]in
[Dd]ebug*/
*.lib
*.sbr
*.obj*/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
.vs/
packages/
*.dll
#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
XCC-GUI/bin/Debug/XCCKnowledgeBase.sqlite
/XCC-GUI/.vs/XCC/v14/.suo
/XCC-GUI/My Project/Settings.Designer.vb
/XCC-GUI/XCC.sln

25
Wardrobe.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30523.141
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Wardrobe", "Wardrobe\Wardrobe.vbproj", "{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0C500A17-7730-43F6-AD19-90F618CA0565}
EndGlobalSection
EndGlobal

271
Wardrobe/GUI.Designer.vb generated Normal file
View File

@ -0,0 +1,271 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class GUI
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'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()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(GUI))
Me.Section_gui = New System.Windows.Forms.TabControl()
Me.Rail_lb = New System.Windows.Forms.Label()
Me.Hanger_lb = New System.Windows.Forms.Label()
Me.Shelf_lb = New System.Windows.Forms.Label()
Me.Basket_lb = New System.Windows.Forms.Label()
Me.Drying_lb = New System.Windows.Forms.Label()
Me.Hooks_lb = New System.Windows.Forms.Label()
Me.Del_rail_lb = New System.Windows.Forms.Label()
Me.Del_rail_btn = New System.Windows.Forms.Button()
Me.Hanger_btn = New System.Windows.Forms.Button()
Me.Shelf_btn = New System.Windows.Forms.Button()
Me.Basket_btn = New System.Windows.Forms.Button()
Me.Drying_btn = New System.Windows.Forms.Button()
Me.Hooks_btn = New System.Windows.Forms.Button()
Me.Rail_btn = New System.Windows.Forms.Button()
Me.Build_btn = New System.Windows.Forms.Button()
Me.Update_KB = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'Section_gui
'
Me.Section_gui.Location = New System.Drawing.Point(12, 194)
Me.Section_gui.Name = "Section_gui"
Me.Section_gui.SelectedIndex = 0
Me.Section_gui.Size = New System.Drawing.Size(548, 457)
Me.Section_gui.TabIndex = 0
'
'Rail_lb
'
Me.Rail_lb.AutoSize = True
Me.Rail_lb.Location = New System.Drawing.Point(9, 77)
Me.Rail_lb.Name = "Rail_lb"
Me.Rail_lb.Size = New System.Drawing.Size(71, 13)
Me.Rail_lb.TabIndex = 13
Me.Rail_lb.Text = "Add Wall Rail"
'
'Hanger_lb
'
Me.Hanger_lb.AutoSize = True
Me.Hanger_lb.Location = New System.Drawing.Point(108, 77)
Me.Hanger_lb.Name = "Hanger_lb"
Me.Hanger_lb.Size = New System.Drawing.Size(64, 13)
Me.Hanger_lb.TabIndex = 14
Me.Hanger_lb.Text = "Add Hanger"
'
'Shelf_lb
'
Me.Shelf_lb.AutoSize = True
Me.Shelf_lb.Location = New System.Drawing.Point(203, 77)
Me.Shelf_lb.Name = "Shelf_lb"
Me.Shelf_lb.Size = New System.Drawing.Size(53, 13)
Me.Shelf_lb.TabIndex = 15
Me.Shelf_lb.Text = "Add Shelf"
'
'Basket_lb
'
Me.Basket_lb.AutoSize = True
Me.Basket_lb.Location = New System.Drawing.Point(296, 77)
Me.Basket_lb.Name = "Basket_lb"
Me.Basket_lb.Size = New System.Drawing.Size(62, 13)
Me.Basket_lb.TabIndex = 16
Me.Basket_lb.Text = "Add Basket"
'
'Drying_lb
'
Me.Drying_lb.AutoSize = True
Me.Drying_lb.Location = New System.Drawing.Point(375, 77)
Me.Drying_lb.Name = "Drying_lb"
Me.Drying_lb.Size = New System.Drawing.Size(88, 13)
Me.Drying_lb.TabIndex = 17
Me.Drying_lb.Text = "Add Drying Rack"
'
'Hooks_lb
'
Me.Hooks_lb.AutoSize = True
Me.Hooks_lb.Location = New System.Drawing.Point(479, 77)
Me.Hooks_lb.Name = "Hooks_lb"
Me.Hooks_lb.Size = New System.Drawing.Size(60, 13)
Me.Hooks_lb.TabIndex = 18
Me.Hooks_lb.Text = "Add Hooks"
'
'Del_rail_lb
'
Me.Del_rail_lb.AutoSize = True
Me.Del_rail_lb.Location = New System.Drawing.Point(9, 158)
Me.Del_rail_lb.Name = "Del_rail_lb"
Me.Del_rail_lb.Size = New System.Drawing.Size(92, 13)
Me.Del_rail_lb.TabIndex = 20
Me.Del_rail_lb.Text = "Remove Wall Rail"
'
'Del_rail_btn
'
Me.Del_rail_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Del_rail_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.remove_b
Me.Del_rail_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Del_rail_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Del_rail_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Del_rail_btn.Location = New System.Drawing.Point(16, 105)
Me.Del_rail_btn.Name = "Del_rail_btn"
Me.Del_rail_btn.Size = New System.Drawing.Size(50, 50)
Me.Del_rail_btn.TabIndex = 19
Me.Del_rail_btn.UseVisualStyleBackColor = False
'
'Hanger_btn
'
Me.Hanger_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Hanger_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Hanger_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Hanger_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Hanger_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Hanger_btn.Location = New System.Drawing.Point(111, 24)
Me.Hanger_btn.Name = "Hanger_btn"
Me.Hanger_btn.Size = New System.Drawing.Size(50, 50)
Me.Hanger_btn.TabIndex = 12
Me.Hanger_btn.UseVisualStyleBackColor = False
'
'Shelf_btn
'
Me.Shelf_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Shelf_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Shelf_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Shelf_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Shelf_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Shelf_btn.Location = New System.Drawing.Point(204, 24)
Me.Shelf_btn.Name = "Shelf_btn"
Me.Shelf_btn.Size = New System.Drawing.Size(50, 50)
Me.Shelf_btn.TabIndex = 11
Me.Shelf_btn.UseVisualStyleBackColor = False
'
'Basket_btn
'
Me.Basket_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Basket_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Basket_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Basket_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Basket_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Basket_btn.Location = New System.Drawing.Point(299, 24)
Me.Basket_btn.Name = "Basket_btn"
Me.Basket_btn.Size = New System.Drawing.Size(50, 50)
Me.Basket_btn.TabIndex = 10
Me.Basket_btn.UseVisualStyleBackColor = False
'
'Drying_btn
'
Me.Drying_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Drying_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Drying_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Drying_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Drying_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Drying_btn.Location = New System.Drawing.Point(394, 24)
Me.Drying_btn.Name = "Drying_btn"
Me.Drying_btn.Size = New System.Drawing.Size(50, 50)
Me.Drying_btn.TabIndex = 9
Me.Drying_btn.UseVisualStyleBackColor = False
'
'Hooks_btn
'
Me.Hooks_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Hooks_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Hooks_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Hooks_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Hooks_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Hooks_btn.Location = New System.Drawing.Point(482, 24)
Me.Hooks_btn.Name = "Hooks_btn"
Me.Hooks_btn.Size = New System.Drawing.Size(50, 50)
Me.Hooks_btn.TabIndex = 8
Me.Hooks_btn.UseVisualStyleBackColor = False
'
'Rail_btn
'
Me.Rail_btn.BackColor = System.Drawing.SystemColors.InactiveBorder
Me.Rail_btn.BackgroundImage = Global.Wardrobe.My.Resources.Resources.add_b
Me.Rail_btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Rail_btn.FlatAppearance.BorderColor = System.Drawing.SystemColors.Highlight
Me.Rail_btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Rail_btn.Location = New System.Drawing.Point(16, 24)
Me.Rail_btn.Name = "Rail_btn"
Me.Rail_btn.Size = New System.Drawing.Size(50, 50)
Me.Rail_btn.TabIndex = 1
Me.Rail_btn.UseVisualStyleBackColor = False
'
'Build_btn
'
Me.Build_btn.Location = New System.Drawing.Point(436, 147)
Me.Build_btn.Name = "Build_btn"
Me.Build_btn.Size = New System.Drawing.Size(96, 34)
Me.Build_btn.TabIndex = 21
Me.Build_btn.Text = "Build"
Me.Build_btn.UseVisualStyleBackColor = True
'
'Update_KB
'
Me.Update_KB.Location = New System.Drawing.Point(317, 147)
Me.Update_KB.Name = "Update_KB"
Me.Update_KB.Size = New System.Drawing.Size(96, 34)
Me.Update_KB.TabIndex = 22
Me.Update_KB.Text = "Update KB"
Me.Update_KB.UseVisualStyleBackColor = True
'
'GUI
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(572, 663)
Me.Controls.Add(Me.Update_KB)
Me.Controls.Add(Me.Build_btn)
Me.Controls.Add(Me.Del_rail_lb)
Me.Controls.Add(Me.Del_rail_btn)
Me.Controls.Add(Me.Hooks_lb)
Me.Controls.Add(Me.Drying_lb)
Me.Controls.Add(Me.Basket_lb)
Me.Controls.Add(Me.Shelf_lb)
Me.Controls.Add(Me.Hanger_lb)
Me.Controls.Add(Me.Rail_lb)
Me.Controls.Add(Me.Hanger_btn)
Me.Controls.Add(Me.Shelf_btn)
Me.Controls.Add(Me.Basket_btn)
Me.Controls.Add(Me.Drying_btn)
Me.Controls.Add(Me.Hooks_btn)
Me.Controls.Add(Me.Rail_btn)
Me.Controls.Add(Me.Section_gui)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "GUI"
Me.Text = "Build a wardrobe"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Section_gui As TabControl
Friend WithEvents Rail_btn As Button
Friend WithEvents Hooks_btn As Button
Friend WithEvents Drying_btn As Button
Friend WithEvents Basket_btn As Button
Friend WithEvents Shelf_btn As Button
Friend WithEvents Hanger_btn As Button
Friend WithEvents Rail_lb As Label
Friend WithEvents Hanger_lb As Label
Friend WithEvents Shelf_lb As Label
Friend WithEvents Basket_lb As Label
Friend WithEvents Drying_lb As Label
Friend WithEvents Hooks_lb As Label
Friend WithEvents Del_rail_lb As Label
Friend WithEvents Del_rail_btn As Button
Friend WithEvents Build_btn As Button
Friend WithEvents Update_KB As Button
End Class

3758
Wardrobe/GUI.resx Normal file

File diff suppressed because it is too large Load Diff

530
Wardrobe/GUI.vb Normal file
View File

@ -0,0 +1,530 @@
Imports XCCLibrary
Public Class GUI
Dim Control_ID
Sub GUI_load() Handles MyBase.Load
add_section()
Control_ID = 0
End Sub
Sub add_section()
' adding the tab page
Dim myTabPage As New TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage.Text = "Section " & TabContSec.TabPages.Count + 1
myTabPage.Name = "Section_" & TabContSec.TabPages.Count + 1
TabContSec.TabPages.Add(myTabPage)
TabContSec.SelectedTab = myTabPage
' adding controls for section width and height
Dim Width_lbl As New Label
Width_lbl.Top = 10
Width_lbl.Left = 10
Width_lbl.Name = "Width_lb"
Width_lbl.Text = "Section Width"
myTabPage.Controls.Add(Width_lbl)
Dim Width_tbox As New TextBox
Width_tbox.Top = 10
Width_tbox.Left = 120
Width_tbox.Width = 120
Width_tbox.Name = "Width_tb"
myTabPage.Controls.Add(Width_tbox)
Dim Height_lbl As New Label
Height_lbl.Top = 35
Height_lbl.Left = 10
Height_lbl.Name = "Height_lb"
Height_lbl.Text = "Section Height"
myTabPage.Controls.Add(Height_lbl)
Dim Height_tbox As New TextBox
Height_tbox.Top = 35
Height_tbox.Left = 120
Height_tbox.Width = 120
Height_tbox.Name = "Height_tb"
myTabPage.Controls.Add(Height_tbox)
End Sub
Sub Del_section()
' Removing the tabpage
If Section_gui.TabPages.Count > 1 Then
Section_gui.TabPages.Remove(Section_gui.TabPages(Section_gui.TabPages.Count - 1))
End If
End Sub
Sub add_hanger()
'Setting an ID of the item
Control_ID += 1
' Geting the active tabpage and the location where to put the label
Dim myTabPage As TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage = TabContSec.SelectedTab
Dim y_pos = get_latest_position(myTabPage)
y_pos = y_pos + 30
'adding the new controls
Dim Hanger_lbl As New Label
Hanger_lbl.Top = y_pos
Hanger_lbl.Left = 10
Hanger_lbl.Name = "Item_Hanger_" & Control_ID
Hanger_lbl.Text = "Hanger"
myTabPage.Controls.Add(Hanger_lbl)
Dim Pos_tbox As New TextBox
Pos_tbox.Top = y_pos
Pos_tbox.Left = 180
Pos_tbox.Width = 60
Pos_tbox.Name = "Hanger_Pos_tb_" & Control_ID
myTabPage.Controls.Add(Pos_tbox)
Dim Pos_lbl As New Label
Pos_lbl.Top = y_pos
Pos_lbl.Left = 120
Pos_lbl.Name = "Hanger_Pos_lb_" & Control_ID
Pos_lbl.Text = "Position"
myTabPage.Controls.Add(Pos_lbl)
End Sub
Sub add_hooks()
'Setting an ID of the item
Control_ID += 1
' Geting the active tabpage and the location where to put the label
Dim myTabPage As TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage = TabContSec.SelectedTab
Dim y_pos = get_latest_position(myTabPage)
y_pos = y_pos + 30
'adding the new controls
Dim Hooks_lbl As New Label
Hooks_lbl.Top = y_pos
Hooks_lbl.Left = 10
Hooks_lbl.Name = "Item_Hooks_" & Control_ID
Hooks_lbl.Text = "Hooks"
myTabPage.Controls.Add(Hooks_lbl)
Dim Pos_tbox As New TextBox
Pos_tbox.Top = y_pos
Pos_tbox.Left = 180
Pos_tbox.Width = 60
Pos_tbox.Name = "Hooks_Pos_tb_" & Control_ID
myTabPage.Controls.Add(Pos_tbox)
Dim Pos_lbl As New Label
Pos_lbl.Top = y_pos
Pos_lbl.Left = 120
Pos_lbl.Name = "Hooks_Pos_lb_" & Control_ID
Pos_lbl.Text = "Position"
myTabPage.Controls.Add(Pos_lbl)
Dim Nr_tbox As New TextBox
Nr_tbox.Top = y_pos
Nr_tbox.Left = 320
Nr_tbox.Width = 60
Nr_tbox.Name = "Hooks_Nr_tb_" & Control_ID
myTabPage.Controls.Add(Nr_tbox)
Dim Nr_lbl As New Label
Nr_lbl.Top = y_pos
Nr_lbl.Left = 260
Nr_lbl.Name = "Hooks_Nr_lb_" & Control_ID
Nr_lbl.Text = "Quantity"
myTabPage.Controls.Add(Nr_lbl)
End Sub
Sub add_basket()
'Setting an ID of the item
Control_ID += 1
' Geting the active tabpage and the location where to put the label
Dim myTabPage As TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage = TabContSec.SelectedTab
Dim y_pos = get_latest_position(myTabPage)
y_pos = y_pos + 30
'adding the new controls
Dim Basket_lbl As New Label
Basket_lbl.Top = y_pos
Basket_lbl.Left = 10
Basket_lbl.Name = "Item_Basket_" & Control_ID
Basket_lbl.Text = "Basket"
myTabPage.Controls.Add(Basket_lbl)
Dim Pos_tbox As New TextBox
Pos_tbox.Top = y_pos
Pos_tbox.Left = 180
Pos_tbox.Width = 60
Pos_tbox.Name = "Basket_Pos_tb_" & Control_ID
myTabPage.Controls.Add(Pos_tbox)
Dim Pos_lbl As New Label
Pos_lbl.Top = y_pos
Pos_lbl.Left = 120
Pos_lbl.Name = "Basket_Pos_lb_" & Control_ID
Pos_lbl.Text = "Position"
myTabPage.Controls.Add(Pos_lbl)
Dim Depth_tbox As New TextBox
Depth_tbox.Top = y_pos
Depth_tbox.Left = 320
Depth_tbox.Width = 60
Depth_tbox.Name = "Basket_Depth_tb_" & Control_ID
myTabPage.Controls.Add(Depth_tbox)
Dim Depth_lbl As New Label
Depth_lbl.Top = y_pos
Depth_lbl.Left = 260
Depth_lbl.Name = "Basket_Depth_lb_" & Control_ID
Depth_lbl.Text = "Depth"
myTabPage.Controls.Add(Depth_lbl)
Dim Height_cmb As New ComboBox
Height_cmb.Top = y_pos
Height_cmb.Left = 460
Height_cmb.Width = 60
Height_cmb.Name = "Basket_Height_cmb_" & Control_ID
Height_cmb.Items.Add("150")
Height_cmb.Items.Add("300")
Height_cmb.Items.Add("450")
myTabPage.Controls.Add(Height_cmb)
Dim Height_lbl As New Label
Height_lbl.Top = y_pos
Height_lbl.Left = 400
Height_lbl.Name = "Basket_Height_lb_" & Control_ID
Height_lbl.Text = "Height"
myTabPage.Controls.Add(Height_lbl)
End Sub
Sub add_shelf()
'Setting an ID of the item
Control_ID += 1
' Geting the active tabpage and the location where to put the label
Dim myTabPage As TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage = TabContSec.SelectedTab
Dim y_pos = get_latest_position(myTabPage)
y_pos = y_pos + 30
'adding the new controls
Dim Shelf_lbl As New Label
Shelf_lbl.Top = y_pos
Shelf_lbl.Left = 10
Shelf_lbl.Name = "Item_Shelf_" & Control_ID
Shelf_lbl.Text = "Shelf"
myTabPage.Controls.Add(Shelf_lbl)
Dim Pos_tbox As New TextBox
Pos_tbox.Top = y_pos
Pos_tbox.Left = 180
Pos_tbox.Width = 60
Pos_tbox.Name = "Shelf_Pos_tb_" & Control_ID
myTabPage.Controls.Add(Pos_tbox)
Dim Pos_lbl As New Label
Pos_lbl.Top = y_pos
Pos_lbl.Left = 120
Pos_lbl.Name = "Shelf_Pos_lb_" & Control_ID
Pos_lbl.Text = "Position"
myTabPage.Controls.Add(Pos_lbl)
Dim Depth_tbox As New TextBox
Depth_tbox.Top = y_pos
Depth_tbox.Left = 320
Depth_tbox.Width = 60
Depth_tbox.Name = "Shelf_Depth_tb_" & Control_ID
myTabPage.Controls.Add(Depth_tbox)
Dim Depth_lbl As New Label
Depth_lbl.Top = y_pos
Depth_lbl.Left = 260
Depth_lbl.Name = "Shelf_Depth_lb_" & Control_ID
Depth_lbl.Text = "Depth"
myTabPage.Controls.Add(Depth_lbl)
Dim Type_cmb As New ComboBox
Type_cmb.Top = y_pos
Type_cmb.Left = 460
Type_cmb.Width = 60
Type_cmb.Name = "Shelf_type_cmb_" & Control_ID
Type_cmb.Items.Add("Flat")
Type_cmb.Items.Add("Wire")
myTabPage.Controls.Add(Type_cmb)
Dim Height_lbl As New Label
Height_lbl.Top = y_pos
Height_lbl.Left = 400
Height_lbl.Name = "Shelf_type_lb_" & Control_ID
Height_lbl.Text = "Type"
myTabPage.Controls.Add(Height_lbl)
End Sub
Sub add_drying_rack()
'Setting an ID of the item
Control_ID += 1
' Geting the active tabpage and the location where to put the label
Dim myTabPage As TabPage
Dim TabContSec As TabControl
TabContSec = Section_gui
myTabPage = TabContSec.SelectedTab
Dim y_pos = get_latest_position(myTabPage)
y_pos = y_pos + 30
'adding the new controls
Dim Drying_lbl As New Label
Drying_lbl.Top = y_pos
Drying_lbl.Left = 10
Drying_lbl.Name = "Item_Drying_" & Control_ID
Drying_lbl.Text = "Drying Rack"
myTabPage.Controls.Add(Drying_lbl)
Dim Pos_tbox As New TextBox
Pos_tbox.Top = y_pos
Pos_tbox.Left = 180
Pos_tbox.Width = 60
Pos_tbox.Name = "Drying_Pos_tb_" & Control_ID
myTabPage.Controls.Add(Pos_tbox)
Dim Pos_lbl As New Label
Pos_lbl.Top = y_pos
Pos_lbl.Left = 120
Pos_lbl.Name = "Drying_Pos_lb_" & Control_ID
Pos_lbl.Text = "Position"
myTabPage.Controls.Add(Pos_lbl)
Dim Right_cb As New CheckBox
Right_cb.Top = y_pos
Right_cb.Left = 380
Right_cb.Name = "Drying_Right_cb_" & Control_ID
Right_cb.Text = "Right"
myTabPage.Controls.Add(Right_cb)
Dim Mid_cb As New CheckBox
Mid_cb.Top = y_pos
Mid_cb.Left = 320
Mid_cb.Name = "Drying_mid_cb_" & Control_ID
Mid_cb.Text = "Mid"
myTabPage.Controls.Add(Mid_cb)
Dim Left_cb As New CheckBox
Left_cb.Top = y_pos
Left_cb.Left = 260
Left_cb.Name = "Drying_left_cb_" & Control_ID
Left_cb.Text = "Left"
myTabPage.Controls.Add(Left_cb)
End Sub
Function get_latest_position(myTabPage)
Dim Y_pos As Integer = 0
For Each ctl As Control In myTabPage.Controls
If ctl.Location.Y > Y_pos Then
Y_pos = ctl.Location.Y
End If
Next
Return Y_pos
End Function
Function Populate_table_from_GUI()
' creating a set of tables, the data in the tables will be one row per item in the GUI and one table per section tab
Dim Input As New DataSet
Dim sectionTable As New DataTable
sectionTable.Columns.Add("Section_width")
sectionTable.Columns.Add("Section_height")
sectionTable.Columns.Add("Type")
sectionTable.Columns.Add("Position")
sectionTable.Columns.Add("Depth")
sectionTable.Columns.Add("Item_Height")
sectionTable.Columns.Add("Type_of_shelf")
sectionTable.Columns.Add("Quantity")
sectionTable.Columns.Add("Right")
sectionTable.Columns.Add("Mid")
sectionTable.Columns.Add("Left")
' loop through all the tabs in the tab control and get the data
Dim TabContSec As TabControl
TabContSec = Section_gui
For i = 0 To TabContSec.TabCount - 1
sectionTable.Clear()
sectionTable.TableName = "Section_" & i + 1
Dim MyTabPage = TabContSec.TabPages(i)
TabContSec.SelectedTab = MyTabPage
' Geting the data of the section
Dim section_width = MyTabPage.Controls("Width_tb").Text
Dim section_height = MyTabPage.Controls("Height_tb").Text
For Each c As Control In MyTabPage.Controls
' using the name of the Item label to get the Item ID and type
If c.Name.Contains("Item") Then
Dim Splitname = c.Name.Split("_")
Dim Item_Type = Splitname(1)
Dim Item_ID = Splitname(2)
Dim ItemRowNr As Integer
' adding a new row for the new item and start populating relevent colums with info from the GUI
sectionTable.Rows.Add()
ItemRowNr = sectionTable.Rows.Count - 1
sectionTable.Rows(ItemRowNr)("Section_width") = section_width
sectionTable.Rows(ItemRowNr)("Section_height") = section_height
sectionTable.Rows(ItemRowNr)("Type") = Item_Type
If Item_Type = "Basket" Then
sectionTable.Rows(ItemRowNr)("Position") = MyTabPage.Controls("Basket_Pos_tb_" & Item_ID).Text
sectionTable.Rows(ItemRowNr)("Depth") = MyTabPage.Controls("Basket_Depth_tb_" & Item_ID).Text
sectionTable.Rows(ItemRowNr)("Item_Height") = MyTabPage.Controls("Basket_Height_cmb_" & Item_ID).Text
ElseIf Item_Type = "Hanger" Then
sectionTable.Rows(ItemRowNr)("Position") = MyTabPage.Controls("Hanger_Pos_tb_" & Item_ID).Text
ElseIf Item_Type = "Hooks" Then
sectionTable.Rows(ItemRowNr)("Position") = MyTabPage.Controls("Hooks_Pos_tb_" & Item_ID).Text
sectionTable.Rows(ItemRowNr)("Quantity") = MyTabPage.Controls("Hooks_Nr_tb_" & Item_ID).Text
ElseIf Item_Type = "Drying" Then
sectionTable.Rows(ItemRowNr)("Position") = MyTabPage.Controls("Drying_Pos_tb_" & Item_ID).Text
Dim CB As CheckBox
CB = MyTabPage.Controls("Drying_Right_cb_" & Item_ID)
sectionTable.Rows(ItemRowNr)("Right") = CB.Checked
CB = MyTabPage.Controls("Drying_mid_cb_" & Item_ID)
sectionTable.Rows(ItemRowNr)("Mid") = CB.Checked
CB = MyTabPage.Controls("Drying_left_cb_" & Item_ID)
sectionTable.Rows(ItemRowNr)("Left") = CB.Checked
ElseIf Item_Type = "Shelf" Then
sectionTable.Rows(ItemRowNr)("Position") = MyTabPage.Controls("Shelf_Pos_tb_" & Item_ID).Text
sectionTable.Rows(ItemRowNr)("Depth") = MyTabPage.Controls("Shelf_Depth_tb_" & Item_ID).Text
sectionTable.Rows(ItemRowNr)("Type_of_shelf") = MyTabPage.Controls("Shelf_type_cmb_" & Item_ID).Text
End If
End If
Next
Input.Tables.Add(sectionTable.Copy)
Next
Return Input
End Function
Private Sub Rail_btn_Click(sender As Object, e As EventArgs) Handles Rail_btn.Click
add_section()
End Sub
Private Sub Del_rail_btn_Click(sender As Object, e As EventArgs) Handles Del_rail_btn.Click
Del_section()
End Sub
Private Sub Hanger_btn_Click(sender As Object, e As EventArgs) Handles Hanger_btn.Click
add_hanger()
End Sub
Private Sub Hooks_btn_Click(sender As Object, e As EventArgs) Handles Hooks_btn.Click
add_hooks()
End Sub
Private Sub Basket_btn_Click(sender As Object, e As EventArgs) Handles Basket_btn.Click
add_basket()
End Sub
Private Sub Shelf_btn_Click(sender As Object, e As EventArgs) Handles Shelf_btn.Click
add_shelf()
End Sub
Private Sub Drying_btn_Click(sender As Object, e As EventArgs) Handles Drying_btn.Click
add_drying_rack()
End Sub
Private Sub Build_btn_Click(sender As Object, e As EventArgs) Handles Build_btn.Click
adminClass.loadSettings("C:\Users\Asus_station3\Desktop", "D:\OneDrive - XperDi AB\XperDi\DLL_Test\Wardrobe", "SolidWorks")
XCCBaseClass.newDesign()
ExternalClass.PopulateTamplateXMLGroup()
Dim Input As DataSet
Input = Populate_table_from_GUI()
Program.Add_Parts(Input)
importClass.copyGroupsByDataSet(ExternalClass.groupds_new)
Dim GrNr = groupClass.NewGroupID
Dim Design_table = designModel.selectDesign("*")
Dim Design_name = Design_table.rows(0)("designName") '"135_0922244" 'CADLinkerClass.New_Design_Name '
groupClass.InstantiateGroup(Design_name, GrNr, "START")
'
End Sub
Private Sub Update_KB_Click(sender As Object, e As EventArgs) Handles Update_KB.Click
Program.UpdateKB()
End Sub
End Class

View File

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 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.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.Wardrobe.GUI
End Sub
End Class
End Namespace

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>GUI</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("Wardrobe")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("Wardrobe")>
<Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("11475add-d52f-4f1f-acac-a9d852fbba16")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' 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: AssemblyFileVersion("1.0.0.0")>

View File

@ -0,0 +1,83 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 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.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
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.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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("Wardrobe.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property add_b() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("add-b", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property remove_b() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("remove-b", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="add-b" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\add-b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="remove-b" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\remove-b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

73
Wardrobe/My Project/Settings.Designer.vb generated Normal file
View File

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 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.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.Wardrobe.My.MySettings
Get
Return Global.Wardrobe.My.MySettings.Default
End Get
End Property
End Module
End Namespace

86
Wardrobe/Program.vb Normal file
View File

@ -0,0 +1,86 @@
Imports XCCLibrary
Public Class Program
Public Shared Function Add_Parts(Input As DataSet)
Dim inst_ As Integer = 0
Dim ParentID As Integer = 0
Dim Last_section_height As Integer = 0
For Each DT As DataTable In Input.Tables
Dim Section_Width = DT.Rows(0)("Section_width")
Dim Section_Height = DT.Rows(0)("Section_height")
inst_ = ExternalClass.instantiate_parts(ParentID, "RAIL", "")
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, Section_Width)
If Last_section_height > Section_Height Then
ExternalClass.modify_parameter_value("DP_HEIGHT", inst_, Last_section_height)
Else
ExternalClass.modify_parameter_value("DP_HEIGHT", inst_, Section_Height)
End If
Last_section_height = Section_Height
ParentID = inst_
For Each DR As DataRow In DT.Rows
Dim Type = DR("Type")
If Type = "Basket" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "BASKET", "")
ExternalClass.modify_parameter_value("DP_POS", inst_, DR("Position"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, Section_Width)
ExternalClass.modify_parameter_value("DP_CONFIGURATION", inst_, DR("Item_Height"))
ElseIf Type = "Hanger" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "HANGER", "")
ExternalClass.modify_parameter_value("DP_POS", inst_, DR("Position"))
ElseIf Type = "Hooks" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "HOOKS", "")
ExternalClass.modify_parameter_value("DP_POS", inst_, DR("Position"))
ExternalClass.modify_parameter_value("DP_NUMBER", inst_, DR("Quantity"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, Section_Width)
ElseIf Type = "Drying" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "DRYING_RACK", "")
ExternalClass.modify_parameter_value("DP_POS", inst_, DR("Position"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, Section_Width)
If DR("Left") Then
ExternalClass.instantiate_parts(inst_, "ROD", "1")
End If
If DR("Mid") Then
ExternalClass.instantiate_parts(inst_, "ROD", "2")
End If
If DR("Right") Then
ExternalClass.instantiate_parts(inst_, "ROD", "3")
End If
ElseIf Type = "Shelf" Then
If DR("Type_of_shelf") = "Flat" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "FLAT_SHELF", "")
ElseIf DR("Type_of_shelf") = "Wire" Then
inst_ = ExternalClass.instantiate_parts(ParentID, "WIRE_SHELF", "")
End If
ExternalClass.modify_parameter_value("DP_DEPTH", inst_, DR("Depth"))
ExternalClass.modify_parameter_value("DP_POS", inst_, DR("Position"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, Section_Width)
End If
Next
Next
inst_ = ExternalClass.instantiate_parts(ParentID, "RAIL", "")
ExternalClass.modify_parameter_value("DP_HEIGHT", inst_, Last_section_height)
Return groupClass.NewGroupID
End Function
Public Shared Sub UpdateKB()
adminClass.loadSettings("C:\Users\Asus_station3\Desktop", "D:\OneDrive - XperDi AB\XperDi\DLL_Test\Wardrobe", "SolidWorks")
adminClass.updateDatabase()
End Sub
End Class

132
Wardrobe/Wardrobe.vbproj Normal file
View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{CD01F094-667B-4B92-9EB5-0CC9F60EBC06}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>Wardrobe.My.MyApplication</StartupObject>
<RootNamespace>Wardrobe</RootNamespace>
<AssemblyName>Wardrobe</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>Wardrobe.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>Wardrobe.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="XCCLibrary, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Xperdi\XCC\XCCLibrary.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.vb" />
<Compile Include="GUI.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="GUI.Designer.vb">
<DependentUpon>GUI.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="GUI.resx">
<DependentUpon>GUI.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Resources\add-b.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\remove-b.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>