public MenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin, ParentMenuItemFeature parentFeature) : base(resourceManager, node, plugin) { _parentFeature = parentFeature; _menu = Helpers.GetEnumXmlAttribute<PluginMenu>(node, ATT_MENU, PluginMenu.none); _contextMenu = Helpers.GetEnumXmlAttribute<PluginContextMenu>(node, ATT_CONTEXT_MENU, GetContextMenuFromMenu(_menu)); _serialization = Helpers.GetEnumXmlAttribute<PluginSerializationLevel>(node, ATT_SERIALIZED, PluginSerializationLevel.none); foreach (XmlNode child in node.ChildNodes) { switch (child.Name) { case TYPE_SHELL: _shellCmd = new ShellCmd(child, paramsFromXML(child)); break; case TYPE_POWERSHELL: _shellCmd = new PowerShellCmd(child, paramsFromXML(child)); break; case TYPE_XENSERVER_POWERSHELL: _shellCmd = new XenServerPowershellCmd(child, paramsFromXML(child)); break; } return; } }
/// <summary> /// Initializes a new instance of the <see cref="Feature"/> class. /// </summary> /// <param name="resourceManager">The resource manager for localization</param> /// <param name="node">The XML node from the plugin config file</param> /// <param name="pluginDescriptor">The plugin descriptor.</param> public Feature(ResourceManager resourceManager, XmlNode node, PluginDescriptor pluginDescriptor) { Util.ThrowIfParameterNull(node, "node"); Util.ThrowIfParameterNull(pluginDescriptor, "pluginDescriptor"); this.node = node; _resourceManager = resourceManager; _pluginDescriptor = pluginDescriptor; _name = Helpers.GetStringXmlAttribute(node, ATT_NAME, ""); _label = Helpers.GetStringXmlAttribute(node, ATT_LABEL, ""); _description = Helpers.GetStringXmlAttribute(node, ATT_DESCRIPTION, ""); _tooltip = Helpers.GetStringXmlAttribute(node, ATT_TOOLTIP, ""); _icon = LoadIcon(Helpers.GetStringXmlAttribute(node, ATT_ICON, "")); _search = PluginDescriptor.GetSearch(Helpers.GetStringXmlAttribute(node, ATT_SEARCH, "")); // localize if (_resourceManager != null) { string label = _resourceManager.GetString(string.Format("{0}.{1}", Name, ATT_LABEL)); _label = string.IsNullOrEmpty(label) ? _label : label; string description = _resourceManager.GetString(string.Format("{0}.{1}", Name, ATT_DESCRIPTION)); _description = string.IsNullOrEmpty(description) ? _description : description; string tooltip = _resourceManager.GetString(string.Format("{0}.{1}", Name, ATT_TOOLTIP)); _tooltip = string.IsNullOrEmpty(tooltip) ? _tooltip : tooltip; string icon = _resourceManager.GetString(string.Format("{0}.{1}", Name, ATT_ICON)); _icon = string.IsNullOrEmpty(icon) ? _icon : LoadIcon(icon); } }
public ParentMenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin) : base(resourceManager, node, plugin) { _menu = Helpers.GetEnumXmlAttribute<PluginMenu>(node, MenuItemFeature.ATT_MENU, PluginMenu.none); _contextMenu = Helpers.GetEnumXmlAttribute<PluginContextMenu>(node, MenuItemFeature.ATT_CONTEXT_MENU, MenuItemFeature.GetContextMenuFromMenu(_menu)); foreach (XmlNode child in node.ChildNodes) { if (child.NodeType == XmlNodeType.Element) { if (child.Name == MenuItemFeature.ELEMENT_NAME) _features.Add(new MenuItemFeature(resourceManager, child, PluginDescriptor, this)); } } }
public PluginRow(PluginDescriptor plugin) { Plugin = plugin; Error = plugin.Error; HasErrors = !string.IsNullOrEmpty(plugin.Error); Cells.AddRange(new DataGridViewCell[] { new DataGridViewCheckBoxCell {Value = plugin.Enabled && !HasErrors}, new DataGridViewTextBoxCell {Value = string.IsNullOrEmpty(plugin.Label) ? plugin.Name : plugin.Label}, new DataGridViewTextBoxCell {Value = plugin.Organization}, new DataGridViewTextBoxCell {Value = plugin.Description} }); }
public MenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin) : this(resourceManager, node, plugin, null) { }
public TabPageFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin) : base(resourceManager, node, plugin) { XenCenterOnly = Helpers.GetBoolXmlAttribute(node, ATT_XC_ONLY, false); ContextEnabled = Helpers.GetBoolXmlAttribute(node, ATT_CONTEXT_MENU, false); // plugins v2 HelpLink = Helpers.GetStringXmlAttribute(node, ATT_HELP_LINK, ""); RelativeUrl = Helpers.GetBoolXmlAttribute(node, ATT_RELATIVE, false); Credentials = Helpers.GetBoolXmlAttribute(node, ATT_CREDENTIALS, false); // indicates that this tab-page is a replacement for the console tab. Console = Helpers.GetBoolXmlAttribute(node, ATT_CONSOLE, false); string urlString = Helpers.GetStringXmlAttribute(node, ATT_URL); Url = urlString == null ? "" : string.Format("{0}{1}", RelativeUrl ? string.Format("{0}/", Application.StartupPath) : "", urlString); }
public RbacMethodList GetMethodList(string name) { return(PluginDescriptor.GetMethodList(name)); }