Example #1
0
        protected override void VisitAgentState(BcsAgentStateNode bcsAgentState)
        {
            bool isCurrentState = bcsAgentState.ParentNode != null && (bcsAgentState.ParentNode as BcsAtomicAgentNode).CurrentState.UniqueId == bcsAgentState.UniqueId;

            var item = new MenuItem() { Title = $"State{(isCurrentState ? " - current" : string.Empty)}: {bcsAgentState.Name}" };

            AddToTree(bcsAgentState, item);
        }
Example #2
0
        protected override void VisitReaction(BcsReactionNode bcsReaction)
        {
            var item = new MenuItem()
            {
                Drawable = true,
                SyntaxTreeEntityId = bcsReaction.UniqueId,
                Title = $"Reaction: L={bcsReaction.LeftSideReactants.Count} {bcsReaction.ReactionDirection} R={bcsReaction.RightSideReactants.Count}"
            };

            NodeCache.Add(bcsReaction.UniqueId, item);
            Root = item;
        }
Example #3
0
        private void AddToTree(BcsExpressionNode node, MenuItem item)
        {
            //ISSUE: make dedicated function for errors
            foreach (var error in node.Errors)
            {
                item.NodeErrors.Add(error.Message);
            }

            var parentItem = NodeCache[node.ParentNode.UniqueId];

            parentItem.Items.Add(item);
            NodeCache.Add(node.UniqueId, item);
        }
Example #4
0
 protected override void VisitLocation(BcsLocationNode locationNode)
 {
     var item = new MenuItem() { Title = $"Location: {locationNode.Name}" };
     AddToTree(locationNode, item);
 }
Example #5
0
        protected override void VisitReactant(BcsReactantNode bcsReactant)
        {
            var item = new MenuItem() { Title = $"Reactant: {bcsReactant.Coeficient} {GetComplexFullName(bcsReactant.Complex)}" };

            AddToTree(bcsReactant, item);
        }
Example #6
0
        protected override void VisitDefault(BcsExpressionNode node)
        {
            var item = new MenuItem() { Title = $"Unknown" };

            AddToTree(node, item);
        }
Example #7
0
        protected override void VisitComponent(BcsComponentNode bcsComponent)
        {
            var item = new MenuItem() { Title = $"Component: {bcsComponent.Name}::{bcsComponent?.Location?.Name ?? string.Empty}" };

            AddToTree(bcsComponent, item);
        }
Example #8
0
        protected override void VisitComplex(BcsComplexNode bcsComplex)
        {
            var item = new MenuItem() { Title = $"Complex: {GetComplexFullName(bcsComplex)}" };

            AddToTree(bcsComplex, item);
        }
Example #9
0
        protected override void VisitAgent(BcsAtomicAgentNode bcsAtomicAgent)
        {
            var item = new MenuItem() { Title = $"Agent: {bcsAtomicAgent.Name}{{{bcsAtomicAgent?.CurrentState?.Name ?? ""}}}" };

            AddToTree(bcsAtomicAgent, item);
        }