private void AddChild(IActorRef childRef)
        {
            DebugMessage(msg: "Try to add child: " + childRef.Path.Name);
            VirtualChildren.Add(item: childRef);

            OnChildAdd(childRef: childRef);
        }
예제 #2
0
 /// <summary>
 /// After a child has been ordered from Guardian a ChildRef will be returned by the responsible child
 /// it has been allready added to this.VirtualChilds at this Point
 /// </summary>
 /// <param name="childRef"></param>
 protected override void OnChildAdd(IActorRef childRef)
 {
     VirtualChildren.Add(item: childRef);
     Send(instruction: Contract.Instruction.StartOrder.Create(message: _orderQueue.Dequeue()
                                                              , target: childRef
                                                              , logThis: true));
 }
예제 #3
0
        /// <summary>
        /// Construct empty virtual canvas.
        /// </summary>
        public VirtualCanvas(Canvas originalCanvas)
        {
            _index    = new QuadTree <IVirtualChild>();
            _children = new ObservableCollection <IVirtualChild>();
            _children.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(OnChildrenCollectionChanged);

            _scale = new ScaleTransform();

            TransformGroup tg = new TransformGroup();

            tg.Children.Add(_scale);

            LayoutTransform = _scale;

            //_translate.Changed += new EventHandler(OnTranslateChanged);
            _scale.Changed += new EventHandler(OnScaleChanged);
            //Background = new SolidColorBrush(Color.FromRgb(0xd0, 0xd0, 0xd0));
            Background      = originalCanvas.Background;
            _originalCanvas = originalCanvas;


            VirtualChildren.Clear();

            while (originalCanvas.Children.Count > 0)
            {
                Resources = originalCanvas.Resources;
                System.Windows.UIElement el = originalCanvas.Children[0];
                originalCanvas.Children.RemoveAt(0);
                AddVirtualChild(new VirtualElement(el as System.Windows.FrameworkElement));
            }
        }
예제 #4
0
        protected override void Finish()
        {
            var fArticle = ((IDefaultProperties)Behaviour)._fArticle;

            if (fArticle.IsProvided && VirtualChildren.Count() == 0)
            {
                base.Finish();
            }
        }