/// <summary>
        /// Creates a new tool instance.
        /// </summary>
        /// <param name="api">The tool API.</param>
        /// <param name="toolset">The toolset information.</param>
        public ToolWebClient(IToolApi api, ToolsetInfoAttribute toolset)
            : base(api, toolset)
        {
            // Create the configuration.
            this.config = new WebClientConfig(api);

            // Initialize the control.
            this.control = new ControlWebClient(this.config);
        }
        // Public declarations
        /// <summary>
        /// Creates a new control instance.
        /// </summary>
        /// <param name="config">The configuration.</param>
        public ControlWebClient(WebClientConfig config)
        {
            // Initialize component.
            this.InitializeComponent();

            // Set the configuration.
            this.config = config;

            // Get the crawler status.
            this.status = this.config.Api.Status.GetHandler(this);
            this.status.Send(ApplicationStatus.StatusType.Normal, "Ready.", Resources.Information_16);

            // Populate the encoding combo box.
            this.encodings = Encoding.GetEncodings();
            for (int index = 0; index < this.encodings.Length; index++)
            {
                this.comboBoxEncoding.Items.Add("({0}) {1}".FormatWith(this.encodings[index].CodePage, this.encodings[index].DisplayName));
                this.encodingPages.Add(this.encodings[index].CodePage, index);
            }

            // Load the settings.
            this.OnLoad();
        }