예제 #1
0
        /// <summary>
        /// The timer used to defer replacement processing operations
        /// </summary>
        //private Timer _ObjectReplacedWaitTimer = null;

        private void ProcessObjectReplacedWaitingList(object sender, EventArgs args)
        {
            if (_ReplacedElements.Count > 0 || _ReplacedNodesWaitingList.Count > 0)
            {
                foreach (KeyValuePair <Node, RhinoReplaceObjectEventArgs> kvp in _ReplacedNodesWaitingList)
                {
                    Node            node     = kvp.Key;
                    RC.GeometryBase geometry = kvp.Value.NewRhinoObject.Geometry;
                    if (geometry is RC.Point)
                    {
                        RC.Point rPt = (RC.Point)geometry;
                        Vector   pos = FromRC.Convert(rPt.Location);
                        node.MoveTo(pos, true, _ReplacedElements);
                    }
                }

                _ReplacedElements.GenerateNodes(new NodeGenerationParameters());

                _ReplacedElements.Clear();
                _ReplacedNodesWaitingList.Clear();

                //_ObjectReplacedWaitTimer.Stop();

                Core.Instance.Host.Refresh();
            }
        }
예제 #2
0
        private void AddElements(List <ElementViewModel> cards)
        {
            ElementCollection _elements = (ElementCollection)this.Resources["elements"];

            _elements.Clear();
            foreach (var card in cards)
            {
                _elements.Add(card);
            }
        }
            public void RaisesCollectionChangedEvent()
            {
                var collection = new ElementCollection<Axis>(new PlotModel());

                var axis = new LinearAxis();
                collection.Add(axis);

                ElementCollectionChangedEventArgs<Axis> eventArgs = null;
                var raisedCount = 0;

                collection.CollectionChanged += (sender, e) =>
                {
                    eventArgs = e;
                    raisedCount++;
                };

                collection.Clear();

                Assert.AreEqual(1, raisedCount);
                Assert.AreEqual(1, eventArgs.RemovedItems.Count);
                Assert.IsTrue(ReferenceEquals(axis, eventArgs.RemovedItems[0]));
            }
예제 #4
0
            public void RaisesCollectionChangedEvent()
            {
                var collection = new ElementCollection <Axis>(new PlotModel());

                var axis = new LinearAxis();

                collection.Add(axis);

                ElementCollectionChangedEventArgs <Axis> eventArgs = null;
                var raisedCount = 0;

                collection.CollectionChanged += (sender, e) =>
                {
                    eventArgs = e;
                    raisedCount++;
                };

                collection.Clear();

                Assert.AreEqual(1, raisedCount);
                Assert.AreEqual(1, eventArgs.RemovedItems.Count);
                Assert.IsTrue(ReferenceEquals(axis, eventArgs.RemovedItems[0]));
            }