예제 #1
0
        /// <summary>
        /// closeのDisposeは呼び出しません。
        /// </summary>
        /// <param name="close"></param>
        public void Close(IDocumentPaneViewModel close)
        {
            LOG.Debug("Close");

            this._Contents.Remove(close);

            OnClosed(close);
        }
예제 #2
0
        /// <summary>
        ///     コンテンツペインに同一のContentIdが存在するかどうか探します。
        /// </summary>
        /// <param name="pane"></param>
        /// <returns>
        /// ContentIdが同一のドキュメントペインがあった場合はそのオブジェクトを返します。
        /// 見つからない場合はNullを返します。
        /// </returns>
        public virtual IDocumentPaneViewModel ContainsContent(IDocumentPaneViewModel pane)
        {
            var r = from u in _Contents
                    where u.ContentId == pane.ContentId
                    select u;
            var vm2 = r.FirstOrDefault();

            return(vm2);            // 見つからなかった場合はNull
        }
예제 #3
0
        /// <summary>
        ///     ドキュメントペインにドキュメントを表示します
        /// </summary>
        public virtual IDocumentPaneViewModel ShowDocument(IDocumentPaneViewModel document)
        {
            var n = ContainsContent(document);

            if (n == null)
            {
                _Contents.Add(document);
                n = document;
            }

            this.ActivePane = n;
            return(n);
        }
예제 #4
0
 protected virtual void OnActivePanePropertyChanged()
 {
     // 最後に選択したペインがコンテンツペインの場合、そのインスタンスをキャッシュ
     if (this.ActivePane is IDocumentPaneViewModel)
     {
         this.LastSelectedDocumentPane = _activePane as IDocumentPaneViewModel;
     }
     else
     {
         if (this.ActivePane == null)
         {
             this.LastSelectedDocumentPane = null;
         }
     }
 }
예제 #5
0
 protected virtual void OnClosed(IDocumentPaneViewModel close)
 {
 }