Exemple #1
0
        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;
            }
        }
Exemple #2
0
 /// <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)
 {
 }
Exemple #5
0
 /// <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)
 {
 }