From 3923247b8e12e5d1a136af2ca38916119f3e1171 Mon Sep 17 00:00:00 2001 From: Anton Date: Fri, 12 Feb 2021 14:13:45 +0100 Subject: [PATCH] Side square recesses work as intended in gui --- Wardrobe/GUI.vb | 4 +- Wardrobe/GUI_Functions.vb | 109 ++++++++++++++++++++++---------------- 2 files changed, 65 insertions(+), 48 deletions(-) diff --git a/Wardrobe/GUI.vb b/Wardrobe/GUI.vb index 3a7fb57..072e0f6 100644 --- a/Wardrobe/GUI.vb +++ b/Wardrobe/GUI.vb @@ -2,8 +2,8 @@ Imports Excel = Microsoft.Office.Interop.Excel Public Class GUI - 'Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" - Public Shared filepath As String = "C:\Users\xperd\Documents" + Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" + 'Public Shared filepath As String = "C:\Users\xperd\Documents" Dim excelApp As Excel.Application = New Excel.Application Dim excelWB As Excel.Workbook diff --git a/Wardrobe/GUI_Functions.vb b/Wardrobe/GUI_Functions.vb index d2a2a5c..14c1c11 100644 --- a/Wardrobe/GUI_Functions.vb +++ b/Wardrobe/GUI_Functions.vb @@ -158,55 +158,21 @@ For i = 1 To 4 Dim sidePoints As New List(Of String) If i = 1 Then - For j = 0 To GUI_Drawing_Panel.pointsOrder.Count - 1 - If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(1) = GUI_Drawing_Panel.pCon1(1) Then - sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) - End If - Next - For j = 1 To sidePoints.Count / 2 - Create_SideButton(sideSquareValues(0) / (GUI_Drawing_Panel.scaleDiff), 30, + Create_SideButton(sideSquareValues(0) / (GUI_Drawing_Panel.scaleDiff), 30, GUI_Drawing_Panel.pCon1(0) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), - GUI_Drawing_Panel.pCon1(1) - 30 / 2, "Button_" & i & "_" & j) - Next - + GUI_Drawing_Panel.pCon1(1) - 30 / 2, "Button_" & i) ElseIf i = 2 Then - For j = 1 To GUI_Drawing_Panel.pointsOrder.Count - 1 - If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(0) = GUI_Drawing_Panel.pCon2(0) Then - sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) - End If - Next - For j = 1 To sidePoints.Count / 2 - Create_SideButton(30, sideSquareValues(1) / (GUI_Drawing_Panel.scaleDiff), + Create_SideButton(30, sideSquareValues(1) / (GUI_Drawing_Panel.scaleDiff), GUI_Drawing_Panel.pCon2(0) - 30 / 2, - GUI_Drawing_Panel.pCon1(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), "Button_" & i & "_" & j) - Next - + GUI_Drawing_Panel.pCon1(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), "Button_" & i) ElseIf i = 3 Then - For j = 2 To GUI_Drawing_Panel.pointsOrder.Count - 1 - If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(1) = GUI_Drawing_Panel.pCon3(1) Then - sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) - End If - Next - For j = 1 To sidePoints.Count / 2 - Create_SideButton(sideSquareValues(0) / (GUI_Drawing_Panel.scaleDiff), 30, + Create_SideButton(sideSquareValues(0) / (GUI_Drawing_Panel.scaleDiff), 30, GUI_Drawing_Panel.pCon1(0) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), - GUI_Drawing_Panel.pCon3(1) - 30 / 2, "Button_" & i & "_" & j) - Next - + GUI_Drawing_Panel.pCon3(1) - 30 / 2, "Button_" & i) Else - For j = 3 To GUI_Drawing_Panel.pointsOrder.Count - 1 - If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(0) = GUI_Drawing_Panel.pCon1(0) Then - sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) - End If - Next - sidePoints.Add(GUI_Drawing_Panel.pointsOrder(0)) - - For j = 1 To sidePoints.Count / 2 - Create_SideButton(30, sideSquareValues(1) / (GUI_Drawing_Panel.scaleDiff), + Create_SideButton(30, sideSquareValues(1) / (GUI_Drawing_Panel.scaleDiff), GUI_Drawing_Panel.pCon1(0) - 30 / 2, - GUI_Drawing_Panel.pCon1(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), "Button_" & i & "_" & j) - Next - + GUI_Drawing_Panel.pCon1(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff), "Button_" & i) End If Next @@ -216,7 +182,7 @@ 'flytta knapparna/ändra storlek For i = 2 To GUI.DrawingPanel.Controls.Count - 1 - Dim buttonSide As Integer = CInt(GUI.DrawingPanel.Controls(i).Name.Split("_")(1).Split("_")(0)) + Dim buttonSide As Integer = CInt(GUI.DrawingPanel.Controls(i).Name.Split("_")(1)) If buttonSide = 1 OrElse buttonSide = 3 Then GUI.DrawingPanel.Controls(i).Width = sideSquareValues(0) / (GUI_Drawing_Panel.scaleDiff) GUI.DrawingPanel.Controls(i).Left = GUI_Drawing_Panel.pCon1(0) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff) @@ -267,7 +233,6 @@ Private Shared Sub SideButton_Click(sender As Button, e As EventArgs) 'Determine which side is being pressed Dim sidePressed As Integer = CInt(sender.Name.Split("_")(1)) - Dim sideButtonPressed As Integer = CInt(sender.Name.Split("_")(2)) ' Remove point buttons For i = 2 To GUI.DrawingPanel.Controls.Count - 1 @@ -278,6 +243,8 @@ Dim numOfNewPoints As Integer Dim sidePoints As New List(Of String) + Dim index As Integer + If sidePressed = 1 Then For j = 0 To GUI_Drawing_Panel.pointsOrder.Count - 1 If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(1) = GUI_Drawing_Panel.pCon1(1) Then @@ -285,27 +252,77 @@ End If Next + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(0)) + If sidePoints.Count > 2 Then + For i = sidePoints.Count / 2 To 2 Step -1 + If GUI_Drawing_Panel.points(sidePoints(i * 2 - 2))(0) < + GUI_Drawing_Panel.pCon1(0) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff) Then + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(i * 2 - 2)) + Exit For + End If + Next + End If + ElseIf sidePressed = 2 Then For j = 1 To GUI_Drawing_Panel.pointsOrder.Count - 1 If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(0) = GUI_Drawing_Panel.pCon2(0) Then sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) End If Next + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(0)) + If sidePoints.Count > 2 Then + For i = sidePoints.Count / 2 To 2 Step -1 + If GUI_Drawing_Panel.points(sidePoints(i * 2 - 2))(1) < + GUI_Drawing_Panel.pCon2(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff) Then + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(i * 2 - 2)) + Exit For + End If + Next + End If + ElseIf sidePressed = 3 Then For j = 2 To GUI_Drawing_Panel.pointsOrder.Count - 1 If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(1) = GUI_Drawing_Panel.pCon3(1) Then sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) End If Next + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(sidePoints.Count - 2)) + If sidePoints.Count > 2 Then + For i = 2 To sidePoints.Count / 2 + If GUI_Drawing_Panel.points(sidePoints(i * 2 - 3))(0) < + GUI_Drawing_Panel.pCon1(0) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff) Then + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(i * 2 - 4)) + Exit For + End If + Next + End If + Else For j = 3 To GUI_Drawing_Panel.pointsOrder.Count - 1 If GUI_Drawing_Panel.points(GUI_Drawing_Panel.pointsOrder(j))(0) = GUI_Drawing_Panel.pCon1(0) Then sidePoints.Add(GUI_Drawing_Panel.pointsOrder(j)) End If Next + sidePoints.Add(GUI_Drawing_Panel.pointsOrder(0)) + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(sidePoints.Count - 2)) + If sidePoints.Count > 2 Then + For i = 2 To sidePoints.Count / 2 + If GUI_Drawing_Panel.points(sidePoints(i * 2 - 3))(1) < + GUI_Drawing_Panel.pCon2(1) + sideSquareValues(2) / (GUI_Drawing_Panel.scaleDiff) Then + + index = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(i * 2 - 4)) + Exit For + End If + Next + End If End If - Dim index As Integer = GUI_Drawing_Panel.pointsOrder.IndexOf(sidePoints(sideButtonPressed * 2 - 2)) - 'GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP + d1P, pYP, pXSW + d1SW, pYSW}) + If sidePressed = 1 Then GUI_Drawing_Panel.points.Add("pSS" & pointCounter * 4 - 3,