====== ThinkGeo.MapSuite.GisEditor.UIPlugin ======
{{section>upgrade_map_suite_to_10.0}}
This is an abstract class. Also this is a base class which will be used for creating our own plugins
=== Remarks ===
When override this class, consider the OnConnect and OnDisconnect method are the main methods in this class. OnConnect is used for adding UIs in the explorer while OnDisconnect indicates remove the UIs from the explorer. In OnConnect method, you can handle several properties: 1, RibbonGroups is a collection of the Microsoft.Windows.Controls.Ribbon.RibbonGroup. It allows adding a customize RibbonGroup with several ribbon buttons in it. Before using it, please reference RibbonControlsLibrary.dll in our reference folder. 2, DockablePanels is a collection of wrapper AvalonDock.DockableContent. It allows adding a customize DockableContent in it; DockableContent has a Content property whose type is object; in another word, the content accepts any user control and window. 3, OptionContent is a way to setting the options for this plugin. When set this property, a Option button will display in the PluginManager window. That all for the critial properties. A plugin all needs its providers information; so we have an attribute for you. To set it, the explorer will analyse it.
===== Inheritance Hierarchy =====
*System.Object
**[[ThinkGeo.MapSuite.GisEditor.Plugin]]
***[[ThinkGeo.MapSuite.GisEditor.UIPlugin]]
===== Members Summary =====
==== Public Constructors ====
^ Name ^ Parameters ^ DeclaringType ^ Summary ^
==== Protected Constructors ====
^ Name ^ Parameters ^ DeclaringType ^ Summary ^
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#UIPlugin()|UIPlugin]] | | | Initializes a new instance of the class. |
==== Public Methods ====
^ Name ^ Parameters ^ DeclaringType ^ Summary ^
| {{wiki:PublicMethod.gif|Public Method}}[[#ApplySettings(StorableSettings)|ApplySettings]] | [[ThinkGeo.MapSuite.GisEditor.StorableSettings|StorableSettings]] | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Applies the settings to this plugin. |
| {{wiki:PublicMethod.gif|Public Method}}[[#AttachMap(GisEditorWpfMap)|AttachMap]] | [[ThinkGeo.MapSuite.WpfDesktopEdition.Extension.GisEditorWpfMap|GisEditorWpfMap]] | | Attaches the map. |
| {{wiki:PublicMethod.gif|Public Method}}[[#DetachMap(GisEditorWpfMap)|DetachMap]] | [[ThinkGeo.MapSuite.WpfDesktopEdition.Extension.GisEditorWpfMap|GisEditorWpfMap]] | | Detaches the map. |
| {{wiki:PublicMethod.gif|Public Method}}[[#Equals(Object)|Equals]] | Object | Object | |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetHashCode()|GetHashCode]] | | Object | |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetLayerListItem(Object)|GetLayerListItem]] | Object | | Gets the layer list item. |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetLayerListItemContextMenuItems(GetLayerListItemContextMenuParameters)|GetLayerListItemContextMenuItems]] | [[ThinkGeo.MapSuite.GisEditor.GetLayerListItemContextMenuParameters|GetLayerListItemContextMenuParameters]] | | Gets the layer list item context menu items. |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetMapContextMenuItems(GetMapContextMenuParameters)|GetMapContextMenuItems]] | [[ThinkGeo.MapSuite.GisEditor.GetMapContextMenuParameters|GetMapContextMenuParameters]] | | Gets the map context menu items. |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetSettings()|GetSettings]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets plugin settings to save. |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetSettingsUI()|GetSettingsUI]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets an UI that configures settings. |
| {{wiki:PublicMethod.gif|Public Method}}[[#GetType()|GetType]] | | Object | |
| {{wiki:PublicMethod.gif|Public Method}}[[#Load()|Load]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | This method raises when load this plugin. |
| {{wiki:PublicMethod.gif|Public Method}}[[#Refresh(RefreshArgs)|Refresh]] | [[ThinkGeo.MapSuite.GisEditor.RefreshArgs|RefreshArgs]] | | This method sychronizes status from map to controls in this plugin. For example, a map is changed by another plugin such as adding a new layer; we need to notice the shell that the map's status is changed; then shells send a message to all plugins that to synchronize status from map by their selfies. |
| {{wiki:PublicMethod.gif|Public Method}}[[#ToString()|ToString]] | | Object | |
| {{wiki:PublicMethod.gif|Public Method}}[[#Unload()|Unload]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | This method raises when unload this plugin. |
==== Protected Methods ====
^ Name ^ Parameters ^ DeclaringType ^ Summary ^
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#ApplySettingsCore(StorableSettings)|ApplySettingsCore]] | [[ThinkGeo.MapSuite.GisEditor.StorableSettings|StorableSettings]] | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Applies the settings to this plugin. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#AttachMapCore(GisEditorWpfMap)|AttachMapCore]] | [[ThinkGeo.MapSuite.WpfDesktopEdition.Extension.GisEditorWpfMap|GisEditorWpfMap]] | | Attaches the map core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#DetachMapCore(GisEditorWpfMap)|DetachMapCore]] | [[ThinkGeo.MapSuite.WpfDesktopEdition.Extension.GisEditorWpfMap|GisEditorWpfMap]] | | Detaches the map core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#Finalize()|Finalize]] | | Object | |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetLayerListItemContextMenuItemsCore(GetLayerListItemContextMenuParameters)|GetLayerListItemContextMenuItemsCore]] | [[ThinkGeo.MapSuite.GisEditor.GetLayerListItemContextMenuParameters|GetLayerListItemContextMenuParameters]] | | Gets the layer list item context menu items core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetLayerListItemCore(Object)|GetLayerListItemCore]] | Object | | Gets the layer list item core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetMapContextMenuItemsCore(GetMapContextMenuParameters)|GetMapContextMenuItemsCore]] | [[ThinkGeo.MapSuite.GisEditor.GetMapContextMenuParameters|GetMapContextMenuParameters]] | | Gets the map context menu items core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetSettingsCore()|GetSettingsCore]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets plugin settings to save. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetSettingsUICore()|GetSettingsUICore]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets an UI that configures settings. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#LoadCore()|LoadCore]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]](overriden) | This method raises when load this plugin. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#MemberwiseClone()|MemberwiseClone]] | | Object | |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#RefreshCore(GisEditorWpfMap, RefreshArgs)|RefreshCore]] | [[ThinkGeo.MapSuite.WpfDesktopEdition.Extension.GisEditorWpfMap|GisEditorWpfMap]], [[ThinkGeo.MapSuite.GisEditor.RefreshArgs|RefreshArgs]] | | Refreshes the core. |
| {{wiki:ProtectedMethod.gif|Protected Method}}[[#UnloadCore()|UnloadCore]] | | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]](overriden) | |
==== Public Properties ====
^ Name ^ Return ^ DeclaringType ^ Summary ^
| {{wiki:PublicProperty.gif|Public Property}}[[#ApplicationMenuItems|ApplicationMenuItems]] | Collection | | Gets the application menu items. |
| {{wiki:PublicProperty.gif|Public Property}}[[#Author|Author]] | String | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets author information for plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#Description|Description]] | String | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets description for plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#DockWindows|DockWindows]] | Collection<[[ThinkGeo.MapSuite.GisEditor.DockWindow|DockWindow]]> | | Each plugin can have multiple dockable contents. If it returns null, it meamns the plugin doesn't have DOCK window. |
| {{wiki:PublicProperty.gif|Public Property}}[[#Id|Id]] | String | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets the identify of plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#Index|Index]] | Int32 | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets the index of the plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#IsActive|IsActive]] | Boolean | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets a value indicating whether this plugin is active. |
| {{wiki:PublicProperty.gif|Public Property}}[[#IsHighlighted|IsHighlighted]] | Boolean | | Gets or sets a value indicating whether this instance is highlighted. |
| {{wiki:PublicProperty.gif|Public Property}}[[#IsRequired|IsRequired]] | Boolean | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets a value indicating whether this plugin is required. |
| {{wiki:PublicProperty.gif|Public Property}}[[#LargeIcon|LargeIcon]] | ImageSource | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets large icon for plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#Name|Name]] | String | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets the name of plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#RibbonEntries|RibbonEntries]] | Collection<[[ThinkGeo.MapSuite.GisEditor.RibbonEntry|RibbonEntry]]> | | Gets the ribbon entries. |
| {{wiki:PublicProperty.gif|Public Property}}[[#SmallIcon|SmallIcon]] | ImageSource | [[ThinkGeo.MapSuite.GisEditor.Plugin|Plugin]] | Gets or sets small icon path for plugin. |
| {{wiki:PublicProperty.gif|Public Property}}[[#StatusBarItems|StatusBarItems]] | Collection