public KanColleProxy() { this.compositeDisposable = new LivetCompositeDisposable(); this.connectableSessionSource = Observable .FromEvent<SessionStateHandler, Session>( action => new SessionStateHandler(action), h => FiddlerApplication.AfterSessionComplete += h, h => FiddlerApplication.AfterSessionComplete -= h) .Publish(); this.apiSource = this.connectableSessionSource .Where(s => s.PathAndQuery.StartsWith("/kcsapi") && s.oResponse.MIMEType.Equals("text/plain")) .SynchronizeFIFO((a, b, c) => Synchronize) #region .Do(debug) #if DEBUG .Do(session => { Debug.WriteLine("=================================================="); Debug.WriteLine("Fiddler session: "); Debug.WriteLine(session); Debug.WriteLine(""); }) #endif #endregion .Publish(); }
public NotificationPage(NotificationViewModel vm) { InitializeComponent(); DataContext = vm; this.vm = vm; composite = new LivetCompositeDisposable(); ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext); }
public AccountSelectWindow() { InitializeComponent(); composite = new LivetCompositeDisposable(); ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext); ctxlistener.Add("StartNewAccount", ExpandNewAccount); ctxlistener.Add("FinishNewAccount", CollapseNewAccount); }
public MainWindow() { InitializeComponent(); vm = DataContext as MainWindowViewModel; composite = new LivetCompositeDisposable(); ctxlistener = new PropertyChangedWeakEventListener(vm); ctxlistener.Add("AccessTokenRequest", StartAccountSelect); ctxlistener.Add("ReplyStart", ExpandNewTweet); ctxlistener.Add("ToggleNewStatus", ToggleNewTweet); ctxlistener.Add("StatusAction", (s, e) => RequestAction(vm.StatusAction.Type, vm.StatusAction.Information)); ctxlistener.Add("UserTimeline", (s, e) => AddTab("ユーザー定義タブ1", new Frame { NavigationUIVisibility = NavigationUIVisibility.Hidden, Content = new UserCustomizableTimelinePage(vm.UserTimelineViewModel) }, vm.UserTimelineViewModel)); ctxlistener.Add("StatusUpdate", (s, e) => { DispatcherHelper.UIDispatcher.BeginInvoke(new Action(() => { if (TabControlMain.SelectedIndex != 0 && setting.MainWindow.NotifyNewStatus) { EmphasisTextBlock(TextBlockTimeline); urs++; TextBlockUnreadStatuses.Text = String.Format(" {0}", urs); } })); }); ctxlistener.Add("EventUpdate", (s, e) => { DispatcherHelper.UIDispatcher.BeginInvoke(new Action(() => { if (TabControlMain.SelectedIndex != 1 && setting.MainWindow.NotifyNewNotification) { EmphasisTextBlock(TextBlockNotification); urn++; TextBlockUnreadNotifications.Text = String.Format(" {0}", urn); } })); }); composite.Add(ctxlistener); setting = Kbtter3Extension.LoadJson<Kbtter3Setting>(App.ConfigurationFileName); if (!setting.MainWindow.AllowJokeCommands) ToolBarJokes.Visibility = Visibility.Collapsed; SetShortcuts(); }
private void UpdateFleets(Organization organization) { this.organizationDisposables?.Dispose(); this.organizationDisposables = new LivetCompositeDisposable(); foreach (var fleet in organization.Fleets.Values) { fleet.Expedition.Returned += this.HandleExpeditionReturned; this.organizationDisposables.Add(() => fleet.Expedition.Returned -= this.HandleExpeditionReturned); fleet.State.Condition.Rejuvenated += this.HandleConditionRejuvenated; this.organizationDisposables.Add(() => fleet.State.Condition.Rejuvenated -= this.HandleConditionRejuvenated); } }
public StatusPage(StatusViewModel vm) { statvm = vm; DataContext = vm; InitializeComponent(); elm = vm.TextElements; stsn = vm.ScreenName; if (vm.Via == "") StackPanelBlockVia.Visibility = Visibility.Collapsed; SetMainText(); composite = new LivetCompositeDisposable(); ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext); ctxlistener.Add("Delete", DeleteContent); }
internal Fleet(Homeport parent, kcsapi_deck rawData) { this.homeport = parent; this.Condition = new FleetCondition(this); this.Expedition = new Expedition(this); this.Update(rawData); this.compositeDisposable = new LivetCompositeDisposable { new PropertyChangedWeakEventListener(KanColleClient.Current.Settings) { { "ViewRangeCalcLogic", (sender, args) => this.Calculate() } } }; }
private bool disposedValue = false; // 重複する呼び出しを検出するには protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // Mangedリソースの解放 ObjectChangedNotificator.Instance.WorkTaskEdited -= Load; _Disposables.Dispose(); _Disposables = null; } // TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、下のファイナライザーをオーバーライドします。 // TODO: 大きなフィールドを null に設定します。 disposedValue = true; } }
public StatusPage(StatusViewModel vm) { statvm = vm; DataContext = vm; InitializeComponent(); elm = vm.TextElements; stsn = vm.ScreenName; if (vm.Via == "") { StackPanelBlockVia.Visibility = Visibility.Collapsed; } SetMainText(); composite = new LivetCompositeDisposable(); ctxlistener = new PropertyChangedWeakEventListener((INotifyPropertyChanged)DataContext); ctxlistener.Add("Delete", DeleteContent); }
public ServerWindow() { InitializeComponent(); Utils.SetWindowProperties(this); NotifyIcon = new NotifyIconWrapper() { Window = this }; CompositeDisposable = new LivetCompositeDisposable(); var serverVM = DataContext as ServerViewModel; if (serverVM != null) { var modelListener = new PropertyChangedEventListener(serverVM); modelListener.Add(() => serverVM.WindowCaption, (_, __) => NotifyIcon.Text = serverVM.WindowCaption); CompositeDisposable.Add(modelListener); } }
public ReadOnlyNotifyChangedCollection(ISynchronizableNotifyChangedCollection <T> collection) : base(collection) { if (collection == null) { throw new ArgumentNullException(nameof(collection)); } EventListeners = new LivetCompositeDisposable(); _isDisposableType = typeof(IDisposable).GetTypeInfo().IsAssignableFrom(typeof(T).GetTypeInfo()); lock (collection.Synchronizer.LockObject) { SourceCollection = collection; EventListeners.Add(new PropertyChangedWeakEventListener(SourceCollection, (sender, e) => OnPropertyChanged(e))); EventListeners.Add(new CollectionChangedWeakEventListener(SourceCollection, (sender, e) => OnCollectionChanged(e))); } }
public DisposableNotifier() { this.CompositeDisposable = new LivetCompositeDisposable(); }
private void UpdateDockyard(Dockyard dockyard) { this.dockyardDisposables?.Dispose(); this.dockyardDisposables = new LivetCompositeDisposable(); foreach (var dock in dockyard.Docks.Values) { dock.Completed += this.HandleDockyardCompleted; this.dockyardDisposables.Add(() => dock.Completed -= this.HandleDockyardCompleted); } }
private void UpdateFleets(Organization organization) { this.organizationDisposables?.Dispose(); this.organizationDisposables = new LivetCompositeDisposable(); foreach (var fleet in organization.Fleets.Values) { fleet.Expedition.Returned += this.HandleExpeditionReturned; this.organizationDisposables.Add(() => fleet.Expedition.Returned -= this.HandleExpeditionReturned); fleet.State.Condition.Rejuvenated += this.HandleConditionRejuvenated; this.organizationDisposables.Add(() => fleet.State.Condition.Rejuvenated -= this.HandleConditionRejuvenated); } }
public DisposableNotifier() { this.CompositeDisposable = new LivetCompositeDisposable(); }
internal Fleet(Homeport parent, kcsapi_deck rawData) { this.homeport = parent; this.Condition = new FleetCondition(this); this.Expedition = new Expedition(this); this.Update(rawData); this.compositeDisposable = new LivetCompositeDisposable { new PropertyChangedWeakEventListener(KanColleClient.Current.Settings) { { "ViewRangeCalcLogic", (sender, args) => this.Calculate() } } }; }
public TimerViewModelBase() { CompositeDisposable = new LivetCompositeDisposable(); Console.WriteLine("Timer view model base called"); LaLaTimerClient.Current.OnChangeTimer.Subscribe(OnChangeTimer); }
/// <summary> /// コンストラクタ /// </summary> public WindowService() { this.compositeDisposable = new LivetCompositeDisposable(); this.container = new Dictionary <string, Window>(); }
public MainWindowViewModel() { CompositeDisposable = new LivetCompositeDisposable(); Content = new TimerContentViewModel(); LaLaTimerClient.Current.OnChangeTimer.Subscribe(OnChangeTimer); }