From ff4badaff8fcef23dcce11a56450696489ad43e7 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Wed, 12 Oct 2016 11:56:29 -0500 Subject: [PATCH] Option for enabling vlans --- EduNetworkBuilder/DeviceConfig.cs | 2 +- EduNetworkBuilder/Network.cs | 10 +++++++- EduNetworkBuilder/OptionsWindow.Designer.cs | 13 ++++++++++ EduNetworkBuilder/OptionsWindow.cs | 25 +++++++++++-------- .../Resources/languages/edustrings.resx | 8 ++++++ 5 files changed, 45 insertions(+), 13 deletions(-) diff --git a/EduNetworkBuilder/DeviceConfig.cs b/EduNetworkBuilder/DeviceConfig.cs index d02a547..290f3f7 100644 --- a/EduNetworkBuilder/DeviceConfig.cs +++ b/EduNetworkBuilder/DeviceConfig.cs @@ -86,7 +86,7 @@ namespace EduNetworkBuilder btnNicMinus.Visible = false; } - if (ndCLonedItem.DoesVLANs()) + if (ndCLonedItem.DoesVLANs() && theNet.VLANsEnabled) btnVLAN.Visible = true; else btnVLAN.Visible = false; diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index 1e4616c..dafde49 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -25,6 +25,7 @@ namespace EduNetworkBuilder public double SortOrder = 0; public bool OptionShowLabels = false; public bool ShowLabelsHere = false; + public bool VLANsEnabled = false; public LanguageStrings NetMessage; public LanguageStrings NetTitle; List NetComponents = new List(); @@ -128,6 +129,9 @@ namespace EduNetworkBuilder bool.TryParse(Individual.InnerText, out OptionShowLabels); ShowLabelsHere = OptionShowLabels; break; + case "vlansenabled": + bool.TryParse(Individual.InnerText, out VLANsEnabled); + break; case "itemsize": int.TryParse(Individual.InnerText, out itemsize); break; @@ -176,8 +180,11 @@ namespace EduNetworkBuilder { int ID; int.TryParse(Individual.Attributes["ID"].Value, out ID); - if(ID>1) + if (ID > 1) + { VlanNames.Add(new VLANName(ID, Individual.InnerText)); + VLANsEnabled = true; + } } break; default: @@ -260,6 +267,7 @@ namespace EduNetworkBuilder writer.WriteElementString("sortorder", SortOrder.ToString()); writer.WriteElementString("uniqueidentifier", UniqueIdentifier.ToString()); writer.WriteElementString("startinghelplevel", StartingHelpLevel.ToString()); + writer.WriteElementString("vlansenabled", VLANsEnabled.ToString()); //Save all the devices for (int loop = 0; loop < NetComponents.Count; loop++) { diff --git a/EduNetworkBuilder/OptionsWindow.Designer.cs b/EduNetworkBuilder/OptionsWindow.Designer.cs index e0d69c5..7393abd 100644 --- a/EduNetworkBuilder/OptionsWindow.Designer.cs +++ b/EduNetworkBuilder/OptionsWindow.Designer.cs @@ -49,6 +49,7 @@ this.lblSortOrder = new System.Windows.Forms.Label(); this.cbStartingHelpLevel = new System.Windows.Forms.ComboBox(); this.lblStartingHelp = new System.Windows.Forms.Label(); + this.cbVLANs = new System.Windows.Forms.CheckBox(); this.SuspendLayout(); // // btnDone @@ -235,12 +236,23 @@ this.lblStartingHelp.TabIndex = 20; this.lblStartingHelp.Text = "Starting Help Level"; // + // cbVLANs + // + this.cbVLANs.AutoSize = true; + this.cbVLANs.Location = new System.Drawing.Point(341, 44); + this.cbVLANs.Name = "cbVLANs"; + this.cbVLANs.Size = new System.Drawing.Size(129, 21); + this.cbVLANs.TabIndex = 21; + this.cbVLANs.Text = "VLANs Enabled"; + this.cbVLANs.UseVisualStyleBackColor = true; + // // OptionsWindow // this.AcceptButton = this.btnDone; this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(836, 307); + this.Controls.Add(this.cbVLANs); this.Controls.Add(this.lblStartingHelp); this.Controls.Add(this.cbStartingHelpLevel); this.Controls.Add(this.lblSortOrder); @@ -292,5 +304,6 @@ private System.Windows.Forms.Label lblSortOrder; private System.Windows.Forms.ComboBox cbStartingHelpLevel; private System.Windows.Forms.Label lblStartingHelp; + private System.Windows.Forms.CheckBox cbVLANs; } } \ No newline at end of file diff --git a/EduNetworkBuilder/OptionsWindow.cs b/EduNetworkBuilder/OptionsWindow.cs index f3f07a0..e27ecd7 100644 --- a/EduNetworkBuilder/OptionsWindow.cs +++ b/EduNetworkBuilder/OptionsWindow.cs @@ -45,23 +45,24 @@ namespace EduNetworkBuilder myToolTip.SetToolTip(tbLevel, NB.Translate("OW_OWLevel")); myToolTip.SetToolTip(lblSortOrder, NB.Translate("OW_OWSort")); myToolTip.SetToolTip(tbSortOrder, NB.Translate("OW_OWSort")); - + myToolTip.SetToolTip(cbVLANs, NB.Translate("OW_OWVLANs")); LoadValuesFromNetwork(); } private void LanguagifyComponents() { Text = NB.Translate("_Done"); - Text = NB.Translate("OW_lblNetTitle"); - Text = NB.Translate("OW_cbDisplayTitles"); - Text = NB.Translate("OW_lblNetSize"); - Text = NB.Translate("OW_lblItemSize"); - Text = NB.Translate("OW_lblNetMessage"); - Text = NB.Translate("OW_lblTests"); - Text = NB.Translate("OW_lblTags"); - Text = NB.Translate("OW_lblLevel"); - Text = NB.Translate("OW_lblSortOrder"); - Text = NB.Translate("OW_lblStartingHelp"); + lblNetTitle.Text = NB.Translate("OW_lblNetTitle"); + cbDisplayTitles.Text = NB.Translate("OW_cbDisplayTitles"); + lblNetSize.Text = NB.Translate("OW_lblNetSize"); + lblNetSize.Text = NB.Translate("OW_lblItemSize"); + lblNetMessage.Text = NB.Translate("OW_lblNetMessage"); + lblTests.Text = NB.Translate("OW_lblTests"); + lblTags.Text = NB.Translate("OW_lblTags"); + lblLevel.Text = NB.Translate("OW_lblLevel"); + lblSortOrder.Text = NB.Translate("OW_lblSortOrder"); + lblStartingHelp.Text = NB.Translate("OW_lblStartingHelp"); + cbVLANs.Text = NB.Translate("OW_cbVLANs"); Text = NB.Translate("OW_Form"); } @@ -72,6 +73,7 @@ namespace EduNetworkBuilder tbMessage.Text = myNet.NetMessage.GetText(); tbNetworkTitle.Text = myNet.NetTitle.GetText(); cbDisplayTitles.Checked = myNet.OptionShowLabels; + cbVLANs.Checked = myNet.VLANsEnabled; tbNetworkX.Text = myNet.myWidth.ToString(); tbNetworkY.Text = myNet.myHeight.ToString(); tbLevel.Text = myNet.Level.ToString(); @@ -108,6 +110,7 @@ namespace EduNetworkBuilder myNet.NetMessage.Add( tbMessage.Text); myNet.NetTitle.Add(tbNetworkTitle.Text); myNet.OptionShowLabels = cbDisplayTitles.Checked; + myNet.VLANsEnabled = cbVLANs.Checked; myNet.ShowLabelsHere = myNet.OptionShowLabels; int.TryParse(tbNetworkX.Text, out myNet.myWidth); int.TryParse(tbNetworkY.Text, out myNet.myHeight); diff --git a/EduNetworkBuilder/Resources/languages/edustrings.resx b/EduNetworkBuilder/Resources/languages/edustrings.resx index 5da3f64..2760038 100644 --- a/EduNetworkBuilder/Resources/languages/edustrings.resx +++ b/EduNetworkBuilder/Resources/languages/edustrings.resx @@ -1537,4 +1537,12 @@ VLANs Text used in the program on buttons and the like + + VLANs Enabled + OW_cbVLANs = VLANs Enabled + + + Enable VLANs on this network. Otherwise, the vlan configuration stuff is kept hidden to keep it simple + OW_OWVLANs = Enable VLANs on this network. Otherwise, the vlan configuration stuff is kept hidden to keep it simple + \ No newline at end of file