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); }
private void CheckWatcherWrapper() { if (_WatcherWrapper == null) { _WatcherWrapper = new BlockTableWatcher <T>(this, OnPropertyChanged, OnPropertyChanged, OnPropertyChanged); AddTableWatcher(_WatcherWrapper); } }
private ITableWatcher <T> GetWrapperWatcher(ITableWatcher watcher) { ITableWatcher <T> wrapper = null; if (_GenericWatcherMapping.TryGetValue(watcher, out wrapper)) { return(wrapper); } return(null); }
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"); }; }
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); }
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); }
public TableWatcherStrategy() { TableWatcherAbstract = new AdapterFactory <T>().GetAdapter(); }
public bool RemoveTableWatcher(ITableWatcher <T> watcher) { return(WeakListHelper.Remove(_Watchers, watcher)); }
public bool AddTableWatcher(ITableWatcher <T> watcher) { return(WeakListHelper.Add(ref _Watchers, watcher)); }