public TabViewModel(ColumnViewModel parent, TabProperty property = null) { this.Parent = parent; this.IsAlive = true; this.TabProperty = property ?? new TabProperty(); // 初期TLとしてnullを this.AddTopTimeline(null); ViewModelHelper.BindNotification(Setting.SettingValueChangedEvent, this, (o, e) => UpdateSettingValue()); }
public ColumnViewModel CreateColumn(int index = -1) { var nvm = new ColumnViewModel(this); if (index == -1 || index >= this._columns.Count) { this._columns.Add(nvm); } else { this._columns.Insert(index, nvm); } // ColumnViewModelのイベントを購読。 // このイベントはリリースの必要がない nvm.GotFocus += (o, e) => CurrentFocusColumn = nvm; nvm.SelectedTabChanged += _ => RaisePropertyChanged(() => CurrentTab); return(nvm); }
public void MoveFocusTo(ColumnViewModel column, ColumnsLocation moveTarget) { if (_columns.Count == 0) { throw new InvalidOperationException("No columns existed."); } int i = _columns.IndexOf(column); if (i == -1) { return; } switch (moveTarget) { case ColumnsLocation.Next: if (i == _columns.Count - 1) { _columns[0].SetFocus(); } else { _columns[i + 1].SetFocus(); } break; case ColumnsLocation.Previous: if (i == 0) { _columns[_columns.Count - 1].SetFocus(); } else { _columns[i - 1].SetFocus(); } break; } }
/// <summary> /// このタブを保持しているカラムをセットします。 /// </summary> public void SetTabOwner(ColumnViewModel newParent) { this.Parent = newParent; }
public int ColumnIndexOf(ColumnViewModel vm) { return(this._columns.IndexOf(vm)); }
public void MoveFocusTo(ColumnViewModel column, ColumnsLocation moveTarget) { if (_columns.Count == 0) throw new InvalidOperationException("No columns existed."); int i = _columns.IndexOf(column); if (i == -1) return; switch (moveTarget) { case ColumnsLocation.Next: if (i == _columns.Count - 1) _columns[0].SetFocus(); else _columns[i + 1].SetFocus(); break; case ColumnsLocation.Previous: if (i == 0) _columns[_columns.Count - 1].SetFocus(); else _columns[i - 1].SetFocus(); break; } }
public ColumnViewModel CreateColumn(int index = -1) { var nvm = new ColumnViewModel(this); if (index == -1 || index >= this._columns.Count) this._columns.Add(nvm); else this._columns.Insert(index, nvm); // ColumnViewModelのイベントを購読。 // このイベントはリリースの必要がない nvm.GotFocus += (o, e) => CurrentFocusColumn = nvm; nvm.SelectedTabChanged += _ => RaisePropertyChanged(() => CurrentTab); return nvm; }
public int ColumnIndexOf(ColumnViewModel vm) { return this._columns.IndexOf(vm); }