예제 #1
0
        private void FillExposableEvents()
        {
            List <ExposableEvent> availableEvents = null;

            if (EditorLogic.CurrentEntitySave != null)
            {
                availableEvents = ExposedEventManager.GetExposableEventsFor(EditorLogic.CurrentEntitySave, true);
            }
            else if (EditorLogic.CurrentScreenSave != null)
            {
                availableEvents = ExposedEventManager.GetExposableEventsFor(EditorLogic.CurrentScreenSave, true);
            }

            if (availableEvents != null)
            {
                foreach (ExposableEvent variableName in availableEvents)
                {
                    AvailableEventsComboBox.Items.Add(variableName);
                }

                if (AvailableEventsComboBox.Items.Count > 0)
                {
                    AvailableEventsComboBox.SelectedIndex = 0;
                }
            }
        }
예제 #2
0
        public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            List <string> listToFill = new List <string>();

            var list = ExposedEventManager.GetExposableEventsFor(NamedObjectSave, Element);

            foreach (var item in list)
            {
                listToFill.Add(item.Name);
            }

            StandardValuesCollection svc = new StandardValuesCollection(listToFill);

            return(svc);
        }
예제 #3
0
        public void TestExposedEvents()
        {
            List <ExposableEvent> exposableEvents = ExposedEventManager.GetExposableEventsFor(mScreenSave, false);

            if (exposableEvents.Count < 4)
            {
                throw new Exception("Exposable events for Screens are not working properly");
            }

            exposableEvents = ExposedEventManager.GetExposableEventsFor(mListNos, mScreenSave);
            if (exposableEvents.ContainsName("CollectionChanged") == false)
            {
                throw new Exception("Exposable events aren't exposing CollectionChanged on PositionedObjectLists");
            }

            exposableEvents = ExposedEventManager.GetExposableEventsFor(mDerivedEntitySave, false);
            if (!exposableEvents.ContainsName("Click"))
            {
                throw new Exception("Exposed events are not considering inheritance and they should!");
            }
        }
예제 #4
0
        private void RefreshLists()
        {
            RefreshAvailableSourceObjects();



            AvailableEvents.Clear();

            string sourceObject = SourceObject;

            NamedObjectSave nos = mElement.AllNamedObjects.FirstOrDefault(item => item.InstanceName == sourceObject);

            if (nos == null)
            {
                List <ExposableEvent> events = null;

                if (mElement is ScreenSave)
                {
                    events = ExposedEventManager.GetExposableEventsFor((ScreenSave)mElement, false);
                }
                else
                {
                    events = ExposedEventManager.GetExposableEventsFor((EntitySave)mElement, false);
                }

                foreach (var item in events)
                {
                    AvailableEvents.Add(item.Name);
                }
            }
            else
            {
                var events = ExposedEventManager.GetExposableEventsFor(nos, mElement);

                foreach (var item in events)
                {
                    AvailableEvents.Add(item.Name);
                }
            }
        }
예제 #5
0
        private void FillTunnelableEventsFor(NamedObjectSave nos)
        {
            List <ExposableEvent> availableEvents = null;

            if (nos != null)
            {
                availableEvents = ExposedEventManager.GetExposableEventsFor(nos, EditorLogic.CurrentElement);
            }

            if (availableEvents != null)
            {
                availableEvents.Sort();

                this.TunnelingEventComboBox.Items.Clear();
                if (availableEvents != null)
                {
                    foreach (ExposableEvent availableVariable in availableEvents)
                    {
                        this.TunnelingEventComboBox.Items.Add(availableVariable);
                    }
                }
            }
        }