From 200f29c6596db6e54fc10cf62c440fc0f200448e Mon Sep 17 00:00:00 2001 From: "Samir L. Boulema" Date: Mon, 30 Jan 2017 17:38:31 +0100 Subject: [PATCH] Filter based on access (wip) --- CodeNav/CodeNav.csproj | 1 + CodeNav/CodeViewUserControl.xaml.cs | 1 + CodeNav/FilterToolWindow.Designer.cs | 18 +- CodeNav/FilterToolWindow.cs | 10 + CodeNav/FilterToolWindow.resx | 317 ++++++++++++++---------- CodeNav/Helpers/VisibilityHelper.cs | 43 ++++ CodeNav/Mappers/CodeItemMapper.cs | 55 ++++ CodeNav/Models/CodeItem.cs | 1 + CodeNav/Models/CodeItemAccessEnum.cs | 11 + CodeNav/Properties/Settings.Designer.cs | 48 ++++ CodeNav/Properties/Settings.settings | 12 + CodeNav/Tests/CodeNavTest.cs | 2 +- CodeNav/app.config | 12 + 13 files changed, 395 insertions(+), 136 deletions(-) create mode 100644 CodeNav/Models/CodeItemAccessEnum.cs diff --git a/CodeNav/CodeNav.csproj b/CodeNav/CodeNav.csproj index 8a4c4a8..5787ddf 100644 --- a/CodeNav/CodeNav.csproj +++ b/CodeNav/CodeNav.csproj @@ -62,6 +62,7 @@ + Form diff --git a/CodeNav/CodeViewUserControl.xaml.cs b/CodeNav/CodeViewUserControl.xaml.cs index 4e257dc..432de92 100644 --- a/CodeNav/CodeViewUserControl.xaml.cs +++ b/CodeNav/CodeViewUserControl.xaml.cs @@ -84,6 +84,7 @@ private void ButtonFilter_OnClick(object sender, RoutedEventArgs e) { new FilterToolWindow().ShowDialog(); VisibilityHelper.SetCodeItemVisibility(_codeNav.CodeDocumentViewModel.CodeDocument); + VisibilityHelper.SetCodeItemVisibilityOnAccess(_codeNav.CodeDocumentViewModel.CodeDocument); } private void ButtonOptions_OnClick(object sender, RoutedEventArgs e) diff --git a/CodeNav/FilterToolWindow.Designer.cs b/CodeNav/FilterToolWindow.Designer.cs index 4f2e2f1..5c3d82d 100644 --- a/CodeNav/FilterToolWindow.Designer.cs +++ b/CodeNav/FilterToolWindow.Designer.cs @@ -39,6 +39,10 @@ private void InitializeComponent() System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("Properties", 5); System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem("Structs", 9); System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem("Variables", 6); + System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem("Public", 10); + System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem("Private", 12); + System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem("Internal", 11); + System.Windows.Forms.ListViewItem listViewItem14 = new System.Windows.Forms.ListViewItem("Protected", 13); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FilterToolWindow)); this.okButton = new System.Windows.Forms.Button(); this.listView1 = new System.Windows.Forms.ListView(); @@ -71,6 +75,10 @@ private void InitializeComponent() listViewItem8.StateImageIndex = 0; listViewItem9.StateImageIndex = 0; listViewItem10.StateImageIndex = 0; + listViewItem11.StateImageIndex = 0; + listViewItem12.StateImageIndex = 0; + listViewItem13.StateImageIndex = 0; + listViewItem14.StateImageIndex = 0; this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] { listViewItem1, listViewItem2, @@ -81,7 +89,11 @@ private void InitializeComponent() listViewItem7, listViewItem8, listViewItem9, - listViewItem10}); + listViewItem10, + listViewItem11, + listViewItem12, + listViewItem13, + listViewItem14}); this.listView1.Location = new System.Drawing.Point(12, 12); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(239, 140); @@ -104,6 +116,10 @@ private void InitializeComponent() this.imageList1.Images.SetKeyName(7, "Delegate_purple_16x.png"); this.imageList1.Images.SetKeyName(8, "Enumerator_orange_16x.png"); this.imageList1.Images.SetKeyName(9, "Structure_16x.png"); + this.imageList1.Images.SetKeyName(10, "AzureTeam_16x.png"); + this.imageList1.Images.SetKeyName(11, "Mail_16x.png"); + this.imageList1.Images.SetKeyName(12, "Lock_16x.png"); + this.imageList1.Images.SetKeyName(13, "Key_16x.png"); // // cancelButton // diff --git a/CodeNav/FilterToolWindow.cs b/CodeNav/FilterToolWindow.cs index c041969..b9b739a 100644 --- a/CodeNav/FilterToolWindow.cs +++ b/CodeNav/FilterToolWindow.cs @@ -44,6 +44,11 @@ private void FilterToolWindow_Load(object sender, EventArgs e) listView1.Items[7].Checked = Settings.Default.ShowProperties; listView1.Items[8].Checked = Settings.Default.ShowStructs; listView1.Items[9].Checked = Settings.Default.ShowVariables; + + listView1.Items[10].Checked = Settings.Default.ShowPublic; + listView1.Items[11].Checked = Settings.Default.ShowPrivate; + listView1.Items[12].Checked = Settings.Default.ShowInternal; + listView1.Items[13].Checked = Settings.Default.ShowProtected; } private void okButton_Click(object sender, EventArgs e) @@ -59,6 +64,11 @@ private void okButton_Click(object sender, EventArgs e) Settings.Default.ShowStructs = listView1.Items[8].Checked; Settings.Default.ShowVariables = listView1.Items[9].Checked; + Settings.Default.ShowPublic = listView1.Items[10].Checked; + Settings.Default.ShowPrivate = listView1.Items[11].Checked; + Settings.Default.ShowInternal = listView1.Items[12].Checked; + Settings.Default.ShowProtected = listView1.Items[13].Checked; + Close(); } } diff --git a/CodeNav/FilterToolWindow.resx b/CodeNav/FilterToolWindow.resx index 8f89925..370d174 100644 --- a/CodeNav/FilterToolWindow.resx +++ b/CodeNav/FilterToolWindow.resx @@ -124,140 +124,189 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADy - HgAAAk1TRnQBSQFMAgEBCgEAARgBAAEYAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABMAMAAQEBAAEgBgABMP8A/wD/ABUAAygBMAPkAe8D9gH/A/YB/wP2Af8D9gH/A+QB7wMoATAgAAP2 - Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/iAAD5AHvAWwBqgHW - Af8BGQF8AcIB/wEZAXwBwgH/ARkBfAHCAf8BGQF8AcIB/wFsAaoB1gH/A+QB7yAAA/YB/wGcAVIBAAH/ - AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/A/YB/wgAA/YB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGc - AVIBAAH/A/YB/4gAA/YB/wEZAXwBwgH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BGQF8 - AcIB/wP2Af8gAAP2Af8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wP2Af8IAAP2Af8BnAFS - AQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wP2Af+IAAP2Af8BGQF8AcIB/wEZAXwBwgH/ARkBfAHC - Af8BGQF8AcIB/wEZAXwBwgH/ARkBfAHCAf8D9gH/IAAD9gH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/ - AZwBUgEAAf8D9gH/CAAD9gH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8D9gH/iAAD9gH/ - ARkBfAHCAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wEZAXwBwgH/A/YB/wP2Af8D9gH/ - A+QB7wMoATAQAAP2Af8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wP2Af8IAAP2Af8BnAFS - AQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wP2Af+IAAPkAe8BbAGqAdYB/wEZAXwBwgH/ARkBfAHC - Af8BGQF8AcIB/wEZAXwBwgH/AWwBqgHWAf8BpAHJAeMB/wEZAXwBwgH/ARkBfAHCAf8BbAGqAdYB/wPk - Ae8QAAP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/iAADKAEw - A+QB7wP2Af8D9gH/A/YB/wP2Af8B9AHzAfQB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wEZAXwBwgH/ - A/YB/xAAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 - Af+YAAP2Af8BGQF8AcIB/wEZAXwBwgH/ARkBfAHCAf8BGQF8AcIB/wEZAXwBwgH/ARkBfAHCAf8D9gH/ - EAAD9gH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEA - Af8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/A/YB/5gAA/YB/wEZAXwBwgH/ - AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BGQF8AcIB/wP2Af8QAAP2Af8BnAFSAQAB/wGc - AVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEA - Af8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8D9gH/mAAD5AHvAWwBqgHWAf8BGQF8AcIB/wEZAXwBwgH/ - ARkBfAHCAf8BGQF8AcIB/wFsAaoB1gH/A+QB7xAAA/YB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGc - AVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEAAf8BnAFSAQAB/wGcAVIBAAH/AZwBUgEA - Af8BnAFSAQAB/wP2Af+YAAMoATAD5AHvA/YB/wP2Af8D9gH/A/YB/wPkAe8DKAEwEAAD9gH/A/YB/wP2 - Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB//8A/wDOAAP2Af8D9gH/ - A/YB//AAA/YB/wOGAf8DPwH/A4YB/wP2Af+4AAMXASADdQG/A/YB/wN1Ab8DFwEgIAAD9gH/Az8B/wM/ - Af8DPwH/A4YB/wP2Af+wAANJAYAB8AHpAe0B/wG9AYUBpAH/AZABKgFiAf8BvQGFAaQB/wHwAekB7QH/ - A0kBgBwAA/YB/wOGAf8DPwH/Az8B/wM/Af8DhgH/A/YB/ywAAwwBEANJAYADxgHvA8YB7wNJAYADDAEQ - YAADKgFAA4oBzwHWAbcByQH/AZ0BQwF0Af8BtAFzAZkB/wGQASoBYgH/AbQBcwGZAf8BnQFDAXQB/wHW - AbcByQH/A4oBzwMqAUAYAAP2Af8DhgH/Az8B/wM/Af8DPwH/A4YB/wP2Af8gAAMMARADSQGAA8YB7wHU - AbkBmgH/AacBZAEcAf8BpwFkARwB/wHUAbkBmgH/A8YB7wNJAYADDAEQGAADZwF0A/YB/wP2Af8D9gH/ - A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A2cBdBQAA/YB/wGwAWkBkgH/AZwBQgFzAf8B2QG/Ac0B/wHx - Ae8B8AH/AZABKgFiAf8B8QHvAfAB/wHZAb8BzQH/AZwBQgFzAf8BsAFpAZIB/wP2Af8cAAP2Af8DhgH/ - Az8B/wM/Af8DPwH/A4YB/wP2Af8D9gH/A/YB/wP2Af8QAAPGAe8B1AG5AZoB/wGnAWQBHAH/AZwBUAEA - Af8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BpwFkARwB/wHUAbkBmgH/A8YB7wNJAYADDAEQEAAD9gH/ - AZkBPQFxAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BkAEs - AWQB/wGZAT0BcQH/A/YB/xQAA/YB/wGQASoBYgH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AZABKgFi - Af8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BkAEqAWIB/wP2Af8gAAP2Af8DhgH/Az8B/wM/Af8DPwH/ - A0oB/wM/Af8DPwH/A1YB/wP2Af8MAAP2Af8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGc - AVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AacBZAEcAf8B1AG5AZoB/wPGAe8QAAP2Af8BkAEs - AWQB/wHxAe8B8AH/AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wHxAe8B8AH/ - AZABLAFkAf8D9gH/FAAD9gH/AZABKgFiAf8B8QHvAfAB/wHxAe8B8AH/Ad8BywHWAf8BkAEqAWIB/wHf - AcsB1gH/AfEB7wHwAf8B8QHvAfAB/wGQASoBYgH/A/YB/yQAA/YB/wOGAf8DPwH/Az8B/wM/Af8DPwH/ - Az8B/wM/Af8DPwH/A/YB/wgAA/YB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEA - Af8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/A/YB/xAAA/YB/wGQASwBZAH/ - AfEB7wHwAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AfEB7wHwAf8BkAEs - AWQB/wP2Af8UAAP2Af8BkAEqAWIB/wHrAeMB5wH/AcEBjgGrAf8BtAFzAZkB/wHlAdcB3wH/AbQBcwGZ - Af8BwQGOAasB/wHrAeMB5wH/AZABKgFiAf8D9gH/KAAD9gH/A0oB/wM/Af8DPwH/Az8B/wM/Af8DPwH/ - Az8B/wNWAf8D9gH/BAAD9gH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGc - AVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8D9gH/EAAD9gH/AZABLAFkAf8B8QHv - AfAB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8B8QHvAfAB/wGQASwBZAH/ - A/YB/xQAA/YB/wGQASoBYgH/AagBWwGIAf8B2QG/Ac0B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHZ - Ab8BzQH/AagBWwGIAf8BkAEqAWIB/wP2Af8oAAP2Af8DPwH/Az8B/wM/Af8DPwH/A4YB/wOGAf8DPwH/ - Az8B/wP2Af8EAAP2Af8BnAFQAQAB/wGcAVABAAH/AbwBjgFXAf8B5gHcAdIB/wHmAdwB0gH/AbwBjgFX - Af8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wP2Af8QAAP2Af8BkAEsAWQB/wHxAe8B8AH/ - AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wHxAe8B8AH/AZABLAFkAf8D9gH/ - FAAD9gH/AbABaQGSAf8BnAFCAXMB/wHZAb8BzQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AdkBvwHN - Af8BnAFCAXMB/wGwAWkBkgH/A/YB/ygAA/YB/wM/Af8DPwH/Az8B/wOGAf8D9gH/A/YB/wOGAf8DPwH/ - A/YB/wQAA/YB/wHUAbkBmgH/AacBZAEcAf8BvAGOAVcB/wHmAdwB0gH/AfEB7wHwAf8B8QHvAfAB/wHm - AdwB0gH/AbwBjgFXAf8BnAFQAQAB/wGcAVABAAH/A/YB/xAAA/YB/wGZAT0BcQH/AZABLAFkAf8BkAEs - AWQB/wGQASwBZAH/AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/AZABLAFkAf8BmQE9AXEB/wP2Af8UAAMq - AUADigHPAdYBtwHJAf8BnQFDAXQB/wG0AXMBmQH/AeUB1wHfAf8BtAFzAZkB/wGdAUMBdAH/AdYBtwHJ - Af8DigHPAyoBQCgAA/YB/wNWAf8DPwH/Az8B/wNhAf8D9gH/BAAD9gH/A5wB/wP2Af8EAAMXASADWgGf - A/YB/wHUAbkBmgH/AacBZAEcAf8BvAGOAVcB/wHmAdwB0gH/AeYB3AHSAf8BvAGOAVcB/wGnAWQBHAH/ - AdQBuQGaAf8D9gH/EAADZwF0A/YB/wP2Af8BkAEsAWQB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wGQ - ASwBZAH/A/YB/wP2Af8DZwF0HAADSQGAAfAB6QHtAf8BvQGFAaQB/wGQASoBYgH/Ab0BhQGkAf8B8AHp - Ae0B/wNJAYA0AAP2Af8DPwH/Az8B/wM/Af8DYQH/A/YB/wQAA/YB/xAAAxcBIANaAZ8D9gH/AdQBuQGa - Af8BpwFkARwB/wGnAWQBHAH/AdQBuQGaAf8D9gH/A1oBnwMXASAYAAP2Af8BkAEsAWQB/wGQASwBZAH/ - AZABLAFkAf8BkAEsAWQB/wGQASwBZAH/A/YB/ygAAxcBIAN1Ab8D9gH/A3UBvwMXASA8AAP2Af8DVgH/ - Az8B/wM/Af8DhgH/A/YB/xwAAxcBIANaAZ8D9gH/A/YB/wNaAZ8DFwEgIAAD9gH/A/YB/wP2Af8D9gH/ - A/YB/wP2Af8D9gH/fAAD9gH/A/YB/wP2Af8D9gH//wD5AAP2Af8D9gH/A/YB/wP2Af9UAAP2Af8D9gH/ - A8YB75AAA/YB/wExAYoBNQH/ATEBigE1Af8D9gH/VAADxgHvA0oB/wOGAf8DxgHvhAAD9gH/A/YB/wP2 - Af8BMQGKATUB/wExAYoBNQH/A/YB/wP2Af8D9gH/TAADSQGAA5wB/wM/Af8DhgH/A8YB7ygAAyEBMAPG - Ae8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wPGAe8DIQEwGAADDAEQAzoBYAMMARAEAAP2 - Af8BMQGKATUB/wExAYoBNQH/ATEBigE1Af8BMQGKATUB/wExAYoBNQH/ATEBigE1Af8D9gH/CAAD9gH/ - A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/ygAA7sB7wNKAf8DPwH/A4YB/wPGAe8kAAPGAe8DhgH/ - Az8B/wM/Af8DPwH/Az8B/wM/Af8DPwH/Az8B/wM/Af8DhgH/A8YB7xQAAzIBUAOiAd8B3QHEAdIB/wOi - Ad8DMgFQA/YB/wExAYoBNQH/ATEBigE1Af8BMQGKATUB/wExAYoBNQH/ATEBigE1Af8BMQGKATUB/wP2 - Af8IAAP2Af8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8D9gH/ - KAADUQGPA5wB/wM/Af8DPwH/A4YB/wPGAe8gAAP2Af8DPwH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ - AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wM/Af8D9gH/DAADDAEQA2UBrwHp - Ad0B5AH/AaoBXAGJAf8BkAEqAWIB/wGqAVwBiQH/AekB3QHkAf8D9gH/A/YB/wP2Af8BMQGKATUB/wEx - AYoBNQH/A/YB/wP2Af8D9gH/CAAD9gH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQ - AQAB/wGcAVABAAH/A/YB/ywAA+sB/wNKAf8DPwH/Az8B/wOGAf8DxgHvHAAD9gH/Az8B/wHxAe8B8AH/ - AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DPwH/ - A/YB/wgAA0EBcAPGAe8BwwGSAa4B/wGWATYBawH/AccBmgGzAf8BkAEqAWIB/wHHAZoBswH/AZYBNgFr - Af8BwwGSAa4B/wP2Af8D9gH/ATEBigE1Af8BMQGKATUB/wP2Af8DKgFAAyoBQAgAA/YB/wGcAVABAAH/ - AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BnAFQAQAB/wP2Af8gAAP2Af8D9gH/A/YB/wP2 - Af8DnAH/Az8B/wM/Af8DPwH/A4YB/wPGAe8YAAP2Af8DPwH/AfEB7wHwAf8B8QHvAfAB/wGcAVABAAH/ - AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AfEB7wHwAf8B8QHvAfAB/wM/Af8D9gH/CAAD9gH/AaMBUAGA - Af8BrgFnAZAB/wHlAdcB3wH/AfEB7wHwAf8BkAEqAWIB/wHxAe8B8AH/AeUB1wHfAf8BrgFnAZAB/wGj - AVABgAH/A/YB/wP2Af8D9gH/A/YB/xAAA/YB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/ - AZwBUAEAAf8BnAFQAQAB/wP2Af8D9gH/A/YB/wPGAe8DIQEwEAADxgHvA1YB/wM/Af8DPwH/Az8B/wM/ - Af8DPwH/Az8B/wM/Af8DhgH/A8YB7xQAA/YB/wM/Af8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHv - AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/Az8B/wP2Af8IAAP2Af8BkAEqAWIB/wHx - Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wGQASoBYgH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AZABKgFi - Af8D9gH/AyoBQAMqAUADKgFAEAAD9gH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQ - AQAB/wGcAVABAAH/A/YB/wGcAVABAAH/AZwBUAEAAf8BvgGQAVkB/wPGAe8QAANJAYADswH/Az8B/wM/ - Af8DPwH/Az8B/wM/Af8DPwH/Az8B/wM/Af8DhgH/A8YB7xAAA/YB/wM/Af8B8QHvAfAB/wHxAe8B8AH/ - AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8B8QHvAfAB/wHxAe8B8AH/Az8B/wP2Af8IAAP2 - Af8BkAEqAWIB/wHxAe8B8AH/AfEB7wHwAf8B0wGyAcUB/wGQASoBYgH/AdMBsgHFAf8B8QHvAfAB/wHx - Ae8B8AH/AZABKgFiAf8D9gH/HAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wHxAe8B8AH/ - AfEB7wHwAf8BnAFQAQAB/wP2Af8UAAPGAe8DVgH/Az8B/wM/Af8DhgH/A/YB/wP2Af8D9gH/A/YB/wP2 - Af8D9gH/EAAD9gH/Az8B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHv - AfAB/wHxAe8B8AH/AfEB7wHwAf8DPwH/A/YB/wgAA/YB/wGQASoBYgH/AeUB1wHfAf8BrgFnAZAB/wHH - AZoBswH/AfEB7wHwAf8BxwGaAbMB/wGuAWcBkAH/AeUB1wHfAf8BkAEqAWIB/wP2Af8sAAP2Af8BnAFQ - AQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wGcAVABAAH/AZwBUAEAAf8D9gH/FAADSQGAA7MB/wM/ - Af8DPwH/Az8B/wOGAf8D9gH/IAAD9gH/Az8B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ - AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DPwH/A/YB/wgAA/YB/wGQASoBYgH/Aa4BZwGQ - Af8B5QHXAd8B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHlAdcB3wH/Aa4BZwGQAf8BkAEqAWIB/wP2 - Af8sAAP2Af8BnAFQAQAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AZwBUAEAAf8D9gH/ - GAADxgHvA1YB/wM/Af8DPwH/Az8B/wOGAf8DxgHvHAADxgHvA2EB/wM/Af8DPwH/Az8B/wM/Af8DPwH/ - Az8B/wM/Af8DPwH/A2EB/wPGAe8IAAPGAe8BwwGSAa4B/wGWATYBawH/AccBmgGzAf8B8QHvAfAB/wHx - Ae8B8AH/AfEB7wHwAf8BxwGaAbMB/wGWATYBawH/AcMBkgGuAf8DxgHvLAADxgHvAb4BkAFZAf8BnAFQ - AQAB/wGcAVABAAH/AZwBUAEAAf8BnAFQAQAB/wG+AZABWQH/A8YB7xgAA0kBgAOzAf8DPwH/Az8B/wM/ - Af8DPwH/A4YB/wPGAe8YAAMhATADxgHvA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8DxgHv - AyEBMAgAAwwBEANlAa8B6QHdAeQB/wGqAVwBiQH/AaIBTgF8Af8BzQGmAbwB/wGiAU4BfAH/AaoBXAGJ - Af8B6QHdAeQB/wNlAa8DDAEQLAADIQEwA8YB7wP2Af8D9gH/A/YB/wP2Af8DxgHvAyEBMBwAA8YB7wNW - Af8DPwH/Az8B/wM/Af8DPwH/A4YB/wPGAe9UAAMyAVADogHfAdABqwHAAf8BnQFDAXQB/wHQAasBwAH/ - A6IB3wMyAVBwAANJAYADswH/Az8B/wM/Af8DPwH/Az8B/wM/Af8DhgH/A8YB71QAAwwBEANRAY8D9gH/ - A1EBjwMMARB4AAPGAe8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/CAABQgFNAT4HAAE+AwABKAMA - AUADAAEwAwABAQEAAQEFAAGAAQEWAAP/AQAE/wQABP8EAAT/BQAB/wIDBQAB/wIDBQAB/wIDBQAB/wID - BQABDwIDBQABDwIDBQABDwEAAQMEAAHwAQ8BAAEDBAAB8AEPAQABAwQAAfABDwEAAQMEAAHwAQ8BAAED - BAAE/wQABP8EAAL/AY8H/wEHBf8B4AH/AQMF/wHAAX8BAQH/AcAD/wEAAR8BgAH/AQABPwEAAR8BAAEf - AcABDwEAAQ8BAAEfAQABHwHgAQcBAAEPAQABHwEAAR8B8AEDAQABDwEAAR8BAAEfAfgBAQEAAQ8BAAEf - AQABHwH4AQEBAAEPAQABHwEAAR8B+AEBAQABDwEAAR8BAAEfAfgBEQEAAQ8BAAEfAcABfwH8AQsBwAEP - AcABfwHgAf8B/gEHAfABPwHAAX8D/wEPD/8BwwL/AeME/wHDAv8B4QT/AQAC/wHgAf8BwAEDAfEBAAHA - AT8B8AF/AcABAwHgAQABwAE/AfABPwHAAQMBgAEAAcABPwH4AR8BwAEDAgABwAE/AcABDwHAAQMBAAED - AcABAwHAAQcBwAEDAQABAwHAAQMBwAEDAcABAwEAAR8BwAEDAeABAwHAAQMBAAEfAfwBAwHgAT8BwAED - AQABHwH8AQMB8AEfAcABAwEAAR8B/AEDAfABDwHAAQMBAAEfAfwBAwH4AQcC/wHAAX8C/wH4AQMC/wHg - A/8B/AEDCw== + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACe + KgAAAk1TRnQBSQFMAgEBDgEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABQAMAAQEBAAEgBgABQP8A/wAkAAP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/9wA + A/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/3AAD9gH/A0EB/wNBAf8DQQH/A/YB/wNB + Af8DQQH/A0EB/wP2Af8UAAP2Af8D9gH/A/YB/wP2Af8D9gH/BAADRQFQA9EB3wP2Af8D9gH/A9EB3wNF + AVCYAAP2Af8DQQH/A0EB/wNBAf8D9gH/A0EB/wNBAf8DQQH/A/YB/xQAA/YB/wNBAf8D9gH/A0EB/wP2 + Af8DRQFQA+sB/wNuAf8DQQH/A0EB/wNuAf8D6wH/A0UBUJQAA/YB/wNBAf8DQQH/A0EB/wP2Af8DQQH/ + A0EB/wNBAf8D9gH/EAAD9gH/A/YB/wNBAf8D9gH/A0EB/wP2Af8D9gH/A24B/wNBAf8DQQH/A0EB/wNB + Af8DbgH/A9EB35QAA/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/EAAD9gH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DnAH/A5wB/wNBAf8DQQH/A/YB/5QAA/YB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/EAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8DnAH/A5wB/wNBAf8DQQH/A/YB/5AAAxsBIAP2Af8DQQH/A0EB/wODAZ8EAAOQAa8DQQH/A0EB/wPg + Af8QAAP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8DbgH/A0EB/wNBAf8DQQH/A0EB/wNuAf8D0QHf + lAAD9gH/A0EB/wNBAf8DnAH/A48BvwOcAf8DQQH/A0EB/wP2Af8oAANFAVAD6wH/A24B/wNBAf8DQQH/ + A24B/wPrAf8DRQFQlAADoQGvA5EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A5EB/wOhAa8sAANFAVAD0QHf + A/YB/wP2Af8D0QHfA0UBUJgAAxsBIAPkAe8DkQH/A0EB/wNBAf8DQQH/A5EB/wPkAe8DGwEg4AADGwEg + A6EBrwP2Af8D9gH/A/YB/wOhAa8DGwEg/wD/AP8AUwAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/wAAD9gH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8DQQH/A/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/wAAD9gH/A0EB/wNBAf8DQQH/ + A0EB/wNBAf8DQQH/A/YB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wMhATAD1AHv + A/YB/wP2Af8D9gH/A/YB/wPUAe8DIQEwIAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8IAAP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wNBAf8DQQH/A0wB/wNYAf8DQQH/A0EB/wP2Af8DQQH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A/YB/wP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wP2Af8D1AHvAWsBqgHWAf8BGAF7AcIB/wEYAXsBwgH/ARgBewHC + Af8BGAF7AcIB/wFrAaoB1gH/A9QB7yAAA/YB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/ + A/YB/wgAA/YB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/A/YB/wgAA/YB/wNBAf8DQQH/ + A74B/wPJAf8DQQH/A0EB/wP2Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A/YB/wP2Af8DQQH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2Af8D9gH/ARgBewHCAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wEYAXsBwgH/A/YB/yAAA/YB/wGcAVEBAAH/AZwBUQEA + Af8BnAFRAQAB/wGcAVEBAAH/A/YB/wgAA/YB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/ + A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8DQQH/A0wB/wPgAf8DTAH/A0EB/wNB + Af8DQQH/A/YB/wP2Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/A0EB/wP2 + Af8D9gH/ARgBewHCAf8BGAF7AcIB/wEYAXsBwgH/ARgBewHCAf8BGAF7AcIB/wEYAXsBwgH/A/YB/yAA + A/YB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/A/YB/wgAA/YB/wGcAVEBAAH/AZwBUQEA + Af8BnAFRAQAB/wGcAVEBAAH/A/YB/wwAA/YB/wOGAf8DQQH/A0EB/wORAf8DswH/A0EB/wNBAf8DpwH/ + A/YB/wOnAf8DQQH/A0EB/wNBAf8D9gH/A/YB/wNBAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHv + AfAB/wGvAa4BrwH/A0EB/wNBAf8BrwGuAa8B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ + A0EB/wP2Af8D9gH/ARgBewHCAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wEYAXsBwgH/ + A/YB/wP2Af8D9gH/A9QB7wMhATAQAAP2Af8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wP2 + Af8IAAP2Af8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wP2Af8IAAM3AUAD1AH/A0EB/wNB + Af8DQQH/A0EB/wPJAf8DnAH/A6cB/wP2Af8D9gH/A/YB/wOnAf8DnAH/A5wB/wP2Af8D9gH/A0EB/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wGvAa4BrwH/A0EB/wGvAa4BrwH/Aa8BrgGvAf8DQQH/Aa8BrgGv + Af8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DQQH/A/YB/wPUAe8BawGqAdYB/wEYAXsBwgH/ARgBewHC + Af8BGAF7AcIB/wEYAXsBwgH/AWsBqgHWAf8BpAHJAeMB/wEYAXsBwgH/ARgBewHCAf8BawGqAdYB/wPU + Ae8QAAP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wgAA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/CAADNwFA + A8kB/wNBAf8DQQH/A0EB/wNBAf8DyQH/A/YB/wPrAf8DnAH/A5wB/wOcAf8D6wH/A8IBzwMNARAEAAP2 + Af8DQQH/AfEB7wHwAf8B8QHvAfAB/wGvAa4BrwH/A0EB/wGvAa4BrwH/AfEB7wHwAf8B8QHvAfAB/wGv + Aa4BrwH/A0EB/wGvAa4BrwH/AfEB7wHwAf8B8QHvAfAB/wNBAf8D9gH/AyEBMAPUAe8D9gH/A/YB/wP2 + Af8D9gH/AfQB8wH0Af8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BGAF7AcIB/wP2Af8QAAP2Af8D9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/DAAD0gHfA2MB/wNB + Af8DQQH/A2MB/wP2Af8D4AH/A0wB/wNBAf8DQQH/A0EB/wNMAf8D4AH/A2MBcAQAA/YB/wNBAf8B8QHv + AfAB/wGvAa4BrwH/A0EB/wGvAa4BrwH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BrwGu + Aa8B/wNBAf8BrwGuAa8B/wHxAe8B8AH/A0EB/wP2Af8QAAP2Af8BGAF7AcIB/wEYAXsBwgH/ARgBewHC + Af8BGAF7AcIB/wEYAXsBwgH/ARgBewHCAf8D9gH/EAAD9gH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/ + AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFR + AQAB/wGcAVEBAAH/A/YB/wwAAygBMAPZAe8DswH/A7MB/wPJAd8D0gHfA3kB/wNBAf8DQQH/A0EB/wNB + Af8DQQH/A4YB/wOxAb8EAAP2Af8DQQH/Aa8BrgGvAf8DQQH/Aa8BrgGvAf8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BrwGuAa8B/wNBAf8BrwGuAa8B/wNBAf8D9gH/ + EAAD9gH/ARgBewHCAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wEYAXsBwgH/A/YB/xAA + A/YB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/ + AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wP2Af8QAAMNARADNwFAAzcBQAQA + A7EBvwNuAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNuAf8DsQG/BAAD9gH/A0EB/wNBAf8BrwGuAa8B/wHx + Ae8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHw + Af8BrwGuAa8B/wNBAf8DQQH/A/YB/xAAA9QB7wFrAaoB1gH/ARgBewHCAf8BGAF7AcIB/wEYAXsBwgH/ + ARgBewHCAf8BawGqAdYB/wPUAe8QAAP2Af8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGc + AVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEAAf8BnAFRAQAB/wGcAVEBAAH/AZwBUQEA + Af8D9gH/IAADsQG/A24B/wNBAf8DQQH/A0EB/wNBAf8DQQH/A24B/wOxAb8EAAP2Af8DQQH/A0EB/wNB + Af8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wP2Af8QAAMhATAD1AHv + A/YB/wP2Af8D9gH/A/YB/wPUAe8DIQEwEAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH/A/YB/yAAA2MBcAOnAf8DQQH/A0EB/wNBAf8DQQH/A0EB/wOnAf8DVAFg + BAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 + Af8D9gH/nAADwgHPA5wB/wNBAf8DQQH/A0wB/wOcAf8DsQG/5AADDQEQA3IBgAPSAd8D9gH/A9IB3wNy + AYCQAAP2Af8D9gH/A/YB//AAA/YB/wOGAf8DPgH/A4YB/wP2Af+4AAMXASADaQG/A/YB/wNpAb8DFwEg + IAAD9gH/Az4B/wM+Af8DPgH/A4YB/wP2Af+wAANHAYAB8AHpAe0B/wG9AYUBpAH/AZABKQFhAf8BvQGF + AaQB/wHwAekB7QH/A0cBgBwAA/YB/wOGAf8DPgH/Az4B/wM+Af8DhgH/A/YB/ywAAwwBEANHAYADugHv + A7oB7wNHAYADDAEQYAADKgFAA3oBzwHWAbcByQH/AZ0BQgFzAf8BtAFyAZkB/wGQASkBYQH/AbQBcgGZ + Af8BnQFCAXMB/wHWAbcByQH/A3oBzwMqAUAYAAP2Af8DhgH/Az4B/wM+Af8DPgH/A4YB/wP2Af8gAAMM + ARADRwGAA7oB7wHUAbkBmgH/AacBYwEbAf8BpwFjARsB/wHUAbkBmgH/A7oB7wNHAYADDAEQGAADSQF0 + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A0kBdBQAA/YB/wGwAWgBkgH/AZwBQQFy + Af8B2QG/Ac0B/wHxAe8B8AH/AZABKQFhAf8B8QHvAfAB/wHZAb8BzQH/AZwBQQFyAf8BsAFoAZIB/wP2 + Af8cAAP2Af8DhgH/Az4B/wM+Af8DPgH/A4YB/wP2Af8D9gH/A/YB/wP2Af8QAAO6Ae8B1AG5AZoB/wGn + AWMBGwH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BpwFjARsB/wHUAbkBmgH/A7oB7wNH + AYADDAEQEAAD9gH/AZkBPAFwAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/ + AZABKwFjAf8BkAErAWMB/wGZATwBcAH/A/YB/xQAA/YB/wGQASkBYQH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AZABKQFhAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BkAEpAWEB/wP2Af8gAAP2Af8DhgH/ + Az4B/wM+Af8DPgH/A0kB/wM+Af8DPgH/A1UB/wP2Af8MAAP2Af8BnAFPAQAB/wGcAU8BAAH/AZwBTwEA + Af8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AacBYwEbAf8B1AG5AZoB/wO6 + Ae8QAAP2Af8BkAErAWMB/wHxAe8B8AH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BkAEr + AWMB/wHxAe8B8AH/AZABKwFjAf8D9gH/FAAD9gH/AZABKQFhAf8B8QHvAfAB/wHxAe8B8AH/Ad8BywHW + Af8BkAEpAWEB/wHfAcsB1gH/AfEB7wHwAf8B8QHvAfAB/wGQASkBYQH/A/YB/yQAA/YB/wOGAf8DPgH/ + Az4B/wM+Af8DPgH/Az4B/wM+Af8DPgH/A/YB/wgAA/YB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGc + AU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/A/YB/xAA + A/YB/wGQASsBYwH/AfEB7wHwAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/ + AfEB7wHwAf8BkAErAWMB/wP2Af8UAAP2Af8BkAEpAWEB/wHrAeMB5wH/AcEBjgGrAf8BtAFyAZkB/wHl + AdcB3wH/AbQBcgGZAf8BwQGOAasB/wHrAeMB5wH/AZABKQFhAf8D9gH/KAAD9gH/A0kB/wM+Af8DPgH/ + Az4B/wM+Af8DPgH/Az4B/wNVAf8D9gH/BAAD9gH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEA + Af8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8D9gH/EAAD9gH/ + AZABKwFjAf8B8QHvAfAB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8B8QHv + AfAB/wGQASsBYwH/A/YB/xQAA/YB/wGQASkBYQH/AagBWgGIAf8B2QG/Ac0B/wHxAe8B8AH/AfEB7wHw + Af8B8QHvAfAB/wHZAb8BzQH/AagBWgGIAf8BkAEpAWEB/wP2Af8oAAP2Af8DPgH/Az4B/wM+Af8DPgH/ + A4YB/wOGAf8DPgH/Az4B/wP2Af8EAAP2Af8BnAFPAQAB/wGcAU8BAAH/AbwBjgFWAf8B5gHcAdIB/wHm + AdwB0gH/AbwBjgFWAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wP2Af8QAAP2Af8BkAEr + AWMB/wHxAe8B8AH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wHxAe8B8AH/ + AZABKwFjAf8D9gH/FAAD9gH/AbABaAGSAf8BnAFBAXIB/wHZAb8BzQH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AdkBvwHNAf8BnAFBAXIB/wGwAWgBkgH/A/YB/ygAA/YB/wM+Af8DPgH/Az4B/wOGAf8D9gH/ + A/YB/wOGAf8DPgH/A/YB/wQAA/YB/wHUAbkBmgH/AacBYwEbAf8BvAGOAVYB/wHmAdwB0gH/AfEB7wHw + Af8B8QHvAfAB/wHmAdwB0gH/AbwBjgFWAf8BnAFPAQAB/wGcAU8BAAH/A/YB/xAAA/YB/wGZATwBcAH/ + AZABKwFjAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/AZABKwFjAf8BmQE8 + AXAB/wP2Af8UAAMqAUADegHPAdYBtwHJAf8BnQFCAXMB/wG0AXIBmQH/AeUB1wHfAf8BtAFyAZkB/wGd + AUIBcwH/AdYBtwHJAf8DegHPAyoBQCgAA/YB/wNVAf8DPgH/Az4B/wNgAf8D9gH/BAAD9gH/A5wB/wP2 + Af8EAAMXASADUwGfA/YB/wHUAbkBmgH/AacBYwEbAf8BvAGOAVYB/wHmAdwB0gH/AeYB3AHSAf8BvAGO + AVYB/wGnAWMBGwH/AdQBuQGaAf8D9gH/EAADSQF0A/YB/wP2Af8BkAErAWMB/wHxAe8B8AH/AfEB7wHw + Af8B8QHvAfAB/wGQASsBYwH/A/YB/wP2Af8DSQF0HAADRwGAAfAB6QHtAf8BvQGFAaQB/wGQASkBYQH/ + Ab0BhQGkAf8B8AHpAe0B/wNHAYA0AAP2Af8DPgH/Az4B/wM+Af8DYAH/A/YB/wQAA/YB/xAAAxcBIANT + AZ8D9gH/AdQBuQGaAf8BpwFjARsB/wGnAWMBGwH/AdQBuQGaAf8D9gH/A1MBnwMXASAYAAP2Af8BkAEr + AWMB/wGQASsBYwH/AZABKwFjAf8BkAErAWMB/wGQASsBYwH/A/YB/ygAAxcBIANpAb8D9gH/A2kBvwMX + ASA8AAP2Af8DVQH/Az4B/wM+Af8DhgH/A/YB/xwAAxcBIANTAZ8D9gH/A/YB/wNTAZ8DFwEgIAAD9gH/ + A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/fAAD9gH/A/YB/wP2Af8D9gH//wD5AAP2Af8D9gH/A/YB/wP2 + Af9UAAP2Af8D9gH/A7oB75AAA/YB/wEwAYoBNAH/ATABigE0Af8D9gH/VAADugHvA0kB/wOGAf8DugHv + hAAD9gH/A/YB/wP2Af8BMAGKATQB/wEwAYoBNAH/A/YB/wP2Af8D9gH/TAADRwGAA5wB/wM+Af8DhgH/ + A7oB7ygAAyEBMAO6Ae8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wO6Ae8DIQEwGAADDAEQ + AzoBYAMMARAEAAP2Af8BMAGKATQB/wEwAYoBNAH/ATABigE0Af8BMAGKATQB/wEwAYoBNAH/ATABigE0 + Af8D9gH/CAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/ygAA68B7wNJAf8DPgH/A4YB/wO6 + Ae8kAAO6Ae8DhgH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DhgH/A7oB7xQAAzIBUAOT + Ad8B3QHEAdIB/wOTAd8DMgFQA/YB/wEwAYoBNAH/ATABigE0Af8BMAGKATQB/wEwAYoBNAH/ATABigE0 + Af8BMAGKATQB/wP2Af8IAAP2Af8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/ + AZwBTwEAAf8D9gH/KAADTQGPA5wB/wM+Af8DPgH/A4YB/wO6Ae8gAAP2Af8DPgH/AfEB7wHwAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wM+Af8D9gH/ + DAADDAEQA1wBrwHpAd0B5AH/AaoBWwGJAf8BkAEpAWEB/wGqAVsBiQH/AekB3QHkAf8D9gH/A/YB/wP2 + Af8BMAGKATQB/wEwAYoBNAH/A/YB/wP2Af8D9gH/CAAD9gH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/ + AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/A/YB/ywAA+sB/wNJAf8DPgH/Az4B/wOGAf8DugHvHAAD9gH/ + Az4B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8DPgH/A/YB/wgAA0ABcAO6Ae8BwwGSAa4B/wGWATUBagH/AccBmgGzAf8BkAEpAWEB/wHH + AZoBswH/AZYBNQFqAf8BwwGSAa4B/wP2Af8D9gH/ATABigE0Af8BMAGKATQB/wP2Af8DKgFAAyoBQAgA + A/YB/wGcAU8BAAH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BnAFPAQAB/wP2Af8gAAP2 + Af8D9gH/A/YB/wP2Af8DnAH/Az4B/wM+Af8DPgH/A4YB/wO6Ae8YAAP2Af8DPgH/AfEB7wHwAf8B8QHv + AfAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AfEB7wHwAf8B8QHvAfAB/wM+Af8D9gH/ + CAAD9gH/AaMBTwGAAf8BrgFmAZAB/wHlAdcB3wH/AfEB7wHwAf8BkAEpAWEB/wHxAe8B8AH/AeUB1wHf + Af8BrgFmAZAB/wGjAU8BgAH/A/YB/wP2Af8D9gH/A/YB/xAAA/YB/wGcAU8BAAH/AZwBTwEAAf8BnAFP + AQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wP2Af8D9gH/A/YB/wO6Ae8DIQEwEAADugHvA1UB/wM+ + Af8DPgH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DhgH/A7oB7xQAA/YB/wM+Af8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/Az4B/wP2Af8IAAP2 + Af8BkAEpAWEB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wGQASkBYQH/AfEB7wHwAf8B8QHvAfAB/wHx + Ae8B8AH/AZABKQFhAf8D9gH/AyoBQAMqAUADKgFAEAAD9gH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/ + AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/A/YB/wGcAU8BAAH/AZwBTwEAAf8BvgGQAVgB/wO6Ae8QAANH + AYADswH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DhgH/A7oB7xAAA/YB/wM+Af8B8QHv + AfAB/wHxAe8B8AH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8B8QHvAfAB/wHxAe8B8AH/ + Az4B/wP2Af8IAAP2Af8BkAEpAWEB/wHxAe8B8AH/AfEB7wHwAf8B0wGyAcUB/wGQASkBYQH/AdMBsgHF + Af8B8QHvAfAB/wHxAe8B8AH/AZABKQFhAf8D9gH/HAAD9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wHxAe8B8AH/AfEB7wHwAf8BnAFPAQAB/wP2Af8UAAO6Ae8DVQH/Az4B/wM+Af8DhgH/A/YB/wP2 + Af8D9gH/A/YB/wP2Af8D9gH/EAAD9gH/Az4B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ + AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DPgH/A/YB/wgAA/YB/wGQASkBYQH/AeUB1wHf + Af8BrgFmAZAB/wHHAZoBswH/AfEB7wHwAf8BxwGaAbMB/wGuAWYBkAH/AeUB1wHfAf8BkAEpAWEB/wP2 + Af8sAAP2Af8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8D9gH/ + FAADRwGAA7MB/wM+Af8DPgH/Az4B/wOGAf8D9gH/IAAD9gH/Az4B/wHxAe8B8AH/AfEB7wHwAf8B8QHv + AfAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8DPgH/A/YB/wgAA/YB/wGQ + ASkBYQH/Aa4BZgGQAf8B5QHXAd8B/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHlAdcB3wH/Aa4BZgGQ + Af8BkAEpAWEB/wP2Af8sAAP2Af8BnAFPAQAB/wHxAe8B8AH/AfEB7wHwAf8B8QHvAfAB/wHxAe8B8AH/ + AZwBTwEAAf8D9gH/GAADugHvA1UB/wM+Af8DPgH/Az4B/wOGAf8DugHvHAADugHvA2AB/wM+Af8DPgH/ + Az4B/wM+Af8DPgH/Az4B/wM+Af8DPgH/A2AB/wO6Ae8IAAO6Ae8BwwGSAa4B/wGWATUBagH/AccBmgGz + Af8B8QHvAfAB/wHxAe8B8AH/AfEB7wHwAf8BxwGaAbMB/wGWATUBagH/AcMBkgGuAf8DugHvLAADugHv + Ab4BkAFYAf8BnAFPAQAB/wGcAU8BAAH/AZwBTwEAAf8BnAFPAQAB/wG+AZABWAH/A7oB7xgAA0cBgAOz + Af8DPgH/Az4B/wM+Af8DPgH/A4YB/wO6Ae8YAAMhATADugHvA/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/ + A/YB/wP2Af8DugHvAyEBMAgAAwwBEANcAa8B6QHdAeQB/wGqAVsBiQH/AaIBTQF7Af8BzQGmAbwB/wGi + AU0BewH/AaoBWwGJAf8B6QHdAeQB/wNcAa8DDAEQLAADIQEwA7oB7wP2Af8D9gH/A/YB/wP2Af8DugHv + AyEBMBwAA7oB7wNVAf8DPgH/Az4B/wM+Af8DPgH/A4YB/wO6Ae9UAAMyAVADkwHfAdABqwHAAf8BnQFC + AXMB/wHQAasBwAH/A5MB3wMyAVBwAANHAYADswH/Az4B/wM+Af8DPgH/Az4B/wM+Af8DhgH/A7oB71QA + AwwBEANNAY8D9gH/A00BjwMMARB4AAO6Ae8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/CAABQgFN + AT4HAAE+AwABKAMAAUADAAFAAwABAQEAAQEGAAECFgAD/wEABP8EAAT/BAAB8AEHAv8EAAHwAQcC/wQA + AfABBwHBAQMEAAHwAQcBwAEBBAAB8AEHAYABAQQAAfABBwGAAQEEAAHwAQcBgAEBBAAB4AGHAYABAQQA + AfABBwH+AQEEAAHwAQcB/wEDBAAB8AEHAv8EAAH4AQ8C/wQABP8EAAT/BAAE/wIABv8CAAb/BQAB/wID + BQAB/wIDBQAB/wIDBQAB/wIDAYAEAAEPAgMFAAEPAgMBAAEBAwABDwEAAQMBgAEBAgAB8AEPAQABAwGA + AQECAAHwAQ8BAAEDAcQBAQIAAfABDwEAAQMB/AEBAgAB8AEPAQABAwH8AQECAAT/Af4BAwb/Af4BBwT/ + AY8H/wEHBf8B4AH/AQMF/wHAAX8BAQH/AcAD/wEAAR8BgAH/AQABPwEAAR8BAAEfAcABDwEAAQ8BAAEf + AQABHwHgAQcBAAEPAQABHwEAAR8B8AEDAQABDwEAAR8BAAEfAfgBAQEAAQ8BAAEfAQABHwH4AQEBAAEP + AQABHwEAAR8B+AEBAQABDwEAAR8BAAEfAfgBEQEAAQ8BAAEfAcABfwH8AQsBwAEPAcABfwHgAf8B/gEH + AfABPwHAAX8D/wEPD/8BwwL/AeME/wHDAv8B4QT/AQAC/wHgAf8BwAEDAfEBAAHAAT8B8AF/AcABAwHg + AQABwAE/AfABPwHAAQMBgAEAAcABPwH4AR8BwAEDAgABwAE/AcABDwHAAQMBAAEDAcABAwHAAQcBwAED + AQABAwHAAQMBwAEDAcABAwEAAR8BwAEDAeABAwHAAQMBAAEfAfwBAwHgAT8BwAEDAQABHwH8AQMB8AEf + AcABAwEAAR8B/AEDAfABDwHAAQMBAAEfAfwBAwH4AQcC/wHAAX8C/wH4AQMC/wHgA/8B/AEDCw== \ No newline at end of file diff --git a/CodeNav/Helpers/VisibilityHelper.cs b/CodeNav/Helpers/VisibilityHelper.cs index 1e84e61..b30f43b 100644 --- a/CodeNav/Helpers/VisibilityHelper.cs +++ b/CodeNav/Helpers/VisibilityHelper.cs @@ -68,6 +68,49 @@ public static void SetCodeItemVisibility(List document) } } + /// + /// Loop through all codeItems and look into Settings to see if the item should be visible or not. + /// + /// List of codeItems + public static void SetCodeItemVisibilityOnAccess(List document) + { + foreach (var item in document) + { + bool shouldBeVisible; + switch (item.Access) + { + case CodeItemAccessEnum.Private: + shouldBeVisible = Settings.Default.ShowPrivate; + break; + case CodeItemAccessEnum.Protected: + shouldBeVisible = Settings.Default.ShowProtected; + break; + case CodeItemAccessEnum.Public: + shouldBeVisible = Settings.Default.ShowPublic; + break; + case CodeItemAccessEnum.Internal: + shouldBeVisible = Settings.Default.ShowInternal; + break; + case CodeItemAccessEnum.Unknown: + shouldBeVisible = Settings.Default.ShowEnumItems; + break; + default: + throw new ArgumentOutOfRangeException(); + } + + item.IsVisible = shouldBeVisible ? Visibility.Visible : Visibility.Collapsed; + + if (item is CodeClassItem) + { + var classItem = (CodeClassItem)item; + if (classItem.Members.Any()) + { + SetCodeItemVisibilityOnAccess(classItem.Members); + } + } + } + } + /// /// Toggle visibility of the CodeNav control /// diff --git a/CodeNav/Mappers/CodeItemMapper.cs b/CodeNav/Mappers/CodeItemMapper.cs index 7f50251..be927ea 100644 --- a/CodeNav/Mappers/CodeItemMapper.cs +++ b/CodeNav/Mappers/CodeItemMapper.cs @@ -59,6 +59,7 @@ private static T MapBase(CodeElement source) where T : CodeItem } element.Foreground = CreateSolidColorBrush(Colors.Black); element.Tooltip = element.FullName; + element.Access = MapAccessToEnum(source); return element; } @@ -461,6 +462,60 @@ private static string MapParameters(CodeFunction function, bool useLongNames = f return prettyPrint ? $"({string.Join(", ", paramList)})" : string.Join(string.Empty, paramList); } + private static CodeItemAccessEnum MapAccessToEnum(CodeElement element) + { + vsCMAccess access; + + switch (element.Kind) + { + case vsCMElement.vsCMElementClass: + access = (element as CodeClass).Access; + break; + case vsCMElement.vsCMElementFunction: + access = (element as CodeFunction).Access; + break; + case vsCMElement.vsCMElementVariable: + access = (element as CodeVariable).Access; + break; + case vsCMElement.vsCMElementProperty: + access = (element as CodeProperty).Access; + break; + case vsCMElement.vsCMElementInterface: + access = (element as CodeInterface).Access; + break; + case vsCMElement.vsCMElementEnum: + access = (element as CodeEnum).Access; + break; + case vsCMElement.vsCMElementStruct: + access = (element as CodeStruct).Access; + break; + case vsCMElement.vsCMElementEvent: + access = (element as CodeEvent).Access; + break; + case vsCMElement.vsCMElementDelegate: + access = (element as CodeDelegate).Access; + break; + default: + throw new ArgumentOutOfRangeException(); + } + + switch (access) + { + case vsCMAccess.vsCMAccessPrivate: + return CodeItemAccessEnum.Private; + case vsCMAccess.vsCMAccessProject: + case vsCMAccess.vsCMAccessProtected: + case vsCMAccess.vsCMAccessProjectOrProtected: + return CodeItemAccessEnum.Protected; + case vsCMAccess.vsCMAccessPublic: + return CodeItemAccessEnum.Public; + case vsCMAccess.vsCMAccessAssemblyOrFamily: + return CodeItemAccessEnum.Internal; + default: + return CodeItemAccessEnum.Unknown; + } + } + private static string MapAccess(CodeElement element) { vsCMAccess access; diff --git a/CodeNav/Models/CodeItem.cs b/CodeNav/Models/CodeItem.cs index d92bbe0..1ff9287 100644 --- a/CodeNav/Models/CodeItem.cs +++ b/CodeNav/Models/CodeItem.cs @@ -17,6 +17,7 @@ public class CodeItem : PropertyChangedBase public string Tooltip { get; set; } internal string FullName; internal CodeItemKindEnum Kind; + internal CodeItemAccessEnum Access; #region IsVisible private Visibility _visibility; diff --git a/CodeNav/Models/CodeItemAccessEnum.cs b/CodeNav/Models/CodeItemAccessEnum.cs new file mode 100644 index 0000000..ab9549f --- /dev/null +++ b/CodeNav/Models/CodeItemAccessEnum.cs @@ -0,0 +1,11 @@ +namespace CodeNav.Models +{ + public enum CodeItemAccessEnum + { + Unknown, + Public, + Private, + Protected, + Internal + } +} diff --git a/CodeNav/Properties/Settings.Designer.cs b/CodeNav/Properties/Settings.Designer.cs index fddfd67..e937184 100644 --- a/CodeNav/Properties/Settings.Designer.cs +++ b/CodeNav/Properties/Settings.Designer.cs @@ -166,5 +166,53 @@ public bool UseLeftSide { this["UseLeftSide"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ShowPublic { + get { + return ((bool)(this["ShowPublic"])); + } + set { + this["ShowPublic"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ShowPrivate { + get { + return ((bool)(this["ShowPrivate"])); + } + set { + this["ShowPrivate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ShowInternal { + get { + return ((bool)(this["ShowInternal"])); + } + set { + this["ShowInternal"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ShowProtected { + get { + return ((bool)(this["ShowProtected"])); + } + set { + this["ShowProtected"] = value; + } + } } } diff --git a/CodeNav/Properties/Settings.settings b/CodeNav/Properties/Settings.settings index d9e78e6..7091fc7 100644 --- a/CodeNav/Properties/Settings.settings +++ b/CodeNav/Properties/Settings.settings @@ -38,5 +38,17 @@ True + + True + + + True + + + True + + + True + \ No newline at end of file diff --git a/CodeNav/Tests/CodeNavTest.cs b/CodeNav/Tests/CodeNavTest.cs index b5e1617..4bf8a24 100644 --- a/CodeNav/Tests/CodeNavTest.cs +++ b/CodeNav/Tests/CodeNavTest.cs @@ -34,7 +34,7 @@ private int PrivateMethod(int a, int b) { return a - b; } - + protected void ProtectedMethod(int a, int b) { diff --git a/CodeNav/app.config b/CodeNav/app.config index 0c2b53f..eadf438 100644 --- a/CodeNav/app.config +++ b/CodeNav/app.config @@ -43,6 +43,18 @@ True + + True + + + True + + + True + + + True +