/* Copyright (C) 2014-2019 de4dot@gmail.com This file is part of dnSpy dnSpy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. dnSpy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with dnSpy. If not, see . */ using System; using System.ComponentModel; using System.Windows; using System.Windows.Media; using dnSpy.Contracts.Controls; namespace dnSpy.Contracts.ToolWindows { /// /// Tool window content. If any of the properties can change, you must implement /// public abstract class ToolWindowContent : IUIObjectProvider { /// /// UI object; a WPF UI element or an object with a . /// If this property can change, you must implement /// public abstract object? UIObject { get; } /// /// The element that gets focus or null if none, see also /// public abstract IInputElement? FocusedElement { get; } /// /// Gets the element that gets the or null if none, /// see also and . /// If this property can change, you must implement /// public abstract FrameworkElement? ZoomElement { get; } /// /// Gets the guid of this content /// public abstract Guid Guid { get; } /// /// Title. If this property can change, you must implement /// public abstract string Title { get; } /// /// ToolTip or null. If this property can change, you must implement /// public virtual object? ToolTip => null; /// /// Called when the visibility changes /// /// Event public virtual void OnVisibilityChanged(ToolWindowContentVisibilityEvent visEvent) { } } }