Beispiel #1
0
 public ObservableSourceProvider(DataGridColumn dgc, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     Data       = dgc;
     Type       = null;
     SourceKind = SourceKindEnum.DataGridColumn;
 }
Beispiel #2
0
 public ObservableSourceProvider(DataSourceProvider dsp, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     Data       = dsp;
     Type       = null;
     SourceKind = SourceKindEnum.DataSourceProvider;
 }
Beispiel #3
0
 public ObservableSourceProvider(string pathElement, Type type, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     SourceKind = SourceKindEnum.TerminalNode;
     Data       = null;
     Type       = type;
 }
Beispiel #4
0
 public ObservableSource(string pathElement, Type type, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, false, binderName)
 {
     SourceKind = SourceKindEnum.TerminalNode;
     Data       = null;
     Type       = type;
     Status     = ObservableSourceStatusEnum.HasType;
 }
Beispiel #5
0
        public ObservableSource(DataGridColumn dgc, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
            : this(pathElement, pathConnectorType, true, binderName)
        {
            AnchorElement = dgc;
            SourceKind    = SourceKindEnum.DataGridColumn;

            SubscribeTo_Dg(dgc, DisplayIndexChanged_Dg);

            UpdateData_Dg(dgc, pathElement, binderName);
        }
Beispiel #6
0
 private ObservableSourceProvider(string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
 {
     Data              = null;
     Type              = null;
     SourceKind        = SourceKindEnum.Empty;
     PathElement       = pathElement;
     PathConnectorType = pathConnectorType;
     BinderName        = binderName;
     IsTargetADc       = false;
 }
Beispiel #7
0
        public ObservableSource(DataSourceProvider dsp, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
            : this(pathElement, pathConnectorType, true, binderName)
        {
            SourceKind = SourceKindEnum.DataSourceProvider;
            Container  = dsp;
            Data       = null;
            Type       = null;

            WeakEventManager <DataSourceProvider, EventArgs> .AddHandler(dsp, "DataChanged", OnDataSourceProvider_DataChanged);

            Status = ObservableSourceStatusEnum.Undetermined;
        }
Beispiel #8
0
        private ObservableSource(string pathElement, PathConnectorTypeEnum pathConnector, bool isListening, string binderName)
        {
            PathElement         = pathElement;
            PathConnector       = pathConnector;
            IsListeningForNewDC = isListening;
            BinderName          = binderName;

            _wrAnchorElement = null;
            _wrContainer     = null;
            _wrData          = null;

            NewPathElement = null;
            Type           = null;
            IsTargetADc    = false;
        }
Beispiel #9
0
        private string GetConnectedPathElement(bool isFirst, PathConnectorTypeEnum po, string pathElement)
        {
            if (isFirst)
            {
                switch (po)
                {
                case PathConnectorTypeEnum.Dot: return(pathElement);

                case PathConnectorTypeEnum.Slash: return(pathElement ?? ".");

                case PathConnectorTypeEnum.DotIndexer: return($"[{pathElement}]");

                case PathConnectorTypeEnum.SlashIndexer: return($"[{pathElement}]");

                default:
                {
                    throw new InvalidOperationException($"The value {po} is not a supported or recognized PathOperatorEnum.");
                }
                }
            }
            else
            {
                //if (pathElement == null)
                //{
                //    throw new ArgumentNullException("The PathElement cannot be null except for paths with only one component.");
                //}

                //pathElement = pathElement ?? "Not Yet Determined.";

                switch (po)
                {
                case PathConnectorTypeEnum.Dot: return($".{pathElement}");

                case PathConnectorTypeEnum.Slash: return($"/{pathElement}");

                case PathConnectorTypeEnum.DotIndexer: return($".[{pathElement}]");

                case PathConnectorTypeEnum.SlashIndexer: return($"/[{pathElement}]");

                default:
                {
                    throw new InvalidOperationException($"The value {po} is not a supported or recognized PathOperatorEnum.");
                }
                }
            }
        }
Beispiel #10
0
        public ObservableSource(FrameworkContentElement fce, string pathElement, bool isTargetADc, PathConnectorTypeEnum pathConnectorType, string binderName)
            : this(pathElement, pathConnectorType, true, binderName)
        {
            SourceKind    = SourceKindEnum.FrameworkContentElement;
            AnchorElement = fce;

            UpdateWatcherAndData_Fe(fce, pathElement, isTargetADc, binderName);
        }
Beispiel #11
0
        public ObservableSource(INotifyCollectionChanged itRaisesCollectionChanged, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
            : this(pathElement, pathConnectorType, false, binderName)
        {
            SourceKind = SourceKindEnum.CollectionObject;
            Data       = itRaisesCollectionChanged ?? throw new ArgumentNullException($"{nameof(itRaisesCollectionChanged)} was null when constructing Observable Source.");
            Type       = itRaisesCollectionChanged.GetType();

            Status = ObservableSourceStatusEnum.Ready;

            //WeakEventManager<INotifyCollectionChanged, CollectionChangeEventArgs>
            //    .AddHandler(itRaisesCollectionChanged, "CollectionChanged", OnCCEvent);
        }
Beispiel #12
0
        public ObservableSource(INotifyPropertyChanged itRaisesPropChanged, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
            : this(pathElement, pathConnectorType, false, binderName)
        {
            SourceKind = SourceKindEnum.PropertyObject;
            Data       = itRaisesPropChanged ?? throw new ArgumentNullException($"{nameof(itRaisesPropChanged)} was null when constructing Observable Source.");
            Type       = itRaisesPropChanged.GetType();

            Status = ObservableSourceStatusEnum.Ready;
        }
Beispiel #13
0
 public ObservableSourceProvider(INotifyCollectionChanged itRaisesCollectionChanged, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     Data       = itRaisesCollectionChanged ?? throw new ArgumentNullException($"{nameof(itRaisesCollectionChanged)} was null when constructing Observable Source.");
     Type       = null;
     SourceKind = SourceKindEnum.CollectionObject;
 }
Beispiel #14
0
 public ObservableSourceProvider(INotifyPCGen itRaisesPCGen, string pathElement, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     Data       = itRaisesPCGen ?? throw new ArgumentNullException($"{nameof(itRaisesPCGen)} was null when constructing Observable Source.");
     Type       = null;
     SourceKind = SourceKindEnum.PCGen;
 }
Beispiel #15
0
 public ObservableSourceProvider(FrameworkContentElement fce, string pathElement, bool isTargetADc, PathConnectorTypeEnum pathConnectorType, string binderName)
     : this(pathElement, pathConnectorType, binderName)
 {
     Data        = fce;
     Type        = null;
     SourceKind  = SourceKindEnum.FrameworkContentElement;
     IsTargetADc = isTargetADc;
 }