9 changed files
BExplorer/BetterExplorer | ||
BetterExplorerShell.exe.CodeAnalysisLog.xml + | ||
BetterExplorerShell.exe.lastcodeanalysissucceeded + | ||
MainWindow.xaml.cs | ||
Shell | ||
Interop | ||
BHID.cs | ||
Shell.csproj | ||
ShellItem.cs | ||
ShellViewEx.cs | ||
TestProject | ||
RuleSet1.ruleset + | ||
TestProject.vbproj | ||
BetterExplorerShell.exe.CodeAnalysisLog.xml
/BExplorer/BetterExplorer/BetterExplorerShell.exe.CodeAnalysisLog.xml-70/BExplorer/BetterExplorer/BetterExplorerShell.exe.CodeAnalysisLog.xml
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
BetterExplorerShell.exe.lastcodeanalysissucceeded
/BExplorer/BetterExplorer/BetterExplorerShell.exe.lastcodeanalysissucceeded-70/BExplorer/BetterExplorer/BetterExplorerShell.exe.lastcodeanalysissucceeded
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
MainWindow.xaml.cs
/BExplorer/BetterExplorer/MainWindow.xaml.cs-70/BExplorer/BetterExplorer/MainWindow.xaml.cs
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus
Add comment 1 Minus using System;
Add comment 2 Minus using System.Collections.Generic;
Add comment 3 Minus using System.Linq;
Add comment 4 Minus using System.Text;
Add comment 5 Minus using System.Threading.Tasks;
Add comment 6 Minus using System.Windows;
Add comment 7 Minus using System.Windows.Controls;
Add comment 8 Minus
Add comment 9 Minus namespace BExplorer.Shell {
Add comment 10 Minus public class FilterMenu_Strings : ContextMenu {
Add comment 11 Minus /// <summary>
Add comment 12 Minus /// Represents the changing of a CheckBox's check state
Add comment 13 Minus /// </summary>
Add comment 14 Minus /// <param name="sender">The sender.</param>
Add comment 15 Minus /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
Add comment 16 Minus /// <param name="IsChecked">if set to <c>true</c> [is checked].</param>
Add comment 17 Minus public delegate void CheckChanged(object sender, RoutedEventArgs e, bool IsChecked);
Add comment 18 Minus
Add comment 19 Minus /// <summary>Occurs when a CheckBox's check has been changed</summary>
Add comment 20 Minus public event CheckChanged OnCheckChanged;
Add comment 21 Minus
Add comment 22 Minus public void SetItems(params string[] Items) {
Add comment 23 Minus SetItems(Items.ToList());
Add comment 24 Minus }
Add comment 25 Minus
Add comment 26 Minus
Add comment 27 Minus /// <summary>
Add comment 28 Minus /// Sets the items.
Add comment 29 Minus /// </summary>
Add comment 30 Minus /// <param name="Items">The items you want to use.</param>
Add comment 31 Minus public void SetItems(IEnumerable<string> Items) {
Add comment 32 Minus this.Items.Clear();
Add comment 33 Minus foreach (var Item in Items) {
Add comment 34 Minus //this.Height += 25;
Add comment 35 Minus var CheckBox = new CheckBox();
Add comment 36 Minus CheckBox.Content = Item;
Add comment 37 Minus
Add comment 38 Minus CheckBox.Checked += CheckBox_Checked;
Add comment 39 Minus CheckBox.Unchecked += CheckBox_Unchecked;
Add comment 40 Minus
Add comment 41 Minus this.Items.Add(CheckBox);
Add comment 42 Minus }
Add comment 43 Minus }
Add comment 44 Minus
Add comment 45 Minus /// <summary>
Add comment 46 Minus /// Gets the [Content] of the checked CheckBoxes.
Add comment 47 Minus /// </summary>
Add comment 48 Minus /// <returns></returns>
Add comment 49 Minus public List<string> CheckedItems() {
Add comment 50 Minus return this.Items.OfType<CheckBox>().Where(x => x.IsChecked.Value).Select(x => x.Content.ToString()).ToList();
Add comment 51 Minus }
Add comment 52 Minus
Add comment 53 Minus public void Activate(Control Container) {
Add comment 54 Minus Container.ContextMenu = this;
Add comment 55 Minus Container.ContextMenu.IsEnabled = true;
Add comment 56 Minus Container.ContextMenu.PlacementTarget = Container;
Add comment 57 Minus Container.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
Add comment 58 Minus Container.ContextMenu.IsOpen = true;
Add comment 59 Minus }
Add comment 60 Minus
Add comment 61 Minus void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
Add comment 62 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, false);
Add comment 63 Minus }
Add comment 64 Minus
Add comment 65 Minus void CheckBox_Checked(object sender, System.Windows.RoutedEventArgs e) {
Add comment 66 Minus if (OnCheckChanged != null) OnCheckChanged(sender, e, true);
Add comment 67 Minus }
Add comment 68 Minus }
Add comment 69 Minus }
Add comment 70 Minus