diff --git a/EVECREST.vb b/EVECREST.vb index f8715c6..e02c821 100644 --- a/EVECREST.vb +++ b/EVECREST.vb @@ -262,7 +262,8 @@ Public Class EVECREST Call ExecuteNonQuerySQL(SQL) End If - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next @@ -432,7 +433,8 @@ Public Class EVECREST Next - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next @@ -661,7 +663,8 @@ Public Class EVECREST Next End With - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next @@ -913,7 +916,8 @@ Public Class EVECREST End With - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next @@ -1324,7 +1328,8 @@ Public Class EVECREST End With Next - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next @@ -1437,7 +1442,8 @@ Public Class EVECREST Call ExecuteNonQuerySQL(SQL) End With - TempPB.Value = i + ' For each record, update the progress bar + Call IncrementProgressBar(TempPB) Application.DoEvents() Next diff --git a/Globals.vb b/Globals.vb index 50d9975..8da022d 100644 --- a/Globals.vb +++ b/Globals.vb @@ -984,6 +984,12 @@ Public Module Public_Variables .ItemME = SentBlueprint.GetME .FacilityMEModifier = FacilityMEModifier ' For full item, components will be saved in blueprint class for ComponentList .BuiltInPOS = BuiltInPOS + .BuildLocation = SentBlueprint.GetManufacturingFacility.FacilityName + + ' See if we need to add the system on to the end of the build location for POS + If BuiltInPOS Then + .BuildLocation = .BuildLocation & " (" & SentBlueprint.GetManufacturingFacility.SolarSystemName & ")" + End If ' Ignore flags .IgnoredInvention = IgnoreInvention @@ -1023,6 +1029,12 @@ Public Module Public_Variables .ItemME = SentBlueprint.GetME .FacilityMEModifier = FacilityMEModifier ' For full item, components will be saved in blueprint class for ComponentList .BuiltInPOS = BuiltInPOS + .BuildLocation = SentBlueprint.GetManufacturingFacility.FacilityName + + ' See if we need to add the system on to the end of the build location for POS + If BuiltInPOS Then + .BuildLocation = .BuildLocation & " (" & SentBlueprint.GetManufacturingFacility.SolarSystemName & ")" + End If ' Ignore flags .IgnoredInvention = IgnoreInvention @@ -1030,6 +1042,7 @@ Public Module Public_Variables .IgnoredT1BaseItem = IgnoreT1ITem .NumBPs = SentBlueprint.GetUsedNumBPs + .RunsPerBP = SentBlueprint.GetSingleInventedBPCRuns .BuildType = "Components" @@ -1219,6 +1232,24 @@ Public Module Public_Variables End Function + ' Updates the value in the progressbar for a smooth progress - total hack from this: http://stackoverflow.com/questions/977278/how-can-i-make-the-progress-bar-update-fast-enough/1214147#1214147 + Public Sub IncrementToolStripProgressBar(ByRef PG As ToolStripProgressBar) + If PG.Value <= PG.Maximum - 1 Then + PG.Value = PG.Value + 1 + PG.Value = PG.Value - 1 + PG.Value = PG.Value + 1 + End If + End Sub + + ' Updates the value in the progressbar for a smooth progress - total hack from this: http://stackoverflow.com/questions/977278/how-can-i-make-the-progress-bar-update-fast-enough/1214147#1214147 + Public Sub IncrementProgressBar(ByRef PG As ProgressBar) + If PG.Value <= PG.Maximum - 1 Then + PG.Value = PG.Value + 1 + PG.Value = PG.Value - 1 + PG.Value = PG.Value + 1 + End If + End Sub + ' Checks the error sent for EVE API data and shows forms etc based on error Public Function NoAPIError(ByVal ErrorText As String, ByVal KeyType As String) As Boolean Dim fAccessError As New frmAPIError diff --git a/IndustryFacility.vb b/IndustryFacility.vb index 264f93f..1f3789c 100644 --- a/IndustryFacility.vb +++ b/IndustryFacility.vb @@ -9,8 +9,7 @@ Public Class IndustryFacility Public FacilityType As String ' POS, Station, Outpost Public FacilityTypeID As Long ' type ID for facility - type of outpost, etc Public ProductionType As IndustryType ' What we are doing at this facility - Public Activity As String ' Activity type of the facility - Public ActivityID As Integer + Public ActivityID As Integer ' Activity code of the facility Public RegionName As String ' Region of this facility Public RegionID As Long Public SolarSystemName As String ' System where this is located @@ -31,7 +30,6 @@ Public Class IndustryFacility FacilityName = None FacilityType = None ProductionType = IndustryType.None - Activity = None ActivityID = 0 RegionName = None RegionID = 0 @@ -123,19 +121,14 @@ Public Class IndustryFacility ProductionType = .ProductionType Select Case ProductionType Case IndustryType.CapitalComponentManufacturing - Activity = ActivityCapComponentManufacturing ActivityID = 1 Case IndustryType.ComponentManufacturing - Activity = ActivityComponentManufacturing ActivityID = 1 Case IndustryType.Copying - Activity = ActivityCopying ActivityID = 7 Case IndustryType.Invention - Activity = ActivityInvention ActivityID = 8 Case Else - Activity = ActivityManufacturing ActivityID = 1 End Select RegionName = .RegionName @@ -350,14 +343,6 @@ Public Class IndustryFacility MaterialMultiplier = SearchFacilitySettings.MaterialMultiplier TimeMultiplier = SearchFacilitySettings.TimeMultiplier ActivityID = SearchFacilitySettings.ActivityID - Select Case ActivityID - Case 7 - Activity = ActivityCopying - Case 8 - Activity = ActivityInvention - Case Else - Activity = ActivityManufacturing - End Select ActivityCostPerSecond = SearchFacilitySettings.ActivityCostperSecond IsDefault = FacilityDefault FacilityTypeID = 0 @@ -442,8 +427,6 @@ Public Class IndustryFacility Return False ElseIf .ProductionType <> ProductionType Then Return False - ElseIf .Activity <> Activity Then - Return False ElseIf .ActivityID <> ActivityID Then Return False ElseIf .FacilityName <> FacilityName And Not (.FacilityType = POSFacility And ProductionType = IndustryType.Manufacturing) Then @@ -483,7 +466,6 @@ Public Class IndustryFacility CopyOfMe.FacilityType = FacilityType CopyOfMe.FacilityTypeID = FacilityTypeID CopyOfMe.ProductionType = ProductionType - CopyOfMe.Activity = Activity CopyOfMe.ActivityID = ActivityID CopyOfMe.RegionName = RegionName CopyOfMe.RegionID = RegionID diff --git a/Materials.vb b/Materials.vb index e0d12ca..095c40a 100644 --- a/Materials.vb +++ b/Materials.vb @@ -239,6 +239,7 @@ Public Class Materials Dim DataInterfaceVolume As Double Dim RelicDecryptorText As String = "" Dim NumBps As String = "" + Dim Location As String = "" Dim Separator As String = "" Dim BuildMaterialFieldsCSV = "ME, NumBPs, Decryptor/Relic, " @@ -294,7 +295,7 @@ Public Class Materials If MaterialList(i).GetMaterialGroup.Contains("|") Then ' We have a material from the shopping list, with three values in the material group - '.BuildType & "|" & .DecryptorRelic & "|" & .NumBPs + '.BuildType & "|" & .DecryptorRelic & "|" & .NumBPs & "|" & .Location ' Parse the fields Dim ItemColumns As String() = MaterialList(i).GetMaterialGroup.Split(New [Char]() {"|"c}) @@ -305,6 +306,7 @@ Public Class Materials End If NumBps = ItemColumns(2) + Location = ItemColumns(4) Else RelicDecryptorText = None NumBps = "-" @@ -333,13 +335,17 @@ Public Class Materials OutputString = OutputString & RelicDecryptorText & Separator End If - OutputString = OutputString & CStr(MaterialList(i).GetCostPerItem) & Separator & CStr(MaterialList(i).GetTotalCost) & vbCrLf + OutputString = OutputString & CStr(MaterialList(i).GetCostPerItem) & Separator & CStr(MaterialList(i).GetTotalCost) + + If Location <> "" Then + OutputString = OutputString & Separator & Location & vbCrLf + End If Else OutputString = OutputString & MatName If IncludeME Or IncludeDecryptorRelic Then - OutputString = OutputString & " (" ' Adding something so start the paren + OutputString = OutputString & " (" ' Adding something so start the parens If OutputME <> "-" Then OutputString = OutputString & "ME: " & OutputME @@ -360,11 +366,15 @@ Public Class Materials End If If Not MatName.Contains("Data Interface") Then - OutputString = OutputString & " - " & FormatNumber(MaterialList(i).GetQuantity, 0) & vbCrLf - Else - OutputString = OutputString & vbCrLf + OutputString = OutputString & " - " & FormatNumber(MaterialList(i).GetQuantity, 0) End If + If Location <> "" Then + OutputString = OutputString & ", Location: " & Location + End If + + OutputString = OutputString & vbCrLf + End If SkipFormat: Next diff --git a/ShoppingList.vb b/ShoppingList.vb index 411b9c0..22075d4 100644 --- a/ShoppingList.vb +++ b/ShoppingList.vb @@ -197,9 +197,11 @@ Public Class ShoppingList FoundItem.TotalItemMarketCost = FoundItem.TotalItemMarketCost / FoundItem.Quantity * UpdateItemQuantity FoundItem.TotalBuildTime = FoundItem.TotalBuildTime / FoundItem.Quantity * UpdateItemQuantity ' Update the invention jobs if they update this later - FoundItem.InventionJobs = CInt(Math.Ceiling(FoundItem.AvgInvRunsforSuccess * Math.Ceiling(UpdateItemQuantity / FoundItem.RunsPerBP))) - ' How many bps do we need to make? - FoundItem.NumBPs = CInt(Math.Ceiling(UpdateItemQuantity / FoundItem.RunsPerBP)) + If FoundItem.RunsPerBP <> 0 Then + FoundItem.InventionJobs = CInt(Math.Ceiling(FoundItem.AvgInvRunsforSuccess * Math.Ceiling(UpdateItemQuantity / FoundItem.RunsPerBP))) + ' How many bps do we need to make? + FoundItem.NumBPs = CInt(Math.Ceiling(UpdateItemQuantity / FoundItem.RunsPerBP)) + End If ' Finally update the quantity FoundItem.Quantity = UpdateItemQuantity End If @@ -688,7 +690,7 @@ Public Class ShoppingList Dim ItemColumns As String() = ItemNamesSortOrder(i).Split(New [Char]() {"|"c}) ' For each item, find it in the current buy list and replace - ' Item sort order Name, Quantity, ME, Num BPs, Build Type, Decryptor/Relic + ' Item sort order Name, Quantity, ME, Num BPs, Build Type, Decryptor/Relic, Location For j = 0 To FullItemList.GetMaterialList.Count - 1 With FullItemList.GetMaterialList(j) ' GroupName stores the build type Decryptor/Relic in item type ' Split out the Build Type, Decryptor, NumBps, and Relic @@ -705,7 +707,7 @@ Public Class ShoppingList If ItemName = .GetMaterialName And CLng(ItemColumns(1)) = .GetQuantity And ItemColumns(2) = .GetItemME _ And ItemColumns(4) = GroupNameItems(0) And ItemColumns(5) = GroupNameItems(1) _ - And ItemColumns(3) = GroupNameItems(2) And RelicName = GroupNameItems(3) Then + And ItemColumns(3) = GroupNameItems(2) And RelicName = GroupNameItems(3) And ItemColumns(6) = GroupNameItems(4) Then ' Found it, so insert into temp list TempMatList.InsertMaterial(FullItemList.GetMaterialList(j)) Exit For @@ -907,7 +909,7 @@ Public Class ShoppingList For i = 0 To TotalItemList.Count - 1 With TotalItemList(i) ' Item sort order is Build Type, Decryptor, NumBps, and Relic for the group name - TempMat = New Material(.TypeID, .Name, .BuildType & "|" & .Decryptor & "|" & CStr(.NumBPs) & "|" & CStr(.Relic), .Quantity, .BuildVolume, 0, CStr(.ItemME)) + TempMat = New Material(.TypeID, .Name, .BuildType & "|" & .Decryptor & "|" & CStr(.NumBPs) & "|" & CStr(.Relic) & "|" & .BuildLocation, .Quantity, .BuildVolume, 0, CStr(.ItemME)) End With ReturnMaterials.InsertMaterial(TempMat) Next @@ -1150,6 +1152,9 @@ Public Class ShoppingListItem ' For ME values to update with add/subtract in shopping list, item is either cap component, component, or anything else we are building Public FacilityMEModifier As Double + + Public BuildLocation As String ' This is the name of the station or Array (with system name) where we build the items + ' Flag to tell if the item is built in a POS or not Public BuiltInPOS As Boolean ' Ignore Variables @@ -1186,6 +1191,7 @@ Public Class ShoppingListItem BPMaterialList = Nothing FacilityMEModifier = 1 + BuildLocation = "" BuiltInPOS = False IgnoredInvention = False IgnoredMinerals = False diff --git a/frmBlueprintManagement.vb b/frmBlueprintManagement.vb index c2c19dd..d6c40e2 100644 --- a/frmBlueprintManagement.vb +++ b/frmBlueprintManagement.vb @@ -562,9 +562,9 @@ Public Class frmBlueprintManagement txtBPSearch.Text = "" - ' Start out not enabling this incase people accidently hit it - chkEnableMETE.Checked = True - Call EnableMETE(True) + ' Start out not checking this incase people accidently hit it + chkEnableMETE.Checked = False + Call EnableMETE(False) FirstLoad = False @@ -1414,11 +1414,23 @@ Public Class frmBlueprintManagement For Each item In checkedItems ' Select the BP type of using update selected and marking owned - If rbtnMarkasOwned.Checked Then - ' Save all BPs as copies - they can update if they want to, all items can have bpcs and it doesn't affect processing so this is easier + If rbtnMarkasOwned.Checked And item.SubItems(7).Text <> Yes Then + ' Save all BPs as copies if they aren't already owned - they can update if they want to, all items can have bpcs and it doesn't affect processing so this is easier TempBPType = BPType.Copy ElseIf rbtnMarkasUnowned.Checked Then TempBPType = BPType.NotOwned + Else + ' Set it to what they had in the grid + Select Case item.SubItems(8).Text + Case BPO + TempBPType = BPType.Original + Case BPC + TempBPType = BPType.Copy + Case InventedBPC + TempBPType = BPType.InventedBPC + Case Unknown + TempBPType = BPType.NotOwned + End Select End If ' Need to add selected blueprints to the character blueprints table, and set the ME and TE's as given or as stored diff --git a/frmMain.Designer.vb b/frmMain.Designer.vb index 2d67432..6a3c257 100644 --- a/frmMain.Designer.vb +++ b/frmMain.Designer.vb @@ -1670,9 +1670,8 @@ Partial Class frmMain ' Me.pnlSkills.AutoSize = false Me.pnlSkills.Name = "pnlSkills" - Me.pnlSkills.Size = New System.Drawing.Size(90, 17) + Me.pnlSkills.Size = New System.Drawing.Size(153, 17) Me.pnlSkills.Text = "Skills Overidden" - Me.pnlSkills.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'pnlShoppingList ' @@ -1692,7 +1691,7 @@ Partial Class frmMain ' Me.pnlProgressBar.AutoSize = false Me.pnlProgressBar.Name = "pnlProgressBar" - Me.pnlProgressBar.Size = New System.Drawing.Size(363, 16) + Me.pnlProgressBar.Size = New System.Drawing.Size(300, 16) Me.pnlProgressBar.Step = 1 Me.pnlProgressBar.Visible = false ' @@ -13257,10 +13256,10 @@ Partial Class frmMain ' 'frmMain ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(96!, 96!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi - Me.AutoScroll = True - Me.AutoSize = True + Me.AutoScroll = true + Me.AutoSize = true Me.ClientSize = New System.Drawing.Size(1146, 692) Me.Controls.Add(Me.txtListEdit) Me.Controls.Add(Me.tabMain) diff --git a/frmMain.vb b/frmMain.vb index 32c5b7e..9ce5f08 100644 --- a/frmMain.vb +++ b/frmMain.vb @@ -719,6 +719,19 @@ Public Class frmMain ttMain.SetToolTip(txtCalcLabLines, "Enter the number of Laboratory Lines you have to invent per day for calculations. Double-Click to enter max runs for this character.") ttMain.SetToolTip(txtCalcSVRThreshold, "No results with an SVR lower than the number entered will be returned.") + + ttMain.SetToolTip(lblCalcBaseFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcComponentFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcInventionFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcT3InventionFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcCopyFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcSuperFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcCapitalFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcT3FacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcSubsystemFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcBoosterFacilityDefault, "Double-Click to load default facility") + ttMain.SetToolTip(lblCalcNoPOSFacilityDefault, "Double-Click to load default facility") + End If FirstLoadCalcBPTypes = True FirstManufacturingGridLoad = True @@ -1827,7 +1840,7 @@ NoBonus: FacilityTypeCombo.Enabled = True ' Make sure default is not shown yet - FacilityDefaultLabel.Visible = False + 'FacilityDefaultLabel.Visible = False FacilitySaveButton.Enabled = False LoadingFacilityTypes = False @@ -1928,7 +1941,7 @@ NoBonus: FacilityCombo.Text = "Select Facility / Array" FacilityCombo.Enabled = False ' Make sure default is not checked yet - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow FacilitySaveButton.Enabled = False FacilityUsageCheck.Enabled = False Call HideFacilityBonusBoxes(FacilityBonusLabel, FacilityTaxRateLabel, FacilityManualMELabel, FacilityManualTELabel, _ @@ -2047,7 +2060,7 @@ NoBonus: End If FacilityCombo.Enabled = False ' Make sure default is not checked yet - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow FacilitySaveButton.Enabled = False FacilityUsageCheck.Enabled = False Call HideFacilityBonusBoxes(FacilityBonusLabel, FacilityTaxRateLabel, FacilityManualMELabel, FacilityManualTELabel, _ @@ -2217,12 +2230,12 @@ NoBonus: ' Make sure default is turned off since we still have to load the array FacilitySaveButton.Enabled = False - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow FacilityUsageCheck.Enabled = False ' Don't enable the usage either Else ' Since this is a different system but facility is loaded, enable save FacilitySaveButton.Enabled = True - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow FacilityUsageCheck.Enabled = True End If @@ -2235,7 +2248,7 @@ NoBonus: If NewFacility Then ' Make sure default is not checked yet - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow FacilitySaveButton.Enabled = False Call HideFacilityBonusBoxes(FacilityBonusLabel, FacilityTaxRateLabel, FacilityManualMELabel, FacilityManualTELabel, _ FacilityManualMETextBox, FacilityManualTETextBox, FacilityManualTaxLabel, FacilityManualTaxTextBox, FacilityUsageLabel) @@ -2420,13 +2433,10 @@ NoBonus: Select Case Activity Case ActivityManufacturing, ActivityComponentManufacturing, ActivityCapComponentManufacturing .ActivityID = IndustryActivities.Manufacturing - .Activity = ActivityManufacturing ' For all three, same flag Case ActivityCopying .ActivityID = IndustryActivities.Copying - .Activity = ActivityCopying Case ActivityInvention .ActivityID = IndustryActivities.Invention - .Activity = ActivityInvention End Select .ActivityCostPerSecond = 0 @@ -2874,10 +2884,12 @@ NoBonus: 'And PreviousFacility.SolarSystemName = SelectedFacility.SolarSystemName _ 'And PreviousFacility.RegionName = SelectedFacility.RegionName _ 'And PreviousFacility.IncludeActivityUsage = SelectedFacility.IncludeActivityUsage) Then - FacilityDefaultLabel.Visible = True + FacilityDefaultLabel.ForeColor = SystemColors.Highlight + Call ResetToolTipforDefaultFacilityLabel(FacilityDefaultLabel, False) FacilitySaveButton.Enabled = False ' don't enable since it's already the default, it's pointless to save it Else - FacilityDefaultLabel.Visible = False + FacilityDefaultLabel.ForeColor = SystemColors.ButtonShadow + Call ResetToolTipforDefaultFacilityLabel(FacilityDefaultLabel, True) FacilitySaveButton.Enabled = True End If @@ -3069,6 +3081,15 @@ NoBonus: End Sub + ' Sets the tool tip text for default facility labels if they can double click to reload + Private Sub ResetToolTipforDefaultFacilityLabel(ByRef FacilityDefaultLabel As Label, ByVal ShowTip As Boolean) + If ShowTip And UserApplicationSettings.ShowToolTips Then + ttMain.SetToolTip(FacilityDefaultLabel, "Double-Click to reload default facility") + Else + ttMain.SetToolTip(FacilityDefaultLabel, "") + End If + End Sub + #End Region ' Keypress, Keyup, and Lost focus functions for manual ME/TE/Tax boxes @@ -3574,6 +3595,9 @@ NoBonus: SelectedBPManufacturingFacility = CType(BuildFacility.Clone, IndustryFacility) End Select + ' Make sure to set they type of facility we are using + cmbBPFacilityType.Text = BuildFacility.FacilityType + ' Set the teams SelectedBPManufacturingTeam = CType(BuildTeam.Clone, IndustryTeam) SelectedBPComponentManufacturingTeam = CType(ComponentTeam.Clone, IndustryTeam) @@ -5299,6 +5323,13 @@ Tabs: txtListEdit.Hide() End Sub + Private Sub lstPricesView_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstPricesView.ColumnWidthChanging + If e.ColumnIndex = 0 Or e.ColumnIndex >= 4 Then + e.Cancel = True + e.NewWidth = lstPricesView.Columns(e.ColumnIndex).Width + End If + End Sub + ' Detects Scroll event and hides boxes Private Sub lstPricesView_ProcMsg(ByVal m As System.Windows.Forms.Message) Handles lstPricesView.ProcMsg txtListEdit.Hide() @@ -5720,6 +5751,36 @@ Tabs: End Sub + Private Sub lblBPFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblBPFacilityDefault.Click + ' Load the default facility for the selected activity if it's not already the default + If lblBPFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + LoadingFacilityActivities = True ' Don't trigger a combo load yet + chkBPFacilityIncludeUsage.Checked = DefaultBPManufacturingFacility.IncludeActivityUsage ' Make sure this is set before loading + + Dim SetActivity As IndustryType + + Select Case cmbBPFacilityActivities.Text + Case ActivityManufacturing + SetActivity = IndustryType.Manufacturing + Case ActivityCapComponentManufacturing + SetActivity = IndustryType.CapitalComponentManufacturing + Case ActivityComponentManufacturing + SetActivity = IndustryType.ComponentManufacturing + Case ActivityCopying + SetActivity = IndustryType.Copying + Case ActivityInvention + SetActivity = IndustryType.Invention + End Select + + Call LoadFacility(SetActivity, True, False, _ + cmbBPFacilityActivities.Text, cmbBPFacilityType, cmbBPFacilityRegion, cmbBPFacilitySystem, cmbBPFacilityorArray, _ + lblBPFacilityBonus, lblBPFacilityDefault, lblBPFacilityManualME, txtBPFacilityManualME, _ + lblBPFacilityManualTE, txtBPFacilityManualTE, lblBPFacilityManualTax, txtBPFacilityManualTax, btnBPFacilitySave, lblBPFacilityTaxRate, _ + BPTab, chkBPFacilityIncludeUsage, Nothing, Nothing, Nothing, FullyLoadedBPFacility, cmbBPFacilityActivities, 1, 0, 0, True, False) + LoadingFacilityActivities = False + End If + End Sub + ' For outposts, save the ME/TE/Tax data since this is specific to the user's input Private Sub UpdateMMTMTaxDataforOutpost(ByRef SentFacility As IndustryFacility, Activity As IndustryActivities) Dim SQL As String @@ -7370,8 +7431,6 @@ Tabs: SQL = "SELECT ALL_BLUEPRINTS.BLUEPRINT_ID, TECH_LEVEL, ITEM_TYPE, ITEM_GROUP_ID, ITEM_CATEGORY_ID " SQL = SQL & "FROM ALL_BLUEPRINTS " - 'SQL = SQL & "LEFT JOIN OWNED_BLUEPRINTS ON ALL_BLUEPRINTS.BLUEPRINT_ID = OWNED_BLUEPRINTS.BLUEPRINT_ID " - 'SQL = SQL & "AND OWNED_BLUEPRINTS.USER_ID = " & SelectedCharacter.ID & " " SQL = SQL & "WHERE ALL_BLUEPRINTS.BLUEPRINT_NAME = " If SelectedBPText <> "" Then @@ -7558,7 +7617,7 @@ Tabs: BPTeamComboLoaded = False - ' Load the facility types + ' Load the facility activity types for this setup Call LoadFacilityActivities(TempTech, True, cmbBPFacilityActivities, ItemGroupID, ItemCategoryID) ' Make sure the selection is in the list of options, set to manufacturing if not @@ -10486,8 +10545,6 @@ ExitForm: Dim MaxRequestsperSecond As Integer = CRESTHistory.GetRatePerSecond For i = 0 To Pairs.Count - 1 - pnlProgressBar.Value = i - Application.DoEvents() ' Add limiting if needed here - only wait if we go over the per request limit and only for the time left PricesUpdated = CRESTHistory.UpdateMarketHistory(Pairs(i).ItemID, Pairs(i).RegionID, False) @@ -10516,6 +10573,10 @@ ExitForm: CRESTHistory.RecordsInserted = 0 End If End If + + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + Application.DoEvents() Next ' Finish updating the DB @@ -10712,7 +10773,7 @@ ExitSub: End If ' For each record, update the progress bar - pnlProgressBar.Value = pnlProgressBar.Value + 1 + Call IncrementToolStripProgressBar(pnlProgressBar) Application.DoEvents() Next @@ -10766,7 +10827,7 @@ ExitSub: ' Loop through the list of items to get full query of just those that need to be updated For i = 0 To CacheItems.Count - 1 - pnlProgressBar.Value = i + ' Reset Insert InsertRecord = False @@ -10818,6 +10879,9 @@ ExitSub: End If + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + Application.DoEvents() Next @@ -10877,8 +10941,9 @@ ExitSub: Call ExecuteNonQuerySQL(SQL) - ' Update the Progress bar - pnlProgressBar.Value = pnlProgressBar.Value + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + Application.DoEvents() Next @@ -11334,6 +11399,72 @@ ExitSub: #Region "Manufacturing Object Functions" + Private Sub lblCalcBaseFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcBaseFacilityDefault.Click + If lblCalcBaseFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcBaseFacility() + End If + End Sub + + Private Sub lblCalcComponentFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcComponentFacilityDefault.Click + If lblCalcComponentFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcComponentFacility() + End If + End Sub + + Private Sub lblCalcCopyFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcCopyFacilityDefault.Click + If lblCalcCopyFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcCopyFacility() + End If + End Sub + + Private Sub lblCalcInventionFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcInventionFacilityDefault.Click + If lblCalcInventionFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcT2InventionFacility() + End If + End Sub + + Private Sub lblCalcT3InventionFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcT3InventionFacilityDefault.Click + If lblCalcT3InventionFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcT3InventionFacility() + End If + End Sub + + Private Sub lblCalcSuperFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcSuperFacilityDefault.Click + If lblCalcSuperFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcSuperFacility() + End If + End Sub + + Private Sub lblCalcCapitalFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcCapitalFacilityDefault.Click + If lblCalcCapitalFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcCapFacility() + End If + End Sub + + Private Sub lblCalcT3FacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcT3FacilityDefault.Click + If lblCalcT3FacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcT3Facility() + End If + End Sub + + Private Sub lblCalcSubsystemFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcSubsystemFacilityDefault.Click + If lblCalcSubsystemFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcSubsystemFacility() + End If + End Sub + + Private Sub lblCalcBoosterFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcBoosterFacilityDefault.Click + If lblCalcBoosterFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcBoosterFacility() + End If + End Sub + + Private Sub lblCalcNoPOSFacilityDefault_Click(sender As System.Object, e As System.EventArgs) Handles lblCalcNoPOSFacilityDefault.Click + If lblCalcNoPOSFacilityDefault.ForeColor = SystemColors.ButtonShadow Then + Call LoadDefaultCalcNoPOSFacility() + End If + End Sub + ' CalcBaseFacility functions Private Sub cmbCalcBaseFacilityType_DropDown(sender As Object, e As System.EventArgs) Handles cmbCalcBaseFacilityType.DropDown PreviousCalcBaseFacilityType = cmbCalcBaseFacilityType.Text @@ -11473,12 +11604,14 @@ ExitSub: And chkCalcBaseFacilityIncludeUsage.Checked = .IncludeActivityUsage Then ' Is the default, set it btnCalcBaseFacilitySave.Enabled = False - lblCalcBaseFacilityDefault.Visible = True + lblCalcBaseFacilityDefault.ForeColor = SystemColors.Highlight + Call ResetToolTipforDefaultFacilityLabel(lblCalcBaseFacilityDefault, False) SelectedCalcBaseManufacturingFacility.IsDefault = True Else ' Allow saving of default btnCalcBaseFacilitySave.Enabled = True - lblCalcBaseFacilityDefault.Visible = False + lblCalcBaseFacilityDefault.ForeColor = SystemColors.ButtonShadow + Call ResetToolTipforDefaultFacilityLabel(lblCalcBaseFacilityDefault, True) SelectedCalcBaseManufacturingFacility.IsDefault = False End If End With @@ -11595,7 +11728,9 @@ ExitSub: DefaultCalcPOSModuleFacility = CType(SelectedCalcPOSModuleFacility.Clone, IndustryFacility) End If - lblCalcBaseFacilityDefault.Visible = True + lblCalcBaseFacilityDefault.ForeColor = SystemColors.Highlight + Call ResetToolTipforDefaultFacilityLabel(lblCalcBaseFacilityDefault, False) + ' They just saved it btnCalcBaseFacilitySave.Enabled = False @@ -16185,188 +16320,17 @@ CheckTechs: CalcCopyTeamComboLoaded = False ' Load the Default facilities for the tab - LoadingFacilityActivities = True ' Don't trigger a combo load yet - CalcBaseFacilityLoaded = False - chkCalcBaseFacilityIncludeUsage.Checked = DefaultCalcBaseManufacturingFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.Manufacturing, True, False, _ - ActivityManufacturing, cmbCalcBaseFacilityType, cmbCalcBaseFacilityRegion, cmbCalcBaseFacilitySystem, cmbCalcBaseFacilityorArray, _ - lblCalcBaseFacilityBonus, lblCalcBaseFacilityDefault, _ - lblCalcBaseFacilityManualME, txtCalcBaseFacilityManualME, _ - lblCalcBaseFacilityManualTE, txtCalcBaseFacilityManualTE, _ - lblCalcBaseFacilityManualTax, txtCalcBaseFacilityManualTax, _ - btnCalcBaseFacilitySave, lblCalcBaseFacilityTaxRate, _ - CalcTab, chkCalcBaseFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcBaseFacilityLoaded, Nothing, 1, 0, 0, False) - If cmbCalcBaseFacilityType.Text = POSFacility Then - ' Show the POS modules for multi-use - SetPOSMultiUseArraysVisibility(True) - Call HideFacilityBonusBoxes(lblCalcBaseFacilityBonus, lblCalcBaseFacilityTaxRate, _ - lblCalcBaseFacilityManualME, lblCalcBaseFacilityManualTE, _ - txtCalcBaseFacilityManualME, txtCalcBaseFacilityManualTE, _ - lblCalcBaseFacilityManualTax, txtCalcBaseFacilityManualTax) - ' Set the default values - need to truncate the names though - cmbCalcPOSFuelBlocks.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSFuelBlockFacility.FacilityName) - cmbCalcPOSLargeShips.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSLargeShipFacility.FacilityName) - cmbCalcPOSModules.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSModuleFacility.FacilityName) - Else - SetPOSMultiUseArraysVisibility(False) - End If - - LoadingFacilityActivities = False - - ' Based on the settings, load either the cap stuff or the base component stuff - LoadingFacilityActivities = True - Call SetComponentFacilityLoaded(chkCalcCapComponentsFacility.Checked, False) - If .CheckCapitalComponentsFacility Then - chkCalcComponentFacilityIncludeUsage.Checked = DefaultCalcCapitalComponentManufacturingFacility.IncludeActivityUsage - Else - chkCalcComponentFacilityIncludeUsage.Checked = DefaultCalcComponentManufacturingFacility.IncludeActivityUsage - End If - Call LoadFacility(GetComponentsIndustryType(.CheckCapitalComponentsFacility), True, False, _ - ActivityComponentManufacturing, cmbCalcComponentFacilityType, cmbCalcComponentFacilityRegion, cmbCalcComponentFacilitySystem, cmbCalcComponentFacilityorArray, _ - lblCalcComponentFacilityBonus, lblCalcComponentFacilityDefault, _ - lblCalcComponentFacilityManualME, txtCalcComponentFacilityManualME, _ - lblCalcComponentFacilityManualTE, txtCalcComponentFacilityManualTE, _ - lblCalcComponentFacilityManualTax, txtCalcComponentFacilityManualTax, _ - btnCalcComponentFacilitySave, lblCalcComponentFacilityTaxRate, _ - CalcTab, chkCalcComponentFacilityIncludeUsage, Nothing, Nothing, Nothing, TempCalcComponentFacilityLoaded, _ - Nothing, 1, GetComponentsGroupID(.CheckCapitalComponentsFacility), -1, False) - Call SetComponentFacilityLoaded(chkCalcCapComponentsFacility.Checked, TempCalcComponentFacilityLoaded) - ' Need to set the other facility as loaded to ensure it doesn't get reloaded on tab, if any changes are made it will reload - Call SetComponentFacilityLoaded(Not chkCalcCapComponentsFacility.Checked, TempCalcComponentFacilityLoaded) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcInventionFacilityLoaded = False - chkCalcInventionFacilityIncludeUsage.Checked = DefaultCalcInventionFacility.IncludeActivityUsage - chkCalcInventionFacilityIncludeCost.Checked = DefaultCalcInventionFacility.IncludeActivityCost - chkCalcInventionFacilityIncludeTime.Checked = DefaultCalcInventionFacility.IncludeActivityTime - Call LoadFacility(IndustryType.Invention, True, False, _ - ActivityInvention, cmbCalcInventionFacilityType, cmbCalcInventionFacilityRegion, cmbCalcInventionFacilitySystem, cmbCalcInventionFacilityorArray, _ - lblCalcInventionFacilityBonus, lblCalcInventionFacilityDefault, _ - lblCalcInventionFacilityManualME, txtCalcInventionFacilityManualME, _ - lblCalcInventionFacilityManualTE, txtCalcInventionFacilityManualTE, _ - lblCalcInventionFacilityManualTax, txtCalcInventionFacilityManualTax, _ - btnCalcInventionFacilitySave, lblCalcInventionFacilityTaxRate, _ - CalcTab, chkCalcInventionFacilityIncludeUsage, lblCalcInventionInclude, chkCalcInventionFacilityIncludeCost, chkCalcInventionFacilityIncludeTime, CalcInventionFacilityLoaded, Nothing, 1, 0, 0, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcT3InventionFacilityLoaded = False - chkCalcT3InventionFacilityIncludeUsage.Checked = DefaultCalcT3InventionFacility.IncludeActivityUsage - chkCalcT3InventionFacilityIncludeCost.Checked = DefaultCalcT3InventionFacility.IncludeActivityCost - chkCalcT3InventionFacilityIncludeTime.Checked = DefaultCalcT3InventionFacility.IncludeActivityTime - Call LoadFacility(IndustryType.T3Invention, True, False, _ - ActivityInvention, cmbCalcT3InventionFacilityType, cmbCalcT3InventionFacilityRegion, cmbCalcT3InventionFacilitySystem, cmbCalcT3InventionFacilityorArray, _ - lblCalcT3InventionFacilityBonus, lblCalcT3InventionFacilityDefault, _ - lblCalcT3InventionFacilityManualME, txtCalcT3InventionFacilityManualME, _ - lblCalcT3InventionFacilityManualTE, txtCalcT3InventionFacilityManualTE, _ - lblCalcT3InventionFacilityManualTax, txtCalcT3InventionFacilityManualTax, _ - btnCalcT3InventionFacilitySave, lblCalcT3InventionFacilityTaxRate, _ - CalcTab, chkCalcT3InventionFacilityIncludeUsage, lblCalcT3InventionInclude, chkCalcT3InventionFacilityIncludeCost, chkCalcT3InventionFacilityIncludeTime, CalcT3InventionFacilityLoaded, Nothing, 1, StrategicCruiserGroupID, -1, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcCopyFacilityLoaded = False - chkCalcCopyFacilityIncludeUsage.Checked = DefaultCalcCopyFacility.IncludeActivityUsage - chkCalcCopyFacilityIncludeCost.Checked = DefaultCalcCopyFacility.IncludeActivityCost - chkCalcCopyFacilityIncludeTime.Checked = DefaultCalcCopyFacility.IncludeActivityTime - Call LoadFacility(IndustryType.Copying, True, False, _ - ActivityCopying, cmbCalcCopyFacilityType, cmbCalcCopyFacilityRegion, cmbCalcCopyFacilitySystem, cmbCalcCopyFacilityorArray, _ - lblCalcCopyFacilityBonus, lblCalcCopyFacilityDefault, _ - lblCalcCopyFacilityManualME, txtCalcCopyFacilityManualME, _ - lblCalcCopyFacilityManualTE, txtCalcCopyFacilityManualTE, _ - lblCalcCopyFacilityManualTax, txtCalcCopyFacilityManualTax, _ - btnCalcCopyFacilitySave, lblCalcCopyFacilityTaxRate, _ - CalcTab, chkCalcCopyFacilityIncludeUsage, lblCalcCopyInclude, chkCalcCopyFacilityIncludeCost, chkCalcCopyFacilityIncludeTime, CalcCopyFacilityLoaded, Nothing, 1, 0, 0, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcNoPOSFacilityLoaded = False - chkCalcNoPOSFacilityIncludeUsage.Checked = DefaultCalcNoPOSFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.NoPOSManufacturing, True, False, _ - ActivityManufacturing, cmbCalcNoPOSFacilityType, cmbCalcNoPOSFacilityRegion, cmbCalcNoPOSFacilitySystem, cmbCalcNoPOSFacilityorArray, _ - lblCalcNoPOSFacilityBonus, lblCalcNoPOSFacilityDefault, _ - lblCalcNoPOSFacilityManualME, txtCalcNoPOSFacilityManualME, _ - lblCalcNoPOSFacilityManualTE, txtCalcNoPOSFacilityManualTE, _ - lblCalcNoPOSFacilityManualTax, txtCalcNoPOSFacilityManualTax, _ - btnCalcNoPOSFacilitySave, lblCalcNoPOSFacilityTaxRate, _ - CalcTab, chkCalcNoPOSFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcNoPOSFacilityLoaded, Nothing, 1, -1, SovStructureCategoryID, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcSuperFacilityLoaded = False - chkCalcSuperFacilityIncludeUsage.Checked = DefaultCalcSuperManufacturingFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.SuperManufacturing, True, False, _ - ActivityManufacturing, cmbCalcSuperFacilityType, cmbCalcSuperFacilityRegion, cmbCalcSuperFacilitySystem, cmbCalcSuperFacilityorArray, _ - lblCalcSuperFacilityBonus, lblCalcSuperFacilityDefault, _ - lblCalcSuperFacilityManualME, txtCalcSuperFacilityManualME, _ - lblCalcSuperFacilityManualTE, txtCalcSuperFacilityManualTE, _ - lblCalcSuperFacilityManualTax, txtCalcSuperFacilityManualTax, _ - btnCalcSuperFacilitySave, lblCalcSuperFacilityTaxRate, _ - CalcTab, chkCalcSuperFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcSuperFacilityLoaded, Nothing, 1, SupercarrierGroupID, -1, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcCapitalFacilityLoaded = False - chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcCapitalManufacturingFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.CapitalManufacturing, True, False, _ - ActivityManufacturing, cmbCalcCapitalFacilityType, cmbCalcCapitalFacilityRegion, cmbCalcCapitalFacilitySystem, cmbCalcCapitalFacilityorArray, _ - lblCalcCapitalFacilityBonus, lblCalcCapitalFacilityDefault, _ - lblCalcCapitalFacilityManualME, txtCalcCapitalFacilityManualME, _ - lblCalcCapitalFacilityManualTE, txtCalcCapitalFacilityManualTE, _ - lblCalcCapitalFacilityManualTax, txtCalcCapitalFacilityManualTax, _ - btnCalcCapitalFacilitySave, lblCalcCapitalFacilityTaxRate, _ - CalcTab, chkCalcCapitalFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcCapitalFacilityLoaded, Nothing, 1, DreadnoughtGroupID, -1, False) - - LoadingFacilityActivities = False - - ' Based on the settings, load either the T3 Cruiser or Destroyer facility - LoadingFacilityActivities = True - Call SetT3FacilityLoaded(chkCalcT3DestroyersFacility.Checked, False) - If .CheckT3DestroyerFacility Then - chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcT3DestroyerManufacturingFacility.IncludeActivityUsage - Else - chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcT3CruiserManufacturingFacility.IncludeActivityUsage - End If - Call LoadFacility(GetT3ShipIndustryType(.CheckT3DestroyerFacility), True, False, _ - ActivityManufacturing, cmbCalcT3FacilityType, cmbCalcT3FacilityRegion, cmbCalcT3FacilitySystem, cmbCalcT3FacilityorArray, _ - lblCalcT3FacilityBonus, lblCalcT3FacilityDefault, _ - lblCalcT3FacilityManualME, txtCalcT3FacilityManualME, _ - lblCalcT3FacilityManualTE, txtCalcT3FacilityManualTE, _ - lblCalcT3FacilityManualTax, txtCalcT3FacilityManualTax, _ - btnCalcT3FacilitySave, lblCalcT3FacilityTaxRate, _ - CalcTab, chkCalcT3FacilityIncludeUsage, Nothing, Nothing, Nothing, TempCalcT3FacilityLoaded, Nothing, _ - 1, GetT3ShipGroupID(.CheckT3DestroyerFacility), -1, False) - Call SetT3FacilityLoaded(chkCalcT3DestroyersFacility.Checked, TempCalcT3FacilityLoaded) - ' Need to set the other facility as loaded to ensure it doesn't get reloaded on tab, if any changes are made it will reload - Call SetComponentFacilityLoaded(Not chkCalcT3DestroyersFacility.Checked, TempCalcT3FacilityLoaded) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcSubsystemFacilityLoaded = False - chkCalcSubsystemFacilityIncludeUsage.Checked = DefaultCalcSubsystemManufacturingFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.SubsystemManufacturing, True, False, _ - ActivityManufacturing, cmbCalcSubsystemFacilityType, cmbCalcSubsystemFacilityRegion, cmbCalcSubsystemFacilitySystem, cmbCalcSubsystemFacilityorArray, _ - lblCalcSubsystemFacilityBonus, lblCalcSubsystemFacilityDefault, _ - lblCalcSubsystemFacilityManualME, txtCalcSubsystemFacilityManualME, _ - lblCalcSubsystemFacilityManualTE, txtCalcSubsystemFacilityManualTE, _ - lblCalcSubsystemFacilityManualTax, txtCalcSubsystemFacilityManualTax, _ - btnCalcSubsystemFacilitySave, lblCalcSubsystemFacilityTaxRate, _ - CalcTab, chkCalcSubsystemFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcSubsystemFacilityLoaded, Nothing, 1, -1, SubsystemCategoryID, False) - LoadingFacilityActivities = False - - LoadingFacilityActivities = True - CalcBoosterFacilityLoaded = False - chkCalcBoosterFacilityIncludeUsage.Checked = DefaultCalcBoosterManufacturingFacility.IncludeActivityUsage - Call LoadFacility(IndustryType.BoosterManufacturing, True, False, _ - ActivityManufacturing, cmbCalcBoosterFacilityType, cmbCalcBoosterFacilityRegion, cmbCalcBoosterFacilitySystem, cmbCalcBoosterFacilityorArray, _ - lblCalcBoosterFacilityBonus, lblCalcBoosterFacilityDefault, _ - lblCalcBoosterFacilityManualME, txtCalcBoosterFacilityManualME, _ - lblCalcBoosterFacilityManualTE, txtCalcBoosterFacilityManualTE, _ - lblCalcBoosterFacilityManualTax, txtCalcBoosterFacilityManualTax, _ - btnCalcBoosterFacilitySave, lblCalcBoosterFacilityTaxRate, _ - CalcTab, chkCalcBoosterFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcBoosterFacilityLoaded, Nothing, 1, BoosterGroupID, -1, False) - LoadingFacilityActivities = False + Call LoadDefaultCalcBaseFacility() + Call LoadDefaultCalcComponentFacility() + Call LoadDefaultCalcT2InventionFacility() + Call LoadDefaultCalcT3InventionFacility() + Call LoadDefaultCalcCopyFacility() + Call LoadDefaultCalcNoPOSFacility() + Call LoadDefaultCalcSuperFacility() + Call LoadDefaultCalcCapFacility() + Call LoadDefaultCalcT3Facility() + Call LoadDefaultCalcSubsystemFacility() + Call LoadDefaultCalcBoosterFacility() ' Other defaults txtCalcTempME.Text = CStr(UserApplicationSettings.DefaultBPME) @@ -16398,6 +16362,213 @@ CheckTechs: End Sub + ' Loads the default base facility + Private Sub LoadDefaultCalcBaseFacility() + LoadingFacilityActivities = True ' Don't trigger a combo load yet + CalcBaseFacilityLoaded = False + chkCalcBaseFacilityIncludeUsage.Checked = DefaultCalcBaseManufacturingFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.Manufacturing, True, False, _ + ActivityManufacturing, cmbCalcBaseFacilityType, cmbCalcBaseFacilityRegion, cmbCalcBaseFacilitySystem, cmbCalcBaseFacilityorArray, _ + lblCalcBaseFacilityBonus, lblCalcBaseFacilityDefault, _ + lblCalcBaseFacilityManualME, txtCalcBaseFacilityManualME, _ + lblCalcBaseFacilityManualTE, txtCalcBaseFacilityManualTE, _ + lblCalcBaseFacilityManualTax, txtCalcBaseFacilityManualTax, _ + btnCalcBaseFacilitySave, lblCalcBaseFacilityTaxRate, _ + CalcTab, chkCalcBaseFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcBaseFacilityLoaded, Nothing, 1, 0, 0, False) + If cmbCalcBaseFacilityType.Text = POSFacility Then + ' Show the POS modules for multi-use + SetPOSMultiUseArraysVisibility(True) + Call HideFacilityBonusBoxes(lblCalcBaseFacilityBonus, lblCalcBaseFacilityTaxRate, _ + lblCalcBaseFacilityManualME, lblCalcBaseFacilityManualTE, _ + txtCalcBaseFacilityManualME, txtCalcBaseFacilityManualTE, _ + lblCalcBaseFacilityManualTax, txtCalcBaseFacilityManualTax) + ' Set the default values - need to truncate the names though + cmbCalcPOSFuelBlocks.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSFuelBlockFacility.FacilityName) + cmbCalcPOSLargeShips.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSLargeShipFacility.FacilityName) + cmbCalcPOSModules.Text = GetTruncatedCalcPOSMultiUseArrayName(SelectedCalcPOSModuleFacility.FacilityName) + Else + SetPOSMultiUseArraysVisibility(False) + End If + + LoadingFacilityActivities = False + End Sub + + ' Loads the default calc component facility + Private Sub LoadDefaultCalcComponentFacility() + ' Based on the settings, load either the cap stuff or the base component stuff + LoadingFacilityActivities = True + Call SetComponentFacilityLoaded(chkCalcCapComponentsFacility.Checked, False) + If UserManufacturingTabSettings.CheckCapitalComponentsFacility Then + chkCalcComponentFacilityIncludeUsage.Checked = DefaultCalcCapitalComponentManufacturingFacility.IncludeActivityUsage + Else + chkCalcComponentFacilityIncludeUsage.Checked = DefaultCalcComponentManufacturingFacility.IncludeActivityUsage + End If + Call LoadFacility(GetComponentsIndustryType(UserManufacturingTabSettings.CheckCapitalComponentsFacility), True, False, _ + ActivityComponentManufacturing, cmbCalcComponentFacilityType, cmbCalcComponentFacilityRegion, cmbCalcComponentFacilitySystem, cmbCalcComponentFacilityorArray, _ + lblCalcComponentFacilityBonus, lblCalcComponentFacilityDefault, _ + lblCalcComponentFacilityManualME, txtCalcComponentFacilityManualME, _ + lblCalcComponentFacilityManualTE, txtCalcComponentFacilityManualTE, _ + lblCalcComponentFacilityManualTax, txtCalcComponentFacilityManualTax, _ + btnCalcComponentFacilitySave, lblCalcComponentFacilityTaxRate, _ + CalcTab, chkCalcComponentFacilityIncludeUsage, Nothing, Nothing, Nothing, TempCalcComponentFacilityLoaded, _ + Nothing, 1, GetComponentsGroupID(UserManufacturingTabSettings.CheckCapitalComponentsFacility), -1, False) + Call SetComponentFacilityLoaded(chkCalcCapComponentsFacility.Checked, TempCalcComponentFacilityLoaded) + ' Need to set the other facility as loaded to ensure it doesn't get reloaded on tab, if any changes are made it will reload + Call SetComponentFacilityLoaded(Not chkCalcCapComponentsFacility.Checked, TempCalcComponentFacilityLoaded) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcT2InventionFacility() + LoadingFacilityActivities = True + CalcInventionFacilityLoaded = False + chkCalcInventionFacilityIncludeUsage.Checked = DefaultCalcInventionFacility.IncludeActivityUsage + chkCalcInventionFacilityIncludeCost.Checked = DefaultCalcInventionFacility.IncludeActivityCost + chkCalcInventionFacilityIncludeTime.Checked = DefaultCalcInventionFacility.IncludeActivityTime + Call LoadFacility(IndustryType.Invention, True, False, _ + ActivityInvention, cmbCalcInventionFacilityType, cmbCalcInventionFacilityRegion, cmbCalcInventionFacilitySystem, cmbCalcInventionFacilityorArray, _ + lblCalcInventionFacilityBonus, lblCalcInventionFacilityDefault, _ + lblCalcInventionFacilityManualME, txtCalcInventionFacilityManualME, _ + lblCalcInventionFacilityManualTE, txtCalcInventionFacilityManualTE, _ + lblCalcInventionFacilityManualTax, txtCalcInventionFacilityManualTax, _ + btnCalcInventionFacilitySave, lblCalcInventionFacilityTaxRate, _ + CalcTab, chkCalcInventionFacilityIncludeUsage, lblCalcInventionInclude, chkCalcInventionFacilityIncludeCost, chkCalcInventionFacilityIncludeTime, CalcInventionFacilityLoaded, Nothing, 1, 0, 0, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcT3InventionFacility() + LoadingFacilityActivities = True + CalcT3InventionFacilityLoaded = False + chkCalcT3InventionFacilityIncludeUsage.Checked = DefaultCalcT3InventionFacility.IncludeActivityUsage + chkCalcT3InventionFacilityIncludeCost.Checked = DefaultCalcT3InventionFacility.IncludeActivityCost + chkCalcT3InventionFacilityIncludeTime.Checked = DefaultCalcT3InventionFacility.IncludeActivityTime + Call LoadFacility(IndustryType.T3Invention, True, False, _ + ActivityInvention, cmbCalcT3InventionFacilityType, cmbCalcT3InventionFacilityRegion, cmbCalcT3InventionFacilitySystem, cmbCalcT3InventionFacilityorArray, _ + lblCalcT3InventionFacilityBonus, lblCalcT3InventionFacilityDefault, _ + lblCalcT3InventionFacilityManualME, txtCalcT3InventionFacilityManualME, _ + lblCalcT3InventionFacilityManualTE, txtCalcT3InventionFacilityManualTE, _ + lblCalcT3InventionFacilityManualTax, txtCalcT3InventionFacilityManualTax, _ + btnCalcT3InventionFacilitySave, lblCalcT3InventionFacilityTaxRate, _ + CalcTab, chkCalcT3InventionFacilityIncludeUsage, lblCalcT3InventionInclude, chkCalcT3InventionFacilityIncludeCost, chkCalcT3InventionFacilityIncludeTime, CalcT3InventionFacilityLoaded, Nothing, 1, StrategicCruiserGroupID, -1, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcCopyFacility() + LoadingFacilityActivities = True + CalcCopyFacilityLoaded = False + chkCalcCopyFacilityIncludeUsage.Checked = DefaultCalcCopyFacility.IncludeActivityUsage + chkCalcCopyFacilityIncludeCost.Checked = DefaultCalcCopyFacility.IncludeActivityCost + chkCalcCopyFacilityIncludeTime.Checked = DefaultCalcCopyFacility.IncludeActivityTime + Call LoadFacility(IndustryType.Copying, True, False, _ + ActivityCopying, cmbCalcCopyFacilityType, cmbCalcCopyFacilityRegion, cmbCalcCopyFacilitySystem, cmbCalcCopyFacilityorArray, _ + lblCalcCopyFacilityBonus, lblCalcCopyFacilityDefault, _ + lblCalcCopyFacilityManualME, txtCalcCopyFacilityManualME, _ + lblCalcCopyFacilityManualTE, txtCalcCopyFacilityManualTE, _ + lblCalcCopyFacilityManualTax, txtCalcCopyFacilityManualTax, _ + btnCalcCopyFacilitySave, lblCalcCopyFacilityTaxRate, _ + CalcTab, chkCalcCopyFacilityIncludeUsage, lblCalcCopyInclude, chkCalcCopyFacilityIncludeCost, chkCalcCopyFacilityIncludeTime, CalcCopyFacilityLoaded, Nothing, 1, 0, 0, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcNoPOSFacility() + LoadingFacilityActivities = True + CalcNoPOSFacilityLoaded = False + chkCalcNoPOSFacilityIncludeUsage.Checked = DefaultCalcNoPOSFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.NoPOSManufacturing, True, False, _ + ActivityManufacturing, cmbCalcNoPOSFacilityType, cmbCalcNoPOSFacilityRegion, cmbCalcNoPOSFacilitySystem, cmbCalcNoPOSFacilityorArray, _ + lblCalcNoPOSFacilityBonus, lblCalcNoPOSFacilityDefault, _ + lblCalcNoPOSFacilityManualME, txtCalcNoPOSFacilityManualME, _ + lblCalcNoPOSFacilityManualTE, txtCalcNoPOSFacilityManualTE, _ + lblCalcNoPOSFacilityManualTax, txtCalcNoPOSFacilityManualTax, _ + btnCalcNoPOSFacilitySave, lblCalcNoPOSFacilityTaxRate, _ + CalcTab, chkCalcNoPOSFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcNoPOSFacilityLoaded, Nothing, 1, -1, SovStructureCategoryID, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcSuperFacility() + LoadingFacilityActivities = True + CalcSuperFacilityLoaded = False + chkCalcSuperFacilityIncludeUsage.Checked = DefaultCalcSuperManufacturingFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.SuperManufacturing, True, False, _ + ActivityManufacturing, cmbCalcSuperFacilityType, cmbCalcSuperFacilityRegion, cmbCalcSuperFacilitySystem, cmbCalcSuperFacilityorArray, _ + lblCalcSuperFacilityBonus, lblCalcSuperFacilityDefault, _ + lblCalcSuperFacilityManualME, txtCalcSuperFacilityManualME, _ + lblCalcSuperFacilityManualTE, txtCalcSuperFacilityManualTE, _ + lblCalcSuperFacilityManualTax, txtCalcSuperFacilityManualTax, _ + btnCalcSuperFacilitySave, lblCalcSuperFacilityTaxRate, _ + CalcTab, chkCalcSuperFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcSuperFacilityLoaded, Nothing, 1, SupercarrierGroupID, -1, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcCapFacility() + LoadingFacilityActivities = True + CalcCapitalFacilityLoaded = False + chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcCapitalManufacturingFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.CapitalManufacturing, True, False, _ + ActivityManufacturing, cmbCalcCapitalFacilityType, cmbCalcCapitalFacilityRegion, cmbCalcCapitalFacilitySystem, cmbCalcCapitalFacilityorArray, _ + lblCalcCapitalFacilityBonus, lblCalcCapitalFacilityDefault, _ + lblCalcCapitalFacilityManualME, txtCalcCapitalFacilityManualME, _ + lblCalcCapitalFacilityManualTE, txtCalcCapitalFacilityManualTE, _ + lblCalcCapitalFacilityManualTax, txtCalcCapitalFacilityManualTax, _ + btnCalcCapitalFacilitySave, lblCalcCapitalFacilityTaxRate, _ + CalcTab, chkCalcCapitalFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcCapitalFacilityLoaded, Nothing, 1, DreadnoughtGroupID, -1, False) + + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcT3Facility() + ' Based on the settings, load either the T3 Cruiser or Destroyer facility + LoadingFacilityActivities = True + Call SetT3FacilityLoaded(chkCalcT3DestroyersFacility.Checked, False) + If UserManufacturingTabSettings.CheckT3DestroyerFacility Then + chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcT3DestroyerManufacturingFacility.IncludeActivityUsage + Else + chkCalcCapitalFacilityIncludeUsage.Checked = DefaultCalcT3CruiserManufacturingFacility.IncludeActivityUsage + End If + Call LoadFacility(GetT3ShipIndustryType(UserManufacturingTabSettings.CheckT3DestroyerFacility), True, False, _ + ActivityManufacturing, cmbCalcT3FacilityType, cmbCalcT3FacilityRegion, cmbCalcT3FacilitySystem, cmbCalcT3FacilityorArray, _ + lblCalcT3FacilityBonus, lblCalcT3FacilityDefault, _ + lblCalcT3FacilityManualME, txtCalcT3FacilityManualME, _ + lblCalcT3FacilityManualTE, txtCalcT3FacilityManualTE, _ + lblCalcT3FacilityManualTax, txtCalcT3FacilityManualTax, _ + btnCalcT3FacilitySave, lblCalcT3FacilityTaxRate, _ + CalcTab, chkCalcT3FacilityIncludeUsage, Nothing, Nothing, Nothing, TempCalcT3FacilityLoaded, Nothing, _ + 1, GetT3ShipGroupID(UserManufacturingTabSettings.CheckT3DestroyerFacility), -1, False) + Call SetT3FacilityLoaded(chkCalcT3DestroyersFacility.Checked, TempCalcT3FacilityLoaded) + ' Need to set the other facility as loaded to ensure it doesn't get reloaded on tab, if any changes are made it will reload + Call SetComponentFacilityLoaded(Not chkCalcT3DestroyersFacility.Checked, TempCalcT3FacilityLoaded) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcSubsystemFacility() + LoadingFacilityActivities = True + CalcSubsystemFacilityLoaded = False + chkCalcSubsystemFacilityIncludeUsage.Checked = DefaultCalcSubsystemManufacturingFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.SubsystemManufacturing, True, False, _ + ActivityManufacturing, cmbCalcSubsystemFacilityType, cmbCalcSubsystemFacilityRegion, cmbCalcSubsystemFacilitySystem, cmbCalcSubsystemFacilityorArray, _ + lblCalcSubsystemFacilityBonus, lblCalcSubsystemFacilityDefault, _ + lblCalcSubsystemFacilityManualME, txtCalcSubsystemFacilityManualME, _ + lblCalcSubsystemFacilityManualTE, txtCalcSubsystemFacilityManualTE, _ + lblCalcSubsystemFacilityManualTax, txtCalcSubsystemFacilityManualTax, _ + btnCalcSubsystemFacilitySave, lblCalcSubsystemFacilityTaxRate, _ + CalcTab, chkCalcSubsystemFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcSubsystemFacilityLoaded, Nothing, 1, -1, SubsystemCategoryID, False) + LoadingFacilityActivities = False + End Sub + + Private Sub LoadDefaultCalcBoosterFacility() + LoadingFacilityActivities = True + CalcBoosterFacilityLoaded = False + chkCalcBoosterFacilityIncludeUsage.Checked = DefaultCalcBoosterManufacturingFacility.IncludeActivityUsage + Call LoadFacility(IndustryType.BoosterManufacturing, True, False, _ + ActivityManufacturing, cmbCalcBoosterFacilityType, cmbCalcBoosterFacilityRegion, cmbCalcBoosterFacilitySystem, cmbCalcBoosterFacilityorArray, _ + lblCalcBoosterFacilityBonus, lblCalcBoosterFacilityDefault, _ + lblCalcBoosterFacilityManualME, txtCalcBoosterFacilityManualME, _ + lblCalcBoosterFacilityManualTE, txtCalcBoosterFacilityManualTE, _ + lblCalcBoosterFacilityManualTax, txtCalcBoosterFacilityManualTax, _ + btnCalcBoosterFacilitySave, lblCalcBoosterFacilityTaxRate, _ + CalcTab, chkCalcBoosterFacilityIncludeUsage, Nothing, Nothing, Nothing, CalcBoosterFacilityLoaded, Nothing, 1, BoosterGroupID, -1, False) + LoadingFacilityActivities = False + End Sub + ' Saves all the settings on the screen Private Sub btnCalcSaveSettings_Click(sender As System.Object, e As System.EventArgs) Handles btnCalcSaveSettings.Click Dim TempSettings As ManufacturingTabSettings = Nothing @@ -17309,12 +17480,12 @@ CheckTechs: Call InsertItemCalcType(BaseItems, InsertItem, ProcessAllMultiUsePOSArrays, MultiUsePOSArrays, False, False, False) End If - i += 1 - pnlProgressBar.Value = i + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) End While - pnlProgressBar.Value = i + Application.DoEvents() readerBPs.Close() @@ -17747,7 +17918,8 @@ CheckTechs: End If - pnlProgressBar.Value = pnlProgressBar.Value + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) Next @@ -18014,7 +18186,9 @@ DisplayResults: BPList.ForeColor = Color.DarkGreen End If - pnlProgressBar.Value = pnlProgressBar.Value + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + Next lstManufacturing.EndUpdate() @@ -18309,15 +18483,15 @@ ExitCalc: MyStream.Write(OutputText & Environment.NewLine) For Each ListItem In Items - Application.DoEvents() - pnlProgressBar.Value = NumItems OutputText = "" For j = 0 To ExportColumns.Count - 1 ' Format each column value and save OutputText = OutputText & GetOutputText(ExportColumns(j), ListItem.SubItems(j + 1).Text, Separator, UserApplicationSettings.DataExportFormat) Next - NumItems = NumItems + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + Application.DoEvents() MyStream.Write(OutputText & Environment.NewLine) Next @@ -18735,6 +18909,13 @@ ExitCalc: End Sub + Private Sub lstManufacturing_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstManufacturing.ColumnWidthChanging + If e.ColumnIndex = 0 Then + e.Cancel = True + e.NewWidth = lstPricesView.Columns(e.ColumnIndex).Width + End If + End Sub + ' On double click of the item, it will open up the bp window with the item Private Sub lstManufacturing_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstManufacturing.DoubleClick Dim FoundItem As New ManufacturingItem @@ -18743,6 +18924,8 @@ ExitCalc: ManufacturingRecordIDToFind = CLng(lstManufacturing.SelectedItems(0).SubItems(0).Text) FoundItem = FinalManufacturingItemList.Find(AddressOf FindManufacturingItem) + ' Set the build facility we are sending to the proper facility type for this item. + If FoundItem IsNot Nothing Then ' We found it, so load the current bp With FoundItem @@ -20013,7 +20196,6 @@ ExitCalc: Dim j As Integer ' for highlighting top number of agents the user can use Dim UniqueAgentList() As String Dim TotalIPH As Double = 0 ' For storing the total IPH for the top agents used - Dim ListCount As Integer Dim SQL As String Dim NegotationSkill As Integer = CInt(cmbDCNegotiation.Text) Dim ConnectionsSkill As Integer = CInt(cmbDCConnections.Text) @@ -20171,7 +20353,6 @@ ExitCalc: GoTo Leave End If - ListCount = 0 pnlProgressBar.Value = 0 pnlProgressBar.Visible = True pnlProgressBar.Maximum = readerRecordCount @@ -20307,8 +20488,9 @@ ExitCalc: ' Add the record DCAgentList.Add(DCAgentRecord) - ListCount = ListCount + 1 - pnlProgressBar.Value = pnlProgressBar.Value + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) + End While readerDC.Close() @@ -20548,7 +20730,8 @@ ExitCalc: End If - pnlProgressBar.Value = pnlProgressBar.Value + 1 + ' For each record, update the progress bar + Call IncrementToolStripProgressBar(pnlProgressBar) Next @@ -21493,6 +21676,13 @@ Leave: #Region "Mining Object Functions" + Private Sub lstMineGrid_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstMineGrid.ColumnWidthChanging + If e.ColumnIndex = 0 Then + e.Cancel = True + e.NewWidth = lstPricesView.Columns(e.ColumnIndex).Width + End If + End Sub + Private Sub lstMineGrid_MouseClick(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles lstMineGrid.MouseClick Call ListClicked(lstMineGrid, sender, e) End Sub diff --git a/frmShoppingList.Designer.vb b/frmShoppingList.Designer.vb index 32ad86d..9fce117 100644 --- a/frmShoppingList.Designer.vb +++ b/frmShoppingList.Designer.vb @@ -65,7 +65,6 @@ Partial Class frmShoppingList Me.lblItemstoBuy = New System.Windows.Forms.Label() Me.lblItemstoBuild = New System.Windows.Forms.Label() Me.lblComponentstoBuild = New System.Windows.Forms.Label() - Me.btnCompressOres = New System.Windows.Forms.Button() Me.btnCopyPasteAssets = New System.Windows.Forms.Button() Me.btnShowAssets = New System.Windows.Forms.Button() Me.gbUpdateList = New System.Windows.Forms.GroupBox() @@ -80,6 +79,7 @@ Partial Class frmShoppingList Me.rbtnExportDefault = New System.Windows.Forms.RadioButton() Me.lblTIC = New System.Windows.Forms.Label() Me.lblTCC = New System.Windows.Forms.Label() + Me.lblTotalItemsInList = New System.Windows.Forms.Label() Me.DeleteBuildStrip.SuspendLayout() Me.DeleteItemStrip.SuspendLayout() Me.DeleteMaterialStrip.SuspendLayout() @@ -91,7 +91,7 @@ Partial Class frmShoppingList 'lblTotalCost ' Me.lblTotalCost.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalCost.Location = New System.Drawing.Point(795, 543) + Me.lblTotalCost.Location = New System.Drawing.Point(925, 547) Me.lblTotalCost.Name = "lblTotalCost" Me.lblTotalCost.Size = New System.Drawing.Size(163, 16) Me.lblTotalCost.TabIndex = 23 @@ -100,7 +100,7 @@ Partial Class frmShoppingList 'lblTC ' Me.lblTC.AutoSize = True - Me.lblTC.Location = New System.Drawing.Point(736, 545) + Me.lblTC.Location = New System.Drawing.Point(866, 549) Me.lblTC.Name = "lblTC" Me.lblTC.Size = New System.Drawing.Size(58, 13) Me.lblTC.TabIndex = 22 @@ -110,7 +110,7 @@ Partial Class frmShoppingList 'lblTV ' Me.lblTV.AutoSize = True - Me.lblTV.Location = New System.Drawing.Point(722, 602) + Me.lblTV.Location = New System.Drawing.Point(852, 606) Me.lblTV.Name = "lblTV" Me.lblTV.Size = New System.Drawing.Size(72, 13) Me.lblTV.TabIndex = 28 @@ -120,7 +120,7 @@ Partial Class frmShoppingList 'lblTotalVolume ' Me.lblTotalVolume.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalVolume.Location = New System.Drawing.Point(795, 600) + Me.lblTotalVolume.Location = New System.Drawing.Point(925, 604) Me.lblTotalVolume.Name = "lblTotalVolume" Me.lblTotalVolume.Size = New System.Drawing.Size(163, 16) Me.lblTotalVolume.TabIndex = 29 @@ -180,7 +180,7 @@ Partial Class frmShoppingList 'lblTotalProfit1 ' Me.lblTotalProfit1.AutoSize = True - Me.lblTotalProfit1.Location = New System.Drawing.Point(694, 659) + Me.lblTotalProfit1.Location = New System.Drawing.Point(824, 663) Me.lblTotalProfit1.Name = "lblTotalProfit1" Me.lblTotalProfit1.Size = New System.Drawing.Size(100, 13) Me.lblTotalProfit1.TabIndex = 34 @@ -190,7 +190,7 @@ Partial Class frmShoppingList 'lblTotalProfit ' Me.lblTotalProfit.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalProfit.Location = New System.Drawing.Point(795, 657) + Me.lblTotalProfit.Location = New System.Drawing.Point(925, 661) Me.lblTotalProfit.Name = "lblTotalProfit" Me.lblTotalProfit.Size = New System.Drawing.Size(163, 16) Me.lblTotalProfit.TabIndex = 35 @@ -199,7 +199,7 @@ Partial Class frmShoppingList 'lblAvgIPH ' Me.lblAvgIPH.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblAvgIPH.Location = New System.Drawing.Point(795, 638) + Me.lblAvgIPH.Location = New System.Drawing.Point(925, 642) Me.lblAvgIPH.Name = "lblAvgIPH" Me.lblAvgIPH.Size = New System.Drawing.Size(163, 16) Me.lblAvgIPH.TabIndex = 33 @@ -208,7 +208,7 @@ Partial Class frmShoppingList 'lblAvgIPH1 ' Me.lblAvgIPH1.AutoSize = True - Me.lblAvgIPH1.Location = New System.Drawing.Point(702, 640) + Me.lblAvgIPH1.Location = New System.Drawing.Point(832, 644) Me.lblAvgIPH1.Name = "lblAvgIPH1" Me.lblAvgIPH1.Size = New System.Drawing.Size(92, 13) Me.lblAvgIPH1.TabIndex = 32 @@ -218,7 +218,7 @@ Partial Class frmShoppingList 'lblTotalBuiltVolume ' Me.lblTotalBuiltVolume.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalBuiltVolume.Location = New System.Drawing.Point(795, 619) + Me.lblTotalBuiltVolume.Location = New System.Drawing.Point(925, 623) Me.lblTotalBuiltVolume.Name = "lblTotalBuiltVolume" Me.lblTotalBuiltVolume.Size = New System.Drawing.Size(163, 16) Me.lblTotalBuiltVolume.TabIndex = 31 @@ -227,7 +227,7 @@ Partial Class frmShoppingList 'lblTotalBuiltVolume1 ' Me.lblTotalBuiltVolume1.AutoSize = True - Me.lblTotalBuiltVolume1.Location = New System.Drawing.Point(665, 621) + Me.lblTotalBuiltVolume1.Location = New System.Drawing.Point(795, 625) Me.lblTotalBuiltVolume1.Name = "lblTotalBuiltVolume1" Me.lblTotalBuiltVolume1.Size = New System.Drawing.Size(129, 13) Me.lblTotalBuiltVolume1.TabIndex = 30 @@ -250,7 +250,7 @@ Partial Class frmShoppingList 'btnMineThis ' Me.btnMineThis.ForeColor = System.Drawing.Color.Red - Me.btnMineThis.Location = New System.Drawing.Point(107, 543) + Me.btnMineThis.Location = New System.Drawing.Point(107, 577) Me.btnMineThis.Name = "btnMineThis" Me.btnMineThis.Size = New System.Drawing.Size(94, 32) Me.btnMineThis.TabIndex = 1 @@ -432,7 +432,7 @@ Partial Class frmShoppingList ' Me.lblItemstoBuy.Location = New System.Drawing.Point(7, 4) Me.lblItemstoBuy.Name = "lblItemstoBuy" - Me.lblItemstoBuy.Size = New System.Drawing.Size(951, 13) + Me.lblItemstoBuy.Size = New System.Drawing.Size(1081, 13) Me.lblItemstoBuy.TabIndex = 71 Me.lblItemstoBuy.Text = "Items to Buy" Me.lblItemstoBuy.TextAlign = System.Drawing.ContentAlignment.MiddleCenter @@ -441,31 +441,20 @@ Partial Class frmShoppingList ' Me.lblItemstoBuild.Location = New System.Drawing.Point(6, 322) Me.lblItemstoBuild.Name = "lblItemstoBuild" - Me.lblItemstoBuild.Size = New System.Drawing.Size(580, 14) + Me.lblItemstoBuild.Size = New System.Drawing.Size(708, 14) Me.lblItemstoBuild.TabIndex = 72 Me.lblItemstoBuild.Text = "Items to Build" Me.lblItemstoBuild.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'lblComponentstoBuild ' - Me.lblComponentstoBuild.Location = New System.Drawing.Point(590, 322) + Me.lblComponentstoBuild.Location = New System.Drawing.Point(720, 323) Me.lblComponentstoBuild.Name = "lblComponentstoBuild" Me.lblComponentstoBuild.Size = New System.Drawing.Size(368, 14) Me.lblComponentstoBuild.TabIndex = 73 Me.lblComponentstoBuild.Text = "Components to Build" Me.lblComponentstoBuild.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' - 'btnCompressOres - ' - Me.btnCompressOres.ForeColor = System.Drawing.Color.Red - Me.btnCompressOres.Location = New System.Drawing.Point(107, 577) - Me.btnCompressOres.Name = "btnCompressOres" - Me.btnCompressOres.Size = New System.Drawing.Size(94, 32) - Me.btnCompressOres.TabIndex = 3 - Me.btnCompressOres.Text = "[Option]" - Me.btnCompressOres.UseVisualStyleBackColor = True - Me.btnCompressOres.Visible = False - ' 'btnCopyPasteAssets ' Me.btnCopyPasteAssets.Location = New System.Drawing.Point(8, 65) @@ -499,7 +488,7 @@ Partial Class frmShoppingList 'lblTotalInventionCost ' Me.lblTotalInventionCost.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalInventionCost.Location = New System.Drawing.Point(795, 562) + Me.lblTotalInventionCost.Location = New System.Drawing.Point(925, 566) Me.lblTotalInventionCost.Name = "lblTotalInventionCost" Me.lblTotalInventionCost.Size = New System.Drawing.Size(163, 16) Me.lblTotalInventionCost.TabIndex = 25 @@ -508,7 +497,7 @@ Partial Class frmShoppingList 'lblTotalCopyCost ' Me.lblTotalCopyCost.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D - Me.lblTotalCopyCost.Location = New System.Drawing.Point(795, 581) + Me.lblTotalCopyCost.Location = New System.Drawing.Point(925, 585) Me.lblTotalCopyCost.Name = "lblTotalCopyCost" Me.lblTotalCopyCost.Size = New System.Drawing.Size(163, 16) Me.lblTotalCopyCost.TabIndex = 27 @@ -519,9 +508,9 @@ Partial Class frmShoppingList Me.lstBuy.ContextMenuStrip = Me.DeleteMaterialStrip Me.lstBuy.FullRowSelect = True Me.lstBuy.GridLines = True - Me.lstBuy.Location = New System.Drawing.Point(6, 20) + Me.lstBuy.Location = New System.Drawing.Point(7, 20) Me.lstBuy.Name = "lstBuy" - Me.lstBuy.Size = New System.Drawing.Size(952, 300) + Me.lstBuy.Size = New System.Drawing.Size(1081, 300) Me.lstBuy.TabIndex = 37 Me.lstBuy.TabStop = False Me.lstBuy.UseCompatibleStateImageBehavior = False @@ -531,9 +520,9 @@ Partial Class frmShoppingList ' Me.lstItems.ContextMenuStrip = Me.DeleteItemStrip Me.lstItems.FullRowSelect = True - Me.lstItems.Location = New System.Drawing.Point(6, 337) + Me.lstItems.Location = New System.Drawing.Point(6, 339) Me.lstItems.Name = "lstItems" - Me.lstItems.Size = New System.Drawing.Size(579, 198) + Me.lstItems.Size = New System.Drawing.Size(711, 198) Me.lstItems.TabIndex = 38 Me.lstItems.TabStop = False Me.lstItems.UseCompatibleStateImageBehavior = False @@ -543,7 +532,7 @@ Partial Class frmShoppingList ' Me.lstBuild.ContextMenuStrip = Me.DeleteBuildStrip Me.lstBuild.FullRowSelect = True - Me.lstBuild.Location = New System.Drawing.Point(590, 337) + Me.lstBuild.Location = New System.Drawing.Point(720, 339) Me.lstBuild.Name = "lstBuild" Me.lstBuild.Size = New System.Drawing.Size(368, 198) Me.lstBuild.TabIndex = 39 @@ -600,7 +589,7 @@ Partial Class frmShoppingList 'lblTIC ' Me.lblTIC.AutoSize = True - Me.lblTIC.Location = New System.Drawing.Point(689, 564) + Me.lblTIC.Location = New System.Drawing.Point(819, 568) Me.lblTIC.Name = "lblTIC" Me.lblTIC.Size = New System.Drawing.Size(105, 13) Me.lblTIC.TabIndex = 75 @@ -610,18 +599,30 @@ Partial Class frmShoppingList 'lblTCC ' Me.lblTCC.AutoSize = True - Me.lblTCC.Location = New System.Drawing.Point(709, 583) + Me.lblTCC.Location = New System.Drawing.Point(839, 587) Me.lblTCC.Name = "lblTCC" Me.lblTCC.Size = New System.Drawing.Size(85, 13) Me.lblTCC.TabIndex = 76 Me.lblTCC.Text = "Total Copy Cost:" Me.lblTCC.TextAlign = System.Drawing.ContentAlignment.TopRight ' + 'lblTotalItemsInList + ' + Me.lblTotalItemsInList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.lblTotalItemsInList.Location = New System.Drawing.Point(107, 543) + Me.lblTotalItemsInList.Name = "lblTotalItemsInList" + Me.lblTotalItemsInList.Size = New System.Drawing.Size(94, 32) + Me.lblTotalItemsInList.TabIndex = 77 + Me.lblTotalItemsInList.Text = "9,999 Items to Build" + Me.lblTotalItemsInList.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' 'frmShoppingList ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi Me.AutoSize = True - Me.ClientSize = New System.Drawing.Size(964, 682) + Me.ClientSize = New System.Drawing.Size(1094, 682) + Me.Controls.Add(Me.lblTotalItemsInList) Me.Controls.Add(Me.lblTCC) Me.Controls.Add(Me.lblTIC) Me.Controls.Add(Me.gbExportOptions) @@ -629,7 +630,6 @@ Partial Class frmShoppingList Me.Controls.Add(Me.lblTotalInventionCost) Me.Controls.Add(Me.gbUpdateList) Me.Controls.Add(Me.txtListEdit) - Me.Controls.Add(Me.btnCompressOres) Me.Controls.Add(Me.lblItemstoBuild) Me.Controls.Add(Me.lblItemstoBuy) Me.Controls.Add(Me.lstBuy) @@ -714,7 +714,6 @@ Partial Class frmShoppingList Friend WithEvents lblItemstoBuild As System.Windows.Forms.Label Friend WithEvents lblComponentstoBuild As System.Windows.Forms.Label Friend WithEvents lblAddlCosts As System.Windows.Forms.Label - Friend WithEvents btnCompressOres As System.Windows.Forms.Button Friend WithEvents lblUsage As System.Windows.Forms.Label Friend WithEvents chkUsage As System.Windows.Forms.CheckBox Friend WithEvents chkAlwaysOnTop As System.Windows.Forms.CheckBox @@ -729,4 +728,5 @@ Partial Class frmShoppingList Friend WithEvents rbtnExportDefault As System.Windows.Forms.RadioButton Friend WithEvents lblTIC As System.Windows.Forms.Label Friend WithEvents lblTCC As System.Windows.Forms.Label + Friend WithEvents lblTotalItemsInList As System.Windows.Forms.Label End Class diff --git a/frmShoppingList.resx b/frmShoppingList.resx index 2d972ee..65a417d 100644 --- a/frmShoppingList.resx +++ b/frmShoppingList.resx @@ -139,7 +139,7 @@ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vgAADr4B6kKxwAAAEqhJREFUaEPtWAlUk+eaZpdFq+JaEZAdwk5CWAKENRBCIAlh34nsEFYBlVULKptF + vQAADr0BR/uQrQAAEqhJREFUaEPtWAlUk+eaZpdFq+JaEZAdwk5CWAKENRBCIAlh34nsEFYBlVULKptF tEUWt7qBdautbdWWe3tv9bZVu9neLnY6dmqttdNrbb1tLeSZ94syxzN1auvtnTsz577nPOf7E/j//3m+ d/2i8//OAOjeudSBjo4uA11qvwPoM/2drezzb2W/6fPuENbafxXwS6y1tVVv+hlsHU9K0r/rOf+0v5ux 0GoF9MYBfS3GoU/f6WlD8q6wvJ/91uH5s3Y7H6CrJXwBRsc/0Mx46jJMn7+iMWPrxMcwZt+dBQwnAAP2 diff --git a/frmShoppingList.vb b/frmShoppingList.vb index 09d1538..f7d3df1 100644 --- a/frmShoppingList.vb +++ b/frmShoppingList.vb @@ -50,17 +50,17 @@ Public Class frmShoppingList Private BuyListHeaderCSV As String = "Material,Quantity,Cost Per Item,Min Sell,Max Buy,Buy Type,Total m3,Isk/m3,TotalCost" Private BuildListHeaderCSV As String = "Build Item,Quantity,ME" Private ItemsListHeaderCSV As String = "Item,Quantity,ME,NumBps,Build Type,Decryptor,Relic" - Private ItemsListHeaderCSVAdd As String = ",POS Build,IgnoredInvention,IgnoredMinerals,IgnoredT1BaseItem" + Private ItemsListHeaderCSVAdd As String = ",POS Build,IgnoredInvention,IgnoredMinerals,IgnoredT1BaseItem,Location" Private BuyListHeaderTXT As String = "Material|Quantity|Cost Per Item|Min Sell|Max Buy|Buy Type|Total m3|Isk/m3|TotalCost" Private BuildListHeaderTXT As String = "Build Item|Quantity|ME" Private ItemsListHeaderTXT As String = "Item|Quantity|ME|NumBps|Build Type|Decryptor|Relic" - Private ItemsListHeaderTXTAdd As String = "|POS Build|IgnoredInvention|IgnoredMinerals|IgnoredT1BaseItem" + Private ItemsListHeaderTXTAdd As String = "|POS Build|IgnoredInvention|IgnoredMinerals|IgnoredT1BaseItem|Location" Private BuyListHeaderSSV As String = "Material;Quantity;Cost Per Item;Min Sell;Max Buy;Buy Type;Total m3;Isk/m3;TotalCost" Private BuildListHeaderSSV As String = "Build Item;Quantity;ME" Private ItemsListHeaderSSV As String = "Item;Quantity;ME;NumBps;Build Type;Decryptor;Relic" - Private ItemsListHeaderSSVAdd As String = ";POS Build;IgnoredInvention;IgnoredMinerals;IgnoredT1BaseItem" + Private ItemsListHeaderSSVAdd As String = ";POS Build;IgnoredInvention;IgnoredMinerals;IgnoredT1BaseItem;Location" Private FirstFormLoad As Boolean @@ -88,6 +88,7 @@ Public Class frmShoppingList Dim BuildType As String Dim Decryptor As String Dim Relic As String + Dim BuildLocation As String Dim BuiltInPOS As Boolean Dim IgnoredInvention As Boolean Dim IgnoredMinerals As Boolean @@ -101,9 +102,9 @@ Public Class frmShoppingList ' Add any initialization after the InitializeComponent() call. - ' Item Buy List - width = 855 (21 width for verticle scroll bar) + ' Item Buy List - width = 1081 (21 width for verticle scroll bar) lstBuy.Columns.Add("TypeID", 0, HorizontalAlignment.Left) ' Hidden - lstBuy.Columns.Add("Material", 205, HorizontalAlignment.Left) + lstBuy.Columns.Add("Material", 245, HorizontalAlignment.Left) lstBuy.Columns.Add("Quantity", 94, HorizontalAlignment.Right) ' Min 94 lstBuy.Columns.Add("Cost per Item", 90, HorizontalAlignment.Right) ' Min 90 lstBuy.Columns.Add("Min Sell", 90, HorizontalAlignment.Right) ' Min 90 @@ -111,6 +112,7 @@ Public Class frmShoppingList lstBuy.Columns.Add("Buy Type", 66, HorizontalAlignment.Right) ' Min 66 lstBuy.Columns.Add("Total m3", 100, HorizontalAlignment.Right) ' Min 100 lstBuy.Columns.Add("Isk/m3", 83, HorizontalAlignment.Right) ' Min 85 + lstBuy.Columns.Add("Fees", 90, HorizontalAlignment.Right) lstBuy.Columns.Add("Total Cost", 112, HorizontalAlignment.Right) ' Min 129 ' Built Item List for items we are building - width = 371 (21 for verticle scroll bar) @@ -119,7 +121,7 @@ Public Class frmShoppingList lstBuild.Columns.Add("Quantity", 80, HorizontalAlignment.Right) lstBuild.Columns.Add("ME", 30, HorizontalAlignment.Right) - ' Item List - What we are building - width = 579 (21 for verticle scroll bar) + ' Item List - What we are building - width = 711 (21 for verticle scroll bar) lstItems.Columns.Add("TypeID", 0, HorizontalAlignment.Center) ' always left allignment this column for some reason, so add a dummy, store bpID here though lstItems.Columns.Add("Item", 225, HorizontalAlignment.Left) ' lstItems.Columns.Add("Quantity", 67, HorizontalAlignment.Right) ' 51 min text @@ -127,6 +129,7 @@ Public Class frmShoppingList lstItems.Columns.Add("Num BPs", 60, HorizontalAlignment.Left) ' 60 min text lstItems.Columns.Add("Build Type", 71, HorizontalAlignment.Left) ' 71 min text lstItems.Columns.Add("Decryptor", 105, HorizontalAlignment.Left) '105 min text + lstItems.Columns.Add("Location", 132, HorizontalAlignment.Left) '132 min text lstItems.Columns.Add("BuildInPOS", 0, HorizontalAlignment.Left) 'Hidden flag for pos building lstItems.Columns.Add("IgnoredInvention", 0, HorizontalAlignment.Left) 'Hidden flag for ignore variables lstItems.Columns.Add("IgnoredMinerals", 0, HorizontalAlignment.Left) 'Hidden flag for ignore variables @@ -266,6 +269,7 @@ Public Class frmShoppingList Dim BuyOrderText As String Dim SellPrice As Double Dim BuyOrderPrice As Double + Dim BuyOrderFees As Double Dim TotalPrice As Double Dim PriceType As String Dim StoredPrice As Double @@ -318,65 +322,69 @@ Public Class frmShoppingList ' - If Fees is checked and CalcBuyType then calculate for buy order or buy market ' - If Fees is not checked, then CalcBuyType will be disabled, and the user wants to buy all from market ' - If Fees is checked, and CalcBuyType is not, then you want to buy all from a buy order - If chkBuyorBuyOrder.Checked And chkBuyorBuyOrder.Enabled = True And chkFees.Checked Then - ' Look up the price of buying directly off the market (min sell - no tax, no broker fee) and compare it to the price - ' of max buy (buy order) plus the brokers fees to set up that order (no tax). Then show the value in the grid of what they should do - ' First find out what price and type we have stored - SQL = "SELECT PRICE, PRICE_TYPE FROM ITEM_PRICES WHERE ITEM_ID = " & RawItems.GetMaterialList(i).GetMaterialTypeID - DBCommand = New SQLiteCommand(SQL, DB) - readerItemPrices = DBCommand.ExecuteReader - readerItemPrices.Read() - If readerItemPrices.HasRows Then - ' Figure out what they have stored so we know what type of price we need to get - StoredPrice = CDbl(readerItemPrices.GetValue(0)) - PriceType = readerItemPrices.GetString(1) - Else - PriceType = NONE - End If + ' Look up the price of buying directly off the market (min sell - no tax, no broker fee) and compare it to the price + ' of max buy (buy order) plus the brokers fees to set up that order (no tax). Then show the value in the grid of what they should do + ' First find out what price and type we have stored + SQL = "SELECT PRICE, PRICE_TYPE FROM ITEM_PRICES WHERE ITEM_ID = " & RawItems.GetMaterialList(i).GetMaterialTypeID + DBCommand = New SQLiteCommand(SQL, DB) + readerItemPrices = DBCommand.ExecuteReader + readerItemPrices.Read() - readerItemPrices.Close() + If readerItemPrices.HasRows Then + ' Figure out what they have stored so we know what type of price we need to get + StoredPrice = CDbl(readerItemPrices.GetValue(0)) + PriceType = readerItemPrices.GetString(1) + Else + PriceType = None + End If - ' Load the Min Sell and Max Buy prices from cache - SQL = "SELECT sellMin, buyMax FROM ITEM_PRICES_CACHE WHERE typeID = " & RawItems.GetMaterialList(i).GetMaterialTypeID - SQL = SQL & " AND sellMin IS NOT NULL and buyMax IS NOT NULL" - DBCommand = New SQLiteCommand(SQL, DB) - readerItemPrices = DBCommand.ExecuteReader - readerItemPrices.Read() + readerItemPrices.Close() - ' Get the buy and sell prices - If readerItemPrices.HasRows Then - MinSellUnitPrice = CDbl(readerItemPrices.GetValue(0)) - MaxBuyUnitPrice = CDbl(readerItemPrices.GetValue(1)) - Else - ' Something went wrong, so re-mark as none - PriceType = NONE - End If + ' Load the Min Sell and Max Buy prices from cache + SQL = "SELECT sellMin, buyMax FROM ITEM_PRICES_CACHE WHERE typeID = " & RawItems.GetMaterialList(i).GetMaterialTypeID + SQL = SQL & " AND sellMin IS NOT NULL and buyMax IS NOT NULL" + DBCommand = New SQLiteCommand(SQL, DB) + readerItemPrices = DBCommand.ExecuteReader + readerItemPrices.Read() - readerItemPrices.Close() - - ' Four cases - None or error, set to zero. If they had a user entered price, assume min sell. Otherwise, use stored values - If PriceType = NONE Then - ' Price isn't set yet or an error. Either way they are zero - MinSellUnitPrice = 0 - MaxBuyUnitPrice = 0 - - ElseIf PriceType = "User" Or PriceType.Contains("sell") Then - ' The updated a price, so no matter what they intended - I'm assuming they meant minSell (50/50 chance) - ' or they stored some sell price, so set that and compare to the stored maxbuy price - MinSellUnitPrice = StoredPrice - ElseIf PriceType.Contains("buy") Or PriceType.Contains("all") Then - ' They stored a buy price...so set that and we'll compare it to the stored minsell price - also use average here too - MaxBuyUnitPrice = StoredPrice - End If + ' Get the buy and sell prices + If readerItemPrices.HasRows Then + MinSellUnitPrice = CDbl(readerItemPrices.GetValue(0)) + MaxBuyUnitPrice = CDbl(readerItemPrices.GetValue(1)) + Else + ' Something went wrong, so re-mark as none + PriceType = None + End If + readerItemPrices.Close() + + ' Four cases - None or error, set to zero. If they had a user entered price, assume min sell. Otherwise, use stored values + If PriceType = None Then + ' Price isn't set yet or an error. Either way they are zero + MinSellUnitPrice = 0 + MaxBuyUnitPrice = 0 + + ElseIf PriceType = "User" Or PriceType.Contains("sell") Then + ' The updated a price, so no matter what they intended - I'm assuming they meant minSell (50/50 chance) + ' or they stored some sell price, so set that and compare to the stored maxbuy price + MinSellUnitPrice = StoredPrice + ElseIf PriceType.Contains("buy") Or PriceType.Contains("all") Then + ' They stored a buy price...so set that and we'll compare it to the stored minsell price - also use average here too + MaxBuyUnitPrice = StoredPrice + End If + + If chkBuyorBuyOrder.Checked And chkBuyorBuyOrder.Enabled = True And chkFees.Checked Then ' Now that we have the prices, compare the two If MinSellUnitPrice <> 0 And MaxBuyUnitPrice <> 0 Then - ' Use min sell - SellPrice = MinSellUnitPrice * RawItems.GetMaterialList(i).GetQuantity + ' Now look at max buy TotalPrice = MaxBuyUnitPrice * RawItems.GetMaterialList(i).GetQuantity - BuyOrderPrice = TotalPrice + GetSalesBrokerFee(TotalPrice) + BuyOrderFees = GetSalesBrokerFee(TotalPrice) + BuyOrderPrice = TotalPrice + BuyOrderFees + + ' Use min sell + SellPrice = MinSellUnitPrice * RawItems.GetMaterialList(i).GetQuantity If BuyOrderPrice < SellPrice Then ' They should do an order @@ -384,9 +392,12 @@ Public Class frmShoppingList Else ' Buy from the Market BuyOrderText = BuyMarket + ' No fees straight off market + BuyOrderFees = 0 End If Else BuyOrderText = Unknown + BuyOrderFees = 0 End If ElseIf chkFees.Checked = False Then ' User wants to buy all from market, don't apply broker fees @@ -394,6 +405,11 @@ Public Class frmShoppingList ElseIf chkFees.Checked = True And chkBuyorBuyOrder.Checked = False Then ' They want a buy order for all items BuyOrderText = BuyOrder + If MaxBuyUnitPrice <> 0 Then + BuyOrderFees = GetSalesBrokerFee(MaxBuyUnitPrice * RawItems.GetMaterialList(i).GetQuantity) + Else + BuyOrderFees = 0 + End If End If ' Add the minsell/maxbuy for reference @@ -416,7 +432,9 @@ Public Class frmShoppingList Else RawmatList.SubItems.Add("0.00") ' Isk per m3 End If - RawmatList.SubItems.Add(FormatNumber(RawItems.GetMaterialList(i).GetTotalCost, 2)) ' Total Cost + + RawmatList.SubItems.Add(FormatNumber(BuyOrderFees, 2)) ' Fees for buy orders + RawmatList.SubItems.Add(FormatNumber(RawItems.GetMaterialList(i).GetTotalCost + BuyOrderFees, 2)) ' Total Cost Next End If @@ -454,6 +472,7 @@ Public Class frmShoppingList lstItem.SubItems.Add(CStr(ItemList(i).NumBPs)) lstItem.SubItems.Add(ItemList(i).BuildType) lstItem.SubItems.Add(ItemList(i).Decryptor) + lstItem.SubItems.Add(ItemList(i).BuildLocation) lstItem.SubItems.Add(CStr(CInt(ItemList(i).BuiltInPOS))) lstItem.SubItems.Add(CStr(CInt(ItemList(i).IgnoredInvention))) lstItem.SubItems.Add(CStr(CInt(ItemList(i).IgnoredMinerals))) @@ -461,6 +480,15 @@ Public Class frmShoppingList End With Next + ' Add the number of item(s) to the label on the shopping list + Dim ItemCount As Integer = ItemList.Count + + If ItemList.Count <> 1 Then + lblTotalItemsInList.Text = FormatNumber(ItemCount, 0) & vbCrLf & "Items in list" + Else + lblTotalItemsInList.Text = "1" & vbCrLf & "Item in list" + End If + lstItems.EndUpdate() End Sub @@ -1021,10 +1049,11 @@ Public Class frmShoppingList OutputText = OutputText & ListItem.SubItems(5).Text & Separator OutputText = OutputText & ListItem.SubItems(6).Text & Separator OutputText = OutputText & TempRelic & Separator - OutputText = OutputText & ListItem.SubItems(7).Text & Separator OutputText = OutputText & ListItem.SubItems(8).Text & Separator OutputText = OutputText & ListItem.SubItems(9).Text & Separator - OutputText = OutputText & ListItem.SubItems(10).Text + OutputText = OutputText & ListItem.SubItems(10).Text & Separator + OutputText = OutputText & ListItem.SubItems(11).Text & Separator + OutputText = OutputText & ListItem.SubItems(7).Text & Separator ' Add location on the end MyStream.Write(OutputText & Environment.NewLine) Next @@ -1210,11 +1239,13 @@ Public Class frmShoppingList TempBPItem.IgnoredInvention = CBool(Record(8)) TempBPItem.IgnoredMinerals = CBool(Record(9)) TempBPItem.IgnoredT1BaseItem = CBool(Record(10)) + TempBPItem.BuildLocation = Record(11) Else TempBPItem.BuiltInPOS = False TempBPItem.IgnoredInvention = False TempBPItem.IgnoredMinerals = False TempBPItem.IgnoredT1BaseItem = False + TempBPItem.BuildLocation = "" End If Call ItemList.Add(TempBPItem) @@ -1399,9 +1430,9 @@ Public Class frmShoppingList Next i = 0 - ' List Item sort order Name, Quantity, ME, Num BPs, Build Type, Decryptor + ' List Item sort order Name, Quantity, ME, Num BPs, Build Type, Decryptor, Location For Each item As ListViewItem In lstItems.Items - ItemList(i) = item.SubItems(1).Text & "|" & item.SubItems(2).Text & "|" & item.SubItems(3).Text & "|" & item.SubItems(4).Text & "|" & item.SubItems(5).Text & "|" & item.SubItems(6).Text + ItemList(i) = item.SubItems(1).Text & "|" & item.SubItems(2).Text & "|" & item.SubItems(3).Text & "|" & item.SubItems(4).Text & "|" & item.SubItems(5).Text & "|" & item.SubItems(6).Text & "|" & item.SubItems(7).Text i += 1 Next @@ -1559,6 +1590,14 @@ Public Class frmShoppingList lstBuild.Sort() End Sub + ' Don't allow the first column to show with resize + Private Sub lstBuild_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstBuild.ColumnWidthChanging + If e.ColumnIndex = 0 Then + e.Cancel = True + e.NewWidth = lstItems.Columns(e.ColumnIndex).Width + End If + End Sub + ' Double Click build and load the blueprint for the component they clicked Private Sub lstBuild_DoubleClick(sender As Object, e As System.EventArgs) Handles lstBuild.DoubleClick Dim rsBPLookup As SQLiteDataReader @@ -1584,6 +1623,16 @@ Public Class frmShoppingList lstItems.Sort() End Sub + ' Turn off resizing for the last 4 columns + Private Sub lstItems_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstItems.ColumnWidthChanging + + If e.ColumnIndex >= 8 Or e.ColumnIndex = 0 Then + e.Cancel = True + e.NewWidth = lstItems.Columns(e.ColumnIndex).Width + End If + + End Sub + ' Double Click build and load the blueprint for the item they clicked Private Sub lstItems_DoubleClick(sender As Object, e As System.EventArgs) Handles lstItems.DoubleClick Dim InputDecryptor As String = "" @@ -1643,6 +1692,14 @@ Public Class frmShoppingList End If End Sub + ' Don't allow resizing of the first oclumn (hidden) + Private Sub lstBuy_ColumnWidthChanging(sender As Object, e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles lstBuy.ColumnWidthChanging + If e.ColumnIndex = 0 Then + e.Cancel = True + e.NewWidth = lstItems.Columns(e.ColumnIndex).Width + End If + End Sub + Private Sub lstBuy_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles lstBuy.KeyDown If e.KeyCode = Keys.Delete Then Call DeleteMaterials()