示例#1
0
        public void Visit(OrOperator node)
        {
            VisitBinary(node);

            ITerminalWrapper leftWrapper  = ReferenceTables.GetValue(node.Left);
            ITerminalWrapper rightWrapper = ReferenceTables.GetValue(node.Right);

            ReferenceTables.SetValue(node, ((dynamic)leftWrapper) | ((dynamic)rightWrapper));
        }
示例#2
0
        public void Visit(StatementUnit node)
        {
            ITerminalWrapper evaluatedResult = ReferenceTables.GetValueOrNull(node.Expression);

            node.Value = evaluatedResult;

            WidgetBase unitWrapper = _widgetFactory.GetWidget(node);

            unitWrapper.Visibility = _parentExpressionDidNotEvaluate ? Visibility.Collapsed : Visibility.Visible;

            int index = _elementsToDisplay.ToList().FindIndex(elem => elem.Unit.Identifier == unitWrapper.Unit.Identifier);

            if (index < 0)
            {
                _elementsToDisplay.Add(unitWrapper);
            }
            else
            {
                _elementsToDisplay[index].Visibility = unitWrapper.Visibility;
            }
        }
 public void InitialiseValue(ITerminalWrapper value)
 {
     _value = value;
 }
示例#4
0
 public WidgetBase GetWidget(QuestionUnit unit, ITerminalWrapper typeWrapper)
 {
     return GetWidget(unit, typeWrapper as dynamic);
 }
 public void SetValue(IResolvable key, ITerminalWrapper value)
 {
     _referenceLookupTable[key] = value;
 }
示例#6
0
 public void SetValue(IResolvable key, ITerminalWrapper value)
 {
     _referenceLookupTable[key] = value;
 }
示例#7
0
 public void InitialiseValue(ITerminalWrapper value)
 {
     _value = value;
 }
示例#8
0
 public WidgetBase GetWidget(QuestionUnit unit, ITerminalWrapper typeWrapper)
 {
     return(GetWidget(unit, typeWrapper as dynamic));
 }