#region License // Copyright (c) 2010, Jasper Yeh. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // * Neither the name of ClearCanvas Inc. nor the names of its contributors // may be used to endorse or promote products derived from this software without // specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, // OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY // OF SUCH DAMAGE. #endregion using System; using ClearCanvas.Common; using ClearCanvas.Desktop; using ClearCanvas.Desktop.Configuration; namespace Nullstack.ClearCanvasEx.DevTools.Properties { /// /// The extension point that views of the must use. /// [ExtensionPoint] public class DevToolsConfigComponentViewExtensionPoint : ExtensionPoint {} /// /// A component for configuring the dev tools /// [AssociateView(typeof (DevToolsConfigComponentViewExtensionPoint))] public class DevToolsConfigComponent : ConfigurationApplicationComponent { /// /// The id of the page. /// public static readonly string CONFIG_PAGE_ID = "szDevTools"; private Settings _settings; private string _logViewerAppPath; private int _logAdvanceLines; /// /// The external application used to view logs. /// public string LogViewerAppPath { get { return _logViewerAppPath ?? ""; } set { if (_logViewerAppPath != value) { _logViewerAppPath = value ?? ""; base.NotifyPropertyChanged("LogViewerAppPath"); base.Modified = true; } } } public int LogAdvanceLines { get { return _logAdvanceLines; } set { if (_logAdvanceLines != value) { _logAdvanceLines = 5; base.NotifyPropertyChanged("LogAdvanceLines"); base.Modified = true; } } } [Obsolete] public int LogTailSize { get { return 4096; } set { } } /// /// Load the settings from the settings file on startup /// public override void Start() { base.Start(); _settings = Settings.Default; _logViewerAppPath = _settings.LogViewerAppPath; _logAdvanceLines = _settings.LogAdvanceLines; } /// /// Saves the settings to the settings file /// public override void Save() { _settings.LogViewerAppPath = _logViewerAppPath; _settings.LogAdvanceLines = _logAdvanceLines; _settings.Save(); } /// /// Unload the settings file on termination /// public override void Stop() { _settings = null; base.Stop(); } } }