public ConverterExpressionNode(IDiagramViewModel diagramViewModel, ConverterExpression expressionObject)
            : base(expressionObject)
        {
            if (expressionObject == null) throw new ArgumentNullException("expressionObject");

            _diagramViewModel = diagramViewModel;
            IsValidFunc = n => true;
            UpdateAction = n => { };

            ConnectorIn = new ExpressionConnectorViewModel(new ExpressionConnector(ConnectorType.In, expressionObject.ConnectorIn), _diagramViewModel);
            ConnectorOut = new ExpressionConnectorViewModel(new ExpressionConnector(ConnectorType.Out, expressionObject.ConnectorOut), _diagramViewModel);
            RaisePropertyChanged("ConvertDirection");
        }
        /// <summary>
        /// Clones this instance.
        /// </summary>
        /// <returns>The ExpressionObjectBase.</returns>
        public override ExpressionObjectBase Clone()
        {
            var clone = new ConverterExpression
            {
                ExpressionName = ExpressionName,
                FunctionName = FunctionName,
                Width = Width,
                Height = Height,
                Top = Top,
                Left = Left
            };
            ConnectorIn.Clone(clone.ConnectorIn);
            ConnectorOut.Clone(clone.ConnectorOut);

            return clone;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ConstantDialogViewModel"/> class.
 /// </summary>
 public ConverterDialogViewModel()
 {
     Converter = new ConverterExpression();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ConstantDialogViewModel"/> class.
 /// </summary>
 /// <param name="constant">The constant.</param>
 public ConverterDialogViewModel(ConverterExpression constant)
 {
     Converter = constant;
 }
 /// <summary>
 /// Adds the field node.
 /// </summary>
 /// <param name="item">The item.</param>
 /// <param name="diagramViewModel">The diagram view model.</param>
 private static void AddFieldNode(ConverterExpression item, IDiagramViewModel diagramViewModel)
 {
     var dfl = new ConverterExpressionNode(diagramViewModel, item);
     diagramViewModel.Items.Add(new NodeViewModel<ConverterExpressionNode, ExpressionConnection>(dfl, diagramViewModel));
 }