public void Store(AspNetAppProject project)
        {
            XspParameters xPar = project.XspParameters;

            xPar.Address            = ipAddress.Text;
            xPar.Port               = System.Convert.ToUInt16(portNumber.Value);
            xPar.Verbose            = verboseCheck.Active;
            xPar.SslMode            = (XspSslMode)sslMode.Active;
            xPar.SslProtocol        = (XspSslProtocol)sslProtocol.Active;
            xPar.KeyType            = (XspKeyType)keyType.Active;
            xPar.PrivateKeyFile     = keyLocation.Path;
            xPar.CertificateFile    = certLocation.Path;
            xPar.PasswordOptions    = (XspPasswordOptions)passwordOptions.Active;
            xPar.PrivateKeyPassword = passwordEntry.Text;
        }
        public XspOptionsPanelWidget(AspNetAppProject project)
        {
            this.Build();

            XspParameters xPar = project.XspParameters;

            //index should be equivalent to XspSslMode enum
            ((ListStore)sslMode.Model).Clear();
            sslMode.AppendText(GettextCatalog.GetString("None"));
            sslMode.AppendText(GettextCatalog.GetString("Enabled"));
            sslMode.AppendText(GettextCatalog.GetString("Accept Client Certificates"));
            sslMode.AppendText(GettextCatalog.GetString("Require Client Certificates"));

            //index should be equivalent to XspSslProtocol enum
            ((ListStore)sslProtocol.Model).Clear();
            sslProtocol.AppendText(GettextCatalog.GetString("Default"));
            sslProtocol.AppendText("TLS");
            sslProtocol.AppendText("SSL 2");
            sslProtocol.AppendText("SSL 3");

            ((ListStore)keyType.Model).Clear();
            keyType.AppendText(GettextCatalog.GetString("None"));
            keyType.AppendText("Pkcs12");
            keyType.AppendText("PVK");

            ((ListStore)passwordOptions.Model).Clear();
            passwordOptions.AppendText(GettextCatalog.GetString("None"));
            passwordOptions.AppendText(GettextCatalog.GetString("Ask"));
            passwordOptions.AppendText(GettextCatalog.GetString("Store (insecure)"));

            //set to valid port range
            portNumber.SetRange(0, UInt16.MaxValue);

            //load all options
            ipAddress.Text         = xPar.Address;
            portNumber.Value       = xPar.Port;
            verboseCheck.Active    = xPar.Verbose;
            sslMode.Active         = (int)xPar.SslMode;
            sslProtocol.Active     = (int)xPar.SslProtocol;
            keyType.Active         = (int)xPar.KeyType;
            keyLocation.Path       = xPar.PrivateKeyFile;
            certLocation.Path      = xPar.CertificateFile;
            passwordOptions.Active = (int)xPar.PasswordOptions;
            passwordEntry.Text     = xPar.PrivateKeyPassword;
        }