Ejemplo n.º 1
0
        private ITableWatcher <T> CreateWrapperWatcher <T1>(ITableWatcher <T1> watcher)
            where T1 : class, IInTableElement
        {
            BlockTableWatcher <T> wrapper = new BlockTableWatcher <T>(this,
                                                                      (T _element) => {
                T1 element = _element as T1;
                if (element != null)
                {
                    watcher.OnElementAdded(element);
                }
            },
                                                                      (T _element) => {
                T1 element = _element as T1;
                if (element != null)
                {
                    watcher.OnElementAdded(element);
                }
            },
                                                                      (T _element) => {
                T1 element = _element as T1;
                if (element != null)
                {
                    watcher.OnElementIndexChanged(element);
                }
            }
                                                                      );

            return(wrapper);
        }
Ejemplo n.º 2
0
 private void CheckWatcherWrapper()
 {
     if (_WatcherWrapper == null)
     {
         _WatcherWrapper = new BlockTableWatcher <T>(this, OnPropertyChanged, OnPropertyChanged, OnPropertyChanged);
         AddTableWatcher(_WatcherWrapper);
     }
 }
Ejemplo n.º 3
0
        private ITableWatcher <T> GetWrapperWatcher(ITableWatcher watcher)
        {
            ITableWatcher <T> wrapper = null;

            if (_GenericWatcherMapping.TryGetValue(watcher, out wrapper))
            {
                return(wrapper);
            }
            return(null);
        }
Ejemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();

            m_ImageTimer = new Timer(UpdateImage, null, 1000, 1000);

            m_TableWatcher = new TableWatcher();
            m_TableWatcher.TableNowFree += delegate { Dispatcher.Invoke(() => LabelTableStatus.Content = "Table is now free"); };
            m_TableWatcher.TableNowBusy += delegate { Dispatcher.Invoke(() => LabelTableStatus.Content = "Table is now busy"); };
        }
Ejemplo n.º 5
0
        public bool RemoveTableWatcher <T1>(ITableWatcher <T1> watcher)
            where T1 : class, IInTableElement
        {
            ITableWatcher <T> wrapper = GetWrapperWatcher(watcher);;

            if (wrapper != null)
            {
                return(WeakListHelper.Remove(_GenericWatchers, wrapper));
            }
            return(false);
        }
Ejemplo n.º 6
0
        public bool AddTableWatcher <T1>(ITableWatcher <T1> watcher)
            where T1 : class, IInTableElement
        {
            ITableWatcher <T> wrapper = GetWrapperWatcher(watcher);;

            if (wrapper == null)
            {
                wrapper = CreateWrapperWatcher <T1>(watcher);
                return(WeakListHelper.Add(ref _GenericWatchers, wrapper));
            }
            return(false);
        }
Ejemplo n.º 7
0
 public TableWatcherStrategy()
 {
     TableWatcherAbstract = new AdapterFactory <T>().GetAdapter();
 }
Ejemplo n.º 8
0
 public bool RemoveTableWatcher(ITableWatcher <T> watcher)
 {
     return(WeakListHelper.Remove(_Watchers, watcher));
 }
Ejemplo n.º 9
0
 public bool AddTableWatcher(ITableWatcher <T> watcher)
 {
     return(WeakListHelper.Add(ref _Watchers, watcher));
 }