예제 #1
0
        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());
        }
예제 #2
0
        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());
        }
예제 #3
0
        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);
        }
예제 #4
0
        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;
            }
        }
예제 #5
0
 /// <summary>
 /// このタブを保持しているカラムをセットします。
 /// </summary>
 public void SetTabOwner(ColumnViewModel newParent)
 {
     this.Parent = newParent;
 }
예제 #6
0
 public int ColumnIndexOf(ColumnViewModel vm)
 {
     return(this._columns.IndexOf(vm));
 }
예제 #7
0
 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;
     }
 }
예제 #8
0
 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;
 }
예제 #9
0
 public int ColumnIndexOf(ColumnViewModel vm)
 {
     return this._columns.IndexOf(vm);
 }
예제 #10
0
 /// <summary>
 /// このタブを保持しているカラムをセットします。
 /// </summary>
 public void SetTabOwner(ColumnViewModel newParent)
 {
     this.Parent = newParent;
 }