private void OnPreviewMouseMove(object sender, MouseEventArgs e) { HelpManager.Instance.MouseMove(this, e); HitTestResult result = VisualTreeHelper.HitTest(this, e.GetPosition(this)); if (Object.ReferenceEquals(result, null)) { return; } DependencyObject child = result.VisualHit; if (Object.ReferenceEquals(child, null)) { return; } { bool foundContextMenu = WpfUtils.FindVisualParents <FrameworkElement>(child).Where( n => n.ContextMenu != null).Count() > 0; labelHasContextMenu.Visibility = foundContextMenu ? Visibility.Visible : Visibility.Collapsed; } { DropTypes[] dropTypes = DDManager.DropTypeByPosition(e.GetPosition(this)); bool foundDropTarget = dropTypes.Length > 0; StringBuilder sb = new StringBuilder(); sb.Append("Drop "); foreach (var dropType in dropTypes) { sb.Append(dropType.ToString()); sb.Append(" "); } labelHasDropTarget.Content = sb.ToString(); labelHasDropTarget.Visibility = foundDropTarget ? Visibility.Visible : Visibility.Collapsed; } }
/// <summary> /// Initializes a new instance of the <see cref="VarInt8{T}"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="indices">The variable indices.</param> /// <param name="bitOrder">The variable order.</param> internal VarInt8(DDManager <T> manager, int[] indices, Func <int, int> bitOrder) : base(manager, indices, VariableType.INT8, bitOrder) { }
/// <summary> /// Initializes a new instance of the <see cref="HandleTable{T}"/> class. /// The capacity must be a power of two and align with the mask. /// </summary> /// <param name="manager">The DD manager.</param> /// <param name="capacity">The initial capacity.</param> private HandleTable(DDManager <T> manager, int capacity) { this.manager = manager; this.Initialize(capacity); }
/// <summary> /// Initializes a new instance of the <see cref="HandleTable{T}"/> class. /// </summary> /// <param name="manager">The DD manager.</param> public HandleTable(DDManager <T> manager) : this(manager, 65536) { }
/// <summary> /// Creates a new instanceof the SolverDD class. /// </summary> /// <param name="manager">The manager object.</param> /// <param name="interleavingDependencies">Variable interleaving data.</param> public SolverDD(DDManager <T> manager, Dictionary <object, ImmutableHashSet <object> > interleavingDependencies) { this.Manager = manager; this.ExistingAssignment = new Dictionary <object, Variable <T> >(); this.interleavingDependencies = interleavingDependencies; }
/// <summary> /// Initializes a new instance of the <see cref="UniqueTable{T}"/> class. /// </summary> /// <param name="manager">The manager.</param> public UniqueTable(DDManager <T> manager) : this(manager, 524288) { }
/// <summary> /// Initializes a new instance of the <see cref="BitVector{T}"/> class. /// </summary> /// <param name="x">The value.</param> /// <param name="manager">The manager.</param> public BitVector(uint x, DDManager <T> manager) { this.InitializeConstant(x, 32); this.Manager = manager; }
/// <summary> /// Initializes a new instance of the <see cref="BitVector{T}"/> class. /// </summary> /// <param name="x">The value.</param> /// <param name="manager">The manager.</param> public BitVector(short x, DDManager <T> manager) { this.InitializeConstant(x, 16); this.Manager = manager; }
/// <summary> /// Initializes a new instance of the <see cref="BitVector{T}"/> class. /// </summary> /// <param name="x">The value.</param> /// <param name="manager">The manager.</param> public BitVector(byte x, DDManager <T> manager) { this.InitializeConstant(x, 8); this.Manager = manager; }
/// <summary> /// Initializes a new instance of the <see cref="BitVector{T}"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="size">The domain size in bits.</param> internal BitVector(DDManager <T> manager, int size) { this.Bits = new DDIndex[size]; this.Manager = manager; }
/// <summary> /// Initializes a new instance of the <see cref="BitVector{T}"/> class. /// </summary> /// <param name="x">The value.</param> /// <param name="manager">The manager.</param> public BitVector(long x, DDManager <T> manager) { this.InitializeConstant(x, 64); this.Manager = manager; }
/// <summary> /// Initializes a new instance of the <see cref="VarBool{T}"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="indices">The variable indices.</param> internal VarBool(DDManager <T> manager, int[] indices) : base(manager, indices, VariableType.BOOL, (i) => i) { }
/// <summary> /// Initializes a new instance of the <see cref="VarBool{T}"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="indices">The variable indices.</param> /// <param name="prob">The variable indices.</param> internal VarBool(DDManager <T> manager, int[] indices, double prob) : base(manager, indices, VariableType.BOOL, (i) => i, prob) { }