#region Disclaimer / License // Copyright (C) 2010, Jackie Ng // http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie@gmail.com // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library 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 // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #endregion using System; using System.Collections.Generic; using System.Text; using OSGeo.MapGuide.MaestroAPI; using Maestro.Editors; namespace Maestro.Base.UI { public interface ISiteExplorer : IViewContent { /// /// The name of the active associated with this site explorer. The active connection /// is the connection whose node or child nodes is currently selected /// string ConnectionName { get; } /// /// Gets the array of connection names. /// string[] ConnectionNames { get; } /// /// Performs a full refresh of the tree model /// void FullRefresh(); /// /// Refreshes the tree model /// void RefreshModel(string connectionName); /// /// Refreshes the tree model from the specified resource id /// /// void RefreshModel(string connectionName, string resId); /// /// Expands the node indicated by the specified id /// /// void ExpandNode(string connectionName, string folderId); /// /// Selects the node indicated by the specified id /// /// void SelectNode(string connectionName, string resourceId); /// /// Flags the node indicated by the specified action /// /// /// void FlagNode(string connectionName, string resourceId, NodeFlagAction action); /// /// Gets the items currently selected /// RepositoryItem[] SelectedItems { get; } } public enum NodeFlagAction { /* /// /// Indicate that the node has been cut and placed on the clipboard /// IndicateCut, /// /// Indicate that the node has been copied and placed on the clipboard /// IndicateCopy,*/ /// /// Highlight the affected node with a pre-defined back color to indicate open /// HighlightOpen, /// /// Highlight the affected node with a pre-defined back color to indicate dirty state /// HighlightDirty, /// /// Reset node to default styles /// None } }