Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        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));
                }
            }
        }
Ejemplo n.º 4
0
 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}
                        });
 }
Ejemplo n.º 5
0
 public MenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin)
     : this(resourceManager, node, plugin, null)
 {
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
 public RbacMethodList GetMethodList(string name)
 {
     return(PluginDescriptor.GetMethodList(name));
 }